Codebase list stealth / 0b8a2bf
Imported Debian patch 1.47.3-1 tony mancill 11 years ago
24 changed file(s) with 848 addition(s) and 15360 deletion(s). Raw diff Collapse all Expand all
0
1 GNU GENERAL PUBLIC LICENSE
2 Version 3, 29 June 2007
3
4 Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
5 Everyone is permitted to copy and distribute verbatim copies
6 of this license document, but changing it is not allowed.
7
8 Preamble
9
10 The GNU General Public License is a free, copyleft license for
11 software and other kinds of works.
12
13 The licenses for most software and other practical works are designed
14 to take away your freedom to share and change the works. By contrast,
15 the GNU General Public License is intended to guarantee your freedom to
16 share and change all versions of a program--to make sure it remains free
17 software for all its users. We, the Free Software Foundation, use the
18 GNU General Public License for most of our software; it applies also to
19 any other work released this way by its authors. You can apply it to
20 your programs, too.
21
22 When we speak of free software, we are referring to freedom, not
23 price. Our General Public Licenses are designed to make sure that you
24 have the freedom to distribute copies of free software (and charge for
25 them if you wish), that you receive source code or can get it if you
26 want it, that you can change the software or use pieces of it in new
27 free programs, and that you know you can do these things.
28
29 To protect your rights, we need to prevent others from denying you
30 these rights or asking you to surrender the rights. Therefore, you have
31 certain responsibilities if you distribute copies of the software, or if
32 you modify it: responsibilities to respect the freedom of others.
33
34 For example, if you distribute copies of such a program, whether
35 gratis or for a fee, you must pass on to the recipients the same
36 freedoms that you received. You must make sure that they, too, receive
37 or can get the source code. And you must show them these terms so they
38 know their rights.
39
40 Developers that use the GNU GPL protect your rights with two steps:
41 (1) assert copyright on the software, and (2) offer you this License
42 giving you legal permission to copy, distribute and/or modify it.
43
44 For the developers' and authors' protection, the GPL clearly explains
45 that there is no warranty for this free software. For both users' and
46 authors' sake, the GPL requires that modified versions be marked as
47 changed, so that their problems will not be attributed erroneously to
48 authors of previous versions.
49
50 Some devices are designed to deny users access to install or run
51 modified versions of the software inside them, although the manufacturer
52 can do so. This is fundamentally incompatible with the aim of
53 protecting users' freedom to change the software. The systematic
54 pattern of such abuse occurs in the area of products for individuals to
55 use, which is precisely where it is most unacceptable. Therefore, we
56 have designed this version of the GPL to prohibit the practice for those
57 products. If such problems arise substantially in other domains, we
58 stand ready to extend this provision to those domains in future versions
59 of the GPL, as needed to protect the freedom of users.
60
61 Finally, every program is threatened constantly by software patents.
62 States should not allow patents to restrict development and use of
63 software on general-purpose computers, but in those that do, we wish to
64 avoid the special danger that patents applied to a free program could
65 make it effectively proprietary. To prevent this, the GPL assures that
66 patents cannot be used to render the program non-free.
67
68 The precise terms and conditions for copying, distribution and
69 modification follow.
70
71 TERMS AND CONDITIONS
72
73 0. Definitions.
74
75 "This License" refers to version 3 of the GNU General Public License.
76
77 "Copyright" also means copyright-like laws that apply to other kinds of
78 works, such as semiconductor masks.
79
80 "The Program" refers to any copyrightable work licensed under this
81 License. Each licensee is addressed as "you". "Licensees" and
82 "recipients" may be individuals or organizations.
83
84 To "modify" a work means to copy from or adapt all or part of the work
85 in a fashion requiring copyright permission, other than the making of an
86 exact copy. The resulting work is called a "modified version" of the
87 earlier work or a work "based on" the earlier work.
88
89 A "covered work" means either the unmodified Program or a work based
90 on the Program.
91
92 To "propagate" a work means to do anything with it that, without
93 permission, would make you directly or secondarily liable for
94 infringement under applicable copyright law, except executing it on a
95 computer or modifying a private copy. Propagation includes copying,
96 distribution (with or without modification), making available to the
97 public, and in some countries other activities as well.
98
99 To "convey" a work means any kind of propagation that enables other
100 parties to make or receive copies. Mere interaction with a user through
101 a computer network, with no transfer of a copy, is not conveying.
102
103 An interactive user interface displays "Appropriate Legal Notices"
104 to the extent that it includes a convenient and prominently visible
105 feature that (1) displays an appropriate copyright notice, and (2)
106 tells the user that there is no warranty for the work (except to the
107 extent that warranties are provided), that licensees may convey the
108 work under this License, and how to view a copy of this License. If
109 the interface presents a list of user commands or options, such as a
110 menu, a prominent item in the list meets this criterion.
111
112 1. Source Code.
113
114 The "source code" for a work means the preferred form of the work
115 for making modifications to it. "Object code" means any non-source
116 form of a work.
117
118 A "Standard Interface" means an interface that either is an official
119 standard defined by a recognized standards body, or, in the case of
120 interfaces specified for a particular programming language, one that
121 is widely used among developers working in that language.
122
123 The "System Libraries" of an executable work include anything, other
124 than the work as a whole, that (a) is included in the normal form of
125 packaging a Major Component, but which is not part of that Major
126 Component, and (b) serves only to enable use of the work with that
127 Major Component, or to implement a Standard Interface for which an
128 implementation is available to the public in source code form. A
129 "Major Component", in this context, means a major essential component
130 (kernel, window system, and so on) of the specific operating system
131 (if any) on which the executable work runs, or a compiler used to
132 produce the work, or an object code interpreter used to run it.
133
134 The "Corresponding Source" for a work in object code form means all
135 the source code needed to generate, install, and (for an executable
136 work) run the object code and to modify the work, including scripts to
137 control those activities. However, it does not include the work's
138 System Libraries, or general-purpose tools or generally available free
139 programs which are used unmodified in performing those activities but
140 which are not part of the work. For example, Corresponding Source
141 includes interface definition files associated with source files for
142 the work, and the source code for shared libraries and dynamically
143 linked subprograms that the work is specifically designed to require,
144 such as by intimate data communication or control flow between those
145 subprograms and other parts of the work.
146
147 The Corresponding Source need not include anything that users
148 can regenerate automatically from other parts of the Corresponding
149 Source.
150
151 The Corresponding Source for a work in source code form is that
152 same work.
153
154 2. Basic Permissions.
155
156 All rights granted under this License are granted for the term of
157 copyright on the Program, and are irrevocable provided the stated
158 conditions are met. This License explicitly affirms your unlimited
159 permission to run the unmodified Program. The output from running a
160 covered work is covered by this License only if the output, given its
161 content, constitutes a covered work. This License acknowledges your
162 rights of fair use or other equivalent, as provided by copyright law.
163
164 You may make, run and propagate covered works that you do not
165 convey, without conditions so long as your license otherwise remains
166 in force. You may convey covered works to others for the sole purpose
167 of having them make modifications exclusively for you, or provide you
168 with facilities for running those works, provided that you comply with
169 the terms of this License in conveying all material for which you do
170 not control copyright. Those thus making or running the covered works
171 for you must do so exclusively on your behalf, under your direction
172 and control, on terms that prohibit them from making any copies of
173 your copyrighted material outside their relationship with you.
174
175 Conveying under any other circumstances is permitted solely under
176 the conditions stated below. Sublicensing is not allowed; section 10
177 makes it unnecessary.
178
179 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
180
181 No covered work shall be deemed part of an effective technological
182 measure under any applicable law fulfilling obligations under article
183 11 of the WIPO copyright treaty adopted on 20 December 1996, or
184 similar laws prohibiting or restricting circumvention of such
185 measures.
186
187 When you convey a covered work, you waive any legal power to forbid
188 circumvention of technological measures to the extent such circumvention
189 is effected by exercising rights under this License with respect to
190 the covered work, and you disclaim any intention to limit operation or
191 modification of the work as a means of enforcing, against the work's
192 users, your or third parties' legal rights to forbid circumvention of
193 technological measures.
194
195 4. Conveying Verbatim Copies.
196
197 You may convey verbatim copies of the Program's source code as you
198 receive it, in any medium, provided that you conspicuously and
199 appropriately publish on each copy an appropriate copyright notice;
200 keep intact all notices stating that this License and any
201 non-permissive terms added in accord with section 7 apply to the code;
202 keep intact all notices of the absence of any warranty; and give all
203 recipients a copy of this License along with the Program.
204
205 You may charge any price or no price for each copy that you convey,
206 and you may offer support or warranty protection for a fee.
207
208 5. Conveying Modified Source Versions.
209
210 You may convey a work based on the Program, or the modifications to
211 produce it from the Program, in the form of source code under the
212 terms of section 4, provided that you also meet all of these conditions:
213
214 a) The work must carry prominent notices stating that you modified
215 it, and giving a relevant date.
216
217 b) The work must carry prominent notices stating that it is
218 released under this License and any conditions added under section
219 7. This requirement modifies the requirement in section 4 to
220 "keep intact all notices".
221
222 c) You must license the entire work, as a whole, under this
223 License to anyone who comes into possession of a copy. This
224 License will therefore apply, along with any applicable section 7
225 additional terms, to the whole of the work, and all its parts,
226 regardless of how they are packaged. This License gives no
227 permission to license the work in any other way, but it does not
228 invalidate such permission if you have separately received it.
229
230 d) If the work has interactive user interfaces, each must display
231 Appropriate Legal Notices; however, if the Program has interactive
232 interfaces that do not display Appropriate Legal Notices, your
233 work need not make them do so.
234
235 A compilation of a covered work with other separate and independent
236 works, which are not by their nature extensions of the covered work,
237 and which are not combined with it such as to form a larger program,
238 in or on a volume of a storage or distribution medium, is called an
239 "aggregate" if the compilation and its resulting copyright are not
240 used to limit the access or legal rights of the compilation's users
241 beyond what the individual works permit. Inclusion of a covered work
242 in an aggregate does not cause this License to apply to the other
243 parts of the aggregate.
244
245 6. Conveying Non-Source Forms.
246
247 You may convey a covered work in object code form under the terms
248 of sections 4 and 5, provided that you also convey the
249 machine-readable Corresponding Source under the terms of this License,
250 in one of these ways:
251
252 a) Convey the object code in, or embodied in, a physical product
253 (including a physical distribution medium), accompanied by the
254 Corresponding Source fixed on a durable physical medium
255 customarily used for software interchange.
256
257 b) Convey the object code in, or embodied in, a physical product
258 (including a physical distribution medium), accompanied by a
259 written offer, valid for at least three years and valid for as
260 long as you offer spare parts or customer support for that product
261 model, to give anyone who possesses the object code either (1) a
262 copy of the Corresponding Source for all the software in the
263 product that is covered by this License, on a durable physical
264 medium customarily used for software interchange, for a price no
265 more than your reasonable cost of physically performing this
266 conveying of source, or (2) access to copy the
267 Corresponding Source from a network server at no charge.
268
269 c) Convey individual copies of the object code with a copy of the
270 written offer to provide the Corresponding Source. This
271 alternative is allowed only occasionally and noncommercially, and
272 only if you received the object code with such an offer, in accord
273 with subsection 6b.
274
275 d) Convey the object code by offering access from a designated
276 place (gratis or for a charge), and offer equivalent access to the
277 Corresponding Source in the same way through the same place at no
278 further charge. You need not require recipients to copy the
279 Corresponding Source along with the object code. If the place to
280 copy the object code is a network server, the Corresponding Source
281 may be on a different server (operated by you or a third party)
282 that supports equivalent copying facilities, provided you maintain
283 clear directions next to the object code saying where to find the
284 Corresponding Source. Regardless of what server hosts the
285 Corresponding Source, you remain obligated to ensure that it is
286 available for as long as needed to satisfy these requirements.
287
288 e) Convey the object code using peer-to-peer transmission, provided
289 you inform other peers where the object code and Corresponding
290 Source of the work are being offered to the general public at no
291 charge under subsection 6d.
292
293 A separable portion of the object code, whose source code is excluded
294 from the Corresponding Source as a System Library, need not be
295 included in conveying the object code work.
296
297 A "User Product" is either (1) a "consumer product", which means any
298 tangible personal property which is normally used for personal, family,
299 or household purposes, or (2) anything designed or sold for incorporation
300 into a dwelling. In determining whether a product is a consumer product,
301 doubtful cases shall be resolved in favor of coverage. For a particular
302 product received by a particular user, "normally used" refers to a
303 typical or common use of that class of product, regardless of the status
304 of the particular user or of the way in which the particular user
305 actually uses, or expects or is expected to use, the product. A product
306 is a consumer product regardless of whether the product has substantial
307 commercial, industrial or non-consumer uses, unless such uses represent
308 the only significant mode of use of the product.
309
310 "Installation Information" for a User Product means any methods,
311 procedures, authorization keys, or other information required to install
312 and execute modified versions of a covered work in that User Product from
313 a modified version of its Corresponding Source. The information must
314 suffice to ensure that the continued functioning of the modified object
315 code is in no case prevented or interfered with solely because
316 modification has been made.
317
318 If you convey an object code work under this section in, or with, or
319 specifically for use in, a User Product, and the conveying occurs as
320 part of a transaction in which the right of possession and use of the
321 User Product is transferred to the recipient in perpetuity or for a
322 fixed term (regardless of how the transaction is characterized), the
323 Corresponding Source conveyed under this section must be accompanied
324 by the Installation Information. But this requirement does not apply
325 if neither you nor any third party retains the ability to install
326 modified object code on the User Product (for example, the work has
327 been installed in ROM).
328
329 The requirement to provide Installation Information does not include a
330 requirement to continue to provide support service, warranty, or updates
331 for a work that has been modified or installed by the recipient, or for
332 the User Product in which it has been modified or installed. Access to a
333 network may be denied when the modification itself materially and
334 adversely affects the operation of the network or violates the rules and
335 protocols for communication across the network.
336
337 Corresponding Source conveyed, and Installation Information provided,
338 in accord with this section must be in a format that is publicly
339 documented (and with an implementation available to the public in
340 source code form), and must require no special password or key for
341 unpacking, reading or copying.
342
343 7. Additional Terms.
344
345 "Additional permissions" are terms that supplement the terms of this
346 License by making exceptions from one or more of its conditions.
347 Additional permissions that are applicable to the entire Program shall
348 be treated as though they were included in this License, to the extent
349 that they are valid under applicable law. If additional permissions
350 apply only to part of the Program, that part may be used separately
351 under those permissions, but the entire Program remains governed by
352 this License without regard to the additional permissions.
353
354 When you convey a copy of a covered work, you may at your option
355 remove any additional permissions from that copy, or from any part of
356 it. (Additional permissions may be written to require their own
357 removal in certain cases when you modify the work.) You may place
358 additional permissions on material, added by you to a covered work,
359 for which you have or can give appropriate copyright permission.
360
361 Notwithstanding any other provision of this License, for material you
362 add to a covered work, you may (if authorized by the copyright holders of
363 that material) supplement the terms of this License with terms:
364
365 a) Disclaiming warranty or limiting liability differently from the
366 terms of sections 15 and 16 of this License; or
367
368 b) Requiring preservation of specified reasonable legal notices or
369 author attributions in that material or in the Appropriate Legal
370 Notices displayed by works containing it; or
371
372 c) Prohibiting misrepresentation of the origin of that material, or
373 requiring that modified versions of such material be marked in
374 reasonable ways as different from the original version; or
375
376 d) Limiting the use for publicity purposes of names of licensors or
377 authors of the material; or
378
379 e) Declining to grant rights under trademark law for use of some
380 trade names, trademarks, or service marks; or
381
382 f) Requiring indemnification of licensors and authors of that
383 material by anyone who conveys the material (or modified versions of
384 it) with contractual assumptions of liability to the recipient, for
385 any liability that these contractual assumptions directly impose on
386 those licensors and authors.
387
388 All other non-permissive additional terms are considered "further
389 restrictions" within the meaning of section 10. If the Program as you
390 received it, or any part of it, contains a notice stating that it is
391 governed by this License along with a term that is a further
392 restriction, you may remove that term. If a license document contains
393 a further restriction but permits relicensing or conveying under this
394 License, you may add to a covered work material governed by the terms
395 of that license document, provided that the further restriction does
396 not survive such relicensing or conveying.
397
398 If you add terms to a covered work in accord with this section, you
399 must place, in the relevant source files, a statement of the
400 additional terms that apply to those files, or a notice indicating
401 where to find the applicable terms.
402
403 Additional terms, permissive or non-permissive, may be stated in the
404 form of a separately written license, or stated as exceptions;
405 the above requirements apply either way.
406
407 8. Termination.
408
409 You may not propagate or modify a covered work except as expressly
410 provided under this License. Any attempt otherwise to propagate or
411 modify it is void, and will automatically terminate your rights under
412 this License (including any patent licenses granted under the third
413 paragraph of section 11).
414
415 However, if you cease all violation of this License, then your
416 license from a particular copyright holder is reinstated (a)
417 provisionally, unless and until the copyright holder explicitly and
418 finally terminates your license, and (b) permanently, if the copyright
419 holder fails to notify you of the violation by some reasonable means
420 prior to 60 days after the cessation.
421
422 Moreover, your license from a particular copyright holder is
423 reinstated permanently if the copyright holder notifies you of the
424 violation by some reasonable means, this is the first time you have
425 received notice of violation of this License (for any work) from that
426 copyright holder, and you cure the violation prior to 30 days after
427 your receipt of the notice.
428
429 Termination of your rights under this section does not terminate the
430 licenses of parties who have received copies or rights from you under
431 this License. If your rights have been terminated and not permanently
432 reinstated, you do not qualify to receive new licenses for the same
433 material under section 10.
434
435 9. Acceptance Not Required for Having Copies.
436
437 You are not required to accept this License in order to receive or
438 run a copy of the Program. Ancillary propagation of a covered work
439 occurring solely as a consequence of using peer-to-peer transmission
440 to receive a copy likewise does not require acceptance. However,
441 nothing other than this License grants you permission to propagate or
442 modify any covered work. These actions infringe copyright if you do
443 not accept this License. Therefore, by modifying or propagating a
444 covered work, you indicate your acceptance of this License to do so.
445
446 10. Automatic Licensing of Downstream Recipients.
447
448 Each time you convey a covered work, the recipient automatically
449 receives a license from the original licensors, to run, modify and
450 propagate that work, subject to this License. You are not responsible
451 for enforcing compliance by third parties with this License.
452
453 An "entity transaction" is a transaction transferring control of an
454 organization, or substantially all assets of one, or subdividing an
455 organization, or merging organizations. If propagation of a covered
456 work results from an entity transaction, each party to that
457 transaction who receives a copy of the work also receives whatever
458 licenses to the work the party's predecessor in interest had or could
459 give under the previous paragraph, plus a right to possession of the
460 Corresponding Source of the work from the predecessor in interest, if
461 the predecessor has it or can get it with reasonable efforts.
462
463 You may not impose any further restrictions on the exercise of the
464 rights granted or affirmed under this License. For example, you may
465 not impose a license fee, royalty, or other charge for exercise of
466 rights granted under this License, and you may not initiate litigation
467 (including a cross-claim or counterclaim in a lawsuit) alleging that
468 any patent claim is infringed by making, using, selling, offering for
469 sale, or importing the Program or any portion of it.
470
471 11. Patents.
472
473 A "contributor" is a copyright holder who authorizes use under this
474 License of the Program or a work on which the Program is based. The
475 work thus licensed is called the contributor's "contributor version".
476
477 A contributor's "essential patent claims" are all patent claims
478 owned or controlled by the contributor, whether already acquired or
479 hereafter acquired, that would be infringed by some manner, permitted
480 by this License, of making, using, or selling its contributor version,
481 but do not include claims that would be infringed only as a
482 consequence of further modification of the contributor version. For
483 purposes of this definition, "control" includes the right to grant
484 patent sublicenses in a manner consistent with the requirements of
485 this License.
486
487 Each contributor grants you a non-exclusive, worldwide, royalty-free
488 patent license under the contributor's essential patent claims, to
489 make, use, sell, offer for sale, import and otherwise run, modify and
490 propagate the contents of its contributor version.
491
492 In the following three paragraphs, a "patent license" is any express
493 agreement or commitment, however denominated, not to enforce a patent
494 (such as an express permission to practice a patent or covenant not to
495 sue for patent infringement). To "grant" such a patent license to a
496 party means to make such an agreement or commitment not to enforce a
497 patent against the party.
498
499 If you convey a covered work, knowingly relying on a patent license,
500 and the Corresponding Source of the work is not available for anyone
501 to copy, free of charge and under the terms of this License, through a
502 publicly available network server or other readily accessible means,
503 then you must either (1) cause the Corresponding Source to be so
504 available, or (2) arrange to deprive yourself of the benefit of the
505 patent license for this particular work, or (3) arrange, in a manner
506 consistent with the requirements of this License, to extend the patent
507 license to downstream recipients. "Knowingly relying" means you have
508 actual knowledge that, but for the patent license, your conveying the
509 covered work in a country, or your recipient's use of the covered work
510 in a country, would infringe one or more identifiable patents in that
511 country that you have reason to believe are valid.
512
513 If, pursuant to or in connection with a single transaction or
514 arrangement, you convey, or propagate by procuring conveyance of, a
515 covered work, and grant a patent license to some of the parties
516 receiving the covered work authorizing them to use, propagate, modify
517 or convey a specific copy of the covered work, then the patent license
518 you grant is automatically extended to all recipients of the covered
519 work and works based on it.
520
521 A patent license is "discriminatory" if it does not include within
522 the scope of its coverage, prohibits the exercise of, or is
523 conditioned on the non-exercise of one or more of the rights that are
524 specifically granted under this License. You may not convey a covered
525 work if you are a party to an arrangement with a third party that is
526 in the business of distributing software, under which you make payment
527 to the third party based on the extent of your activity of conveying
528 the work, and under which the third party grants, to any of the
529 parties who would receive the covered work from you, a discriminatory
530 patent license (a) in connection with copies of the covered work
531 conveyed by you (or copies made from those copies), or (b) primarily
532 for and in connection with specific products or compilations that
533 contain the covered work, unless you entered into that arrangement,
534 or that patent license was granted, prior to 28 March 2007.
535
536 Nothing in this License shall be construed as excluding or limiting
537 any implied license or other defenses to infringement that may
538 otherwise be available to you under applicable patent law.
539
540 12. No Surrender of Others' Freedom.
541
542 If conditions are imposed on you (whether by court order, agreement or
543 otherwise) that contradict the conditions of this License, they do not
544 excuse you from the conditions of this License. If you cannot convey a
545 covered work so as to satisfy simultaneously your obligations under this
546 License and any other pertinent obligations, then as a consequence you may
547 not convey it at all. For example, if you agree to terms that obligate you
548 to collect a royalty for further conveying from those to whom you convey
549 the Program, the only way you could satisfy both those terms and this
550 License would be to refrain entirely from conveying the Program.
551
552 13. Use with the GNU Affero General Public License.
553
554 Notwithstanding any other provision of this License, you have
555 permission to link or combine any covered work with a work licensed
556 under version 3 of the GNU Affero General Public License into a single
557 combined work, and to convey the resulting work. The terms of this
558 License will continue to apply to the part which is the covered work,
559 but the special requirements of the GNU Affero General Public License,
560 section 13, concerning interaction through a network will apply to the
561 combination as such.
562
563 14. Revised Versions of this License.
564
565 The Free Software Foundation may publish revised and/or new versions of
566 the GNU General Public License from time to time. Such new versions will
567 be similar in spirit to the present version, but may differ in detail to
568 address new problems or concerns.
569
570 Each version is given a distinguishing version number. If the
571 Program specifies that a certain numbered version of the GNU General
572 Public License "or any later version" applies to it, you have the
573 option of following the terms and conditions either of that numbered
574 version or of any later version published by the Free Software
575 Foundation. If the Program does not specify a version number of the
576 GNU General Public License, you may choose any version ever published
577 by the Free Software Foundation.
578
579 If the Program specifies that a proxy can decide which future
580 versions of the GNU General Public License can be used, that proxy's
581 public statement of acceptance of a version permanently authorizes you
582 to choose that version for the Program.
583
584 Later license versions may give you additional or different
585 permissions. However, no additional obligations are imposed on any
586 author or copyright holder as a result of your choosing to follow a
587 later version.
588
589 15. Disclaimer of Warranty.
590
591 THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
592 APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
593 HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
594 OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
595 THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
596 PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
597 IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
598 ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
599
600 16. Limitation of Liability.
601
602 IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
603 WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
604 THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
605 GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
606 USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
607 DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
608 PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
609 EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
610 SUCH DAMAGES.
611
612 17. Interpretation of Sections 15 and 16.
613
614 If the disclaimer of warranty and limitation of liability provided
615 above cannot be given local legal effect according to their terms,
616 reviewing courts shall apply local law that most closely approximates
617 an absolute waiver of all civil liability in connection with the
618 Program, unless a warranty or assumption of liability accompanies a
619 copy of the Program in return for a fee.
620
621 END OF TERMS AND CONDITIONS
622
623 How to Apply These Terms to Your New Programs
624
625 If you develop a new program, and you want it to be of the greatest
626 possible use to the public, the best way to achieve this is to make it
627 free software which everyone can redistribute and change under these terms.
628
629 To do so, attach the following notices to the program. It is safest
630 to attach them to the start of each source file to most effectively
631 state the exclusion of warranty; and each file should have at least
632 the "copyright" line and a pointer to where the full notice is found.
633
634 <one line to give the program's name and a brief idea of what it does.>
635 Copyright (C) <year> <name of author>
636
637 This program is free software: you can redistribute it and/or modify
638 it under the terms of the GNU General Public License as published by
639 the Free Software Foundation, either version 3 of the License, or
640 (at your option) any later version.
641
642 This program is distributed in the hope that it will be useful,
643 but WITHOUT ANY WARRANTY; without even the implied warranty of
644 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
645 GNU General Public License for more details.
646
647 You should have received a copy of the GNU General Public License
648 along with this program. If not, see <http://www.gnu.org/licenses/>.
649
650 Also add information on how to contact you by electronic and paper mail.
651
652 If the program does terminal interaction, make it output a short
653 notice like this when it starts in an interactive mode:
654
655 <program> Copyright (C) <year> <name of author>
656 This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
657 This is free software, and you are welcome to redistribute it
658 under certain conditions; type `show c' for details.
659
660 The hypothetical commands `show w' and `show c' should show the appropriate
661 parts of the General Public License. Of course, your program's commands
662 might be different; for a GUI interface, you would use an "about box".
663
664 You should also get your employer (if you work as a programmer) or school,
665 if any, to sign a "copyright disclaimer" for the program, if necessary.
666 For more information on this, and how to apply and follow the GNU GPL, see
667 <http://www.gnu.org/licenses/>.
668
669 The GNU General Public License does not permit incorporating your program
670 into proprietary programs. If your program is a subroutine library, you
671 may consider it more useful to permit linking proprietary applications with
672 the library. If this is what you want to do, use the GNU Lesser General
673 Public License instead of this License. But first, please read
674 <http://www.gnu.org/philosophy/why-not-lgpl.html>.
675
0 #define VERSION "1.47.2"
1 #define YEARS "2005-2008"
0 #define VERSION "1.47.3"
1 #define YEARS "2005-2009"
+24
-11
build less more
2222 my_getenv("DRYRUN");
2323 g_dryrun = g_envvar;
2424
25 option = element(1, argv);
25 option = argv[1];
2626
2727 if (option == "clean")
2828 clean(0);
3131 clean(1);
3232
3333 if (option == "install")
34 install(element(2, argv));
34 install(argv[2], argv[3]);
3535
3636 if (option == "man")
3737 manpage();
3838
3939 if (option == "manual")
40 exit(0);
41
42 if (option == "manual-tmp")
4340 manual();
4441
4542 if (option == "program")
4643 {
47 if (element(2, argv) == "strip")
44 if (argv[2] == "strip")
4845 g_strip = "-s";
4946 program();
47 }
48
49 if (option == "sourceforge")
50 {
51 special();
52 exit(0);
5053 }
5154
5255 printf("Usage: build what\n"
5457 " clean - clean up remnants of previous compilations\n"
5558 " distclean - clean + fully remove tmp/\n"
5659 " man - build the man-page (requires Yodl)\n"
57 " manual - DO NOTHING (temporarily)\n"
58 " manual-tmp - build the manual (requires Yodl)\n"
60 " manual - build the manual (requires Yodl)\n"
5961 " program [strip] - build stealth (optionally strip the "
6062 "executable)\n"
61 " install <base> - to install the software in the locations\n"
62 " defined in the INSTALL.im file, optionally\n"
63 " below <base>\n"
63 " install program <base> - install the program in the locations "
64 "defined\n"
65 " in the INSTALL.cf file, optionally "
66 "below <base>\n"
67 " install man <base> - install the man pages in the location "
68 "defined\n"
69 " in the INSTALL.cf file, optionally "
70 "below <base>\n"
71 " install manual <base> - install the manual in the location "
72 "defined\n"
73 " in the INSTALL.cf file, optionally "
74 "below <base>\n"
75 " sourceforge - Prepare .yo files for a sourceforge index "
76 "update\n"
6477 "If the environment variable DRYRUN is defined, no commands are\n"
6578 "actually executed\n"
6679 );
+0
-10
build-depends-tmp-removed less more
0 These files were temporarily removed from the Build-Depends list as some
1 architectures appear to have a broken LaTeX or ps2pdf system. Stealth now
2 includes documentation `ready to read'. In time docs will be created fresh by
3 the stealth distribution again.
4
5 Frank.
6
7 texlive-latex-base,
8 texlive-generic-recommended, texlive-latex-recommended,
9 texlive-fonts-recommended, gs-gpl
0 stealth (1.47.3)
1
2 * Build script's `manual-tmp' removed, reactivated `manual'. Build now
3 allows separate installation of program, man-page and manual
4
5 -- Frank B. Brokken <f.b.brokken@rug.nl> Mon, 30 Mar 2009 09:53:39 +0200
6
07 stealth (1.47.2)
18
29 * Minor changes wrt Process object definitions to prevent `obsolete'
0 stealth (1.47.3-1) unstable; urgency=low
1
2 [ Frank B. Brokken ]
3 * New upstream version
4 * Split-off a supplementary documention package stealth-doc
5 * Application package stealth now suggests stealth-doc
6 * Added binary-indep, build-indep, install-indep for stealth-doc
7 construction
8
9 [ tony mancill ]
10 * Added cm-super to Build-Depends-Indep
11 * Modified case of name in debian/control
12
13 -- tony mancill <tmancill@debian.org> Mon, 30 Mar 2009 11:47:01 -0700
14
015 stealth (1.47.2-4) unstable; urgency=low
116
217 * rebuild against bobcat 2.00.1-2
11 Section: admin
22 Priority: optional
33 Maintainer: Frank B. Brokken <f.b.brokken@rug.nl>
4 Uploaders: George Danchev <danchev@spnet.net>, tony mancill <tmancill@debian.org>
5 Build-Depends: debhelper (>= 6.0.5), libbobcat-dev (>= 2.00.0),
6 icmake (>= 7.11), g++ (>= 4.2.3),
4 Uploaders: George Danchev <danchev@spnet.net>,
5 tony mancill <tmancill@debian.org>
6 Build-Depends: debhelper (>= 6.0.5), libbobcat-dev (>= 2.01.1),
7 icmake (>= 7.11), g++ (>= 4.3.3),
78 yodl (>= 2.11)
8 Standards-Version: 3.8.0
9 Build-Depends-Indep: texlive-latex-base, texlive-generic-recommended,
10 texlive-latex-recommended, texlive-fonts-recommended,
11 ghostscript, cm-super
12 Standards-Version: 3.8.1
913 Vcs-Svn: https://svn.openfmi.net/debian-addons-bg/stealth/trunk
1014 Homepage: http://stealth.sourceforge.net/
1115
1216 Package: stealth
1317 Architecture: any
18 Depends: ${shlibs:Depends}, ${misc:Depends}
19 Suggests: stealth-doc
20 Description: A stealthy File Integrity Checker
21 The STEALTH program performs File Integrity Checks on (remote) clients. It
22 differs from other File Integrity Checkers by not requiring baseline
23 integrity data to be kept on either write-only media or in the client's file
24 system. In fact, client's will contain hardly any indication at all that they
25 are being monitored, thus improving the stealthiness of the integrity scans.
26 .
27 STEALTH uses standard available software to perform file integrity checks
28 (like find(1) and md5sum(1)). Using individualized policy files, it is highly
29 adaptable to the specific requirements of its clients.
30 .
31 In production environments STEALTH should be run from an isolated computer
32 (called the `STEALTH monitor'). In optimal configurations the STEALTH
33 monitor should be a computer not accepting incoming connections. The account
34 used to connect to its clients does not have to be `root': usually
35 read-access to the client's file system is enough to perform a full integrity
36 check. Instead of using `root' a more restrictive administrative or
37 ordinary account might offer all requirements for the desired integrity
38 check.
39 .
40 STEALTH itself must communicate with the computers it should monitor. It is
41 essential that this communication is secure, and STEALTH configurations will
42 therefore normally specify SSH as the command-shell to use to connect to its
43 clients. STEALTH may be configured so as to use but one SSH connection per
44 client, even if integrity scans are to be performed repeatedly. Apart from
45 this, the STEALTH monitor might be allowed to send e-mail to remote clients
46 system's maintainers.
47 .
48 STEALTH-runs itself may start randomly within specified intervals. The
49 resulting unpredicability of STEALTH-runs further increases STEALTH's
50 stealthiness.
51 .
52 STEALTH's acronym is expanded to `Ssh-based Trust Enforcement Acquired
53 through a Locally Trusted Host': the client's trust is enforced, the locally
54 trusted host is the STEALTH monitor.
55
56 Package: stealth-doc
57 Architecture: all
58 Section: doc
1459 Depends: ${shlibs:Depends}, ${misc:Depends}
1560 Description: A stealthy File Integrity Checker
1661 The STEALTH program performs File Integrity Checks on (remote) clients. It
4792 STEALTH's acronym is expanded to `Ssh-based Trust Enforcement Acquired
4893 through a Locally Trusted Host': the client's trust is enforced, the locally
4994 trusted host is the STEALTH monitor.
50
95 .
96 This package provides the supplemental documentation for Stealth.
1717 build-stamp: configure-stamp
1818 dh_testdir
1919
20 # Add here commands to compile the package.
20 # compile the package.
2121 ./build program
2222 ./build man
23 touch build-stamp
24
25 build-indep:
2326 ./build manual
24 touch build-stamp
2527
2628 clean:
2729 dh_testdir
3941 dh_installdirs
4042
4143 # Add here commands to install the package into debian/stealth.
42 #./build install debian/stealth
43 cp -a tmp/bin/stealth debian/stealth/usr/sbin/
44 rm -f tmp/manual/LaTeX/stealth.log tmp/manual/LaTeX/stealth.dvi
45 rm -f tmp/manual/LaTeX/stealth.toc tmp/manual/LaTeX/stealth.aux
44 ./build install program debian/stealth
45 ./build install man debian/stealth
46
47 install-indep:
48 ./build install manual debian/stealth-doc
4649
4750 # Build architecture-independent files here.
48 binary-indep: build install
49 # We have nothing to do by default.
51 binary-indep: build-indep install-indep
52
53 # Build architecture-independent files here.
54 binary-indep: build-indep install-indep
55 dh_testdir -i
56 dh_testroot -i
57 dh_installdocs -i README.class-setup
58 dh_installinfo -i
59 dh_installchangelogs -i
60 dh_link -i
61 dh_compress -i
62 dh_fixperms -i
63 dh_installdeb -i
64 dh_gencontrol -i
65 dh_md5sums -i
66 dh_builddeb -i
5067
5168 # Build architecture-dependent files here. In time, change 'documentation'
5269 # back to 'tmp'
5370 binary-arch: build install
5471 dh_testdir
5572 dh_testroot
56 dh_installdocs documentation/manual tmp/manhtml/stealthman.html
57 dh_installexamples example-policies share/etc share/usr
73 dh_installdocs
74 dh_installexamples
5875 dh_installmenu
5976 dh_installcron
60 dh_installman tmp/man/stealth.1
77 dh_installman
6178 dh_installinfo
62 dh_installchangelogs changelog
79 dh_installchangelogs
6380 dh_link
6481 dh_strip
6582 dh_compress
6885 dh_shlibdeps
6986 dh_gencontrol
7087 dh_md5sums
71 dh_builddeb
88 dh_builddeb -pstealth
7289
7390 # The following is for internal development usage only
7491 # Update that sum when new _upstream_ releases occur, this
7693
7794
7895 # archive downloaded from ftp.icce.rug.nl/pub/frank/debian/tarballs/stealth
79 # Previous version: MD5TRUSTED := d4771e804bf791aa78a7737c6f5ecda0
80 MD5TRUSTED := 79a47ed8cf870ebc0a16d5ad9d35fe2d
96 MD5TRUSTED := 5a13cc1114067d2aa749af13ba0caaae
8197
8298 DEBVERSION:=$(shell head -n 1 debian/changelog | sed -e 's/^[^(]*(\([^)]*\)).*/\1/')
8399 UPVERSION:=$(shell echo $(DEBVERSION) | sed -e 's/^.*://' -e 's/-[0-9.]*$$//' -e 's/.dfsg$$//')
127143
128144
129145
130 binary: binary-indep binary-arch
146 binary: binary-arch binary-indep
131147 .PHONY: build clean binary-indep binary-arch binary install configure
+0
-2276
documentation/manual/LaTeX/stealth.latex less more
0 \label{../../release.yo}\typeout{Original Yodl file: ../../release.yo}
1
2
3
4
5
6
7 \hfuzz=70pt
8 \addtolength{\textheight}{2cm}
9 \addtolength{\textwidth}{4cm}
10 \addtolength{\hoffset}{-2cm}
11
12
13
14 \documentclass[a4paper]{report}
15 \usepackage{epsf}
16
17 \usepackage[T1]{fontenc}
18
19 \input{/usr/share/yodl/xlatin1.tex}
20 \setlength{\parskip}{3mm} % height between par
21 \setlength{\parindent}{0mm} % no par indent
22
23 \title{Stealth V.1.47.2}
24 \author{Frank B. Brokken\ \\
25 Center for Information Technology, University of Groningen}
26 \date{2005-2008}
27 \begin{document}\maketitle
28
29
30 \tableofcontents
31
32
33 \cleardoublepage\chapter{Introduction}
34 \section{What's new in Stealth V.1.47.2}
35 \label{whatsnew}\typeout{Original Yodl file: whatsnew}
36
37 \begin{itemize}
38 \item Since the MD5 hash is no longer considered to be cryptographically
39 secure, \textbf{stealth}(1) should now use an alternative way to compute
40 hash-values. In this manual it is suggested to switch to SHA1 hash
41 computations.
42 \item The \texttt{--max-size} option was implement to restrict the maximum sizes
43 of files that are downloaded from clients. By default it is 10M.
44 \end{itemize}
45
46 \section{Stealth}
47 \label{intro}\typeout{Original Yodl file: intro}Welcome to \textbf{stealth}. The program \textbf{stealth} implements a file integrity
48 scanner. The acronym \textbf{stealth} can be expanded to
49
50 \begin{center}
51 \section*{SSH-based Trust Enforcement Acquired through a Locally Trusted Host.}
52 \end{center}
53
54 This expansion contains the following key terms:
55
56 \begin{itemize}
57 \item \texttt{SSH-based}: The file integrity scan is (usually) performed over an
58 ssh-connection. Usually the computer being scanned (called the \emph{client}) and
59 the computer initiating the scan (called the \texttt{controller}) are different
60 computers.
61 \item The client should accept incoming ssh-connections
62 from the initiating computer. The controller doesn't have to (and shouldn't,
63 probably).
64 \item \texttt{Trust Enforcement}: following the scan, `trust' is enforced in the
65 client, due to the integrity of its files.
66 \item \texttt{Locally Trusted Host}: the client apparently trusts the controller
67 to use an ssh-connection to perform commands on it. The client therefore
68 \emph{locally trusts} the controller. Hence, \emph{locally trusted host}.
69 \end{itemize}
70
71 \textbf{stealth} is based on an idea by \emph{Hans Gankema} and \emph{Kees Visser},
72 both at the Center for Information Technology of the University of Groningen.
73
74 \textbf{stealth}'s main task is to perform file integrity tests. However, the
75 testing will leave no sediments on the tested computer. Therefore, \textbf{stealth}
76 has \emph{stealthy} characteristics. I consider this an important security
77 improving feature of \textbf{stealth}.
78
79 The controller itself only needs two kinds of outgoing services:
80 \textbf{ssh}(1) to reach its clients, and some mail transport agent (e.g.,
81 \textbf{sendmail}(1)) to forward its outgoing mail to some mail-hub.
82
83 Here is what happens when \textbf{stealth} is run:
84 \begin{itemize}
85 \item First, a \emph{policy} file is read. This determines actions to be
86 performed, and values of several variables used by \textbf{stealth}.
87 \item If the command-line option \texttt{--keep-alive} or \texttt{--repeat <seconds>}
88 is given, \textbf{stealth} will run as a backgrond process, displaying the process
89 ID of the background process. With \texttt{--repeat <seconds>} the scan will be
90 rerun every \texttt{<seconds>} seconds. The number of seconds until the next rerun
91 will be at least 60. However, using the \texttt{--rerun} option a background
92 \textbf{stealth} process may always be goated into its next scan. When
93 \texttt{--keep-alive} is specified the scan will be performed just once, whereafter
94 \textbf{stealth} will wait until it is reactivated by another run of \textbf{stealth},
95 called using the \texttt{--rerun <pid>} command-line option.
96 \item Then, the controller opens a command shell on the client using
97 \textbf{ssh}(1), and a command shell on the controller itself using \textbf{sh}(1).
98 \item Next, commands defined in the policy file are executed in their order
99 of appearance. Examples are given below. Normally, return values of the
100 programs are tested. Non-zero return values will terminate \textbf{stealth}
101 prematurely.
102 \item In most cases, integrity tests can be controlled by the \textbf{find}(1)
103 program, calling programs like \textbf{ls}(1), \textbf{sha1sum}(1) or its own \texttt{-printf}
104 method to produce file-integrity related statistics. Most of these programs
105 write file names at the end of generated lines. This characteristic is used by
106 an internal routine of \textbf{stealth} to detect changes in the generated output,
107 which could indicate some harmful intent, like an installed \emph{root-kit}.
108 \item When changes are detected, they are logged on a \emph{report file}, to
109 which information is always appended. \textbf{stealth} never reduces or rewrites
110 the report file. When information is added to the report file the newly
111 written information is emailed to a configurable email address for further
112 (human) processing. Usually this will be the systems manager of the tested
113 client. \textbf{stealth} follows the `dark cockpit' approach in that no mail is
114 sent when no changes were detected.
115 \end{itemize}
116
117 Alternatively, the command-line options \texttt{--rerun} and \texttt{--terminate}
118 may be provided to communicate with a \textbf{stealth} process started earlier
119 using either the \texttt{--keep-alive} or \texttt{--repeat} option. In this case,
120 \begin{itemize}
121 \item When started using the \texttt{--terminate <pid>} command-line option, the
122 stealth process running at process-ID \texttt{<pid>} is terminated. Note that no
123 check is performed as to whether the process associated with \texttt{<pid>} is
124 truly a \textbf{stealth} process. It is the responsibility of the user to make sure
125 that the process-ID of the intended process is specified.
126 \item When started using the \texttt{--rerun <pid>} command-line option, the
127 stealth process running at process-ID \texttt{<pid>} will perform another
128 scan. Again, no check is performed as to whether the process associated with
129 \texttt{<pid>} is truly a \textbf{stealth} process. It is the responsibility of the user
130 to make sure that the process-ID of the intended process is specified.
131 \end{itemize}
132
133 The options \texttt{--suppress} and \texttt{--rerun} (see section \ref{ROTATE}) were
134 implemented to allow safe rotations of \textbf{stealth}'s report file.
135
136 \subsection{The integrity of the stealth distribution}
137
138 The integrity of the archive \texttt{stealth-1.47.2.tar.gz} can be verified as
139 follows:
140 \begin{itemize}
141 \item At the location where you found this archive, you should also find a
142 file named \texttt{stealth-1.47.2.dsc}. This file contains a PGP signed
143 \textbf{sha1sum}(1) signature of the \texttt{tar.gz} archive. The PGP sigature was
144 provided by me using \textbf{gpg}(1) (\textbf{pgp}(1)).
145 \item Compute the SHA1 checksum of the \texttt{stealth-1.47.2.tar.gz}
146 archive. Its value should match the SHA1 checksum that is mentioned in the
147 \texttt{stealth-1.47.2.dsc} file. If not, the \texttt{stealth-1.47.2.tar.gz}
148 archive has been compromised, and should \emph{not} be used.
149 \item In order to verify the validity of the electronic signature, do as
150 follows:
151 \begin{itemize}
152 \item Obtain my public key from a public PGP keyserver, e.g.
153 \begin{verbatim}
154
155 http://pgp.surfnet.nl:11371/
156
157 \end{verbatim}
158
159 \item Make sure you have the right key. Its fingerprint is
160 \begin{verbatim}
161
162 8E36 9FC4 1DAA FCDF 1A0D B19F DAC4 BE50 38C6 6170
163
164 \end{verbatim}
165
166 and it has been electronically signed by, e.g., the University of
167 Groningen's PGP-certificate authority. If in doubt, contact me to verify you
168 have the right key.
169 \item Once you're sufficiently satisfied that you indeed have obtained
170 my public PGP key, verify the validity of the signature used for signing
171 \texttt{stealth-1.47.2.dsc}. With \textbf{gpg}(1) this can be done by the command
172 \begin{verbatim}
173
174 gpg --verify stealth-1.47.2.dsc
175
176 \end{verbatim}
177
178 \end{itemize}
179 \end{itemize}
180 This should produce output comparable to:
181 \begin{verbatim}
182
183 gpg: Signature made Mon Aug 1 10:57:41 2005 CEST using DSA key ID 38C66170
184 gpg: Good signature from "Frank B. Brokken <f.b.brokken@rug.nl>"
185 gpg: aka "Frank B. Brokken <f.b.brokken@rc.rug.nl>"
186
187 \end{verbatim}
188
189
190 \cleardoublepage\chapter{Installation}
191 \label{install/intro}\typeout{Original Yodl file: install/intro}This chapter describes \textbf{stealth}'s compilation and installation.
192
193 \section{Compiling and installing Stealth}
194 \label{install/compile}\typeout{Original Yodl file: install/compile}After downloading the \textbf{stealth} archive, it should be unpacked. The name of
195 the archive is of the form \texttt{stealth-1.47.2.tar.gz}, where \texttt{1.47.2}
196 is a version number. Below, \texttt{1.47.2} should be altered into the version
197 of the archive that is actually used.
198
199 \begin{itemize}
200 \item First, determine a directory under which the archive's file should be
201 stored. E.g., if the files in the archive should be stored under \texttt{/tmp}, and
202 the archive itself is stored in \texttt{/tmp} as well, do:
203 \begin{verbatim}
204
205 cd /tmp
206 tar xzf stealth-1.47.2.tar.gz
207
208 \end{verbatim}
209
210 This creates a subdirectory \texttt{stealth} in which the sources are
211 found
212 \item Next, \texttt{chdir} to that directory:
213 \begin{verbatim}
214
215 chdir stealth
216
217 \end{verbatim}
218
219 \item Check the contents of the file \texttt{make/parameters}. It should need no
220 modifications. Among other entries, it contains the entry \texttt{GCC=g++},
221 indicating the compiler to use. The compiler should be the \texttt{GNU g++}
222 compiler version 4.0.2 or above. Also note \texttt{-lbobcat} in the entry
223 \begin{verbatim}
224
225 LOPTS="-lbobcat -lstealth -L. -s"
226
227 \end{verbatim}
228
229 When compiling \textbf{stealth}, the
230 \texttt{bobcat}\footnote{http://bobcat.sourceforge.net/} library must be available. If you
231 haven't installed \textbf{bobcat} yet, download it from
232 \texttt{http://sourceforge.net/projects/bobcat/}, and follow its installation
233 instructions. Make sure to install both the run-time (\textbf{bobcat\_...})
234 and the development (\textbf{bobcat-dev\_...}) versions.
235 \item Execute the command
236 \begin{verbatim}
237
238 make/program
239
240 \end{verbatim}
241
242 This command (note that it is \textbf{not} \emph{make program}!) will create the
243 program \textbf{./tmp/bin/stealth}, which may then be installed in, e.g.,
244 \texttt{/usr/sbin}.
245 \end{itemize}
246
247 \cleardoublepage\chapter{The `policy' file}
248 \label{policy/intro}\typeout{Original Yodl file: policy/intro} \textbf{stealth} reads a policy file defining the actions that must be
249 performed. Each policy file is uniquely associated with a host to be
250 tested. There may be multiple policy files for a host, though. In that case,
251 each policy file will define a certain set of checks to be performed.
252
253 Below, the term \emph{controller} is used for the computer where \textbf{stealth}
254 is started, while the term \emph{client} is used for the computer that is scanned
255 by \textbf{stealth}. The controller and the client could be the same computer, but
256 normally they are different.
257
258 The policy file consists of three sets of data: \emph{define directives}
259 (starting with the keyword \textbf{DEFINE}), \emph{use directives} (starting with the
260 keyword \textbf{USE}) and \emph{commands}.
261
262 Directives are written in capitals, and should appear exactly as written
263 below: letter casing is preserved.
264
265 Blank lines and information beyond hash-marks (\#) are ignored, while lines
266 following lines terminating in backslashes (\textbackslash ) will be concatenated (\emph{en
267 passant} removing the backslashes). Initial white space on lines of the policy
268 file is ignored.
269
270 \label{policy/defines}\typeout{Original Yodl file: policy/defines}\section{DEFINE directives}
271
272 \texttt{DEFINE} directives can be used to define symbols for longer strings.
273 A \texttt{DEFINE} directive is constructed as follows:
274 \begin{verbatim}
275
276 DEFINE name that what is defined by `name'
277
278 \end{verbatim}
279
280 Here,
281 \begin{itemize}
282 \item the \texttt{name} following \texttt{DEFINE} is the symbol that may be used in
283 \texttt{USE} directives (see below) and \texttt{commands} (see below).
284 \item \texttt{DEFINE} symbols can be used in other \texttt{DEFINE} symbols. However,
285 it is the responsibility of the author of the policy file to make sure that
286 (indirect) circular definitions are avoided. E.g., after:
287 \begin{verbatim}
288
289 DEFINE A ${B}
290 DEFINE B ${A}
291 DEFINE C ${C}
292
293 USE MAILARGS ${A} ${B} ${C}
294
295 \end{verbatim}
296
297 \texttt{MAILARGS} will be expanded to
298 \begin{verbatim}
299
300 ${A} ${A} ${C}
301
302 \end{verbatim}
303
304 \item The text following \texttt{DEFINE name} is then inserted literally into
305 the \texttt{USE} directive or \texttt{command}.
306
307 Example:
308 \begin{verbatim}
309
310 DEFINE SSH /usr/bin/ssh frankbash@localhost -q
311 DEFINE EXECSHA1 -xdev -perm +111 -type f -exec /usr/bin/sha1sum {} \;
312
313 \end{verbatim}
314
315 The symbols defined by \texttt{DEFINE} directives may consist of
316 letters, digits and the underscore character (\texttt{\_}).
317 In the definition of the symbol any character can be used. The
318 definition is, however, trimmed of initial or trailing blanks.
319
320 To insert a definition into a \texttt{USE} directive or \texttt{command} use the
321 \begin{verbatim}
322
323 ${name}
324
325 \end{verbatim}
326
327 form. E.g., \texttt{\$\{EXECSHA1\}}. Concrete examples will be given below.
328 \end{itemize}
329
330 \label{policy/use}\typeout{Original Yodl file: policy/use}\section{USE directives}
331
332 \texttt{USE} directives provide \textbf{stealth} with arguments which
333 may be conditional to a certain installation. The following \textbf{USE} directives
334 may be specified:
335 \begin{itemize}
336 \item \textbf{USE BASE} \texttt{basedirectory}
337
338 \textbf{BASE} defines the directory from where \textbf{stealth} operates. All
339 relative path specifications are interpreted relative to \textbf{BASE}. \emph{By
340 default} this is the directory where \textbf{stealth} was started.
341
342 \textbf{BASE} and all other directories that are used below \texttt{BASE}
343 are created by \textbf{stealth} if not yet existing.
344
345 Example:
346 \begin{verbatim}
347
348 USE BASE /root/client
349
350 \end{verbatim}
351
352 All information generated by \textbf{stealth} is written in or below the
353 directory \texttt{/root/client}.
354
355 \item \textbf{USE DD} \texttt{<dd>}\ \\
356 The \textbf{DD} specification uses \texttt{/bin/dd} as default, and defines the
357 location of the \textbf{dd}(1) program, both on the server and on the client. The
358 \textbf{bin}(1) program is used to copy files between the client and the controller
359 without opening separate ssh-connections. The program specified here is only
360 used by stealth for the \texttt{PUT} and \texttt{GET} commands, described below.
361
362 Example showing the default:
363 \begin{verbatim}
364
365 USE DD /bin/dd
366
367 \end{verbatim}
368
369
370 \item \textbf{USE DIFF} \texttt{path-to-diff}
371
372 The \textbf{DIFF} specification uses \texttt{/usr/bin/diff} as default,
373 and defines the location of the \textbf{diff}(1) program. The
374 \textbf{diff}(1) program is used to compare a formerly created logfile of an
375 integrity check to a newly created logfile.
376
377 Example showing the default:
378 \begin{verbatim}
379
380 USE DIFF /usr/bin/diff
381
382 \end{verbatim}
383
384
385 \item \textbf{USE EMAIL} \texttt{address}
386
387 The \textbf{EMAIL} specification defines the email-address to e-mail the
388 client's integrity scan report to. Mail is only sent when information has
389 changed.
390
391 Example showing the default:
392 \begin{verbatim}
393
394 USE EMAIL root
395
396 \end{verbatim}
397
398
399 \item \textbf{USE MAILER} \texttt{mailer}
400
401 The \textbf{MAILER} specification defines the program that is used to send
402 the mail to the \textbf{EMAIL}-address. By default this is \textbf{/usr/bin/mail}(1).
403 The \textbf{MAILER} program is called as follows:
404 \begin{verbatim}
405
406 MAILER MAILARGS EMAIL
407
408 \end{verbatim}
409
410 (\texttt{MAILARGS}: see below). The information to be mailed is read from
411 \texttt{MAILER}'s standard input stream.
412
413 Example showing the default:
414 \begin{verbatim}
415
416 USE MAILER /usr/bin/mail
417
418 \end{verbatim}
419
420
421 \item \textbf{USE MAILARGS} \texttt{arguments}
422 The \textbf{MAILARGS} specification defines the arguments to be
423 to be passed to the \texttt{MAILER} program. By default this is
424 \begin{verbatim}
425
426 USE MAILARGS -s "STEALTH scan report"
427
428 \end{verbatim}
429
430 Note that blanks may be used in the subject specification: use double or
431 single quotes to define elements containing blanks. Use \texttt{\textbackslash "} to use a double
432 quote in a string that is itself delimited by double quotes, use \texttt{\textbackslash '} to use
433 a single quote in a string that is itself delimited by single quotes.
434
435 Subtle note: in a construction like
436 \begin{verbatim}
437
438 USE MAILARGS " 't was brillig " and 't went well
439
440 \end{verbatim}
441
442 the following arguments are passed to \texttt{MAILER}:
443 \begin{itemize}
444 \item \texttt{" 't was brillig "}
445 \item \texttt{and}
446 \item \texttt{'t}
447 \item \texttt{went}
448 \item \texttt{well}
449 \end{itemize}
450 So, when single- and double-quoted strings overlap, the first string is
451 taken as a string, and the information beyond the first string is thereupon
452 interpreted.
453
454 \item \textbf{USE REPORT} \texttt{reportfile}
455
456 \textbf{REPORT} defines the name of the reportfile. Information is always
457 appended to this file. For each run of \textbf{stealth} a \emph{time marker line} is
458 written to the report file. Such a marker line looks like this:
459 \begin{verbatim}
460
461 STEALTH (1.11) started at Mon Jun 16 12:57:26 2003
462
463 \end{verbatim}
464
465 Only when (in addition to the marker line)
466 additional information was appended to the report file, the added contents of
467 the report file are mailed to the mail address specified in the \textbf{USE EMAIL}
468 specification.
469
470 Example showing the default:
471 \begin{verbatim}
472
473 USE REPORT report
474
475 \end{verbatim}
476
477
478 \item \textbf{USE ROTATE} \texttt{interval: number interval-name}{[},{]}
479 {[}\texttt{count: number}{]}{[},{]}
480 {[}\texttt{, zip: number {[}zip-program-path{]}}{]}
481
482 \textbf{ROTATE} defines the parameters \textbf{stealth} will use to rotate its
483 report file. This \textbf{USE} specification supports three elements, the first of
484 which is obligatory when \textbf{USE ROTATE} is specified. Note that the square
485 brackets are not used in the specification, and indicate optional elements,
486 which may or may not be specified:
487 \begin{itemize}
488 \item \texttt{interval: number interval-name} defines the time interval
489 until the report file is rotated. Rotation can be specified using an integral,
490 positive number, followed by \texttt{hour} or \texttt{hours} for hours, \texttt{day} or
491 \texttt{days} for days, \texttt{week} or \texttt{weeks} for weeks and \texttt{month} or \texttt{months}
492 for months. By default no rotation takes place. If rotation is requested, the
493 current report file is moved to the file \texttt{reportfile}\textbf{.1}, while existing
494 numbered reportfiles are moved to higher ordered numbers first (so, before
495 moving the current reportfile to \texttt{reportfile}\textbf{.1}, an existing
496 \texttt{reportfile}\textbf{.1} is first moved to \texttt{reportfile}\textbf{.2}, etc.).
497 \item \texttt{count: number} defines the number of report files \textbf{stealth}
498 will eventually use. By default, if \textbf{USE ROTATE} is specified, there is no
499 practical limit to the number of report files \textbf{stealth} will create (in
500 these cases, another program supposedly controls the number of report files
501 that will eventually be used). External programs may freely manipulate all
502 report files that have been rotated by \textbf{stealth}, but they should not modify
503 the active report file (specified using the \textbf{USE REPORT} specification).
504 \item \texttt{zip: number zip-program-path} defines the first of the rotated
505 files that should be compressed, using \texttt{zip-program-path} to compress the
506 report files. By default, no compression is used, but if \texttt{zip:} is
507 specified, the default program that will be used to compress a report file is
508 \textbf{/bin/gzip}. If another program is used, it should expect a filename as its
509 first argument, which will then be zipped to a new file receiving the
510 extension \textbf{.gz}, appended to the name that was provided as its first
511 argument. The original file is removed during the zipping-process.
512
513 Example showing a report interval of one week, using a total of 12 report
514 files, compressing all report files but the actual report file and its
515 predecessor (having filename \texttt{reportfile}\textbf{.1}):
516 \begin{verbatim}
517
518 USE ROTATE interval: 1 week, count: 12, zip: 2 /bin/gzip
519
520 \end{verbatim}
521
522 \end{itemize}
523 \item \textbf{USE SH} \texttt{sh-specification}
524
525 The \textbf{SH} specification uses \texttt{/bin/sh} as default, and defines the
526 command shell used by the controller to execute local commands.
527
528 Example showing the default:
529
530 \begin{verbatim}
531
532 USE SH /bin/sh
533
534 \end{verbatim}
535
536
537 \item \textbf{USE SSH} \texttt{ssh-specification}
538
539 \textbf{The SSH specification has no default}, and \emph{must} be
540 specified. Assuming the client \emph{trusts} the controller (which is, after all,
541 what this program is all about; so this should not be a very strong
542 assumption), preferably the public ssh-identity key of the controller should
543 be placed in the client's root \texttt{.ssh/authorized\_keys} file, granting the
544 controller root access to the client. Root access is normally needed to gain
545 access to all directories and files of the client's file system.
546
547 In practice, connecting to a account using the \textbf{sh}(1) shell is
548 preferred. When another shell is already used by that account, one should make
549 sure that that shell doesn't setup its own redirections for standard input and
550 standard output. One way to accomplish that is for force the execution of
551 \texttt{/bin/sh} in the \textbf{USE SSH} specification.
552
553 An example of an \texttt{SSH} specification to scan a localhost is:
554 \begin{verbatim}
555
556 USE SSH root@localhost -T -q # root's shell is /bin/sh
557
558 \end{verbatim}
559
560
561 The same, now explicitly using \texttt{/bin/bash}:
562 \begin{verbatim}
563
564 USE SSH root@localhost -T -q exec /bin/bash # root uses another shell
565
566 \end{verbatim}
567
568
569 Alternatively, \texttt{--profile} can be specified to prevent any
570 profile-initialization:
571 \begin{verbatim}
572
573 USE SSH root@localhost -T -q exec /bin/bash --noprofile
574
575 \end{verbatim}
576
577 \end{itemize}
578 Note, however, that using \texttt{stealth} to inspect \texttt{localhost} is \emph{not}
579 recommended, as it counters one of the main reasons for \texttt{stealth}'s
580 existence.
581
582 As yet another alternative, applicable only to \texttt{localhost}, \texttt{ssh}
583 could be avoided altogether. In that case \texttt{/bin/bash} or a comparable shell
584 may be specified with \texttt{USE SSH}. For example:
585 \begin{verbatim}
586
587 # For stealth inspecting localhost:
588 USE SSH /bin/bash --noprofile
589
590 \end{verbatim}
591
592
593 \label{policy/commands}\typeout{Original Yodl file: policy/commands}\section{Commands}\label{COMMANDS}
594
595 Following the \textbf{USE} specifications, \emph{commands} can be specified. The
596 commands are executed in their order of appearance in the policy
597 file. Processing continues until the last command has been processed or until
598 a tested command (see below) returns a non-zero return value.
599
600 \subsection{LABEL commands}
601
602 The following \textbf{LABEL} commands are available:
603 \begin{itemize}
604 \item \textbf{LABEL} \texttt{text}
605
606 This defines a text-label which is written to the \textbf{REPORT} file,
607 just before the output generated by the next \textbf{CHECK}-command. If the next
608 \textbf{CHECK}-command generates no output, the label is not written to the
609 \textbf{REPORT}-file. Once a \textbf{LABEL} has been defined, it is used until it is
610 redefined by the next \textbf{LABEL} command. Use an empty \textbf{LABEL} command to
611 suppress the printing of labels.
612
613 The text may contain \texttt{\textbackslash n} characters (two characters) which are
614 transformed to a newline character.
615 \item \textbf{LABEL}
616
617 As noted, this clears a previously defined \texttt{LABEL} command.
618 \end{itemize}
619
620 Examples:
621 \begin{verbatim}
622
623 LABEL Inspecting files in /etc\nIncluding subdirectories
624 LABEL
625
626 \end{verbatim}
627
628 The second \textbf{LABEL} command clears the first label.
629
630 \subsection{LOCAL commands}
631
632 \textbf{LOCAL} commands can be used to specify commands that are
633 executed on the controller itself. The following \textbf{LOCAL} commands are
634 available:
635 \begin{itemize}
636 \item \textbf{LOCAL} \texttt{command}
637
638 Execute \texttt{command} on the controller, using the \textbf{SH} command
639 shell. The command must succeed (i.e., must return a zero exit value).
640 Example:
641 \begin{verbatim}
642
643 LOCAL mkdir /tmp/client
644
645 \end{verbatim}
646
647 This command will create the directory \texttt{/tmp/client} on the controller.
648
649 \item \textbf{LOCAL NOTEST} \texttt{command}
650
651 Execute \texttt{command} on the controller, using the \textbf{SH} command
652 shell. The command may or may not succeed.
653 Example:
654 \begin{verbatim}
655
656 LOCAL NOTEST mkdir /tmp/subdir
657
658 \end{verbatim}
659
660 This command will create \texttt{/tmp/subdir} on the controller. The command
661 will fail if the directory cannot be created, but this will not terminate
662 \textbf{stealth}.
663
664 \item \textbf{LOCAL CHECK} {[}\textbf{LOG =}{]} \texttt{logfile command}
665
666 Execute \texttt{command} on the controller, using the \textbf{SH} command shell.
667 The phrase `\textbf{LOG =}' is optional.
668 If
669 the command does not succeed a \emph{warning} message is written to the report
670 file. The warning message informs the reader that `remaining results might be
671 forged:
672 \begin{verbatim}
673
674 *** BE CAREFUL *** REMAINING RESULTS MAY BE FORGED
675
676 \end{verbatim}
677
678 This situation may occur, e.g., if an essential program (like \texttt{sha1sum})
679 was transferred to the controller, and it was apparently modified since the
680 previous check. Processing continues, but remaining checks performed at the
681 client computer should be interpreted with \emph{extreme} caution.
682
683 The output of this command is compared to the output of this command
684 generated during the previous run of \textbf{stealth}. Any differences are written
685 to \textbf{REPORT}.
686
687 If differences were found, the existing \texttt{logfile} name is renamed to
688 \texttt{logfile.YYYYMMDD-HHMMSS}, with \texttt{YYYYMMDD-HHMMSS} the datetime-stamp at
689 the time \textbf{stealth} was run.
690
691 Over time, many \texttt{logfile.YYMMDD-HHMMSS} files could be accumulated.
692 It is up to the controller's systems manager to decide what to do
693 with old datetime-stamped logfiles. For instance, the following script
694 will remove all \textbf{stealth} reports below the current directory that are
695 older than 30 days:
696 \begin{verbatim}
697
698 #/bin/sh
699 FILES=`find ./ -path '*[0-9]' -mtime +30 -type f`
700
701 if [ "$FILES" != "" ] ; then
702 rm -f $FILES
703 fi
704
705 \end{verbatim}
706
707
708 The \texttt{logfile} specifications may use relative and absolute paths. When
709 relative paths are used, these paths are relative to \textbf{BASE}. When the
710 directories implied by the \texttt{logfile} specifications do not yet exist, they
711 are created first.
712
713 Example:
714 \begin{verbatim}
715
716 LOCAL CHECK LOG = local/sha1sum sha1sum /tmp/sha1sum
717
718 \end{verbatim}
719
720 This command will check the SHA1 sum of the \texttt{/tmp/sha1sum} program. The
721 resulting output is saved at \textbf{BASE}\texttt{/local/sha1sum}. The program must
722 succeed (i.e., \texttt{sha1sum} must return a zero exit-value).
723
724 \item \textbf{LOCAL NOTEST CHECK} {[}\textbf{LOG =}{]} \texttt{logfile command}
725
726 Execute \texttt{command} on the controller, using the \textbf{SH} command
727 shell. The phrase `\textbf{LOG =}' is optional.
728 The command may or may not succeed. Otherwise, the program acts
729 identically as the \textbf{LOCAL CHECK ...} command, discussed previously.
730
731 Example:
732 \begin{verbatim}
733
734 LOCAL NOTEST CHECK LOG=local/sha1sum sha1sum /tmp/sha1sum
735
736 \end{verbatim}
737
738 This command will check the SHA1 sum of the \texttt{/tmp/sha1sum} program. The
739 resulting output is saved at \textbf{BASE}\texttt{/local/sha1sum}. The program may or may
740 not succeed (i.e., \texttt{sha1sum} may or may not return a zero exit-value).
741 \end{itemize}
742
743 \subsection{REMOTE commands}
744
745 Plain commands can be executed on the client computer by merely
746 specifying them. Of course, this means that programs called
747 \texttt{LABEL}, \texttt{LOCAL} \texttt{USE} or \texttt{DEFINE}, cannot be executed, since
748 these names are interpreted otherwise by \textbf{stealth}. It's unlikely that this
749 will cause problems. Remote commands must succeed (i.e., their return
750 codes must be 0).
751
752 Remote commands are commands executed on the client using the \textbf{SSH}
753 shell. These commands are executed using the standard \texttt{PATH} set for the
754 \textbf{SSH} shell. However, it is advised to specify the full pathname to the
755 programs to be executed, to prevent ``trojan approaches'' where a trojan horse
756 is installed in an `earlier' directory of the \texttt{PATH}-specification than the
757 intended program.
758
759 Two special remote commands are \texttt{GET} and \texttt{PUT}, which can be used to
760 copy files between the client and the controller. Internally, \texttt{GET} and
761 \texttt{PUT} use the \texttt{DD} use-specification. If a non-default specification is
762 used, one should ensure that the alternate program accepts \textbf{dd}(1)'s \texttt{if=,
763 of=, bs=} and \texttt{count=} options. With \texttt{GET} the options \texttt{bs=, count=} and
764 \texttt{of=} are used, with \texttt{PUT} the options \texttt{bs=, count=} and \texttt{if=} are
765 used. Normally there should be no need to alter the default \texttt{DD}
766 specification.
767
768 The \texttt{GET} command may be used as follows:
769 \begin{itemize}
770 \item \textbf{GET} \texttt{<client-path> <local-path>}\ \\
771 Copy the file indicated by \texttt{client-path} at the client to \texttt{local-path}
772 at the controller. \texttt{client-path} must be the full path of an existing file
773 on the client, \texttt{local-path} may either be a local directory, in which case
774 the client's file name is used, or another file name may be specified, in
775 which case the client's file is copied to the specified local filename. If the
776 local file already exists, it is overwritten by the copy-procedure.
777
778 Example:\ \\
779 \texttt{GET /usr/bin/sha1sum /tmp}\ \\
780 The program \texttt{/usr/bin/sha1sum}, available at the client, is copied to the
781 controller's \texttt{/tmp} directory. If the copying fails for some reason,
782 any subsequent commands are skipped, and \textbf{stealth} terminates.
783
784 \item \textbf{GET NOTEST} \texttt{<client-path> <local-path>}\ \\
785 Copy the file indicated by \texttt{client-path} at the client to \texttt{local-path}
786 at the controller. \texttt{client-path} must be the full path of an existing file
787 on the client, \texttt{local-path} may either be a local directory, in which case
788 the client's file name is used, or another file name may be specified, in
789 which case the client's file is copied to the specified local filename. If the
790 local file already exists, it is overwritten by the copy-procedure.
791
792 Example:\ \\
793 \texttt{GET NOTEST /usr/bin/sha1sum /tmp}\ \\
794 The program \texttt{/usr/bin/sha1sum}, available at the client, is copied to the
795 controller's \texttt{/tmp} directory. Remaining commands in the policy file are
796 executed, even if the copying process wasn't successful.
797 \end{itemize}
798
799 The \texttt{PUT} command may be used as follows:
800 \begin{itemize}
801 \item \textbf{PUT} \texttt{<local-path> <remote-path>}\ \\
802 Copy the file indicated by \texttt{local-path} at the controller to
803 \texttt{remote-path} at the client. The argument \texttt{local-path} must be the
804 full path of an existing file on the controller. The argument \texttt{remote-path}
805 must be the full path to a file on the client. If the remote file already
806 exists, it is overwritten by \texttt{PUT}.
807
808 Example:\ \\
809 \texttt{PUT /tmp/sha1sum /usr/bin/sha1sum}\ \\
810 The program \texttt{/tmp/sha1sum}, available at the controller, is copied to the
811 client as \texttt{usr/bin/sha1sum}. If the copying fails for some reason,
812 any subsequent commands are skipped, and \textbf{stealth} terminates.
813
814 \item \textbf{PUT NOTEST} \texttt{<local-path> <remote-path>}\ \\
815 Copy the file indicated by \texttt{local-path} at the controller to
816 \texttt{remote-path} at the client. The argument \texttt{local-path} must be the
817 full path of an existing file on the controller. The argument \texttt{remote-path}
818 must be the full path to a file on the client. If the remote file already
819 exists, it is overwritten by \texttt{PUT}.
820
821 Example:\ \\
822 \texttt{PUT NOTEST /tmp/sha1sum /usr/bin/sha1sum}\ \\
823 Copy the file indicated by \texttt{local-path} at the controller to
824 \texttt{remote-path} at the client. The argument \texttt{local-path} must be the full
825 path of an existing file on the controller. The argument \texttt{remote-path} must
826 be the full path to a file on the client. If the remote file already exists,
827 it is overwritten by \texttt{PUT}. Remaining commands in the policy file are
828 executed, even if the copying process wasn't successful.
829 \end{itemize}
830
831 Other commands to be executed on the client can be specified as follows:
832
833 \begin{itemize}
834 \item \texttt{command}
835
836 Execute `\texttt{command}' on the client, using the \textbf{SSH} command
837 shell. The command must succeed (i.e., must return a zero exit
838 value). However, any output generated by the command is ignored.
839 Example:
840 \begin{verbatim}
841
842 /usr/bin/find /tmp -type f -exec /bin/rm {} \;
843
844 \end{verbatim}
845
846 This command will remove all ordinary files at and below the client's
847 \texttt{/tmp} directory.
848
849 \item \textbf{NOTEST} \texttt{command}
850
851 Execute \texttt{command} on the client, using the \textbf{SSH} command
852 shell. The command may or may not succeed.
853
854 Example:
855 \begin{verbatim}
856
857 NOTEST /usr/bin/find /tmp -type f -exec /bin/rm {} \;
858
859 \end{verbatim}
860
861 Same as the previous command, but this time the exit value of
862 \texttt{/usr/bin/find} is not interpreted.
863
864 \item \textbf{CHECK} {[}\textbf{LOG =}{]} \texttt{logfile command}
865
866 Execute \texttt{command} on the client, using the \textbf{SSH} command
867 shell. The phrase `\textbf{LOG =}' is optional.
868 The command must succeed. The output of this command is compared to the
869 output of this command generated during the previous run of \textbf{stealth}. Any
870 differences are written to \textbf{REPORT}. If differences were found, the existing
871 \texttt{logfile} name is renamed to \texttt{logfile.YYYYMMDD-HHMMSS}, with
872 \texttt{YYYYMMDD-HHMMSS} the datetime-stamp at the time \textbf{stealth} was run.
873
874 Note that the command is executed on the client, but the logfile is kept
875 on the controller. This command represents the core of the method implemented
876 by \textbf{stealth}: there will be no residues of the actions performed by
877 \textbf{stealth} on the client computers.
878
879 Several examples (note the use of the backslash as line continuation
880 characters):
881
882 \begin{verbatim}
883
884 CHECK LOG = remote/ls.root /usr/bin/find / \
885 -xdev -perm +6111 -type f -exec /bin/ls -l {} \;
886
887 \end{verbatim}
888
889 All suid/gid/executable files on the same device as the root-directory (/)
890 on the client computer are listed with their permissions, owner and size
891 information. The resulting listing is written on the file
892 \textbf{BASE}\texttt{/remote/ls.root}.
893
894 This long command could be formulated shorter using a \texttt{DEFINE}:
895 \begin{verbatim}
896
897 DEFINE LSFIND -xdev -perm +6111 -type f -exec /bin/ls -l {} \;
898 CHECK remote/ls.root /usr/bin/find / ${LSFIND}
899
900 \end{verbatim}
901
902
903 Another example:
904 \begin{verbatim}
905
906 DEFINE SHA1SUM -xdev -perm +6111 -type f -exec /usr/bin/sha1sum {} \;
907 CHECK remote/sha1.root /usr/bin/find / ${SHA1SUM}
908
909 \end{verbatim}
910
911 The SHA1 checksums of all suid/gid/executable files on the same device as
912 the root-directory (/) on the client computer are determined. The resulting
913 listing is written on the file \textbf{BASE}\texttt{/remote/sha1.root}.
914
915 \item \textbf{NOTEST CHECK} {[}\textbf{LOG =}{]} \texttt{logfile command}
916
917 Execute \texttt{command} on the client, using the \textbf{SSH} command
918 shell. The phrase `\textbf{LOG =}' is optional.
919 The command may or may not succeed. Otherwise, the program acts
920 identically as the \textbf{CHECK ...} command, discussed previously.
921 Example (using the same \texttt{\$\{SHA1SUM\}})definition:
922 \begin{verbatim}
923
924 NOTEST CHECK LOG = remote/sha1.root /usr/bin/find / ${SHA1SUM}
925
926 \end{verbatim}
927
928 The SHA1 checksums of all suid/gid/executable files on the same device as
929 the root-directory (/) on the client computer are determined. The resulting
930 listing is written on the file \textbf{BASE}\texttt{/remote/sha1.root}. \textbf{stealth} will
931 not terminate if the \texttt{/usr/bin/find} program returns a non-zero exit value.
932 \end{itemize}
933
934 \subsection{Preventing Controller Denial of Service (--max-size)}
935
936 Either by malicious intent or by accendent (as happened to me) the controller
937 may be a victim of a Denial of Service (DOS) attack. This DOS attack may
938 happen when the client (apparently) sends a never ending stream of bytes in
939 response to a \texttt{GET} or \texttt{REMOTE} command. One of my controllers once fell
940 victim to this attack when a client's power went down and the controller kept
941 on trying to read bytes from that client filling up the controllers disk....
942
943 This problem was of course caused by a programming error: while reading
944 information from a client \textbf{stealth} failed to check whether the reading
945 had actually succeeded. This bug has now been fixed, but an intentional
946 DOS attack could still be staged along this line by a hacker who manages to
947 replace, e.g., the \textbf{find}(1) command by a manipulated version which would
948 continue to write information to its standard output stream. Without further
949 precaution \textbf{stealth} would receive a never ending stream of bytes as its
950 `report' thus causing its disk to fill.
951
952 To prevent this from happening \textbf{stealth} now offers the \texttt{--max-size}
953 command line option allowing the specification of the maximum size of a stream
954 of bytes received by \textbf{stealth} (e.g., a report or downloaded file). The
955 maximum is used for each individual download and can be specified in bytes
956 (using no suffix or the \texttt{B} suffix), kilo-bytes (using \texttt{K}), mega-bytes
957 (using \texttt{M}) or giga-bytes (using \texttt{G}). The default is set at 10M,
958 equivalent to the command line specification of \texttt{--max-size 10M}.
959
960 If a file or report received from the client exceeds its maximum allowed size
961 then \textbf{stealth} terminates after writing the following message to the report
962 file (which is sent to the configured mail address):
963 \begin{verbatim}
964
965 STEALTH - CAN'T CONTINUE: `<name of offending file>' EXCEEDS MAX.
966 DOWNLOAD SIZE (<size shown>)
967 STEALTH - THIS COULD SIGNAL A SERIOUS PROBLEM WITH THE CLIENT
968 STEALTH - ONE OR MORE LOG FILES MAY BE INVALID AS A RESULT
969 STEALTH - *** INVESTIGATE ***
970
971 \end{verbatim}
972
973 Since a \texttt{--max-size} specification may cause \textbf{stealth} to terminate
974 while receiving the output of a (remotely run) command, an empty or partial
975 log file will be the result. Of course this partial result is spurious as it
976 is a direct result of \textbf{stealth} terminating due to a size violation.
977
978 After investigating (and removing) the reasons for the size violation a
979 new \textbf{stealth} run using the previous log file as the latest baseline should
980 show only expected changes.
981
982 For example, assume the following situation represents a (valid) state of
983 logfiles:
984 \begin{verbatim}
985
986 etc stealth
987 setuid stealth.20080316-105756
988
989 \end{verbatim}
990
991 Now \textbf{stealth} is run with \texttt{--max-size 20}, prematurely
992 terminating \textbf{stealth}. This results in the following set of logfiles:
993 \begin{verbatim}
994
995 etc stealth
996 setuid stealth.20080316-105756
997 stealth.20080316-110215
998
999 \end{verbatim}
1000
1001 The file \texttt{stealth} now contains incomplete data with the (latest) file
1002 \texttt{stealth.20080316-110215} containing its previous contents.
1003
1004 Now the reasons for the size-violation should be investigated and
1005 removed. It is suggested to move the file last saved
1006 (\texttt{stealth.20080316-110215}) to the file \texttt{stealth}, as it represents the
1007 state before the size violation was encountered. Following this \textbf{stealth}
1008 should operate normally again.
1009
1010 \cleardoublepage\chapter{Granting access}
1011 \label{policy/access}\typeout{Original Yodl file: policy/access}Access is granted via the \texttt{ssh} protocol.
1012
1013 The client must allow the controller to connect using \texttt{ssh}. Since normally
1014 no username and password can be given, the client must allow the controller to
1015 connect without specifying a password.
1016
1017 This is realized using \emph{public key} technology, assuming \texttt{open-SSH} is
1018 available on both computers, with the client running an \texttt{sshd} daemon.
1019
1020 \subsection{The controller's user: creating an ssh-key}
1021
1022 The user on the controller who will call \textbf{stealth} to scan the client,
1023 now generates an \texttt{ssh-keypair}:
1024 \begin{verbatim}
1025
1026 ssh-keygen -t rsh
1027
1028 \end{verbatim}
1029
1030 This will generate a public/private ssh key pair in \texttt{.ssh} in the user's
1031 home directory. The program asks for a \emph{passphrase} which should, for the
1032 purpose of \textbf{stealth} be \textbf{empty}: just pressing \texttt{Enter} as a response to
1033 the question
1034 \begin{verbatim}
1035
1036 Enter passphrase (empty for no passphrase):
1037
1038 \end{verbatim}
1039
1040 will do the trick (a confirmation is requested: press \texttt{Enter} again).
1041 The program returns a key fingerprint, e.g.,
1042 \begin{verbatim}
1043
1044 03:96:49:63:8a:64:33:45:79:ab:ca:de:c8:c8:4f:e9 user@controller
1045
1046 \end{verbatim}
1047
1048 which may be saved and used for future reference.
1049
1050 In the directory user's \texttt{.ssh} directory the files \texttt{id\_rsa} and
1051 \texttt{id\_rsa.pub} are now created.
1052
1053 This completes the actions on the controller.
1054
1055 \subsection{The client's account: accepting ssh from the controller's user}
1056
1057 Next, the account on the client where the \texttt{ssh} command connects to
1058 (using a specification in the policy file like
1059 \begin{verbatim}
1060
1061 USE SSH /usr/bin/ssh -q account@client
1062
1063 \end{verbatim}
1064
1065 must now grant access to the controller's user. In order to do so, the file
1066 \texttt{id\_rsa.pub} of the user at the controller is added to the file
1067 \texttt{authorized\_keys} in the \texttt{.ssh} directory of the account on the client:
1068 \begin{verbatim}
1069
1070 # transfer user@controller's file id_rsa.pub to the client's /tmp
1071 # directory. Then do:
1072
1073 cat /tmp/id_rsa.pub >> /home/account/.ssh/authorized_keys
1074
1075 \end{verbatim}
1076
1077
1078 Now user@controller may login at acount@client without specifying a
1079 password.
1080
1081 \subsection{Logging into the account@client account}
1082
1083 When user@controller now issues the command
1084 \begin{verbatim}
1085
1086 ssh account@controller
1087
1088 \end{verbatim}
1089
1090 \texttt{Ssh} responds as follows:
1091 \begin{verbatim}
1092
1093 The authenticity of host 'controller (xxx.yyy.aaa.bbb)' can't be
1094 established.
1095 RSA key fingerprint is c4:52:d6:a3:d4:65:0d:5e:2e:66:d8:ab:de:ad:12:be.
1096 Are you sure you want to continue connecting (yes/no)?
1097
1098 \end{verbatim}
1099
1100 Answering \texttt{yes} results in the message:
1101 \begin{verbatim}
1102
1103 Warning: Permanently added 'controller,xxx.yyy.aaa.bbb' (RSA) to the
1104 list of known hosts.
1105
1106 \end{verbatim}
1107
1108
1109 The next time a login is attempted, the authenticity question isn't asked
1110 anyore. However, the proper value of the host's RSA key fingerprint (i.e., the
1111 key fingerprint of the \emph{client} computer) should
1112 \emph{always} be verified to prevent \emph{man in the middle} attacks. The proper
1113 value may be obtained at the client computer by issuing the command
1114 \begin{verbatim}
1115
1116 ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub
1117
1118 \end{verbatim}
1119
1120 This should result in the same value as the fingerprint shown when the
1121 first \texttt{ssh} connection was made. E.g.,
1122 \begin{verbatim}
1123
1124 1024 c4:52:d6:a3:d4:65:0d:5e:2e:66:d8:ab:de:ad:12:be ssh_host_rsa_key.pub
1125
1126 \end{verbatim}
1127
1128
1129 \subsection{Using the proper shell}
1130
1131 On order to minimize the amount of clutter and possible complications when
1132 only a simple command-shell is required for executing commands, it is
1133 suggested to use a \texttt{bash} or \texttt{sh} shell when logging into the
1134 \texttt{account@client}'s account.
1135
1136 When another shell is already used for \texttt{account@client}, then an extra
1137 account (optionally using the same \texttt{UID} as the original account, but
1138 using \textbf{sh}(1) as the shell), could be used.
1139
1140 In the \textbf{passwd}(5) file this could be realized for \emph{root} as
1141 \emph{rootsh} as follows:\ \\
1142 \begin{verbatim}
1143
1144 rootsh:x:0:0:root:/root:/bin/sh
1145
1146 \end{verbatim}
1147
1148 If shadow passwording is used, an appropriate entry in the \texttt{/etc/shadow}
1149 file is required as well.
1150
1151 \cleardoublepage\chapter{Running `stealth'}
1152 \label{running/intro}\typeout{Original Yodl file: running/intro}Now that \textbf{stealth} has been compiled, the construction of a policy file has
1153 been covered, and a service-account on the client has been defined, what must
1154 be done to run \textbf{stealth} in practice?
1155
1156 Here's what remains to be done:
1157 \begin{itemize}
1158 \item Install \textbf{stealth} at a proper location
1159 \item Construct one or more policy files
1160 \item Learn to interpret \textbf{stealth}'s output.
1161 \item Optionally, automate the removal of old log-files.
1162 \item Determine a schedule for running stealth automatically, e.g. using
1163 \textbf{cron}(1)
1164 \end{itemize}
1165 In this chapter, these topics will be discussed.
1166
1167 \section{Installing `stealth'}
1168 \label{running/installing}\typeout{Original Yodl file: running/installing}As \textbf{stealth} is mainly a system administrator's tool, it could be
1169 installed in \texttt{/usr/local/sbin}. In that case, do (as \emph{root}) from the
1170 directory where \textbf{stealth} was compiled/unpacked:
1171 \begin{verbatim}
1172
1173 install stealth /usr/local/sbin
1174
1175 \end{verbatim}
1176
1177 options given to \textbf{install}(1) may restrict further use of \textbf{stealth}.
1178
1179 \section{Construct one or more policy files}
1180 \label{running/makepolicy}\typeout{Original Yodl file: running/makepolicy}Here we assume that \textbf{stealth} is run by \emph{root}, and that root wants to
1181 store information about the host \texttt{client} under the subdirectory
1182 \texttt{/root/stealth/client}.
1183
1184 Stealth reports should be sent to the user \texttt{admin@elsewhere}, who is only
1185 interested in a short notice of changes, as the full report can always be read
1186 elsewhere. So, a support-script is developed to further filter the report
1187 generated by \textbf{stealth}.
1188
1189 As the \texttt{sha1sum} program on the client may be hacked, it is a good idea to
1190 transfer the client's \texttt{sha1sum} program to the controller first, in order to
1191 check that program locally, before trusting it to compute the sha1sums of the
1192 client's files. The same holds true for any libraries and support programs
1193 (like \texttt{find}) that are used intensively during integrity scans
1194
1195 Sha1sum checks should be performed on all setuid and setgid files on the
1196 \texttt{client}, and in order to be able reach all files on \texttt{client},
1197 \texttt{root@controller} is allowed to login to the \texttt{root@client} account using a
1198 password-less \texttt{ssh} connection.
1199
1200 Furthermore, sha1sum checks should be performed on all configuration files,
1201 living under \texttt{/etc} and on the file \texttt{/usr/bin/find} which is used
1202 intensively to perform the checks.
1203
1204 The required \texttt{policy} file is constructed as follows, per section:
1205
1206 \subsection{the DEFINE directives}
1207
1208 \begin{verbatim}
1209
1210 DEFINE SSHCMD /usr/bin/ssh root@client -T -q exec /bin/bash --noprofile
1211 DEFINE EXECSHA1 -xdev -perm +u+s,g+s \( -user root -or -group root \) \
1212 -type f -exec /usr/bin/sha1sum {} \;
1213
1214 \end{verbatim}
1215
1216 The first \texttt{DEFINE} defines the \texttt{ssh} command to use: an ssh-connection
1217 will be made to the root account at the client.
1218
1219 The second \texttt{DEFINE} shows the arguments for \textbf{find}(1) when looking for
1220 all root setuid or setgid normal files. For all these files the \textbf{sha1sum}(1)
1221 program should be run.
1222
1223 \subsection{the USE directives}
1224
1225 \begin{verbatim}
1226
1227 USE BASE /root/stealth/client
1228 USE EMAIL admin@elswhere
1229 USE MAILER /root/bin/stealthmail
1230 USE MAILARGS "Client STEALTH report"
1231 USE SSH ${SSHCMD}
1232
1233 \end{verbatim}
1234
1235 \begin{itemize}
1236 \item All output will be written under the \texttt{/root/stealth/client}
1237 directory.
1238 \item Mail will be sent to the user \texttt{admin@elsewhere}.
1239 \item The mail program will be a script (\texttt{stealthmail}), living in
1240 \texttt{/root/bin}.
1241 \item The script handles its own argument. As it can be used for other
1242 stealth-scans as well, it is given an argument which can be used as the
1243 subject when sending mail, identifying the computer that has been scanned.
1244 \item The ssh-command is defined by the \texttt{SSH-DEFINE}.
1245 \item the default values of all remaining \texttt{USE} directives can be used,
1246 and were therefore not specified. They are:
1247 \begin{verbatim}
1248
1249 USE DD /bin/dd
1250 USE DIFF /usr/bin/diff
1251 USE PIDFILE /var/run/stealth-
1252 USE REPORT report
1253 USE SH /bin/sh
1254
1255 \end{verbatim}
1256
1257 \end{itemize}
1258
1259 \subsection{the commands}
1260
1261 First, we'll copy the client's sha1sum program to the controller. In practice,
1262 this should also include the shared object libraries that are used by sha1sum,
1263 as they might have become corrupted as well.
1264
1265 \subsubsection{Obtain the client's sha1sum program}
1266
1267 First, the \texttt{sha1sum} program is copied to a local directory
1268 \begin{verbatim}
1269
1270 GET /usr/bin/sha1sum /root/tmp
1271
1272 \end{verbatim}
1273
1274 This command must succeed.
1275
1276 \subsubsection{Check the integrity of the client's sha1sum program}
1277
1278 Next, we'll check the received \texttt{sha1sum} program, using our own:
1279 \begin{verbatim}
1280
1281 LABEL \nCheck the client's sha1sum program
1282 LOCAL CHECK LOG = local/sha1 /usr/bin/sha1sum /root/tmp/sha1sum
1283
1284 \end{verbatim}
1285
1286 The \texttt{LABEL} command will write the label to the report file just before
1287 the output of the sha1sum program is generated.
1288
1289 The \texttt{LOCAL} command will check the sha1sum of the program copied from the
1290 client. The report is written on the file
1291 \texttt{/root/stealth/client/local/sha1}. If this fails, the program will not
1292 continue, but will alert \texttt{admin@elsewhere} that the check failed. This is of
1293 course rather serious, as it indicates that either the controller's \texttt{sha1sum}
1294 is behaving unexpectedly or that the client's \texttt{sha1sum} program has changed.
1295
1296 The \texttt{sha1sum} program \emph{may} have changed due to a normal upgrade. If
1297 so, \texttt{admin@elsewhere} will know this, and can (probably) ignore the
1298 warning. The next time \textbf{stealth} is run, the (now updated) SHA1 value is
1299 used, and it should again match the obtained \texttt{SHA1} value from the copied
1300 \texttt{sha1sum} program.
1301
1302 \subsubsection{Check the client's /usr/bin/find command}
1303
1304 The client will use it's \texttt{find} command intensively: \texttt{find} is a great
1305 tool for producing files having almost any conceivable combination of
1306 characteristics. Of course, the client's \texttt{find} command itself must be ok,
1307 as well as the client's \texttt{sha1sum} program. Now that we know that the client's
1308 \texttt{sha1sum} program is ok, we can use it to check the client's \texttt{/usr/bin/find}
1309 program.
1310
1311 Note that the controller itself will not suffer any processing load here: only
1312 the client itself is taxed for checking the intergrity of its own files:
1313 \begin{verbatim}
1314
1315 LABEL \nchecking the client's /usr/bin/find program
1316 CHECK LOG = remote/binfind /usr/bin/sha1sum /usr/bin/find
1317
1318 \end{verbatim}
1319
1320
1321 \subsubsection{Check the client's setuid/setgid files}
1322
1323 Having checked the client's \texttt{sha1sum} and \texttt{find} programs, sha1 checksum
1324 checks should be performed on all setuid and setgid files on the
1325 client. For this we activate the \texttt{sha1sum} program on the client. In
1326 order to check the setuid/setgid files, the following command is added to the
1327 policy file:
1328 \begin{verbatim}
1329
1330 LABEL \nsuid/sgid/executable files uid or gid root on the / partition
1331 CHECK LOG = remote/setuidgid /usr/bin/find / ${EXECSHA1}
1332
1333 \end{verbatim}
1334
1335
1336 \subsubsection{Check the configuration files in the client's /etc/ directory}
1337
1338 Finally, the client's configuration files are checked. Some of these files
1339 change so frequently that we don't want them to be checked. E.g.,
1340 \texttt{/etc/adjtime, /etc/mtab}. To check the configuration file, do:
1341 \begin{verbatim}
1342
1343 LABEL \nconfiguration files under /etc
1344 CHECK LOG = remote/etcfiles \
1345 /usr/bin/find /etc -type f -not -perm +6111 \
1346 -not -regex "/etc/\(adjtime\|mtab\)" \
1347 -exec /usr/bin/sha1sum {} \;
1348
1349 \end{verbatim}
1350
1351
1352 \subsection{The complete `policy' file}
1353
1354 Here is the complete policy file that we've constructed so far:
1355
1356 \begin{verbatim}
1357 DEFINE SSHCMD /usr/bin/ssh root@client -T -q exec /bin/bash --noprofile
1358 DEFINE EXECSHA1 -xdev -perm +u+s,g+s \( -user root -or -group root \) \
1359 -type f -exec /usr/bin/sha1sum {} \;
1360
1361 USE BASE /root/stealth/client
1362 USE EMAIL admin@elswhere
1363 USE MAILER /root/bin/stealthmail
1364 USE MAILARGS "Client STEALTH report"
1365 USE SSH ${SSHCMD}
1366
1367 USE DD /bin/dd
1368 USE DIFF /usr/bin/diff
1369 USE PIDFILE /var/run/stealth-
1370 USE REPORT report
1371 USE SH /bin/sh
1372
1373 GET /usr/bin/sha1sum /root/tmp
1374
1375 LABEL \nCheck the client's sha1sum program
1376 LOCAL CHECK LOG = local/sha1 /usr/bin/sha1sum /root/tmp/sha1sum
1377
1378 LABEL \nchecking the client's /usr/bin/find program
1379 CHECK LOG = remote/binfind /usr/bin/sha1sum /usr/bin/find
1380
1381 LABEL \nsuid/sgid/executable files uid or gid root on the / partition
1382 CHECK LOG = remote/setuidgid /usr/bin/find / ${EXECSHA1}
1383
1384 LABEL \nconfiguration files under /etc
1385 CHECK LOG = remote/etcfiles \
1386 /usr/bin/find /etc -type f -not -perm +6111 \
1387 -not -regex "/etc/\(adjtime\|mtab\)" \
1388 -exec /usr/bin/sha1sum {} \;
1389
1390
1391
1392
1393 \end{verbatim}
1394
1395
1396 \section{Running `stealth' for the first time}
1397 \label{running/firstrun}\typeout{Original Yodl file: running/firstrun} When \textbf{stealth} is now run, it will create its initial report files under
1398 \texttt{root/stealth/client}.
1399
1400 The first time \textbf{stealth} is run, it is usually run `by hand':
1401
1402 \begin{verbatim}
1403
1404 stealth policy
1405
1406 \end{verbatim}
1407
1408 this will show all executed commands on the standard output, and will
1409 initialize the reports. Running \textbf{stealth} this way for the just constructed
1410 \texttt{policy} file results in the following output (lines were wrapped to improve
1411 readability):
1412 \begin{verbatim}
1413
1414 GET /usr/bin/sha1sum /root/tmp
1415 LABEL \nCheck the client's sha1sum program
1416 LOCAL CHECK LOG = local/sha1 /usr/bin/sha1sum /root/tmp/sha1sum
1417 LABEL \nchecking the client's /usr/bin/find program
1418 CHECK LOG = remote/binfind /usr/bin/sha1sum /usr/bin/find
1419 LABEL \nsuid/sgid/executable files uid or gid root on the / partition
1420 CHECK LOG = remote/setuidgid /usr/bin/find / -xdev -perm +u+s,g+s
1421 \( -user root -or -group root \) -type f
1422 -exec /usr/bin/sha1sum {} \;
1423 LABEL \nconfiguration files under /etc
1424 CHECK LOG = remote/etcfiles /usr/bin/find /etc
1425 -type f -not -perm +6111 -not -regex "/etc/\(adjtime\|mtab\)"
1426 -exec /usr/bin/sha1sum {} \;
1427 LOCAL /usr/bin/scp -q root@client:/usr/bin/sha1sum /root/tmp
1428 LABEL \nCheck the client's sha1sum program
1429 LOCAL CHECK LOG = local/sha1 /usr/bin/sha1sum /root/tmp/sha1sum
1430 LABEL \nchecking the client's /usr/bin/find program
1431 CHECK LOG = remote/binfind /usr/bin/sha1sum /usr/bin/find
1432 LABEL \nsuid/sgid/executable files uid or gid root on the / partition
1433 CHECK LOG = remote/setuidgid /usr/bin/find / -xdev -perm +u+s,g+s
1434 \( -user root -or -group root \) -type f
1435 -exec /usr/bin/sha1sum {} \;
1436 LABEL \nconfiguration files under /etc
1437 CHECK LOG = remote/etcfiles /usr/bin/find /etc
1438 -type f -not -perm +6111 -not -regex "/etc/\(adjtime\|mtab\)"
1439 -exec /usr/bin/sha1sum {} \;
1440
1441 \end{verbatim}
1442
1443
1444 This all produces the following output:
1445
1446 \subsection{The mailed report}
1447
1448 The \texttt{/root/bin/stealthmail} is called with the following arguments:
1449 \begin{verbatim}
1450
1451 "Client STEALTH report" admin@elswhere
1452
1453 \end{verbatim}
1454
1455
1456 The contents of the mailed report now is (the date will of course change, the
1457 next time \textbf{stealth} is run):
1458 \begin{verbatim}
1459
1460 STEALTH (1.21) started at Mon Nov 24 10:50:30 2003
1461
1462 Check the client's sha1sum program
1463 Initialized report on local/sha1
1464
1465 checking the client's /usr/bin/find program
1466 Initialized report on remote/binfind
1467
1468 suid/sgid/executable files uid or gid root on the / partition
1469 Initialized report on remote/setuidgid
1470
1471 configuration files under /etc
1472 Initialized report on remote/etcfiles
1473
1474 \end{verbatim}
1475
1476
1477 \subsection{Files under /root/stealth/client}
1478
1479 Under \texttt{/root/stealth/client} the following entries are now available:
1480 \begin{itemize}
1481
1482 \item \texttt{local}: below this directory the reports of the locally performed
1483 checks are found. Using our demo \texttt{policy} file, only one logfile is found
1484 here: \texttt{sha1}, containing the client's SHA1 checksum of its \texttt{/usr/bin/sha1sum}
1485 program:
1486 \begin{verbatim}
1487
1488 45251e259bfaf1951658a7b66c328c52 /root/tmp/sha1sum
1489
1490 \end{verbatim}
1491
1492 \item \texttt{remote}: at this directory the reports of the remotely performed
1493 checks are found. Using our demo \texttt{policy} file, three files were created:
1494
1495 The file \texttt{binfind}, containing the checksum of the client's
1496 \texttt{/usr/bin/find} program:
1497 \begin{verbatim}
1498
1499 fc62fc774999584f1e29e0f94279a652 /usr/bin/find
1500
1501 \end{verbatim}
1502
1503
1504 The file \texttt{etcfiles}, containing the checksums of the client's
1505 configuration files under \texttt{/etc} (shown only partially):
1506 \begin{verbatim}
1507
1508 ced739ecb2c43a20053a9f0eb308b2b0 /etc/modutils/aliases
1509 a2322d7e2f95317b2ddf3543eb4c74c0 /etc/modutils/paths
1510 f9e3eac60200d41dd5569eeabb4eddff /etc/modutils/arch/i386
1511 f07da2ebf00c6ed6649bae5501b84c4f /etc/modutils/arch/m68k.amiga
1512 2893201cc7f7556160fa9cd1fb5ba56a /etc/modutils/arch/m68k.atari
1513 ...
1514 bf73b4e76066381cd3caf80369ce1d0e /etc/deluser.conf
1515 4cd70d9aee333307a09caa4ef003501d /etc/adduser.conf.dpkg-save
1516 8c749353c5027d0065359562d4383b8d /etc/gimp/1.2/gtkrc_user
1517 3ec404ec597ef5460600cccf0192f4d6 /etc/gimp/1.2/unitrc
1518 8c740345b891179228e3d1066291167b /etc/gimp/1.2/gtkrc
1519
1520 \end{verbatim}
1521
1522
1523 The file \texttt{setuidgid}, containing the checksums of the client's
1524 setuid/setgid root files (shown only partially):
1525 \begin{verbatim}
1526
1527 030f3f84ec76a8181cca087c4ba655ea /bin/login
1528 b6c0209547d88928f391d2bf88af34aa /bin/ping
1529 5d324ad212b2ff8f767637ac1a8071ec /bin/su
1530 344dbedc398d5114966914419ef53fcc /usr/bin/wall
1531 27b045bd7306001f9ea31bc18712d8b7 /usr/bin/rxvt-xpm
1532 ...
1533 3567b18ffc39c2dc6ec0c0d0fc483f4f /usr/lib/ssh-keysign
1534 3383a7955ac2406311e9aa51c6ac9c2c /usr/X11R6/bin/X
1535 3c99ea0425c6e0278039e16478d2fb57 /usr/X11R6/bin/xterm
1536 d590f7f5b4d6ae61680692a52235d342 /usr/local/bin/setuidcall
1537 4c17203d7d91ec4946dea2f0ae365d5b /sbin/unix_chkpwd
1538
1539 \end{verbatim}
1540
1541
1542 Of course, the checksums and the filenames shown are only for
1543 documentation purposes. At other systems this will show different files and/or
1544 checksums, no doubt.
1545
1546 \item The file \texttt{/root/client/report} \textbf{New lines are always appended to
1547 the \texttt{/root/client/report} file. It will never shorten, unless shorten by
1548 the systems administrator at `controller'}.
1549
1550 This file contains the following:
1551 \begin{verbatim}
1552
1553 STEALTH (1.21) started at Mon Nov 24 10:50:30 2003
1554
1555 Check the client's sha1sum program
1556 Initialized report on local/sha1
1557
1558 checking the client's /usr/bin/find program
1559 Initialized report on remote/binfind
1560
1561 suid/sgid/executable files uid or gid root on the / partition
1562 Initialized report on remote/setuidgid
1563
1564 configuration files under /etc
1565 Initialized report on remote/etcfiles
1566
1567 \end{verbatim}
1568
1569 \end{itemize}
1570
1571 This completes the information created by \textbf{stealth} during its first run.
1572
1573 \section{Running `stealth' again: all files unaltered}
1574 \label{running/newrunsame}\typeout{Original Yodl file: running/newrunsame} When \textbf{stealth} is run again, it will update
1575 its report files under \texttt{root/stealth/client}. If nothing has changed,
1576 the log-files will remain unaltered. The new run will, however, produce some
1577 new info on the file \texttt{/root/client/report}:
1578 \begin{verbatim}
1579
1580 STEALTH (1.21) started at Mon Nov 24 10:50:30 2003
1581
1582 Check the client's sha1sum program
1583 Initialized report on local/sha1
1584
1585 checking the client's /usr/bin/find program
1586 Initialized report on remote/binfind
1587
1588 suid/sgid/executable files uid or gid root on the / partition
1589 Initialized report on remote/setuidgid
1590
1591 configuration files under /etc
1592 Initialized report on remote/etcfiles
1593
1594
1595 STEALTH (1.21) started at Mon Nov 24 10:54:35 2003
1596
1597 \end{verbatim}
1598
1599 Note that just one extra line was added: a timestamp showing the date/time
1600 of the last run. The systems administrator may reduce/remove the report file
1601 every once in a while to reclaim some disk space.
1602
1603 \section{Running `stealth' again: modifications have occurred}
1604 \label{running/newrundelta}\typeout{Original Yodl file: running/newrundelta} Basically, three kinds of modifications are possible: additions,
1605 modifications, and removals. Here we'll show the effect all these changes have
1606 on \textbf{stealth}'s output.
1607
1608 For the example, the following changes were made to the \texttt{client}'s
1609 files:
1610 \begin{itemize}
1611 \item \texttt{/etc/motd} was changed
1612 \item the file \texttt{timezone\textasciitilde } was removed
1613 \item the file \texttt{/etc/motd.org} was created
1614 \end{itemize}
1615
1616 Next, \textbf{stealth} was once again run, producing the following output:
1617 \begin{itemize}
1618 \item
1619 The following new info is now added to file \texttt{/root/client/report}:
1620 \begin{verbatim}
1621
1622 STEALTH (1.21) started at Mon Nov 24 10:54:35 2003
1623
1624 configuration files under /etc
1625 ADDED: /etc/motd.org
1626 < 945d0b8208e9861b8f9f2de155e619f9 /etc/motd.org
1627 MODIFIED: /etc/motd
1628 < 7f96195d5f051375fe7b523d29e379c1 /etc/motd
1629 > 945d0b8208e9861b8f9f2de155e619f9 /etc/motd
1630 REMOVED: /etc/timezone~
1631 > 6322bc8cb3ec53f5eea33201b434b74b /etc/timezone~
1632
1633 \end{verbatim}
1634
1635 Note that all changes were properly detected and logged in the file
1636 \texttt{/root/client/report}.
1637
1638 \item Furthermore, a matching report was sent by \emph{mail}:
1639 \begin{verbatim}
1640
1641 STEALTH (0.90) started at Mon Oct 28 11:28:43 2002
1642
1643
1644 configuration files under /etc
1645 ADDED: /etc/motd.org
1646 < 945d0b8208e9861b8f9f2de155e619f9 /etc/motd.org
1647 MODIFIED: /etc/motd
1648 < 7f96195d5f051375fe7b523d29e379c1 /etc/motd
1649 > 945d0b8208e9861b8f9f2de155e619f9 /etc/motd
1650 REMOVED: /etc/timezone~
1651 > 6322bc8cb3ec53f5eea33201b434b74b /etc/timezone~
1652
1653 \end{verbatim}
1654
1655 Note that the report \emph{only} shows the info that was added to the
1656 \emph{/root/client/report} file.
1657
1658 The report itself could be beautified further. I myself use the following
1659 script to mail the report to the addressee:
1660 \begin{verbatim}
1661
1662 #!/bin/bash
1663
1664 NAME=`basename $0`
1665
1666 tee /root/stealth/lastreport/$NAME | egrep -v '^([[:space:]]|[[:space:]]*$)' |
1667 sort | uniq | mail -s $1 $2
1668
1669 \end{verbatim}
1670
1671 For the \texttt{client} computer, this little script will write the mailed
1672 report on a file \texttt{/root/stealth/lastreport/client}, overwriting its previous
1673 contents, will remove all lines beginning with blanks (thus trimming away the
1674 \texttt{diff}-generated lines), and will mail the \texttt{sort}ed and \texttt{uniq}ed lines
1675 using \texttt{mail}. The addressee (\texttt{admin@elsewhere}) will receive the following
1676 information:
1677 \begin{verbatim}
1678
1679 ADDED: /etc/motd.org
1680 MODIFIED: /etc/motd
1681 REMOVED: /etc/timezone~
1682 STEALTH (0.90) started at Mon Oct 28 11:28:43 2002
1683 configuration files under /etc
1684
1685 \end{verbatim}
1686
1687 In practice this suffices to have me take action if something out of the
1688 ordinary has happened.
1689
1690 \item Finally, the file
1691 \begin{verbatim}
1692
1693 /root/stealth/client/remote/etcfiles
1694
1695 \end{verbatim}
1696
1697 was recreated, saving the old file as
1698 \begin{verbatim}
1699
1700 /root/stealth/client/remote/etcfiles.20021028-112851
1701
1702 \end{verbatim}
1703
1704 As remarked earlier (see section \ref{COMMANDS}), many
1705 \texttt{logfile.YYMMDD-HHMMSS} files could eventually accumulate. As discussed in
1706 section \ref{COMMANDS}, it might be considered to remove old log files every
1707 now and then.
1708 \end{itemize}
1709
1710 \section{Failing LOCAL commands}
1711
1712 If the client's \texttt{sha1sum} program itself is altered, a serious situation
1713 has developed. In that case, further actions by \textbf{stealth} would be suspect,
1714 as their results might easily be currupted. Checks \emph{will} proceed, but a
1715 warning is generated on the \texttt{report} file (and in the mail sent to
1716 \texttt{admin@elsewhere}:
1717 \begin{verbatim}
1718
1719 STEALTH (1.21) started at Mon Nov 24 10:54:35 2003
1720
1721 Check the client's sha1sum program
1722 MODIFIED: /root/tmp/sha1sum
1723 < fc62fc774999584f1e29e0f94279a652 /root/tmp/sha1sum
1724 > 45251e259bfaf1951658a7b66c328c52 /root/tmp/sha1sum
1725
1726 *** BE CAREFUL *** REMAINING RESULTS MAY BE FORGED
1727
1728 configuration files under /etc
1729 REMOVED: /etc/motd.org
1730 > 945d0b8208e9861b8f9f2de155e619f9 /etc/motd.org
1731 MODIFIED: /etc/motd
1732 < 945d0b8208e9861b8f9f2de155e619f9 /etc/motd
1733 > 7f96195d5f051375fe7b523d29e379c1 /etc/motd
1734
1735 \end{verbatim}
1736
1737 (The report shows the removal of the previously added file \texttt{motd.org},
1738 and the modification of \texttt{motd}. These are real, as the original \texttt{motd}
1739 file, modified earlier, was restored at this point).
1740
1741 \section{Automating `stealth' runs using `cron'}
1742 \label{running/cron}\typeout{Original Yodl file: running/cron} In order to automate the execution of \textbf{stealth}, a file
1743 \texttt{/etc/cron.d/stealth} could be created, containing a line like
1744 (assuming \textbf{stealth} lives in \texttt{/usr/sbin}):
1745 \begin{verbatim}
1746
1747 2,17,32,47 * * * * root test -x /usr/sbin/stealth && \
1748 /usr/sbin/stealth -q /root/stealth/client.pol
1749
1750 \end{verbatim}
1751
1752 This will start \textbf{stealth} 2 minutes after every hour. Alternate schemes
1753 are left to the reader to design.
1754
1755 In general, randomizing events makes it harder to notice them.
1756 \textbf{stealth} may start its tasks at a random point in time if its
1757 \texttt{-i} flag (for \emph{random interval}) is used. This flag expects an argument
1758 in seconds (or in minutes, if at least an \texttt{m} is appended to the interval
1759 specification). Somewhere between the time \textbf{stealth} starts and the
1760 specified interval the scan will commence. For example, the following two
1761 commands have identical effects: the scan is started somewhere between the
1762 moment \textbf{stealth} was started and 5 minutes:
1763 \begin{verbatim}
1764
1765 stealth -i 5min -q /root/stealth/client.pol
1766 stealth -i 300 -q /root/stealth/client.pol
1767
1768 \end{verbatim}
1769
1770 When the \texttt{-d} flag is given, the \texttt{-i} flag has no effect.
1771
1772 As another alternative, \textbf{stealth} my be started specifying the
1773 \texttt{--keep-alive pidfile} option. Here, \texttt{pidfile} is the name of a file that
1774 will contain the process id of the stealth process running in the background.
1775 For example:
1776 \begin{verbatim}
1777
1778 stealth --keep-alive /var/run/stealth -i 300 -q /root/stealth/client.pol
1779
1780 \end{verbatim}
1781
1782 Now, \textbf{cron}(1) may be used to restart this process at indicated times:
1783 \begin{verbatim}
1784
1785 2,17,32,47 * * * * root test -x /usr/sbin/stealth && \
1786 /usr/sbin/stealth --rerun /var/run/stealth
1787
1788 \end{verbatim}
1789
1790
1791 As yet another alternative, the cron-job may activate a script performing
1792 \textbf{stealth}'s rerun, starting another \textbf{stealth} run if necessary. The
1793 advantage of such an approach is that \textbf{stealth} is automatically started
1794 after, e.g., a reboot. The following script expects two arguments (both of
1795 which must be absolute paths). The first argument is the path to the
1796 \emph{pidfile} to use, the second argument is the path to the policy file to
1797 use. The script is found in the distribution package as
1798 \texttt{/usr/share/doc/stealth/usr/sbin/stealthcron}:
1799 \begin{verbatim}
1800 #!/bin/bash
1801
1802 PROG=`basename $0`
1803 STEALTH=/usr/sbin/stealth
1804
1805 testAbsolute()
1806 {
1807 echo $1 | grep "^/" > /dev/null 2>&1 && return
1808
1809 echo "\`$1' must be absolute path"
1810 exit 1
1811 }
1812
1813 case $# in
1814 (2)
1815 testAbsolute $1
1816 testAbsolute $2
1817
1818 if [ -x ${STEALTH} ] ; then
1819 ${STEALTH} --rerun $1
1820 [ $? -eq 0 ] || ${STEALTH} --keep-alive $1 -q $2
1821 fi
1822 ;;
1823
1824 (*)
1825 echo "
1826 $PROG by Frank B. Brokken (f.b.brokken@rug.nl)
1827 Usage: $PROG [sleep] pidfile configfile
1828 where:
1829 pidfile: absolute path to pidfile to be used by ${STEALTH}
1830 configfile: absolute path to configuration file to be used by ${STEALTH}
1831
1832 calls $STEALTH} --rerun pidfile.
1833 If that fails, ${STEALTH} --keep-alive pidfile -q configfile is started.
1834 "
1835 exit 1
1836 ;;
1837 esac
1838 \end{verbatim}
1839
1840 The script could be called from \texttt{/etc/cron.d/stealth} using a line like
1841 \begin{verbatim}
1842
1843 22 8 * * * root test -x /usr/sbin/stealthcron && /usr/sbin/stealthcron
1844 /var/run/stealth.target /usr/share/stealth/target.pol
1845
1846 \end{verbatim}
1847
1848 Note that the command should be on a single line. It was spread out here
1849 over two lines to enhance readability.
1850
1851 \section{Report File Rotation}\label{ROTATE}
1852 \label{running/rotate}\typeout{Original Yodl file: running/rotate}When \textbf{stealth} performs integrity scans it will append information to the
1853 report file. This file will therefore eventually grow to a large size, and the
1854 systems manager controlling \textbf{stealth} might want to \emph{rotate} the report
1855 file every once in a while (e.g., using a program like \textbf{logrotate}(1), also
1856 see the upcoming section \ref{LOGROTATE}). In
1857 order to ensure that no log-rotation takes place while \textbf{stealth} is busy
1858 performing integrity scans (thus modifying the report file) the options
1859 \textbf{--suppress} and \texttt{--resume} were implemented. Both options require the
1860 process-ID file of currently active \textbf{stealth} process as their argument.
1861
1862 For example, if a \textbf{stealth} process was once started using the command
1863
1864 \begin{verbatim}
1865
1866 stealth -q --keep-alive /var/run/stealth.small --repeat 900 \
1867 /var/stealth/policies/small.pol
1868
1869 \end{verbatim}
1870
1871 then the \texttt{--suppress} and \texttt{--resume} commands for this process should
1872 be formulated as:
1873 \begin{verbatim}
1874
1875 stealth --suppress /var/run/stealth.small
1876 stealth --resume /var/run/stealth.small
1877
1878 \end{verbatim}
1879
1880 The \textbf{stealth} process identified in the files provided as arguments to
1881 the \texttt{--suppress} and \texttt{--resume} options is called the \emph{targeted stealth
1882 process} below.
1883
1884 The \texttt{--suppress} option has the following effect:
1885 \begin{itemize}
1886 \item If the targeted \textbf{stealth} process is currently processing its
1887 policy file, performing a (new) integrity scan, then the currently executing
1888 policy file command is completed, whereafter further commands are ignored,
1889 except for \texttt{--resume} (see below) and \texttt{--terminate}.
1890 \item Any scheduled integrity scans following the \texttt{--suppress} command
1891 are ignored for the targeted \textbf{stealth} process;
1892 \item The targeted \textbf{stealth} process will write a message that it is
1893 being suppressed to the report file and will then process the report file as
1894 usual;
1895 \item The targeted \textbf{stealth} process relinquishes its control over the
1896 report file;
1897 \item The command `\textbf{stealth} \texttt{--suppress pidfile}' terminates.
1898 \end{itemize}
1899 Now that the report file will no longer be affected by the targeted
1900 \textbf{stealth} process, log-rotation may take place. E.g., a program like
1901 \textbf{logrotate}(1) allows its users to specify a command or script just before
1902 log-rotation takes place, and `\textbf{stealth} \texttt{--suppress pidfile}' could be
1903 specified nicely in such a pre-rotation section.
1904
1905 The \texttt{--resume} option has the following effect:
1906 \begin{itemize}
1907 \item The targeted \textbf{stealth} process resumes its activities by performing
1908 another integrity scan. Thus, \texttt{--resume} implies \texttt{--rerun}.
1909 \item Any scheduled integrity scans following the \texttt{--resume} command are
1910 again honored by the targeted \textbf{stealth} process, following the completion of
1911 the \texttt{--resume} command.
1912 \item The command `\textbf{stealth} \texttt{--resume pidfile}' terminates.
1913 \end{itemize}
1914 Note that, once \texttt{--suppress} has been issued, all commands except
1915 \texttt{--resume} and \texttt{--terminate} are ignored by the targeted \textbf{stealth}
1916 process. While suppressed, the \texttt{--terminate} command is acknowledged as a
1917 `emergency exit' which may or may not interfere with, e.g., an ongoing
1918 log-rotation process. The targeted \textbf{stealth} process should not normally be
1919 terminated while it is in its suppressed mode. The normal way to terminate a
1920 stealth process running in the background is:
1921 \begin{itemize}
1922 \item Wait for the targeted \textbf{stealth} process to complete a series of
1923 integrity scans;
1924 \item Issue the `\textbf{stealth} \texttt{--terminate pidfile}' command.
1925 \end{itemize}
1926
1927 \subsection{Status file cleanup}\label{STATUS}
1928 \label{running/status.yo}\typeout{Original Yodl file: running/status.yo} Whenever \textbf{stealth} is run and it encounters a modified situation the
1929 already existing status file that is used to summarize that particular
1930 situation is saved and a new status file is created. Eventually, this will
1931 result in many status files. While report files can be rotated, it is
1932 pointless to rotate old status files, since they never are modified. Instead
1933 status files exceeding a certain age could be removed and more recent files
1934 might be zipped to conserve space. In \textbf{stealth}'s binary distribution the
1935 file \texttt{/usr/share/doc/stealth/usr/sbin/stealthcleanup} is provided which can
1936 be used to perform this cleanup. The script expects one argument: a resource
1937 file defining the following shell variables:
1938 \begin{itemize}
1939 \item \texttt{directories}: the directories below which the status files are
1940 found;
1941 \item \texttt{gzdays}: the number of days a status file must exist before it is
1942 compressed using \textbf{gzip}(1);
1943 \item \texttt{rmdays}: the maximum age (in days) of compressed status
1944 files. Files exceeding this age are removed using \textbf{rm}(1).
1945 \end{itemize}
1946 Here is the \texttt{stealthcleanup} script as it is found in the binary distribution's
1947 \texttt{/usr/share/doc/stealth/usr/sbin} directory:
1948 \begin{verbatim}
1949 #!/bin/bash
1950
1951 usage()
1952 {
1953 echo "
1954 Usage: $0 rc-file
1955 Where:
1956 rc-file: resource file defining:
1957 \`directories' - one or more directories containing status files
1958 \`gzdays' - number of days status files may exist before they
1959 are compressed
1960 \`rmdays' - number of days gzipped status files may exist
1961 before they are removed.
1962 "
1963 exit 1
1964 }
1965
1966
1967 error()
1968 {
1969 echo "$*" >&2
1970 exit 1
1971 }
1972
1973 [ $# == 1 ] || usage
1974
1975 # now source the configuration file
1976 . $1
1977
1978 for x in $directories
1979 do
1980 cd $x || error "\`$x' must be a directory"
1981
1982 /usr/bin/find ./ -mtime +$rmdays -type f -regex '.*[0-9]+-[0-9]+\.gz' \
1983 -exec /bin/rm {} \;
1984
1985 /usr/bin/find ./ -mtime +$gzdays -type f -regex '.*[0-9]+-[0-9]+' \
1986 -exec /bin/gzip {} \;
1987 done
1988
1989 exit 0
1990
1991
1992
1993
1994 \end{verbatim}
1995
1996 Assuming that the status files are written in
1997 \texttt{/var/stealth/target/local} and \texttt{/var/stealth/target/remote}; that status
1998 file should be compressed when older than 2 days and removed after 30 days,
1999 the resource file is:
2000 \begin{verbatim}
2001 directories="
2002 /var/stealth/target/local
2003 /var/stealth/target/remote
2004 "
2005
2006 rmdays=30
2007 gzdays=3
2008 \end{verbatim}
2009
2010 Furthermore assuming that the resourcefile is installed in
2011 \texttt{/etc/stealth/cleanup.rc} and the \texttt{stealthcleanup} script itself in
2012 \texttt{/usr/sbin/stealthcleanup}, the \texttt{stealthcleanup} script could be called
2013 as follows:
2014 \begin{verbatim}
2015
2016 /usr/sbin/stealthcleanup /etc/stealth/cleanup.rc
2017
2018 \end{verbatim}
2019
2020 Note that \texttt{stealthcleanup} may be called whether or not there are active
2021 \textbf{stealth} processes, as \textbf{stealth} does not use status files anymore once
2022 they have been written.
2023
2024 \subsection{Using `logrotate' to control report- and status files}\label{LOGROTATE}
2025 \label{running/logrotate.yo}\typeout{Original Yodl file: running/logrotate.yo} A program like \textbf{logrotate}(1) allows its users to specify a command or
2026 script immediately following log-rotation, and `\textbf{stealth} \texttt{--resume
2027 pidfile}' could be specified nicely in such a post-rotation section.
2028
2029 Here is an example of a specification that can be used with
2030 \textbf{logrotate}(1). Logrotate (on Debian systems) keeps its configuration files
2031 in \texttt{/etc/logrotate.d}, and assuming there is a host \texttt{target}, whose report
2032 file is \texttt{/var/stealth/target/report}, the required \textbf{logrotate}(1)
2033 specification file (e.g., \texttt{/etc/logrotate.d/target} could be:
2034 \begin{verbatim}
2035 /var/stealth/target/report {
2036 weekly
2037 rotate 12
2038 compress
2039 missingok
2040 prerotate
2041 /usr/sbin/stealth --suppress /var/run/stealth.target
2042 endscript
2043 postrotate
2044 /usr/sbin/stealth --resume /var/run/stealth.target
2045 endscript
2046 }
2047 \end{verbatim}
2048
2049 Using this specification file, \textbf{logrotate}(1) will
2050 \begin{itemize}
2051 \item Perform weekly rotations of the report file;
2052 \item Keep up to 12 rotated files, compressing them using \textbf{gzip}(1);
2053 \item Before rotating the report file, \textbf{stealth}'s actions are
2054 suppressed;
2055 \item Following the rotation, \textbf{stealth}'s actions are resumed
2056 \end{itemize}
2057 Note thet \texttt{stealth --resume xxx} will always start with another file
2058 integrity scan.
2059
2060 \cleardoublepage\chapter{Kick starting `stealth'}
2061 \label{kickstart}\typeout{Original Yodl file: kickstart}
2062 Here are the steps to take to kick-start \textbf{stealth}
2063 \begin{itemize}
2064 \item Install the stealth Debian package \texttt{stealth\_1.47.2\_i386.deb} and
2065 thus accept the provided binary program (skipping the next three steps) or do
2066 not accept the provided binary, and compile \textbf{stealth} yourself, as per the
2067 following steps:
2068 \item Unpack \texttt{stealth\_1.47.2.tar.gz}:
2069 \texttt{tar xzvf tealth\_1.47.2.tar.gz}
2070 \item \texttt{cd stealth}
2071 \item Inspect the values of the variables in the file \texttt{INSTALL.cf} Modify
2072 these values when necessary.
2073 \item Make sure the bobcat library has been installed.
2074 (\texttt{http://bobcat.sourceforge.net})
2075 \item Run `\texttt{./make/program}' to compile \textbf{stealth}. Note: it's \emph{not}
2076 `\texttt{make program}'
2077 \item Run (probably as root) `\texttt{./make/install}' to install. Note: it's
2078 \emph{not} `\texttt{make install}'
2079 \end{itemize}
2080 Following the installation nothing in the \texttt{stealth} directory tree is
2081 required for \textbf{stealth}'s proper functioning, so consider removing it.
2082
2083 Compiling \textbf{stealth} assumes that \texttt{g++} version 3.3 (or higher) is
2084 available. If not: install it first.
2085
2086 Next, do:
2087 \begin{itemize}
2088 \item \texttt{cp stealthmail /usr/local/sbin}
2089 \item \texttt{mkdir /root/stealth}
2090 \item \texttt{cp local.pol /root/stealth}
2091 \end{itemize}
2092
2093 \texttt{ssh} and \texttt{sh} should be available. \texttt{root@localhost} should be able
2094 to login at \texttt{localhost} using \texttt{ssh root@localhost}, using the
2095 \texttt{/bin/bash} or \texttt{/bin/sh} shell. Check (as `root') at least
2096 \begin{verbatim}
2097
2098 ssh root@localhost
2099
2100 \end{verbatim}
2101
2102 as this might ask you for a confirmation that you've got the correct
2103 host.
2104 Now, run
2105 \begin{verbatim}
2106
2107 stealth /root/stealth/localhost.pol
2108
2109 \end{verbatim}
2110
2111 to initialize the stealth-report files for \texttt{localhost}. This will
2112 initialize the report for:
2113 \begin{itemize}
2114 \item all root setuid/setgid executable files on \texttt{localhost},
2115 \item and for all files under \texttt{/etc/} on \texttt{localhost}.
2116 \end{itemize}
2117
2118 The mail-report is written on \texttt{/tmp/stealth-1.47.2.mail}
2119
2120 Now change or add or remove one of these files, and rerun \textbf{stealth}. The
2121 file \texttt{/tmp/stealth-1.47.2.mail} should reflect these changes.
2122
2123 \cleardoublepage\chapter{Usage info}\label{USAGE}
2124 \label{usage}\typeout{Original Yodl file: usage}When \textbf{stealth} is started without arguments, it provides some help about how
2125 to start it. A message like the following is produced:
2126
2127
2128
2129 \begin{verbatim}
2130 stealth by Frank B. Brokken (f.b.brokken@rug.nl)
2131
2132 stealth V1.47.2
2133 SSH-based Trust Enhancement Acquired through a Locally Trusted Host
2134 Copyright (c) GPL 2005-2008
2135
2136 Usage 1:
2137 stealth options policy
2138 Where:
2139 options: (long options between parentheses) select from:
2140 -c: (--parse-config-file) process the config file,
2141 no further action, report the results to std output.
2142 -d: (--debug) write debug messages to std error
2143 -e: (--echo-commands) echo commands to std error when they
2144 are processed (implied by -d)
2145 -i <interval>[m]: (--random-interval) start the scan between now and
2146 a random interval of interval seconds, or minutes if an `m' is
2147 appended to the specified interval.
2148 Requires --repeat and --keep-alive.
2149 -n: (--no-child-processes) no child processes are
2150 executed: child actions are faked to be OK.
2151 -o: (--only-stdout) scan report is written to stdout. No mail is sent.
2152 -q: (--quiet) suppress progress messages to stderr.
2153 -r <nr>: (--run-command) only run command <nr> (natural number).
2154 -v: (--version): display version information (and exit).
2155 --keep-alive pidfile: keep running as a daemon, wake up at interrupts.
2156 --max-size <size>[BKMG]: files retrieved by GET may at most
2157 have <size> bytes (B), Kbytes (K), Mbytes (M), Gbytes (G)
2158 default: 10M, default spec. unit: B
2159 --repeat <seconds>: keep running as a daemon, wake up at
2160 interrupts. or after <seconds> seconds.
2161 Requires --keep-alive.
2162 --usage: provide this help (and exit)
2163 --help: provide this help (and exit)
2164 policy: path to the policyfile
2165
2166 Usage 2:
2167 stealth [--rerun|--resume|--suppress|--terminate] pidfile
2168 Where:
2169 --rerun: restart a stealth integrity scan
2170 --resume: resume stealth following --suppress
2171 --suppress: suppress stealth activities
2172 --terminate: terminate stealth
2173 pidfile: file containing the pid of the stealth process to rerun or
2174 terminate.
2175
2176 \end{verbatim}
2177
2178 Note that with the second type of usage the policy file is not required:
2179 here only the \texttt{pidfile} must be specified.
2180
2181 \cleardoublepage\chapter{Errormessages}
2182 \label{errors}\typeout{Original Yodl file: errors} \texttt{/bin/sh: no output from /usr/bin/diff ...}
2183 \begin{quote}the actual program names appearing here could change due to your
2184 local configuration. The defaults are shown. This indicates that the
2185 \texttt{/usr/bin/diff} program could not be activated on the controller. Check the
2186 correctness of both the shell program (\texttt{/bin/sh}) and the diff program
2187 (\texttt{/usr/bin/diff}): Do they exist? Have their paths been specfied well?
2188 Note that filenames passed to \texttt{diff} might not exist anymore when the
2189 program terminates. This should not be the cause of the error.
2190 \end{quote}
2191
2192 \texttt{Can't chdir to `path'}
2193 \begin{quote}the directory \texttt{path} could not be
2194 created/used. This may be a permission problem. Check the permissions of
2195 \texttt{path} if \texttt{path} does actually exist. The problem may be in a path
2196 component, not necessarily in the last element of the path.
2197 \end{quote}
2198
2199 \texttt{Can't open /dev/null}
2200 \begin{quote}This message may be generated by a
2201 child-process: \texttt{sh}, \texttt{ssh} or \texttt{diff}. It is generated when the child
2202 process could not redirect its standard error messages to the standard error
2203 stream. If it appears then there is probably something incorrect in your
2204 \texttt{/dev/} directory: check the availability of \texttt{/dev/null}, check if you can
2205 copy a file to \texttt{/dev/null}.
2206 \end{quote}
2207
2208 \texttt{Can't open ... to write}
2209 \begin{quote} This message may be generated when the
2210 mentioned log-file could not be written to. Check the permissions of the file,
2211 check if the path to the file exists. The problem may be in a path
2212 component, not necessarily in the last element of the path or in the file
2213 itself.
2214 \end{quote}
2215
2216 \texttt{Can't read ...}
2217 \begin{quote}the mentioned file could not be read. Check if
2218 the file exists, and if you have read permissions for it.
2219 \end{quote}
2220
2221 \texttt{Config line `...' invalid}
2222 \begin{quote}The mentioned line of the specified policy file was
2223 ill-formed. Check the line's contents against the description of the policy
2224 file.
2225 \end{quote}
2226
2227 \texttt{ConfigSorter file processed}
2228 \begin{quote}In this case, the \texttt{-c} option has been given. When \texttt{-c} was
2229 provided, \textbf{stealth} stops after having processed the configuration file.
2230 \end{quote}
2231
2232 \texttt{Corrupt line in policy file: ...}
2233 \begin{quote} The apparently corrupted line
2234 is shown. The line is corrupted if the line could not be split into an initial
2235 word and its remainder. Normally this should not happen. As the line is
2236 mentioned, the message itself should assist you in your repairs.
2237 \end{quote}
2238
2239 \texttt{Inserting command `...' failed.}
2240 \begin{quote}the mentioned command could not
2241 be sent to a child-process (\texttt{sh} or \texttt{ssh}). Check the availability of the
2242 \texttt{ssh} connection to the client. The command itself might also be
2243 unacceptable.
2244 \end{quote}
2245
2246 \texttt{Invalid interval for -i.}
2247 \begin{quote}The -i flag was given an invalid (too large or negative) argument.
2248 \end{quote}
2249
2250 \texttt{Non-zero exit value for `...'}
2251 \begin{quote}A local command (not using the \texttt{CHECK} keyword), returned with a
2252 non-zero exit. This will terminate further processing of the policy
2253 file. Inspect and/or rerun the command `by hand' to find indications about
2254 what went wrong. The report file or the standard error stream may also contain
2255 additional information about the reason of the failure.
2256 \end{quote}
2257
2258 \texttt{Unable to create the logfile `...'}
2259 \begin{quote}the mentioned log file could not be created. Check the permissions of
2260 the file, check if the path to the file exists. The problem may be in a path
2261 component, not necessarily in the last element of the path or in the file
2262 itself.
2263 \end{quote}
2264
2265 \texttt{USE SSH ... entry missing in the configuration file}
2266 \begin{quote}there is no
2267 default for the \texttt{USE SSH} specification in the policy file. The
2268 specification could not be found. Provide a specification like:
2269 \begin{verbatim}
2270 USE SSH ssh -q root@localhost
2271 \end{verbatim}
2272
2273 \end{quote}
2274
2275 \end{document}
+0
-87
documentation/manual/html/stealth.html less more
0 <a name="../../release.yo"></a><html><head>
1 <title><center>Stealth V. 1.47.2</center></title>
2 <link rev="made" href="mailto:f.b.brokken@rug.nl">
3 </head>
4 <body text="#27408B" bgcolor="#FFFAF0">
5 <hr>
6 <h1><center>Stealth V. 1.47.2</center></h1>
7 <h2><center>Frank B. Brokken</center></h2>
8
9 <h2><center>Center for Information Technology, University of Groningen</center></h2><h2><center>2005-2008</center></h2>
10
11 <h1>Table of Contents</h1>
12 <dl>
13 <dt><h2><a href="stealth01.html#l1">Chapter 1: Introduction</a></h2></dt>
14 <dl>
15 <dt><h3><a href="stealth01.html#l2">1.1: What's new in Stealth V.1.47.2</a></h3></dt>
16 <dt><h3><a href="stealth01.html#l3">1.2: Stealth</a></h3></dt>
17 <dl>
18 <dt><a href="stealth01.html#l4">1.2.1: The integrity of the stealth distribution</a></dt>
19 </dl>
20 </dl>
21 <dt><h2><a href="stealth02.html#l5">Chapter 2: Installation</a></h2></dt>
22 <dl>
23 <dt><h3><a href="stealth02.html#l6">2.1: Compiling and installing Stealth</a></h3></dt>
24 </dl>
25 <dt><h2><a href="stealth03.html#l7">Chapter 3: The `policy' file</a></h2></dt>
26 <dl>
27 <dt><h3><a href="stealth03.html#l8">3.1: DEFINE directives</a></h3></dt>
28 <dt><h3><a href="stealth03.html#l9">3.2: USE directives</a></h3></dt>
29 <dt><h3><a href="stealth03.html#l10">3.3: Commands</a></h3></dt>
30 <dl>
31 <dt><a href="stealth03.html#l11">3.3.1: LABEL commands</a></dt>
32 <dt><a href="stealth03.html#l12">3.3.2: LOCAL commands</a></dt>
33 <dt><a href="stealth03.html#l13">3.3.3: REMOTE commands</a></dt>
34 <dt><a href="stealth03.html#l14">3.3.4: Preventing Controller Denial of Service (--max-size)</a></dt>
35 </dl>
36 </dl>
37 <dt><h2><a href="stealth04.html#l15">Chapter 4: Granting access</a></h2></dt>
38 <dl>
39 <dl>
40 <dt><a href="stealth04.html#l16">4.0.1: The controller's user: creating an ssh-key</a></dt>
41 <dt><a href="stealth04.html#l17">4.0.2: The client's account: accepting ssh from the controller's user</a></dt>
42 <dt><a href="stealth04.html#l18">4.0.3: Logging into the account@client account</a></dt>
43 <dt><a href="stealth04.html#l19">4.0.4: Using the proper shell</a></dt>
44 </dl>
45 </dl>
46 <dt><h2><a href="stealth05.html#l20">Chapter 5: Running `stealth'</a></h2></dt>
47 <dl>
48 <dt><h3><a href="stealth05.html#l21">5.1: Installing `stealth'</a></h3></dt>
49 <dt><h3><a href="stealth05.html#l22">5.2: Construct one or more policy files</a></h3></dt>
50 <dl>
51 <dt><a href="stealth05.html#l23">5.2.1: the DEFINE directives</a></dt>
52 <dt><a href="stealth05.html#l24">5.2.2: the USE directives</a></dt>
53 <dt><a href="stealth05.html#l25">5.2.3: the commands</a></dt>
54 <dl>
55 <dt><a href="stealth05.html#l26">5.2.3.1: Obtain the client's sha1sum program</a></dt>
56 <dt><a href="stealth05.html#l27">5.2.3.2: Check the integrity of the client's sha1sum program</a></dt>
57 <dt><a href="stealth05.html#l28">5.2.3.3: Check the client's /usr/bin/find command</a></dt>
58 <dt><a href="stealth05.html#l29">5.2.3.4: Check the client's setuid/setgid files</a></dt>
59 <dt><a href="stealth05.html#l30">5.2.3.5: Check the configuration files in the client's /etc/ directory</a></dt>
60 </dl>
61 <dt><a href="stealth05.html#l31">5.2.4: The complete `policy' file</a></dt>
62 </dl>
63 <dt><h3><a href="stealth05.html#l32">5.3: Running `stealth' for the first time</a></h3></dt>
64 <dl>
65 <dt><a href="stealth05.html#l33">5.3.1: The mailed report</a></dt>
66 <dt><a href="stealth05.html#l34">5.3.2: Files under /root/stealth/client</a></dt>
67 </dl>
68 <dt><h3><a href="stealth05.html#l35">5.4: Running `stealth' again: all files unaltered</a></h3></dt>
69 <dt><h3><a href="stealth05.html#l36">5.5: Running `stealth' again: modifications have occurred</a></h3></dt>
70 <dt><h3><a href="stealth05.html#l37">5.6: Failing LOCAL commands</a></h3></dt>
71 <dt><h3><a href="stealth05.html#l38">5.7: Automating `stealth' runs using `cron'</a></h3></dt>
72 <dt><h3><a href="stealth05.html#l39">5.8: Report File Rotation</a></h3></dt>
73 <dl>
74 <dt><a href="stealth05.html#l40">5.8.1: Status file cleanup</a></dt>
75 <dt><a href="stealth05.html#l41">5.8.2: Using `logrotate' to control report- and status files</a></dt>
76 </dl>
77 </dl>
78 <dt><h2><a href="stealth06.html#l42">Chapter 6: Kick starting `stealth'</a></h2></dt>
79 <dt><h2><a href="stealth07.html#l43">Chapter 7: Usage info</a></h2></dt>
80 <dt><h2><a href="stealth08.html#l44">Chapter 8: Errormessages</a></h2></dt>
81 </dl>
82
83 <p><hr><p>
84 <p>
85 </body>
86 </html>
+0
-180
documentation/manual/html/stealth01.html less more
0 <html>
1 <head>
2 <title> <center>Stealth V. 1.47.2</center> </title>
3 </head>
4 <body text="#27408B" bgcolor="#FFFAF0">
5 <hr>
6 <ul>
7 <li> <a href="stealth.html">Table of Contents</a>
8 <li> <a href="stealth02.html">Next Chapter</a>
9 </ul>
10 <hr>
11 <a name="l1"></a>
12 <h1>Chapter 1: Introduction</h1>
13 <a name="l2"></a>
14 <h2>1.1: What's new in Stealth V.1.47.2</h2>
15 <a name="whatsnew"></a>
16 <p>
17 <ul>
18 <li> Since the MD5 hash is no longer considered to be cryptographically
19 secure, <strong>stealth</strong>(1) should now use an alternative way to compute
20 hash-values. In this manual it is suggested to switch to SHA1 hash
21 computations.
22 <li> The <code>--max-size</code> option was implement to restrict the maximum sizes
23 of files that are downloaded from clients. By default it is 10M.
24 </ul>
25 <p>
26 <a name="l3"></a>
27 <h2>1.2: Stealth</h2>
28 <a name="intro"></a>Welcome to <strong>stealth</strong>. The program <strong>stealth</strong> implements a file integrity
29 scanner. The acronym <strong>stealth</strong> can be expanded to
30 <p>
31 <center>
32 <h2>SSH-based Trust Enforcement Acquired through a Locally Trusted Host.</h2>
33 </center>
34 <p>
35 This expansion contains the following key terms:
36 <p>
37 <ul>
38 <li> <code>SSH-based</code>: The file integrity scan is (usually) performed over an
39 ssh-connection. Usually the computer being scanned (called the <em>client</em>) and
40 the computer initiating the scan (called the <code>controller</code>) are different
41 computers.
42 <li> The client should accept incoming ssh-connections
43 from the initiating computer. The controller doesn't have to (and shouldn't,
44 probably).
45 <li> <code>Trust Enforcement</code>: following the scan, `trust' is enforced in the
46 client, due to the integrity of its files.
47 <li> <code>Locally Trusted Host</code>: the client apparently trusts the controller
48 to use an ssh-connection to perform commands on it. The client therefore
49 <em>locally trusts</em> the controller. Hence, <em>locally trusted host</em>.
50 </ul>
51 <p>
52 <strong>stealth</strong> is based on an idea by <em>Hans Gankema</em> and <em>Kees Visser</em>,
53 both at the Center for Information Technology of the University of Groningen.
54 <p>
55 <strong>stealth</strong>'s main task is to perform file integrity tests. However, the
56 testing will leave no sediments on the tested computer. Therefore, <strong>stealth</strong>
57 has <em>stealthy</em> characteristics. I consider this an important security
58 improving feature of <strong>stealth</strong>.
59 <p>
60 The controller itself only needs two kinds of outgoing services:
61 <strong>ssh</strong>(1) to reach its clients, and some mail transport agent (e.g.,
62 <strong>sendmail</strong>(1)) to forward its outgoing mail to some mail-hub.
63 <p>
64 Here is what happens when <strong>stealth</strong> is run:
65 <ul>
66 <li> First, a <em>policy</em> file is read. This determines actions to be
67 performed, and values of several variables used by <strong>stealth</strong>.
68 <li> If the command-line option <code>--keep-alive</code> or <code>--repeat &lt;seconds&gt;</code>
69 is given, <strong>stealth</strong> will run as a backgrond process, displaying the process
70 ID of the background process. With <code>--repeat &lt;seconds&gt;</code> the scan will be
71 rerun every <code>&lt;seconds&gt;</code> seconds. The number of seconds until the next rerun
72 will be at least 60. However, using the <code>--rerun</code> option a background
73 <strong>stealth</strong> process may always be goated into its next scan. When
74 <code>--keep-alive</code> is specified the scan will be performed just once, whereafter
75 <strong>stealth</strong> will wait until it is reactivated by another run of <strong>stealth</strong>,
76 called using the <code>--rerun &lt;pid&gt;</code> command-line option.
77 <li> Then, the controller opens a command shell on the client using
78 <strong>ssh</strong>(1), and a command shell on the controller itself using <strong>sh</strong>(1).
79 <li> Next, commands defined in the policy file are executed in their order
80 of appearance. Examples are given below. Normally, return values of the
81 programs are tested. Non-zero return values will terminate <strong>stealth</strong>
82 prematurely.
83 <li> In most cases, integrity tests can be controlled by the <strong>find</strong>(1)
84 program, calling programs like <strong>ls</strong>(1), <strong>sha1sum</strong>(1) or its own <code>-printf</code>
85 method to produce file-integrity related statistics. Most of these programs
86 write file names at the end of generated lines. This characteristic is used by
87 an internal routine of <strong>stealth</strong> to detect changes in the generated output,
88 which could indicate some harmful intent, like an installed <em>root-kit</em>.
89 <li> When changes are detected, they are logged on a <em>report file</em>, to
90 which information is always appended. <strong>stealth</strong> never reduces or rewrites
91 the report file. When information is added to the report file the newly
92 written information is emailed to a configurable email address for further
93 (human) processing. Usually this will be the systems manager of the tested
94 client. <strong>stealth</strong> follows the `dark cockpit' approach in that no mail is
95 sent when no changes were detected.
96 </ul>
97 <p>
98 Alternatively, the command-line options <code>--rerun</code> and <code>--terminate</code>
99 may be provided to communicate with a <strong>stealth</strong> process started earlier
100 using either the <code>--keep-alive</code> or <code>--repeat</code> option. In this case,
101 <ul>
102 <li> When started using the <code>--terminate &lt;pid&gt;</code> command-line option, the
103 stealth process running at process-ID <code>&lt;pid&gt;</code> is terminated. Note that no
104 check is performed as to whether the process associated with <code>&lt;pid&gt;</code> is
105 truly a <strong>stealth</strong> process. It is the responsibility of the user to make sure
106 that the process-ID of the intended process is specified.
107 <li> When started using the <code>--rerun &lt;pid&gt;</code> command-line option, the
108 stealth process running at process-ID <code>&lt;pid&gt;</code> will perform another
109 scan. Again, no check is performed as to whether the process associated with
110 <code>&lt;pid&gt;</code> is truly a <strong>stealth</strong> process. It is the responsibility of the user
111 to make sure that the process-ID of the intended process is specified.
112 </ul>
113 <p>
114 The options <code>--suppress</code> and <code>--rerun</code> (see section <a href="stealth05.html#ROTATE">5.8</a>) were
115 implemented to allow safe rotations of <strong>stealth</strong>'s report file.
116 <p>
117 <a name="l4"></a>
118 <h3>1.2.1: The integrity of the stealth distribution</h3>
119 <p>
120 The integrity of the archive <code>stealth-1.47.2.tar.gz</code> can be verified as
121 follows:
122 <ul>
123 <li> At the location where you found this archive, you should also find a
124 file named <code>stealth-1.47.2.dsc</code>. This file contains a PGP signed
125 <strong>sha1sum</strong>(1) signature of the <code>tar.gz</code> archive. The PGP sigature was
126 provided by me using <strong>gpg</strong>(1) (<strong>pgp</strong>(1)).
127 <li> Compute the SHA1 checksum of the <code>stealth-1.47.2.tar.gz</code>
128 archive. Its value should match the SHA1 checksum that is mentioned in the
129 <code>stealth-1.47.2.dsc</code> file. If not, the <code>stealth-1.47.2.tar.gz</code>
130 archive has been compromised, and should <em>not</em> be used.
131 <li> In order to verify the validity of the electronic signature, do as
132 follows:
133 <ul>
134 <li> Obtain my public key from a public PGP keyserver, e.g.
135 <pre>
136
137 http://pgp.surfnet.nl:11371/
138
139 </pre>
140
141 <li> Make sure you have the right key. Its fingerprint is
142 <pre>
143
144 8E36 9FC4 1DAA FCDF 1A0D B19F DAC4 BE50 38C6 6170
145
146 </pre>
147
148 and it has been electronically signed by, e.g., the University of
149 Groningen's PGP-certificate authority. If in doubt, contact me to verify you
150 have the right key.
151 <li> Once you're sufficiently satisfied that you indeed have obtained
152 my public PGP key, verify the validity of the signature used for signing
153 <code>stealth-1.47.2.dsc</code>. With <strong>gpg</strong>(1) this can be done by the command
154 <pre>
155
156 gpg --verify stealth-1.47.2.dsc
157
158 </pre>
159
160 </ul>
161 </ul>
162 This should produce output comparable to:
163 <pre>
164
165 gpg: Signature made Mon Aug 1 10:57:41 2005 CEST using DSA key ID 38C66170
166 gpg: Good signature from "Frank B. Brokken &lt;f.b.brokken@rug.nl&gt;"
167 gpg: aka "Frank B. Brokken &lt;f.b.brokken@rc.rug.nl&gt;"
168
169 </pre>
170
171 <p>
172 <hr>
173 <ul>
174 <li> <a href="stealth.html">Table of Contents</a>
175 <li> <a href="stealth02.html">Next Chapter</a>
176 </ul>
177 <hr>
178 </body>
179 </html>
+0
-80
documentation/manual/html/stealth02.html less more
0 <html>
1 <head>
2 <title> <center>Stealth V. 1.47.2</center> </title>
3 </head>
4 <body text="#27408B" bgcolor="#FFFAF0">
5 <hr>
6 <ul>
7 <li> <a href="stealth.html">Table of Contents</a>
8 <li> <a href="stealth01.html">Previous Chapter</a>
9 <li> <a href="stealth03.html">Next Chapter</a>
10 </ul>
11 <hr>
12 <a name="l5"></a>
13 <h1>Chapter 2: Installation</h1>
14 <a name="install/intro"></a>This chapter describes <strong>stealth</strong>'s compilation and installation.
15 <p>
16 <a name="l6"></a>
17 <h2>2.1: Compiling and installing Stealth</h2>
18 <a name="install/compile"></a>After downloading the <strong>stealth</strong> archive, it should be unpacked. The name of
19 the archive is of the form <code>stealth-1.47.2.tar.gz</code>, where <code>1.47.2</code>
20 is a version number. Below, <code>1.47.2</code> should be altered into the version
21 of the archive that is actually used.
22 <p>
23 <ul>
24 <li> First, determine a directory under which the archive's file should be
25 stored. E.g., if the files in the archive should be stored under <code>/tmp</code>, and
26 the archive itself is stored in <code>/tmp</code> as well, do:
27 <pre>
28
29 cd /tmp
30 tar xzf stealth-1.47.2.tar.gz
31
32 </pre>
33
34 This creates a subdirectory <code>stealth</code> in which the sources are
35 found
36 <li> Next, <code>chdir</code> to that directory:
37 <pre>
38
39 chdir stealth
40
41 </pre>
42
43 <li> Check the contents of the file <code>make/parameters</code>. It should need no
44 modifications. Among other entries, it contains the entry <code>GCC=g++</code>,
45 indicating the compiler to use. The compiler should be the <code>GNU g++</code>
46 compiler version 4.0.2 or above. Also note <code>-lbobcat</code> in the entry
47 <pre>
48
49 LOPTS="-lbobcat -lstealth -L. -s"
50
51 </pre>
52
53 When compiling <strong>stealth</strong>, the
54 <a href="http://bobcat.sourceforge.net/">bobcat</a> library must be available. If you
55 haven't installed <strong>bobcat</strong> yet, download it from
56 <a href="http://sourceforge.net/projects/bobcat/">http://sourceforge.net/projects/bobcat/</a>, and follow its installation
57 instructions. Make sure to install both the run-time (<strong>bobcat_...</strong>)
58 and the development (<strong>bobcat-dev_...</strong>) versions.
59 <li> Execute the command
60 <pre>
61
62 make/program
63
64 </pre>
65
66 This command (note that it is <strong>not</strong> <em>make program</em>!) will create the
67 program <strong>./tmp/bin/stealth</strong>, which may then be installed in, e.g.,
68 <code>/usr/sbin</code>.
69 </ul>
70 <p>
71 <hr>
72 <ul>
73 <li> <a href="stealth.html">Table of Contents</a>
74 <li> <a href="stealth01.html">Previous Chapter</a>
75 <li> <a href="stealth03.html">Next Chapter</a>
76 </ul>
77 <hr>
78 </body>
79 </html>
+0
-792
documentation/manual/html/stealth03.html less more
0 <html>
1 <head>
2 <title> <center>Stealth V. 1.47.2</center> </title>
3 </head>
4 <body text="#27408B" bgcolor="#FFFAF0">
5 <hr>
6 <ul>
7 <li> <a href="stealth.html">Table of Contents</a>
8 <li> <a href="stealth02.html">Previous Chapter</a>
9 <li> <a href="stealth04.html">Next Chapter</a>
10 </ul>
11 <hr>
12 <a name="l7"></a>
13 <h1>Chapter 3: The `policy' file</h1>
14 <a name="policy/intro"></a> <strong>stealth</strong> reads a policy file defining the actions that must be
15 performed. Each policy file is uniquely associated with a host to be
16 tested. There may be multiple policy files for a host, though. In that case,
17 each policy file will define a certain set of checks to be performed.
18 <p>
19 Below, the term <em>controller</em> is used for the computer where <strong>stealth</strong>
20 is started, while the term <em>client</em> is used for the computer that is scanned
21 by <strong>stealth</strong>. The controller and the client could be the same computer, but
22 normally they are different.
23 <p>
24 The policy file consists of three sets of data: <em>define directives</em>
25 (starting with the keyword <strong>DEFINE</strong>), <em>use directives</em> (starting with the
26 keyword <strong>USE</strong>) and <em>commands</em>.
27 <p>
28 Directives are written in capitals, and should appear exactly as written
29 below: letter casing is preserved.
30 <p>
31 Blank lines and information beyond hash-marks (#) are ignored, while lines
32 following lines terminating in backslashes (\ ) will be concatenated (<em>en
33 passant</em> removing the backslashes). Initial white space on lines of the policy
34 file is ignored.
35 <p>
36 <a name="policy/defines"></a><a name="l8"></a>
37 <h2>3.1: DEFINE directives</h2>
38 <p>
39 <code>DEFINE</code> directives can be used to define symbols for longer strings.
40 A <code>DEFINE</code> directive is constructed as follows:
41 <pre>
42
43 DEFINE name that what is defined by `name'
44
45 </pre>
46
47 Here,
48 <ul>
49 <li> the <code>name</code> following <code>DEFINE</code> is the symbol that may be used in
50 <code>USE</code> directives (see below) and <code>commands</code> (see below).
51 <li> <code>DEFINE</code> symbols can be used in other <code>DEFINE</code> symbols. However,
52 it is the responsibility of the author of the policy file to make sure that
53 (indirect) circular definitions are avoided. E.g., after:
54 <pre>
55
56 DEFINE A ${B}
57 DEFINE B ${A}
58 DEFINE C ${C}
59
60 USE MAILARGS ${A} ${B} ${C}
61
62 </pre>
63
64 <code>MAILARGS</code> will be expanded to
65 <pre>
66
67 ${A} ${A} ${C}
68
69 </pre>
70
71 <li> The text following <code>DEFINE name</code> is then inserted literally into
72 the <code>USE</code> directive or <code>command</code>.
73 <p>
74 Example:
75 <pre>
76
77 DEFINE SSH /usr/bin/ssh frankbash@localhost -q
78 DEFINE EXECSHA1 -xdev -perm +111 -type f -exec /usr/bin/sha1sum {} \;
79
80 </pre>
81
82 The symbols defined by <code>DEFINE</code> directives may consist of
83 letters, digits and the underscore character (<code>_</code>).
84 In the definition of the symbol any character can be used. The
85 definition is, however, trimmed of initial or trailing blanks.
86 <p>
87 To insert a definition into a <code>USE</code> directive or <code>command</code> use the
88 <pre>
89
90 ${name}
91
92 </pre>
93
94 form. E.g., <code>${EXECSHA1}</code>. Concrete examples will be given below.
95 </ul>
96 <p>
97 <a name="policy/use"></a><a name="l9"></a>
98 <h2>3.2: USE directives</h2>
99 <p>
100 <code>USE</code> directives provide <strong>stealth</strong> with arguments which
101 may be conditional to a certain installation. The following <strong>USE</strong> directives
102 may be specified:
103 <ul>
104 <li> <strong>USE BASE</strong> <code>basedirectory</code>
105 <p>
106 <strong>BASE</strong> defines the directory from where <strong>stealth</strong> operates. All
107 relative path specifications are interpreted relative to <strong>BASE</strong>. <em>By
108 default</em> this is the directory where <strong>stealth</strong> was started.
109 <p>
110 <strong>BASE</strong> and all other directories that are used below <code>BASE</code>
111 are created by <strong>stealth</strong> if not yet existing.
112 <p>
113 Example:
114 <pre>
115
116 USE BASE /root/client
117
118 </pre>
119
120 All information generated by <strong>stealth</strong> is written in or below the
121 directory <code>/root/client</code>.
122 <p>
123 <li> <strong>USE DD</strong> <code>&lt;dd&gt;</code><br>
124 The <strong>DD</strong> specification uses <code>/bin/dd</code> as default, and defines the
125 location of the <strong>dd</strong>(1) program, both on the server and on the client. The
126 <strong>bin</strong>(1) program is used to copy files between the client and the controller
127 without opening separate ssh-connections. The program specified here is only
128 used by stealth for the <code>PUT</code> and <code>GET</code> commands, described below.
129 <p>
130 Example showing the default:
131 <pre>
132
133 USE DD /bin/dd
134
135 </pre>
136
137 <p>
138 <li> <strong>USE DIFF</strong> <code>path-to-diff</code>
139 <p>
140 The <strong>DIFF</strong> specification uses <code>/usr/bin/diff</code> as default,
141 and defines the location of the <strong>diff</strong>(1) program. The
142 <strong>diff</strong>(1) program is used to compare a formerly created logfile of an
143 integrity check to a newly created logfile.
144 <p>
145 Example showing the default:
146 <pre>
147
148 USE DIFF /usr/bin/diff
149
150 </pre>
151
152 <p>
153 <li> <strong>USE EMAIL</strong> <code>address</code>
154 <p>
155 The <strong>EMAIL</strong> specification defines the email-address to e-mail the
156 client's integrity scan report to. Mail is only sent when information has
157 changed.
158 <p>
159 Example showing the default:
160 <pre>
161
162 USE EMAIL root
163
164 </pre>
165
166 <p>
167 <li> <strong>USE MAILER</strong> <code>mailer</code>
168 <p>
169 The <strong>MAILER</strong> specification defines the program that is used to send
170 the mail to the <strong>EMAIL</strong>-address. By default this is <strong>/usr/bin/mail</strong>(1).
171 The <strong>MAILER</strong> program is called as follows:
172 <pre>
173
174 MAILER MAILARGS EMAIL
175
176 </pre>
177
178 (<code>MAILARGS</code>: see below). The information to be mailed is read from
179 <code>MAILER</code>'s standard input stream.
180 <p>
181 Example showing the default:
182 <pre>
183
184 USE MAILER /usr/bin/mail
185
186 </pre>
187
188 <p>
189 <li> <strong>USE MAILARGS</strong> <code>arguments</code>
190 The <strong>MAILARGS</strong> specification defines the arguments to be
191 to be passed to the <code>MAILER</code> program. By default this is
192 <pre>
193
194 USE MAILARGS -s "STEALTH scan report"
195
196 </pre>
197
198 Note that blanks may be used in the subject specification: use double or
199 single quotes to define elements containing blanks. Use <code>\"</code> to use a double
200 quote in a string that is itself delimited by double quotes, use <code>\'</code> to use
201 a single quote in a string that is itself delimited by single quotes.
202 <p>
203 Subtle note: in a construction like
204 <pre>
205
206 USE MAILARGS " 't was brillig " and 't went well
207
208 </pre>
209
210 the following arguments are passed to <code>MAILER</code>:
211 <ul>
212 <li> <code>" 't was brillig "</code>
213 <li> <code>and</code>
214 <li> <code>'t</code>
215 <li> <code>went</code>
216 <li> <code>well</code>
217 </ul>
218 So, when single- and double-quoted strings overlap, the first string is
219 taken as a string, and the information beyond the first string is thereupon
220 interpreted.
221 <p>
222 <li> <strong>USE REPORT</strong> <code>reportfile</code>
223 <p>
224 <strong>REPORT</strong> defines the name of the reportfile. Information is always
225 appended to this file. For each run of <strong>stealth</strong> a <em>time marker line</em> is
226 written to the report file. Such a marker line looks like this:
227 <pre>
228
229 STEALTH (1.11) started at Mon Jun 16 12:57:26 2003
230
231 </pre>
232
233 Only when (in addition to the marker line)
234 additional information was appended to the report file, the added contents of
235 the report file are mailed to the mail address specified in the <strong>USE EMAIL</strong>
236 specification.
237 <p>
238 Example showing the default:
239 <pre>
240
241 USE REPORT report
242
243 </pre>
244
245 <p>
246 <li> <strong>USE ROTATE</strong> <code>interval: number interval-name</code>[,]
247 [<code>count: number</code>][,]
248 [<code>, zip: number [zip-program-path]</code>]
249 <p>
250 <strong>ROTATE</strong> defines the parameters <strong>stealth</strong> will use to rotate its
251 report file. This <strong>USE</strong> specification supports three elements, the first of
252 which is obligatory when <strong>USE ROTATE</strong> is specified. Note that the square
253 brackets are not used in the specification, and indicate optional elements,
254 which may or may not be specified:
255 <ul>
256 <li> <code>interval: number interval-name</code> defines the time interval
257 until the report file is rotated. Rotation can be specified using an integral,
258 positive number, followed by <code>hour</code> or <code>hours</code> for hours, <code>day</code> or
259 <code>days</code> for days, <code>week</code> or <code>weeks</code> for weeks and <code>month</code> or <code>months</code>
260 for months. By default no rotation takes place. If rotation is requested, the
261 current report file is moved to the file <code>reportfile</code><strong>.1</strong>, while existing
262 numbered reportfiles are moved to higher ordered numbers first (so, before
263 moving the current reportfile to <code>reportfile</code><strong>.1</strong>, an existing
264 <code>reportfile</code><strong>.1</strong> is first moved to <code>reportfile</code><strong>.2</strong>, etc.).
265 <li> <code>count: number</code> defines the number of report files <strong>stealth</strong>
266 will eventually use. By default, if <strong>USE ROTATE</strong> is specified, there is no
267 practical limit to the number of report files <strong>stealth</strong> will create (in
268 these cases, another program supposedly controls the number of report files
269 that will eventually be used). External programs may freely manipulate all
270 report files that have been rotated by <strong>stealth</strong>, but they should not modify
271 the active report file (specified using the <strong>USE REPORT</strong> specification).
272 <li> <code>zip: number zip-program-path</code> defines the first of the rotated
273 files that should be compressed, using <code>zip-program-path</code> to compress the
274 report files. By default, no compression is used, but if <code>zip:</code> is
275 specified, the default program that will be used to compress a report file is
276 <strong>/bin/gzip</strong>. If another program is used, it should expect a filename as its
277 first argument, which will then be zipped to a new file receiving the
278 extension <strong>.gz</strong>, appended to the name that was provided as its first
279 argument. The original file is removed during the zipping-process.
280 <p>
281 Example showing a report interval of one week, using a total of 12 report
282 files, compressing all report files but the actual report file and its
283 predecessor (having filename <code>reportfile</code><strong>.1</strong>):
284 <pre>
285
286 USE ROTATE interval: 1 week, count: 12, zip: 2 /bin/gzip
287
288 </pre>
289
290 </ul>
291 <li> <strong>USE SH</strong> <code>sh-specification</code>
292 <p>
293 The <strong>SH</strong> specification uses <code>/bin/sh</code> as default, and defines the
294 command shell used by the controller to execute local commands.
295 <p>
296 Example showing the default:
297 <p>
298 <pre>
299
300 USE SH /bin/sh
301
302 </pre>
303
304 <p>
305 <li> <strong>USE SSH</strong> <code>ssh-specification</code>
306 <p>
307 <strong>The SSH specification has no default</strong>, and <em>must</em> be
308 specified. Assuming the client <em>trusts</em> the controller (which is, after all,
309 what this program is all about; so this should not be a very strong
310 assumption), preferably the public ssh-identity key of the controller should
311 be placed in the client's root <code>.ssh/authorized_keys</code> file, granting the
312 controller root access to the client. Root access is normally needed to gain
313 access to all directories and files of the client's file system.
314 <p>
315 In practice, connecting to a account using the <strong>sh</strong>(1) shell is
316 preferred. When another shell is already used by that account, one should make
317 sure that that shell doesn't setup its own redirections for standard input and
318 standard output. One way to accomplish that is for force the execution of
319 <code>/bin/sh</code> in the <strong>USE SSH</strong> specification.
320 <p>
321 An example of an <code>SSH</code> specification to scan a localhost is:
322 <pre>
323
324 USE SSH root@localhost -T -q # root's shell is /bin/sh
325
326 </pre>
327
328 <p>
329 The same, now explicitly using <code>/bin/bash</code>:
330 <pre>
331
332 USE SSH root@localhost -T -q exec /bin/bash # root uses another shell
333
334 </pre>
335
336 <p>
337 Alternatively, <code>--profile</code> can be specified to prevent any
338 profile-initialization:
339 <pre>
340
341 USE SSH root@localhost -T -q exec /bin/bash --noprofile
342
343 </pre>
344
345 </ul>
346 Note, however, that using <code>stealth</code> to inspect <code>localhost</code> is <em>not</em>
347 recommended, as it counters one of the main reasons for <code>stealth</code>'s
348 existence.
349 <p>
350 As yet another alternative, applicable only to <code>localhost</code>, <code>ssh</code>
351 could be avoided altogether. In that case <code>/bin/bash</code> or a comparable shell
352 may be specified with <code>USE SSH</code>. For example:
353 <pre>
354
355 # For stealth inspecting localhost:
356 USE SSH /bin/bash --noprofile
357
358 </pre>
359
360 <p>
361 <a name="policy/commands"></a><a name="COMMANDS"></a><a name="l10"></a>
362 <h2>3.3: Commands</h2>
363 <p>
364 Following the <strong>USE</strong> specifications, <em>commands</em> can be specified. The
365 commands are executed in their order of appearance in the policy
366 file. Processing continues until the last command has been processed or until
367 a tested command (see below) returns a non-zero return value.
368 <p>
369 <a name="l11"></a>
370 <h3>3.3.1: LABEL commands</h3>
371 <p>
372 The following <strong>LABEL</strong> commands are available:
373 <ul>
374 <li> <strong>LABEL</strong> <code>text</code>
375 <p>
376 This defines a text-label which is written to the <strong>REPORT</strong> file,
377 just before the output generated by the next <strong>CHECK</strong>-command. If the next
378 <strong>CHECK</strong>-command generates no output, the label is not written to the
379 <strong>REPORT</strong>-file. Once a <strong>LABEL</strong> has been defined, it is used until it is
380 redefined by the next <strong>LABEL</strong> command. Use an empty <strong>LABEL</strong> command to
381 suppress the printing of labels.
382 <p>
383 The text may contain <code>\n</code> characters (two characters) which are
384 transformed to a newline character.
385 <li> <strong>LABEL</strong>
386 <p>
387 As noted, this clears a previously defined <code>LABEL</code> command.
388 </ul>
389 <p>
390 Examples:
391 <pre>
392
393 LABEL Inspecting files in /etc\nIncluding subdirectories
394 LABEL
395
396 </pre>
397
398 The second <strong>LABEL</strong> command clears the first label.
399 <p>
400 <a name="l12"></a>
401 <h3>3.3.2: LOCAL commands</h3>
402 <p>
403 <strong>LOCAL</strong> commands can be used to specify commands that are
404 executed on the controller itself. The following <strong>LOCAL</strong> commands are
405 available:
406 <ul>
407 <li> <strong>LOCAL</strong> <code>command</code>
408 <p>
409 Execute <code>command</code> on the controller, using the <strong>SH</strong> command
410 shell. The command must succeed (i.e., must return a zero exit value).
411 Example:
412 <pre>
413
414 LOCAL mkdir /tmp/client
415
416 </pre>
417
418 This command will create the directory <code>/tmp/client</code> on the controller.
419 <p>
420 <li> <strong>LOCAL NOTEST</strong> <code>command</code>
421 <p>
422 Execute <code>command</code> on the controller, using the <strong>SH</strong> command
423 shell. The command may or may not succeed.
424 Example:
425 <pre>
426
427 LOCAL NOTEST mkdir /tmp/subdir
428
429 </pre>
430
431 This command will create <code>/tmp/subdir</code> on the controller. The command
432 will fail if the directory cannot be created, but this will not terminate
433 <strong>stealth</strong>.
434 <p>
435 <li> <strong>LOCAL CHECK</strong> [<strong>LOG =</strong>] <code>logfile command</code>
436 <p>
437 Execute <code>command</code> on the controller, using the <strong>SH</strong> command shell.
438 The phrase `<strong>LOG =</strong>' is optional.
439 If
440 the command does not succeed a <em>warning</em> message is written to the report
441 file. The warning message informs the reader that `remaining results might be
442 forged:
443 <pre>
444
445 *** BE CAREFUL *** REMAINING RESULTS MAY BE FORGED
446
447 </pre>
448
449 This situation may occur, e.g., if an essential program (like <code>sha1sum</code>)
450 was transferred to the controller, and it was apparently modified since the
451 previous check. Processing continues, but remaining checks performed at the
452 client computer should be interpreted with <em>extreme</em> caution.
453 <p>
454 The output of this command is compared to the output of this command
455 generated during the previous run of <strong>stealth</strong>. Any differences are written
456 to <strong>REPORT</strong>.
457 <p>
458 If differences were found, the existing <code>logfile</code> name is renamed to
459 <code>logfile.YYYYMMDD-HHMMSS</code>, with <code>YYYYMMDD-HHMMSS</code> the datetime-stamp at
460 the time <strong>stealth</strong> was run.
461 <p>
462 Over time, many <code>logfile.YYMMDD-HHMMSS</code> files could be accumulated.
463 It is up to the controller's systems manager to decide what to do
464 with old datetime-stamped logfiles. For instance, the following script
465 will remove all <strong>stealth</strong> reports below the current directory that are
466 older than 30 days:
467 <pre>
468
469 #/bin/sh
470 FILES=`find ./ -path '*[0-9]' -mtime +30 -type f`
471
472 if [ "$FILES" != "" ] ; then
473 rm -f $FILES
474 fi
475
476 </pre>
477
478 <p>
479 The <code>logfile</code> specifications may use relative and absolute paths. When
480 relative paths are used, these paths are relative to <strong>BASE</strong>. When the
481 directories implied by the <code>logfile</code> specifications do not yet exist, they
482 are created first.
483 <p>
484 Example:
485 <pre>
486
487 LOCAL CHECK LOG = local/sha1sum sha1sum /tmp/sha1sum
488
489 </pre>
490
491 This command will check the SHA1 sum of the <code>/tmp/sha1sum</code> program. The
492 resulting output is saved at <strong>BASE</strong><code>/local/sha1sum</code>. The program must
493 succeed (i.e., <code>sha1sum</code> must return a zero exit-value).
494 <p>
495 <li> <strong>LOCAL NOTEST CHECK</strong> [<strong>LOG =</strong>] <code>logfile command</code>
496 <p>
497 Execute <code>command</code> on the controller, using the <strong>SH</strong> command
498 shell. The phrase `<strong>LOG =</strong>' is optional.
499 The command may or may not succeed. Otherwise, the program acts
500 identically as the <strong>LOCAL CHECK ...</strong> command, discussed previously.
501 <p>
502 Example:
503 <pre>
504
505 LOCAL NOTEST CHECK LOG=local/sha1sum sha1sum /tmp/sha1sum
506
507 </pre>
508
509 This command will check the SHA1 sum of the <code>/tmp/sha1sum</code> program. The
510 resulting output is saved at <strong>BASE</strong><code>/local/sha1sum</code>. The program may or may
511 not succeed (i.e., <code>sha1sum</code> may or may not return a zero exit-value).
512 </ul>
513 <p>
514 <a name="l13"></a>
515 <h3>3.3.3: REMOTE commands</h3>
516 <p>
517 Plain commands can be executed on the client computer by merely
518 specifying them. Of course, this means that programs called
519 <code>LABEL</code>, <code>LOCAL</code> <code>USE</code> or <code>DEFINE</code>, cannot be executed, since
520 these names are interpreted otherwise by <strong>stealth</strong>. It's unlikely that this
521 will cause problems. Remote commands must succeed (i.e., their return
522 codes must be 0).
523 <p>
524 Remote commands are commands executed on the client using the <strong>SSH</strong>
525 shell. These commands are executed using the standard <code>PATH</code> set for the
526 <strong>SSH</strong> shell. However, it is advised to specify the full pathname to the
527 programs to be executed, to prevent ``trojan approaches'' where a trojan horse
528 is installed in an `earlier' directory of the <code>PATH</code>-specification than the
529 intended program.
530 <p>
531 Two special remote commands are <code>GET</code> and <code>PUT</code>, which can be used to
532 copy files between the client and the controller. Internally, <code>GET</code> and
533 <code>PUT</code> use the <code>DD</code> use-specification. If a non-default specification is
534 used, one should ensure that the alternate program accepts <strong>dd</strong>(1)'s <code>if=,
535 of=, bs=</code> and <code>count=</code> options. With <code>GET</code> the options <code>bs=, count=</code> and
536 <code>of=</code> are used, with <code>PUT</code> the options <code>bs=, count=</code> and <code>if=</code> are
537 used. Normally there should be no need to alter the default <code>DD</code>
538 specification.
539 <p>
540 The <code>GET</code> command may be used as follows:
541 <ul>
542 <li> <strong>GET</strong> <code>&lt;client-path&gt; &lt;local-path&gt;</code><br>
543 Copy the file indicated by <code>client-path</code> at the client to <code>local-path</code>
544 at the controller. <code>client-path</code> must be the full path of an existing file
545 on the client, <code>local-path</code> may either be a local directory, in which case
546 the client's file name is used, or another file name may be specified, in
547 which case the client's file is copied to the specified local filename. If the
548 local file already exists, it is overwritten by the copy-procedure.
549 <p>
550 Example:<br>
551 <code>GET /usr/bin/sha1sum /tmp</code><br>
552 The program <code>/usr/bin/sha1sum</code>, available at the client, is copied to the
553 controller's <code>/tmp</code> directory. If the copying fails for some reason,
554 any subsequent commands are skipped, and <strong>stealth</strong> terminates.
555 <p>
556 <li> <strong>GET NOTEST</strong> <code>&lt;client-path&gt; &lt;local-path&gt;</code><br>
557 Copy the file indicated by <code>client-path</code> at the client to <code>local-path</code>
558 at the controller. <code>client-path</code> must be the full path of an existing file
559 on the client, <code>local-path</code> may either be a local directory, in which case
560 the client's file name is used, or another file name may be specified, in
561 which case the client's file is copied to the specified local filename. If the
562 local file already exists, it is overwritten by the copy-procedure.
563 <p>
564 Example:<br>
565 <code>GET NOTEST /usr/bin/sha1sum /tmp</code><br>
566 The program <code>/usr/bin/sha1sum</code>, available at the client, is copied to the
567 controller's <code>/tmp</code> directory. Remaining commands in the policy file are
568 executed, even if the copying process wasn't successful.
569 </ul>
570 <p>
571 The <code>PUT</code> command may be used as follows:
572 <ul>
573 <li> <strong>PUT</strong> <code>&lt;local-path&gt; &lt;remote-path&gt;</code><br>
574 Copy the file indicated by <code>local-path</code> at the controller to
575 <code>remote-path</code> at the client. The argument <code>local-path</code> must be the
576 full path of an existing file on the controller. The argument <code>remote-path</code>
577 must be the full path to a file on the client. If the remote file already
578 exists, it is overwritten by <code>PUT</code>.
579 <p>
580 Example:<br>
581 <code>PUT /tmp/sha1sum /usr/bin/sha1sum</code><br>
582 The program <code>/tmp/sha1sum</code>, available at the controller, is copied to the
583 client as <code>usr/bin/sha1sum</code>. If the copying fails for some reason,
584 any subsequent commands are skipped, and <strong>stealth</strong> terminates.
585 <p>
586 <li> <strong>PUT NOTEST</strong> <code>&lt;local-path&gt; &lt;remote-path&gt;</code><br>
587 Copy the file indicated by <code>local-path</code> at the controller to
588 <code>remote-path</code> at the client. The argument <code>local-path</code> must be the
589 full path of an existing file on the controller. The argument <code>remote-path</code>
590 must be the full path to a file on the client. If the remote file already
591 exists, it is overwritten by <code>PUT</code>.
592 <p>
593 Example:<br>
594 <code>PUT NOTEST /tmp/sha1sum /usr/bin/sha1sum</code><br>
595 Copy the file indicated by <code>local-path</code> at the controller to
596 <code>remote-path</code> at the client. The argument <code>local-path</code> must be the full
597 path of an existing file on the controller. The argument <code>remote-path</code> must
598 be the full path to a file on the client. If the remote file already exists,
599 it is overwritten by <code>PUT</code>. Remaining commands in the policy file are
600 executed, even if the copying process wasn't successful.
601 </ul>
602 <p>
603 Other commands to be executed on the client can be specified as follows:
604 <p>
605 <ul>
606 <li> <code>command</code>
607 <p>
608 Execute `<code>command</code>' on the client, using the <strong>SSH</strong> command
609 shell. The command must succeed (i.e., must return a zero exit
610 value). However, any output generated by the command is ignored.
611 Example:
612 <pre>
613
614 /usr/bin/find /tmp -type f -exec /bin/rm {} \;
615
616 </pre>
617
618 This command will remove all ordinary files at and below the client's
619 <code>/tmp</code> directory.
620 <p>
621 <li> <strong>NOTEST</strong> <code>command</code>
622 <p>
623 Execute <code>command</code> on the client, using the <strong>SSH</strong> command
624 shell. The command may or may not succeed.
625 <p>
626 Example:
627 <pre>
628
629 NOTEST /usr/bin/find /tmp -type f -exec /bin/rm {} \;
630
631 </pre>
632
633 Same as the previous command, but this time the exit value of
634 <code>/usr/bin/find</code> is not interpreted.
635 <p>
636 <li> <strong>CHECK</strong> [<strong>LOG =</strong>] <code>logfile command</code>
637 <p>
638 Execute <code>command</code> on the client, using the <strong>SSH</strong> command
639 shell. The phrase `<strong>LOG =</strong>' is optional.
640 The command must succeed. The output of this command is compared to the
641 output of this command generated during the previous run of <strong>stealth</strong>. Any
642 differences are written to <strong>REPORT</strong>. If differences were found, the existing
643 <code>logfile</code> name is renamed to <code>logfile.YYYYMMDD-HHMMSS</code>, with
644 <code>YYYYMMDD-HHMMSS</code> the datetime-stamp at the time <strong>stealth</strong> was run.
645 <p>
646 Note that the command is executed on the client, but the logfile is kept
647 on the controller. This command represents the core of the method implemented
648 by <strong>stealth</strong>: there will be no residues of the actions performed by
649 <strong>stealth</strong> on the client computers.
650 <p>
651 Several examples (note the use of the backslash as line continuation
652 characters):
653
654 <pre>
655
656 CHECK LOG = remote/ls.root /usr/bin/find / \
657 -xdev -perm +6111 -type f -exec /bin/ls -l {} \;
658
659 </pre>
660
661 All suid/gid/executable files on the same device as the root-directory (/)
662 on the client computer are listed with their permissions, owner and size
663 information. The resulting listing is written on the file
664 <strong>BASE</strong><code>/remote/ls.root</code>.
665 <p>
666 This long command could be formulated shorter using a <code>DEFINE</code>:
667 <pre>
668
669 DEFINE LSFIND -xdev -perm +6111 -type f -exec /bin/ls -l {} \;
670 CHECK remote/ls.root /usr/bin/find / ${LSFIND}
671
672 </pre>
673
674 <p>
675 Another example:
676 <pre>
677
678 DEFINE SHA1SUM -xdev -perm +6111 -type f -exec /usr/bin/sha1sum {} \;
679 CHECK remote/sha1.root /usr/bin/find / ${SHA1SUM}
680
681 </pre>
682
683 The SHA1 checksums of all suid/gid/executable files on the same device as
684 the root-directory (/) on the client computer are determined. The resulting
685 listing is written on the file <strong>BASE</strong><code>/remote/sha1.root</code>.
686 <p>
687 <li> <strong>NOTEST CHECK</strong> [<strong>LOG =</strong>] <code>logfile command</code>
688 <p>
689 Execute <code>command</code> on the client, using the <strong>SSH</strong> command
690 shell. The phrase `<strong>LOG =</strong>' is optional.
691 The command may or may not succeed. Otherwise, the program acts
692 identically as the <strong>CHECK ...</strong> command, discussed previously.
693 Example (using the same <code>${SHA1SUM}</code>)definition:
694 <pre>
695
696 NOTEST CHECK LOG = remote/sha1.root /usr/bin/find / ${SHA1SUM}
697
698 </pre>
699
700 The SHA1 checksums of all suid/gid/executable files on the same device as
701 the root-directory (/) on the client computer are determined. The resulting
702 listing is written on the file <strong>BASE</strong><code>/remote/sha1.root</code>. <strong>stealth</strong> will
703 not terminate if the <code>/usr/bin/find</code> program returns a non-zero exit value.
704 </ul>
705 <p>
706 <a name="l14"></a>
707 <h3>3.3.4: Preventing Controller Denial of Service (--max-size)</h3>
708 <p>
709 Either by malicious intent or by accendent (as happened to me) the controller
710 may be a victim of a Denial of Service (DOS) attack. This DOS attack may
711 happen when the client (apparently) sends a never ending stream of bytes in
712 response to a <code>GET</code> or <code>REMOTE</code> command. One of my controllers once fell
713 victim to this attack when a client's power went down and the controller kept
714 on trying to read bytes from that client filling up the controllers disk....
715 <p>
716 This problem was of course caused by a programming error: while reading
717 information from a client <strong>stealth</strong> failed to check whether the reading
718 had actually succeeded. This bug has now been fixed, but an intentional
719 DOS attack could still be staged along this line by a hacker who manages to
720 replace, e.g., the <strong>find</strong>(1) command by a manipulated version which would
721 continue to write information to its standard output stream. Without further
722 precaution <strong>stealth</strong> would receive a never ending stream of bytes as its
723 `report' thus causing its disk to fill.
724 <p>
725 To prevent this from happening <strong>stealth</strong> now offers the <code>--max-size</code>
726 command line option allowing the specification of the maximum size of a stream
727 of bytes received by <strong>stealth</strong> (e.g., a report or downloaded file). The
728 maximum is used for each individual download and can be specified in bytes
729 (using no suffix or the <code>B</code> suffix), kilo-bytes (using <code>K</code>), mega-bytes
730 (using <code>M</code>) or giga-bytes (using <code>G</code>). The default is set at 10M,
731 equivalent to the command line specification of <code>--max-size 10M</code>.
732 <p>
733 If a file or report received from the client exceeds its maximum allowed size
734 then <strong>stealth</strong> terminates after writing the following message to the report
735 file (which is sent to the configured mail address):
736 <pre>
737
738 STEALTH - CAN'T CONTINUE: `&lt;name of offending file&gt;' EXCEEDS MAX.
739 DOWNLOAD SIZE (&lt;size shown&gt;)
740 STEALTH - THIS COULD SIGNAL A SERIOUS PROBLEM WITH THE CLIENT
741 STEALTH - ONE OR MORE LOG FILES MAY BE INVALID AS A RESULT
742 STEALTH - *** INVESTIGATE ***
743
744 </pre>
745
746 Since a <code>--max-size</code> specification may cause <strong>stealth</strong> to terminate
747 while receiving the output of a (remotely run) command, an empty or partial
748 log file will be the result. Of course this partial result is spurious as it
749 is a direct result of <strong>stealth</strong> terminating due to a size violation.
750 <p>
751 After investigating (and removing) the reasons for the size violation a
752 new <strong>stealth</strong> run using the previous log file as the latest baseline should
753 show only expected changes.
754 <p>
755 For example, assume the following situation represents a (valid) state of
756 logfiles:
757 <pre>
758
759 etc stealth
760 setuid stealth.20080316-105756
761
762 </pre>
763
764 Now <strong>stealth</strong> is run with <code>--max-size 20</code>, prematurely
765 terminating <strong>stealth</strong>. This results in the following set of logfiles:
766 <pre>
767
768 etc stealth
769 setuid stealth.20080316-105756
770 stealth.20080316-110215
771
772 </pre>
773
774 The file <code>stealth</code> now contains incomplete data with the (latest) file
775 <code>stealth.20080316-110215</code> containing its previous contents.
776 <p>
777 Now the reasons for the size-violation should be investigated and
778 removed. It is suggested to move the file last saved
779 (<code>stealth.20080316-110215</code>) to the file <code>stealth</code>, as it represents the
780 state before the size violation was encountered. Following this <strong>stealth</strong>
781 should operate normally again.
782 <p>
783 <hr>
784 <ul>
785 <li> <a href="stealth.html">Table of Contents</a>
786 <li> <a href="stealth02.html">Previous Chapter</a>
787 <li> <a href="stealth04.html">Next Chapter</a>
788 </ul>
789 <hr>
790 </body>
791 </html>
+0
-167
documentation/manual/html/stealth04.html less more
0 <html>
1 <head>
2 <title> <center>Stealth V. 1.47.2</center> </title>
3 </head>
4 <body text="#27408B" bgcolor="#FFFAF0">
5 <hr>
6 <ul>
7 <li> <a href="stealth.html">Table of Contents</a>
8 <li> <a href="stealth03.html">Previous Chapter</a>
9 <li> <a href="stealth05.html">Next Chapter</a>
10 </ul>
11 <hr>
12 <a name="l15"></a>
13 <h1>Chapter 4: Granting access</h1>
14 <a name="policy/access"></a>Access is granted via the <code>ssh</code> protocol.
15 <p>
16 The client must allow the controller to connect using <code>ssh</code>. Since normally
17 no username and password can be given, the client must allow the controller to
18 connect without specifying a password.
19 <p>
20 This is realized using <em>public key</em> technology, assuming <code>open-SSH</code> is
21 available on both computers, with the client running an <code>sshd</code> daemon.
22 <p>
23 <a name="l16"></a>
24 <h3>4.0.1: The controller's user: creating an ssh-key</h3>
25 <p>
26 The user on the controller who will call <strong>stealth</strong> to scan the client,
27 now generates an <code>ssh-keypair</code>:
28 <pre>
29
30 ssh-keygen -t rsh
31
32 </pre>
33
34 This will generate a public/private ssh key pair in <code>.ssh</code> in the user's
35 home directory. The program asks for a <em>passphrase</em> which should, for the
36 purpose of <strong>stealth</strong> be <strong>empty</strong>: just pressing <code>Enter</code> as a response to
37 the question
38 <pre>
39
40 Enter passphrase (empty for no passphrase):
41
42 </pre>
43
44 will do the trick (a confirmation is requested: press <code>Enter</code> again).
45 The program returns a key fingerprint, e.g.,
46 <pre>
47
48 03:96:49:63:8a:64:33:45:79:ab:ca:de:c8:c8:4f:e9 user@controller
49
50 </pre>
51
52 which may be saved and used for future reference.
53 <p>
54 In the directory user's <code>.ssh</code> directory the files <code>id_rsa</code> and
55 <code>id_rsa.pub</code> are now created.
56 <p>
57 This completes the actions on the controller.
58 <p>
59 <a name="l17"></a>
60 <h3>4.0.2: The client's account: accepting ssh from the controller's user</h3>
61 <p>
62 Next, the account on the client where the <code>ssh</code> command connects to
63 (using a specification in the policy file like
64 <pre>
65
66 USE SSH /usr/bin/ssh -q account@client
67
68 </pre>
69
70 must now grant access to the controller's user. In order to do so, the file
71 <code>id_rsa.pub</code> of the user at the controller is added to the file
72 <code>authorized_keys</code> in the <code>.ssh</code> directory of the account on the client:
73 <pre>
74
75 # transfer user@controller's file id_rsa.pub to the client's /tmp
76 # directory. Then do:
77
78 cat /tmp/id_rsa.pub &gt;&gt; /home/account/.ssh/authorized_keys
79
80 </pre>
81
82 <p>
83 Now user@controller may login at acount@client without specifying a
84 password.
85 <p>
86 <a name="l18"></a>
87 <h3>4.0.3: Logging into the account@client account</h3>
88 <p>
89 When user@controller now issues the command
90 <pre>
91
92 ssh account@controller
93
94 </pre>
95
96 <code>Ssh</code> responds as follows:
97 <pre>
98
99 The authenticity of host 'controller (xxx.yyy.aaa.bbb)' can't be
100 established.
101 RSA key fingerprint is c4:52:d6:a3:d4:65:0d:5e:2e:66:d8:ab:de:ad:12:be.
102 Are you sure you want to continue connecting (yes/no)?
103
104 </pre>
105
106 Answering <code>yes</code> results in the message:
107 <pre>
108
109 Warning: Permanently added 'controller,xxx.yyy.aaa.bbb' (RSA) to the
110 list of known hosts.
111
112 </pre>
113
114 <p>
115 The next time a login is attempted, the authenticity question isn't asked
116 anyore. However, the proper value of the host's RSA key fingerprint (i.e., the
117 key fingerprint of the <em>client</em> computer) should
118 <em>always</em> be verified to prevent <em>man in the middle</em> attacks. The proper
119 value may be obtained at the client computer by issuing the command
120 <pre>
121
122 ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub
123
124 </pre>
125
126 This should result in the same value as the fingerprint shown when the
127 first <code>ssh</code> connection was made. E.g.,
128 <pre>
129
130 1024 c4:52:d6:a3:d4:65:0d:5e:2e:66:d8:ab:de:ad:12:be ssh_host_rsa_key.pub
131
132 </pre>
133
134 <p>
135 <a name="l19"></a>
136 <h3>4.0.4: Using the proper shell</h3>
137 <p>
138 On order to minimize the amount of clutter and possible complications when
139 only a simple command-shell is required for executing commands, it is
140 suggested to use a <code>bash</code> or <code>sh</code> shell when logging into the
141 <code>account@client</code>'s account.
142 <p>
143 When another shell is already used for <code>account@client</code>, then an extra
144 account (optionally using the same <code>UID</code> as the original account, but
145 using <strong>sh</strong>(1) as the shell), could be used.
146 <p>
147 In the <strong>passwd</strong>(5) file this could be realized for <em>root</em> as
148 <em>rootsh</em> as follows:<br>
149 <pre>
150
151 rootsh:x:0:0:root:/root:/bin/sh
152
153 </pre>
154
155 If shadow passwording is used, an appropriate entry in the <code>/etc/shadow</code>
156 file is required as well.
157 <p>
158 <hr>
159 <ul>
160 <li> <a href="stealth.html">Table of Contents</a>
161 <li> <a href="stealth03.html">Previous Chapter</a>
162 <li> <a href="stealth05.html">Next Chapter</a>
163 </ul>
164 <hr>
165 </body>
166 </html>
+0
-952
documentation/manual/html/stealth05.html less more
0 <html>
1 <head>
2 <title> <center>Stealth V. 1.47.2</center> </title>
3 </head>
4 <body text="#27408B" bgcolor="#FFFAF0">
5 <hr>
6 <ul>
7 <li> <a href="stealth.html">Table of Contents</a>
8 <li> <a href="stealth04.html">Previous Chapter</a>
9 <li> <a href="stealth06.html">Next Chapter</a>
10 </ul>
11 <hr>
12 <a name="l20"></a>
13 <h1>Chapter 5: Running `stealth'</h1>
14 <a name="running/intro"></a>Now that <strong>stealth</strong> has been compiled, the construction of a policy file has
15 been covered, and a service-account on the client has been defined, what must
16 be done to run <strong>stealth</strong> in practice?
17 <p>
18 Here's what remains to be done:
19 <ul>
20 <li> Install <strong>stealth</strong> at a proper location
21 <li> Construct one or more policy files
22 <li> Learn to interpret <strong>stealth</strong>'s output.
23 <li> Optionally, automate the removal of old log-files.
24 <li> Determine a schedule for running stealth automatically, e.g. using
25 <strong>cron</strong>(1)
26 </ul>
27 In this chapter, these topics will be discussed.
28 <p>
29 <a name="l21"></a>
30 <h2>5.1: Installing `stealth'</h2>
31 <a name="running/installing"></a>As <strong>stealth</strong> is mainly a system administrator's tool, it could be
32 installed in <code>/usr/local/sbin</code>. In that case, do (as <em>root</em>) from the
33 directory where <strong>stealth</strong> was compiled/unpacked:
34 <pre>
35
36 install stealth /usr/local/sbin
37
38 </pre>
39
40 options given to <strong>install</strong>(1) may restrict further use of <strong>stealth</strong>.
41 <p>
42 <a name="l22"></a>
43 <h2>5.2: Construct one or more policy files</h2>
44 <a name="running/makepolicy"></a>Here we assume that <strong>stealth</strong> is run by <em>root</em>, and that root wants to
45 store information about the host <code>client</code> under the subdirectory
46 <code>/root/stealth/client</code>.
47 <p>
48 Stealth reports should be sent to the user <code>admin@elsewhere</code>, who is only
49 interested in a short notice of changes, as the full report can always be read
50 elsewhere. So, a support-script is developed to further filter the report
51 generated by <strong>stealth</strong>.
52 <p>
53 As the <code>sha1sum</code> program on the client may be hacked, it is a good idea to
54 transfer the client's <code>sha1sum</code> program to the controller first, in order to
55 check that program locally, before trusting it to compute the sha1sums of the
56 client's files. The same holds true for any libraries and support programs
57 (like <code>find</code>) that are used intensively during integrity scans
58 <p>
59 Sha1sum checks should be performed on all setuid and setgid files on the
60 <code>client</code>, and in order to be able reach all files on <code>client</code>,
61 <code>root@controller</code> is allowed to login to the <code>root@client</code> account using a
62 password-less <code>ssh</code> connection.
63 <p>
64 Furthermore, sha1sum checks should be performed on all configuration files,
65 living under <code>/etc</code> and on the file <code>/usr/bin/find</code> which is used
66 intensively to perform the checks.
67 <p>
68 The required <code>policy</code> file is constructed as follows, per section:
69 <p>
70 <a name="l23"></a>
71 <h3>5.2.1: the DEFINE directives</h3>
72 <p>
73 <pre>
74
75 DEFINE SSHCMD /usr/bin/ssh root@client -T -q exec /bin/bash --noprofile
76 DEFINE EXECSHA1 -xdev -perm +u+s,g+s \( -user root -or -group root \) \
77 -type f -exec /usr/bin/sha1sum {} \;
78
79 </pre>
80
81 The first <code>DEFINE</code> defines the <code>ssh</code> command to use: an ssh-connection
82 will be made to the root account at the client.
83 <p>
84 The second <code>DEFINE</code> shows the arguments for <strong>find</strong>(1) when looking for
85 all root setuid or setgid normal files. For all these files the <strong>sha1sum</strong>(1)
86 program should be run.
87 <p>
88 <a name="l24"></a>
89 <h3>5.2.2: the USE directives</h3>
90 <p>
91 <pre>
92
93 USE BASE /root/stealth/client
94 USE EMAIL admin@elswhere
95 USE MAILER /root/bin/stealthmail
96 USE MAILARGS "Client STEALTH report"
97 USE SSH ${SSHCMD}
98
99 </pre>
100
101 <ul>
102 <li> All output will be written under the <code>/root/stealth/client</code>
103 directory.
104 <li> Mail will be sent to the user <code>admin@elsewhere</code>.
105 <li> The mail program will be a script (<code>stealthmail</code>), living in
106 <code>/root/bin</code>.
107 <li> The script handles its own argument. As it can be used for other
108 stealth-scans as well, it is given an argument which can be used as the
109 subject when sending mail, identifying the computer that has been scanned.
110 <li> The ssh-command is defined by the <code>SSH-DEFINE</code>.
111 <li> the default values of all remaining <code>USE</code> directives can be used,
112 and were therefore not specified. They are:
113 <pre>
114
115 USE DD /bin/dd
116 USE DIFF /usr/bin/diff
117 USE PIDFILE /var/run/stealth-
118 USE REPORT report
119 USE SH /bin/sh
120
121 </pre>
122
123 </ul>
124 <p>
125 <a name="l25"></a>
126 <h3>5.2.3: the commands</h3>
127 <p>
128 First, we'll copy the client's sha1sum program to the controller. In practice,
129 this should also include the shared object libraries that are used by sha1sum,
130 as they might have become corrupted as well.
131 <p>
132 <a name="l26"></a>
133 <h4>5.2.3.1: Obtain the client's sha1sum program</h4>
134 <p>
135 First, the <code>sha1sum</code> program is copied to a local directory
136 <pre>
137
138 GET /usr/bin/sha1sum /root/tmp
139
140 </pre>
141
142 This command must succeed.
143 <p>
144 <a name="l27"></a>
145 <h4>5.2.3.2: Check the integrity of the client's sha1sum program</h4>
146 <p>
147 Next, we'll check the received <code>sha1sum</code> program, using our own:
148 <pre>
149
150 LABEL \nCheck the client's sha1sum program
151 LOCAL CHECK LOG = local/sha1 /usr/bin/sha1sum /root/tmp/sha1sum
152
153 </pre>
154
155 The <code>LABEL</code> command will write the label to the report file just before
156 the output of the sha1sum program is generated.
157 <p>
158 The <code>LOCAL</code> command will check the sha1sum of the program copied from the
159 client. The report is written on the file
160 <code>/root/stealth/client/local/sha1</code>. If this fails, the program will not
161 continue, but will alert <code>admin@elsewhere</code> that the check failed. This is of
162 course rather serious, as it indicates that either the controller's <code>sha1sum</code>
163 is behaving unexpectedly or that the client's <code>sha1sum</code> program has changed.
164 <p>
165 The <code>sha1sum</code> program <em>may</em> have changed due to a normal upgrade. If
166 so, <code>admin@elsewhere</code> will know this, and can (probably) ignore the
167 warning. The next time <strong>stealth</strong> is run, the (now updated) SHA1 value is
168 used, and it should again match the obtained <code>SHA1</code> value from the copied
169 <code>sha1sum</code> program.
170 <p>
171 <a name="l28"></a>
172 <h4>5.2.3.3: Check the client's /usr/bin/find command</h4>
173 <p>
174 The client will use it's <code>find</code> command intensively: <code>find</code> is a great
175 tool for producing files having almost any conceivable combination of
176 characteristics. Of course, the client's <code>find</code> command itself must be ok,
177 as well as the client's <code>sha1sum</code> program. Now that we know that the client's
178 <code>sha1sum</code> program is ok, we can use it to check the client's <code>/usr/bin/find</code>
179 program.
180 <p>
181 Note that the controller itself will not suffer any processing load here: only
182 the client itself is taxed for checking the intergrity of its own files:
183 <pre>
184
185 LABEL \nchecking the client's /usr/bin/find program
186 CHECK LOG = remote/binfind /usr/bin/sha1sum /usr/bin/find
187
188 </pre>
189
190 <p>
191 <a name="l29"></a>
192 <h4>5.2.3.4: Check the client's setuid/setgid files</h4>
193 <p>
194 Having checked the client's <code>sha1sum</code> and <code>find</code> programs, sha1 checksum
195 checks should be performed on all setuid and setgid files on the
196 client. For this we activate the <code>sha1sum</code> program on the client. In
197 order to check the setuid/setgid files, the following command is added to the
198 policy file:
199 <pre>
200
201 LABEL \nsuid/sgid/executable files uid or gid root on the / partition
202 CHECK LOG = remote/setuidgid /usr/bin/find / ${EXECSHA1}
203
204 </pre>
205
206 <p>
207 <a name="l30"></a>
208 <h4>5.2.3.5: Check the configuration files in the client's /etc/ directory</h4>
209 <p>
210 Finally, the client's configuration files are checked. Some of these files
211 change so frequently that we don't want them to be checked. E.g.,
212 <code>/etc/adjtime, /etc/mtab</code>. To check the configuration file, do:
213 <pre>
214
215 LABEL \nconfiguration files under /etc
216 CHECK LOG = remote/etcfiles \
217 /usr/bin/find /etc -type f -not -perm +6111 \
218 -not -regex "/etc/\(adjtime\|mtab\)" \
219 -exec /usr/bin/sha1sum {} \;
220
221 </pre>
222
223 <p>
224 <a name="l31"></a>
225 <h3>5.2.4: The complete `policy' file</h3>
226 <p>
227 Here is the complete policy file that we've constructed so far:
228 <p>
229 <pre>
230 DEFINE SSHCMD /usr/bin/ssh root@client -T -q exec /bin/bash --noprofile
231 DEFINE EXECSHA1 -xdev -perm +u+s,g+s \( -user root -or -group root \) \
232 -type f -exec /usr/bin/sha1sum {} \;
233
234 USE BASE /root/stealth/client
235 USE EMAIL admin@elswhere
236 USE MAILER /root/bin/stealthmail
237 USE MAILARGS "Client STEALTH report"
238 USE SSH ${SSHCMD}
239
240 USE DD /bin/dd
241 USE DIFF /usr/bin/diff
242 USE PIDFILE /var/run/stealth-
243 USE REPORT report
244 USE SH /bin/sh
245
246 GET /usr/bin/sha1sum /root/tmp
247
248 LABEL \nCheck the client's sha1sum program
249 LOCAL CHECK LOG = local/sha1 /usr/bin/sha1sum /root/tmp/sha1sum
250
251 LABEL \nchecking the client's /usr/bin/find program
252 CHECK LOG = remote/binfind /usr/bin/sha1sum /usr/bin/find
253
254 LABEL \nsuid/sgid/executable files uid or gid root on the / partition
255 CHECK LOG = remote/setuidgid /usr/bin/find / ${EXECSHA1}
256
257 LABEL \nconfiguration files under /etc
258 CHECK LOG = remote/etcfiles \
259 /usr/bin/find /etc -type f -not -perm +6111 \
260 -not -regex "/etc/\(adjtime\|mtab\)" \
261 -exec /usr/bin/sha1sum {} \;
262
263
264
265
266 </pre>
267
268 <p>
269 <a name="l32"></a>
270 <h2>5.3: Running `stealth' for the first time</h2>
271 <a name="running/firstrun"></a> When <strong>stealth</strong> is now run, it will create its initial report files under
272 <code>root/stealth/client</code>.
273 <p>
274 The first time <strong>stealth</strong> is run, it is usually run `by hand':
275 <p>
276 <pre>
277
278 stealth policy
279
280 </pre>
281
282 this will show all executed commands on the standard output, and will
283 initialize the reports. Running <strong>stealth</strong> this way for the just constructed
284 <code>policy</code> file results in the following output (lines were wrapped to improve
285 readability):
286 <pre>
287
288 GET /usr/bin/sha1sum /root/tmp
289 LABEL \nCheck the client's sha1sum program
290 LOCAL CHECK LOG = local/sha1 /usr/bin/sha1sum /root/tmp/sha1sum
291 LABEL \nchecking the client's /usr/bin/find program
292 CHECK LOG = remote/binfind /usr/bin/sha1sum /usr/bin/find
293 LABEL \nsuid/sgid/executable files uid or gid root on the / partition
294 CHECK LOG = remote/setuidgid /usr/bin/find / -xdev -perm +u+s,g+s
295 \( -user root -or -group root \) -type f
296 -exec /usr/bin/sha1sum {} \;
297 LABEL \nconfiguration files under /etc
298 CHECK LOG = remote/etcfiles /usr/bin/find /etc
299 -type f -not -perm +6111 -not -regex "/etc/\(adjtime\|mtab\)"
300 -exec /usr/bin/sha1sum {} \;
301 LOCAL /usr/bin/scp -q root@client:/usr/bin/sha1sum /root/tmp
302 LABEL \nCheck the client's sha1sum program
303 LOCAL CHECK LOG = local/sha1 /usr/bin/sha1sum /root/tmp/sha1sum
304 LABEL \nchecking the client's /usr/bin/find program
305 CHECK LOG = remote/binfind /usr/bin/sha1sum /usr/bin/find
306 LABEL \nsuid/sgid/executable files uid or gid root on the / partition
307 CHECK LOG = remote/setuidgid /usr/bin/find / -xdev -perm +u+s,g+s
308 \( -user root -or -group root \) -type f
309 -exec /usr/bin/sha1sum {} \;
310 LABEL \nconfiguration files under /etc
311 CHECK LOG = remote/etcfiles /usr/bin/find /etc
312 -type f -not -perm +6111 -not -regex "/etc/\(adjtime\|mtab\)"
313 -exec /usr/bin/sha1sum {} \;
314
315 </pre>
316
317 <p>
318 This all produces the following output:
319 <p>
320 <a name="l33"></a>
321 <h3>5.3.1: The mailed report</h3>
322 <p>
323 The <code>/root/bin/stealthmail</code> is called with the following arguments:
324 <pre>
325
326 "Client STEALTH report" admin@elswhere
327
328 </pre>
329
330 <p>
331 The contents of the mailed report now is (the date will of course change, the
332 next time <strong>stealth</strong> is run):
333 <pre>
334
335 STEALTH (1.21) started at Mon Nov 24 10:50:30 2003
336
337 Check the client's sha1sum program
338 Initialized report on local/sha1
339
340 checking the client's /usr/bin/find program
341 Initialized report on remote/binfind
342
343 suid/sgid/executable files uid or gid root on the / partition
344 Initialized report on remote/setuidgid
345
346 configuration files under /etc
347 Initialized report on remote/etcfiles
348
349 </pre>
350
351 <p>
352 <a name="l34"></a>
353 <h3>5.3.2: Files under /root/stealth/client</h3>
354 <p>
355 Under <code>/root/stealth/client</code> the following entries are now available:
356 <ul>
357 <p>
358 <li> <code>local</code>: below this directory the reports of the locally performed
359 checks are found. Using our demo <code>policy</code> file, only one logfile is found
360 here: <code>sha1</code>, containing the client's SHA1 checksum of its <code>/usr/bin/sha1sum</code>
361 program:
362 <pre>
363
364 45251e259bfaf1951658a7b66c328c52 /root/tmp/sha1sum
365
366 </pre>
367
368 <li> <code>remote</code>: at this directory the reports of the remotely performed
369 checks are found. Using our demo <code>policy</code> file, three files were created:
370 <p>
371 The file <code>binfind</code>, containing the checksum of the client's
372 <code>/usr/bin/find</code> program:
373 <pre>
374
375 fc62fc774999584f1e29e0f94279a652 /usr/bin/find
376
377 </pre>
378
379 <p>
380 The file <code>etcfiles</code>, containing the checksums of the client's
381 configuration files under <code>/etc</code> (shown only partially):
382 <pre>
383
384 ced739ecb2c43a20053a9f0eb308b2b0 /etc/modutils/aliases
385 a2322d7e2f95317b2ddf3543eb4c74c0 /etc/modutils/paths
386 f9e3eac60200d41dd5569eeabb4eddff /etc/modutils/arch/i386
387 f07da2ebf00c6ed6649bae5501b84c4f /etc/modutils/arch/m68k.amiga
388 2893201cc7f7556160fa9cd1fb5ba56a /etc/modutils/arch/m68k.atari
389 ...
390 bf73b4e76066381cd3caf80369ce1d0e /etc/deluser.conf
391 4cd70d9aee333307a09caa4ef003501d /etc/adduser.conf.dpkg-save
392 8c749353c5027d0065359562d4383b8d /etc/gimp/1.2/gtkrc_user
393 3ec404ec597ef5460600cccf0192f4d6 /etc/gimp/1.2/unitrc
394 8c740345b891179228e3d1066291167b /etc/gimp/1.2/gtkrc
395
396 </pre>
397
398 <p>
399 The file <code>setuidgid</code>, containing the checksums of the client's
400 setuid/setgid root files (shown only partially):
401 <pre>
402
403 030f3f84ec76a8181cca087c4ba655ea /bin/login
404 b6c0209547d88928f391d2bf88af34aa /bin/ping
405 5d324ad212b2ff8f767637ac1a8071ec /bin/su
406 344dbedc398d5114966914419ef53fcc /usr/bin/wall
407 27b045bd7306001f9ea31bc18712d8b7 /usr/bin/rxvt-xpm
408 ...
409 3567b18ffc39c2dc6ec0c0d0fc483f4f /usr/lib/ssh-keysign
410 3383a7955ac2406311e9aa51c6ac9c2c /usr/X11R6/bin/X
411 3c99ea0425c6e0278039e16478d2fb57 /usr/X11R6/bin/xterm
412 d590f7f5b4d6ae61680692a52235d342 /usr/local/bin/setuidcall
413 4c17203d7d91ec4946dea2f0ae365d5b /sbin/unix_chkpwd
414
415 </pre>
416
417 <p>
418 Of course, the checksums and the filenames shown are only for
419 documentation purposes. At other systems this will show different files and/or
420 checksums, no doubt.
421 <p>
422 <li> The file <code>/root/client/report</code> <strong>New lines are always appended to
423 the <code>/root/client/report</code> file. It will never shorten, unless shorten by
424 the systems administrator at `controller'</strong>.
425 <p>
426 This file contains the following:
427 <pre>
428
429 STEALTH (1.21) started at Mon Nov 24 10:50:30 2003
430
431 Check the client's sha1sum program
432 Initialized report on local/sha1
433
434 checking the client's /usr/bin/find program
435 Initialized report on remote/binfind
436
437 suid/sgid/executable files uid or gid root on the / partition
438 Initialized report on remote/setuidgid
439
440 configuration files under /etc
441 Initialized report on remote/etcfiles
442
443 </pre>
444
445 </ul>
446 <p>
447 This completes the information created by <strong>stealth</strong> during its first run.
448 <p>
449 <a name="l35"></a>
450 <h2>5.4: Running `stealth' again: all files unaltered</h2>
451 <a name="running/newrunsame"></a> When <strong>stealth</strong> is run again, it will update
452 its report files under <code>root/stealth/client</code>. If nothing has changed,
453 the log-files will remain unaltered. The new run will, however, produce some
454 new info on the file <code>/root/client/report</code>:
455 <pre>
456
457 STEALTH (1.21) started at Mon Nov 24 10:50:30 2003
458
459 Check the client's sha1sum program
460 Initialized report on local/sha1
461
462 checking the client's /usr/bin/find program
463 Initialized report on remote/binfind
464
465 suid/sgid/executable files uid or gid root on the / partition
466 Initialized report on remote/setuidgid
467
468 configuration files under /etc
469 Initialized report on remote/etcfiles
470
471
472 STEALTH (1.21) started at Mon Nov 24 10:54:35 2003
473
474 </pre>
475
476 Note that just one extra line was added: a timestamp showing the date/time
477 of the last run. The systems administrator may reduce/remove the report file
478 every once in a while to reclaim some disk space.
479 <p>
480 <a name="l36"></a>
481 <h2>5.5: Running `stealth' again: modifications have occurred</h2>
482 <a name="running/newrundelta"></a> Basically, three kinds of modifications are possible: additions,
483 modifications, and removals. Here we'll show the effect all these changes have
484 on <strong>stealth</strong>'s output.
485 <p>
486 For the example, the following changes were made to the <code>client</code>'s
487 files:
488 <ul>
489 <li> <code>/etc/motd</code> was changed
490 <li> the file <code>timezone~</code> was removed
491 <li> the file <code>/etc/motd.org</code> was created
492 </ul>
493 <p>
494 Next, <strong>stealth</strong> was once again run, producing the following output:
495 <ul>
496 <li>
497 The following new info is now added to file <code>/root/client/report</code>:
498 <pre>
499
500 STEALTH (1.21) started at Mon Nov 24 10:54:35 2003
501
502 configuration files under /etc
503 ADDED: /etc/motd.org
504 &lt; 945d0b8208e9861b8f9f2de155e619f9 /etc/motd.org
505 MODIFIED: /etc/motd
506 &lt; 7f96195d5f051375fe7b523d29e379c1 /etc/motd
507 &gt; 945d0b8208e9861b8f9f2de155e619f9 /etc/motd
508 REMOVED: /etc/timezone~
509 &gt; 6322bc8cb3ec53f5eea33201b434b74b /etc/timezone~
510
511 </pre>
512
513 Note that all changes were properly detected and logged in the file
514 <code>/root/client/report</code>.
515 <p>
516 <li> Furthermore, a matching report was sent by <em>mail</em>:
517 <pre>
518
519 STEALTH (0.90) started at Mon Oct 28 11:28:43 2002
520
521
522 configuration files under /etc
523 ADDED: /etc/motd.org
524 &lt; 945d0b8208e9861b8f9f2de155e619f9 /etc/motd.org
525 MODIFIED: /etc/motd
526 &lt; 7f96195d5f051375fe7b523d29e379c1 /etc/motd
527 &gt; 945d0b8208e9861b8f9f2de155e619f9 /etc/motd
528 REMOVED: /etc/timezone~
529 &gt; 6322bc8cb3ec53f5eea33201b434b74b /etc/timezone~
530
531 </pre>
532
533 Note that the report <em>only</em> shows the info that was added to the
534 <em>/root/client/report</em> file.
535 <p>
536 The report itself could be beautified further. I myself use the following
537 script to mail the report to the addressee:
538 <pre>
539
540 #!/bin/bash
541
542 NAME=`basename $0`
543
544 tee /root/stealth/lastreport/$NAME | egrep -v '^([[:space:]]|[[:space:]]*$)' |
545 sort | uniq | mail -s $1 $2
546
547 </pre>
548
549 For the <code>client</code> computer, this little script will write the mailed
550 report on a file <code>/root/stealth/lastreport/client</code>, overwriting its previous
551 contents, will remove all lines beginning with blanks (thus trimming away the
552 <code>diff</code>-generated lines), and will mail the <code>sort</code>ed and <code>uniq</code>ed lines
553 using <code>mail</code>. The addressee (<code>admin@elsewhere</code>) will receive the following
554 information:
555 <pre>
556
557 ADDED: /etc/motd.org
558 MODIFIED: /etc/motd
559 REMOVED: /etc/timezone~
560 STEALTH (0.90) started at Mon Oct 28 11:28:43 2002
561 configuration files under /etc
562
563 </pre>
564
565 In practice this suffices to have me take action if something out of the
566 ordinary has happened.
567 <p>
568 <li> Finally, the file
569 <pre>
570
571 /root/stealth/client/remote/etcfiles
572
573 </pre>
574
575 was recreated, saving the old file as
576 <pre>
577
578 /root/stealth/client/remote/etcfiles.20021028-112851
579
580 </pre>
581
582 As remarked earlier (see section <a href="stealth03.html#COMMANDS">3.3</a>), many
583 <code>logfile.YYMMDD-HHMMSS</code> files could eventually accumulate. As discussed in
584 section <a href="stealth03.html#COMMANDS">3.3</a>, it might be considered to remove old log files every
585 now and then.
586 </ul>
587 <p>
588 <a name="l37"></a>
589 <h2>5.6: Failing LOCAL commands</h2>
590 <p>
591 If the client's <code>sha1sum</code> program itself is altered, a serious situation
592 has developed. In that case, further actions by <strong>stealth</strong> would be suspect,
593 as their results might easily be currupted. Checks <em>will</em> proceed, but a
594 warning is generated on the <code>report</code> file (and in the mail sent to
595 <code>admin@elsewhere</code>:
596 <pre>
597
598 STEALTH (1.21) started at Mon Nov 24 10:54:35 2003
599
600 Check the client's sha1sum program
601 MODIFIED: /root/tmp/sha1sum
602 &lt; fc62fc774999584f1e29e0f94279a652 /root/tmp/sha1sum
603 &gt; 45251e259bfaf1951658a7b66c328c52 /root/tmp/sha1sum
604
605 *** BE CAREFUL *** REMAINING RESULTS MAY BE FORGED
606
607 configuration files under /etc
608 REMOVED: /etc/motd.org
609 &gt; 945d0b8208e9861b8f9f2de155e619f9 /etc/motd.org
610 MODIFIED: /etc/motd
611 &lt; 945d0b8208e9861b8f9f2de155e619f9 /etc/motd
612 &gt; 7f96195d5f051375fe7b523d29e379c1 /etc/motd
613
614 </pre>
615
616 (The report shows the removal of the previously added file <code>motd.org</code>,
617 and the modification of <code>motd</code>. These are real, as the original <code>motd</code>
618 file, modified earlier, was restored at this point).
619 <p>
620 <a name="l38"></a>
621 <h2>5.7: Automating `stealth' runs using `cron'</h2>
622 <a name="running/cron"></a> In order to automate the execution of <strong>stealth</strong>, a file
623 <code>/etc/cron.d/stealth</code> could be created, containing a line like
624 (assuming <strong>stealth</strong> lives in <code>/usr/sbin</code>):
625 <pre>
626
627 2,17,32,47 * * * * root test -x /usr/sbin/stealth &amp;&amp; \
628 /usr/sbin/stealth -q /root/stealth/client.pol
629
630 </pre>
631
632 This will start <strong>stealth</strong> 2 minutes after every hour. Alternate schemes
633 are left to the reader to design.
634 <p>
635 In general, randomizing events makes it harder to notice them.
636 <strong>stealth</strong> may start its tasks at a random point in time if its
637 <code>-i</code> flag (for <em>random interval</em>) is used. This flag expects an argument
638 in seconds (or in minutes, if at least an <code>m</code> is appended to the interval
639 specification). Somewhere between the time <strong>stealth</strong> starts and the
640 specified interval the scan will commence. For example, the following two
641 commands have identical effects: the scan is started somewhere between the
642 moment <strong>stealth</strong> was started and 5 minutes:
643 <pre>
644
645 stealth -i 5min -q /root/stealth/client.pol
646 stealth -i 300 -q /root/stealth/client.pol
647
648 </pre>
649
650 When the <code>-d</code> flag is given, the <code>-i</code> flag has no effect.
651 <p>
652 As another alternative, <strong>stealth</strong> my be started specifying the
653 <code>--keep-alive pidfile</code> option. Here, <code>pidfile</code> is the name of a file that
654 will contain the process id of the stealth process running in the background.
655 For example:
656 <pre>
657
658 stealth --keep-alive /var/run/stealth -i 300 -q /root/stealth/client.pol
659
660 </pre>
661
662 Now, <strong>cron</strong>(1) may be used to restart this process at indicated times:
663 <pre>
664
665 2,17,32,47 * * * * root test -x /usr/sbin/stealth &amp;&amp; \
666 /usr/sbin/stealth --rerun /var/run/stealth
667
668 </pre>
669
670 <p>
671 As yet another alternative, the cron-job may activate a script performing
672 <strong>stealth</strong>'s rerun, starting another <strong>stealth</strong> run if necessary. The
673 advantage of such an approach is that <strong>stealth</strong> is automatically started
674 after, e.g., a reboot. The following script expects two arguments (both of
675 which must be absolute paths). The first argument is the path to the
676 <em>pidfile</em> to use, the second argument is the path to the policy file to
677 use. The script is found in the distribution package as
678 <code>/usr/share/doc/stealth/usr/sbin/stealthcron</code>:
679 <pre>
680 #!/bin/bash
681
682 PROG=`basename $0`
683 STEALTH=/usr/sbin/stealth
684
685 testAbsolute()
686 {
687 echo $1 | grep "^/" &gt; /dev/null 2&gt;&amp;1 &amp;&amp; return
688
689 echo "\`$1' must be absolute path"
690 exit 1
691 }
692
693 case $# in
694 (2)
695 testAbsolute $1
696 testAbsolute $2
697
698 if [ -x ${STEALTH} ] ; then
699 ${STEALTH} --rerun $1
700 [ $? -eq 0 ] || ${STEALTH} --keep-alive $1 -q $2
701 fi
702 ;;
703
704 (*)
705 echo "
706 $PROG by Frank B. Brokken (f.b.brokken@rug.nl)
707 Usage: $PROG [sleep] pidfile configfile
708 where:
709 pidfile: absolute path to pidfile to be used by ${STEALTH}
710 configfile: absolute path to configuration file to be used by ${STEALTH}
711
712 calls $STEALTH} --rerun pidfile.
713 If that fails, ${STEALTH} --keep-alive pidfile -q configfile is started.
714 "
715 exit 1
716 ;;
717 esac
718 </pre>
719
720 The script could be called from <code>/etc/cron.d/stealth</code> using a line like
721 <pre>
722
723 22 8 * * * root test -x /usr/sbin/stealthcron &amp;&amp; /usr/sbin/stealthcron
724 /var/run/stealth.target /usr/share/stealth/target.pol
725
726 </pre>
727
728 Note that the command should be on a single line. It was spread out here
729 over two lines to enhance readability.
730 <p>
731 <a name="ROTATE"></a><a name="l39"></a>
732 <h2>5.8: Report File Rotation</h2>
733 <a name="running/rotate"></a>When <strong>stealth</strong> performs integrity scans it will append information to the
734 report file. This file will therefore eventually grow to a large size, and the
735 systems manager controlling <strong>stealth</strong> might want to <em>rotate</em> the report
736 file every once in a while (e.g., using a program like <strong>logrotate</strong>(1), also
737 see the upcoming section <a href="stealth05.html#LOGROTATE">5.8.2</a>). In
738 order to ensure that no log-rotation takes place while <strong>stealth</strong> is busy
739 performing integrity scans (thus modifying the report file) the options
740 <strong>--suppress</strong> and <code>--resume</code> were implemented. Both options require the
741 process-ID file of currently active <strong>stealth</strong> process as their argument.
742 <p>
743 For example, if a <strong>stealth</strong> process was once started using the command
744
745 <pre>
746
747 stealth -q --keep-alive /var/run/stealth.small --repeat 900 \
748 /var/stealth/policies/small.pol
749
750 </pre>
751
752 then the <code>--suppress</code> and <code>--resume</code> commands for this process should
753 be formulated as:
754 <pre>
755
756 stealth --suppress /var/run/stealth.small
757 stealth --resume /var/run/stealth.small
758
759 </pre>
760
761 The <strong>stealth</strong> process identified in the files provided as arguments to
762 the <code>--suppress</code> and <code>--resume</code> options is called the <em>targeted stealth
763 process</em> below.
764 <p>
765 The <code>--suppress</code> option has the following effect:
766 <ul>
767 <li> If the targeted <strong>stealth</strong> process is currently processing its
768 policy file, performing a (new) integrity scan, then the currently executing
769 policy file command is completed, whereafter further commands are ignored,
770 except for <code>--resume</code> (see below) and <code>--terminate</code>.
771 <li> Any scheduled integrity scans following the <code>--suppress</code> command
772 are ignored for the targeted <strong>stealth</strong> process;
773 <li> The targeted <strong>stealth</strong> process will write a message that it is
774 being suppressed to the report file and will then process the report file as
775 usual;
776 <li> The targeted <strong>stealth</strong> process relinquishes its control over the
777 report file;
778 <li> The command `<strong>stealth</strong> <code>--suppress pidfile</code>' terminates.
779 </ul>
780 Now that the report file will no longer be affected by the targeted
781 <strong>stealth</strong> process, log-rotation may take place. E.g., a program like
782 <strong>logrotate</strong>(1) allows its users to specify a command or script just before
783 log-rotation takes place, and `<strong>stealth</strong> <code>--suppress pidfile</code>' could be
784 specified nicely in such a pre-rotation section.
785 <p>
786 The <code>--resume</code> option has the following effect:
787 <ul>
788 <li> The targeted <strong>stealth</strong> process resumes its activities by performing
789 another integrity scan. Thus, <code>--resume</code> implies <code>--rerun</code>.
790 <li> Any scheduled integrity scans following the <code>--resume</code> command are
791 again honored by the targeted <strong>stealth</strong> process, following the completion of
792 the <code>--resume</code> command.
793 <li> The command `<strong>stealth</strong> <code>--resume pidfile</code>' terminates.
794 </ul>
795 Note that, once <code>--suppress</code> has been issued, all commands except
796 <code>--resume</code> and <code>--terminate</code> are ignored by the targeted <strong>stealth</strong>
797 process. While suppressed, the <code>--terminate</code> command is acknowledged as a
798 `emergency exit' which may or may not interfere with, e.g., an ongoing
799 log-rotation process. The targeted <strong>stealth</strong> process should not normally be
800 terminated while it is in its suppressed mode. The normal way to terminate a
801 stealth process running in the background is:
802 <ul>
803 <li> Wait for the targeted <strong>stealth</strong> process to complete a series of
804 integrity scans;
805 <li> Issue the `<strong>stealth</strong> <code>--terminate pidfile</code>' command.
806 </ul>
807 <p>
808 <a name="STATUS"></a><a name="l40"></a>
809 <h3>5.8.1: Status file cleanup</h3>
810 <a name="running/status.yo"></a> Whenever <strong>stealth</strong> is run and it encounters a modified situation the
811 already existing status file that is used to summarize that particular
812 situation is saved and a new status file is created. Eventually, this will
813 result in many status files. While report files can be rotated, it is
814 pointless to rotate old status files, since they never are modified. Instead
815 status files exceeding a certain age could be removed and more recent files
816 might be zipped to conserve space. In <strong>stealth</strong>'s binary distribution the
817 file <code>/usr/share/doc/stealth/usr/sbin/stealthcleanup</code> is provided which can
818 be used to perform this cleanup. The script expects one argument: a resource
819 file defining the following shell variables:
820 <ul>
821 <li> <code>directories</code>: the directories below which the status files are
822 found;
823 <li> <code>gzdays</code>: the number of days a status file must exist before it is
824 compressed using <strong>gzip</strong>(1);
825 <li> <code>rmdays</code>: the maximum age (in days) of compressed status
826 files. Files exceeding this age are removed using <strong>rm</strong>(1).
827 </ul>
828 Here is the <code>stealthcleanup</code> script as it is found in the binary distribution's
829 <code>/usr/share/doc/stealth/usr/sbin</code> directory:
830 <pre>
831 #!/bin/bash
832
833 usage()
834 {
835 echo "
836 Usage: $0 rc-file
837 Where:
838 rc-file: resource file defining:
839 \`directories' - one or more directories containing status files
840 \`gzdays' - number of days status files may exist before they
841 are compressed
842 \`rmdays' - number of days gzipped status files may exist
843 before they are removed.
844 "
845 exit 1
846 }
847
848
849 error()
850 {
851 echo "$*" &gt;&amp;2
852 exit 1
853 }
854
855 [ $# == 1 ] || usage
856
857 # now source the configuration file
858 . $1
859
860 for x in $directories
861 do
862 cd $x || error "\`$x' must be a directory"
863
864 /usr/bin/find ./ -mtime +$rmdays -type f -regex '.*[0-9]+-[0-9]+\.gz' \
865 -exec /bin/rm {} \;
866
867 /usr/bin/find ./ -mtime +$gzdays -type f -regex '.*[0-9]+-[0-9]+' \
868 -exec /bin/gzip {} \;
869 done
870
871 exit 0
872
873
874
875
876 </pre>
877
878 Assuming that the status files are written in
879 <code>/var/stealth/target/local</code> and <code>/var/stealth/target/remote</code>; that status
880 file should be compressed when older than 2 days and removed after 30 days,
881 the resource file is:
882 <pre>
883 directories="
884 /var/stealth/target/local
885 /var/stealth/target/remote
886 "
887
888 rmdays=30
889 gzdays=3
890 </pre>
891
892 Furthermore assuming that the resourcefile is installed in
893 <code>/etc/stealth/cleanup.rc</code> and the <code>stealthcleanup</code> script itself in
894 <code>/usr/sbin/stealthcleanup</code>, the <code>stealthcleanup</code> script could be called
895 as follows:
896 <pre>
897
898 /usr/sbin/stealthcleanup /etc/stealth/cleanup.rc
899
900 </pre>
901
902 Note that <code>stealthcleanup</code> may be called whether or not there are active
903 <strong>stealth</strong> processes, as <strong>stealth</strong> does not use status files anymore once
904 they have been written.
905 <p>
906 <a name="LOGROTATE"></a><a name="l41"></a>
907 <h3>5.8.2: Using `logrotate' to control report- and status files</h3>
908 <a name="running/logrotate.yo"></a> A program like <strong>logrotate</strong>(1) allows its users to specify a command or
909 script immediately following log-rotation, and `<strong>stealth</strong> <code>--resume
910 pidfile</code>' could be specified nicely in such a post-rotation section.
911 <p>
912 Here is an example of a specification that can be used with
913 <strong>logrotate</strong>(1). Logrotate (on Debian systems) keeps its configuration files
914 in <code>/etc/logrotate.d</code>, and assuming there is a host <code>target</code>, whose report
915 file is <code>/var/stealth/target/report</code>, the required <strong>logrotate</strong>(1)
916 specification file (e.g., <code>/etc/logrotate.d/target</code> could be:
917 <pre>
918 /var/stealth/target/report {
919 weekly
920 rotate 12
921 compress
922 missingok
923 prerotate
924 /usr/sbin/stealth --suppress /var/run/stealth.target
925 endscript
926 postrotate
927 /usr/sbin/stealth --resume /var/run/stealth.target
928 endscript
929 }
930 </pre>
931
932 Using this specification file, <strong>logrotate</strong>(1) will
933 <ul>
934 <li> Perform weekly rotations of the report file;
935 <li> Keep up to 12 rotated files, compressing them using <strong>gzip</strong>(1);
936 <li> Before rotating the report file, <strong>stealth</strong>'s actions are
937 suppressed;
938 <li> Following the rotation, <strong>stealth</strong>'s actions are resumed
939 </ul>
940 Note thet <code>stealth --resume xxx</code> will always start with another file
941 integrity scan.
942 <p>
943 <hr>
944 <ul>
945 <li> <a href="stealth.html">Table of Contents</a>
946 <li> <a href="stealth04.html">Previous Chapter</a>
947 <li> <a href="stealth06.html">Next Chapter</a>
948 </ul>
949 <hr>
950 </body>
951 </html>
+0
-85
documentation/manual/html/stealth06.html less more
0 <html>
1 <head>
2 <title> <center>Stealth V. 1.47.2</center> </title>
3 </head>
4 <body text="#27408B" bgcolor="#FFFAF0">
5 <hr>
6 <ul>
7 <li> <a href="stealth.html">Table of Contents</a>
8 <li> <a href="stealth05.html">Previous Chapter</a>
9 <li> <a href="stealth07.html">Next Chapter</a>
10 </ul>
11 <hr>
12 <a name="l42"></a>
13 <h1>Chapter 6: Kick starting `stealth'</h1>
14 <a name="kickstart"></a>
15 Here are the steps to take to kick-start <strong>stealth</strong>
16 <ul>
17 <li> Install the stealth Debian package <code>stealth_1.47.2_i386.deb</code> and
18 thus accept the provided binary program (skipping the next three steps) or do
19 not accept the provided binary, and compile <strong>stealth</strong> yourself, as per the
20 following steps:
21 <li> Unpack <code>stealth_1.47.2.tar.gz</code>:
22 <code>tar xzvf tealth_1.47.2.tar.gz</code>
23 <li> <code>cd stealth</code>
24 <li> Inspect the values of the variables in the file <code>INSTALL.cf</code> Modify
25 these values when necessary.
26 <li> Make sure the bobcat library has been installed.
27 (<a href="http://bobcat.sourceforge.net">http://bobcat.sourceforge.net</a>)
28 <li> Run `<code>./make/program</code>' to compile <strong>stealth</strong>. Note: it's <em>not</em>
29 `<code>make program</code>'
30 <li> Run (probably as root) `<code>./make/install</code>' to install. Note: it's
31 <em>not</em> `<code>make install</code>'
32 </ul>
33 Following the installation nothing in the <code>stealth</code> directory tree is
34 required for <strong>stealth</strong>'s proper functioning, so consider removing it.
35 <p>
36 Compiling <strong>stealth</strong> assumes that <code>g++</code> version 3.3 (or higher) is
37 available. If not: install it first.
38 <p>
39 Next, do:
40 <ul>
41 <li> <code>cp stealthmail /usr/local/sbin</code>
42 <li> <code>mkdir /root/stealth</code>
43 <li> <code>cp local.pol /root/stealth</code>
44 </ul>
45 <p>
46 <code>ssh</code> and <code>sh</code> should be available. <code>root@localhost</code> should be able
47 to login at <code>localhost</code> using <code>ssh root@localhost</code>, using the
48 <code>/bin/bash</code> or <code>/bin/sh</code> shell. Check (as `root') at least
49 <pre>
50
51 ssh root@localhost
52
53 </pre>
54
55 as this might ask you for a confirmation that you've got the correct
56 host.
57 Now, run
58 <pre>
59
60 stealth /root/stealth/localhost.pol
61
62 </pre>
63
64 to initialize the stealth-report files for <code>localhost</code>. This will
65 initialize the report for:
66 <ul>
67 <li> all root setuid/setgid executable files on <code>localhost</code>,
68 <li> and for all files under <code>/etc/</code> on <code>localhost</code>.
69 </ul>
70 <p>
71 The mail-report is written on <code>/tmp/stealth-1.47.2.mail</code>
72 <p>
73 Now change or add or remove one of these files, and rerun <strong>stealth</strong>. The
74 file <code>/tmp/stealth-1.47.2.mail</code> should reflect these changes.
75 <p>
76 <hr>
77 <ul>
78 <li> <a href="stealth.html">Table of Contents</a>
79 <li> <a href="stealth05.html">Previous Chapter</a>
80 <li> <a href="stealth07.html">Next Chapter</a>
81 </ul>
82 <hr>
83 </body>
84 </html>
+0
-80
documentation/manual/html/stealth07.html less more
0 <html>
1 <head>
2 <title> <center>Stealth V. 1.47.2</center> </title>
3 </head>
4 <body text="#27408B" bgcolor="#FFFAF0">
5 <hr>
6 <ul>
7 <li> <a href="stealth.html">Table of Contents</a>
8 <li> <a href="stealth06.html">Previous Chapter</a>
9 <li> <a href="stealth08.html">Next Chapter</a>
10 </ul>
11 <hr>
12 <a name="USAGE"></a><a name="l43"></a>
13 <h1>Chapter 7: Usage info</h1>
14 <a name="usage"></a>When <strong>stealth</strong> is started without arguments, it provides some help about how
15 to start it. A message like the following is produced:
16
17 <p>
18
19 <pre>
20 stealth by Frank B. Brokken (f.b.brokken@rug.nl)
21
22 stealth V1.47.2
23 SSH-based Trust Enhancement Acquired through a Locally Trusted Host
24 Copyright (c) GPL 2005-2008
25
26 Usage 1:
27 stealth options policy
28 Where:
29 options: (long options between parentheses) select from:
30 -c: (--parse-config-file) process the config file,
31 no further action, report the results to std output.
32 -d: (--debug) write debug messages to std error
33 -e: (--echo-commands) echo commands to std error when they
34 are processed (implied by -d)
35 -i &lt;interval&gt;[m]: (--random-interval) start the scan between now and
36 a random interval of interval seconds, or minutes if an `m' is
37 appended to the specified interval.
38 Requires --repeat and --keep-alive.
39 -n: (--no-child-processes) no child processes are
40 executed: child actions are faked to be OK.
41 -o: (--only-stdout) scan report is written to stdout. No mail is sent.
42 -q: (--quiet) suppress progress messages to stderr.
43 -r &lt;nr&gt;: (--run-command) only run command &lt;nr&gt; (natural number).
44 -v: (--version): display version information (and exit).
45 --keep-alive pidfile: keep running as a daemon, wake up at interrupts.
46 --max-size &lt;size&gt;[BKMG]: files retrieved by GET may at most
47 have &lt;size&gt; bytes (B), Kbytes (K), Mbytes (M), Gbytes (G)
48 default: 10M, default spec. unit: B
49 --repeat &lt;seconds&gt;: keep running as a daemon, wake up at
50 interrupts. or after &lt;seconds&gt; seconds.
51 Requires --keep-alive.
52 --usage: provide this help (and exit)
53 --help: provide this help (and exit)
54 policy: path to the policyfile
55
56 Usage 2:
57 stealth [--rerun|--resume|--suppress|--terminate] pidfile
58 Where:
59 --rerun: restart a stealth integrity scan
60 --resume: resume stealth following --suppress
61 --suppress: suppress stealth activities
62 --terminate: terminate stealth
63 pidfile: file containing the pid of the stealth process to rerun or
64 terminate.
65
66 </pre>
67
68 Note that with the second type of usage the policy file is not required:
69 here only the <code>pidfile</code> must be specified.
70 <p>
71 <hr>
72 <ul>
73 <li> <a href="stealth.html">Table of Contents</a>
74 <li> <a href="stealth06.html">Previous Chapter</a>
75 <li> <a href="stealth08.html">Next Chapter</a>
76 </ul>
77 <hr>
78 </body>
79 </html>
+0
-114
documentation/manual/html/stealth08.html less more
0 <html>
1 <head>
2 <title> <center>Stealth V. 1.47.2</center> </title>
3 </head>
4 <body text="#27408B" bgcolor="#FFFAF0">
5 <hr>
6 <ul>
7 <li> <a href="stealth.html">Table of Contents</a>
8 <li> <a href="stealth07.html">Previous Chapter</a>
9 </ul>
10 <hr>
11 <a name="l44"></a>
12 <h1>Chapter 8: Errormessages</h1>
13 <a name="errors"></a> <code>/bin/sh: no output from /usr/bin/diff ...</code>
14 <blockquote>the actual program names appearing here could change due to your
15 local configuration. The defaults are shown. This indicates that the
16 <code>/usr/bin/diff</code> program could not be activated on the controller. Check the
17 correctness of both the shell program (<code>/bin/sh</code>) and the diff program
18 (<code>/usr/bin/diff</code>): Do they exist? Have their paths been specfied well?
19 Note that filenames passed to <code>diff</code> might not exist anymore when the
20 program terminates. This should not be the cause of the error.
21 </blockquote>
22 <p>
23 <code>Can't chdir to `path'</code>
24 <blockquote>the directory <code>path</code> could not be
25 created/used. This may be a permission problem. Check the permissions of
26 <code>path</code> if <code>path</code> does actually exist. The problem may be in a path
27 component, not necessarily in the last element of the path.
28 </blockquote>
29 <p>
30 <code>Can't open /dev/null</code>
31 <blockquote>This message may be generated by a
32 child-process: <code>sh</code>, <code>ssh</code> or <code>diff</code>. It is generated when the child
33 process could not redirect its standard error messages to the standard error
34 stream. If it appears then there is probably something incorrect in your
35 <code>/dev/</code> directory: check the availability of <code>/dev/null</code>, check if you can
36 copy a file to <code>/dev/null</code>.
37 </blockquote>
38 <p>
39 <code>Can't open ... to write</code>
40 <blockquote> This message may be generated when the
41 mentioned log-file could not be written to. Check the permissions of the file,
42 check if the path to the file exists. The problem may be in a path
43 component, not necessarily in the last element of the path or in the file
44 itself.
45 </blockquote>
46 <p>
47 <code>Can't read ...</code>
48 <blockquote>the mentioned file could not be read. Check if
49 the file exists, and if you have read permissions for it.
50 </blockquote>
51 <p>
52 <code>Config line `...' invalid</code>
53 <blockquote>The mentioned line of the specified policy file was
54 ill-formed. Check the line's contents against the description of the policy
55 file.
56 </blockquote>
57 <p>
58 <code>ConfigSorter file processed</code>
59 <blockquote>In this case, the <code>-c</code> option has been given. When <code>-c</code> was
60 provided, <strong>stealth</strong> stops after having processed the configuration file.
61 </blockquote>
62 <p>
63 <code>Corrupt line in policy file: ...</code>
64 <blockquote> The apparently corrupted line
65 is shown. The line is corrupted if the line could not be split into an initial
66 word and its remainder. Normally this should not happen. As the line is
67 mentioned, the message itself should assist you in your repairs.
68 </blockquote>
69 <p>
70 <code>Inserting command `...' failed.</code>
71 <blockquote>the mentioned command could not
72 be sent to a child-process (<code>sh</code> or <code>ssh</code>). Check the availability of the
73 <code>ssh</code> connection to the client. The command itself might also be
74 unacceptable.
75 </blockquote>
76 <p>
77 <code>Invalid interval for -i.</code>
78 <blockquote>The -i flag was given an invalid (too large or negative) argument.
79 </blockquote>
80 <p>
81 <code>Non-zero exit value for `...'</code>
82 <blockquote>A local command (not using the <code>CHECK</code> keyword), returned with a
83 non-zero exit. This will terminate further processing of the policy
84 file. Inspect and/or rerun the command `by hand' to find indications about
85 what went wrong. The report file or the standard error stream may also contain
86 additional information about the reason of the failure.
87 </blockquote>
88 <p>
89 <code>Unable to create the logfile `...'</code>
90 <blockquote>the mentioned log file could not be created. Check the permissions of
91 the file, check if the path to the file exists. The problem may be in a path
92 component, not necessarily in the last element of the path or in the file
93 itself.
94 </blockquote>
95 <p>
96 <code>USE SSH ... entry missing in the configuration file</code>
97 <blockquote>there is no
98 default for the <code>USE SSH</code> specification in the policy file. The
99 specification could not be found. Provide a specification like:
100 <pre>
101 USE SSH ssh -q root@localhost
102 </pre>
103
104 </blockquote>
105 <p>
106 <hr>
107 <ul>
108 <li> <a href="stealth.html">Table of Contents</a>
109 <li> <a href="stealth07.html">Previous Chapter</a>
110 </ul>
111 <hr>
112 </body>
113 </html>
documentation/manual/pdf/stealth.pdf less more
Binary diff not shown
+0
-8371
documentation/manual/ps/stealth.ps less more
0 %!PS-Adobe-2.0
1 %%Creator: dvips(k) 5.96.1 Copyright 2007 Radical Eye Software
2 %%Title: stealth.dvi
3 %%CreationDate: Sun Oct 26 16:31:59 2008
4 %%Pages: 51
5 %%PageOrder: Ascend
6 %%BoundingBox: 0 0 596 842
7 %%DocumentFonts: CMSY10
8 %%DocumentPaperSizes: a4
9 %%EndComments
10 %DVIPSWebPage: (www.radicaleye.com)
11 %DVIPSCommandLine: dvips -o ../ps/stealth.ps stealth.dvi
12 %DVIPSParameters: dpi=600
13 %DVIPSSource: TeX output 2008.10.26:1631
14 %%BeginProcSet: tex.pro 0 0
15 %!
16 /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
17 N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
18 mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
19 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
20 landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
21 mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
22 matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
23 exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
24 statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
25 N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
26 /FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
27 /BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
28 array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
29 df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
30 definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
31 }B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
32 B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
33 1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S
34 /BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy
35 setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask
36 restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
37 /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
38 }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
39 bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
40 mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
41 SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
42 userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
43 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
44 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
45 /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
46 /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
47 (LaserWriter 16/600)]{A length product length le{A length product exch 0
48 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
49 end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
50 grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
51 imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
52 exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
53 fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
54 delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
55 B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
56 p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
57 rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
58
59 %%EndProcSet
60 %%BeginProcSet: texps.pro 0 0
61 %!
62 TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
63 index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
64 exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0
65 ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{
66 pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get
67 div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type
68 /nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end
69 definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup
70 sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll
71 mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[
72 exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if}
73 forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def
74 end
75
76 %%EndProcSet
77 %%BeginFont: CMSY10
78 %!PS-AdobeFont-1.1: CMSY10 1.0
79 %%CreationDate: 1991 Aug 15 07:20:57
80 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
81 11 dict begin
82 /FontInfo 7 dict dup begin
83 /version (1.0) readonly def
84 /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
85 /FullName (CMSY10) readonly def
86 /FamilyName (Computer Modern) readonly def
87 /Weight (Medium) readonly def
88 /ItalicAngle -14.035 def
89 /isFixedPitch false def
90 end readonly def
91 /FontName /CMSY10 def
92 /PaintType 0 def
93 /FontType 1 def
94 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
95 /Encoding 256 array
96 0 1 255 {1 index exch /.notdef put} for
97 dup 15 /bullet put
98 readonly def
99 /FontBBox{-29 -960 1116 775}readonly def
100 currentdict end
101 currentfile eexec
102 D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
103 7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4
104 A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85
105 E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A
106 221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A
107 27D1663E0B62F461F6E40A5D6676D1D12B51E641C1D4E8E2771864FC104F8CBF
108 5B78EC1D88228725F1C453A678F58A7E1B7BD7CA700717D288EB8DA1F57C4F09
109 0ABF1D42C5DDD0C384C7E22F8F8047BE1D4C1CC8E33368FB1AC82B4E96146730
110 DE3302B2E6B819CB6AE455B1AF3187FFE8071AA57EF8A6616B9CB7941D44EC7A
111 71A7BB3DF755178D7D2E4BB69859EFA4BBC30BD6BB1531133FD4D9438FF99F09
112 4ECC068A324D75B5F696B8688EEB2F17E5ED34CCD6D047A4E3806D000C199D7C
113 515DB70A8D4F6146FE068DC1E5DE8BC5703711DA090312BA3FC00A08C453C609
114 C627A8BECD6E1FA14A3B02476E90AAD8B4700C400380BC9AFFBF7847EB28661B
115 9DC3AA0F44C533F2E07DCC4DE19D367BF223E33DC321D0247A0E6EF6ABC8FA52
116 15AE044094EF678A8726CD7C011F02BFF8AB6EAEEE391AD837120823BED0B5D8
117 F8B15245377871A64F78378BB4330149D6941F7A86FBFFC49B93C94155F5FA7D
118 F22E7214511C0A92693F4CDBF38411651540572F2DD70D924AE0F18E1CD581F3
119 C871399127FF5D07A868885B5FF7CDEB50B8323B2533DEF8DC973B1AE84FA0A2
120
121 0000000000000000000000000000000000000000000000000000000000000000
122 0000000000000000000000000000000000000000000000000000000000000000
123 0000000000000000000000000000000000000000000000000000000000000000
124 0000000000000000000000000000000000000000000000000000000000000000
125 0000000000000000000000000000000000000000000000000000000000000000
126 0000000000000000000000000000000000000000000000000000000000000000
127 0000000000000000000000000000000000000000000000000000000000000000
128 0000000000000000000000000000000000000000000000000000000000000000
129 cleartomark
130 %%EndFont
131 TeXDict begin 39158280 55380996 1000 600 600 (stealth.dvi)
132 @start
133 %DVIPSBitmapFont: Fa ecrm0800 8 17
134 /Fa 17 118 df<3C7EFFFFFFFF7E3C08087A8714>46 D<000000C0000000C0000001C000
135 00018000000180000003800000030000000700000006000000060000000E0000000C0000
136 000C0000001C000000180000003800000030000000300000007000000060000000600000
137 00E0000000C0000000C0000001C000000180000003800000030000000300000007000000
138 06000000060000000E0000000C0000001C00000018000000180000003800000030000000
139 300000007000000060000000E0000000C0000000C0000001C00000018000000180000003
140 800000030000000300000007000000060000000E0000000C0000000C0000001C00000018
141 000000180000003800000030000000700000006000000060000000E0000000C0000000C0
142 0000001A437CB123>I<3C7EFFFFFFFF7E3C000000000000000000000000003C7EFFFFFF
143 FF7E3C081D7A9C14>58 D<00FF000007FFC0000F01F0001C00F8003F007C003F003E003F
144 003E003F003F001E001F0000001F0000001F0000001F0000001F000007FF00007FFF0001
145 FE1F0007F01F001FC01F003F801F007F001F007E001F00FE001F06FC001F06FC001F06FC
146 001F06FC003F06FE003F067E007F067F00EF8C1F83C7FC0FFF03F801FC01E01F207D9E23
147 >97 D<07C0000000FFC0000000FFC00000000FC000000007C000000007C000000007C000
148 000007C000000007C000000007C000000007C000000007C000000007C000000007C00000
149 0007C000000007C000000007C0FE000007C7FF800007CF03E00007DC01F00007F8007C00
150 07F0007E0007E0003E0007C0001F0007C0001F8007C0001F8007C0000F8007C0000FC007
151 C0000FC007C0000FC007C0000FC007C0000FC007C0000FC007C0000FC007C0000FC007C0
152 000FC007C0001F8007C0001F8007C0001F0007C0003F0007E0003E0007F0007C0007B000
153 F80007BC01F000070E07E0000607FF80000001FC0000222F7EAD27>I<001FE000007FFC
154 0001F01E0003E0070007C01F800F801F801F001F803F001F803E000F007E0000007E0000
155 007C000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0000
156 00FC0000007E0000007E0000007E0000C03F0000C01F0001C01F8001800FC0038007E007
157 0001F03E00007FF800001FC0001A207E9E1F>I<001F800000FFF00003E0780007C03E00
158 0F801E001F001F001F000F803E000F807E0007807E0007C07C0007C0FC0007C0FC0007C0
159 FC0007C0FFFFFFC0FFFFFFC0FC000000FC000000FC000000FC000000FC0000007E000000
160 7E0000003E0000C03F0000C01F0001C00F8003800FC0030003E00F0001F03C00007FF800
161 001FC0001A207E9E1F>101 D<0003F0000FFC003E1E007C3F00F83F01F03F01F03F03E0
162 0C03E00003E00003E00003E00003E00003E00003E00003E00003E00003E000FFFFE0FFFF
163 E003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0
164 0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0
165 0007F0007FFF807FFF80182F7FAE16>I<003F00F800FFC3FE03E1FF1E07807C1E0F807C
166 0C1F003E001F003E003E001F003E001F003E001F003E001F003E001F003E001F003E001F
167 001F003E001F003E000F807C00078078000FE1F0000CFFC0001C3F00001C0000001C0000
168 001C0000001E0000001F0000000FFFF8000FFFFF0007FFFFC00FFFFFF01E0007F83C0000
169 F87800007CF800007CF000003CF000003CF000003CF000003CF800007C7C0000F83E0001
170 F01F0003E007E01F8001FFFE00003FF0001F2D7E9D23>I<07C0000000FFC0000000FFC0
171 0000000FC000000007C000000007C000000007C000000007C000000007C000000007C000
172 000007C000000007C000000007C000000007C000000007C000000007C000000007C0FE00
173 0007C3FF800007C703E00007DE01F00007F801F00007F000F80007F000F80007E000F800
174 07E000F80007C000F80007C000F80007C000F80007C000F80007C000F80007C000F80007
175 C000F80007C000F80007C000F80007C000F80007C000F80007C000F80007C000F80007C0
176 00F80007C000F80007C000F80007C000F80007C000F8000FE001FC00FFFE1FFFC0FFFE1F
177 FFC0222E7EAD27>I<07C0FE0000FFC3FF8000FFC703E0000FDE01F00007F801F00007F0
178 00F80007F000F80007E000F80007E000F80007C000F80007C000F80007C000F80007C000
179 F80007C000F80007C000F80007C000F80007C000F80007C000F80007C000F80007C000F8
180 0007C000F80007C000F80007C000F80007C000F80007C000F80007C000F80007C000F800
181 0FE001FC00FFFE1FFFC0FFFE1FFFC0221E7E9D27>110 D<001FE000007FF80001F03E00
182 03C00F00078007800F0003C01F0003E03E0001F03E0001F07C0000F87C0000F87C0000F8
183 FC0000FCFC0000FCFC0000FCFC0000FCFC0000FCFC0000FCFC0000FCFC0000FCFC0000FC
184 7C0000F87C0000F83E0001F03E0001F01F0003E01F0003E00F8007C007C00F8001F03E00
185 007FF800001FE0001E207E9E23>I<07C0FE0000FFC7FF8000FFCF03E0000FDC01F00007
186 F800FC0007F0007E0007E0003E0007C0003F0007C0001F8007C0001F8007C0001F8007C0
187 000FC007C0000FC007C0000FC007C0000FC007C0000FC007C0000FC007C0000FC007C000
188 0FC007C0001FC007C0001F8007C0001F8007C0003F0007C0003F0007E0007E0007F0007C
189 0007F000F80007FC01F00007CE07E00007C7FF800007C1FC000007C000000007C0000000
190 07C000000007C000000007C000000007C000000007C000000007C000000007C00000000F
191 E0000000FFFE000000FFFE000000222B7E9D27>I<0781F0FF87FCFF9E7E0F987E07B87E
192 07B07E07F03C07E00007E00007E00007C00007C00007C00007C00007C00007C00007C000
193 07C00007C00007C00007C00007C00007C00007C00007C00007C00007C0000FE000FFFF00
194 FFFF00171E7E9D1B>114 D<01FE1807FFB81E01F83C00F8780078F00038F00038F00018
195 F00018F80018FC0018FF00007FF0003FFF001FFFC00FFFF001FFF8001FFC0001FCC0007E
196 C0003EC0003EE0001EE0001EF0001EF0001EF8003CF8003CFC0078FF01F0E3FFC0C0FF00
197 17207E9E1C>I<00600000600000600000600000E00000E00000E00001E00003E00003E0
198 0007E0001FE000FFFFF0FFFFF003E00003E00003E00003E00003E00003E00003E00003E0
199 0003E00003E00003E00003E00003E00003E00003E00003E01803E01803E01803E01803E0
200 1803E01803E01803E03801F03001F07000F860003FE0000F80152A7FA81B>I<07C000F8
201 00FFC01FF800FFC01FF8000FC001F80007C000F80007C000F80007C000F80007C000F800
202 07C000F80007C000F80007C000F80007C000F80007C000F80007C000F80007C000F80007
203 C000F80007C000F80007C000F80007C000F80007C000F80007C000F80007C000F80007C0
204 01F80007C001F80007C001F80007C003F80003E007F80003E00EFC0001F81CFFC0007FF8
205 FFC0001FE0F800221F7E9D27>I E
206 %EndDVIPSBitmapFont
207 %DVIPSBitmapFont: Fb ecrm0600 6 1
208 /Fb 1 50 df<00E00001E00007E000FFE000F9E00001E00001E00001E00001E00001E000
209 01E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E000
210 01E00001E00001E00001E00001E00001E00001E00001E00003F000FFFFC0FFFFC012217A
211 A01E>49 D E
212 %EndDVIPSBitmapFont
213 %DVIPSBitmapFont: Fc ecrm0700 7 1
214 /Fc 1 50 df<00380000780001F8001FF800FEF800E0F80000F80000F80000F80000F800
215 00F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F800
216 00F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F800
217 00F80001FC00FFFFF8FFFFF815267BA521>49 D E
218 %EndDVIPSBitmapFont
219 %DVIPSBitmapFont: Fd ecbx1200 12 59
220 /Fd 59 123 df<FFFFFFFFFFFFFEFFFFFFFFFFFFFEFFFFFFFFFFFFFEFFFFFFFFFFFFFE37
221 04809C38>21 D<0000000FFF0000000001FFFFC00000000FFFFFF00000007FFFFFF80000
222 01FFF803FC000003FFC000FE00000FFF0003FE00001FFE0007FF00003FFC000FFF00003F
223 F8000FFF00007FF0000FFF00007FF0001FFF8000FFF0000FFF0000FFE0000FFF0000FFE0
224 000FFF0000FFE0000FFF0000FFE00007FE0000FFE00001F80000FFE00000000000FFE000
225 00000000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE00000
226 000000FFE001FFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF
227 80FFFFFFFFFFFF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF80
228 00FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000
229 FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FF
230 E00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE0
231 0003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE000
232 03FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003
233 FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF807FFFFFC1FFFF
234 FF7FFFFFC1FFFFFF7FFFFFC1FFFFFF7FFFFFC1FFFFFF7FFFFFC1FFFFFF38467EC53E>28
235 D<07C0001FF0003FF8007FFC00FFFE00FFFF00FFFF00FFFF00FFFF80FFFF80FFFF807FFF
236 803FFF801FF78007C780000780000F80000F80000F00000F00001F00001E00003E00003E
237 00007C0000FC0000F80001F00003E00007E0000FC0001F80001F00000C0000112278C41F
238 >39 D<000001E0000003E000000FC000001F8000003F0000007E000000FC000001FC0000
239 03F8000007F0000007E000000FE000001FC000003FC000003F8000007F800000FF000000
240 FF000001FE000001FE000003FC000003FC000007FC000007F8000007F800000FF800000F
241 F000000FF000001FF000001FF000001FE000003FE000003FE000003FE000003FE000007F
242 C000007FC000007FC000007FC000007FC000007FC00000FFC00000FFC00000FF800000FF
243 800000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF
244 800000FF800000FF800000FF800000FFC00000FFC000007FC000007FC000007FC000007F
245 C000007FC000007FC000003FE000003FE000003FE000003FE000001FE000001FF000001F
246 F000000FF000000FF000000FF8000007F8000007F8000007FC000003FC000003FC000001
247 FE000001FE000000FF000000FF0000007F8000003F8000003FC000001FC000000FE00000
248 07E0000007F0000003F8000001FC000000FC0000007E0000003F0000001F8000000FC000
249 0003E0000001E01B6476CA2C>I<F0000000F80000007E0000003F0000001F8000000FC0
250 000007E0000007F0000003F8000001FC000000FC000000FE0000007F0000007F8000003F
251 8000003FC000001FE000001FE000000FF000000FF0000007F8000007F8000007FC000003
252 FC000003FC000003FE000001FE000001FE000001FF000001FF000000FF000000FF800000
253 FF800000FF800000FF8000007FC000007FC000007FC000007FC000007FC000007FC00000
254 7FE000007FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE00000
255 3FE000003FE000003FE000003FE000003FE000003FE000003FE000007FE000007FE00000
256 7FC000007FC000007FC000007FC000007FC000007FC00000FF800000FF800000FF800000
257 FF800000FF000001FF000001FF000001FE000001FE000003FE000003FC000003FC000007
258 FC000007F8000007F800000FF000000FF000001FE000001FE000003FC000003F8000007F
259 8000007F000000FE000000FC000001FC000003F8000007F0000007E000000FC000001F80
260 00003F0000007E000000F8000000F00000001B647ACA2C>I<FFFFFFF8FFFFFFF8FFFFFF
261 F8FFFFFFF8FFFFFFF8FFFFFFF8FFFFFFF8FFFFFFF8FFFFFFF81D097F9A25>45
262 D<07C01FF03FF87FFCFFFEFFFEFFFEFFFEFFFEFFFEFFFE7FFC3FF81FF007C00F0F788E1F
263 >I<0000000000C00000000001E00000000003E00000000003E00000000003C000000000
264 07C00000000007C0000000000F80000000000F80000000000F00000000001F0000000000
265 1F00000000003E00000000003E00000000003C00000000007C00000000007C0000000000
266 F80000000000F80000000001F00000000001F00000000001E00000000003E00000000003
267 E00000000007C00000000007C0000000000780000000000F80000000000F80000000001F
268 00000000001F00000000001E00000000003E00000000003E00000000007C00000000007C
269 0000000000780000000000F80000000000F80000000001F00000000001F00000000001E0
270 0000000003E00000000003E00000000007C00000000007C0000000000780000000000F80
271 000000000F80000000001F00000000001F00000000003E00000000003E00000000003C00
272 000000007C00000000007C0000000000F80000000000F80000000000F00000000001F000
273 00000001F00000000003E00000000003E00000000003C00000000007C00000000007C000
274 0000000F80000000000F80000000000F00000000001F00000000001F00000000003E0000
275 0000003E00000000003C00000000007C00000000007C0000000000F80000000000F80000
276 000000F00000000001F00000000001F00000000003E00000000003E00000000007C00000
277 000007C0000000000780000000000F80000000000F80000000001F00000000001F000000
278 00001E00000000003E00000000003E00000000007C00000000007C000000000078000000
279 0000F80000000000F80000000000F000000000006000000000002B647ACA38>I<00003F
280 F800000001FFFF0000000FFFFFE000003FFFFFF800007FF01FFC0000FFC007FE0001FF00
281 01FF0003FE0000FF8007FE0000FFC007FC00007FC00FFC00007FE00FF800003FE01FF800
282 003FF01FF800003FF03FF800003FF83FF800003FF83FF000001FF87FF000001FFC7FF000
283 001FFC7FF000001FFC7FF000001FFC7FF000001FFC7FF000001FFCFFF000001FFEFFF000
284 001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF000
285 001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF000
286 001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF000
287 001FFEFFF000001FFE7FF000001FFC7FF000001FFC7FF000001FFC7FF000001FFC7FF000
288 001FFC3FF800003FF83FF800003FF83FF800003FF81FF800003FF01FF800003FF00FF800
289 003FE00FFC00007FE007FC00007FC007FE0000FFC003FF0001FF8001FF8003FF0000FFC0
290 07FE00007FF01FFC00003FFFFFF800000FFFFFE0000003FFFF800000003FF800002F427C
291 C038>I<000003C000000007C00000001FC00000007FC0000003FFC000003FFFC000FFFF
292 FFC000FFFFFFC000FFFFFFC000FFFFFFC000FFC3FFC0000003FFC0000003FFC0000003FF
293 C0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0
294 000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC000
295 0003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC00000
296 03FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003
297 FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FF
298 C0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0
299 000003FFC0000003FFC0000003FFC000FFFFFFFFFCFFFFFFFFFCFFFFFFFFFCFFFFFFFFFC
300 FFFFFFFFFC264177C038>I<0000FFE00000000FFFFE0000003FFFFF800000FFFFFFE000
301 03FFFFFFF80007FC03FFFE000FE0007FFF001F80003FFF803F00000FFFC07F000007FFC0
302 7FC00007FFE07FF00003FFE0FFF00001FFF0FFF80001FFF0FFF80001FFF8FFF80000FFF8
303 FFF80000FFF8FFF80000FFF8FFF80000FFF87FF00000FFF83FE00000FFF81FC00000FFF8
304 00000000FFF800000000FFF000000001FFF000000001FFF000000001FFE000000003FFE0
305 00000003FFC000000007FF800000000FFF000000000FFF000000001FFC000000003FF800
306 0000003FF0000000007FE000000000FFC000000001FF0000000003FE0000000007FC0000
307 00000FF0000000001FE0000000003F80000000007F0000780000FE0000780001FC000078
308 0003F80000F80007E00000F0000FC00000F0001F800000F0003F000000F0007C000001F0
309 00F8000003F001FFFFFFFFF003FFFFFFFFE007FFFFFFFFE00FFFFFFFFFE01FFFFFFFFFE0
310 3FFFFFFFFFE07FFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC0
311 FFFFFFFFFFC02D417BC038>I<0000FFF000000007FFFF0000001FFFFFC000007FFFFFF0
312 0000FF007FF80003F8003FFE0007E0001FFF0007E0000FFF000FF80007FF800FFE0007FF
313 801FFE0007FFC01FFF0007FFC01FFF0007FFC01FFF0007FFC01FFF0007FFC01FFF0007FF
314 C01FFF0007FFC00FFE0007FFC007FC0007FF8003F8000FFF800000000FFF000000001FFF
315 000000001FFE000000003FFC000000007FF800000000FFF000000001FFE00000000FFF80
316 000007FFFE00000007FFF800000007FFFF00000007FFFFC000000000FFF0000000003FFC
317 000000000FFE000000000FFF8000000007FF8000000003FFC000000003FFE000000003FF
318 E000000001FFF000000001FFF000000001FFF800000001FFF800000001FFF80FC00001FF
319 F83FF00001FFF87FF80001FFF87FF80001FFF8FFFC0001FFF8FFFC0001FFF8FFFC0001FF
320 F0FFFC0001FFF0FFFC0003FFF0FFFC0003FFE07FF80003FFE07FF00007FFC07FE00007FF
321 C03F80000FFF801FF0001FFF000FFE00FFFE0007FFFFFFF80001FFFFFFF000007FFFFFC0
322 00001FFFFE00000001FFE000002D427BC038>I<000000003F0000000000003F00000000
323 00007F000000000000FF000000000001FF000000000003FF000000000003FF0000000000
324 07FF00000000000FFF00000000001FFF00000000003FFF00000000003FFF00000000007F
325 FF0000000000FFFF0000000001F7FF0000000003E7FF0000000007E7FF0000000007C7FF
326 000000000F87FF000000001F07FF000000003E07FF000000007E07FF000000007C07FF00
327 000000F807FF00000001F007FF00000003E007FF00000007E007FF00000007C007FF0000
328 000F8007FF0000001F0007FF0000003E0007FF0000007C0007FF0000007C0007FF000000
329 F80007FF000001F00007FF000003E00007FF000007C00007FF00000FC00007FF00000F80
330 0007FF00001F000007FF00003E000007FF00007C000007FF0000FC000007FF0000FFFFFF
331 FFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF800000000F
332 FF00000000000FFF00000000000FFF00000000000FFF00000000000FFF00000000000FFF
333 00000000000FFF00000000000FFF00000000000FFF00000000000FFF00000000000FFF00
334 000000000FFF000000007FFFFFFF8000007FFFFFFF8000007FFFFFFF8000007FFFFFFF80
335 00007FFFFFFF8031417DC038>I<07000000030007E000003F0007FF0007FF0007FFFFFF
336 FF0007FFFFFFFE0007FFFFFFFC0007FFFFFFF80007FFFFFFF00007FFFFFFE00007FFFFFF
337 800007FFFFFE000007FFFFFC000007FFFFE0000007FFFF00000007C00000000007C00000
338 000007C00000000007C00000000007C00000000007C00000000007C00000000007C00000
339 000007C00000000007C00000000007C03FF0000007C1FFFF000007C7FFFFC00007DFFFFF
340 F00007FFE03FFC0007FF000FFE0007FC0007FF0007F00003FF8007E00003FFC007C00001
341 FFC003800001FFE000000001FFE000000000FFF000000000FFF000000000FFF000000000
342 FFF800000000FFF800000000FFF800000000FFF80F800000FFF83FE00000FFF87FF00000
343 FFF8FFF00000FFF8FFF80000FFF8FFF80000FFF8FFF80000FFF8FFF80000FFF0FFF00000
344 FFF0FFF00001FFF07FE00001FFE07FC00001FFE07E000003FFC03E000003FFC03F000007
345 FF801FC0000FFF000FF0001FFE0007FE00FFFC0003FFFFFFF00000FFFFFFE000003FFFFF
346 8000000FFFFC00000001FFC000002D427BC038>I<000001FF800000001FFFF00000007F
347 FFFC000001FFFFFF000007FF807F80000FFC001F80003FF0001FC0007FE0007FC000FFC0
348 00FFE001FF8001FFE003FF8001FFE003FF0001FFE007FE0001FFE00FFE0001FFE00FFE00
349 01FFE01FFC0000FFC01FFC00007F801FFC00001E003FFC000000003FFC000000003FF800
350 0000007FF8000000007FF8000000007FF807FC00007FF81FFF8000FFF87FFFE000FFF8FF
351 FFF800FFF9F01FFC00FFFBC007FE00FFFF8003FF00FFFF8003FF80FFFF0001FFC0FFFE00
352 01FFC0FFFE0000FFE0FFFE0000FFE0FFFC0000FFF0FFFC0000FFF0FFFC0000FFF0FFFC00
353 00FFF8FFF80000FFF8FFF80000FFF8FFF80000FFF8FFF80000FFF87FF80000FFF87FF800
354 00FFF87FF80000FFF87FF80000FFF87FF80000FFF83FF80000FFF83FF80000FFF83FF800
355 00FFF03FFC0000FFF01FFC0000FFF01FFC0000FFF00FFC0001FFE00FFC0001FFE007FE00
356 01FFC007FF0003FF8003FF8003FF0001FFC007FE0000FFE01FFC00007FFFFFF800001FFF
357 FFF0000007FFFFC0000001FFFF000000003FF000002D427BC038>I<1E00000000001F00
358 000000001FFC000000001FFFFFFFFFFE1FFFFFFFFFFE1FFFFFFFFFFE1FFFFFFFFFFE3FFF
359 FFFFFFFE3FFFFFFFFFFC3FFFFFFFFFF83FFFFFFFFFF03FFFFFFFFFE03FFFFFFFFFC03FFF
360 FFFFFFC07FFFFFFFFF807E0000003F007C0000007E007C000000FC0078000000F8007800
361 0001F80078000003F000F8000007E000F000000FC000F000000F8000F000001F80000000
362 003F00000000007E0000000000FC0000000000FC0000000001F80000000003F800000000
363 03F00000000007F0000000000FE0000000000FE0000000001FE0000000001FC000000000
364 3FC0000000003FC0000000007FC0000000007F8000000000FF8000000000FF8000000001
365 FF8000000001FF8000000001FF8000000003FF8000000003FF0000000003FF0000000003
366 FF0000000007FF0000000007FF0000000007FF0000000007FF0000000007FF000000000F
367 FF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000F
368 FF000000000FFF000000000FFF000000000FFF0000000007FE0000000003FC0000000001
369 F80000002F447AC238>I<00007FF000000003FFFF0000000FFFFFC000003FFFFFF00000
370 7F801FFC0001FC0003FE0003F80001FF0003F00000FF0007E000007F8007E000003F800F
371 C000003FC00FC000003FC01FC000001FC01FC000001FC01FE000001FC01FE000001FC01F
372 F000001FC01FF800001FC01FFE00003FC01FFF00003F801FFFC0007F801FFFF0007F000F
373 FFFC00FF000FFFFE01FE0007FFFF83FC0007FFFFE7F80003FFFFFFE00001FFFFFFC00000
374 FFFFFF0000007FFFFFC000003FFFFFE000000FFFFFF800000FFFFFFC00003FFFFFFE0000
375 FFFFFFFF0001FF3FFFFF8007FC0FFFFFC00FF803FFFFE01FF000FFFFE01FE0007FFFF03F
376 E0001FFFF07FC00007FFF07F800003FFF87F800000FFF8FF8000007FF8FF0000003FF8FF
377 0000001FF8FF0000000FF8FF0000000FF8FF00000007F8FF00000007F8FF00000007F8FF
378 80000007F07F80000007F07F8000000FF07FC000000FE03FE000001FE03FF000003FC01F
379 F800007F800FFE0001FF0007FFC00FFE0003FFFFFFFC0000FFFFFFF000003FFFFFC00000
380 0FFFFF00000000FFF000002D427BC038>I<07C01FF03FF87FFCFFFEFFFEFFFEFFFEFFFE
381 FFFEFFFE7FFC3FF81FF007C0000000000000000000000000000000000000000000000000
382 0000000007C01FF03FF87FFCFFFEFFFEFFFEFFFEFFFEFFFEFFFE7FFC3FF81FF007C00F2C
383 78AB1F>58 D<00000003FFF0000000000000007FFFFF80000000000003FFFFFFF0000000
384 00000FFFFFFFFC00000000003FFC000FFF0000000000FFC00000FFC000000003FE000000
385 1FF000000007F000000003F80000001FC000000000FE0000003F80000000007F0000007E
386 00000000001F800000FC00000000000FC00001F8000000000007E00001F00000FF800003
387 E00003E0000FFFF00001F00007C0003FFFFC0000F80007C000FFFFFF0000F8000F8001FF
388 C07F80007C000F0003FF001FC0003C001F0007FE0007E0003E001E000FFC0003F0001E00
389 3E001FF80001F0001F003E003FF80000FFE01F003C003FF00000FFE00F007C007FF00000
390 FFE00F8078007FF00000FFE007807800FFE00000FFE007807800FFE00000FFE007807800
391 FFE00000FFE00780F800FFE00000FFE007C0F001FFC00000FFE003C0F001FFC00000FFE0
392 03C0F001FFC00000FFE003C0F001FFC00000FFE003C0F001FFC00000FFE003C0F001FFC0
393 0000FFE003C0F001FFC00000FFE003C0F001FFC00000FFE003C0F001FFC00000FFE003C0
394 F001FFC00000FFE003C0F001FFC00000FFE003C0F800FFE00000FFE003C07800FFE00000
395 FFE003C07800FFE00000FFE003807800FFE00000FFE0078078007FF00000FFE007807C00
396 7FF00000FFE007803C003FF00000FFE007803E003FF80000FFE007003E001FF80001FFE0
397 0F001E000FFC0003FFE00F001F0007FE0007FFF01E000F0003FF001FFFF03E000F8001FF
398 C07FFFF87C0007C000FFFFFF3FFFF80007C0003FFFFC0FFFF00003E0000FFFF003FFE000
399 01F00000FF80007F800001F8000000000000000000FC0000000000000000007E00000000
400 00000000003F8000000000000000001FC000000000007FC00007F00000000003FFC00003
401 FE000000003FFF000000FFC0000003FFF80000003FFC0001FFFFC00000000FFFFFFFFFFE
402 0000000003FFFFFFFFE000000000007FFFFFFC00000000000003FFFE000000004A477AC5
403 57>64 D<000000001F8000000000000000001F8000000000000000003FC0000000000000
404 00003FC000000000000000007FE000000000000000007FE000000000000000007FE00000
405 000000000000FFF00000000000000000FFF00000000000000001FFF80000000000000001
406 FFF80000000000000001FFF80000000000000003FFFC0000000000000003FFFC00000000
407 00000007FFFE0000000000000007FFFE0000000000000007FFFE000000000000000FFFFF
408 000000000000000F9FFF000000000000001F9FFF800000000000001F1FFF800000000000
409 001F0FFF800000000000003F0FFFC00000000000003E07FFC00000000000007E07FFE000
410 00000000007C07FFE00000000000007C03FFE0000000000000FC03FFF0000000000000F8
411 01FFF0000000000001F801FFF8000000000001F001FFF8000000000001F000FFF8000000
412 000003F000FFFC000000000003E0007FFC000000000007E0007FFE000000000007C0007F
413 FE000000000007C0003FFE00000000000FC0003FFF00000000000F80001FFF0000000000
414 1F80001FFF80000000001F00000FFF80000000001F00000FFF80000000003F00000FFFC0
415 000000003E000007FFC0000000007E000007FFE0000000007FFFFFFFFFE0000000007FFF
416 FFFFFFE000000000FFFFFFFFFFF000000000FFFFFFFFFFF000000001FFFFFFFFFFF80000
417 0001F0000000FFF800000001F0000000FFF800000003F0000000FFFC00000003E0000000
418 7FFC00000007E00000007FFE00000007C00000003FFE00000007C00000003FFE0000000F
419 800000003FFF0000000F800000001FFF0000001F800000001FFF8000001F000000000FFF
420 8000003F000000000FFFC000003E000000000FFFC000007E0000000007FFC000FFFFFF00
421 000FFFFFFFF0FFFFFF00000FFFFFFFF0FFFFFF00000FFFFFFFF0FFFFFF00000FFFFFFFF0
422 FFFFFF00000FFFFFFFF04C457CC455>I<FFFFFFFFFFFF000000FFFFFFFFFFFFF00000FF
423 FFFFFFFFFFFE0000FFFFFFFFFFFFFF8000FFFFFFFFFFFFFFE000003FFC000007FFF00000
424 3FFC000001FFF800003FFC0000007FFC00003FFC0000003FFE00003FFC0000001FFF0000
425 3FFC0000001FFF00003FFC0000000FFF80003FFC0000000FFF80003FFC0000000FFF8000
426 3FFC00000007FFC0003FFC00000007FFC0003FFC00000007FFC0003FFC00000007FFC000
427 3FFC00000007FFC0003FFC00000007FFC0003FFC00000007FFC0003FFC0000000FFF8000
428 3FFC0000000FFF80003FFC0000001FFF00003FFC0000001FFF00003FFC0000003FFE0000
429 3FFC0000007FFC00003FFC000000FFF800003FFC000001FFF000003FFC000007FFE00000
430 3FFC0000FFFF8000003FFFFFFFFFFC0000003FFFFFFFFFF00000003FFFFFFFFFFF000000
431 3FFFFFFFFFFFE000003FFC000001FFF800003FFC0000007FFC00003FFC0000001FFE0000
432 3FFC0000000FFF00003FFC00000007FF80003FFC00000007FFC0003FFC00000003FFE000
433 3FFC00000003FFE0003FFC00000001FFF0003FFC00000001FFF0003FFC00000001FFF000
434 3FFC00000001FFF8003FFC00000001FFF8003FFC00000001FFF8003FFC00000001FFF800
435 3FFC00000001FFF8003FFC00000001FFF8003FFC00000001FFF8003FFC00000001FFF000
436 3FFC00000001FFF0003FFC00000003FFF0003FFC00000003FFE0003FFC00000007FFE000
437 3FFC0000000FFFC0003FFC0000001FFFC0003FFC0000003FFF80003FFC000000FFFF0000
438 3FFC000007FFFE00FFFFFFFFFFFFFFF800FFFFFFFFFFFFFFF000FFFFFFFFFFFFFFC000FF
439 FFFFFFFFFFFE0000FFFFFFFFFFFFE0000045447CC350>I<00000000FFF0000070000000
440 1FFFFF0000F0000001FFFFFFE001F0000007FFFFFFF803F000003FFFFFFFFE07F00000FF
441 FFE001FF0FF00001FFFE00003F9FF00007FFF000000FFFF0000FFFC0000007FFF0001FFF
442 00000003FFF0003FFE00000001FFF0007FFC00000000FFF000FFF8000000007FF001FFF0
443 000000003FF003FFE0000000001FF007FFE0000000001FF007FFC0000000000FF00FFF80
444 000000000FF00FFF800000000007F01FFF000000000007F01FFF000000000003F03FFF00
445 0000000003F03FFE000000000003F03FFE000000000003F07FFE000000000001F07FFE00
446 0000000001F07FFE000000000001F07FFC00000000000000FFFC00000000000000FFFC00
447 000000000000FFFC00000000000000FFFC00000000000000FFFC00000000000000FFFC00
448 000000000000FFFC00000000000000FFFC00000000000000FFFC00000000000000FFFC00
449 000000000000FFFC00000000000000FFFC00000000000000FFFC00000000000000FFFC00
450 0000000000007FFC000000000000007FFE000000000000007FFE000000000000F07FFE00
451 0000000000F03FFE000000000000F03FFE000000000000F03FFF000000000000F01FFF00
452 0000000001F01FFF000000000001E00FFF800000000001E00FFF800000000003E007FFC0
453 0000000003C007FFE00000000007C003FFE00000000007C001FFF0000000000F8000FFF8
454 000000001F00007FFC000000003F00003FFE000000007E00001FFF80000000FC00000FFF
455 C0000001F8000007FFF0000007F0000001FFFE00001FE0000000FFFFF001FF800000003F
456 FFFFFFFF0000000007FFFFFFFC0000000001FFFFFFF000000000001FFFFF800000000000
457 00FFF800000044467AC451>I<FFFFFFFFFFFF00000000FFFFFFFFFFFFF0000000FFFFFF
458 FFFFFFFE000000FFFFFFFFFFFFFF800000FFFFFFFFFFFFFFE00000003FFE00001FFFF800
459 00003FFE000001FFFC0000003FFE0000003FFF0000003FFE0000000FFF8000003FFE0000
460 0007FFC000003FFE00000003FFE000003FFE00000001FFF000003FFE00000000FFF00000
461 3FFE000000007FF800003FFE000000003FFC00003FFE000000003FFC00003FFE00000000
462 1FFE00003FFE000000001FFE00003FFE000000000FFF00003FFE000000000FFF00003FFE
463 000000000FFF80003FFE000000000FFF80003FFE0000000007FF80003FFE0000000007FF
464 C0003FFE0000000007FFC0003FFE0000000007FFC0003FFE0000000007FFC0003FFE0000
465 000007FFC0003FFE0000000007FFE0003FFE0000000007FFE0003FFE0000000007FFE000
466 3FFE0000000007FFE0003FFE0000000007FFE0003FFE0000000007FFE0003FFE00000000
467 07FFE0003FFE0000000007FFE0003FFE0000000007FFE0003FFE0000000007FFE0003FFE
468 0000000007FFE0003FFE0000000007FFE0003FFE0000000007FFE0003FFE0000000007FF
469 C0003FFE0000000007FFC0003FFE0000000007FFC0003FFE0000000007FFC0003FFE0000
470 000007FFC0003FFE0000000007FF80003FFE000000000FFF80003FFE000000000FFF8000
471 3FFE000000000FFF00003FFE000000001FFF00003FFE000000001FFE00003FFE00000000
472 3FFE00003FFE000000003FFC00003FFE000000007FF800003FFE00000000FFF800003FFE
473 00000000FFF000003FFE00000001FFE000003FFE00000007FFC000003FFE0000000FFF80
474 00003FFE0000003FFF0000003FFE000001FFFE0000003FFE00000FFFF80000FFFFFFFFFF
475 FFFFF00000FFFFFFFFFFFFFFC00000FFFFFFFFFFFFFE000000FFFFFFFFFFFFF0000000FF
476 FFFFFFFFFF000000004B447CC356>I<FFFFFFFFFFFFFFF800FFFFFFFFFFFFFFF800FFFF
477 FFFFFFFFFFF800FFFFFFFFFFFFFFF800FFFFFFFFFFFFFFFC00001FFF000001FFFC00001F
478 FF0000003FFC00001FFF0000000FFC00001FFF00000003FC00001FFF00000001FC00001F
479 FF00000000FC00001FFF00000000FC00001FFF000000007E00001FFF000000003E00001F
480 FF000000003E00001FFF000000003E00001FFF000000001E00001FFF000000001E00001F
481 FF000078001E00001FFF000078001E00001FFF000078000F00001FFF000078000F00001F
482 FF000078000F00001FFF000078000F00001FFF0000F8000000001FFF0000F8000000001F
483 FF0000F8000000001FFF0001F8000000001FFF0003F8000000001FFF001FF8000000001F
484 FFFFFFF8000000001FFFFFFFF8000000001FFFFFFFF8000000001FFFFFFFF8000000001F
485 FFFFFFF8000000001FFF001FF8000000001FFF0003F8000000001FFF0001F8000000001F
486 FF0000F8000000001FFF0000F8000000001FFF0000F80001E0001FFF0000780001E0001F
487 FF0000780001E0001FFF0000780003C0001FFF0000780003C0001FFF0000780003C0001F
488 FF0000780003C0001FFF0000000003C0001FFF0000000007C0001FFF0000000007C0001F
489 FF000000000780001FFF000000000780001FFF000000000F80001FFF000000000F80001F
490 FF000000001F80001FFF000000001F80001FFF000000003F80001FFF000000007F00001F
491 FF00000000FF00001FFF00000001FF00001FFF00000007FF00001FFF0000001FFF00001F
492 FF000001FFFF00FFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFE00FFFFFFFFFFFFFFFE00FFFF
493 FFFFFFFFFFFE00FFFFFFFFFFFFFFFE0043447DC34A>I<FFFFFFFFFFFFFF80FFFFFFFFFF
494 FFFF80FFFFFFFFFFFFFF80FFFFFFFFFFFFFF80FFFFFFFFFFFFFFC0003FFE00001FFFC000
495 3FFE000001FFC0003FFE0000007FC0003FFE0000003FC0003FFE0000001FC0003FFE0000
496 000FC0003FFE00000007C0003FFE00000007E0003FFE00000003E0003FFE00000003E000
497 3FFE00000003E0003FFE00000001E0003FFE00000001E0003FFE00000001E0003FFE0001
498 E001E0003FFE0001E000F0003FFE0001E000F0003FFE0001E000F0003FFE0001E000F000
499 3FFE0001E00000003FFE0003E00000003FFE0003E00000003FFE0003E00000003FFE0007
500 E00000003FFE000FE00000003FFE007FE00000003FFFFFFFE00000003FFFFFFFE0000000
501 3FFFFFFFE00000003FFFFFFFE00000003FFFFFFFE00000003FFE007FE00000003FFE000F
502 E00000003FFE0007E00000003FFE0003E00000003FFE0003E00000003FFE0003E0000000
503 3FFE0001E00000003FFE0001E00000003FFE0001E00000003FFE0001E00000003FFE0001
504 E00000003FFE0001E00000003FFE0000000000003FFE0000000000003FFE000000000000
505 3FFE0000000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE0000
506 000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE000000000000
507 3FFE0000000000003FFE0000000000003FFE0000000000FFFFFFFFF0000000FFFFFFFFF0
508 000000FFFFFFFFF0000000FFFFFFFFF0000000FFFFFFFFF00000003C447CC346>I<FFFF
509 FFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0001FFF0000001FFF0000001FFF
510 0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF00
511 00001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000
512 001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF000000
513 1FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001F
514 FF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF
515 0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF00
516 00001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000
517 001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000FFFFFFFFE0FFFFFFFFE0FF
518 FFFFFFE0FFFFFFFFE0FFFFFFFFE023447DC32A>73 D<FFFFFFFFF0000000FFFFFFFFF000
519 0000FFFFFFFFF0000000FFFFFFFFF0000000FFFFFFFFF0000000003FFE0000000000003F
520 FE0000000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE000000
521 0000003FFE0000000000003FFE0000000000003FFE0000000000003FFE0000000000003F
522 FE0000000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE000000
523 0000003FFE0000000000003FFE0000000000003FFE0000000000003FFE0000000000003F
524 FE0000000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE000000
525 0000003FFE0000000000003FFE0000000000003FFE0000000000003FFE0000000000003F
526 FE0000000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE000000
527 0000003FFE0000000000003FFE0000000000003FFE0000000780003FFE0000000780003F
528 FE0000000780003FFE0000000780003FFE0000000F80003FFE0000000F00003FFE000000
529 0F00003FFE0000000F00003FFE0000000F00003FFE0000001F00003FFE0000001F00003F
530 FE0000001F00003FFE0000003F00003FFE0000003F00003FFE0000007E00003FFE000000
531 7E00003FFE000000FE00003FFE000001FE00003FFE000003FE00003FFE000007FE00003F
532 FE00001FFE00003FFE00007FFE00003FFE0003FFFE00FFFFFFFFFFFFFC00FFFFFFFFFFFF
533 FC00FFFFFFFFFFFFFC00FFFFFFFFFFFFFC00FFFFFFFFFFFFFC0039447CC343>76
534 D<FFFFFE0000000000007FFFFF80FFFFFF000000000000FFFFFF80FFFFFF000000000000
535 FFFFFF80FFFFFF800000000001FFFFFF80FFFFFF800000000001FFFFFF80003FFF800000
536 000001FFFE0000003DFFC00000000003DFFE0000003DFFC00000000003DFFE0000003CFF
537 E000000000079FFE0000003CFFE000000000079FFE0000003C7FF0000000000F1FFE0000
538 003C7FF0000000000F1FFE0000003C3FF8000000001E1FFE0000003C3FF8000000001E1F
539 FE0000003C1FFC000000003C1FFE0000003C1FFC000000003C1FFE0000003C1FFC000000
540 003C1FFE0000003C0FFE00000000781FFE0000003C0FFE00000000781FFE0000003C07FF
541 00000000F01FFE0000003C07FF00000000F01FFE0000003C03FF80000001E01FFE000000
542 3C03FF80000001E01FFE0000003C01FFC0000003C01FFE0000003C01FFC0000003C01FFE
543 0000003C01FFC0000003C01FFE0000003C00FFE0000007801FFE0000003C00FFE0000007
544 801FFE0000003C007FF000000F001FFE0000003C007FF000000F001FFE0000003C003FF8
545 00001E001FFE0000003C003FF800001E001FFE0000003C001FFC00003C001FFE0000003C
546 001FFC00003C001FFE0000003C001FFC00003C001FFE0000003C000FFE000078001FFE00
547 00003C000FFE000078001FFE0000003C0007FF0000F0001FFE0000003C0007FF0000F000
548 1FFE0000003C0003FF8001E0001FFE0000003C0003FF8001E0001FFE0000003C0001FFC0
549 03C0001FFE0000003C0001FFC003C0001FFE0000003C0000FFE00780001FFE0000003C00
550 00FFE00780001FFE0000003C0000FFE00780001FFE0000003C00007FF00F00001FFE0000
551 003C00007FF00F00001FFE0000003C00003FF81E00001FFE0000003C00003FF81E00001F
552 FE0000003C00001FFC3C00001FFE0000003C00001FFC3C00001FFE0000003C00000FFE78
553 00001FFE0000003C00000FFE7800001FFE0000003C00000FFE7800001FFE0000003C0000
554 07FFF000001FFE0000003C000007FFF000001FFE0000003C000003FFE000001FFE000000
555 3C000003FFE000001FFE0000003C000001FFC000001FFE0000003C000001FFC000001FFE
556 0000003C000000FF8000001FFE0000003C000000FF8000001FFE0000FFFFFF0000FF8000
557 7FFFFFFF80FFFFFF00007F00007FFFFFFF80FFFFFF00007F00007FFFFFFF80FFFFFF0000
558 3E00007FFFFFFF80FFFFFF00001C00007FFFFFFF8061447CC36A>I<FFFFFF00000001FF
559 FFFEFFFFFF80000001FFFFFEFFFFFFC0000001FFFFFEFFFFFFC0000001FFFFFEFFFFFFE0
560 000001FFFFFE003FFFF0000000007800003FFFF8000000007800003DFFFC000000007800
561 003DFFFE000000007800003CFFFE000000007800003C7FFF000000007800003C3FFF8000
562 00007800003C1FFFC00000007800003C0FFFE00000007800003C07FFF00000007800003C
563 07FFF80000007800003C03FFF80000007800003C01FFFC0000007800003C00FFFE000000
564 7800003C007FFF0000007800003C003FFF8000007800003C003FFFC000007800003C001F
565 FFC000007800003C000FFFE000007800003C0007FFF000007800003C0003FFF800007800
566 003C0001FFFC00007800003C0000FFFE00007800003C0000FFFF00007800003C00007FFF
567 00007800003C00003FFF80007800003C00001FFFC0007800003C00000FFFE0007800003C
568 000007FFF0007800003C000007FFF8007800003C000003FFF8007800003C000001FFFC00
569 7800003C000000FFFE007800003C0000007FFF007800003C0000003FFF807800003C0000
570 001FFFC07800003C0000001FFFE07800003C0000000FFFE07800003C00000007FFF07800
571 003C00000003FFF87800003C00000001FFFC7800003C00000000FFFE7800003C00000000
572 FFFF7800003C000000007FFF7800003C000000003FFFF800003C000000001FFFF800003C
573 000000000FFFF800003C0000000007FFF800003C0000000003FFF800003C0000000003FF
574 F800003C0000000001FFF800003C0000000000FFF800003C00000000007FF800003C0000
575 0000003FF800003C00000000001FF800003C00000000001FF800003C00000000000FF800
576 003C000000000007F800FFFFFF0000000003F800FFFFFF0000000001F800FFFFFF000000
577 0000F800FFFFFF00000000007800FFFFFF000000000078004F447CC358>I<00000007FF
578 C0000000000000FFFFFE000000000007FFFFFFC0000000001FFFFFFFF0000000007FFE00
579 FFFC00000001FFF0001FFF00000007FF800003FFC000000FFF000001FFE000001FFC0000
580 007FF000003FF80000003FF800007FF00000001FFC0000FFF00000001FFE0001FFE00000
581 000FFF0003FFC000000007FF8003FFC000000007FF8007FF8000000003FFC007FF800000
582 0003FFC00FFF0000000001FFE00FFF0000000001FFE01FFF0000000001FFF01FFE000000
583 0000FFF03FFE0000000000FFF83FFE0000000000FFF83FFE0000000000FFF87FFE000000
584 0000FFFC7FFC00000000007FFC7FFC00000000007FFC7FFC00000000007FFC7FFC000000
585 00007FFCFFFC00000000007FFEFFFC00000000007FFEFFFC00000000007FFEFFFC000000
586 00007FFEFFFC00000000007FFEFFFC00000000007FFEFFFC00000000007FFEFFFC000000
587 00007FFEFFFC00000000007FFEFFFC00000000007FFEFFFC00000000007FFEFFFC000000
588 00007FFEFFFC00000000007FFE7FFC00000000007FFC7FFE0000000000FFFC7FFE000000
589 0000FFFC7FFE0000000000FFFC3FFE0000000000FFF83FFE0000000000FFF83FFF000000
590 0001FFF81FFF0000000001FFF01FFF0000000001FFF01FFF8000000003FFF00FFF800000
591 0003FFE00FFF8000000003FFE007FFC000000007FFC003FFC000000007FF8003FFE00000
592 000FFF8001FFF00000001FFF0000FFF80000003FFE00007FFC0000007FFC00003FFE0000
593 00FFF800001FFF000001FFF000000FFFC00007FFE0000007FFF0001FFFC0000001FFFE00
594 FFFF00000000FFFFFFFFFE000000003FFFFFFFF80000000007FFFFFFC00000000000FFFF
595 FE00000000000007FFC000000047467AC454>I<FFFFFFFFFFFF000000FFFFFFFFFFFFF0
596 0000FFFFFFFFFFFFFE0000FFFFFFFFFFFFFF8000FFFFFFFFFFFFFFE000001FFF00000FFF
597 F000001FFF000001FFF800001FFF0000007FFC00001FFF0000003FFE00001FFF0000001F
598 FF00001FFF0000000FFF80001FFF0000000FFF80001FFF0000000FFFC0001FFF00000007
599 FFC0001FFF00000007FFC0001FFF00000007FFE0001FFF00000007FFE0001FFF00000007
600 FFE0001FFF00000007FFE0001FFF00000007FFE0001FFF00000007FFE0001FFF00000007
601 FFE0001FFF00000007FFE0001FFF00000007FFE0001FFF00000007FFC0001FFF00000007
602 FFC0001FFF0000000FFF80001FFF0000000FFF80001FFF0000000FFF00001FFF0000001F
603 FF00001FFF0000003FFE00001FFF0000007FFC00001FFF000001FFF800001FFF00000FFF
604 F000001FFFFFFFFFFFC000001FFFFFFFFFFF0000001FFFFFFFFFFC0000001FFFFFFFFFC0
605 0000001FFF000000000000001FFF000000000000001FFF000000000000001FFF00000000
606 0000001FFF000000000000001FFF000000000000001FFF000000000000001FFF00000000
607 0000001FFF000000000000001FFF000000000000001FFF000000000000001FFF00000000
608 0000001FFF000000000000001FFF000000000000001FFF000000000000001FFF00000000
609 0000001FFF000000000000001FFF000000000000001FFF000000000000001FFF00000000
610 0000001FFF000000000000001FFF000000000000001FFF000000000000001FFF00000000
611 0000001FFF000000000000FFFFFFFFE000000000FFFFFFFFE000000000FFFFFFFFE00000
612 0000FFFFFFFFE000000000FFFFFFFFE00000000043447DC34D>I<FFFFFFFFFFF8000000
613 00FFFFFFFFFFFFC0000000FFFFFFFFFFFFF8000000FFFFFFFFFFFFFE000000FFFFFFFFFF
614 FFFF800000001FFF00003FFFE00000001FFF000003FFF00000001FFF000000FFF8000000
615 1FFF0000007FFC0000001FFF0000003FFE0000001FFF0000001FFF0000001FFF0000001F
616 FF0000001FFF0000001FFF8000001FFF0000000FFF8000001FFF0000000FFF8000001FFF
617 0000000FFFC000001FFF0000000FFFC000001FFF0000000FFFC000001FFF0000000FFFC0
618 00001FFF0000000FFFC000001FFF0000000FFFC000001FFF0000000FFFC000001FFF0000
619 000FFF8000001FFF0000000FFF8000001FFF0000001FFF0000001FFF0000001FFF000000
620 1FFF0000003FFE0000001FFF0000003FFC0000001FFF0000007FFC0000001FFF000001FF
621 F00000001FFF000007FFE00000001FFF00003FFF800000001FFFFFFFFFFF000000001FFF
622 FFFFFFF8000000001FFFFFFFFFE0000000001FFFFFFFFFF8000000001FFF0000FFFC0000
623 00001FFF00003FFF000000001FFF00000FFF800000001FFF000007FFC00000001FFF0000
624 03FFE00000001FFF000003FFE00000001FFF000001FFF00000001FFF000001FFF0000000
625 1FFF000000FFF80000001FFF000000FFF80000001FFF000000FFF80000001FFF000000FF
626 F80000001FFF000000FFF80000001FFF000000FFF80000001FFF000000FFF80000001FFF
627 000000FFFC0000001FFF000000FFFC0000001FFF000000FFFC0000001FFF000000FFFC00
628 00001FFF000000FFFC0000001FFF000000FFFC0000001FFF000000FFFC000F001FFF0000
629 00FFFE000F001FFF000000FFFE000F001FFF0000007FFE000F001FFF0000007FFF001F00
630 1FFF0000003FFF001EFFFFFFFFE0001FFF803EFFFFFFFFE0000FFFE0FCFFFFFFFFE00007
631 FFFFF8FFFFFFFFE00001FFFFF0FFFFFFFFE000007FFFE00000000000000007FF8050457D
632 C354>82 D<0000FFE0001C000007FFFE003C00003FFFFF807C0000FFFFFFE0FC0001FFFF
633 FFF9FC0003FF801FFFFC0007FC0001FFFC000FF800007FFC001FF000003FFC003FE00000
634 0FFC003FC0000007FC007FC0000003FC007F80000003FC007F80000001FC007F80000000
635 FC00FF80000000FC00FF800000007C00FF800000007C00FFC00000007C00FFC00000007C
636 00FFE00000003C00FFF00000003C00FFF80000003C00FFFC00000000007FFE0000000000
637 7FFFE0000000007FFFFE000000003FFFFFF00000003FFFFFFF0000001FFFFFFFE000001F
638 FFFFFFFC00000FFFFFFFFE000007FFFFFFFF800003FFFFFFFFC00001FFFFFFFFE000007F
639 FFFFFFF000001FFFFFFFF8000007FFFFFFFC000000FFFFFFFC0000000FFFFFFE00000000
640 FFFFFE0000000007FFFF00000000007FFF00000000003FFF00000000000FFF8000000000
641 07FF800000000003FF80F000000003FF80F000000001FF80F000000001FF80F000000000
642 FF80F000000000FF80F800000000FF80F800000000FF80F800000000FF00FC00000000FF
643 00FC00000000FF00FE00000001FF00FF00000001FE00FF80000003FE00FFC0000003FC00
644 FFE0000007FC00FFF800000FF800FFFF00003FF000FFFFF800FFE000FE7FFFFFFFC000FC
645 1FFFFFFF0000F807FFFFFC0000F000FFFFF00000E00007FF80000031467AC43E>I<3FFF
646 FFFFFFFFFFFFE03FFFFFFFFFFFFFFFE03FFFFFFFFFFFFFFFE03FFFFFFFFFFFFFFFE03FFF
647 FFFFFFFFFFFFE03FFE000FFF8003FFE07FE0000FFF80003FF07FC0000FFF80001FF07F00
648 000FFF800007F07F00000FFF800007F07E00000FFF800003F07C00000FFF800001F07C00
649 000FFF800001F07C00000FFF800001F07800000FFF800000F07800000FFF800000F07800
650 000FFF800000F07800000FFF800000F0F800000FFF800000F8F000000FFF80000078F000
651 000FFF80000078F000000FFF80000078F000000FFF80000078F000000FFF800000780000
652 000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000000
653 000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000000
654 000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000000
655 000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000000
656 000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000000
657 000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000000
658 000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000000
659 000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000000
660 000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000000
661 000FFF800000000000000FFF800000000007FFFFFFFFFF00000007FFFFFFFFFF00000007
662 FFFFFFFFFF00000007FFFFFFFFFF00000007FFFFFFFFFF000045437CC24E>I<FFFFFFFF
663 80000FFFFFF8FFFFFFFF80000FFFFFF8FFFFFFFF80000FFFFFF8FFFFFFFF80000FFFFFF8
664 FFFFFFFF80000FFFFFF8003FFE0000000003E000003FFE0000000003E000003FFE000000
665 0003E000003FFE0000000003E000003FFE0000000003E000003FFE0000000003E000003F
666 FE0000000003E000003FFE0000000003E000003FFE0000000003E000003FFE0000000003
667 E000003FFE0000000003E000003FFE0000000003E000003FFE0000000003E000003FFE00
668 00000003E000003FFE0000000003E000003FFE0000000003E000003FFE0000000003E000
669 003FFE0000000003E000003FFE0000000003E000003FFE0000000003E000003FFE000000
670 0003E000003FFE0000000003E000003FFE0000000003E000003FFE0000000003E000003F
671 FE0000000003E000003FFE0000000003E000003FFE0000000003E000003FFE0000000003
672 E000003FFE0000000003E000003FFE0000000003E000003FFE0000000003E000003FFE00
673 00000003E000003FFE0000000003E000003FFE0000000003E000003FFE0000000003E000
674 003FFE0000000003E000003FFE0000000003E000003FFE0000000003E000003FFE000000
675 0003E000003FFE0000000003E000003FFE0000000003E000003FFE0000000003E000003F
676 FE0000000003E000003FFE0000000003E000003FFE0000000003E000001FFE0000000007
677 E000001FFE0000000007C000001FFF0000000007C000001FFF000000000FC000000FFF00
678 0000000F8000000FFF800000001F80000007FF800000001F00000003FFC00000003F0000
679 0003FFC00000007E00000001FFE0000000FC00000000FFF0000003FC000000007FFC0000
680 07F8000000003FFF00003FF0000000000FFFF003FFE00000000007FFFFFFFF8000000000
681 01FFFFFFFF0000000000007FFFFFFC0000000000000FFFFFE0000000000000007FFE0000
682 00004D457CC356>I<0030007800F801F803E007C00FC00F801F001F003E003C007C007C
683 0078007800F800F000F000F3E0FFF8FFFCFFFEFFFFFFFFFFFFFFFF7FFF7FFF3FFF3FFE1F
684 FC0FF803E0102279C41F>96 D<0001FFE0000000001FFFFE000000007FFFFF80000001FF
685 FFFFE0000003FE007FF8000007FC001FFC000007FE000FFE00000FFF0007FF00000FFF00
686 07FF00000FFF0003FF80000FFF0003FF80000FFF0003FF80000FFF0001FFC00007FE0001
687 FFC00003FC0001FFC00000F00001FFC00000000001FFC00000000001FFC00000000001FF
688 C00000000001FFC000000003FFFFC0000000FFFFFFC0000007FFFFFFC000003FFFF1FFC0
689 0000FFFC01FFC00003FFE001FFC00007FF8001FFC0001FFE0001FFC0003FFC0001FFC000
690 3FF80001FFC0007FF80001FFC0007FF00001FFC000FFF00001FFC000FFE00001FFC000FF
691 E00001FFC000FFE00001FFC000FFE00003FFC000FFE00003FFC000FFF00007FFC0007FF8
692 000FFFC0007FF8001FFFF0003FFE003EFFFFC01FFF80FC7FFFC007FFFFF87FFFC003FFFF
693 E01FFFC0007FFF8007FFC0000FFC00000000322F7DAD36>I<007FC000000000FFFFC000
694 000000FFFFC000000000FFFFC000000000FFFFC000000000FFFFC00000000003FFC00000
695 000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC0000000
696 0001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC000000000
697 01FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001
698 FFC00000000001FFC00000000001FFC00FF8000001FFC0FFFF800001FFC3FFFFE00001FF
699 CFFFFFF80001FFDFC03FFC0001FFFF000FFE0001FFFC0003FF0001FFF80001FF8001FFF0
700 0001FFC001FFE00000FFE001FFC00000FFE001FFC000007FF001FFC000007FF001FFC000
701 007FF801FFC000003FF801FFC000003FF801FFC000003FF801FFC000003FFC01FFC00000
702 3FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003F
703 FC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC
704 01FFC000003FF801FFC000003FF801FFC000007FF801FFC000007FF001FFC000007FF001
705 FFC000007FF001FFC00000FFE001FFE00000FFC001FFF00001FFC001FFF80003FF8001FF
706 7C0007FF0001FE3E000FFE0001FC1FC07FFC0001F80FFFFFF00001F003FFFFC00001E000
707 FFFF00000000001FF0000036467DC43E>I<00003FFC00000001FFFFC000000FFFFFF000
708 003FFFFFFC00007FF003FE0000FFC001FF0003FF8003FF0007FF0007FF8007FE0007FF80
709 0FFE0007FF801FFC0007FF801FFC0007FF803FF80007FF803FF80003FF007FF80001FE00
710 7FF8000078007FF0000000007FF000000000FFF000000000FFF000000000FFF000000000
711 FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000
712 FFF000000000FFF000000000FFF0000000007FF8000000007FF8000000007FF800000000
713 3FF8000000003FFC000003C03FFC000003C01FFE000007C00FFE000007800FFF00000F80
714 07FF80001F0003FFC0003E0001FFF0007C00007FFC03F800003FFFFFF000000FFFFFC000
715 0003FFFF000000003FF800002A2F7CAD32>I<0000000003FE0000000007FFFE00000000
716 07FFFE0000000007FFFE0000000007FFFE0000000007FFFE00000000001FFE0000000000
717 0FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE00000000000F
718 FE00000000000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE
719 00000000000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE00
720 000000000FFE0000003FE00FFE000003FFFC0FFE00000FFFFF8FFE00003FFFFFCFFE0000
721 FFF807FFFE0001FFC001FFFE0003FF80007FFE0007FF00003FFE000FFE00001FFE000FFC
722 00000FFE001FFC00000FFE003FF800000FFE003FF800000FFE003FF800000FFE007FF800
723 000FFE007FF000000FFE007FF000000FFE00FFF000000FFE00FFF000000FFE00FFF00000
724 0FFE00FFF000000FFE00FFF000000FFE00FFF000000FFE00FFF000000FFE00FFF000000F
725 FE00FFF000000FFE00FFF000000FFE00FFF000000FFE00FFF000000FFE007FF000000FFE
726 007FF000000FFE007FF000000FFE007FF800000FFE003FF800000FFE003FF800000FFE00
727 1FFC00001FFE001FFC00001FFE000FFE00003FFE0007FE00007FFE0003FF0000FFFF0001
728 FFC003FFFFFC00FFF01FEFFFFC007FFFFF8FFFFC001FFFFE0FFFFC0007FFF80FFFFC0000
729 7FC00FF80036467CC43E>I<00003FF800000003FFFF8000000FFFFFE000003FFFFFF000
730 007FF83FF80000FFC007FC0001FF8003FE0003FF0001FF0007FE0000FF800FFC0000FF80
731 1FFC00007FC01FF800007FC03FF800003FE03FF800003FE07FF800003FE07FF000003FE0
732 7FF000003FF07FF000001FF0FFF000001FF0FFF000001FF0FFFFFFFFFFF0FFFFFFFFFFF0
733 FFFFFFFFFFF0FFFFFFFFFFF0FFF000000000FFF000000000FFF000000000FFF000000000
734 FFF0000000007FF0000000007FF0000000007FF8000000007FF8000000003FF800000000
735 3FF8000000F01FFC000000F01FFC000001F00FFE000001E007FF000003E003FF800007C0
736 01FFC0000F8000FFF0003F00007FFE01FE00001FFFFFFC000007FFFFF0000001FFFFC000
737 00001FFE00002C2F7DAD33>I<000000FF8000000FFFE000007FFFF00001FFFFF80003FF
738 8FFC000FFE0FFE001FFC1FFE001FF81FFE003FF81FFE007FF01FFE007FF01FFE007FF00F
739 FC00FFE00FFC00FFE003F000FFE000C000FFE0000000FFE0000000FFE0000000FFE00000
740 00FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE00000FF
741 FFFFF800FFFFFFF800FFFFFFF800FFFFFFF800FFFFFFF80000FFE0000000FFE0000000FF
742 E0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0
743 000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE000
744 0000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE00000
745 00FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000
746 FFE0000000FFE0000000FFE000007FFFFFE0007FFFFFE0007FFFFFE0007FFFFFE0007FFF
747 FFE00027467DC522>I<0000FFE0007E00000FFFFE03FF80003FFFFF8FFF8000FFFFFFFF
748 FFC001FFC07FFF3FC003FF001FF83FC007FE000FFC3FC00FFC0007FE1F801FFC0007FF0F
749 001FF80003FF00001FF80003FF00003FF80003FF80003FF80003FF80003FF80003FF8000
750 3FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80001F
751 F80003FF00001FF80003FF00001FFC0007FF00000FFC0007FE000007FE000FFC000003FF
752 001FF8000001FFC07FF0000003FFFFFFE0000003FFFFFF800000078FFFFE0000000780FF
753 E00000000F8000000000000F8000000000000F8000000000000F8000000000000FC00000
754 0000000FE000000000000FF000000000000FFFFFFFC000000FFFFFFFFC000007FFFFFFFF
755 800007FFFFFFFFE00003FFFFFFFFF00001FFFFFFFFFC0000FFFFFFFFFC0003FFFFFFFFFE
756 000FFFFFFFFFFF001FF000007FFF003FC0000007FF007F80000001FF807F80000000FF80
757 FF00000000FF80FF000000007F80FF000000007F80FF000000007F80FF000000007F80FF
758 80000000FF807F80000000FF007FC0000001FF003FE0000003FE001FF0000007FC000FFE
759 00003FF80007FFC001FFF00001FFFFFFFFC000007FFFFFFF0000000FFFFFF8000000007F
760 FF00000032427DAC38>I<007FC000000000FFFFC000000000FFFFC000000000FFFFC000
761 000000FFFFC000000000FFFFC00000000003FFC00000000001FFC00000000001FFC00000
762 000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC0000000
763 0001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC000000000
764 01FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001
765 FFC007FE000001FFC03FFF800001FFC0FFFFE00001FFC1FFFFF80001FFC7F03FFC0001FF
766 CF801FFC0001FFDF000FFE0001FFDE000FFE0001FFFC000FFE0001FFF80007FF0001FFF0
767 0007FF0001FFF00007FF0001FFE00007FF0001FFE00007FF0001FFE00007FF0001FFC000
768 07FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007
769 FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF
770 0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF00
771 01FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001
772 FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF00FFFFFF83FFFFFEFFFF
773 FF83FFFFFEFFFFFF83FFFFFEFFFFFF83FFFFFEFFFFFF83FFFFFE37457CC43E>I<007C00
774 01FF0003FF8007FFC007FFC00FFFE00FFFE00FFFE00FFFE00FFFE007FFC007FFC003FF80
775 01FF00007C00000000000000000000000000000000000000000000000000000000000000
776 007FC07FFFC07FFFC07FFFC07FFFC07FFFC003FFC001FFC001FFC001FFC001FFC001FFC0
777 01FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC0
778 01FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC0
779 01FFC001FFC001FFC001FFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18467CC520>I<007F
780 C000000000FFFFC000000000FFFFC000000000FFFFC000000000FFFFC000000000FFFFC0
781 0000000003FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC000
782 00000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC00000
783 000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC0000000
784 0001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC0007FFFE0
785 01FFC0007FFFE001FFC0007FFFE001FFC0007FFFE001FFC0007FFFE001FFC0000FE00001
786 FFC0001FC00001FFC0003F000001FFC0007E000001FFC000FC000001FFC003F8000001FF
787 C007E0000001FFC00FC0000001FFC01F80000001FFC07F00000001FFC0FE00000001FFC1
788 FC00000001FFC3FE00000001FFC7FE00000001FFDFFF00000001FFFFFF80000001FFFFFF
789 C0000001FFFFFFC0000001FFF9FFE0000001FFE1FFF0000001FFC0FFF8000001FF807FF8
790 000001FF803FFC000001FF803FFE000001FF801FFF000001FF800FFF000001FF8007FF80
791 0001FF8007FFC00001FF8003FFE00001FF8001FFE00001FF8000FFF00001FF8000FFF800
792 01FF80007FFC0001FF80003FFC00FFFFFF03FFFFF8FFFFFF03FFFFF8FFFFFF03FFFFF8FF
793 FFFF03FFFFF8FFFFFF03FFFFF835457DC43B>107 D<007FC000FFFFC000FFFFC000FFFF
794 C000FFFFC000FFFFC00003FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FF
795 C00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FF
796 C00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FF
797 C00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FF
798 C00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FF
799 C00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FF
800 C00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC000FFFFFF80FFFFFF80FFFF
801 FF80FFFFFF80FFFFFF8019457CC420>I<007F8007FE00000FFC0000FFFF803FFFC0007F
802 FF8000FFFF80FFFFF001FFFFE000FFFF81FFFFF803FFFFF000FFFF87F01FFC0FE03FF800
803 FFFF8FC00FFE1F801FFC0003FF9F000FFF3E001FFE0001FF9E0007FF3C000FFE0001FFBC
804 0007FF78000FFE0001FFF80003FFF00007FF0001FFF80003FFF00007FF0001FFF00003FF
805 E00007FF0001FFE00003FFC00007FF0001FFE00003FFC00007FF0001FFE00003FFC00007
806 FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001
807 FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC000
808 03FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF80
809 0007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF
810 0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FF
811 C00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003
812 FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF8000
813 07FF0001FFC00003FF800007FF0001FFC00003FF800007FF00FFFFFF81FFFFFF03FFFFFE
814 FFFFFF81FFFFFF03FFFFFEFFFFFF81FFFFFF03FFFFFEFFFFFF81FFFFFF03FFFFFEFFFFFF
815 81FFFFFF03FFFFFE572D7CAC5E>I<007F8007FE0000FFFF803FFF8000FFFF80FFFFE000
816 FFFF81FFFFF800FFFF87F03FFC00FFFF8F801FFC0003FF9F000FFE0001FF9E000FFE0001
817 FFBC000FFE0001FFF80007FF0001FFF00007FF0001FFF00007FF0001FFE00007FF0001FF
818 E00007FF0001FFE00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC0
819 0007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC000
820 07FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007
821 FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF
822 0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF00
823 01FFC00007FF00FFFFFF83FFFFFEFFFFFF83FFFFFEFFFFFF83FFFFFEFFFFFF83FFFFFEFF
824 FFFF83FFFFFE372D7CAC3E>I<00001FFC0000000001FFFFC000000007FFFFF00000001F
825 FFFFFC0000007FF80FFF000000FFC001FF800001FF8000FFC00003FE00003FE00007FE00
826 003FF0000FFC00001FF8000FF800000FF8001FF800000FFC001FF800000FFC003FF80000
827 0FFE003FF0000007FE007FF0000007FF007FF0000007FF007FF0000007FF007FF0000007
828 FF00FFF0000007FF80FFF0000007FF80FFF0000007FF80FFF0000007FF80FFF0000007FF
829 80FFF0000007FF80FFF0000007FF80FFF0000007FF80FFF0000007FF80FFF0000007FF80
830 7FF0000007FF007FF0000007FF007FF0000007FF007FF0000007FF003FF800000FFE003F
831 F800000FFE001FF800000FFC001FFC00001FFC000FFC00001FF80007FE00003FF00007FE
832 00003FF00003FF8000FFE00001FFC001FFC000007FF80FFF0000003FFFFFFE0000000FFF
833 FFF800000001FFFFC0000000001FFC000000312F7DAD38>I<007FC00FF80000FFFFC0FF
834 FF8000FFFFC3FFFFE000FFFFCFFFFFF800FFFFDFC03FFC00FFFFFF001FFE0003FFFC0007
835 FF0001FFF80003FF8001FFF00003FFC001FFE00001FFE001FFC00001FFE001FFC00000FF
836 F001FFC00000FFF001FFC000007FF801FFC000007FF801FFC000007FF801FFC000007FF8
837 01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01
838 FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FF
839 C000003FFC01FFC000003FFC01FFC000007FF801FFC000007FF801FFC000007FF801FFC0
840 00007FF001FFC00000FFF001FFC00000FFF001FFC00001FFE001FFE00001FFC001FFF000
841 03FFC001FFF80007FF8001FFFC000FFF0001FFFE001FFE0001FFDFC07FFC0001FFCFFFFF
842 F00001FFC3FFFFC00001FFC0FFFF000001FFC01FF0000001FFC00000000001FFC0000000
843 0001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC000000000
844 01FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001
845 FFC000000000FFFFFF80000000FFFFFF80000000FFFFFF80000000FFFFFF80000000FFFF
846 FF8000000036407DAC3E>I<007F807F00FFFF81FFE0FFFF83FFF0FFFF8FFFF8FFFF8F8F
847 FCFFFF9F1FFE03FFBE1FFE01FFBC1FFE01FFF81FFE01FFF81FFE01FFF01FFE01FFF00FFC
848 01FFE007F801FFE001E001FFE0000001FFE0000001FFE0000001FFC0000001FFC0000001
849 FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FF
850 C0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0
851 000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC00000FFFFFFE0
852 00FFFFFFE000FFFFFFE000FFFFFFE000FFFFFFE000272D7DAC2E>114
853 D<001FFC038000FFFF878003FFFFFF800FFFFFFF801FF003FF803FC000FF803F80003F80
854 7F00001F807E00001F80FE00000F80FE00000F80FE00000780FF00000780FF00000780FF
855 80000780FFE0000000FFFE0000007FFFF000007FFFFF00003FFFFFC0003FFFFFF0001FFF
856 FFFC000FFFFFFE0003FFFFFF0001FFFFFF80007FFFFF80000FFFFFC000003FFFC0000003
857 FFE0000000FFE0F000003FE0F000003FE0F800001FE0F800000FE0F800000FE0FC00000F
858 E0FC00000FE0FE00000FC0FF00001FC0FF00001FC0FF80003F80FFE0007F00FFF803FE00
859 FFFFFFFC00FCFFFFF800F03FFFE000E007FE0000232F7CAD2C>I<0001E000000001E000
860 000001E000000001E000000001E000000003E000000003E000000003E000000003E00000
861 0007E000000007E00000000FE00000000FE00000001FE00000001FE00000003FE0000000
862 7FE0000000FFE0000003FFE000000FFFFFFF80FFFFFFFF80FFFFFFFF80FFFFFFFF80FFFF
863 FFFF8000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0
864 000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE000
865 0000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE00000
866 00FFE001E000FFE001E000FFE001E000FFE001E000FFE001E000FFE001E000FFE001E000
867 FFE001E000FFE001E000FFE003E000FFF003C0007FF003C0007FF007C0003FF80F80001F
868 FC1F00000FFFFF000007FFFC000001FFF80000003FE00023407EBE2C>I<007FC00001FF
869 00FFFFC003FFFF00FFFFC003FFFF00FFFFC003FFFF00FFFFC003FFFF00FFFFC003FFFF00
870 03FFC0000FFF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001
871 FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FF
872 C00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC0
873 0007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC000
874 07FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007
875 FF0001FFC00007FF0001FFC0000FFF0001FFC0000FFF0001FFC0001FFF0001FFC0001FFF
876 0001FFC0003FFF0000FFC0003FFF0000FFE0007FFF80007FE001F7FFFE007FF807E7FFFE
877 003FFFFFC7FFFE000FFFFF07FFFE0003FFFE07FFFE00007FF007FC00372E7CAC3E>I<FF
878 FFFF0003FFFCFFFFFF0003FFFCFFFFFF0003FFFCFFFFFF0003FFFCFFFFFF0003FFFC01FF
879 E000003E0000FFE000003C0000FFF000003C00007FF000007800007FF800007800007FF8
880 0000F800003FF80000F000003FFC0001F000001FFC0001E000001FFE0003E000000FFE00
881 03C000000FFF0007C0000007FF000780000007FF800F80000003FF800F00000003FFC00F
882 00000003FFC01F00000001FFE01E00000001FFE03E00000000FFE03C00000000FFF07C00
883 0000007FF078000000007FF8F8000000003FF8F0000000003FFDF0000000001FFDE00000
884 00001FFFE0000000000FFFC0000000000FFFC0000000000FFFC00000000007FF80000000
885 0007FF800000000003FF000000000003FF000000000001FE000000000001FE0000000000
886 00FC000000000000FC00000000000078000000362C7EAB3B>I<FFFFFE003FFFF0FFFFFE
887 003FFFF0FFFFFE003FFFF0FFFFFE003FFFF0FFFFFE003FFFF000FFF00003E000007FF800
888 07C000003FFC000F8000001FFC001F0000001FFE003F0000000FFF007E00000007FF807C
889 00000003FFC0F800000001FFC1F000000001FFE3E000000000FFF7C0000000007FFF8000
890 0000003FFF80000000001FFF00000000001FFE00000000000FFF000000000007FF800000
891 000003FFC00000000003FFC00000000007FFE0000000000FFFF0000000000FFFF8000000
892 001F3FFC000000003E1FFC000000007C1FFE00000000F80FFF00000001F007FF80000003
893 F003FFC0000007E001FFC0000007C001FFE000000F8000FFF000001F00007FF800003E00
894 003FFC00007E00001FFC00FFFFE000FFFFFCFFFFE000FFFFFCFFFFE000FFFFFCFFFFE000
895 FFFFFCFFFFE000FFFFFC362C7EAB3B>120 D<FFFFFF0003FFFCFFFFFF0003FFFCFFFFFF
896 0003FFFCFFFFFF0003FFFCFFFFFF0003FFFC01FFE000003E0000FFE000003C0000FFF000
897 003C00007FF000007800007FF800007800007FF80000F800003FF80000F000003FFC0001
898 F000001FFC0001E000001FFE0003E000000FFE0003C000000FFF0007C0000007FF000780
899 000007FF800F80000003FF800F00000003FFC00F00000003FFC01F00000001FFE01E0000
900 0001FFE03E00000000FFE03C00000000FFF07C000000007FF078000000007FF8F8000000
901 003FF8F0000000003FFDF0000000001FFDE0000000001FFFE0000000000FFFC000000000
902 0FFFC0000000000FFFC00000000007FF800000000007FF800000000003FF000000000003
903 FF000000000001FE000000000001FE000000000000FC000000000000FC00000000000078
904 00000000000078000000000000F8000000000000F0000000000001F0000000000001E000
905 00001F0003E00000003F8003C00000007FC007C0000000FFE00780000000FFE00F800000
906 00FFE00F00000000FFE01F00000000FFE03E00000000FFC07C000000007FC1F800000000
907 7F07F0000000003FFFE0000000001FFFC00000000007FF000000000001FC000000000036
908 407EAB3B>I<1FFFFFFFFF801FFFFFFFFF801FFFFFFFFF801FFFFFFFFF801FFC001FFF00
909 1FE0003FFE001FC0003FFE001F80007FFC001F0000FFF8003F0001FFF0003E0001FFF000
910 3E0003FFE0003E0007FFC0003C000FFF80003C000FFF80003C001FFF00003C003FFE0000
911 3C007FFC000000007FFC00000000FFF800000001FFF000000003FFE000000003FFE00000
912 0007FFC00000000FFF800780001FFF000780001FFF000780003FFE000780007FFC000F80
913 00FFF8000F0000FFF8000F0001FFF0000F0003FFE0001F0007FFC0001F0007FFC0001F00
914 0FFF80003F001FFF00007F003FFE0000FF003FFE0003FF007FFC001FFE00FFFFFFFFFE00
915 FFFFFFFFFE00FFFFFFFFFE00FFFFFFFFFE00292C7DAB32>I E
916 %EndDVIPSBitmapFont
917 %DVIPSBitmapFont: Fe ecti1000 10 31
918 /Fe 31 122 df<000000003FFC0000000001FFFF8000000007E007C00000001F8001E000
919 00003F0001F00000007E0003F0000000FC0007F0000000FC0007F0000001F80007F00000
920 01F80007E0000003F0000380000003F0000000000003F0000000000003F0000000000007
921 F0000000000007E0000000000007E0000000000007E0000000000007E000000000000FE0
922 00000000000FC000000000000FC000000000000FC0000000000FFFFFFFFF00000FFFFFFF
923 FF00000FFFFFFFFE0000001F80007E0000001F80007E0000001F8000FE0000003F8000FC
924 0000003F0000FC0000003F0000FC0000003F0001FC0000003F0001F80000007F0001F800
925 00007E0001F80000007E0003F80000007E0003F00000007E0003F0000000FE0003F00000
926 00FC0007F0000000FC0007E0000000FC0007E0000000FC0007E0000001FC000FE0000001
927 FC000FC0000001F8000FC1C00001F8000FC1C00001F8001FC1C00001F8001F83C00003F8
928 001F83800003F0001F83800003F0001F83800003F0001F87000007F0001F87000007E000
929 1F0F000007E0000F8E000007E000079E000007E00003FC00000FE00000F000000FC00000
930 0000000FC000000000000FC000000000000F8000000000001F8000000000001F80000000
931 001C1F00000000007E1F00000000007E3F0000000000FE3E0000000000FE3C0000000000
932 FE7C0000000000F878000000000078F000000000003FE000000000000F80000000000034
933 4C82BA2F>28 D<7FFFF87FFFF8FFFFF8FFFFF8FFFFF0150579941E>45
934 D<0000000000018000000000000180000000000003800000000000030000000000000700
935 00000000000E0000000000000C0000000000001C00000000000018000000000000380000
936 000000007000000000000060000000000000E0000000000000C0000000000001C0000000
937 0000018000000000000380000000000007000000000000060000000000000E0000000000
938 000C0000000000001C000000000000380000000000003000000000000070000000000000
939 60000000000000E0000000000000C0000000000001C00000000000038000000000000300
940 000000000007000000000000060000000000000E0000000000001C000000000000180000
941 0000000038000000000000300000000000007000000000000060000000000000E0000000
942 000001C00000000000018000000000000380000000000003000000000000070000000000
943 000E0000000000000C0000000000001C0000000000001800000000000038000000000000
944 7000000000000060000000000000E0000000000000C0000000000001C000000000000180
945 00000000000380000000000007000000000000060000000000000E0000000000000C0000
946 000000001C00000000000038000000000000300000000000007000000000000060000000
947 000000E0000000000000C0000000000001C0000000000003800000000000030000000000
948 0007000000000000060000000000000E0000000000001C00000000000018000000000000
949 38000000000000300000000000007000000000000060000000000000E0000000000000C0
950 00000000000031537FBD2A>47 D<0007FFFFFFFC000007FFFFFFFF800007FFFFFFFFC000
951 000FF0001FF000000FE00007F800000FE00003F800001FE00003FC00001FE00001FC0000
952 1FC00001FE00001FC00001FE00003FC00000FE00003FC00000FE00003F800001FE00003F
953 800001FE00007F800001FE00007F800001FC00007F000003FC00007F000003F80000FF00
954 0007F80000FF000007F00000FE00000FE00000FE00001FC00001FE00003F800001FE0000
955 7F000001FC0001FE000001FC0007F8000003FFFFFFE0000003FFFFFFC0000003F80007F0
956 000003F80001FC000007F80000FE000007F800007F000007F000003F800007F000003F80
957 000FF000003FC0000FF000001FC0000FE000001FC0000FE000001FC0001FE000001FC000
958 1FE000003FC0001FC000003FC0001FC000003FC0003FC000003FC0003FC000007F80003F
959 8000007F80003F8000007F00007F800000FF00007F800001FE00007F000003FC00007F00
960 0003F80000FF00000FF80000FF00001FE00000FE00003FC00001FE0001FF8000FFFFFFFF
961 FE0000FFFFFFFFF80000FFFFFFFFC0000037397BB83A>66 D<00000003FE000E0000003F
962 FF801E000000FFFFE03C000003FE01F03C00000FF000787C00003FC0003CFC00007F0000
963 1FF80000FE00000FF80003FC00000FF80007F8000007F8000FF0000007F0001FE0000003
964 F0003FC0000003F0003F80000003F0007F00000003E000FF00000003E001FE00000003E0
965 01FC00000003E003FC00000003C007F800000003C007F800000003C00FF000000003C00F
966 F000000003801FE000000003801FE000000000001FE000000000003FC000000000003FC0
967 00000000003FC000000000007FC000000000007F8000000000007F8000000000007F8000
968 00000000FF800000000000FF000000000000FF000007FFFFE0FF000007FFFFE0FF000007
969 FFFFE0FF00000007FC00FF00000003F800FF00000007F800FF00000007F000FF00000007
970 F000FF00000007F0007F0000000FF0007F0000000FE0007F0000000FE0007F0000000FE0
971 003F8000001FE0003F8000001FC0001F8000001FC0001FC000003FC0000FE000003FC000
972 0FE000007F800007F00000FF800003F80003EF800001FE0007C78000007FC03F07000000
973 3FFFFC030000000FFFF00000000000FF80000000373D74BA40>71
974 D<0003FFFFF80FFFFFE00003FFFFF80FFFFFE00003FFFFF80FFFFFE0000007F800001FE0
975 00000007F000001FC000000007F000001FC00000000FF000003FC00000000FF000003F80
976 0000000FE000003F800000000FE000003F800000001FE000007F800000001FE000007F00
977 0000001FC000007F000000001FC000007F000000003FC00000FF000000003FC00000FE00
978 0000003F800000FE000000003F800000FE000000007F800001FE000000007F800001FC00
979 0000007F000001FC000000007F000001FC00000000FF000003FC00000000FF000003F800
980 000000FE000003F800000000FE000003F800000001FFFFFFFFF800000001FFFFFFFFF000
981 000001FFFFFFFFF000000001FC000007F000000003FC00000FF000000003FC00000FE000
982 000003F800000FE000000003F800000FE000000007F800001FE000000007F800001FC000
983 000007F000001FC000000007F000001FC00000000FF000003FC00000000FF000003F8000
984 00000FE000003F800000000FE000003F800000001FE000007F800000001FE000007F0000
985 00001FC000007F000000001FC000007F000000003FC00000FF000000003FC00000FE0000
986 00003F800000FE000000003F800000FE000000007F800001FE000000007F800001FC0000
987 00007F000001FC00000000FF000003FC0000007FFFFE01FFFFF80000FFFFFE03FFFFF800
988 00FFFFFE03FFFFF8000043397CB83E>I<0003FFFFF8007FFFE00003FFFFF8007FFFE000
989 03FFFFF8007FFFC0000007F800000FFC00000007F000000FE000000007F000000FC00000
990 000FF000001F000000000FF000003E000000000FE000007C000000000FE00000F0000000
991 001FE00001E0000000001FE00003C0000000001FC0000F80000000001FC0001F00000000
992 003FC0003C00000000003FC0007800000000003F8000F000000000003F8001E000000000
993 007F8007C000000000007F800F0000000000007F001E0000000000007F003C0000000000
994 00FF0078000000000000FF01FC000000000000FE03FC000000000000FE07FC0000000000
995 01FE0FFE000000000001FE1FFE000000000001FC7CFE000000000001FCF8FF0000000000
996 03FDE07F000000000003FFC07F800000000003FF807F800000000003FF003F8000000000
997 07FE003FC00000000007F8003FC00000000007F0001FC00000000007F0001FE000000000
998 0FF0001FE0000000000FF0000FE0000000000FE0000FF0000000000FE00007F000000000
999 1FE00007F8000000001FE00007F8000000001FC00003F8000000001FC00003FC00000000
1000 3FC00003FC000000003FC00001FC000000003F800001FE000000003F800001FE00000000
1001 7F800000FF000000007F800000FF000000007F000000FF00000000FF000001FF8000007F
1002 FFFE001FFFFC0000FFFFFE003FFFFC0000FFFFFE003FFFFC000043397CB840>75
1003 D<FFFFF80003FFFEFFFFF80003FFFEFFFFF80003FFFC03FE0000007FC003FC0000003F00
1004 01FC0000003E0001FC0000003C0001FC000000380001FC000000700001FC000000700001
1005 FC000000E00001FC000001E00001FC000001C00001FE000003800001FE000003800000FE
1006 000007000000FE00000F000000FE00000E000000FE00001C000000FE00001C000000FE00
1007 0038000000FE000038000000FE000070000000FE0000E0000000FE0000E0000000FF0001
1008 C00000007F0001C00000007F0003800000007F0007800000007F0007000000007F000E00
1009 0000007F000E000000007F001C000000007F003C000000007F0038000000007F00700000
1010 00007F8070000000003F80E0000000003F81E0000000003F81C0000000003F8380000000
1011 003F8380000000003F8700000000003F8700000000003F8E00000000003F9E0000000000
1012 3F9C00000000003FF800000000003FF800000000001FF000000000001FF000000000001F
1013 E000000000001FC000000000001FC000000000001F8000000000001F8000000000001F00
1014 00000000001E0000000000001E0000000000373B6FB83E>86 D<0000F800000007FE0000
1015 001F871C00003E03FE00007C03FE0000F801FE0001F801FE0003F000FC0007E000FC000F
1016 E000FC000FC001FC001FC001F8001FC001F8003F8001F8003F8003F8007F8003F0007F00
1017 03F0007F0003F0007F0007F000FF0007E000FE0007E000FE0007E000FE000FE000FE000F
1018 C000FC000FC1C0FC000FC1C0FC001FC1C0FC001F83C0FC001F8380FC003F8380FC003F87
1019 807C007F87007C00FF07003E01FF0F003E038F8E001F0F079E0007FE03FC0001F000F000
1020 222677A42A>97 D<003F00001FFF00001FFF00001FFF0000007F0000007E0000007E0000
1021 007E000000FE000000FC000000FC000000FC000001FC000001F8000001F8000001F80000
1022 03F8000003F0000003F0000003F0000007F0000007E0F80007E7FE0007EF0F800FFC07C0
1023 0FF807C00FF003E00FE003E01FC003F01FC003F01F8003F01F8003F03F8003F03F0003F0
1024 3F0003F03F0007F07F0007F07E0007F07E0007F07E000FF0FE000FF0FC000FE0FC000FE0
1025 FC001FE0FC001FC0F8001FC0F8003F80F8003F80F8003F00F8007F00F8007E00F800FC00
1026 7801F8007C01F0003C03E0003E07C0001E1F80000FFE000001F000001C3B77B926>I<00
1027 007F000003FFC0000FC1E0001F0070007E007800FC003801F801F803F003F807F003F807
1028 E003F80FE003F81FC003F01FC000003F8000003F8000007F8000007F0000007F0000007F
1029 000000FF000000FE000000FE000000FE000000FE000000FC000000FC000000FC000000FC
1030 000030FC000038FC0000787C0000F07E0001E03E0003C03E000F801F003E000F81F80003
1031 FFE00000FF00001D2677A426>I<00000001F8000000FFF8000000FFF8000000FFF80000
1032 0003F800000003F000000003F000000007F000000007F000000007E000000007E0000000
1033 0FE00000000FE00000000FC00000000FC00000001FC00000001FC00000001F800000001F
1034 800000003F800000003F800000F83F000007FE3F00001F877F00003E03FF00007C03FE00
1035 00F801FE0001F801FE0003F000FE0007E000FC000FE000FC000FC001FC001FC001FC001F
1036 C001F8003F8001F8003F8003F8007F8003F8007F0003F0007F0003F0007F0007F000FF00
1037 07F000FE0007E000FE0007E000FE000FE000FE000FE000FC000FC1C0FC000FC1C0FC001F
1038 C1C0FC001FC3C0FC001F8380FC003F8380FC003F87807C007F87007C00FF07003E01FF0F
1039 003E038F8E001F0F079E0007FE03FC0001F000F000253B77B92A>I<00007F000003FFC0
1040 000FC1E0003F00F0007E007800FC007801F8007803F0007807E000780FE000780FC000F8
1041 1FC000F03F8001F03F8007E03F801F807F81FF007FFFF8007FFF80007F000000FF000000
1042 FE000000FE000000FE000000FE000000FE000000FC000000FC000000FC0000307C000038
1043 7C0000787E0000F03E0001E03E0003C01F000F800F003E000781F80003FFE00000FF0000
1044 1D2677A426>I<00000007C00000001FF00000003E380000007C3C000000F8FC000000F9
1045 FC000001F9FC000001F1FC000003F1F8000003F0F0000003F000000007F000000007E000
1046 000007E000000007E000000007E00000000FE00000000FC00000000FC00000000FC00000
1047 000FC00000001FC00000001F8000000FFFFFC0001FFFFFC0001FFFFF8000003F80000000
1048 3F000000003F000000003F000000003F000000007F000000007E000000007E000000007E
1049 000000007E00000000FE00000000FC00000000FC00000000FC00000000FC00000001FC00
1050 000001F800000001F800000001F800000001F800000003F800000003F000000003F00000
1051 0003F000000003F000000007F000000007E000000007E000000007E000000007E0000000
1052 0FE00000000FC00000000FC00000000FC00000001FC00000001F800000001F800000001F
1053 800000001F000000003F0000001C3F0000007E3E0000007E3E000000FE3C000000FE7C00
1054 0000FE78000000F8F000000078F00000003FC00000000F80000000264C82BA19>I<0000
1055 07C00000003FF0000000FC38E00001F01FF00003E01FF00007C00FF0000F800FF0001F80
1056 07F0003F0007E0007F0007E0007E000FE000FE000FE000FC000FC001FC000FC001FC001F
1057 C003FC001FC003F8001F8003F8001F8003F8003F8007F8003F8007F0003F0007F0003F00
1058 07F0007F0007F0007F0007E0007E0007E0007E0007E000FE0007E000FE0007E000FC0003
1059 E001FC0003E003FC0003E007FC0001F00FF80000F01FF80000787BF800003FF3F800000F
1060 C3F000000003F000000007F000000007F000000007E000000007E00000000FE00000000F
1061 C0001C000FC0007E001FC0007E001F8000FE003F0000FE007E0000FE00FC00007801F800
1062 007C07E000001FFF80000003FE00000024367CA426>I<0003F0000001FFF0000001FFF0
1063 000001FFF000000007F000000007E000000007E000000007E00000000FE00000000FC000
1064 00000FC00000000FC00000001FC00000001F800000001F800000001F800000003F800000
1065 003F000000003F000000003F000000007F000000007E07F000007E1FFC00007E783E0000
1066 FFE01F0000FFC01F8000FF800F8000FF000F8001FE000F8001FE000FC001FC000FC001F8
1067 001F8003F8001F8003F0001F8003F0001F8003F0003F8007F0003F0007E0003F0007E000
1068 3F0007E0007F000FE0007E000FC0007E000FC000FE000FC000FC001FC000FC001F8001FC
1069 1C1F8001F81C1F8001F83C3F8003F8383F0003F0383F0003F0383F0003F0707F0003E070
1070 7E0003E0F07E0003E0E07E0003E1C0FE0001E380FC0000FF003800003C00263B7BB92A>
1071 I<0001C00007E00007F0000FF0000FE00007E00003800000000000000000000000000000
1072 0000000000000000000000000000000000000000F00003FC00071E000E1F001C1F001C1F
1073 00381F00383F00703F00703F00707F00F07E00E07E00E0FE0000FC0000FC0001FC0001F8
1074 0003F80003F80003F00007F00007E00007E0000FE0E00FC0E00FC1E01FC1C01F81C01F81
1075 C01F83801F03801F07001F07001F0E000F1C0007F80001E000143879B619>I<0003F000
1076 0001FFF0000001FFF0000001FFF000000007F000000007E000000007E000000007E00000
1077 000FE00000000FC00000000FC00000000FC00000001FC00000001F800000001F80000000
1078 1F800000003F800000003F000000003F000000003F000000007F000000007E000F80007E
1079 003FE0007E00F0E000FE01C1F000FC0387F000FC0707F000FC0E07F001FC1C07E001F838
1080 07E001F830038001F870000003F8E0000003F1C0000003F380000003FF00000007FC0000
1081 0007FE00000007FFC0000007E7F800000FE1FC00000FC07E00000FC07F00000FC03F0000
1082 1FC03F80001F801F81C01F801F81C01F801F83C03F803F83803F003F03803F003F03803F
1083 003F07807F003F07007E003E07007E001E0E007E001E1E00FE000F3C00FC0007F8003800
1084 01E000243B7BB926>107 D<000FC007FFC007FFC007FFC0001FC0001F80001F80003F80
1085 003F80003F00003F00007F00007F00007E00007E0000FE0000FE0000FC0000FC0001FC00
1086 01FC0001F80001F80003F80003F80003F00003F00007F00007F00007E00007E0000FE000
1087 0FE0000FC0000FC0001FC0001FC0001F80001F80003F80003F80003F00003F00007F0000
1088 7F00007E0E007E0E00FE0E00FE1E00FC1C00FC1C00FC3C00FC3800F83800F87800787000
1089 7CE0001FE0000F8000123B79B915>I<01E000FE0007F00007F803FF801FFC000E3C0F07
1090 C0783E001E3E3C03E1E01F001C1F7803F3C01F80383FF001F7800F80383FE001F7000F80
1091 783FC001FE000F80703FC001FE000FC0703F8001FC000FC0703F0003F8001F80F07F0003
1092 F8001F80E07E0003F0001F80E07E0003F0001F80007E0007F0003F8000FE0007F0003F00
1093 00FC0007E0003F0000FC0007E0003F0000FC000FE0007F0001FC000FE0007E0001F8000F
1094 C0007E0001F8000FC000FE0001F8001FC000FC0003F8001FC000FC0003F0001F8001FC1C
1095 03F0001F8001F81C03F0003F8001F83C07F0003F8003F83807E0003F0003F03807E0003F
1096 0003F03807E0007F0003F0700FE0007F0003E0700FC0007E0003E0F00FC0007E0003E0E0
1097 0FC000FE0003E1C01FC000FE0001E3C01F8000FC0000FF000700003800003C003E2679A4
1098 44>I<01E000FE000007F803FF80000E3C0F07C0001E3E3C03E0001C1F7803F000383FF0
1099 01F000383FE001F000783FC001F000703FC001F800703F8001F800703F0003F000F07F00
1100 03F000E07E0003F000E07E0003F000007E0007F00000FE0007E00000FC0007E00000FC00
1101 07E00000FC000FE00001FC000FC00001F8000FC00001F8001FC00001F8001F800003F800
1102 1F800003F0003F838003F0003F038003F0003F078007F0007F070007E0007E070007E000
1103 7E070007E0007E0E000FE0007C0E000FC0007C1E000FC0007C1C000FC0007C38001FC000
1104 3C78001F80001FE000070000078000292679A42F>I<00007F000003FFC0000FC1F0001F
1105 00F8007E007C00FC007C01F8007E03F0003E07F0003F07E0003F0FE0003F1FC0003F1FC0
1106 003F3F80003F3F80007F7F80007F7F00007F7F00007F7F0000FFFF0000FFFE0000FEFE00
1107 00FEFE0001FEFE0001FCFC0001FCFC0003F8FC0003F8FC0007F0FC0007E0FC000FE07C00
1108 0FC07E001F803E003F003E007E001F00F8000F83F00003FFC00000FE0000202677A42A>
1109 I<00078007C000001FE03FF000003CF0787C000038F8E03E0000787FC03E0000707F801F
1110 000070FF001F0000F0FE001F8000E0FE001F8000E0FC001F8001E1FC001F8001C1FC001F
1111 8001C1F8001F8001C1F8001F800003F8003F800003F8003F800003F0003F800003F0003F
1112 800007F0007F800007F0007F800007E0007F000007E0007F00000FE000FF00000FE000FE
1113 00000FC000FE00000FC001FC00001FC001FC00001FC001F800001F8003F800001F8003F0
1114 00003F8007E000003FC00FC000003FC00F8000003FE01F0000007FE03E0000007F70FC00
1115 00007E3FF00000007E0F80000000FE0000000000FE0000000000FC0000000000FC000000
1116 0001FC0000000001FC0000000001F80000000001F80000000003F80000000003F8000000
1117 0003F00000000007F000000000FFFFC0000000FFFFC0000000FFFFC0000000293580A42A
1118 >I<03C003F0000FF01FFC001E783C0F001C7C700F003C3EE03F80383FC03F80387F803F
1119 80787F803F00707F003F00707F001C00F07E000000E0FE000000E0FC000000E0FC000000
1120 00FC00000001FC00000001F800000001F800000001F800000003F800000003F000000003
1121 F000000003F000000007F000000007E000000007E000000007E00000000FE00000000FC0
1122 0000000FC00000000FC00000001FC00000001F800000001F800000001F800000003F8000
1123 00003F000000000E00000000212679A423>114 D<0000FE000007FF80000F83C0003E00
1124 E0007C00F00078007000F800F001F803F001F003F001F003F001F003E003F001C003F800
1125 0003FC000003FFC00001FFF80001FFFE0000FFFF00007FFF80003FFF80000FFFC00000FF
1126 C000003FC000001FC000000FC03E000FC07E000FC0FE000F80FE000F80FE000F80FC001F
1127 00E0001F00F0003E0070007C003800F8001E03E0000FFFC00001FE00001C267AA422>I<
1128 0003800007C0000FC0000FC0000FC0000FC0001FC0001F80001F80001F80003F80003F00
1129 003F00003F00007F00007E007FFFFF7FFFFFFFFFFF00FC0000FC0000FC0001FC0001F800
1130 01F80001F80003F80003F00003F00003F00007F00007E00007E00007E0000FE0000FC000
1131 0FC0000FC0001FC0001F801C1F801C1F803C3F80383F00783F00703F00F03F00E03F01C0
1132 3E03C01F07800F0F0007FC0001F000183579B31C>I<00F800000003FE0001C0078F0003
1133 E00E0F8007E01E0F8007E01C0F8007E0380F800FE0381F800FE0781F800FC0701F800FC0
1134 703F801FC0F03F001FC0E03F001F80E07F001F80007E003F80007E003F8000FE003F0000
1135 FC003F0000FC007F0001FC007F0001F8007E0001F8007E0001F800FE0003F800FE0003F0
1136 00FC0E03F000FC0E03F001FC1E03F001FC1C03F001F81C03E001F81C03E001F83C03F003
1137 F83803F007F83801F007F07001F01EF8F000F83C78E0003FF03FC0000FC00F00272679A4
1138 2D>I<00F0000E0003FC003F00071E007F800E1F007F801C1F007F803C1F007F80381F00
1139 3F80383F001F80703F000F80703F000F80707F000F80F07E000F00E07E000700E0FE0007
1140 0000FC000F0000FC000E0001FC000E0001F8000E0001F8001E0003F8001C0003F0001C00
1141 03F0001C0003F0003C0007F000380007E000380007E000700007E000700007E000700007
1142 E000E00007E000E00007E001C00007E003C00003E003800003F007000001F00E000000F8
1143 3C0000007FF80000000FC00000212679A426>I<00F0000000070003FC0003801F80071E
1144 0007C03FC00E1F000FC03FC01C1F000FC03FC03C1F000FC03FC0381F001FC01FC0383F00
1145 1F800FC0703F001F8007C0703F001F8007C0707F003F8007C0F07E003F800780E07E003F
1146 000380E0FE003F00038000FC007F00078000FC007F00070001FC007E00070001F8007E00
1147 070001F800FE000F0003F800FE000E0003F000FC000E0003F000FC000E0003F000FC001E
1148 0007F001FC001C0007E001F8001C0007E001F8003C0007E001F800380007E001F8003800
1149 07E001F800780007E001F800700007E003F800F00007E003F800E00003E007F801E00003
1150 F00FFC03C00001F01E7C07800000FC3C3E0F0000003FF81FFE0000000FE003F000003226
1151 79A437>I<0007E007C0001FF81FF800787C383C00F03E703C01E01EE0FE03C01FE0FE03
1152 801FC0FE07001FC0FC0F001F80FC0E001F80700E003F80001E003F00001C003F00001C00
1153 3F000000007F000000007F000000007E000000007E00000000FE00000000FE00000000FC
1154 00000000FC00000001FC00000001FC00000001F800700001F800700003F800F00003F800
1155 E01C03F000E07E03F001E07E07F001C0FE07F00380FE0FF00780FE0EF00F00781CF81E00
1156 78387C3C003FF03FF00007C00FC00027267CA427>I<00F000000003FC0001C0071E0003
1157 E00E1F0007E01C1F0007E03C1F0007E0381F000FE0383F000FC0703F000FC0703F000FC0
1158 707F001FC0F07E001F80E07E001F80E0FE001F8000FC003F8000FC003F0001FC003F0001
1159 F8003F0001F8007F0003F8007E0003F0007E0003F0007E0003F000FE0007F000FC0007E0
1160 00FC0007E000FC0007E001FC0007E001F80007E001F80007E001F80007E003F80007E003
1161 F00007E007F00003E00FF00003F01FF00001F87FE000007FF7E000001FC7E00000000FE0
1162 0000000FC00000000FC00000001FC0003F001F80007F003F80007F003F00007F007E0000
1163 7F007C00007E00FC00007001F800007003E000003807C000003C1F8000000FFE00000003
1164 F0000000233679A428>I E
1165 %EndDVIPSBitmapFont
1166 %DVIPSBitmapFont: Ff ectt1000 10 93
1167 /Ff 93 127 df<7FFFFFF0FFFFFFF8FFFFFFF8FFFFFFF87FFFFFF01D0579942C>21
1168 D<1F003F807FC0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FF
1169 E0FFE07FC07FC07FC07FC07FC07FC07FC07FC07FC07FC07FC07FC07FC07FC01F00000000
1170 00000000000000000000001F003F807FC0FFE0FFE0FFE0FFE0FFE07FC03F801F000B3470
1171 B32C>33 D<3C001E007F007F00FF007F80FF007F80FF007F80FF007F80FF007F80FF007F
1172 807F007F007F007F007F007F007F007F007F007F007F007F007E003F007E003F007E003F
1173 007E003F007E003F007E003F003E003E003E003E003E003E003C001E001C001C00191977
1174 B32C>I<0007001C00000F803E00000F803E00000F803E00000F803E00000F803E00000F
1175 803E00000F803E00000F803E00001F807E00001F007C00001F007C00001F007C00001F00
1176 7C003FFFFFFFE0FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8003E00F800003E00F8
1177 00007E01F800007C01F000007C01F000007C01F000007C01F000007C01F000007C01F000
1178 007C01F000007C01F00000FC03F00000F803E00000F803E000FFFFFFFFF8FFFFFFFFF8FF
1179 FFFFFFF8FFFFFFFFF83FFFFFFFE001F007C00001F007C00001F007C00003F00FC00003E0
1180 0F800003E00F800003E00F800003E00F800003E00F800003E00F800003E00F800003E00F
1181 800001C007000025337DB22C>I<0001C000000003E000000003E000000003E000000003
1182 E000000003E000000003E00000000FFC0000007FFF800001FFFFE00007FFFFF0000FFFFF
1183 F8001FFBEFFC003FC3E1FE003F03E07F007E03E03F007C03E03F00FC03E03F80F803E03F
1184 80F803E07F80F803E07F80F803E07F80FC03E03F00FC03E03F007E03E000007F03E00000
1185 3FC3E000003FFBE000001FFFE000000FFFFC000007FFFF000001FFFFC000007FFFE00000
1186 1FFFF8000003FFFC000003E7FC000003E1FE000003E07F000003E03F001803E01F007E03
1187 E01F807E03E00F80FF03E00F80FF03E00F80FF03E00F80FE03E00F80FE03E01F80FE03E0
1188 1F007E03E03F007F03E03E003F83E0FE003FC3E1FC001FFBEFF8000FFFFFF00007FFFFE0
1189 0003FFFFC00000FFFF0000001FF800000003E000000003E000000003E000000003E00000
1190 0003E000000003E000000001C0000021417BB92C>I<000FC00000003FE00000007FF000
1191 0000FFF8000000FFFC000001F8FC000001F07C000001F07E000003F03E000003E03E0000
1192 03E03E000003E03E000003E03E000003E03E000003E07E000003E07C000003E0FC3FF803
1193 F0F87FFC01F1F87FFC01F3F07FFC01F7F03FF801F7E01F0001FFC03F0000FF803E0000FF
1194 803E0000FF007E0000FE007C0001FC007C0003FE00FC0007FE00F80007FF01F8000FDF01
1195 F0001F9F81F0003F8F83F0003F0FC3E0007E07E7E0007E07E7C000FC03F7C000FC01FFC0
1196 00FC01FF8000FC00FF8010FC00FF007CFC007F007CFC007F007CFE00FF807C7E01FFC07C
1197 7F03FFE0FC3F87F7F1F83FFFE3FFF81FFFC1FFF00FFF80FFF007FF007FC001FC001F8026
1198 357EB32C>38 D<0F801FE03FF07FF07FF87FF87FFC7FFC3FFC1FFC0FFC007C007C007C00
1199 FC00F800F801F801F003F007E007E00FC03F807F80FF00FE00F80070000E1D71B22C>I<
1200 0000380000FC0001FC0003FC0007F8000FF0001FC0003F80007F0000FE0001FC0003F800
1201 03F00007F00007E0000FE0000FC0001F80001F80003F80003F00003F00007F00007E0000
1202 7E00007E0000FE0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000
1203 FC0000FC0000FC0000FE00007E00007E00007E00007F00003F00003F00003F80001F8000
1204 1F80000FC0000FE00007E00007F00003F00003F80001FC0000FE00007F00003F80001FC0
1205 000FF00007F80003FC0001FC0000FC000038164272B92C>I<700000FC0000FE0000FF00
1206 007F80003FC0000FE00007F00003F80001FC0000FE00007F00003F00003F80001F80001F
1207 C0000FC00007E00007E00007F00003F00003F00003F80001F80001F80001F80001FC0000
1208 FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0001
1209 FC0001F80001F80001F80003F80003F00003F00007F00007E00007E0000FC0001FC0001F
1210 80003F80003F00007F0000FE0001FC0003F80007F0000FE0003FC0007F8000FF0000FE00
1211 00FC0000700000164279B92C>I<000380000007C0000007C0000007C0000007C0000007
1212 C0000007C0002007C008F807C03EFE07C0FEFF07C1FEFFC7C7FEFFE7CFFE3FFFFFF80FFF
1213 FFE003FFFF8001FFFF00007FFC00007FFC0001FFFF0003FFFF800FFFFFE03FFFFFF8FFE7
1214 CFFEFFC7C7FEFF07C1FEFE07C0FEF807C03E2007C0080007C0000007C0000007C0000007
1215 C0000007C0000007C000000380001F247AAA2C>I<00007000000000F800000000F80000
1216 0000F800000000F800000000F800000000F800000000F800000000F800000000F8000000
1217 00F800000000F800000000F800000000F800000000F800000000F800003FFFFFFFE0FFFF
1218 FFFFF8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF80000F800000000F800000000F800000000F8
1219 00000000F800000000F800000000F800000000F800000000F800000000F800000000F800
1220 000000F800000000F800000000F800000000F800000000F80000000070000025267DAB2C
1221 >I<0F801FE03FF07FF87FF87FFC7FFC7FFC3FFC1FFC0FFC00FC00F800F801F803F007F0
1222 1FE07FC0FF80FF00FC0070000E17718A2C>I<7FFFFFF0FFFFFFF8FFFFFFF8FFFFFFF87F
1223 FFFFF01D0579942C>I<1F003F807FC0FFE0FFE0FFE0FFE0FFE07FC03F801F000B0B708A
1224 2C>I<00000007000000000F800000000F800000001F800000001F000000003F00000000
1225 3E000000007E000000007C000000007C00000000FC00000000F800000001F800000001F0
1226 00000003F000000003E000000007E000000007C00000000FC00000000F800000001F8000
1227 00001F000000003F000000003E000000003E000000007E000000007C00000000FC000000
1228 00F800000001F800000001F000000003F000000003E000000007E000000007C00000000F
1229 C00000000F800000001F800000001F000000003F000000003E000000003E000000007E00
1230 0000007C00000000FC00000000F800000001F800000001F000000003F000000003E00000
1231 0007E000000007C00000000FC00000000F800000001F800000001F000000001F00000000
1232 3F000000003E000000007E000000007C00000000FC00000000F800000000F80000000070
1233 0000000021417BB92C>I<0003F80000000FFE0000003FFF8000007FFFC00000FFFFE000
1234 01FE0FF00003F803F80007F001FC0007E000FC000FC0007E000FC0007E001F80003F001F
1235 80003F003F00001F803F00001F803E00000F807E00000FC07E00000FC07E00000FC07C00
1236 0007C0FC000007E0FC000007E0FC000007E0FC000007E0FC000007E0FC000007E0FC0000
1237 07E0FC000007E0FC000007E0FC000007E0FC000007E0FC000007E0FE00000FE07E00000F
1238 C07E00000FC07E00000FC07E00000FC03F00001F803F00001F803F00001F801F80003F00
1239 1F80003F000FC0007E000FE000FE0007E000FC0007F001FC0003F803F80001FE0FF00000
1240 FFFFE000007FFFC000003FFF8000000FFE00000003F8000023357CB32C>I<0007000000
1241 0F8000000F8000001F8000001F8000003F8000007F800000FF800001FF800007FF80007F
1242 FF8000FFFF8000FFDF8000FF9F80007C1F8000001F8000001F8000001F8000001F800000
1243 1F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F800000
1244 1F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F800000
1245 1F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F800000
1246 1F80007FFFFFE0FFFFFFF0FFFFFFF0FFFFFFF07FFFFFE01C3477B32C>I<000FF8000000
1247 7FFF800001FFFFE00007FFFFF0000FFFFFFC001FF80FFE003FE001FF003F80007F007F00
1248 003F807E00001F80FE00001FC0FE00000FC0FF00000FE0FF000007E0FF000007E0FF0000
1249 07E07E000007E03C000007E000000007E000000007E00000000FE00000000FC00000001F
1250 C00000001F800000003F800000003F000000007F00000000FE00000001FC00000003FC00
1251 000007F80000000FF00000001FE00000003FC0000000FF80000001FE00000003FC000000
1252 07F80000000FF00000003FE00000007F80000000FF00000001FE00000003FC0003C007F8
1253 0007E01FE00007E03FC00007E07FFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE07FFFFF
1254 FFC023347CB32C>I<000FFC0000007FFF800001FFFFE00007FFFFF8000FFFFFFC001FF8
1255 07FE001FC000FE003F80007F003FC0003F003FC0003F803FC0001F803FC0001F801F8000
1256 1F800F00001F800000001F800000003F800000003F000000007F00000000FE00000001FE
1257 00000003FC0000001FF800001FFFF000003FFFE000003FFFE000003FFFF800001FFFFC00
1258 000007FE00000000FF000000007F000000003F800000001FC00000000FC00000000FC000
1259 00000FE000000007E000000007E03C000007E07E000007E0FF000007E0FF00000FE0FF00
1260 000FC0FF00000FC0FE00001FC07F00003F807F80007F003FC000FF001FF807FE000FFFFF
1261 FC0007FFFFF80003FFFFE000007FFF8000000FFC000023357CB32C>I<000007F0000000
1262 0FF80000001FF80000003FF80000003FF80000007EF80000007EF8000000FCF8000001F8
1263 F8000001F8F8000003F0F8000007E0F8000007E0F800000FC0F800001F80F800001F80F8
1264 00003F00F800007E00F800007E00F80000FC00F80001F800F80001F800F80003F000F800
1265 03E000F80007E000F8000FC000F8000FC000F8001F8000F8003F0000F8003F0000F8007E
1266 0000F800FC0000F800FFFFFFFFFCFFFFFFFFFEFFFFFFFFFEFFFFFFFFFE7FFFFFFFFC0000
1267 00F800000000F800000000F800000000F800000000F800000000F800000000F800000000
1268 F800000000F800000000F80000007FFFF00000FFFFF80000FFFFF80000FFFFF800007FFF
1269 F027347EB32C>I<0FFFFFFE001FFFFFFF001FFFFFFF001FFFFFFF001FFFFFFE001F8000
1270 00001F800000001F800000001F800000001F800000001F800000001F800000001F800000
1271 001F800000001F800000001F800000001F800000001F800000001F83FE00001F9FFF8000
1272 1FFFFFE0001FFFFFF8001FFFFFFC001FFE03FE001FF000FF001FC0007F001F80003F801F
1273 00001F800F00001FC00000000FC00000000FC000000007E000000007E000000007E00000
1274 0007E03C000007E07E000007E0FF000007E0FF00000FE0FF00000FC0FF00000FC0FE0000
1275 1FC07E00003F807F00007F003F8000FF003FC001FE001FF80FFC000FFFFFF80007FFFFF0
1276 0001FFFFC000007FFF0000000FF8000023347CB22C>I<00003FC0000001FFF8000007FF
1277 FC00001FFFFE00003FFFFF00007FE07F0000FF003F8001FE007F8003F8007F8007F0007F
1278 8007E0007F800FE0003F001FC0001E001F800000003F800000003F000000003F00000000
1279 7F000000007E000000007E03FE00007E1FFF8000FC7FFFE000FDFFFFF000FFFFFFF800FF
1280 FE07FC00FFF001FE00FFC0007F00FF80003F80FF00001F80FF00001FC0FE00000FC0FE00
1281 000FE0FE000007E0FE000007E0FE000007E07E000007E07E000007E07E000007E07E0000
1282 07E03F000007E03F00000FE03F80000FC01F80001FC01FC0001F800FC0003F800FE0007F
1283 0007F801FE0003FE07FC0001FFFFF80000FFFFF000007FFFE000001FFF80000007FC0000
1284 23357CB32C>I<7800000000FFFFFFFFC0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFF
1285 C0FC00003F80FC00007F00FC0000FE00780000FC00000001FC00000003F800000007F000
1286 000007E00000000FE00000000FC00000001F800000003F800000003F000000007F000000
1287 007E00000000FE00000000FC00000001FC00000001F800000001F800000003F000000003
1288 F000000007F000000007E000000007E000000007E00000000FC00000000FC00000000FC0
1289 0000000FC00000001F800000001F800000001F800000001F800000001F800000003F8000
1290 00003F000000003F000000003F000000003F000000003F000000003F000000003F000000
1291 003F000000003F000000003F000000001E00000023357CB32C>I<0007FC0000003FFF80
1292 0000FFFFE00003FFFFF80007FFFFFC000FFC07FE001FF001FF001FC0007F003F80003F80
1293 3F00001F807F00001FC07E00000FC07E00000FC07E00000FC07E00000FC07E00000FC03F
1294 00001F803F00001F801F80003F001FC0007F000FF001FE0003FC07F80001FFFFF000007F
1295 FFC0000007FC0000007FFFC00001FFFFF00003FC07F8000FF001FE001FC0007F001F8000
1296 3F003F00001F807E00000FC07E00000FC0FC000007E0FC000007E0FC000007E0FC000007
1297 E0FC000007E0FC000007E0FC000007E07E00000FC07E00000FC07F00001FC03F80003F80
1298 1FC0007F001FF001FF000FFC07FE0007FFFFFC0003FFFFF80000FFFFE000003FFF800000
1299 07FC000023357CB32C>I<0007FC0000003FFF000000FFFFC00001FFFFE00003FFFFF000
1300 07FC07F8000FF001FC001FE000FE003F80007E003F80007F007F00003F007E00001F80FE
1301 00001F80FC00001F80FC00000FC0FC00000FC0FC00000FC0FC00000FC0FC00000FE0FC00
1302 000FE0FC00000FE0FE00000FE07E00000FE07F00001FE03F00001FE03F80003FE01FC000
1303 7FE00FF001FFE007FC0FFFE003FFFFFFE001FFFFF7E000FFFFC7E0003FFF0FE0000FF80F
1304 C00000000FC00000000FC00000001FC00000001F800000003F800000003F000F00007F00
1305 1F80007E003FC000FE003FC001FC003FC003F8003FC007F8003F801FF0001FE07FE0001F
1306 FFFFC0000FFFFF000007FFFE000001FFF80000007FC0000023357CB32C>I<1F003F807F
1307 C0FFE0FFE0FFE0FFE0FFE07FC03F801F0000000000000000000000000000000000000000
1308 0000000000000000001F003F807FC0FFE0FFE0FFE0FFE0FFE07FC03F801F000B2470A32C
1309 >I<0F801FC03FE07FF07FF07FF07FF07FF03FE01FC00F80000000000000000000000000
1310 000000000000000000000000000000000F801FE03FF07FF87FF87FFC7FFC7FFC3FFC1FFC
1311 0FFC00FC00F800F801F803F007F01FE07FC0FF80FF00FC0070000E3071A32C>I<000000
1312 02000000000F800000001F800000007F80000000FF80000003FE0000000FFC0000001FF0
1313 0000007FE0000000FF80000003FE00000007FC0000001FF00000003FE0000000FF800000
1314 03FF00000007FC0000001FF80000003FE0000000FF80000000FF00000000FF00000000FF
1315 800000003FE00000001FF800000007FC00000003FF00000000FF800000003FE00000001F
1316 F000000007FC00000003FE00000000FF800000007FE00000001FF00000000FFC00000003
1317 FE00000000FF800000007F800000001F800000000F800000000200212A7BAD2C>I<7FFF
1318 FFFFF0FFFFFFFFF8FFFFFFFFF8FFFFFFFFF87FFFFFFFF000000000000000000000000000
1319 0000000000000000000000000000000000000000000000000000007FFFFFFFF0FFFFFFFF
1320 F8FFFFFFFFF8FFFFFFFFF87FFFFFFFF025127DA12C>I<2000000000F800000000FC0000
1321 0000FF00000000FF800000003FE00000001FF800000007FC00000003FF00000000FF8000
1322 00003FE00000001FF000000007FC00000003FE00000000FF800000007FE00000001FF000
1323 00000FFC00000003FE00000000FF800000007F800000007F80000000FF80000003FE0000
1324 000FFC0000001FF00000007FE0000000FF80000003FE00000007FC0000001FF00000003F
1325 E0000000FF80000003FF00000007FC0000001FF80000003FE0000000FF80000000FF0000
1326 0000FC00000000F8000000002000000000212A7BAD2C>I<003FFE000003FFFFC0000FFF
1327 FFF0001FFFFFFC003FFFFFFE007FE007FF007F0000FF00FE00003F80FF00001F80FF0000
1328 1F80FF00001F80FF00003F807E00007F003C0000FF00000003FE0000000FFC0000001FF8
1329 0000003FE00000007FC0000000FF00000001FE00000003FC00000003F800000007F80000
1330 0007F00000000FF00000000FE00000000FE00000000FE00000000FE00000000FE0000000
1331 0FE00000000FE000000007C0000000000000000000000000000000000000000000000000
1332 0000000000000000000000000000000000000003800000000FE00000000FE00000001FF0
1333 0000001FF00000001FF00000000FE00000000FE00000000380000021337BB22C>I<0000
1334 7F80000003FFE000000FFFF000003FFFF800007FFFFC0000FFC0FE0001FE007F0003F800
1335 3F0007F0001F8007E00FCF800FC03FFF801F807FFFC01F80FFFFC03F01FFFFC03E03F87F
1336 C03E07F03FE07E07E01FE07C0FC00FE07C0F8007E07C0F8007E0FC1F8007E0F81F0003E0
1337 F81F0003E0F81F0003E0F81F0003E0F81F0003E0F81F0003E0F81F0003E0F81F0003E0F8
1338 1F0003E0FC1F8007E07C0F8007C07C0F8007C07C0FC00FC07E07E01F803E07F03F803E03
1339 F87F003F01FFFE001F80FFFC001F807FF8000FC03FF00007E00FC00007F00007C003F800
1340 0FE001FE001FE000FFC0FFE0007FFFFFC0003FFFFF80000FFFFE000003FFF80000007FC0
1341 0023337CB22C>I<0000FE00000001FF00000001FF00000001FF00000001FF00000003FF
1342 80000003FF80000003EF80000003EF80000007EF80000007EFC0000007EFC0000007C7C0
1343 000007C7C000000FC7E000000FC7E000000FC7E000000FC3E000001F83F000001F83F000
1344 001F83F000001F83F000001F83F000003F01F800003F01F800003F01F800003F01F80000
1345 7E00FC00007E00FC00007E00FC00007E00FC00007E00FC0000FC007E0000FFFFFE0000FF
1346 FFFE0000FFFFFE0001FFFFFF0001FFFFFF0001F8003F0001F8003F0001F8003F0003F000
1347 1F8003F0001F8003F0001F8003F0001F8007F0001FC007E0000FC07FFE00FFFC7FFF01FF
1348 FCFFFF01FFFE7FFF01FFFC7FFE00FFFC27347EB32C>I<7FFFFFE0007FFFFFF800FFFFFF
1349 FE007FFFFFFF007FFFFFFFC003F0003FC003F0000FE003F00007F003F00003F003F00003
1350 F003F00001F803F00001F803F00001F803F00001F803F00001F803F00001F803F00003F0
1351 03F00003F003F00007F003F0000FE003F0001FC003F000FF8003FFFFFF0003FFFFFE0003
1352 FFFFFC0003FFFFFF0003FFFFFFC003F0001FE003F00007F003F00003F803F00001F803F0
1353 0000FC03F00000FC03F00000FE03F000007E03F000007E03F000007E03F000007E03F000
1354 007E03F000007E03F00000FE03F00000FC03F00001FC03F00003F803F0000FF803F0003F
1355 F07FFFFFFFE07FFFFFFFC0FFFFFFFF807FFFFFFE007FFFFFF00027337FB22C>I<0000FF
1356 00700007FFE0F8000FFFF9F8003FFFFDF8007FFFFFF800FF81FFF801FE007FF803FC001F
1357 F807F0000FF807F00007F80FE00007F80FC00003F81F800003F81F800001F83F000001F8
1358 3F000001F87F000001F87E000000F07E000000007E00000000FE00000000FC00000000FC
1359 00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00
1360 000000FC00000000FC00000000FE000000007E000000007E000000007E000000007F0000
1361 00F03F000001F83F000001F81F800001F81F800001F80FC00003F80FE00003F007F00007
1362 F007F00007E003FC001FE001FE003FC000FF81FF80007FFFFF00003FFFFE00000FFFFC00
1363 0007FFF0000000FF800025357DB32C>I<7FFFFF0000FFFFFFC000FFFFFFF000FFFFFFF8
1364 007FFFFFFC0007E003FE0007E000FF0007E0007F8007E0003F8007E0001FC007E0000FE0
1365 07E0000FE007E00007E007E00007F007E00003F007E00003F807E00001F807E00001F807
1366 E00001F807E00001F807E00000FC07E00000FC07E00000FC07E00000FC07E00000FC07E0
1367 0000FC07E00000FC07E00000FC07E00000FC07E00000FC07E00000FC07E00000FC07E000
1368 01F807E00001F807E00001F807E00003F807E00003F007E00003F007E00007F007E00007
1369 E007E0000FE007E0001FC007E0003FC007E0007F8007E000FF0007E003FE007FFFFFFC00
1370 FFFFFFF800FFFFFFF000FFFFFFC0007FFFFF000026337EB22C>I<7FFFFFFFF0FFFFFFFF
1371 F8FFFFFFFFF8FFFFFFFFF87FFFFFFFF803F00001F803F00001F803F00001F803F00001F8
1372 03F00001F803F00001F803F00001F803F00000F003F000000003F000000003F000000003
1373 F000000003F001E00003F003F00003F003F00003F003F00003F003F00003FFFFF00003FF
1374 FFF00003FFFFF00003FFFFF00003FFFFF00003F003F00003F003F00003F003F00003F003
1375 F00003F001E00003F000000003F000000003F000000003F000000003F000000003F00000
1376 3C03F000007E03F000007E03F000007E03F000007E03F000007E03F000007E03F000007E
1377 03F000007E7FFFFFFFFEFFFFFFFFFEFFFFFFFFFEFFFFFFFFFE7FFFFFFFFC27337EB22C>
1378 I<7FFFFFFFF8FFFFFFFFFCFFFFFFFFFCFFFFFFFFFC7FFFFFFFFC03F00000FC03F00000FC
1379 03F00000FC03F00000FC03F00000FC03F00000FC03F00000FC03F000007803F000000003
1380 F000000003F000000003F000000003F000000003F000F00003F001F80003F001F80003F0
1381 01F80003F001F80003FFFFF80003FFFFF80003FFFFF80003FFFFF80003FFFFF80003F001
1382 F80003F001F80003F001F80003F001F80003F000F00003F000000003F000000003F00000
1383 0003F000000003F000000003F000000003F000000003F000000003F000000003F0000000
1384 03F000000003F000000003F00000007FFFE00000FFFFE00000FFFFF00000FFFFE000007F
1385 FFE0000026337EB22C>I<0001FC0380000FFF87C0001FFFEFC0007FFFFFC000FFFFFFC0
1386 01FF07FFC003FC01FFC003F800FFC007F0007FC00FE0003FC00FC0001FC01FC0001FC01F
1387 80001FC03F80000FC03F00000FC03F00000FC07E00000FC07E000007807E000000007E00
1388 000000FE00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC0000
1389 0000FC00000000FC00000000FC0003FFF8FC0007FFFCFC0007FFFCFE0007FFFC7E0003FF
1390 F87E00000FC07E00000FC07E00000FC03F00001FC03F00001FC03F80001FC01F80001FC0
1391 1FC0003FC00FC0003FC00FE0007FC007F0007FC003F800FFC003FC01FFC001FF07FFC000
1392 FFFFFFC0007FFFEFC0001FFFCFC0000FFF07800001FC000026357DB32C>I<7FFE00FFFC
1393 FFFF01FFFEFFFF01FFFEFFFF01FFFE7FFE00FFFC07E0000FC007E0000FC007E0000FC007
1394 E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0
1395 000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007FFFF
1396 FFC007FFFFFFC007FFFFFFC007FFFFFFC007FFFFFFC007E0000FC007E0000FC007E0000F
1397 C007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC0
1398 07E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007
1399 E0000FC007E0000FC07FFE00FFFCFFFF01FFFEFFFF01FFFEFFFF01FFFE7FFE00FFFC2733
1400 7EB22C>I<7FFFFFF8FFFFFFFCFFFFFFFCFFFFFFFC7FFFFFF8000FC000000FC000000FC0
1401 00000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0
1402 00000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0
1403 00000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0
1404 00000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0
1405 00000FC000000FC0007FFFFFF8FFFFFFFCFFFFFFFCFFFFFFFC7FFFFFF81E3379B22C>I<
1406 0007FFFF80000FFFFFC0000FFFFFC0000FFFFFC00007FFFF80000003F000000003F00000
1407 0003F000000003F000000003F000000003F000000003F000000003F000000003F0000000
1408 03F000000003F000000003F000000003F000000003F000000003F000000003F000000003
1409 F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0
1410 00000003F000000003F000000003F000000003F000000003F000000003F000000003F000
1411 000003F000000003F000180003F0007E0003F0007E0003F000FF0003F000FF0003F000FF
1412 0007E000FE000FE0007F001FE0007FC07FC0003FFFFF80001FFFFF00000FFFFE000003FF
1413 F80000007FC0000022347BB22C>I<7FFC007FF8FFFE00FFFCFFFE00FFFCFFFE00FFFC7F
1414 FC007FF807C0001F8007C0003F8007C0007F0007C0007E0007C000FC0007C001F80007C0
1415 03F80007C007F00007C007E00007C00FC00007C01F800007C03F800007C07F000007C07E
1416 000007C0FC000007C1F8000007C3F8000007C7FC000007C7FC000007CFFE000007DFBE00
1417 0007FFBF000007FF1F000007FE1F800007FC0FC00007F80FC00007F807E00007F003E000
1418 07E003F00007C001F00007C001F80007C000FC0007C000FC0007C0007E0007C0003E0007
1419 C0003F0007C0001F0007C0001F8007C0000FC007C0000FC007C00007E07FFC001FFCFFFE
1420 003FFEFFFE003FFEFFFE003FFE7FFC001FFC27337EB22C>I<7FFFE00000FFFFF00000FF
1421 FFF00000FFFFF000007FFFE0000003F000000003F000000003F000000003F000000003F0
1422 00000003F000000003F000000003F000000003F000000003F000000003F000000003F000
1423 000003F000000003F000000003F000000003F000000003F000000003F000000003F00000
1424 0003F000000003F000000003F000000003F000000003F000000003F000000003F0000000
1425 03F000000003F000000003F000000003F000000003F000000003F000000003F00000F003
1426 F00001F803F00001F803F00001F803F00001F803F00001F803F00001F803F00001F803F0
1427 0001F87FFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF87FFFFFFFF025337DB22C>I<7F
1428 E0000FFCFFF0001FFEFFF0001FFEFFF8003FFE7FF8003FFC0FF8003FE00FBC007BE00FBC
1429 007BE00FBC007BE00FBC007BE00F9E00F3E00F9E00F3E00F9E00F3E00F9F01F3E00F9F01
1430 F3E00F8F01E3E00F8F01E3E00F8F83E3E00F8F83E3E00F8783C3E00F87C7C3E00F87C7C3
1431 E00F83C783E00F83C783E00F83EF83E00F83EF83E00F81EF03E00F81EF03E00F81FF03E0
1432 0F80FE03E00F80FE03E00F80FE03E00F807C03E00F803803E00F800003E00F800003E00F
1433 800003E00F800003E00F800003E00F800003E00F800003E00F800003E00F800003E00F80
1434 0003E00F800003E00F800003E07FF0001FFCFFF8003FFEFFF8003FFEFFF8003FFE7FF000
1435 1FFC27337EB22C>I<7FF0007FFCFFF800FFFEFFF800FFFEFFFC00FFFE7FFC007FFC07FE
1436 0007C007DE0007C007DE0007C007DF0007C007CF0007C007CF0007C007CF8007C007C780
1437 07C007C7C007C007C7C007C007C3C007C007C3E007C007C3E007C007C1E007C007C1F007
1438 C007C1F007C007C0F007C007C0F807C007C0F807C007C07C07C007C07C07C007C07C07C0
1439 07C03E07C007C03E07C007C01E07C007C01F07C007C01F07C007C00F07C007C00F87C007
1440 C00F87C007C00787C007C007C7C007C007C7C007C003C7C007C003E7C007C001E7C007C0
1441 01E7C007C001F7C007C000F7C007C000F7C007C000FFC07FFC007FC0FFFE007FC0FFFE00
1442 3FC0FFFE003FC07FFC001F8027337EB22C>I<007FFF000003FFFFE0000FFFFFF8001FFF
1443 FFFC003FFFFFFE003FE003FE003F8000FE007F00007F007F00007F007E00003F007E0000
1444 3F007E00003F00FE00003F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F
1445 80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80
1446 FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC
1447 00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FE00
1448 003F80FE00003F807E00003F007E00003F007E00003F007F00007F007F00007F003F8000
1449 FE003FF007FE003FFFFFFE001FFFFFFC000FFFFFF80003FFFFE000007FFF000021357BB3
1450 2C>I<7FFFFFC000FFFFFFF800FFFFFFFC00FFFFFFFF007FFFFFFF8003F000FFC003F000
1451 3FC003F0000FE003F00007F003F00007F003F00003F003F00003F803F00001F803F00001
1452 F803F00001F803F00001F803F00001F803F00001F803F00003F803F00003F003F00007F0
1453 03F00007F003F0000FE003F0003FC003F000FFC003FFFFFF8003FFFFFF0003FFFFFC0003
1454 FFFFF80003FFFFC00003F000000003F000000003F000000003F000000003F000000003F0
1455 00000003F000000003F000000003F000000003F000000003F000000003F000000003F000
1456 000003F000000003F000000003F00000007FFF800000FFFFC00000FFFFC00000FFFFC000
1457 007FFF80000025337EB22C>I<7FFFFC000000FFFFFF800000FFFFFFE00000FFFFFFF800
1458 007FFFFFFC000007E007FE000007E001FE000007E0007F000007E0003F800007E0001F80
1459 0007E0001F800007E0000FC00007E0000FC00007E0000FC00007E0000FC00007E0000FC0
1460 0007E0000FC00007E0001F800007E0001F800007E0003F800007E0007F000007E001FE00
1461 0007E007FE000007FFFFFC000007FFFFF8000007FFFFE0000007FFFFF0000007FFFFF800
1462 0007E007FC000007E001FE000007E000FE000007E0007F000007E0003F000007E0003F00
1463 0007E0003F000007E0003F000007E0003F000007E0003F000007E0003F000007E0003F00
1464 0007E0003F0F0007E0003F1F8007E0003F1F8007E0003F1F8007E0003F1F8007E0003F1F
1465 807FFE001FBF80FFFF001FFF00FFFF000FFF00FFFF000FFE007FFE0007FC0000000001F0
1466 0029347EB22C>82 D<001FF8070000FFFF0F8001FFFFCF8007FFFFFF800FFFFFFF801FF0
1467 1FFF803FC003FF803F8001FF807F0000FF807E00007F80FE00003F80FC00003F80FC0000
1468 1F80FC00001F80FC00001F80FC00001F80FE00000F007E000000007F000000007F800000
1469 003FE00000001FFC0000001FFFC000000FFFFC000003FFFFC00001FFFFF000007FFFF800
1470 0007FFFC0000007FFE00000007FF00000000FF800000003F800000001FC00000001FC000
1471 00000FE00000000FE078000007E0FC000007E0FC000007E0FC000007E0FC000007E0FC00
1472 0007E0FE00000FC0FE00000FC0FF00001F80FF80003F80FFE0007F00FFFE01FF00FFFFFF
1473 FE00FFFFFFFC00F9FFFFF000F83FFFC0007007FF000023357CB32C>I<7FFFFFFFFCFFFF
1474 FFFFFEFFFFFFFFFEFFFFFFFFFEFFFFFFFFFEFC007E007EFC007E007EFC007E007EFC007E
1475 007EFC007E007EFC007E007EFC007E007E78007E003C00007E000000007E000000007E00
1476 0000007E000000007E000000007E000000007E000000007E000000007E000000007E0000
1477 00007E000000007E000000007E000000007E000000007E000000007E000000007E000000
1478 007E000000007E000000007E000000007E000000007E000000007E000000007E00000000
1479 7E000000007E000000007E000000007E000000007E000000007E000000007E000000007E
1480 000000007E0000003FFFFC00003FFFFC00007FFFFE00003FFFFC00003FFFFC0027337EB2
1481 2C>I<7FFF803FFFC0FFFFC07FFFE0FFFFC07FFFE0FFFFC07FFFE07FFF803FFFC003F000
1482 01F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F000
1483 01F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F000
1484 01F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F000
1485 01F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F000
1486 01F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F000
1487 01F80003F00001F80003F00001F80003F80003F80001F80003F00001F80003F00001FC00
1488 07F00000FC0007E00000FE000FE000007F001FC000003F803F8000003FE0FF8000001FFF
1489 FF0000000FFFFE00000003FFF800000001FFF0000000003F8000002B3480B22C>I<7FFC
1490 007FFCFFFE00FFFEFFFE00FFFEFFFE00FFFE7FFC007FFC0FC00007E00FE0000FE007E000
1491 0FC007E0000FC007E0000FC007F0001FC003F0001F8003F0001F8003F0001F8003F8003F
1492 8001F8003F0001F8003F0001F8003F0001FC007F0000FC007E0000FC007E0000FC007E00
1493 00FC007E00007E00FC00007E00FC00007E00FC00007E00FC00003F01F800003F01F80000
1494 3F01F800003F01F800001F83F000001F83F000001F83F000001F83F000000F83E000000F
1495 C7E000000FC7E000000FC7E0000007C7C0000007C7C0000007EFC0000007EFC0000003EF
1496 80000003EF80000003FF80000003FF80000001FF00000001FF00000001FF00000001FF00
1497 000000FE000027347EB22C>I<7FF00007FF00FFF8000FFF80FFF8000FFF80FFF8000FFF
1498 807FF00007FF001F0000007C001F0000007C001F0000007C001F0000007C000F800000F8
1499 000F800000F8000F800000F8000F800000F8000F800000F8000F800000F8000F800000F8
1500 0007C00001F00007C00001F00007C00001F00007C00001F00007C03E01F00007C07F01F0
1501 0007C07F01F00007C07F01F00003E0FF83E00003E0FF83E00003E0F783E00003E0F783E0
1502 0003E1F7C3E00003E1F7C3E00003E1F7C3E00001E1E3C3C00001E1E3C3C00001F1E3C7C0
1503 0001F3E3E7C00001F3E3E7C00001F3E3E7C00001F3C1E7C00001F3C1E7C00000F3C1E780
1504 0000F3C1E7800000F7C1F7800000F780F7800000F780F7800000F780F7800000FF80FF80
1505 00007F80FF0000007F007F0000007F007F0000007F007F0000007F007F0000003E003E00
1506 0029347FB22C>I<3FFF03FFE07FFF07FFF07FFF87FFF07FFF07FFF03FFF03FFE001F800
1507 FE0001FC00FE0000FC01FC0000FE01FC00007E01F800007F03F800003F03F000003F87F0
1508 00001F87E000001FCFE000000FCFC000000FFFC0000007FF80000007FF80000003FF0000
1509 0003FF00000001FE00000001FE00000000FC00000000FC00000001FE00000001FE000000
1510 03FF00000003FF00000007FF80000007FFC000000FCFC000000FCFE000001FC7E000001F
1511 87F000003F83F000003F03F800007F01F800007E01FC0000FE00FC0000FC00FE0001FC00
1512 7E0001F8007F0003F8003F0003F0003F8003F0001F807FFE00FFFC7FFF01FFFCFFFF01FF
1513 FE7FFF01FFFC7FFE00FFFC27337EB22C>I<7FFC007FFCFFFE00FFFEFFFE00FFFEFFFE00
1514 FFFE7FFC007FFC07F0000FC007F0001FC003F0001F8003F8003F8001F8003F8001FC007F
1515 0000FC007F0000FE007E00007E00FE00007F00FC00003F01FC00003F81F800001F81F800
1516 001F83F000000FC3F000000FC7F0000007E7E0000007E7E0000003E7C0000003EFC00000
1517 01FF80000001FF80000001FF00000000FF00000000FE000000007E000000007E00000000
1518 7E000000007E000000007E000000007E000000007E000000007E000000007E000000007E
1519 000000007E000000007E000000007E000000007E000000007E000000007E00000007FFE0
1520 00000FFFF000000FFFF000000FFFF0000007FFE00027337EB22C>I<3FFFFFFFC07FFFFF
1521 FFE07FFFFFFFE07FFFFFFFE07FFFFFFFE07E00001FC07E00003F807E00003F807E00007F
1522 007E00007E007E0000FE007E0001FC003C0001F800000003F800000007F000000007F000
1523 00000FE00000001FC00000001FC00000003F800000007F000000007F00000000FE000000
1524 01FC00000001FC00000003F800000007F000000007F00000000FE00000001FC00000001F
1525 C00000003F800000007F000000007F00000000FE00000001FC00000001FC00000003F800
1526 03C003F00007E007F00007E00FE00007E00FC00007E01FC00007E03F800007E03F800007
1527 E07F000007E0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE07FFFFFFFC023337CB22C
1528 >I<7FFFFCFFFFFEFFFFFEFFFFFEFFFFFCFC0000FC0000FC0000FC0000FC0000FC0000FC
1529 0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC
1530 0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC
1531 0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC
1532 0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC
1533 0000FFFFFCFFFFFEFFFFFEFFFFFE7FFFFC17416FB92C>I<7000000000F800000000F800
1534 000000FC000000007C000000007E000000003E000000003F000000001F000000001F0000
1535 00001F800000000F800000000FC000000007C000000007E000000003E000000003F00000
1536 0001F000000001F800000000F800000000FC000000007C000000007E000000003E000000
1537 003E000000003F000000001F000000001F800000000F800000000FC000000007C0000000
1538 07E000000003E000000003F000000001F000000001F800000000F800000000FC00000000
1539 7C000000007E000000003E000000003E000000003F000000001F000000001F800000000F
1540 800000000FC000000007C000000007E000000003E000000003F000000001F000000001F8
1541 00000000F800000000FC000000007C000000007C000000007E000000003E000000003F00
1542 0000001F000000001F800000000F800000000F80000000070021417BB92C>I<7FFFFCFF
1543 FFFEFFFFFEFFFFFE7FFFFE00007E00007E00007E00007E00007E00007E00007E00007E00
1544 007E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007E00
1545 007E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007E00
1546 007E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007E00
1547 007E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007E7FFFFEFF
1548 FFFEFFFFFEFFFFFE7FFFFC17417DB92C>I<0007C000001FF000007FFC0001FFFF0007FF
1549 FFC01FFFFFF07FFC7FFCFFF01FFEFFC007FEFF0001FE7C00007C300000181F0C7AAE2C>
1550 I<7FFFFFFF00FFFFFFFF80FFFFFFFF80FFFFFFFF80FFFFFFFF807FFFFFFF0021067B7D2C
1551 >I<0038007C01FC03FC07F807F00FC01F801F803F003E007E007C007C00FC00F800F800
1552 F800FFC0FFE0FFF0FFF8FFF87FF87FF83FF83FF01FE007C00E1D72B82C>I<01FFF00000
1553 07FFFE00001FFFFF80001FFFFFE0003FFFFFF0003FC01FF8003FC007F8003FC001FC001F
1554 8000FC00060000FE000000007E000000007E000000007E000000FFFE00001FFFFE0000FF
1555 FFFE0003FFFFFE000FFFFFFE001FFF807E003FF8007E007FC0007E007F00007E00FE0000
1556 7E00FC00007E00FC00007E00FC00007E00FC00007E00FE00007E007F0000FE007F8003FE
1557 003FE01FFE001FFFFFFFFC0FFFFFFFFE07FFFFBFFE01FFFE1FFE003FF007FC27247CA32C
1558 >I<7FF0000000FFF8000000FFF8000000FFF80000007FF800000001F800000001F80000
1559 0001F800000001F800000001F800000001F800000001F800000001F800000001F8000000
1560 01F800000001F81FE00001F8FFF80001FBFFFE0001FFFFFF0001FFFFFF8001FFF07FC001
1561 FF801FE001FF0007F001FE0003F801FC0003F801FC0001FC01F80000FC01F80000FC01F8
1562 0000FE01F800007E01F800007E01F800007E01F800007E01F800007E01F800007E01F800
1563 007E01F800007E01F80000FE01FC0000FC01FC0000FC01FC0001F801FE0003F801FF0007
1564 F001FF000FF001FF801FE001FFE07FC001FFFFFF8001FFFFFF0001FBFFFE0001F8FFF800
1565 00F03FC00027337FB22C>I<0003FFE000001FFFF800007FFFFE0001FFFFFE0003FFFFFF
1566 0007FE00FF000FF000FF001FE000FF001FC0007E003F800018003F000000007F00000000
1567 7E000000007E00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC
1568 00000000FC00000000FC000000007E000000007E000000007F000000003F00000F003F80
1569 001F801FC0001F801FE0003F800FF0007F0007FE03FF0003FFFFFE0001FFFFFC00007FFF
1570 F800001FFFE0000003FF000021247AA32C>I<00000FFE0000001FFF0000001FFF000000
1571 1FFF0000000FFF000000003F000000003F000000003F000000003F000000003F00000000
1572 3F000000003F000000003F000000003F000000003F000007F83F00003FFE3F0000FFFFBF
1573 0001FFFFFF0003FFFFFF0007FC0FFF000FF003FF001FE001FF001FC000FF003F80007F00
1574 3F00007F007E00003F007E00003F00FE00003F00FC00003F00FC00003F00FC00003F00FC
1575 00003F00FC00003F00FC00003F00FC00003F00FC00003F00FE00003F007E00007F007E00
1576 007F007F0000FF003F8000FF003F8001FF001FC003FF000FF007FF0007FC1FFF0003FFFF
1577 FFFC01FFFFBFFE00FFFF3FFE003FFC3FFE000FF01FFC27337DB22C>I<0003FE0000001F
1578 FFC000007FFFF00001FFFFF80003FFFFFC0007FE03FE000FF800FF001FE0003F801FC000
1579 3F803F80001FC03F00000FC07F00000FC07E00000FE07E000007E0FC000007E0FFFFFFFF
1580 E0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFC0FC00000000FE000000007E00000000
1581 7E000000007F000000003F000003C03F800007E01FC00007E00FF0000FE007F8003FC007
1582 FF00FFC001FFFFFF8000FFFFFF00003FFFFC00000FFFF0000001FF800023247CA32C>I<
1583 00000FF80000003FFE000000FFFF000001FFFF800003FFFF800007FC7F800007F07F8000
1584 0FE03F00000FC03F00000FC00000000FC00000000FC00000000FC00000000FC00000000F
1585 C000007FFFFFFE00FFFFFFFF00FFFFFFFF00FFFFFFFF007FFFFFFE00000FC00000000FC0
1586 0000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC000
1587 00000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000
1588 000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC0000000
1589 0FC00000000FC00000000FC000003FFFFFF0007FFFFFF8007FFFFFF8007FFFFFF8003FFF
1590 FFF00021337DB22C>I<00000003F80007F80FFC001FFE3FFE007FFFFFFF01FFFFFFFF03
1591 FFFFFE7F03FC0FF87F07F003F83E0FE001FC1C0FC000FC001FC000FE001F80007E001F80
1592 007E001F80007E001F80007E001F80007E001F80007E001FC000FE000FC000FC000FE001
1593 FC0007F003F80003FC0FF00007FFFFF00007FFFFE0000FFFFF80000F9FFE00000F87F800
1594 000F800000000F800000000F800000000FC000000007E000000007FFFFF00003FFFFFE00
1595 07FFFFFF800FFFFFFFE01FFFFFFFF03FC0001FF87F000003FC7E000000FC7C0000007CFC
1596 0000007EF80000003EF80000003EF80000003EF80000003EFC0000007E7E000000FC7F80
1597 0003FC3FE0000FF81FFC007FF00FFFFFFFE003FFFFFF8001FFFFFF00003FFFF8000007FF
1598 C00028387EA42C>I<7FF000000000FFF800000000FFF800000000FFF8000000007FF800
1599 00000001F80000000001F80000000001F80000000001F80000000001F80000000001F800
1600 00000001F80000000001F80000000001F80000000001F80000000001F81FE0000001F87F
1601 FC000001F9FFFE000001FBFFFF000001FFFFFF000001FFF03F800001FFC01F800001FF80
1602 1FC00001FF000FC00001FE000FC00001FC000FC00001FC000FC00001F8000FC00001F800
1603 0FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F800
1604 0FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F800
1605 0FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC0007FFFE0
1606 FFFF00FFFFF1FFFF80FFFFF1FFFF80FFFFF1FFFF807FFFE0FFFF0029337FB22C>I<0007
1607 0000001FC000001FC000003FE000003FE000003FE000001FC000001FC000000700000000
1608 00000000000000000000000000000000000000000000000000007FFFC0007FFFE000FFFF
1609 E0007FFFE0007FFFE0000007E0000007E0000007E0000007E0000007E0000007E0000007
1610 E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007
1611 E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007
1612 E0000007E0007FFFFFFCFFFFFFFEFFFFFFFEFFFFFFFE7FFFFFFC1F3479B32C>I<00000E
1613 0000003F8000003F8000007FC000007FC000007FC000003F8000003F8000000E00000000
1614 0000000000000000000000000000000000000000000000000001FFFF8003FFFFC003FFFF
1615 C003FFFFC001FFFFC000000FC000000FC000000FC000000FC000000FC000000FC000000F
1616 C000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000F
1617 C000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000F
1618 C000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000F
1619 C000000FC000000FC000000FC000000FC000001FC03C001F807E003F80FF003F00FF007F
1620 00FF01FE00FFFFFC007FFFF8007FFFF0001FFFE00007FF00001A467CB32C>I<7FE00000
1621 00FFF0000000FFF0000000FFF00000007FF000000001F000000001F000000001F0000000
1622 01F000000001F000000001F000000001F000000001F000000001F000000001F000000001
1623 F01FFFF001F03FFFF801F03FFFF801F03FFFF801F01FFFF001F000FE0001F001FC0001F0
1624 03F80001F007F00001F00FE00001F01FC00001F03F800001F07F000001F0FE000001F1FC
1625 000001F3FC000001F7FE000001FFFF000001FFFF000001FF9F800001FF0FC00001FE0FE0
1626 0001FC07E00001F803F00001F001F80001F001FC0001F000FC0001F0007E0001F0003F00
1627 01F0003F8001F0001F807FFFC0FFFCFFFFE1FFFEFFFFE1FFFEFFFFE1FFFE7FFFC0FFFC27
1628 337EB22C>I<7FFFE00000FFFFF00000FFFFF00000FFFFF000007FFFF000000003F00000
1629 0003F000000003F000000003F000000003F000000003F000000003F000000003F0000000
1630 03F000000003F000000003F000000003F000000003F000000003F000000003F000000003
1631 F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0
1632 00000003F000000003F000000003F000000003F000000003F000000003F000000003F000
1633 000003F000000003F000000003F000000003F000000003F000000003F000000003F00000
1634 0003F000000003F000000003F000000003F000007FFFFFFF80FFFFFFFFC0FFFFFFFFC0FF
1635 FFFFFFC07FFFFFFF8022337BB22C>I<7F83F007E0007FCFFC1FF800FFDFFE3FFC007FFF
1636 FEFFFC007FFFFFFFFE0007FE1FFC3E0007FC1FF83F0007F80FF01F0007F00FE01F0007E0
1637 0FC01F0007E00FC01F0007E00FC01F0007C00F801F0007C00F801F0007C00F801F0007C0
1638 0F801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007C0
1639 0F801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007C0
1640 0F801F0007C00F801F0007C00F801F0007C00F801F007FFC3FF87FF07FFC7FF8FFF0FFFE
1641 7FFCFFF87FFC7FF8FFF07FFC3FF87FF02D2481A32C>I<7FF01FE00000FFF87FFC0000FF
1642 F9FFFE0000FFFBFFFF00007FFFFFFF000001FFF03F800001FFC01F800001FF801FC00001
1643 FF000FC00001FE000FC00001FC000FC00001FC000FC00001F8000FC00001F8000FC00001
1644 F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001
1645 F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001
1646 F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC0007FFFE0FFFF00FF
1647 FFF1FFFF80FFFFF1FFFF80FFFFF1FFFF807FFFE0FFFF0029247FA32C>I<0007FC000000
1648 1FFF0000007FFFC00001FFFFF00003FFFFF80007FC07FC000FF001FE001FE000FF001F80
1649 003F003F80003F803F00001F807E00000FC07E00000FC07E00000FC0FC000007E0FC0000
1650 07E0FC000007E0FC000007E0FC000007E0FC000007E0FC000007E0FE00000FE07E00000F
1651 C07E00000FC07F00001FC03F00001F803F80003F801FC0007F001FE000FF000FF001FE00
1652 07FC07FC0003FFFFF80001FFFFF000007FFFC000001FFF00000007FC000023247CA32C>
1653 I<7FF01FE000FFF8FFF800FFFBFFFE00FFFFFFFF007FFFFFFF8001FFF07FC001FF801FE0
1654 01FF0007F001FE0003F801FC0003F801FC0001FC01F80000FC01F80000FC01F80000FE01
1655 F800007E01F800007E01F800007E01F800007E01F800007E01F800007E01F800007E01F8
1656 00007E01F80000FE01FC0000FC01FC0000FC01FC0001F801FE0003F801FF0007F001FF00
1657 0FF001FF801FE001FFE07FC001FFFFFF8001FFFFFF0001FBFFFE0001F8FFF80001F83FC0
1658 0001F800000001F800000001F800000001F800000001F800000001F800000001F8000000
1659 01F800000001F800000001F800000001F800000001F800000001F80000007FFFE00000FF
1660 FFF00000FFFFF00000FFFFF000007FFFE0000027367FA32C>I<0003FC078000001FFF0F
1661 C000007FFFCFC00001FFFFEFC00003FFFFFFC00007FE07FFC0000FF001FFC0001FE000FF
1662 C0001FC0007FC0003F80003FC0003F00003FC0007F00001FC0007E00001FC0007E00000F
1663 C000FC00000FC000FC00000FC000FC00000FC000FC00000FC000FC00000FC000FC00000F
1664 C000FC00000FC000FC00000FC000FE00000FC0007E00001FC0007E00001FC0003F00003F
1665 C0003F80003FC0001FC0007FC0001FE000FFC0000FF003FFC00007FC0FFFC00003FFFFFF
1666 C00001FFFFEFC000007FFF8FC000003FFF0FC0000007F80FC0000000000FC0000000000F
1667 C0000000000FC0000000000FC0000000000FC0000000000FC0000000000FC0000000000F
1668 C0000000000FC0000000000FC0000000000FC0000000000FC0000000000FC000000003FF
1669 FF00000007FFFF80000007FFFF80000007FFFF80000003FFFF0029367DA32C>I<7FFE00
1670 3FC0FFFF01FFF0FFFF07FFF8FFFF1FFFFC7FFF3FFFFC003F7FE1FC003FFF01FC003FFC00
1671 F8003FF80070003FF00000003FE00000003FE00000003FC00000003F800000003F800000
1672 003F800000003F000000003F000000003F000000003F000000003F000000003F00000000
1673 3F000000003F000000003F000000003F000000003F000000003F000000003F000000003F
1674 000000003F0000007FFFFFE000FFFFFFF000FFFFFFF000FFFFFFF0007FFFFFE00026247E
1675 A32C>I<007FF87003FFFFF80FFFFFF81FFFFFF83FFFFFF87FC00FF87E0003F8FC0001F8
1676 F80001F8F80001F8F80001F8FC0000F07F0000007FF000003FFFC0001FFFFE000FFFFF80
1677 03FFFFE0007FFFF80001FFFC000007FC000000FE7800007FFC00003FFC00001FFE00001F
1678 FE00001FFF00003FFF80003EFFC000FEFFF007FCFFFFFFFCFFFFFFF8FFFFFFE0F8FFFF80
1679 701FFC0020247AA32C>I<001E000000003F000000003F000000003F000000003F000000
1680 003F000000003F000000003F000000003F000000003F0000007FFFFFFF00FFFFFFFF80FF
1681 FFFFFF80FFFFFFFF807FFFFFFF00003F000000003F000000003F000000003F000000003F
1682 000000003F000000003F000000003F000000003F000000003F000000003F000000003F00
1683 0000003F000000003F000000003F000000003F000000003F000000003F0003C0003F0007
1684 E0003F0007E0003F0007E0003F0007E0003F0007E0003F800FE0001F801FC0001FE07FC0
1685 000FFFFF80000FFFFF000003FFFE000001FFF80000003FE000232E7EAD2C>I<7FF003FF
1686 8000FFF807FFC000FFF807FFC000FFF807FFC0007FF803FFC00001F8000FC00001F8000F
1687 C00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000F
1688 C00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000F
1689 C00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000F
1690 C00001F8000FC00001F8001FC00001F8001FC00001F8003FC00001FC007FC00000FE03FF
1691 C00000FFFFFFFF00007FFFFFFF80003FFFFFFF80001FFFCFFF800003FE07FF0029247FA3
1692 2C>I<7FFF01FFFCFFFF01FFFEFFFF83FFFEFFFF01FFFE7FFF01FFFC03E0000F8003E000
1693 0F8003F0001F8001F0001F0001F0001F0001F8003F0000F8003E0000F8003E0000FC007E
1694 00007C007C00007C007C00007E00FC00003E00F800003E00F800003F01F800001F01F000
1695 001F01F000001F83F000000F83E000000F83E000000FC7E0000007C7C0000007C7C00000
1696 07EFC0000003EF80000003EF80000003FF80000001FF00000001FF00000000FE00000000
1697 7C000027247EA32C>I<7FFF007FFF007FFF80FFFF00FFFF80FFFF807FFF80FFFF007FFF
1698 007FFF0007C00001F00007C00001F00007C00001F00007C00001F00007C00001F00007C0
1699 0001F00003E00003E00003E00003E00003E00003E00003E03E03E00003E07F03E00003E0
1700 7F03E00001F07F07C00001F0FF87C00001F0FF87C00001F0F787C00001F0F787C00001F1
1701 F7C7C00000F1F7C7800000F9E3CF800000F9E3CF800000FBE3EF800000FBE3EF800000FB
1702 E3EF8000007BC1EF0000007FC1FF0000007FC1FF0000007F80FF0000007F80FF0000003F
1703 80FE0000001F007C000029247FA32C>I<3FFF03FFF07FFF87FFF87FFF87FFF87FFF87FF
1704 F83FFF03FFF000FC007E0000FC00FC00007E01F800003F01F000001F83F000001F87E000
1705 000FCFC0000007EF80000003FF80000001FF00000001FE00000000FC000000007C000000
1706 00FE00000001FE00000001FF00000003EF80000007CFC000000FC7C000000F83E000001F
1707 01F000003F01F800007E00F800007C007C0000F8007E0001F8003F007FFF01FFFC7FFF83
1708 FFFCFFFF83FFFE7FFF83FFFC7FFF01FFFC27247EA32C>I<7FFF01FFFCFFFF81FFFEFFFF
1709 83FFFEFFFF81FFFE7FFF01FFFC03E0000F8001F0000F8001F0001F8001F8001F0000F800
1710 1F0000F8003F0000FC003E00007C003E00007E007E00003E007C00003E007C00003F00FC
1711 00001F00F800001F00F800000F81F800000F81F000000F81F0000007C1F0000007C3E000
1712 0007C3E0000003E3E0000003E7C0000001E7C0000001F7C0000001F780000000FF800000
1713 00FF80000000FF000000007F000000007F000000003E000000003E000000007E00000000
1714 7C000000007C00000000FC00000000F800000000F800000C01F800003F01F000007F83F0
1715 00007F87E000007E0FE000007E1FC000007FFF8000003FFF0000001FFE0000000FFC0000
1716 0007E000000027367EA32C>I<3FFFFFFFE07FFFFFFFF07FFFFFFFF07FFFFFFFF07FFFFF
1717 FFF07E00001FE07E00003FC07E00007F807E0000FF007E0001FE003C0003FC00000007F8
1718 0000000FF00000001FE00000003FC00000007F80000000FF00000001FC00000003F80000
1719 000FF00000001FE00000003FC00000007F80000000FF00000001FE0001E003FC0003F007
1720 F80003F00FF00003F01FE00003F03FC00003F07F800003F0FFFFFFFFF0FFFFFFFFF0FFFF
1721 FFFFF0FFFFFFFFF07FFFFFFFE024247DA32C>I<000000FF00000007FF8000001FFF8000
1722 007FFF800000FFFF000001FFC0000001FE00000003F800000003F000000003F000000003
1723 F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0
1724 00000003F000000003F000000003F000000003F000000003F000000003F000000003F000
1725 000003F000000003F000000007F00000001FE0000000FFE000007FFFC00000FFFF800000
1726 FFFE000000FFFF8000007FFFC0000000FFE00000001FE000000007F000000003F0000000
1727 03F000000003F000000003F000000003F000000003F000000003F000000003F000000003
1728 F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0
1729 00000003F000000003F000000003F000000003F800000001FE00000001FFC0000000FFFF
1730 0000007FFF8000001FFF80000007FF80000000FF0021417BB92C>I<78FCFCFCFCFCFCFC
1731 FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
1732 FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC7806416DB92C>I<7FC0000000FFF800
1733 0000FFFE000000FFFF8000007FFFC0000000FFE00000001FE000000007F000000003F000
1734 000003F000000003F000000003F000000003F000000003F000000003F000000003F00000
1735 0003F000000003F000000003F000000003F000000003F000000003F000000003F0000000
1736 03F000000003F000000003F000000003F000000003F800000001FE00000001FFC0000000
1737 FFFF0000007FFF8000001FFF8000007FFF800000FFFF000001FFC0000001FE00000003F8
1738 00000003F000000003F000000003F000000003F000000003F000000003F000000003F000
1739 000003F000000003F000000003F000000003F000000003F000000003F000000003F00000
1740 0003F000000003F000000003F000000003F000000003F000000007F00000001FE0000000
1741 FFE000007FFFC00000FFFF800000FFFE000000FFF80000007FC000000021417BB92C>I<
1742 01F8001C07FE003E0FFF807E1FFFC0FE3FFFF3FC7F9FFFF8FE07FFF0FC03FFE0F800FFC0
1743 70003F001F0A7AB22C>I E
1744 %EndDVIPSBitmapFont
1745 /Fg 240[42 15[{}1 83.022 /CMSY10 rf
1746 %DVIPSBitmapFont: Fh ecbx1440 14.4 52
1747 /Fh 52 122 df<000000007FFC0000000000001FFFFF800000000001FFFFFFE000000000
1748 07FFFFFFF8000000003FFFC00FFC00000000FFFC0001FE00000001FFF000007F00000007
1749 FFC00003FF0000000FFF800007FF8000001FFF00000FFF8000003FFF00000FFF8000003F
1750 FE00000FFF8000007FFC00000FFF8000007FFC00001FFFC00000FFFC00000FFF800000FF
1751 F800000FFF800000FFF800000FFF800000FFF8000007FF000000FFF8000003FE000000FF
1752 F8000000F8000000FFF800000000000000FFF800000000000000FFF800000000000000FF
1753 F800000000000000FFF800000000000000FFF800000000000000FFF800000000000000FF
1754 F800000000000000FFF800000000000000FFF800000000000000FFF80007FFFFC000FFFF
1755 FFFFFFFFFFC000FFFFFFFFFFFFFFC000FFFFFFFFFFFFFFC000FFFFFFFFFFFFFFC000FFFF
1756 FFFFFFFFFFC00000FFF800000FFFC00000FFF8000007FFC00000FFF8000007FFC00000FF
1757 F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
1758 F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
1759 F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
1760 F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
1761 F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
1762 F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
1763 F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
1764 F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
1765 F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
1766 F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC000FFFF
1767 FFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFF
1768 FFF807FFFFFFC042547DD349>28 D<07E0001FF8003FFC007FFE007FFF00FFFF00FFFF80
1769 FFFF80FFFF80FFFFC0FFFFC07FFFC07FFFC03FFFC01FFBC007E3C00003C00003C00003C0
1770 0007C0000780000780000F80000F80000F00001F00001E00003E00003C00007C0000F800
1771 01F80001F00003E00007C0001F80001F00001E00000C0000122776D225>39
1772 D<FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0
1773 FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0230B7F9F2C>45
1774 D<07E01FF83FFC7FFE7FFEFFFFFFFFFFFFFFFFFFFFFFFF7FFE7FFE3FFC1FF807E0101076
1775 8F25>I<0000001E00000000003E0000000000FE0000000003FE000000000FFE00000000
1776 7FFE00000007FFFE000003FFFFFE0000FFFFFFFE0000FFFFFFFE0000FFFFFFFE0000FFF8
1777 7FFE0000FC007FFE000000007FFE000000007FFE000000007FFE000000007FFE00000000
1778 7FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00000000
1779 7FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00000000
1780 7FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00000000
1781 7FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00000000
1782 7FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00000000
1783 7FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00000000
1784 7FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00000000
1785 7FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00000000
1786 7FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00000000
1787 7FFE000000007FFE00007FFFFFFFFFFC7FFFFFFFFFFC7FFFFFFFFFFC7FFFFFFFFFFC7FFF
1788 FFFFFFFC2E4E76CD42>49 D<00001FFE0000000001FFFFF00000000FFFFFFC0000003FFF
1789 FFFF8000007FFFFFFFE00001FF803FFFF00003FC0007FFFC0007F00001FFFE000FE00000
1790 FFFF001F8000007FFF803F0000003FFF803F0000001FFFC07FE000001FFFE07FF800000F
1791 FFE07FFC00000FFFF0FFFC000007FFF0FFFE000007FFF0FFFE000003FFF8FFFE000003FF
1792 F8FFFE000003FFF8FFFE000003FFF8FFFE000003FFF87FFC000003FFF87FFC000003FFF8
1793 3FF8000003FFF81FF0000003FFF80380000003FFF80000000003FFF00000000007FFF000
1794 00000007FFF00000000007FFE0000000000FFFE0000000000FFFC0000000001FFFC00000
1795 00001FFF80000000003FFF00000000003FFE00000000007FFC0000000000FFF800000000
1796 00FFF00000000001FFE00000000003FFC00000000007FF800000000007FF00000000000F
1797 FC00000000001FF800000000003FF000000000007FC00000000000FF800000000001FF00
1798 0000000003FC000000000007F800000000000FF00000F800001FE00000F800003FC00000
1799 F800007F000000F80000FE000001F00001FC000001F00003F8000001F00007F0000001F0
1800 0007E0000001F0000F80000003F0001F00000003F0003E00000007F0007FFFFFFFFFF000
1801 FFFFFFFFFFE001FFFFFFFFFFE003FFFFFFFFFFE007FFFFFFFFFFE00FFFFFFFFFFFE01FFF
1802 FFFFFFFFE03FFFFFFFFFFFE07FFFFFFFFFFFE0FFFFFFFFFFFFE0FFFFFFFFFFFFC0FFFFFF
1803 FFFFFFC0FFFFFFFFFFFFC0FFFFFFFFFFFFC0354E7ACD42>I<000007FFC0000000007FFF
1804 FC00000003FFFFFF8000000FFFFFFFE000001FF803FFF800007FC000FFFC0000FE00003F
1805 FE0001FC00003FFF0003F800001FFF8003FE00001FFF8007FF80000FFFC007FFC0000FFF
1806 C00FFFC0000FFFE00FFFE0000FFFE00FFFE0000FFFE00FFFE0000FFFE00FFFE0000FFFE0
1807 0FFFE0000FFFE00FFFE0000FFFE007FFC0000FFFE007FFC0000FFFC003FF80000FFFC001
1808 FF00001FFFC0003800001FFF80000000001FFF80000000003FFF00000000003FFF000000
1809 00007FFE00000000007FFC0000000000FFF80000000001FFF00000000003FFC000000000
1810 0FFF80000000007FFE000000007FFFF8000000007FFFC0000000007FFFFC000000007FFF
1811 FF800000000003FFE000000000007FF800000000003FFE00000000001FFF00000000000F
1812 FF80000000000FFFC00000000007FFE00000000007FFF00000000003FFF80000000003FF
1813 F80000000003FFFC0000000001FFFC0000000001FFFC0000000001FFFE0000000001FFFE
1814 0000000001FFFE03C0000001FFFE0FF0000001FFFE3FFC000001FFFE7FFE000001FFFE7F
1815 FE000001FFFEFFFF000001FFFEFFFF000001FFFEFFFF000001FFFCFFFF000001FFFCFFFF
1816 000003FFFCFFFF000003FFF8FFFF000003FFF87FFE000003FFF07FFC000007FFF07FF800
1817 0007FFE03FE000000FFFC01FC000001FFFC00FF000003FFF8007FE00007FFE0003FFE003
1818 FFFC0001FFFFFFFFF800007FFFFFFFE000000FFFFFFF00000001FFFFFC000000001FFF80
1819 0000374F7BCD42>I<0000000000FC00000000000001FC00000000000001FC0000000000
1820 0003FC00000000000007FC0000000000000FFC0000000000000FFC0000000000001FFC00
1821 00000000003FFC0000000000007FFC0000000000007FFC000000000000FFFC0000000000
1822 01FFFC000000000003FFFC000000000003FFFC000000000007FFFC00000000000FFFFC00
1823 000000001FFFFC00000000001F7FFC00000000003E7FFC00000000007E7FFC0000000000
1824 FC7FFC0000000000F87FFC0000000001F07FFC0000000003F07FFC0000000007E07FFC00
1825 00000007C07FFC000000000F807FFC000000001F807FFC000000003F007FFC000000003E
1826 007FFC000000007C007FFC00000000FC007FFC00000001F8007FFC00000001F0007FFC00
1827 000003E0007FFC00000007E0007FFC0000000FC0007FFC0000000F80007FFC0000001F00
1828 007FFC0000003F00007FFC0000007E00007FFC0000007C00007FFC000000F800007FFC00
1829 0001F800007FFC000003F000007FFC000003E000007FFC000007C000007FFC00000FC000
1830 007FFC00001F8000007FFC00001F0000007FFC00003E0000007FFC00007E0000007FFC00
1831 00FC0000007FFC0000FFFFFFFFFFFFFF80FFFFFFFFFFFFFF80FFFFFFFFFFFFFF80FFFFFF
1832 FFFFFFFF80FFFFFFFFFFFFFF8000000000FFFC000000000000FFFC000000000000FFFC00
1833 0000000000FFFC000000000000FFFC000000000000FFFC000000000000FFFC0000000000
1834 00FFFC000000000000FFFC000000000000FFFC000000000000FFFC000000000000FFFC00
1835 0000000000FFFC000000000000FFFC000000000000FFFC000000001FFFFFFFFF8000001F
1836 FFFFFFFF8000001FFFFFFFFF8000001FFFFFFFFF8000001FFFFFFFFF80394F7CCE42>I<
1837 0180000000060001F00000003E0001FE000001FE0001FFF0003FFE0001FFFFFFFFFC0001
1838 FFFFFFFFF80001FFFFFFFFF00001FFFFFFFFE00001FFFFFFFFC00001FFFFFFFF800001FF
1839 FFFFFF000001FFFFFFFC000001FFFFFFF8000001FFFFFFE0000001FFFFFF00000001FFFF
1840 FC00000001F0FF8000000001F0000000000001F0000000000001F0000000000001F00000
1841 00000001F0000000000001F0000000000001F0000000000001F0000000000001F0000000
1842 000001F0000000000001F0000000000001F0000000000001F007FF80000001F03FFFF800
1843 0001F0FFFFFE000001F3FFFFFF800001FFFC01FFE00001FFE0007FF80001FF00003FFC00
1844 01FE00001FFE0001F800000FFF0001F000000FFF0001F0000007FF8001E0000007FFC000
1845 00000007FFC00000000007FFE00000000003FFE00000000003FFF00000000003FFF00000
1846 000003FFF00000000003FFF00000000003FFF80000000003FFF80000000003FFF8030000
1847 0003FFF80FE0000003FFF83FF8000003FFF87FFC000003FFF87FFC000003FFF8FFFC0000
1848 03FFF8FFFE000003FFF8FFFE000003FFF8FFFE000003FFF0FFFE000003FFF0FFFC000003
1849 FFF0FFFC000007FFF07FF8000007FFE07FF0000007FFE07FC0000007FFC03F0000000FFF
1850 C03F0000000FFF801F8000001FFF001FC000001FFF000FF000003FFE0007F80000FFFC00
1851 03FE0001FFF00001FFE00FFFE000007FFFFFFF8000003FFFFFFF0000000FFFFFF8000000
1852 01FFFFC0000000003FFC000000354F7ACD42>I<00000007FE0000000000FFFFC0000000
1853 03FFFFF00000001FFFFFFC0000007FFC01FE000000FFE0007F000003FF80003F800007FF
1854 00001F80000FFE00007FC0001FFC0000FFC0003FF80003FFE0007FF00003FFE000FFE000
1855 07FFE001FFE00007FFE003FFC00007FFE003FFC00007FFE007FF800007FFE007FF800007
1856 FFE00FFF800003FFC00FFF000003FFC01FFF000000FF001FFF0000007E001FFF00000000
1857 003FFF00000000003FFF00000000003FFE00000000007FFE00000000007FFE0000000000
1858 7FFE003FF000007FFE01FFFF00007FFE07FFFFC000FFFE0FFFFFF000FFFE1F807FF800FF
1859 FE3E001FFE00FFFE78000FFF00FFFEF00007FF80FFFEF00003FFC0FFFFE00003FFC0FFFF
1860 C00001FFE0FFFFC00001FFF0FFFF800001FFF0FFFF800000FFF8FFFF800000FFF8FFFF00
1861 0000FFFCFFFF000000FFFCFFFF000000FFFCFFFF000000FFFCFFFE000000FFFEFFFE0000
1862 00FFFEFFFE000000FFFE7FFE000000FFFE7FFE000000FFFE7FFE000000FFFE7FFE000000
1863 FFFE7FFE000000FFFE7FFE000000FFFE3FFE000000FFFE3FFE000000FFFE3FFE000000FF
1864 FE3FFF000000FFFE1FFF000000FFFC1FFF000000FFFC1FFF000000FFFC0FFF000000FFF8
1865 0FFF000001FFF807FF000001FFF807FF800001FFF003FF800001FFE001FFC00003FFE001
1866 FFE00003FFC000FFE00007FF80007FF0000FFF00003FFC001FFE00001FFF00FFFC000007
1867 FFFFFFF0000003FFFFFFE0000000FFFFFF800000001FFFFC0000000003FFC00000374F7B
1868 CD42>I<1F0000000000001F8000000000001FC000000000001FFF80000000001FFFFFFF
1869 FFFFFF1FFFFFFFFFFFFF1FFFFFFFFFFFFF1FFFFFFFFFFFFF3FFFFFFFFFFFFF3FFFFFFFFF
1870 FFFE3FFFFFFFFFFFFC3FFFFFFFFFFFF83FFFFFFFFFFFF03FFFFFFFFFFFF03FFFFFFFFFFF
1871 E03FFFFFFFFFFFC03FFFFFFFFFFF807FFFFFFFFFFF007F800000003E007E000000007E00
1872 7E00000000FC007C00000001F8007C00000003F0007C00000003E0007C00000007E0007C
1873 0000000FC000F80000001F8000F80000003F0000F80000007E0000F80000007C00000000
1874 0000FC000000000001F8000000000003F0000000000003F0000000000007E00000000000
1875 0FE000000000001FC000000000001FC000000000003F8000000000003F8000000000007F
1876 000000000000FF000000000000FF000000000001FF000000000001FE000000000003FE00
1877 0000000003FE000000000007FE000000000007FC00000000000FFC00000000000FFC0000
1878 0000000FFC00000000001FFC00000000001FFC00000000003FFC00000000003FFC000000
1879 00003FFC00000000007FF800000000007FF800000000007FF800000000007FF800000000
1880 00FFF80000000000FFF80000000000FFF80000000000FFF80000000000FFF80000000000
1881 FFF80000000001FFF80000000001FFF80000000001FFF80000000001FFF80000000001FF
1882 F80000000001FFF80000000001FFF80000000001FFF80000000001FFF80000000001FFF8
1883 0000000001FFF80000000000FFF000000000007FE000000000003FC000000000001F8000
1884 0000385279D042>I<000003FFC0000000003FFFFC00000001FFFFFF80000007FFFFFFE0
1885 00000FFC00FFF800003FE0001FFC00007F800007FE0000FF000003FF0000FE000001FF80
1886 01FC000000FF8003FC000000FFC003F80000007FC007F80000007FC007F80000007FE007
1887 F80000003FE00FF80000003FE00FF80000003FE00FFC0000003FE00FFC0000003FE00FFE
1888 0000003FE00FFF0000003FE00FFF8000007FE00FFFE000007FC00FFFF000007FC00FFFFC
1889 0000FFC007FFFF0000FF8007FFFF8001FF0007FFFFE003FF0003FFFFF807FE0003FFFFFC
1890 0FFC0001FFFFFF1FF00000FFFFFFFFE00000FFFFFFFF8000007FFFFFFE0000003FFFFFFE
1891 0000000FFFFFFF80000007FFFFFFC0000001FFFFFFF0000000FFFFFFF8000003FFFFFFFE
1892 00000FFFFFFFFF00003FF7FFFFFF80007FC1FFFFFFC001FF807FFFFFE003FF001FFFFFE0
1893 07FE000FFFFFF00FFC0003FFFFF81FF80000FFFFF81FF000007FFFFC3FF000001FFFFC3F
1894 E0000007FFFC7FE0000003FFFE7FC0000000FFFE7FC00000007FFEFFC00000003FFEFF80
1895 0000001FFEFF800000000FFEFF8000000007FEFF8000000007FEFF8000000003FEFF8000
1896 000003FEFF8000000003FCFF8000000003FCFFC000000003FC7FC000000003FC7FE00000
1897 0007F87FE000000007F83FF00000000FF03FF80000000FF01FFC0000001FE00FFE000000
1898 3FC007FF000000FF8003FFC00003FF0001FFFC003FFE00007FFFFFFFF800001FFFFFFFE0
1899 000007FFFFFF80000000FFFFFC000000000FFFC00000374F7BCD42>I<07E01FF83FFC7F
1900 FE7FFEFFFFFFFFFFFFFFFFFFFFFFFF7FFE7FFE3FFC1FF807E00000000000000000000000
1901 0000000000000000000000000000000000000000000000000000000000000007E01FF83F
1902 FC7FFE7FFEFFFFFFFFFFFFFFFFFFFFFFFF7FFE7FFE3FFC1FF807E0103576B425>58
1903 D<00000000003F00000000000000000000003F00000000000000000000007F8000000000
1904 0000000000007F80000000000000000000007F8000000000000000000000FFC000000000
1905 000000000000FFC000000000000000000001FFE000000000000000000001FFE000000000
1906 000000000001FFE000000000000000000003FFF000000000000000000003FFF000000000
1907 000000000007FFF800000000000000000007FFF800000000000000000007FFF800000000
1908 00000000000FFFFC0000000000000000000FFFFC0000000000000000001FFFFE00000000
1909 00000000001FFFFE0000000000000000001FFFFE0000000000000000003FFFFF00000000
1910 00000000003EFFFF0000000000000000003E7FFF0000000000000000007E7FFF80000000
1911 00000000007C3FFF800000000000000000FC3FFFC00000000000000000F83FFFC0000000
1912 0000000000F81FFFC00000000000000001F81FFFE00000000000000001F00FFFE0000000
1913 0000000003F00FFFF00000000000000003E00FFFF00000000000000003E007FFF0000000
1914 0000000007E007FFF80000000000000007C003FFF8000000000000000FC003FFFC000000
1915 000000000F8003FFFC000000000000000F8001FFFC000000000000001F8001FFFE000000
1916 000000001F0001FFFE000000000000001F0000FFFE000000000000003F0000FFFF000000
1917 000000003E00007FFF000000000000007E00007FFF800000000000007C00007FFF800000
1918 000000007C00003FFF80000000000000FC00003FFFC0000000000000F800001FFFC00000
1919 00000001F800001FFFE0000000000001F000001FFFE0000000000001F000000FFFE00000
1920 00000003F000000FFFF0000000000003E0000007FFF0000000000007E0000007FFF80000
1921 00000007C0000007FFF8000000000007FFFFFFFFFFF800000000000FFFFFFFFFFFFC0000
1922 0000000FFFFFFFFFFFFC00000000000FFFFFFFFFFFFC00000000001FFFFFFFFFFFFE0000
1923 0000001F00000000FFFE00000000003F00000000FFFF00000000003E00000000FFFF0000
1924 0000003E000000007FFF00000000007E000000007FFF80000000007C000000003FFF8000
1925 000000FC000000003FFFC000000000F8000000003FFFC000000000F8000000001FFFC000
1926 000001F8000000001FFFE000000001F0000000000FFFE000000003F0000000000FFFF000
1927 000003E0000000000FFFF000000003E00000000007FFF000000007E00000000007FFF800
1928 000007C00000000003FFF800000007C00000000003FFF80000000F800000000003FFFC00
1929 00003FF00000000001FFFC0000FFFFFFF000000FFFFFFFFFC0FFFFFFF000000FFFFFFFFF
1930 C0FFFFFFF000000FFFFFFFFFC0FFFFFFF000000FFFFFFFFFC0FFFFFFF000000FFFFFFFFF
1931 C05A547CD363>65 D<0000000003FFF0000007000000007FFFFF00000F00000007FFFFFF
1932 E0001F0000003FFFFFFFF8003F000000FFFFFFFFFE007F000003FFFFC003FF00FF00000F
1933 FFF800003FC1FF00003FFFC000000FE3FF0000FFFF00000003FFFF0001FFFC00000001FF
1934 FF0003FFF800000000FFFF0007FFE0000000007FFF001FFFC0000000003FFF003FFF8000
1935 0000001FFF003FFF00000000000FFF007FFE000000000007FF00FFFC000000000003FF01
1936 FFFC000000000003FF01FFF8000000000001FF03FFF0000000000001FF07FFF000000000
1937 0000FF07FFF0000000000000FF0FFFE00000000000007F0FFFE00000000000007F1FFFC0
1938 0000000000007F1FFFC00000000000003F1FFFC00000000000003F3FFF80000000000000
1939 3F3FFF800000000000001F3FFF800000000000001F7FFF800000000000001F7FFF800000
1940 000000001F7FFF80000000000000007FFF00000000000000007FFF0000000000000000FF
1941 FF0000000000000000FFFF0000000000000000FFFF0000000000000000FFFF0000000000
1942 000000FFFF0000000000000000FFFF0000000000000000FFFF0000000000000000FFFF00
1943 00000000000000FFFF0000000000000000FFFF0000000000000000FFFF00000000000000
1944 00FFFF0000000000000000FFFF0000000000000000FFFF00000000000000007FFF000000
1945 00000000007FFF00000000000000007FFF80000000000000007FFF80000000000000007F
1946 FF80000000000000003FFF800000000000001F3FFF800000000000001F3FFF8000000000
1947 00001F1FFFC00000000000001F1FFFC00000000000001F1FFFC00000000000003F0FFFE0
1948 0000000000003F0FFFE00000000000003E07FFF00000000000003E07FFF0000000000000
1949 7E03FFF80000000000007C01FFF8000000000000FC01FFFC000000000000F800FFFC0000
1950 00000001F8007FFE000000000003F0003FFF000000000003F0003FFF800000000007E000
1951 1FFFC0000000000FC00007FFE0000000001F800003FFF8000000003F000001FFFC000000
1952 00FE000000FFFF00000001FC0000003FFFC0000007F80000000FFFFC00003FF000000003
1953 FFFFC001FFC000000000FFFFFFFFFF00000000003FFFFFFFFC000000000007FFFFFFF000
1954 00000000007FFFFF8000000000000003FFF0000000505479D25F>67
1955 D<FFFFFFFFFFFFFF0000000000FFFFFFFFFFFFFFF800000000FFFFFFFFFFFFFFFF000000
1956 00FFFFFFFFFFFFFFFFE0000000FFFFFFFFFFFFFFFFF80000000007FFF000001FFFFE0000
1957 000007FFF0000001FFFF0000000007FFF00000003FFFC000000007FFF00000000FFFE000
1958 000007FFF000000003FFF000000007FFF000000001FFF800000007FFF000000000FFFC00
1959 000007FFF0000000007FFE00000007FFF0000000003FFF00000007FFF0000000001FFF80
1960 000007FFF0000000000FFF80000007FFF00000000007FFC0000007FFF00000000007FFE0
1961 000007FFF00000000003FFE0000007FFF00000000003FFF0000007FFF00000000001FFF0
1962 000007FFF00000000001FFF8000007FFF00000000001FFF8000007FFF00000000000FFFC
1963 000007FFF00000000000FFFC000007FFF00000000000FFFC000007FFF00000000000FFFE
1964 000007FFF000000000007FFE000007FFF000000000007FFE000007FFF000000000007FFF
1965 000007FFF000000000007FFF000007FFF000000000007FFF000007FFF000000000007FFF
1966 000007FFF000000000007FFF000007FFF000000000007FFF800007FFF000000000007FFF
1967 800007FFF000000000007FFF800007FFF000000000007FFF800007FFF000000000007FFF
1968 800007FFF000000000007FFF800007FFF000000000007FFF800007FFF000000000007FFF
1969 800007FFF000000000007FFF800007FFF000000000007FFF800007FFF000000000007FFF
1970 800007FFF000000000007FFF800007FFF000000000007FFF800007FFF000000000007FFF
1971 800007FFF000000000007FFF800007FFF000000000007FFF000007FFF000000000007FFF
1972 000007FFF000000000007FFF000007FFF000000000007FFF000007FFF000000000007FFF
1973 000007FFF000000000007FFE000007FFF000000000007FFE000007FFF00000000000FFFE
1974 000007FFF00000000000FFFC000007FFF00000000000FFFC000007FFF00000000000FFFC
1975 000007FFF00000000001FFF8000007FFF00000000001FFF8000007FFF00000000003FFF0
1976 000007FFF00000000003FFF0000007FFF00000000007FFE0000007FFF00000000007FFE0
1977 000007FFF0000000000FFFC0000007FFF0000000001FFF80000007FFF0000000001FFF00
1978 000007FFF0000000003FFE00000007FFF0000000007FFE00000007FFF000000001FFFC00
1979 000007FFF000000003FFF000000007FFF00000000FFFE000000007FFF00000003FFFC000
1980 000007FFF0000001FFFF8000000007FFF000001FFFFE000000FFFFFFFFFFFFFFFFF80000
1981 00FFFFFFFFFFFFFFFFE0000000FFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFF8000000
1982 00FFFFFFFFFFFFFF000000000059527CD165>I<FFFFFFFFFFFFFFFFFE00FFFFFFFFFFFF
1983 FFFFFE00FFFFFFFFFFFFFFFFFE00FFFFFFFFFFFFFFFFFE00FFFFFFFFFFFFFFFFFE00000F
1984 FFE0000007FFFF00000FFFE00000007FFF00000FFFE00000001FFF00000FFFE000000007
1985 FF00000FFFE000000003FF00000FFFE000000001FF00000FFFE000000000FF00000FFFE0
1986 000000007F00000FFFE0000000007F00000FFFE0000000003F80000FFFE0000000003F80
1987 000FFFE0000000001F80000FFFE0000000001F80000FFFE0000000001F80000FFFE00000
1988 00000F80000FFFE0000000000F80000FFFE0000000000F80000FFFE0000000000F80000F
1989 FFE00001F0000FC0000FFFE00001F00007C0000FFFE00001F00007C0000FFFE00001F000
1990 07C0000FFFE00001F00007C0000FFFE00001F0000000000FFFE00001F0000000000FFFE0
1991 0003F0000000000FFFE00003F0000000000FFFE00003F0000000000FFFE00007F0000000
1992 000FFFE0000FF0000000000FFFE0001FF0000000000FFFE000FFF0000000000FFFFFFFFF
1993 F0000000000FFFFFFFFFF0000000000FFFFFFFFFF0000000000FFFFFFFFFF0000000000F
1994 FFFFFFFFF0000000000FFFE000FFF0000000000FFFE0001FF0000000000FFFE0000FF000
1995 0000000FFFE00007F0000000000FFFE00003F0000000000FFFE00003F0000000000FFFE0
1996 0003F0000000000FFFE00001F0000000000FFFE00001F00000F8000FFFE00001F00000F8
1997 000FFFE00001F00000F8000FFFE00001F00001F0000FFFE00001F00001F0000FFFE00001
1998 F00001F0000FFFE00000000001F0000FFFE00000000001F0000FFFE00000000003F0000F
1999 FFE00000000003F0000FFFE00000000003E0000FFFE00000000003E0000FFFE000000000
2000 07E0000FFFE00000000007E0000FFFE00000000007E0000FFFE0000000000FE0000FFFE0
2001 000000000FC0000FFFE0000000001FC0000FFFE0000000003FC0000FFFE0000000003FC0
2002 000FFFE0000000007FC0000FFFE000000000FFC0000FFFE000000001FF80000FFFE00000
2003 0007FF80000FFFE00000001FFF80000FFFE00000007FFF80000FFFE000000FFFFF80FFFF
2004 FFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFF
2005 FF00FFFFFFFFFFFFFFFFFF004D527CD156>I<FFFFFFFFFFFFFFFFFC00FFFFFFFFFFFFFF
2006 FFFC00FFFFFFFFFFFFFFFFFC00FFFFFFFFFFFFFFFFFC00FFFFFFFFFFFFFFFFFC000007FF
2007 F000000FFFFE000007FFF0000000FFFE000007FFF00000001FFE000007FFF00000000FFE
2008 000007FFF000000007FE000007FFF000000003FE000007FFF000000001FE000007FFF000
2009 000000FE000007FFF0000000007E000007FFF0000000007F000007FFF0000000003F0000
2010 07FFF0000000003F000007FFF0000000003F000007FFF0000000001F000007FFF0000000
2011 001F000007FFF0000000001F000007FFF0000000001F000007FFF0000000001F000007FF
2012 F0000000001F800007FFF00003E0000F800007FFF00003E0000F800007FFF00003E0000F
2013 800007FFF00003E0000F800007FFF00003E00000000007FFF00003E00000000007FFF000
2014 03E00000000007FFF00007E00000000007FFF00007E00000000007FFF00007E000000000
2015 07FFF0000FE00000000007FFF0001FE00000000007FFF0003FE00000000007FFF001FFE0
2016 0000000007FFFFFFFFE00000000007FFFFFFFFE00000000007FFFFFFFFE00000000007FF
2017 FFFFFFE00000000007FFFFFFFFE00000000007FFF001FFE00000000007FFF0003FE00000
2018 000007FFF0001FE00000000007FFF0000FE00000000007FFF00007E00000000007FFF000
2019 07E00000000007FFF00007E00000000007FFF00003E00000000007FFF00003E000000000
2020 07FFF00003E00000000007FFF00003E00000000007FFF00003E00000000007FFF00003E0
2021 0000000007FFF00003E00000000007FFF00000000000000007FFF00000000000000007FF
2022 F00000000000000007FFF00000000000000007FFF00000000000000007FFF00000000000
2023 000007FFF00000000000000007FFF00000000000000007FFF00000000000000007FFF000
2024 00000000000007FFF00000000000000007FFF00000000000000007FFF000000000000000
2025 07FFF00000000000000007FFF00000000000000007FFF00000000000000007FFF0000000
2026 0000000007FFF00000000000000007FFF00000000000000007FFF0000000000000FFFFFF
2027 FFFFF000000000FFFFFFFFFFF000000000FFFFFFFFFFF000000000FFFFFFFFFFF0000000
2028 00FFFFFFFFFFF00000000049527CD153>I<FFFFFFFFFF8007FFFFFFFFFCFFFFFFFFFF80
2029 07FFFFFFFFFCFFFFFFFFFF8007FFFFFFFFFCFFFFFFFFFF8007FFFFFFFFFCFFFFFFFFFF80
2030 07FFFFFFFFFC0007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF00000
2031 00003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF00000
2032 00003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF00000
2033 00003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF00000
2034 00003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF00000
2035 00003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF00000
2036 00003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF00000
2037 00003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF00000
2038 00003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF00000
2039 00003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF00000
2040 00003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFFFFFFF
2041 FFFFFFFF80000007FFFFFFFFFFFFFFFF80000007FFFFFFFFFFFFFFFF80000007FFFFFFFF
2042 FFFFFFFF80000007FFFFFFFFFFFFFFFF80000007FFF0000000003FFF80000007FFF00000
2043 00003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF00000
2044 00003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF00000
2045 00003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF00000
2046 00003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF00000
2047 00003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF00000
2048 00003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF00000
2049 00003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF00000
2050 00003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF00000
2051 00003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF00000
2052 00003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF00000
2053 00003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF00000
2054 00003FFF8000FFFFFFFFFF8007FFFFFFFFFCFFFFFFFFFF8007FFFFFFFFFCFFFFFFFFFF80
2055 07FFFFFFFFFCFFFFFFFFFF8007FFFFFFFFFCFFFFFFFFFF8007FFFFFFFFFC5E527CD167>
2056 72 D<FFFFFFFFFF80FFFFFFFFFF80FFFFFFFFFF80FFFFFFFFFF80FFFFFFFFFF800007FF
2057 F000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007FF
2058 F000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007FF
2059 F000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007FF
2060 F000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007FF
2061 F000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007FF
2062 F000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007FF
2063 F000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007FF
2064 F000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007FF
2065 F000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007FF
2066 F000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007FF
2067 F000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007FF
2068 F000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF00000FFFFFF
2069 FFFF80FFFFFFFFFF80FFFFFFFFFF80FFFFFFFFFF80FFFFFFFFFF8029527DD130>I<FFFF
2070 FFFFFFE0000000FFFFFFFFFFE0000000FFFFFFFFFFE0000000FFFFFFFFFFE0000000FFFF
2071 FFFFFFE0000000000FFFE00000000000000FFFE00000000000000FFFE00000000000000F
2072 FFE00000000000000FFFE00000000000000FFFE00000000000000FFFE00000000000000F
2073 FFE00000000000000FFFE00000000000000FFFE00000000000000FFFE00000000000000F
2074 FFE00000000000000FFFE00000000000000FFFE00000000000000FFFE00000000000000F
2075 FFE00000000000000FFFE00000000000000FFFE00000000000000FFFE00000000000000F
2076 FFE00000000000000FFFE00000000000000FFFE00000000000000FFFE00000000000000F
2077 FFE00000000000000FFFE00000000000000FFFE00000000000000FFFE00000000000000F
2078 FFE00000000000000FFFE00000000000000FFFE00000000000000FFFE00000000000000F
2079 FFE00000000000000FFFE00000000000000FFFE00000000000000FFFE00000000000000F
2080 FFE00000000000000FFFE00000000000000FFFE00000000000000FFFE00000000000000F
2081 FFE00000000000000FFFE00000000000000FFFE00000000000000FFFE00000000000000F
2082 FFE00000000000000FFFE00000000000000FFFE000000000F8000FFFE000000000F8000F
2083 FFE000000000F8000FFFE000000000F8000FFFE000000001F8000FFFE000000001F0000F
2084 FFE000000001F0000FFFE000000001F0000FFFE000000001F0000FFFE000000001F0000F
2085 FFE000000003F0000FFFE000000003F0000FFFE000000003F0000FFFE000000007F0000F
2086 FFE000000007F0000FFFE00000000FF0000FFFE00000000FE0000FFFE00000001FE0000F
2087 FFE00000001FE0000FFFE00000003FE0000FFFE00000007FE0000FFFE0000000FFE0000F
2088 FFE0000001FFE0000FFFE0000007FFE0000FFFE000000FFFE0000FFFE000007FFFE0000F
2089 FFE00003FFFFE0FFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFC0FFFF
2090 FFFFFFFFFFFFC0FFFFFFFFFFFFFFFFC045527CD14F>76 D<FFFFFFF800000001FFFFFFFC
2091 FFFFFFFC00000001FFFFFFFCFFFFFFFE00000001FFFFFFFCFFFFFFFF00000001FFFFFFFC
2092 FFFFFFFF00000001FFFFFFFC0007FFFF80000000003FE0000007FFFFC0000000000F8000
2093 0007FFFFE0000000000F80000007FFFFF0000000000F80000007DFFFF0000000000F8000
2094 0007CFFFF8000000000F80000007C7FFFC000000000F80000007C7FFFE000000000F8000
2095 0007C3FFFF000000000F80000007C1FFFF000000000F80000007C0FFFF800000000F8000
2096 0007C07FFFC00000000F80000007C07FFFE00000000F80000007C03FFFF00000000F8000
2097 0007C01FFFF00000000F80000007C00FFFF80000000F80000007C007FFFC0000000F8000
2098 0007C007FFFE0000000F80000007C003FFFE0000000F80000007C001FFFF0000000F8000
2099 0007C000FFFF8000000F80000007C0007FFFC000000F80000007C0007FFFE000000F8000
2100 0007C0003FFFE000000F80000007C0001FFFF000000F80000007C0000FFFF800000F8000
2101 0007C00007FFFC00000F80000007C00007FFFE00000F80000007C00003FFFE00000F8000
2102 0007C00001FFFF00000F80000007C00000FFFF80000F80000007C000007FFFC0000F8000
2103 0007C000007FFFE0000F80000007C000003FFFE0000F80000007C000001FFFF0000F8000
2104 0007C000000FFFF8000F80000007C000000FFFFC000F80000007C0000007FFFE000F8000
2105 0007C0000003FFFE000F80000007C0000001FFFF000F80000007C0000000FFFF800F8000
2106 0007C0000000FFFFC00F80000007C00000007FFFE00F80000007C00000003FFFE00F8000
2107 0007C00000001FFFF00F80000007C00000000FFFF80F80000007C00000000FFFFC0F8000
2108 0007C000000007FFFE0F80000007C000000003FFFE0F80000007C000000001FFFF0F8000
2109 0007C000000000FFFF8F80000007C000000000FFFFCF80000007C0000000007FFFEF8000
2110 0007C0000000003FFFEF80000007C0000000001FFFFF80000007C0000000000FFFFF8000
2111 0007C0000000000FFFFF80000007C00000000007FFFF80000007C00000000003FFFF8000
2112 0007C00000000001FFFF80000007C00000000000FFFF80000007C00000000000FFFF8000
2113 0007C000000000007FFF80000007C000000000003FFF80000007C000000000001FFF8000
2114 0007C000000000000FFF80000007C000000000000FFF80000007C0000000000007FF8000
2115 0007C0000000000003FF80000007C0000000000001FF80000007C0000000000000FF8000
2116 001FF0000000000000FF8000FFFFFFFE00000000007F8000FFFFFFFE00000000003F8000
2117 FFFFFFFE00000000001F8000FFFFFFFE00000000000F8000FFFFFFFE00000000000F8000
2118 5E527CD167>78 D<000000001FFF800000000000000003FFFFFC000000000000003FFFFF
2119 FFC0000000000000FFFFFFFFF0000000000007FFF801FFFE00000000001FFF80001FFF80
2120 000000003FFE000007FFC000000000FFF8000001FFF000000001FFF0000000FFF8000000
2121 03FFC00000003FFC00000007FF800000001FFE0000000FFF000000000FFF0000001FFE00
2122 00000007FF8000003FFE0000000007FFC000007FFC0000000003FFE00000FFF800000000
2123 01FFF00001FFF80000000001FFF80001FFF00000000000FFF80003FFF00000000000FFFC
2124 0003FFE000000000007FFC0007FFE000000000007FFE000FFFC000000000003FFF000FFF
2125 C000000000003FFF000FFFC000000000003FFF001FFFC000000000003FFF801FFF800000
2126 0000001FFF803FFF8000000000001FFFC03FFF8000000000001FFFC03FFF800000000000
2127 1FFFC03FFF8000000000001FFFC07FFF0000000000000FFFE07FFF0000000000000FFFE0
2128 7FFF0000000000000FFFE07FFF0000000000000FFFE07FFF0000000000000FFFE0FFFF00
2129 00000000000FFFF0FFFF0000000000000FFFF0FFFF0000000000000FFFF0FFFF00000000
2130 00000FFFF0FFFF0000000000000FFFF0FFFF0000000000000FFFF0FFFF0000000000000F
2131 FFF0FFFF0000000000000FFFF0FFFF0000000000000FFFF0FFFF0000000000000FFFF0FF
2132 FF0000000000000FFFF0FFFF0000000000000FFFF0FFFF0000000000000FFFF0FFFF0000
2133 000000000FFFF0FFFF0000000000000FFFF07FFF0000000000000FFFE07FFF8000000000
2134 001FFFE07FFF8000000000001FFFE07FFF8000000000001FFFE07FFF8000000000001FFF
2135 E03FFF8000000000001FFFC03FFF8000000000001FFFC03FFFC000000000003FFFC01FFF
2136 C000000000003FFF801FFFC000000000003FFF801FFFC000000000003FFF800FFFE00000
2137 0000007FFF000FFFE000000000007FFF0007FFF00000000000FFFE0007FFF00000000000
2138 FFFE0003FFF00000000000FFFC0001FFF80000000001FFF80001FFFC0000000003FFF800
2139 00FFFC0000000003FFF000007FFE0000000007FFE000007FFF000000000FFFE000003FFF
2140 800000001FFFC000001FFFC00000003FFF8000000FFFE00000007FFF00000007FFF00000
2141 00FFFE00000001FFF8000001FFF800000000FFFE000007FFF0000000003FFFC0003FFFC0
2142 000000001FFFF801FFFF800000000007FFFFFFFFFE000000000001FFFFFFFFF800000000
2143 00003FFFFFFFC000000000000007FFFFFE00000000000000001FFF8000000000545479D2
2144 63>I<FFFFFFFFFFFFE00000000000FFFFFFFFFFFFFF0000000000FFFFFFFFFFFFFFF000
2145 000000FFFFFFFFFFFFFFFE00000000FFFFFFFFFFFFFFFF800000000007FFF00000FFFFE0
2146 0000000007FFF000000FFFF00000000007FFF0000003FFFC0000000007FFF0000000FFFE
2147 0000000007FFF00000007FFF0000000007FFF00000003FFF8000000007FFF00000001FFF
2148 8000000007FFF00000001FFFC000000007FFF00000000FFFE000000007FFF00000000FFF
2149 E000000007FFF00000000FFFF000000007FFF000000007FFF000000007FFF000000007FF
2150 F000000007FFF000000007FFF800000007FFF000000007FFF800000007FFF000000007FF
2151 F800000007FFF000000007FFF800000007FFF000000007FFF800000007FFF000000007FF
2152 F800000007FFF000000007FFF800000007FFF000000007FFF800000007FFF000000007FF
2153 F000000007FFF000000007FFF000000007FFF00000000FFFF000000007FFF00000000FFF
2154 E000000007FFF00000000FFFC000000007FFF00000001FFFC000000007FFF00000001FFF
2155 8000000007FFF00000003FFF0000000007FFF00000007FFE0000000007FFF0000000FFFC
2156 0000000007FFF0000003FFF80000000007FFF000000FFFE00000000007FFF00000FFFF80
2157 0000000007FFFFFFFFFFFE000000000007FFFFFFFFFFF0000000000007FFFFFFFFFFC000
2158 0000000007FFFFFFFFFFF0000000000007FFF00007FFFC000000000007FFF00000FFFF00
2159 0000000007FFF000003FFF800000000007FFF000001FFFC00000000007FFF000000FFFE0
2160 0000000007FFF0000007FFF00000000007FFF0000003FFF80000000007FFF0000003FFF8
2161 0000000007FFF0000001FFFC0000000007FFF0000001FFFC0000000007FFF0000000FFFC
2162 0000000007FFF0000000FFFE0000000007FFF0000000FFFE0000000007FFF0000000FFFE
2163 0000000007FFF0000000FFFE0000000007FFF0000000FFFE0000000007FFF0000000FFFE
2164 0000000007FFF0000000FFFE0000000007FFF0000000FFFE0000000007FFF0000000FFFF
2165 0000000007FFF0000000FFFF0000000007FFF0000000FFFF0000000007FFF0000000FFFF
2166 0000000007FFF0000000FFFF0000000007FFF0000000FFFF0000000007FFF0000000FFFF
2167 0000000007FFF0000000FFFF0000700007FFF0000000FFFF8000F80007FFF0000000FFFF
2168 8000F80007FFF00000007FFF8000F80007FFF00000007FFF8001F80007FFF00000003FFF
2169 C001F00007FFF00000003FFFC001F00007FFF00000001FFFE003F0FFFFFFFFFF80000FFF
2170 F007E0FFFFFFFFFF800007FFFC1FC0FFFFFFFFFF800001FFFFFF80FFFFFFFFFF8000007F
2171 FFFF00FFFFFFFFFF8000000FFFFE00000000000000000000FFF8005D537CD162>82
2172 D<00000FFE00001C000000FFFFF0003C000007FFFFFC007C00001FFFFFFF00FC00007FFF
2173 FFFFC1FC0000FFF001FFE1FC0001FF80001FFBFC0003FF000007FFFC0007FC000001FFFC
2174 000FF8000000FFFC001FF00000003FFC001FF00000001FFC003FE00000000FFC003FE000
2175 00000FFC007FE000000007FC007FC000000003FC007FC000000003FC007FC000000001FC
2176 00FFC000000001FC00FFC000000001FC00FFC000000000FC00FFE000000000FC00FFE000
2177 000000FC00FFF0000000007C00FFF0000000007C00FFF8000000007C00FFFC000000007C
2178 00FFFE0000000000007FFF0000000000007FFFC000000000007FFFF800000000007FFFFF
2179 80000000003FFFFFF8000000003FFFFFFFC00000001FFFFFFFFC0000000FFFFFFFFF8000
2180 000FFFFFFFFFF0000007FFFFFFFFFC000003FFFFFFFFFE000001FFFFFFFFFF800000FFFF
2181 FFFFFFC000007FFFFFFFFFE000001FFFFFFFFFF0000007FFFFFFFFF8000001FFFFFFFFF8
2182 0000007FFFFFFFFC00000007FFFFFFFE000000007FFFFFFE0000000003FFFFFF00000000
2183 003FFFFF000000000003FFFF800000000000FFFF8000000000003FFF8000000000001FFF
2184 8000000000000FFFC0000000000007FFC0000000000003FFC0F80000000003FFC0F80000
2185 000001FFC0F80000000001FFC0F80000000001FFC0F80000000000FFC0FC0000000000FF
2186 C0FC0000000000FFC0FC0000000000FFC0FC0000000000FF80FE0000000000FF80FE0000
2187 000000FF80FF0000000001FF80FF0000000001FF00FF8000000001FF00FFC000000003FE
2188 00FFE000000003FE00FFF000000007FC00FFFC0000000FF800FFFE0000001FF800FFFFC0
2189 00003FF000FF7FF80000FFE000FE1FFF8007FFC000FE07FFFFFFFF0000FC01FFFFFFFC00
2190 00F8007FFFFFF00000F0000FFFFFC00000E000007FFC0000003A5479D249>I<3FFFFFFF
2191 FFFFFFFFFFFC3FFFFFFFFFFFFFFFFFFC3FFFFFFFFFFFFFFFFFFC3FFFFFFFFFFFFFFFFFFC
2192 3FFFFFFFFFFFFFFFFFFC3FFFC0007FFF0003FFFC3FFC00007FFF00003FFC7FF000007FFF
2193 00000FFE7FE000007FFF000007FE7FC000007FFF000003FE7F8000007FFF000001FE7F00
2194 00007FFF000000FE7F0000007FFF000000FE7E0000007FFF0000007E7E0000007FFF0000
2195 007E7E0000007FFF0000007E7C0000007FFF0000003E7C0000007FFF0000003E7C000000
2196 7FFF0000003E7C0000007FFF0000003E7C0000007FFF0000003EFC0000007FFF0000003F
2197 F80000007FFF0000001FF80000007FFF0000001FF80000007FFF0000001FF80000007FFF
2198 0000001FF80000007FFF0000001FF80000007FFF0000001F000000007FFF000000000000
2199 00007FFF00000000000000007FFF00000000000000007FFF00000000000000007FFF0000
2200 0000000000007FFF00000000000000007FFF00000000000000007FFF0000000000000000
2201 7FFF00000000000000007FFF00000000000000007FFF00000000000000007FFF00000000
2202 000000007FFF00000000000000007FFF00000000000000007FFF00000000000000007FFF
2203 00000000000000007FFF00000000000000007FFF00000000000000007FFF000000000000
2204 00007FFF00000000000000007FFF00000000000000007FFF00000000000000007FFF0000
2205 0000000000007FFF00000000000000007FFF00000000000000007FFF0000000000000000
2206 7FFF00000000000000007FFF00000000000000007FFF00000000000000007FFF00000000
2207 000000007FFF00000000000000007FFF00000000000000007FFF00000000000000007FFF
2208 00000000000000007FFF00000000000000007FFF00000000000000007FFF000000000000
2209 00007FFF00000000000000007FFF00000000000000007FFF00000000000000007FFF0000
2210 0000000000007FFF00000000000000007FFF00000000000000007FFF0000000000000000
2211 7FFF00000000000000007FFF00000000000000007FFF00000000000000007FFF00000000
2212 0001FFFFFFFFFFFFC0000001FFFFFFFFFFFFC0000001FFFFFFFFFFFFC0000001FFFFFFFF
2213 FFFFC0000001FFFFFFFFFFFFC00050517BD05B>I<FFFFFFFFFE000001FFFFFFF0FFFFFF
2214 FFFE000001FFFFFFF0FFFFFFFFFE000001FFFFFFF0FFFFFFFFFE000001FFFFFFF0FFFFFF
2215 FFFE000001FFFFFFF0000FFFE000000000007FC000000FFFE000000000001F0000000FFF
2216 E000000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFF
2217 E000000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFF
2218 E000000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFF
2219 E000000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFF
2220 E000000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFF
2221 E000000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFF
2222 E000000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFF
2223 E000000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFF
2224 E000000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFF
2225 E000000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFF
2226 E000000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFF
2227 E000000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFF
2228 E000000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFF
2229 E000000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFF
2230 E000000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFF
2231 E000000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFF
2232 E000000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFF
2233 E000000000001F0000000FFFE000000000001F00000007FFE000000000003F00000007FF
2234 E000000000003E00000007FFF000000000003E00000007FFF000000000007E00000003FF
2235 F000000000007C00000003FFF000000000007C00000001FFF80000000000FC00000001FF
2236 F80000000000F800000000FFFC0000000001F8000000007FFC0000000003F0000000007F
2237 FE0000000007E0000000003FFE000000000FE0000000001FFF000000001FC0000000000F
2238 FF800000003F800000000007FFE0000000FF000000000003FFF8000003FE000000000000
2239 FFFE00001FFC0000000000007FFFE001FFF80000000000001FFFFFFFFFE0000000000000
2240 07FFFFFFFF8000000000000000FFFFFFFE00000000000000001FFFFFF000000000000000
2241 0000FFFF00000000005C537CD165>I<FFFFFFFFF80000007FFFFFF0FFFFFFFFF8000000
2242 7FFFFFF0FFFFFFFFF80000007FFFFFF0FFFFFFFFF80000007FFFFFF0FFFFFFFFF8000000
2243 7FFFFFF0003FFFC000000000007FE000001FFFE000000000000F8000001FFFE000000000
2244 001F8000000FFFF000000000001F0000000FFFF000000000003F00000007FFF000000000
2245 003E00000007FFF800000000003E00000007FFF800000000007E00000003FFFC00000000
2246 007C00000003FFFC0000000000FC00000001FFFC0000000000F800000001FFFE00000000
2247 01F800000000FFFE0000000001F000000000FFFF0000000001F000000000FFFF00000000
2248 03F0000000007FFF8000000003E0000000007FFF8000000007E0000000003FFF80000000
2249 07C0000000003FFFC00000000FC0000000001FFFC00000000F80000000001FFFE0000000
2250 0F80000000001FFFE00000001F80000000000FFFF00000001F00000000000FFFF0000000
2251 3F000000000007FFF00000003E000000000007FFF80000003E000000000007FFF8000000
2252 7E000000000003FFFC0000007C000000000003FFFC000000FC000000000001FFFE000000
2253 F8000000000001FFFE000001F8000000000000FFFE000001F0000000000000FFFF000001
2254 F0000000000000FFFF000003F00000000000007FFF800003E00000000000007FFF800007
2255 E00000000000003FFF800007C00000000000003FFFC0000FC00000000000001FFFC0000F
2256 800000000000001FFFE0000F800000000000001FFFE0001F800000000000000FFFF0001F
2257 000000000000000FFFF0003F0000000000000007FFF0003E0000000000000007FFF8007E
2258 0000000000000003FFF8007C0000000000000003FFFC007C0000000000000003FFFC00FC
2259 0000000000000001FFFE00F80000000000000001FFFE01F80000000000000000FFFE01F0
2260 0000000000000000FFFF01F00000000000000000FFFF03F000000000000000007FFF83E0
2261 00000000000000007FFF87E000000000000000003FFFC7C000000000000000003FFFCFC0
2262 00000000000000001FFFCF8000000000000000001FFFEF8000000000000000001FFFFF80
2263 00000000000000000FFFFF0000000000000000000FFFFF00000000000000000007FFFE00
2264 000000000000000007FFFE00000000000000000003FFFC00000000000000000003FFFC00
2265 000000000000000003FFFC00000000000000000001FFF800000000000000000001FFF800
2266 000000000000000000FFF000000000000000000000FFF0000000000000000000007FE000
2267 0000000000000000007FE0000000000000000000007FE0000000000000000000003FC000
2268 0000000000000000003FC0000000000000000000001F80000000000000000000001F8000
2269 000000005C537DD163>I<FFFFFFFFF8007FFFFFFFFC0001FFFFFFE0FFFFFFFFF8007FFF
2270 FFFFFC0001FFFFFFE0FFFFFFFFF8007FFFFFFFFC0001FFFFFFE0FFFFFFFFF8007FFFFFFF
2271 FC0001FFFFFFE0FFFFFFFFF8007FFFFFFFFC0001FFFFFFE0001FFFC00000001FFFE00000
2272 0000FFC000001FFFC00000001FFFE0000000001F0000001FFFE00000000FFFE000000000
2273 3F0000000FFFE00000000FFFF0000000003E0000000FFFF000000007FFF0000000003E00
2274 00000FFFF000000007FFF0000000007E00000007FFF000000007FFF8000000007C000000
2275 07FFF800000003FFF8000000007C00000007FFF800000003FFF800000000FC00000003FF
2276 F800000003FFFC00000000F800000003FFFC00000001FFFC00000001F800000001FFFC00
2277 000001FFFE00000001F000000001FFFC00000003FFFE00000001F000000001FFFE000000
2278 03FFFE00000003F000000000FFFE00000003FFFF00000003E000000000FFFE00000007FF
2279 FF00000003E000000000FFFF00000007FFFF00000007E0000000007FFF0000000FFFFF80
2280 000007C0000000007FFF8000000FBFFF80000007C0000000007FFF8000000FBFFF800000
2281 0FC0000000003FFF8000001FBFFFC000000F80000000003FFFC000001F1FFFC000001F80
2282 000000001FFFC000001F1FFFC000001F00000000001FFFC000003F1FFFE000001F000000
2283 00001FFFE000003E0FFFE000003F00000000000FFFE000003E0FFFF000003E0000000000
2284 0FFFE000007E0FFFF000003E00000000000FFFF000007C07FFF000007E000000000007FF
2285 F00000FC07FFF800007C000000000007FFF80000F803FFF800007C000000000007FFF800
2286 00F803FFF80000FC000000000003FFF80001F803FFFC0000F8000000000003FFFC0001F0
2287 01FFFC0000F8000000000001FFFC0001F001FFFC0001F0000000000001FFFC0003F001FF
2288 FE0001F0000000000001FFFE0003E000FFFE0003F0000000000000FFFE0003E000FFFF00
2289 03E0000000000000FFFE0007E000FFFF0003E0000000000000FFFF0007C0007FFF0007E0
2290 0000000000007FFF0007C0007FFF8007C00000000000007FFF800F80003FFF8007C00000
2291 000000007FFF800F80003FFF800FC00000000000003FFF801F80003FFFC00F8000000000
2292 00003FFFC01F00001FFFC00F800000000000003FFFC01F00001FFFC01F80000000000000
2293 1FFFC03F00001FFFE01F000000000000001FFFE03E00000FFFE03F000000000000000FFF
2294 E03E00000FFFF03E000000000000000FFFE07E00000FFFF03E000000000000000FFFF07C
2295 000007FFF07E0000000000000007FFF07C000007FFF87C0000000000000007FFF0FC0000
2296 07FFF87C0000000000000007FFF8F8000003FFF8FC0000000000000003FFF9F8000003FF
2297 FCF80000000000000003FFFDF0000001FFFCF80000000000000003FFFDF0000001FFFDF8
2298 0000000000000001FFFFF0000001FFFFF00000000000000001FFFFE0000000FFFFF00000
2299 000000000000FFFFE0000000FFFFE00000000000000000FFFFE0000000FFFFE000000000
2300 00000000FFFFC00000007FFFE000000000000000007FFFC00000007FFFC0000000000000
2301 00007FFFC00000007FFFC000000000000000007FFF800000003FFFC00000000000000000
2302 3FFF800000003FFF8000000000000000003FFF000000001FFF8000000000000000003FFF
2303 000000001FFF8000000000000000001FFF000000001FFF0000000000000000001FFE0000
2304 00000FFF0000000000000000000FFE000000000FFE0000000000000000000FFE00000000
2305 0FFE0000000000000000000FFC0000000007FE00000000000000000007FC0000000007FC
2306 00000000000000000007FC0000000007FC00000000000000000007F80000000003FC0000
2307 0000000000000003F80000000003F800000000000000000003F00000000001F800000000
2308 000000000001F00000000001F0000000000083537ED188>I<000C00001E00003E00007E
2309 0000F80001F00003E00007E00007C0000F80000F00001F00001E00003E00003C00007C00
2310 007C0000780000780000F80000F00000F00000F00000F1F800F7FE00FFFF00FFFF80FFFF
2311 80FFFFC0FFFFC07FFFC07FFFC07FFFC03FFFC03FFF801FFF800FFF0007FE0001F8001227
2312 78D225>96 D<00003FFE000000000007FFFFE0000000001FFFFFFC000000007FFFFFFF00
2313 000001FFC00FFFC0000003FE0003FFE0000007FF0000FFF0000007FF80007FF800000FFF
2314 C0007FFC00000FFFC0003FFE00000FFFC0003FFE00000FFFC0001FFF00000FFFC0001FFF
2315 00000FFFC0001FFF00000FFFC0000FFF800007FF80000FFF800003FF00000FFF800001FE
2316 00000FFF8000000000000FFF8000000000000FFF8000000000000FFF8000000000000FFF
2317 8000000000000FFF8000000000000FFF800000000007FFFF8000000003FFFFFF80000000
2318 7FFFFFFF80000003FFFFFFFF8000001FFFF00FFF8000007FFF000FFF800000FFFC000FFF
2319 800003FFF0000FFF800007FFC0000FFF80000FFF80000FFF80001FFF00000FFF80003FFF
2320 00000FFF80003FFE00000FFF80007FFC00000FFF80007FFC00000FFF81F0FFFC00000FFF
2321 81F0FFF800000FFF81F0FFF800000FFF81F0FFF800000FFF81F0FFF800001FFF81F0FFF8
2322 00001FFF81F0FFFC00003FFF81F07FFC00003FFF81F07FFE00007FFF81F03FFE0000F7FF
2323 C3F03FFF0001E3FFC3E01FFFC007E3FFFFE007FFF01F81FFFFC003FFFFFF00FFFF8000FF
2324 FFFC007FFF00001FFFF0003FFC000001FF800007F0003C387CB642>I<003FF800000000
2325 0000FFFFF8000000000000FFFFF8000000000000FFFFF8000000000000FFFFF800000000
2326 0000FFFFF800000000000003FFF800000000000000FFF800000000000000FFF800000000
2327 000000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000
2328 000000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000
2329 000000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000
2330 000000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000
2331 000000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000
2332 000000FFF8007FF000000000FFF807FFFF00000000FFF81FFFFFC0000000FFF87FFFFFF0
2333 000000FFF9FF007FFC000000FFFFF8001FFF000000FFFFE00007FF800000FFFF800003FF
2334 C00000FFFF000001FFE00000FFFE000000FFF00000FFFC000000FFF00000FFF80000007F
2335 F80000FFF80000007FFC0000FFF80000003FFC0000FFF80000003FFE0000FFF80000003F
2336 FE0000FFF80000003FFE0000FFF80000003FFF0000FFF80000001FFF0000FFF80000001F
2337 FF0000FFF80000001FFF0000FFF80000001FFF8000FFF80000001FFF8000FFF80000001F
2338 FF8000FFF80000001FFF8000FFF80000001FFF8000FFF80000001FFF8000FFF80000001F
2339 FF8000FFF80000001FFF8000FFF80000001FFF8000FFF80000001FFF8000FFF80000001F
2340 FF8000FFF80000001FFF8000FFF80000001FFF8000FFF80000001FFF0000FFF80000001F
2341 FF0000FFF80000001FFF0000FFF80000003FFF0000FFF80000003FFE0000FFF80000003F
2342 FE0000FFF80000003FFC0000FFF80000007FFC0000FFF80000007FF80000FFFC000000FF
2343 F80000FFFC000000FFF00000FFFE000001FFE00000FFFF000003FFC00000FFFF800007FF
2344 800000FFCFE0000FFF000000FF87F0003FFE000000FF01FE01FFF8000000FE00FFFFFFF0
2345 000000FC003FFFFFC0000000F80007FFFE00000000000000FFE000000041547DD249>I<
2346 000003FFE0000000003FFFFE00000000FFFFFF80000003FFFFFFE000000FFF003FF80000
2347 3FFC0007FC00007FF8000FFE0000FFF0001FFE0001FFE0003FFF0003FFC0003FFF0007FF
2348 80003FFF0007FF80003FFF000FFF00003FFF001FFF00003FFF001FFE00003FFF003FFE00
2349 001FFE003FFE00000FFC003FFE000007F8007FFE00000000007FFC00000000007FFC0000
2350 0000007FFC0000000000FFFC0000000000FFFC0000000000FFFC0000000000FFFC000000
2351 0000FFFC0000000000FFFC0000000000FFFC0000000000FFFC0000000000FFFC00000000
2352 00FFFC0000000000FFFC0000000000FFFC0000000000FFFC00000000007FFC0000000000
2353 7FFE00000000007FFE00000000007FFE00000000003FFE00000000003FFF00000000001F
2354 FF0000000F801FFF0000000F800FFF8000001F800FFF8000001F0007FFC000003F0003FF
2355 E000003E0001FFF000007E0000FFF80000FC00007FFC0001F800003FFF0007F000000FFF
2356 C01FE0000007FFFFFF80000001FFFFFE000000003FFFF80000000003FF80000031387CB6
2357 3A>I<000000000003FF8000000000000FFFFF8000000000000FFFFF8000000000000FFF
2358 FF8000000000000FFFFF8000000000000FFFFF800000000000003FFF800000000000000F
2359 FF800000000000000FFF800000000000000FFF800000000000000FFF800000000000000F
2360 FF800000000000000FFF800000000000000FFF800000000000000FFF800000000000000F
2361 FF800000000000000FFF800000000000000FFF800000000000000FFF800000000000000F
2362 FF800000000000000FFF800000000000000FFF800000000000000FFF800000000000000F
2363 FF800000000000000FFF800000000000000FFF800000000000000FFF800000000000000F
2364 FF800000000000000FFF8000000003FF800FFF800000003FFFF80FFF80000001FFFFFE0F
2365 FF80000007FFFFFF8FFF8000001FFFC03FEFFF8000003FFE0007FFFF8000007FF80001FF
2366 FF800000FFF00000FFFF800001FFE000007FFF800003FFC000003FFF800007FF8000001F
2367 FF80000FFF8000000FFF80000FFF0000000FFF80001FFF0000000FFF80001FFE0000000F
2368 FF80003FFE0000000FFF80003FFE0000000FFF80007FFE0000000FFF80007FFC0000000F
2369 FF80007FFC0000000FFF80007FFC0000000FFF8000FFFC0000000FFF8000FFFC0000000F
2370 FF8000FFFC0000000FFF8000FFFC0000000FFF8000FFFC0000000FFF8000FFFC0000000F
2371 FF8000FFFC0000000FFF8000FFFC0000000FFF8000FFFC0000000FFF8000FFFC0000000F
2372 FF8000FFFC0000000FFF8000FFFC0000000FFF8000FFFC0000000FFF80007FFC0000000F
2373 FF80007FFC0000000FFF80007FFC0000000FFF80007FFE0000000FFF80003FFE0000000F
2374 FF80003FFE0000000FFF80003FFE0000000FFF80001FFE0000000FFF80001FFF0000000F
2375 FF80000FFF0000001FFF800007FF8000003FFF800007FF8000007FFF800003FFC00000FF
2376 FF800001FFE00001FFFF800000FFF00003FFFFE000007FFC000FEFFFFF80001FFF007F8F
2377 FFFF800007FFFFFF0FFFFF800001FFFFFC0FFFFF8000007FFFE00FFFFF80000007FF000F
2378 FE000041547CD249>I<000007FF80000000007FFFF800000001FFFFFE00000007FFFFFF
2379 8000001FFF03FFE000003FFC007FF000007FF0003FF80000FFE0001FFC0001FFC0000FFC
2380 0003FF800007FE0007FF800007FF000FFF000003FF000FFF000003FF801FFE000003FF80
2381 1FFE000001FF803FFE000001FFC03FFE000001FFC03FFE000001FFC07FFC000001FFC07F
2382 FC000001FFE07FFC000000FFE07FFC000000FFE0FFFC000000FFE0FFFC000000FFE0FFFF
2383 FFFFFFFFE0FFFFFFFFFFFFE0FFFFFFFFFFFFE0FFFFFFFFFFFFE0FFFC0000000000FFFC00
2384 00000000FFFC0000000000FFFC0000000000FFFC0000000000FFFC00000000007FFC0000
2385 0000007FFC00000000007FFC00000000007FFE00000000003FFE00000000003FFE000000
2386 00003FFE00000003E01FFF00000003E01FFF00000007E00FFF00000007C007FF8000000F
2387 C007FF8000000F8003FFC000001F8001FFE000003F0000FFF000007E00007FFC0001FC00
2388 001FFF0007F800000FFFE03FF0000003FFFFFFC0000000FFFFFF800000003FFFFC000000
2389 0001FFE0000033387CB63C>I<0000001FF800000003FFFE0000000FFFFF8000003FFFFF
2390 C00000FFF83FE00003FFE0FFF00007FF80FFF0000FFF01FFF8001FFF01FFF8003FFE01FF
2391 F8003FFE01FFF8007FFC01FFF8007FFC01FFF8007FFC00FFF000FFF800FFF000FFF8007F
2392 E000FFF8001F8000FFF800000000FFF800000000FFF800000000FFF800000000FFF80000
2393 0000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF80000
2394 0000FFF800000000FFF800000000FFF8000000FFFFFFFFC000FFFFFFFFC000FFFFFFFFC0
2395 00FFFFFFFFC000FFFFFFFFC00000FFF800000000FFF800000000FFF800000000FFF80000
2396 0000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF80000
2397 0000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF80000
2398 0000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF80000
2399 0000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF80000
2400 0000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF80000
2401 0000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF80000
2402 0000FFF800000000FFF800000000FFF8000000FFFFFFFE0000FFFFFFFE0000FFFFFFFE00
2403 00FFFFFFFE0000FFFFFFFE00002D547CD328>I<00001FFE0000FE000001FFFFE007FF80
2404 000FFFFFFC1FFFC0003FFFFFFF7FFFE0007FF807FFFF07E001FFE001FFF07FE003FFC000
2405 FFF07FE007FF80007FF83FE007FF00003FF83FC00FFF00003FFC1FC01FFF00003FFE0700
2406 1FFE00001FFE00001FFE00001FFE00003FFE00001FFF00003FFE00001FFF00003FFE0000
2407 1FFF00003FFE00001FFF00003FFE00001FFF00003FFE00001FFF00003FFE00001FFF0000
2408 3FFE00001FFF00003FFE00001FFF00001FFE00001FFE00001FFE00001FFE00001FFF0000
2409 3FFE00000FFF00003FFC000007FF00003FF8000007FF80007FF8000003FFC000FFF00000
2410 01FFE001FFE0000000FFF807FF80000001FFFFFFFF00000003EFFFFFFC00000003C1FFFF
2411 E000000007C01FFE00000000078000000000000007800000000000000FC0000000000000
2412 0FC00000000000000FC00000000000000FE00000000000000FE00000000000000FF00000
2413 000000000FFC0000000000000FFFFFFFFE00000007FFFFFFFFF0000007FFFFFFFFFC0000
2414 07FFFFFFFFFF800003FFFFFFFFFFC00003FFFFFFFFFFF00001FFFFFFFFFFF80000FFFFFF
2415 FFFFFC00007FFFFFFFFFFC0001FFFFFFFFFFFE0007FFFFFFFFFFFE000FFC000003FFFF00
2416 1FF80000003FFF003FF00000000FFF007FE000000007FF807FE000000003FF80FFC00000
2417 0003FF80FFC000000001FF80FFC000000001FF80FFC000000001FF80FFC000000001FF80
2418 FFC000000001FF80FFE000000003FF807FE000000003FF007FF000000007FF003FF00000
2419 0007FE001FF80000000FFC001FFE0000003FFC0007FF0000007FF00003FFC00001FFE000
2420 00FFFC001FFF8000003FFFFFFFFE0000000FFFFFFFF800000001FFFFFFC0000000000FFF
2421 F80000003B4F7CB542>I<003FF8000000000000FFFFF8000000000000FFFFF800000000
2422 0000FFFFF8000000000000FFFFF8000000000000FFFFF800000000000003FFF800000000
2423 000000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000
2424 000000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000
2425 000000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000
2426 000000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000
2427 000000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000
2428 000000FFF800000000000000FFF800000000000000FFF8001FFC00000000FFF800FFFF80
2429 000000FFF803FFFFE0000000FFF80FFFFFF8000000FFF81FC07FFC000000FFF87E003FFE
2430 000000FFF8F8001FFF000000FFF9F0001FFF000000FFF9E0000FFF800000FFFBC0000FFF
2431 800000FFFF80000FFF800000FFFF000007FFC00000FFFF000007FFC00000FFFE000007FF
2432 C00000FFFE000007FFC00000FFFC000007FFC00000FFFC000007FFC00000FFFC000007FF
2433 C00000FFFC000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FF
2434 C00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FF
2435 C00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FF
2436 C00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FF
2437 C00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FF
2438 C00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FF
2439 C00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FF
2440 C00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC000FFFFFFF807FFFF
2441 FFC0FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF807FFFF
2442 FFC042537CD249>I<003F000000FFC00001FFE00003FFF00003FFF00007FFF80007FFF8
2443 0007FFF80007FFF80007FFF80007FFF80003FFF00003FFF00001FFE00000FFC000003F00
2444 000000000000000000000000000000000000000000000000000000000000000000000000
2445 000000000000000000000000000000000000000000001FF800FFFFF800FFFFF800FFFFF8
2446 00FFFFF800FFFFF80001FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF8
2447 0000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF8
2448 0000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF8
2449 0000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF8
2450 0000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF8
2451 00FFFFFFF0FFFFFFF0FFFFFFF0FFFFFFF0FFFFFFF01C547CD324>I<003FF800FFFFF800
2452 FFFFF800FFFFF800FFFFF800FFFFF80003FFF80000FFF80000FFF80000FFF80000FFF800
2453 00FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF800
2454 00FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF800
2455 00FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF800
2456 00FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF800
2457 00FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF800
2458 00FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF800
2459 00FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF800
2460 00FFF80000FFF80000FFF80000FFF800FFFFFFF8FFFFFFF8FFFFFFF8FFFFFFF8FFFFFFF8
2461 1D537CD224>108 D<003FF0001FF8000001FF800000FFFFF000FFFF80000FFFF80000FF
2462 FFF003FFFFE0003FFFFE0000FFFFF00FFFFFF000FFFFFF0000FFFFF03F80FFF803F80FFF
2463 8000FFFFF07E007FFC07E007FFC00003FFF0F8003FFE0F8003FFE00000FFF1F0001FFE1F
2464 0001FFE00000FFF3E0001FFF3E0001FFF00000FFF3C0001FFF3C0001FFF00000FFF78000
2465 1FFF780001FFF00000FFF700000FFFF00000FFF80000FFFF00000FFFF00000FFF80000FF
2466 FE00000FFFE00000FFF80000FFFE00000FFFE00000FFF80000FFFC00000FFFC00000FFF8
2467 0000FFFC00000FFFC00000FFF80000FFFC00000FFFC00000FFF80000FFF800000FFF8000
2468 00FFF80000FFF800000FFF800000FFF80000FFF800000FFF800000FFF80000FFF800000F
2469 FF800000FFF80000FFF800000FFF800000FFF80000FFF800000FFF800000FFF80000FFF8
2470 00000FFF800000FFF80000FFF800000FFF800000FFF80000FFF800000FFF800000FFF800
2471 00FFF800000FFF800000FFF80000FFF800000FFF800000FFF80000FFF800000FFF800000
2472 FFF80000FFF800000FFF800000FFF80000FFF800000FFF800000FFF80000FFF800000FFF
2473 800000FFF80000FFF800000FFF800000FFF80000FFF800000FFF800000FFF80000FFF800
2474 000FFF800000FFF80000FFF800000FFF800000FFF80000FFF800000FFF800000FFF80000
2475 FFF800000FFF800000FFF80000FFF800000FFF800000FFF80000FFF800000FFF800000FF
2476 F80000FFF800000FFF800000FFF80000FFF800000FFF800000FFF80000FFF800000FFF80
2477 0000FFF80000FFF800000FFF800000FFF80000FFF800000FFF800000FFF80000FFF80000
2478 0FFF800000FFF80000FFF800000FFF800000FFF80000FFF800000FFF800000FFF800FFFF
2479 FFF80FFFFFFF80FFFFFFF8FFFFFFF80FFFFFFF80FFFFFFF8FFFFFFF80FFFFFFF80FFFFFF
2480 F8FFFFFFF80FFFFFFF80FFFFFFF8FFFFFFF80FFFFFFF80FFFFFFF865367BB56E>I<003F
2481 F0001FFC000000FFFFF000FFFF800000FFFFF003FFFFE00000FFFFF00FFFFFF80000FFFF
2482 F01FC07FFC0000FFFFF07E003FFE000003FFF0F8001FFF000000FFF1F0001FFF000000FF
2483 F1E0000FFF800000FFF3C0000FFF800000FFF780000FFF800000FFF7000007FFC00000FF
2484 FF000007FFC00000FFFE000007FFC00000FFFE000007FFC00000FFFC000007FFC00000FF
2485 FC000007FFC00000FFFC000007FFC00000FFFC000007FFC00000FFF8000007FFC00000FF
2486 F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
2487 F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
2488 F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
2489 F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
2490 F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
2491 F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
2492 F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
2493 F8000007FFC000FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFF
2494 FFF807FFFFFFC0FFFFFFF807FFFFFFC042367CB549>I<000001FFC000000000003FFFFE
2495 0000000000FFFFFF8000000003FFFFFFE00000000FFF80FFF80000003FFC001FFE000000
2496 7FF00007FF000000FFE00003FF800001FFC00001FFC00003FF800000FFE00003FF000000
2497 7FE00007FF0000007FF0000FFF0000007FF8000FFE0000003FF8001FFE0000003FFC001F
2498 FE0000003FFC003FFE0000003FFE003FFC0000001FFE003FFC0000001FFE007FFC000000
2499 1FFF007FFC0000001FFF007FFC0000001FFF007FFC0000001FFF00FFFC0000001FFF80FF
2500 FC0000001FFF80FFFC0000001FFF80FFFC0000001FFF80FFFC0000001FFF80FFFC000000
2501 1FFF80FFFC0000001FFF80FFFC0000001FFF80FFFC0000001FFF80FFFC0000001FFF80FF
2502 FC0000001FFF80FFFC0000001FFF807FFC0000001FFF007FFC0000001FFF007FFC000000
2503 1FFF003FFC0000001FFE003FFE0000003FFE003FFE0000003FFE001FFE0000003FFC001F
2504 FE0000003FFC000FFF0000007FF8000FFF0000007FF80007FF800000FFF00003FF800000
2505 FFE00001FFC00001FFC00000FFE00003FF8000007FF00007FF0000003FFC001FFE000000
2506 1FFF80FFFC00000007FFFFFFF000000001FFFFFFC0000000003FFFFE000000000003FFE0
2507 00000039387CB642>I<003FF8007FF0000000FFFFF807FFFF000000FFFFF81FFFFFC000
2508 00FFFFF87FFFFFF00000FFFFF9FF00FFFC0000FFFFFFF8003FFF000003FFFFE0000FFF80
2509 0000FFFF800007FFC00000FFFF000003FFE00000FFFE000003FFF00000FFFC000001FFF0
2510 0000FFF8000000FFF80000FFF8000000FFFC0000FFF80000007FFC0000FFF80000007FFE
2511 0000FFF80000007FFE0000FFF80000003FFE0000FFF80000003FFF0000FFF80000003FFF
2512 0000FFF80000003FFF0000FFF80000003FFF0000FFF80000001FFF8000FFF80000001FFF
2513 8000FFF80000001FFF8000FFF80000001FFF8000FFF80000001FFF8000FFF80000001FFF
2514 8000FFF80000001FFF8000FFF80000001FFF8000FFF80000001FFF8000FFF80000001FFF
2515 8000FFF80000001FFF8000FFF80000001FFF8000FFF80000001FFF8000FFF80000003FFF
2516 0000FFF80000003FFF0000FFF80000003FFF0000FFF80000003FFF0000FFF80000007FFE
2517 0000FFF80000007FFE0000FFF80000007FFC0000FFF8000000FFFC0000FFF8000000FFF8
2518 0000FFFC000001FFF80000FFFC000001FFF00000FFFE000003FFE00000FFFF000007FFC0
2519 0000FFFF80000FFF800000FFFFE0001FFF000000FFFFF0007FFE000000FFF9FE01FFF800
2520 0000FFF8FFFFFFF0000000FFF83FFFFFC0000000FFF807FFFE00000000FFF800FFE00000
2521 0000FFF800000000000000FFF800000000000000FFF800000000000000FFF80000000000
2522 0000FFF800000000000000FFF800000000000000FFF800000000000000FFF80000000000
2523 0000FFF800000000000000FFF800000000000000FFF800000000000000FFF80000000000
2524 0000FFF800000000000000FFF800000000000000FFF800000000000000FFF80000000000
2525 0000FFF8000000000000FFFFFFF80000000000FFFFFFF80000000000FFFFFFF800000000
2526 00FFFFFFF80000000000FFFFFFF80000000000414D7DB549>I<000003FF80000F800000
2527 003FFFF0001F80000000FFFFFC003F80000007FFFFFF003F8000000FFFC03F807F800000
2528 3FFF000FC07F8000007FFC0003E0FF800000FFF80001F1FF800001FFF00000F9FF800003
2529 FFE000007FFF800007FFC000007FFF80000FFFC000003FFF80000FFF8000001FFF80001F
2530 FF8000001FFF80001FFF0000000FFF80003FFF0000000FFF80003FFF0000000FFF80007F
2531 FE0000000FFF80007FFE0000000FFF80007FFE0000000FFF80007FFE0000000FFF8000FF
2532 FC0000000FFF8000FFFC0000000FFF8000FFFC0000000FFF8000FFFC0000000FFF8000FF
2533 FC0000000FFF8000FFFC0000000FFF8000FFFC0000000FFF8000FFFC0000000FFF8000FF
2534 FC0000000FFF8000FFFC0000000FFF8000FFFC0000000FFF8000FFFC0000000FFF8000FF
2535 FC0000000FFF80007FFE0000000FFF80007FFE0000000FFF80007FFE0000000FFF80007F
2536 FE0000000FFF80003FFE0000000FFF80003FFF0000000FFF80003FFF0000000FFF80001F
2537 FF0000000FFF80001FFF8000001FFF80000FFF8000003FFF800007FFC000003FFF800007
2538 FFE000007FFF800003FFE00000FFFF800001FFF00001FFFF800000FFF80007EFFF800000
2539 3FFE000FCFFF8000001FFF807F8FFF80000007FFFFFE0FFF80000001FFFFF80FFF800000
2540 007FFFE00FFF8000000007FF000FFF800000000000000FFF800000000000000FFF800000
2541 000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000
2542 000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000
2543 000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000
2544 000000000FFF800000000000000FFF800000000000000FFF8000000000000FFFFFFF8000
2545 0000000FFFFFFF80000000000FFFFFFF80000000000FFFFFFF80000000000FFFFFFF8041
2546 4D7CB545>I<003FF001FC00FFFFF00FFF80FFFFF01FFFE0FFFFF07FFFF0FFFFF0FE1FF8
2547 FFFFF1F83FF801FFF1F07FFC00FFF3E07FFC00FFF3C07FFC00FFF7807FFC00FFF7807FFC
2548 00FFFF007FFC00FFFF003FF800FFFE001FF000FFFE000FE000FFFE00000000FFFC000000
2549 00FFFC00000000FFFC00000000FFFC00000000FFF800000000FFF800000000FFF8000000
2550 00FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF8000000
2551 00FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF8000000
2552 00FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF8000000
2553 00FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF8000000
2554 00FFF800000000FFF8000000FFFFFFFE0000FFFFFFFE0000FFFFFFFE0000FFFFFFFE0000
2555 FFFFFFFE00002E367DB535>I<0003FFC00E00001FFFFC1E0000FFFFFF7E0003FFFFFFFE
2556 0007FE003FFE000FF0000FFE001FE00003FE003FC00001FE003F800000FE007F800000FE
2557 007F0000007E007F0000007E00FF0000003E00FF0000003E00FF8000003E00FF8000003E
2558 00FFC000003E00FFF000000000FFFC00000000FFFF800000007FFFFE0000007FFFFFF000
2559 003FFFFFFE00003FFFFFFF80001FFFFFFFE0000FFFFFFFF00007FFFFFFFC0003FFFFFFFE
2560 0000FFFFFFFF00003FFFFFFF00000FFFFFFF800001FFFFFF8000000FFFFFC00000003FFF
2561 C000000007FFE000000001FFE0F8000000FFE0F80000007FE0FC0000003FE0FC0000003F
2562 E0FC0000001FE0FE0000001FE0FE0000001FE0FE0000001FC0FF0000001FC0FF8000003F
2563 C0FF8000003F80FFC000003F80FFE000007F00FFF80000FF00FFFC0003FE00FFFF801FFC
2564 00FE7FFFFFF000F81FFFFFC000F007FFFF0000E0007FF000002B387CB634>I<00007C00
2565 000000007C00000000007C00000000007C00000000007C00000000007C0000000000FC00
2566 00000000FC0000000000FC0000000000FC0000000001FC0000000001FC0000000001FC00
2567 00000003FC0000000003FC0000000007FC0000000007FC000000000FFC000000001FFC00
2568 0000003FFC000000007FFC00000000FFFC00000003FFFC0000000FFFFFFFFE00FFFFFFFF
2569 FE00FFFFFFFFFE00FFFFFFFFFE00FFFFFFFFFE00007FFC000000007FFC000000007FFC00
2570 0000007FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00
2571 0000007FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00
2572 0000007FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00
2573 0000007FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00
2574 0000007FFC000F80007FFC000F80007FFC000F80007FFC000F80007FFC000F80007FFC00
2575 0F80007FFC000F80007FFC000F80007FFC000F80007FFC000F80007FFC000F80007FFC00
2576 1F00003FFE001F00003FFE001F00001FFE003E00001FFF003E00000FFF807C000007FFC1
2577 F8000003FFFFF0000000FFFFE00000003FFF8000000003FE0000294D7ECB33>I<003FF8
2578 000001FFC000FFFFF80007FFFFC000FFFFF80007FFFFC000FFFFF80007FFFFC000FFFFF8
2579 0007FFFFC000FFFFF80007FFFFC00003FFF800001FFFC00000FFF8000007FFC00000FFF8
2580 000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8
2581 000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8
2582 000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8
2583 000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8
2584 000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8
2585 000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8
2586 000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8
2587 000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF800000FFFC00000FFF8
2588 00000FFFC00000FFF800000FFFC00000FFF800001FFFC00000FFF800001FFFC00000FFF8
2589 00003FFFC000007FF800003FFFC000007FF800007FFFC000003FFC0000F7FFC000003FFC
2590 0001E7FFF000001FFE0007C7FFFFC0000FFF801F87FFFFC00007FFFFFF07FFFFC00001FF
2591 FFFC07FFFFC000007FFFF007FFFFC0000007FFC007FF000042377CB549>I<FFFFFFE000
2592 1FFFFCFFFFFFE0001FFFFCFFFFFFE0001FFFFCFFFFFFE0001FFFFCFFFFFFE0001FFFFC01
2593 FFF8000001FF0000FFF80000007C0000FFFC000000FC00007FFC000000F800007FFE0000
2594 00F800007FFE000001F800003FFF000001F000003FFF000003F000001FFF000003E00000
2595 1FFF800007E000000FFF800007C000000FFFC0000FC000000FFFC0000FC0000007FFE000
2596 0F80000007FFE0001F80000003FFE0001F00000003FFF0003F00000001FFF0003E000000
2597 01FFF8007E00000000FFF8007C00000000FFFC007C00000000FFFC00FC000000007FFC00
2598 F8000000007FFE01F8000000003FFE01F0000000003FFF03F0000000001FFF03E0000000
2599 001FFF83E0000000001FFF87E0000000000FFF87C0000000000FFFCFC00000000007FFCF
2600 800000000007FFFF800000000003FFFF000000000003FFFF000000000003FFFF00000000
2601 0001FFFE000000000001FFFE000000000000FFFC000000000000FFFC0000000000007FF8
2602 0000000000007FF80000000000007FF80000000000003FF00000000000003FF000000000
2603 00001FE00000000000001FE00000000000000FC00000000000000FC00000003E367DB445
2604 >I<FFFFFFE1FFFFFF800FFFFFFFFFFFE1FFFFFF800FFFFFFFFFFFE1FFFFFF800FFFFFFF
2605 FFFFE1FFFFFF800FFFFFFFFFFFE1FFFFFF800FFFFF01FFF00003FFC000003FE001FFF800
2606 01FFE000000F8000FFF80001FFE000001F0000FFF80001FFE000001F0000FFFC0000FFF0
2607 00003F00007FFC0000FFF000003E00007FFE00007FF000003E00007FFE00007FF800007E
2608 00003FFE00007FF800007C00003FFF00007FFC0000FC00001FFF00007FFC0000F800001F
2609 FF0000FFFC0000F800001FFF8000FFFE0001F800000FFF8001FFFE0001F000000FFFC001
2610 FFFF0003F0000007FFC001FFFF0003E0000007FFC003FFFF0003E0000007FFE003E7FF80
2611 07E0000003FFE007E7FF8007C0000003FFF007C3FFC007C0000001FFF007C3FFC00F8000
2612 0001FFF00FC3FFC00F80000001FFF80F81FFE01F80000000FFF80F81FFE01F00000000FF
2613 FC1F00FFE01F00000000FFFC1F00FFF03F000000007FFC3F00FFF03E000000007FFE3E00
2614 7FF87E000000003FFE3E007FF87C000000003FFE7E007FF87C000000003FFF7C003FFCFC
2615 000000001FFFFC003FFCF8000000001FFFF8001FFFF8000000000FFFF8001FFFF0000000
2616 000FFFF8001FFFF0000000000FFFF0000FFFF00000000007FFF0000FFFE00000000007FF
2617 E00007FFE00000000003FFE00007FFC00000000003FFE00007FFC00000000003FFC00003
2618 FFC00000000001FFC00003FF800000000001FF800001FF800000000001FF800001FF8000
2619 00000000FF800001FF000000000000FF000000FF0000000000007F000000FE0000000000
2620 007F000000FE0000000000003E0000007C00000058367DB45F>I<FFFFFFE0001FFFFCFF
2621 FFFFE0001FFFFCFFFFFFE0001FFFFCFFFFFFE0001FFFFCFFFFFFE0001FFFFC01FFF80000
2622 01FF0000FFF80000007C0000FFFC000000FC00007FFC000000F800007FFE000001F80000
2623 3FFE000001F000003FFF000001F000003FFF000003F000001FFF800003E000001FFF8000
2624 07E000000FFF800007C000000FFFC0000FC0000007FFC0000F80000007FFE0001F800000
2625 03FFE0001F00000003FFF0001F00000003FFF0003F00000001FFF8003E00000001FFF800
2626 7E00000000FFF8007C00000000FFFC00FC000000007FFC00F8000000007FFE00F8000000
2627 007FFE01F8000000003FFF01F0000000003FFF03F0000000001FFF03E0000000001FFF87
2628 E0000000000FFF87C0000000000FFFCFC00000000007FFCF800000000007FFEF80000000
2629 0007FFFF800000000003FFFF000000000003FFFF000000000001FFFE000000000001FFFE
2630 000000000000FFFC000000000000FFFC0000000000007FF80000000000007FF800000000
2631 00007FF80000000000003FF00000000000003FF00000000000001FE00000000000001FE0
2632 0000000000000FC00000000000000FC00000000000000FC00000000000000F8000000000
2633 00001F800000000000001F000000000000003F000000000000003E000000000000007E00
2634 0000001FC0007C000000003FE0007C000000007FF000FC00000000FFF800F800000000FF
2635 F801F800000000FFF801F000000000FFF803E000000000FFF807E000000000FFF80FC000
2636 0000007FF01F80000000007FE03F00000000007FC07F00000000003F81FC00000000001F
2637 FFF800000000000FFFF0000000000003FFC0000000000000FE0000000000003E4D7DB445
2638 >121 D E
2639 %EndDVIPSBitmapFont
2640 %DVIPSBitmapFont: Fi ecbx2074 20.74 15
2641 /Fi 15 117 df<0000000003C00000000000000FC00000000000001FC00000000000003F
2642 C0000000000000FFC0000000000003FFC000000000000FFFC000000000007FFFC0000000
2643 0003FFFFC0000000003FFFFFC00000000FFFFFFFC00000FFFFFFFFFFC00000FFFFFFFFFF
2644 C00000FFFFFFFFFFC00000FFFFFCFFFFC00000FFFFC0FFFFC00000FFF000FFFFC0000000
2645 0000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFF
2646 C00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC0000000
2647 0000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFF
2648 C00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC0000000
2649 0000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFF
2650 C00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC0000000
2651 0000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFF
2652 C00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC0000000
2653 0000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFF
2654 C00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC0000000
2655 0000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFF
2656 C00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC0000000
2657 0000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFF
2658 C00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC0000000
2659 0000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFF
2660 C00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC0000000
2661 0000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFF
2662 C00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC0000000
2663 0000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFF
2664 C00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC000003F
2665 FFFFFFFFFFFFFF3FFFFFFFFFFFFFFF3FFFFFFFFFFFFFFF3FFFFFFFFFFFFFFF3FFFFFFFFF
2666 FFFFFF3FFFFFFFFFFFFFFF407172F05B>49 D<0000001FFF80000000000001FFFFFC0000
2667 0000000FFFFFFF80000000003FFFFFFFF000000000FFFFFFFFFC00000003FFFFFFFFFF00
2668 00000FFF001FFFFFC000001FF80003FFFFE000003FE00000FFFFF800007F8000003FFFFC
2669 0001FF0000001FFFFE0001FC0000000FFFFF0003F800000007FFFF8007F000000003FFFF
2670 C00FE000000001FFFFC00FE000000000FFFFE01FC000000000FFFFF01F80000000007FFF
2671 F03F80000000003FFFF83FF8000000003FFFF87FFE000000001FFFFC7FFF800000001FFF
2672 FC7FFFC00000001FFFFEFFFFE00000000FFFFEFFFFE00000000FFFFEFFFFF00000000FFF
2673 FEFFFFF00000000FFFFFFFFFF00000000FFFFFFFFFF000000007FFFFFFFFF000000007FF
2674 FFFFFFF000000007FFFFFFFFF000000007FFFFFFFFF000000007FFFF7FFFE000000007FF
2675 FF7FFFE000000007FFFF3FFFC000000007FFFF1FFF800000000FFFFF07FE000000000FFF
2676 FF01F8000000000FFFFE0000000000000FFFFE0000000000000FFFFE0000000000001FFF
2677 FE0000000000001FFFFC0000000000001FFFFC0000000000001FFFF80000000000003FFF
2678 F80000000000003FFFF00000000000007FFFF00000000000007FFFE0000000000000FFFF
2679 E0000000000000FFFFC0000000000001FFFF80000000000001FFFF00000000000003FFFF
2680 00000000000003FFFE00000000000007FFFC0000000000000FFFF80000000000000FFFF0
2681 0000000000001FFFE00000000000003FFFC00000000000003FFF800000000000007FFF00
2682 000000000000FFFE00000000000001FFF800000000000001FFF000000000000003FFE000
2683 000000000007FFC00000000000000FFF800000000000001FFE000000000000003FFC0000
2684 00000000007FF8000000000000007FF000000000000000FFE000000000000001FF800000
2685 0000000003FF0000000000000007FE000000000000000FFC000000000000001FF8000000
2686 000000003FF00000003F0000007FE00000003F000000FFC00000003F000000FF00000000
2687 3F000001FE000000007E000003FC000000007E000007F8000000007E00000FF000000000
2688 7E00001FE0000000007E00003FC0000000007E00007F8000000000FE0000FF0000000000
2689 FE0001FE0000000000FE0003F80000000000FC0003F00000000001FC0007E00000000001
2690 FC000FC0000000000FFC001FFFFFFFFFFFFFFC003FFFFFFFFFFFFFFC007FFFFFFFFFFFFF
2691 FC00FFFFFFFFFFFFFFFC01FFFFFFFFFFFFFFFC03FFFFFFFFFFFFFFF807FFFFFFFFFFFFFF
2692 F807FFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFF81FFFFFFFFFFFFFFFF83FFFFFFFFFFFFFFF
2693 F87FFFFFFFFFFFFFFFF8FFFFFFFFFFFFFFFFF8FFFFFFFFFFFFFFFFF8FFFFFFFFFFFFFFFF
2694 F0FFFFFFFFFFFFFFFFF0FFFFFFFFFFFFFFFFF0FFFFFFFFFFFFFFFFF0487177F05B>I<00
2695 000003FFF8000000000000007FFFFFC0000000000003FFFFFFFC00000000000FFFFFFFFF
2696 00000000007FFFFFFFFFC000000000FFFC007FFFF000000003FFC0000FFFFC00000007FE
2697 000003FFFE0000001FF8000001FFFF0000003FE0000000FFFFC000007FC00000007FFFC0
2698 00007F000000007FFFE00000FE000000003FFFF00001FFC00000003FFFF80001FFF00000
2699 001FFFF80003FFF80000001FFFFC0003FFFC0000001FFFFC0003FFFE0000001FFFFC0007
2700 FFFF0000001FFFFE0007FFFF0000000FFFFE0007FFFF0000000FFFFE0007FFFF0000000F
2701 FFFE0007FFFF8000000FFFFE0007FFFF0000000FFFFE0007FFFF0000000FFFFE0007FFFF
2702 0000000FFFFE0007FFFF0000000FFFFE0003FFFF0000001FFFFE0003FFFE0000001FFFFE
2703 0001FFFC0000001FFFFC0000FFF80000001FFFFC00003FE00000001FFFFC000007000000
2704 001FFFF8000000000000003FFFF8000000000000003FFFF8000000000000003FFFF00000
2705 00000000007FFFF0000000000000007FFFE000000000000000FFFFC000000000000000FF
2706 FFC000000000000001FFFF8000000000000001FFFF0000000000000003FFFE0000000000
2707 000007FFFC0000000000000007FFF8000000000000000FFFF0000000000000001FFFC000
2708 0000000000007FFF8000000000000000FFFE0000000000000003FFFC00000000000001FF
2709 FFF0000000000001FFFFFF80000000000001FFFFFE00000000000001FFFFF80000000000
2710 0001FFFFFFE0000000000001FFFFFFFC00000000000000007FFF80000000000000000FFF
2711 E00000000000000003FFF80000000000000001FFFE00000000000000007FFF0000000000
2712 0000007FFFC0000000000000003FFFE0000000000000001FFFF0000000000000000FFFF8
2713 000000000000000FFFFC0000000000000007FFFE0000000000000007FFFF000000000000
2714 0007FFFF0000000000000003FFFF8000000000000003FFFF8000000000000003FFFFC000
2715 000000000003FFFFC000000000000003FFFFE000000000000001FFFFE000000000000001
2716 FFFFE000000000000001FFFFE000000000000001FFFFF000000000000001FFFFF0000000
2717 00000001FFFFF003FE0000000001FFFFF00FFF8000000001FFFFF01FFFC000000001FFFF
2718 F03FFFE000000001FFFFF07FFFF000000001FFFFF07FFFF000000001FFFFF0FFFFF80000
2719 0001FFFFF0FFFFF800000001FFFFF0FFFFF800000001FFFFF0FFFFF800000001FFFFE0FF
2720 FFF800000001FFFFE0FFFFF800000003FFFFE0FFFFF800000003FFFFE0FFFFF800000003
2721 FFFFC0FFFFF000000003FFFFC07FFFF000000003FFFF807FFFE000000007FFFF807FFFC0
2722 00000007FFFF003FFF8000000007FFFF003FFE000000000FFFFE001FF8000000000FFFFE
2723 001FE0000000001FFFFC000FF0000000003FFFF80007FC000000003FFFF00003FE000000
2724 007FFFE00001FFC0000000FFFFC00000FFF0000003FFFF8000003FFF00000FFFFE000000
2725 1FFFF8007FFFFC00000007FFFFFFFFFFF000000001FFFFFFFFFFC0000000007FFFFFFFFF
2726 00000000000FFFFFFFF8000000000000FFFFFFC000000000000007FFF8000000004C7379
2727 F05B>I<000000000000007F000000000000000000FF000000000000000000FF00000000
2728 0000000001FF000000000000000003FF000000000000000007FF000000000000000007FF
2729 00000000000000000FFF00000000000000001FFF00000000000000001FFF000000000000
2730 00003FFF00000000000000007FFF0000000000000000FFFF0000000000000000FFFF0000
2731 000000000001FFFF0000000000000003FFFF0000000000000003FFFF0000000000000007
2732 FFFF000000000000000FFFFF000000000000001FFFFF000000000000001FFFFF00000000
2733 0000003FFFFF000000000000007FFFFF000000000000007FFFFF00000000000000FDFFFF
2734 00000000000001FDFFFF00000000000003F9FFFF00000000000003F1FFFF000000000000
2735 07F1FFFF0000000000000FE1FFFF0000000000001FC1FFFF0000000000001F81FFFF0000
2736 000000003F81FFFF0000000000007F01FFFF0000000000007E01FFFF000000000000FE01
2737 FFFF000000000001FC01FFFF000000000003F801FFFF000000000003F001FFFF00000000
2738 0007F001FFFF00000000000FE001FFFF00000000000FC001FFFF00000000001FC001FFFF
2739 00000000003F8001FFFF00000000007F0001FFFF00000000007E0001FFFF0000000000FE
2740 0001FFFF0000000001FC0001FFFF0000000001F80001FFFF0000000003F80001FFFF0000
2741 000007F00001FFFF000000000FE00001FFFF000000000FC00001FFFF000000001FC00001
2742 FFFF000000003F800001FFFF000000003F000001FFFF000000007E000001FFFF00000000
2743 FE000001FFFF00000001FC000001FFFF00000001F8000001FFFF00000003F8000001FFFF
2744 00000007F0000001FFFF00000007E0000001FFFF0000000FC0000001FFFF0000001FC000
2745 0001FFFF0000003F80000001FFFF0000003F00000001FFFF0000007F00000001FFFF0000
2746 00FE00000001FFFF000000FC00000001FFFF000001F800000001FFFF000003F800000001
2747 FFFF000007F000000001FFFF000007E000000001FFFF00000FE000000001FFFF00001FC0
2748 00000001FFFF00001F8000000001FFFF00003F0000000001FFFF00007F0000000001FFFF
2749 0000FE0000000001FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2750 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2751 000000000003FFFF0000000000000003FFFF0000000000000003FFFF0000000000000003
2752 FFFF0000000000000003FFFF0000000000000003FFFF0000000000000003FFFF00000000
2753 00000003FFFF0000000000000003FFFF0000000000000003FFFF0000000000000003FFFF
2754 0000000000000003FFFF0000000000000003FFFF0000000000000003FFFF000000000000
2755 0003FFFF0000000000000003FFFF0000000000000003FFFF0000000000000003FFFF0000
2756 000000000003FFFF0000000000000003FFFF0000000000000003FFFF0000000000000003
2757 FFFF00000000000FFFFFFFFFFFFF0000000FFFFFFFFFFFFF0000000FFFFFFFFFFFFF0000
2758 000FFFFFFFFFFFFF0000000FFFFFFFFFFFFF0000000FFFFFFFFFFFFF50727BF15B>I<00
2759 6000000000000180007800000000000780007F00000000003F80007FE000000001FF8000
2760 7FFE0000001FFF80007FFFF80007FFFF00007FFFFFFFFFFFFE00007FFFFFFFFFFFFE0000
2761 7FFFFFFFFFFFFC00007FFFFFFFFFFFF800007FFFFFFFFFFFF000007FFFFFFFFFFFC00000
2762 7FFFFFFFFFFF8000007FFFFFFFFFFF0000007FFFFFFFFFFE0000007FFFFFFFFFF8000000
2763 7FFFFFFFFFE00000007FFFFFFFFF800000007FFFFFFFFE000000007FFFFFFFF800000000
2764 7FFFFFFFC0000000007E3FFFFE00000000007E00FF8000000000007E0000000000000000
2765 7E00000000000000007E00000000000000007E00000000000000007E0000000000000000
2766 7E00000000000000007E00000000000000007E00000000000000007E0000000000000000
2767 7E00000000000000007E00000000000000007E00000000000000007E0000000000000000
2768 7E00000000000000007E00000000000000007E00000000000000007E0000000000000000
2769 7E00000000000000007E00000000000000007E0003FFE0000000007E003FFFFF00000000
2770 7E00FFFFFFE00000007E03FFFFFFF80000007E0FFFFFFFFE0000007E3FFE007FFF800000
2771 7E7FE0001FFFC000007EFF800007FFF000007FFC000003FFF800007FF8000001FFFC0000
2772 7FE0000000FFFE00007FC0000000FFFF00007F800000007FFF80007F000000007FFFC000
2773 7F000000003FFFC0007E000000003FFFE0003C000000001FFFE00000000000001FFFF000
2774 00000000001FFFF00000000000001FFFF80000000000001FFFF80000000000001FFFFC00
2775 00000000000FFFFC0000000000000FFFFC0000000000000FFFFE0000000000000FFFFE00
2776 00000000000FFFFE0000000000000FFFFE0000000000000FFFFE0000000000000FFFFF00
2777 00000000000FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000FFFFF03
2778 F8000000000FFFFF0FFE000000000FFFFF1FFF000000000FFFFF3FFF800000000FFFFF7F
2779 FFC00000000FFFFF7FFFC00000000FFFFFFFFFE00000000FFFFFFFFFE00000000FFFFFFF
2780 FFE00000000FFFFFFFFFE00000000FFFFEFFFFE00000000FFFFEFFFFE00000000FFFFEFF
2781 FFE00000000FFFFEFFFFC00000000FFFFEFFFFC00000001FFFFC7FFF800000001FFFFC7F
2782 FF000000001FFFFC7FFC000000001FFFF87FF0000000001FFFF83F80000000003FFFF03F
2783 80000000003FFFF01FC0000000003FFFE01FC0000000007FFFC00FE0000000007FFFC00F
2784 F000000000FFFF8007F800000000FFFF0003FC00000001FFFE0003FE00000003FFFE0001
2785 FF80000007FFFC0000FFC000000FFFF000007FF000003FFFE000001FFC0000FFFFC00000
2786 0FFFC00FFFFF00000007FFFFFFFFFC00000001FFFFFFFFF0000000007FFFFFFFC0000000
2787 001FFFFFFF000000000003FFFFF00000000000003FFE00000000487377F05B>I<000000
2788 00007FFC000000000000000FFFFFC00000000000007FFFFFF0000000000003FFFFFFFC00
2789 000000000FFFFFFFFF00000000003FFFE007FF8000000000FFFE00007FC000000003FFF8
2790 00003FE000000007FFE000000FF00000001FFF80000007F00000003FFF00000003F80000
2791 007FFE0000001FF8000000FFFC0000007FFC000001FFF8000001FFFC000003FFF0000001
2792 FFFC000007FFE0000003FFFE00000FFFC0000007FFFE00001FFFC0000007FFFE00001FFF
2793 80000007FFFE00003FFF00000007FFFE00007FFF00000007FFFE00007FFE00000007FFFE
2794 0000FFFE00000007FFFE0000FFFE00000007FFFE0001FFFC00000003FFFC0001FFFC0000
2795 0001FFF80003FFFC00000001FFF00003FFF8000000007FE00007FFF8000000001F800007
2796 FFF8000000000000000FFFF8000000000000000FFFF8000000000000000FFFF000000000
2797 0000001FFFF0000000000000001FFFF0000000000000001FFFF0000000000000003FFFF0
2798 000000000000003FFFF0000000000000003FFFF0000000000000003FFFF0000000000000
2799 003FFFE0000000000000007FFFE0001FFFE00000007FFFE000FFFFFC0000007FFFE003FF
2800 FFFF8000007FFFE007FFFFFFE000007FFFE01FFFFFFFF000007FFFE03F8003FFFC0000FF
2801 FFE07E00007FFE0000FFFFE0FC00003FFF0000FFFFE0F000001FFF8000FFFFE1E000000F
2802 FFC000FFFFE3E0000007FFE000FFFFE3C0000003FFF000FFFFE780000003FFF800FFFFE7
2803 00000001FFFC00FFFFEF00000001FFFC00FFFFEE00000001FFFE00FFFFFE00000000FFFF
2804 00FFFFFC00000000FFFF00FFFFFC00000000FFFF80FFFFFC00000000FFFF80FFFFF80000
2805 0000FFFFC0FFFFF8000000007FFFC0FFFFF8000000007FFFC0FFFFF0000000007FFFE0FF
2806 FFF0000000007FFFE0FFFFF0000000007FFFE0FFFFF0000000007FFFE0FFFFF000000000
2807 7FFFE0FFFFF0000000007FFFF0FFFFF0000000007FFFF07FFFE0000000007FFFF07FFFE0
2808 000000007FFFF07FFFE0000000007FFFF07FFFE0000000007FFFF07FFFE0000000007FFF
2809 F07FFFE0000000007FFFF07FFFE0000000007FFFF07FFFE0000000007FFFF03FFFE00000
2810 00007FFFF03FFFE0000000007FFFF03FFFE0000000007FFFF03FFFF0000000007FFFF03F
2811 FFF0000000007FFFF01FFFF0000000007FFFF01FFFF0000000007FFFF01FFFF000000000
2812 7FFFE01FFFF0000000007FFFE00FFFF0000000007FFFE00FFFF0000000007FFFE00FFFF0
2813 000000007FFFE007FFF0000000007FFFC007FFF800000000FFFFC003FFF800000000FFFF
2814 8003FFF800000000FFFF8001FFF800000000FFFF8001FFFC00000000FFFF0000FFFC0000
2815 0001FFFF0000FFFC00000001FFFE00007FFE00000001FFFC00007FFE00000003FFF80000
2816 3FFF00000003FFF800001FFF80000007FFF000000FFFC000000FFFE0000007FFE000001F
2817 FFC0000003FFF000003FFF80000001FFF800007FFF00000000FFFE0001FFFE000000007F
2818 FFC00FFFF8000000001FFFFFFFFFF00000000007FFFFFFFFC00000000001FFFFFFFF0000
2819 000000007FFFFFFC0000000000000FFFFFE000000000000000FFFC000000004C7379F05B
2820 >I<07E0000000000000000007E000000000000000000FE000000000000000000FF80000
2821 0000000000000FFE00000000000000000FFFFF000000000000000FFFFFFFFFFFFFFFFFFC
2822 0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC1FFFFFFFFFFF
2823 FFFFFFFC1FFFFFFFFFFFFFFFFFFC1FFFFFFFFFFFFFFFFFF81FFFFFFFFFFFFFFFFFF01FFF
2824 FFFFFFFFFFFFFFE01FFFFFFFFFFFFFFFFFC01FFFFFFFFFFFFFFFFFC01FFFFFFFFFFFFFFF
2825 FF801FFFFFFFFFFFFFFFFF003FFFFFFFFFFFFFFFFE003FFFFFFFFFFFFFFFFE003FFFFFFF
2826 FFFFFFFFFC003FFFFFFFFFFFFFFFF8003FFFFFFFFFFFFFFFF0003FF8000000000007E000
2827 3FC000000000000FE0003F8000000000001FC0003F8000000000003F80007F0000000000
2828 003F00007F0000000000007F00007F000000000000FE00007E000000000001FC00007E00
2829 0000000003F800007E000000000003F000007E000000000007F000007E00000000000FE0
2830 00007E00000000001FC00000FC00000000001F800000FC00000000003F800000FC000000
2831 00007F000000FC0000000000FE000000000000000001FC000000000000000001F8000000
2832 000000000003F8000000000000000007F000000000000000000FE000000000000000000F
2833 E000000000000000001FC000000000000000003F8000000000000000003F800000000000
2834 0000007F000000000000000000FF000000000000000000FE000000000000000001FE0000
2835 00000000000003FC000000000000000003FC000000000000000007F80000000000000000
2836 0FF800000000000000000FF800000000000000001FF000000000000000001FF000000000
2837 000000003FF000000000000000003FE000000000000000007FE000000000000000007FE0
2838 0000000000000000FFE00000000000000000FFC00000000000000001FFC0000000000000
2839 0001FFC00000000000000003FFC00000000000000003FF800000000000000007FF800000
2840 000000000007FF80000000000000000FFF80000000000000000FFF80000000000000000F
2841 FF80000000000000001FFF00000000000000001FFF00000000000000003FFF0000000000
2842 0000003FFF00000000000000003FFF00000000000000007FFF00000000000000007FFF00
2843 000000000000007FFF00000000000000007FFF0000000000000000FFFF00000000000000
2844 00FFFF0000000000000000FFFE0000000000000000FFFE0000000000000001FFFE000000
2845 0000000001FFFE0000000000000001FFFE0000000000000001FFFE0000000000000003FF
2846 FE0000000000000003FFFE0000000000000003FFFE0000000000000003FFFE0000000000
2847 000003FFFE0000000000000003FFFE0000000000000003FFFE0000000000000007FFFE00
2848 00000000000007FFFE0000000000000007FFFE0000000000000007FFFE00000000000000
2849 07FFFE0000000000000007FFFE0000000000000007FFFE0000000000000007FFFE000000
2850 0000000007FFFE0000000000000007FFFE0000000000000007FFFE0000000000000007FF
2851 FE0000000000000007FFFE0000000000000003FFFC0000000000000003FFFC0000000000
2852 000001FFF80000000000000000FFF000000000000000007FE000000000000000001F8000
2853 000000004E7776F45B>I<00000001FFFC000000000000003FFFFFE0000000000001FFFF
2854 FFFC000000000007FFFFFFFF80000000001FFFFFFFFFE0000000007FFE000FFFF0000000
2855 00FFE00000FFFC00000003FF0000003FFE00000007FE0000000FFF0000000FF800000007
2856 FF8000001FF000000003FFC000001FE000000001FFE000003FC000000000FFF000007FC0
2857 000000007FF000007F80000000007FF80000FF80000000003FF80001FF80000000003FFC
2858 0001FF00000000001FFC0001FF00000000001FFC0003FF00000000001FFE0003FF000000
2859 00000FFE0003FF00000000000FFE0003FF00000000000FFE0007FF00000000000FFE0007
2860 FF80000000000FFE0007FF80000000000FFE0007FFC0000000000FFE0007FFC000000000
2861 0FFE0007FFE0000000000FFE0007FFF0000000001FFE0007FFF8000000001FFC0007FFFC
2862 000000001FFC0007FFFF000000001FFC0007FFFF800000003FFC0007FFFFE00000003FF8
2863 0003FFFFF00000007FF80003FFFFFC0000007FF00003FFFFFF000000FFF00001FFFFFF80
2864 0001FFE00001FFFFFFE00001FFC00001FFFFFFF80003FF800000FFFFFFFC0007FF000000
2865 7FFFFFFF000FFE0000007FFFFFFF801FFC0000003FFFFFFFE07FF80000001FFFFFFFF8FF
2866 E00000001FFFFFFFFFFFC00000000FFFFFFFFFFF0000000007FFFFFFFFFC0000000003FF
2867 FFFFFFF00000000001FFFFFFFFF800000000007FFFFFFFFC00000000003FFFFFFFFF0000
2868 0000000FFFFFFFFFC00000000007FFFFFFFFE00000000001FFFFFFFFF80000000003FFFF
2869 FFFFFC000000000FFFFFFFFFFF000000003FFFFFFFFFFF800000007FFFFFFFFFFFC00000
2870 01FFE1FFFFFFFFE0000007FF807FFFFFFFF000000FFF003FFFFFFFF800001FFE000FFFFF
2871 FFFC00003FFC0003FFFFFFFC0000FFF80001FFFFFFFE0001FFF000007FFFFFFF0001FFE0
2872 00003FFFFFFF0003FFC000000FFFFFFF8007FF80000003FFFFFF800FFF80000001FFFFFF
2873 C00FFF000000007FFFFFC01FFE000000001FFFFFE01FFE000000000FFFFFE03FFC000000
2874 0003FFFFE03FFC0000000001FFFFE07FFC00000000007FFFF07FF800000000003FFFF07F
2875 F800000000001FFFF07FF800000000000FFFF0FFF8000000000007FFF0FFF00000000000
2876 07FFF0FFF0000000000003FFF0FFF0000000000003FFF0FFF0000000000001FFF0FFF000
2877 0000000001FFF0FFF0000000000000FFF0FFF0000000000000FFF0FFF0000000000000FF
2878 F0FFF0000000000000FFE0FFF0000000000000FFE0FFF8000000000000FFE07FF8000000
2879 000000FFE07FF8000000000000FFC07FFC000000000001FFC07FFC000000000001FF803F
2880 FC000000000001FF803FFE000000000003FF801FFF000000000003FF001FFF0000000000
2881 07FE000FFF800000000007FE000FFFC0000000000FFC0007FFE0000000001FF80003FFF0
2882 000000003FF00001FFF800000000FFE00000FFFE00000001FFC000007FFF80000007FF80
2883 00001FFFF000003FFF0000000FFFFF0007FFFC00000003FFFFFFFFFFF800000000FFFFFF
2884 FFFFE0000000003FFFFFFFFF800000000007FFFFFFFC000000000000FFFFFFE000000000
2885 000003FFF8000000004C7379F05B>I<00000000000001FFFE000000000E000000000000
2886 FFFFFFF00000001E00000000000FFFFFFFFE0000003E0000000000FFFFFFFFFF8000007E
2887 0000000003FFFFFFFFFFF00000FE000000001FFFFFFFFFFFFC0001FE000000007FFFFFF0
2888 003FFE0003FE00000001FFFFFC000003FF8007FE00000007FFFFE00000007FE007FE0000
2889 001FFFFF000000001FF00FFE0000007FFFF80000000007F81FFE000000FFFFE000000000
2890 03FC3FFE000003FFFFC00000000000FF7FFE000007FFFF0000000000007FFFFE00000FFF
2891 FE0000000000003FFFFE00001FFFF80000000000001FFFFE00003FFFF00000000000000F
2892 FFFE00007FFFE000000000000007FFFE0000FFFFC000000000000003FFFE0001FFFF8000
2893 000000000001FFFE0003FFFF0000000000000000FFFE0007FFFE0000000000000000FFFE
2894 000FFFFE00000000000000007FFE001FFFFC00000000000000003FFE001FFFF800000000
2895 000000003FFE003FFFF800000000000000001FFE007FFFF000000000000000000FFE007F
2896 FFE000000000000000000FFE00FFFFE0000000000000000007FE00FFFFC0000000000000
2897 000007FE01FFFFC0000000000000000007FE03FFFFC0000000000000000003FE03FFFF80
2898 000000000000000003FE03FFFF80000000000000000001FE07FFFF000000000000000000
2899 01FE07FFFF00000000000000000001FE0FFFFF00000000000000000001FE0FFFFF000000
2900 00000000000000FE0FFFFE00000000000000000000FE1FFFFE00000000000000000000FE
2901 1FFFFE00000000000000000000FE1FFFFE000000000000000000007E3FFFFC0000000000
2902 00000000007E3FFFFC000000000000000000007E3FFFFC000000000000000000007E3FFF
2903 FC00000000000000000000007FFFFC00000000000000000000007FFFFC00000000000000
2904 000000007FFFFC00000000000000000000007FFFF800000000000000000000007FFFF800
2905 000000000000000000007FFFF80000000000000000000000FFFFF8000000000000000000
2906 0000FFFFF80000000000000000000000FFFFF80000000000000000000000FFFFF8000000
2907 0000000000000000FFFFF80000000000000000000000FFFFF80000000000000000000000
2908 FFFFF80000000000000000000000FFFFF80000000000000000000000FFFFF80000000000
2909 000000000000FFFFF80000000000000000000000FFFFF80000000000000000000000FFFF
2910 F80000000000000000000000FFFFF80000000000000000000000FFFFF800000000000000
2911 00000000FFFFF80000000000000000000000FFFFF80000000000000000000000FFFFF800
2912 00000000000000000000FFFFF800000000000000000000007FFFF8000000000000000000
2913 00007FFFF800000000000000000000007FFFFC00000000000000000000007FFFFC000000
2914 00000000000000007FFFFC00000000000000000000007FFFFC0000000000000000000000
2915 3FFFFC00000000000000000000003FFFFC00000000000000000000003FFFFC0000000000
2916 0000000000003FFFFC000000000000000000007E1FFFFE000000000000000000007E1FFF
2917 FE000000000000000000007E1FFFFE000000000000000000007E0FFFFE00000000000000
2918 0000007E0FFFFF000000000000000000007E0FFFFF000000000000000000007E07FFFF00
2919 000000000000000000FE07FFFF00000000000000000000FC03FFFF800000000000000000
2920 00FC03FFFF80000000000000000000FC03FFFFC0000000000000000001FC01FFFFC00000
2921 00000000000001F800FFFFC0000000000000000001F800FFFFE0000000000000000003F8
2922 007FFFE0000000000000000003F0007FFFF0000000000000000007F0003FFFF800000000
2923 0000000007E0001FFFF800000000000000000FE0001FFFFC00000000000000000FC0000F
2924 FFFE00000000000000001FC00007FFFE00000000000000003F800003FFFF000000000000
2925 00003F800001FFFF80000000000000007F000000FFFFC000000000000000FE0000007FFF
2926 E000000000000001FC0000003FFFF000000000000003FC0000001FFFF800000000000007
2927 F80000000FFFFE0000000000000FF000000007FFFF0000000000001FE000000003FFFFC0
2928 00000000007FC000000000FFFFE00000000000FF00000000007FFFFC0000000003FE0000
2929 0000001FFFFF000000000FFC000000000007FFFFE00000003FF0000000000001FFFFFE00
2930 0001FFE00000000000007FFFFFF0003FFF800000000000001FFFFFFFFFFFFE0000000000
2931 000003FFFFFFFFFFF80000000000000000FFFFFFFFFFE000000000000000000FFFFFFFFF
2932 00000000000000000000FFFFFFF00000000000000000000001FFFE00000000006F7A76F7
2933 84>67 D<0000001FFFC00000000000000003FFFFFE000000000000003FFFFFFFC0000000
2934 000000FFFFFFFFF0000000000003FFFFFFFFFC00000000000FFFE003FFFF00000000001F
2935 FC00007FFFC0000000003FE000001FFFE0000000007F8000000FFFF000000000FFF00000
2936 07FFF800000000FFF8000003FFFC00000001FFFC000001FFFE00000001FFFE000001FFFF
2937 00000003FFFE000000FFFF80000003FFFF0000007FFF80000003FFFF0000007FFFC00000
2938 03FFFF0000007FFFC0000003FFFF0000003FFFE0000003FFFF0000003FFFE0000003FFFF
2939 0000003FFFE0000003FFFF0000003FFFE0000001FFFE0000001FFFF0000001FFFE000000
2940 1FFFF0000000FFFC0000001FFFF00000003FF00000001FFFF00000000FC00000001FFFF0
2941 00000000000000001FFFF000000000000000001FFFF000000000000000001FFFF0000000
2942 00000000001FFFF000000000000000001FFFF000000000000000001FFFF0000000000000
2943 00001FFFF000000000000000001FFFF000000000000000001FFFF000000000000000003F
2944 FFF00000000000000FFFFFFFF0000000000003FFFFFFFFF000000000007FFFFFFFFFF000
2945 00000003FFFFFC1FFFF0000000001FFFFF001FFFF000000000FFFFF0001FFFF000000003
2946 FFFF00001FFFF00000000FFFFC00001FFFF00000001FFFF000001FFFF00000007FFFC000
2947 001FFFF0000000FFFF8000001FFFF0000001FFFF0000001FFFF0000003FFFE0000001FFF
2948 F0000007FFFC0000001FFFF000000FFFF80000001FFFF000001FFFF00000001FFFF00000
2949 3FFFF00000001FFFF000003FFFE00000001FFFF000007FFFE00000001FFFF000007FFFC0
2950 0000001FFFF007E07FFFC00000001FFFF007E0FFFFC00000001FFFF007E0FFFF80000000
2951 1FFFF007E0FFFF800000001FFFF007E0FFFF800000003FFFF007E0FFFF800000003FFFF0
2952 07E0FFFF800000003FFFF007E0FFFF800000007FFFF007E0FFFF800000007FFFF007E0FF
2953 FFC0000000FFFFF007E07FFFC0000000FFFFF007E07FFFE0000001EFFFF007E07FFFE000
2954 0003EFFFF007E03FFFF0000007C7FFF80FC01FFFF800000F87FFF80FC00FFFFC00001F07
2955 FFFC1FC007FFFE00007E03FFFF7F8003FFFF8001FC01FFFFFF0001FFFFE00FF801FFFFFF
2956 00007FFFFFFFE000FFFFFE00001FFFFFFFC0003FFFFC000007FFFFFF00001FFFF0000000
2957 FFFFF8000007FFE000000007FFC0000000FF000053507ACE5B>97
2958 D<00000001FFFC0000000000001FFFFFC00000000000FFFFFFF80000000007FFFFFFFE00
2959 0000001FFFFFFFFF800000007FFFE03FFFE0000000FFFE0007FFF0000003FFF80001FFF8
2960 000007FFF00000FFFC00000FFFC000003FFE00001FFF8000003FFF00003FFF0000001FFF
2961 80007FFE0000000FFFC000FFFE0000000FFFC000FFFC00000007FFE001FFFC00000007FF
2962 E003FFF800000003FFF003FFF800000003FFF007FFF000000003FFF80FFFF000000001FF
2963 F80FFFF000000001FFFC0FFFF000000001FFFC1FFFE000000000FFFC1FFFE000000000FF
2964 FC3FFFE000000000FFFE3FFFE000000000FFFE3FFFE000000000FFFE7FFFC000000000FF
2965 FE7FFFC0000000007FFE7FFFC0000000007FFF7FFFC0000000007FFF7FFFC0000000007F
2966 FFFFFFC0000000007FFFFFFFC0000000007FFFFFFFC0000000007FFFFFFFC0000000007F
2967 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2968 FFFFFFC0000000000000FFFFC0000000000000FFFFC0000000000000FFFFC00000000000
2969 00FFFFC0000000000000FFFFC0000000000000FFFFC00000000000007FFFC00000000000
2970 007FFFC00000000000007FFFC00000000000007FFFC00000000000007FFFE00000000000
2971 003FFFE00000000000003FFFE00000000000003FFFE00000000000001FFFE00000000000
2972 001FFFF00000000000001FFFF00000000000000FFFF000000000003F0FFFF00000000000
2973 3F07FFF800000000007F07FFF800000000007E03FFFC00000000007E01FFFC0000000000
2974 FE01FFFE0000000001FC00FFFF0000000001FC007FFF0000000003F8003FFF8000000007
2975 F0001FFFC00000000FE0000FFFE00000001FC00007FFF80000003F800003FFFC000000FF
2976 000001FFFF000003FE0000007FFFE0000FFC0000003FFFFE00FFF80000000FFFFFFFFFE0
2977 00000003FFFFFFFF80000000007FFFFFFE00000000000FFFFFF00000000000007FFF0000
2978 0048507BCE53>101 D<0003FFF80000000000000000FFFFFFF80000000000000000FFFF
2979 FFF80000000000000000FFFFFFF80000000000000000FFFFFFF80000000000000000FFFF
2980 FFF80000000000000000FFFFFFF80000000000000000007FFFF80000000000000000001F
2981 FFF80000000000000000000FFFF80000000000000000000FFFF80000000000000000000F
2982 FFF80000000000000000000FFFF80000000000000000000FFFF80000000000000000000F
2983 FFF80000000000000000000FFFF80000000000000000000FFFF80000000000000000000F
2984 FFF80000000000000000000FFFF80000000000000000000FFFF80000000000000000000F
2985 FFF80000000000000000000FFFF80000000000000000000FFFF80000000000000000000F
2986 FFF80000000000000000000FFFF80000000000000000000FFFF80000000000000000000F
2987 FFF80000000000000000000FFFF80000000000000000000FFFF80000000000000000000F
2988 FFF80000000000000000000FFFF80000000000000000000FFFF80000000000000000000F
2989 FFF80000000000000000000FFFF80000000000000000000FFFF80000000000000000000F
2990 FFF80000000000000000000FFFF80000000000000000000FFFF80000000000000000000F
2991 FFF80000000000000000000FFFF80000000000000000000FFFF80000000000000000000F
2992 FFF80000000000000000000FFFF800007FF800000000000FFFF80003FFFFC0000000000F
2993 FFF8001FFFFFF0000000000FFFF8007FFFFFFC000000000FFFF800FFFFFFFF000000000F
2994 FFF803FE01FFFF800000000FFFF807F0007FFFC00000000FFFF80FC0003FFFE00000000F
2995 FFF81F00001FFFE00000000FFFF83E00001FFFF00000000FFFF87C00000FFFF80000000F
2996 FFF8F800000FFFF80000000FFFF8F0000007FFF80000000FFFF9E0000007FFFC0000000F
2997 FFF9E0000007FFFC0000000FFFFBC0000007FFFC0000000FFFFF80000003FFFC0000000F
2998 FFFF80000003FFFE0000000FFFFF00000003FFFE0000000FFFFF00000003FFFE0000000F
2999 FFFE00000003FFFE0000000FFFFE00000003FFFE0000000FFFFE00000003FFFE0000000F
3000 FFFC00000003FFFE0000000FFFFC00000003FFFE0000000FFFFC00000003FFFE0000000F
3001 FFFC00000003FFFE0000000FFFF800000003FFFE0000000FFFF800000003FFFE0000000F
3002 FFF800000003FFFE0000000FFFF800000003FFFE0000000FFFF800000003FFFE0000000F
3003 FFF800000003FFFE0000000FFFF800000003FFFE0000000FFFF800000003FFFE0000000F
3004 FFF800000003FFFE0000000FFFF800000003FFFE0000000FFFF800000003FFFE0000000F
3005 FFF800000003FFFE0000000FFFF800000003FFFE0000000FFFF800000003FFFE0000000F
3006 FFF800000003FFFE0000000FFFF800000003FFFE0000000FFFF800000003FFFE0000000F
3007 FFF800000003FFFE0000000FFFF800000003FFFE0000000FFFF800000003FFFE0000000F
3008 FFF800000003FFFE0000000FFFF800000003FFFE0000000FFFF800000003FFFE0000000F
3009 FFF800000003FFFE0000000FFFF800000003FFFE0000000FFFF800000003FFFE0000000F
3010 FFF800000003FFFE0000000FFFF800000003FFFE0000000FFFF800000003FFFE0000000F
3011 FFF800000003FFFE0000000FFFF800000003FFFE0000000FFFF800000003FFFE0000000F
3012 FFF800000003FFFE0000000FFFF800000003FFFE0000000FFFF800000003FFFE0000000F
3013 FFF800000003FFFE0000000FFFF800000003FFFE0000000FFFF800000003FFFE0000000F
3014 FFF800000003FFFE0000000FFFF800000003FFFE0000000FFFF800000003FFFE0000000F
3015 FFF800000003FFFE0000000FFFF800000003FFFE0000000FFFF800000003FFFE0000000F
3016 FFF800000003FFFE0000FFFFFFFFFF803FFFFFFFFFE0FFFFFFFFFF803FFFFFFFFFE0FFFF
3017 FFFFFF803FFFFFFFFFE0FFFFFFFFFF803FFFFFFFFFE0FFFFFFFFFF803FFFFFFFFFE0FFFF
3018 FFFFFF803FFFFFFFFFE05B787AF766>104 D<0003FFF80001FFF000000000FFFFFFF800
3019 1FFFFF00000000FFFFFFF800FFFFFFE0000000FFFFFFF803FFFFFFFC000000FFFFFFF80F
3020 FFFFFFFF000000FFFFFFF83FF801FFFFC00000FFFFFFF8FFC0003FFFE00000007FFFF9FE
3021 00001FFFF00000001FFFFBF8000007FFFC0000000FFFFFF0000003FFFE0000000FFFFFE0
3022 000001FFFF0000000FFFFF80000000FFFF8000000FFFFF000000007FFFC000000FFFFF00
3023 0000007FFFC000000FFFFE000000003FFFE000000FFFFC000000001FFFF000000FFFF800
3024 0000001FFFF000000FFFF8000000000FFFF800000FFFF8000000000FFFF800000FFFF800
3025 00000007FFFC00000FFFF80000000007FFFC00000FFFF80000000007FFFE00000FFFF800
3026 00000003FFFE00000FFFF80000000003FFFF00000FFFF80000000003FFFF00000FFFF800
3027 00000001FFFF00000FFFF80000000001FFFF00000FFFF80000000001FFFF80000FFFF800
3028 00000001FFFF80000FFFF80000000001FFFF80000FFFF80000000001FFFF80000FFFF800
3029 00000000FFFF80000FFFF80000000000FFFFC0000FFFF80000000000FFFFC0000FFFF800
3030 00000000FFFFC0000FFFF80000000000FFFFC0000FFFF80000000000FFFFC0000FFFF800
3031 00000000FFFFC0000FFFF80000000000FFFFC0000FFFF80000000000FFFFC0000FFFF800
3032 00000000FFFFC0000FFFF80000000000FFFFC0000FFFF80000000000FFFFC0000FFFF800
3033 00000000FFFFC0000FFFF80000000000FFFFC0000FFFF80000000000FFFFC0000FFFF800
3034 00000000FFFFC0000FFFF80000000001FFFF80000FFFF80000000001FFFF80000FFFF800
3035 00000001FFFF80000FFFF80000000001FFFF80000FFFF80000000001FFFF80000FFFF800
3036 00000001FFFF00000FFFF80000000003FFFF00000FFFF80000000003FFFF00000FFFF800
3037 00000003FFFE00000FFFF80000000007FFFE00000FFFF80000000007FFFE00000FFFF800
3038 00000007FFFC00000FFFF8000000000FFFFC00000FFFF8000000000FFFF800000FFFF800
3039 0000001FFFF800000FFFF8000000001FFFF000000FFFFC000000003FFFE000000FFFFE00
3040 0000003FFFE000000FFFFF000000007FFFC000000FFFFF00000000FFFF8000000FFFFF80
3041 000001FFFF0000000FFFFFC0000003FFFE0000000FFFFFF0000007FFFC0000000FFFFFF8
3042 00000FFFF80000000FFFF9FC00003FFFF00000000FFFF8FF0000FFFFC00000000FFFF87F
3043 F007FFFF000000000FFFF81FFFFFFFFC000000000FFFF807FFFFFFF0000000000FFFF801
3044 FFFFFFC0000000000FFFF8003FFFFE00000000000FFFF80007FFC000000000000FFFF800
3045 00000000000000000FFFF80000000000000000000FFFF80000000000000000000FFFF800
3046 00000000000000000FFFF80000000000000000000FFFF80000000000000000000FFFF800
3047 00000000000000000FFFF80000000000000000000FFFF80000000000000000000FFFF800
3048 00000000000000000FFFF80000000000000000000FFFF80000000000000000000FFFF800
3049 00000000000000000FFFF80000000000000000000FFFF80000000000000000000FFFF800
3050 00000000000000000FFFF80000000000000000000FFFF80000000000000000000FFFF800
3051 00000000000000000FFFF80000000000000000000FFFF80000000000000000000FFFF800
3052 00000000000000000FFFF80000000000000000000FFFF80000000000000000000FFFF800
3053 00000000000000000FFFF80000000000000000FFFFFFFFFF80000000000000FFFFFFFFFF
3054 80000000000000FFFFFFFFFF80000000000000FFFFFFFFFF80000000000000FFFFFFFFFF
3055 80000000000000FFFFFFFFFF800000000000005A6F7BCD66>112
3056 D<0003FFF0001FF000FFFFFFF0007FFE00FFFFFFF001FFFF80FFFFFFF007FFFFE0FFFFFF
3057 F00FFFFFF0FFFFFFF01FE07FF8FFFFFFF03F80FFFC007FFFF07E01FFFE001FFFF0FC01FF
3058 FE000FFFF0F803FFFF000FFFF1F003FFFF000FFFF1F003FFFF000FFFF3E003FFFF000FFF
3059 F3C003FFFF000FFFF3C003FFFF000FFFF78003FFFF000FFFF78001FFFE000FFFF70001FF
3060 FE000FFFFF0000FFFC000FFFFF00007FF8000FFFFE00001FE0000FFFFE00000300000FFF
3061 FE00000000000FFFFE00000000000FFFFC00000000000FFFFC00000000000FFFFC000000
3062 00000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFF800000000000FFF
3063 F800000000000FFFF800000000000FFFF800000000000FFFF800000000000FFFF8000000
3064 00000FFFF800000000000FFFF800000000000FFFF800000000000FFFF800000000000FFF
3065 F800000000000FFFF800000000000FFFF800000000000FFFF800000000000FFFF8000000
3066 00000FFFF800000000000FFFF800000000000FFFF800000000000FFFF800000000000FFF
3067 F800000000000FFFF800000000000FFFF800000000000FFFF800000000000FFFF8000000
3068 00000FFFF800000000000FFFF800000000000FFFF800000000000FFFF800000000000FFF
3069 F800000000000FFFF800000000000FFFF800000000000FFFF800000000000FFFF8000000
3070 00000FFFF800000000000FFFF800000000000FFFF800000000000FFFF800000000000FFF
3071 F800000000000FFFF800000000000FFFF800000000000FFFF800000000000FFFF8000000
3072 00FFFFFFFFFFF00000FFFFFFFFFFF00000FFFFFFFFFFF00000FFFFFFFFFFF00000FFFFFF
3073 FFFFF00000FFFFFFFFFFF00000404E7CCD49>114 D<000000FC00000000000000FC0000
3074 0000000000FC00000000000000FC00000000000000FC00000000000000FC000000000000
3075 00FC00000000000001FC00000000000001FC00000000000001FC00000000000001FC0000
3076 0000000001FC00000000000003FC00000000000003FC00000000000003FC000000000000
3077 07FC00000000000007FC00000000000007FC0000000000000FFC0000000000000FFC0000
3078 000000001FFC0000000000001FFC0000000000003FFC0000000000007FFC000000000000
3079 FFFC000000000000FFFC000000000001FFFC000000000003FFFC000000000007FFFC0000
3080 0000001FFFFC00000000003FFFFC0000000000FFFFFC000000000FFFFFFFFFFFFC00FFFF
3081 FFFFFFFFFC00FFFFFFFFFFFFFC00FFFFFFFFFFFFFC00FFFFFFFFFFFFFC00FFFFFFFFFFFF
3082 FC000007FFFC000000000007FFFC000000000007FFFC000000000007FFFC000000000007
3083 FFFC000000000007FFFC000000000007FFFC000000000007FFFC000000000007FFFC0000
3084 00000007FFFC000000000007FFFC000000000007FFFC000000000007FFFC000000000007
3085 FFFC000000000007FFFC000000000007FFFC000000000007FFFC000000000007FFFC0000
3086 00000007FFFC000000000007FFFC000000000007FFFC000000000007FFFC000000000007
3087 FFFC000000000007FFFC000000000007FFFC000000000007FFFC000000000007FFFC0000
3088 00000007FFFC000000000007FFFC000000000007FFFC000000000007FFFC000000000007
3089 FFFC000000000007FFFC000000000007FFFC000000000007FFFC000000000007FFFC0000
3090 00000007FFFC000000000007FFFC000000000007FFFC000000000007FFFC000000000007
3091 FFFC00001F800007FFFC00001F800007FFFC00001F800007FFFC00001F800007FFFC0000
3092 1F800007FFFC00001F800007FFFC00001F800007FFFC00001F800007FFFC00001F800007
3093 FFFC00001F800007FFFC00001F800007FFFC00001F800007FFFC00001F800007FFFC0000
3094 1F800007FFFC00001F800007FFFC00003F800003FFFC00003F000003FFFE00003F000003
3095 FFFE00003F000003FFFE00007E000001FFFF00007E000001FFFF0000FE000000FFFF8000
3096 FC0000007FFF8001F80000007FFFC003F80000003FFFE007F00000001FFFF80FE0000000
3097 07FFFFFFC000000003FFFFFF8000000000FFFFFE00000000001FFFF8000000000001FFC0
3098 0000396E7DEC47>116 D E
3099 %EndDVIPSBitmapFont
3100 %DVIPSBitmapFont: Fj ecrm1000 10 81
3101 /Fj 81 123 df<01800060038000E0070001C00E0003801C0007001800060038000E0030
3102 000C0070001C006000180060001800E0003800C0003000C0003000C0003000C0003000CE
3103 003380FF803FE0FFC03FF0FFC03FF0FFC03FF07FC01FF07FC01FF03F800FE00E0003801C
3104 1981B91C>16 D<1C0007007F001FC0FF803FE0FF803FE0FFC03FF0FFC03FF0FFC03FF07F
3105 C01FF01CC0073000C0003000C0003000C0003000C0003001C00070018000600180006003
3106 8000E0030000C0070001C0060001800E0003801C00070038000E0070001C00600018001C
3107 1980B91C>I<FFFFFFFFFF80FFFFFFFFFF80290280962A>21 D<00000FF800FC0000007F
3108 FF07FF000001F807DF83C00007E001FF0FC0001F8007FE1FE0003F000FFC1FE0007E000F
3109 FC1FE0007E000FF81FE000FC000FF81FE000FC000FF0078001F80007F0000001F80003F0
3110 000001F80003F0000001F80003F0000001F80003F0000001F80003F0000001F80003F000
3111 0001F80003F0000001F80003F0000001F80003F0000001F80003F0000001F80003F00000
3112 01F80003F00000FFFFFFFFFFF800FFFFFFFFFFF800FFFFFFFFFFF80001F80003F0000001
3113 F80003F0000001F80003F0000001F80003F0000001F80003F0000001F80003F0000001F8
3114 0003F0000001F80003F0000001F80003F0000001F80003F0000001F80003F0000001F800
3115 03F0000001F80003F0000001F80003F0000001F80003F0000001F80003F0000001F80003
3116 F0000001F80003F0000001F80003F0000001F80003F0000001F80003F0000001F80003F0
3117 000001F80003F0000001F80003F0000001F80003F0000001F80003F0000001F80003F000
3118 0001F80003F0000001F80003F0000003FC0007F800007FFFE0FFFFF0007FFFE0FFFFF000
3119 7FFFE0FFFFF000333B7FBA30>27 D<00000FF8000000007FFE00000001F80780000007E0
3120 01C000001F8000E000003F0007E000007E000FF000007E000FF00000FC000FF00000FC00
3121 0FF00001F8000FF00001F80007E00001F80001800001F80000000001F80000000001F800
3122 00000001F80000000001F80000000001F80000000001F80000000001F80000000001F800
3123 00000001F80003F000FFFFFFFFF000FFFFFFFFF000FFFFFFFFF00001F8000FF00001F800
3124 03F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F800
3125 03F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F800
3126 03F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F800
3127 03F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F800
3128 03F00001F80003F00001F80003F00001F80003F00003FC0007F8007FFFE0FFFFC07FFFE0
3129 FFFFC07FFFE0FFFFC02A3B7FBA2E>I<00000FFC000000007FFF70000001F803F0000007
3130 E007F000001F800FF000003F000FF000007E000FF000007E000FF00000FC000FF00000FC
3131 0007F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F8
3132 0003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F8
3133 0003F00001F80003F000FFFFFFFFF000FFFFFFFFF000FFFFFFFFF00001F80003F00001F8
3134 0003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F8
3135 0003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F8
3136 0003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F8
3137 0003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F8
3138 0003F00001F80003F00001F80003F00001F80003F00003FC0007F8007FFFE0FFFFC07FFF
3139 E0FFFFC07FFFE0FFFFC02A3B7FBA2E>I<00000FF0001FF0000000007FFE00FFFC000000
3140 01F80F83F00F00000007E001CFC0038000001F8000FF0001C000003F0007FE000FC00000
3141 7E000FFC001FE000007E000FFC001FE00000FC000FF8001FE00000FC000FF8001FE00001
3142 F8000FF0001FE00001F80007F0000FC00001F80003F00003000001F80003F00000000001
3143 F80003F00000000001F80003F00000000001F80003F00000000001F80003F00000000001
3144 F80003F00000000001F80003F00000000001F80003F00000000001F80003F00000000001
3145 F80003F00007E000FFFFFFFFFFFFFFE000FFFFFFFFFFFFFFE000FFFFFFFFFFFFFFE00001
3146 F80003F0001FE00001F80003F00007E00001F80003F00007E00001F80003F00007E00001
3147 F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F00007E00001
3148 F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F00007E00001
3149 F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F00007E00001
3150 F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F00007E00001
3151 F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F00007E00001
3152 F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F00007E00001
3153 F80003F00007E00003FC0007F8000FF0007FFFE0FFFFC1FFFF807FFFE0FFFFC1FFFF807F
3154 FFE0FFFFC1FFFF80413B7FBA45>I<1C007F00FF80FF80FF80FF80FF80FF80FF80FF807F
3155 007F007F007F007F007F007F007F007F007F007F003E003E003E003E003E003E003E003E
3156 003E003E003E001C001C001C001C001C001C001C001C001C001C001C0000000000000000
3157 0000000000000000001C007F00FF80FF80FF80FF80FF807F001C00093C79BB17>33
3158 D<0000000C000180000000000C000180000000001C000380000000001800030000000000
3159 180003000000000018000300000000003800070000000000300006000000000030000600
3160 00000000300006000000000070000E000000000060000C000000000060000C0000000000
3161 60000C0000000000E0001C0000000000C000180000000000C000180000000000C0001800
3162 00000001C000380000000001800030000000000180003000000000018000300000000003
3163 80007000000000030000600000000003000060000000000300006000000000070000E000
3164 007FFFFFFFFFFFFF80FFFFFFFFFFFFFFC000000C000180000000000C000180000000001C
3165 000380000000001800030000000000180003000000000018000300000000001800030000
3166 000000380007000000000030000600000000003000060000000000300006000000000030
3167 00060000000000300006000000000070000E000000000060000C000000000060000C0000
3168 00FFFFFFFFFFFFFFC07FFFFFFFFFFFFF800001C000380000000001800030000000000180
3169 003000000000018000300000000003800070000000000300006000000000030000600000
3170 00000300006000000000070000E000000000060000C000000000060000C0000000000600
3171 00C0000000000E0001C0000000000C000180000000000C000180000000000C0001800000
3172 00001C000380000000001800030000000000180003000000000018000300000000003800
3173 07000000000030000600000000003000060000000000300006000000000070000E000000
3174 000060000C000000000060000C000000003A4A7BB945>35 D<1C007F00FF80FF80FFC0FF
3175 C0FFC07FC01CC000C000C000C000C001C00180018003800300070006000E001C00380070
3176 0060000A1979B917>39 D<0000600000E00001C0000380000700000E00001E00003C0000
3177 780000780000F00001E00001E00003C00003C00007C0000780000F80000F00000F00001F
3178 00001E00001E00003E00003E00003E00007C00007C00007C00007C00007C00007C0000F8
3179 0000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F8
3180 0000F80000F80000F80000F80000F800007C00007C00007C00007C00007C00007C00003E
3181 00003E00003E00001E00001E00001F00000F00000F00000F800007800007C00003C00003
3182 C00001E00001E00000F000007800007800003C00001E00000E000007000003800001C000
3183 00E0000060135278BD20>I<C00000E000007000003800001C00000E00000F0000078000
3184 03C00003C00001E00000F00000F000007800007800007C00003C00003E00001E00001E00
3185 001F00000F00000F00000F80000F80000F800007C00007C00007C00007C00007C00007C0
3186 0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0
3187 0003E00003E00003E00003E00003E00003E00007C00007C00007C00007C00007C00007C0
3188 000F80000F80000F80000F00000F00001F00001E00001E00003E00003C00007C00007800
3189 00780000F00000F00001E00003C00003C0000780000F00000E00001C0000380000700000
3190 E00000C0000013527CBD20>I<1C007F00FF80FF80FFC0FFC0FFC07FC01CC000C000C000
3191 C000C001C00180018003800300070006000E001C003800700060000A19798817>44
3192 D<FFFFFCFFFFFCFFFFFCFFFFFCFFFFFC16057F941C>I<1C007F00FF80FF80FF80FF80FF
3193 807F001C000909798817>I<00000006000000060000000E0000000C0000000C0000001C
3194 00000018000000380000003000000030000000700000006000000060000000E0000000C0
3195 000000C0000001C000000180000001800000038000000300000007000000060000000600
3196 00000E0000000C0000000C0000001C000000180000001800000038000000300000003000
3197 00007000000060000000E0000000C0000000C0000001C000000180000001800000038000
3198 0003000000030000000700000006000000060000000E0000000C0000001C000000180000
3199 0018000000380000003000000030000000700000006000000060000000E0000000C00000
3200 00C0000001C0000001800000038000000300000003000000070000000600000006000000
3201 0E0000000C0000000C0000001C0000001800000018000000380000003000000070000000
3202 6000000060000000E0000000C0000000C00000001F537BBD2A>I<0003F80000001FFF00
3203 00007E0FC00000F803E00001E000F00003C000780007C0007C000F80003E000F80003E00
3204 1F00001F001F00001F003F00001F803F00001F803F00001F807E00000FC07E00000FC07E
3205 00000FC07E00000FC07E00000FC0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00
3206 000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE0000
3207 0FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000F
3208 E07E00000FC07E00000FC07E00000FC07E00000FC07F00001FC03F00001F803F00001F80
3209 3F00001F801F00001F001F00001F000F80003E000F80003E0007C0007C0003E000F80003
3210 F001F80000F803E000007E0FC000001FFF00000003F8000023397DB62A>I<0001C00000
3211 03C0000007C000001FC00000FFC000FFFFC000FFFFC000FF1FC000001FC000001FC00000
3212 1FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC00000
3213 1FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC00000
3214 1FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC00000
3215 1FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC00000
3216 1FC000001FC000001FC000001FC000001FC000003FE0007FFFFFF07FFFFFF07FFFFFF01C
3217 3779B62A>I<000FF00000007FFE000001FFFF800003E03FE0000F000FF0001E0007F800
3218 1C0003FC00380001FE00700001FE00700000FF00600000FF00FE0000FF00FF00007F80FF
3219 80007F80FF80007F80FF80007F80FF80007F80FF80007F807F00007F801C00007F800000
3220 007F80000000FF00000000FF00000000FE00000001FE00000001FC00000003FC00000003
3221 F800000007F00000000FE00000000FC00000001F800000003F000000007E00000000FC00
3222 000001F800000001E000000003C000000007800000000F000000001E000180003C000180
3223 007800018000F000038001E000030003C0000300078000030007000007000FFFFFFF001F
3224 FFFFFF003FFFFFFF007FFFFFFE00FFFFFFFE00FFFFFFFE00FFFFFFFE0021377CB62A>I<
3225 0007F80000003FFF000000FFFFC00001F80FF00003C007F800078003FC000E0001FE000F
3226 8001FE001FE000FF001FF000FF001FF000FF001FF000FF001FF000FF001FF000FF000FE0
3227 00FF0007C000FF00000001FE00000001FE00000001FC00000003FC00000003F800000007
3228 F000000007E00000000F800000007F0000001FFC0000001FFF800000000FE000000007F0
3229 00000001FC00000001FE00000000FF000000007F800000007F800000007FC00000007FC0
3230 0000003FC00000003FE00000003FE01E00003FE07F80003FE07F80003FE0FFC0003FE0FF
3231 C0003FE0FFC0003FE0FFC0003FC0FFC0007FC0FF80007F807E00007F80700000FF003800
3232 01FE001E0001FE000F8003F80007F00FF00001FFFFC000007FFF0000000FF8000023397D
3233 B62A>I<000000380000000038000000007800000000F800000000F800000001F8000000
3234 03F800000007F800000007F80000000FF80000001FF80000001BF800000033F800000073
3235 F800000063F8000000C3F8000001C3F800000183F800000303F800000703F800000603F8
3236 00000C03F800001C03F800001803F800003003F800007003F800006003F80000C003F800
3237 01C003F800038003F800030003F800070003F8000E0003F8000C0003F800180003F80038
3238 0003F800300003F800600003F800E00003F800FFFFFFFFF8FFFFFFFFF8FFFFFFFFF80000
3239 03F800000003F800000003F800000003F800000003F800000003F800000003F800000003
3240 F800000003F800000003F800000007FC000003FFFFF80003FFFFF80003FFFFF825387EB7
3241 2A>I<0600000C000780003C0007F003F80007FFFFF80007FFFFF00007FFFFE00007FFFF
3242 800007FFFF000007FFFC0000067FE0000006000000000600000000060000000006000000
3243 000600000000060000000006000000000600000000060000000006000000000607F80000
3244 061FFE000006780F800006E007E00007C003F000078001F800070001F800060000FC0006
3245 0000FE00000000FE00000000FF000000007F000000007F000000007F800000007F800000
3246 007F800000007F801C00007F807F00007F80FF00007F80FF80007F80FF80007F80FF8000
3247 7F80FF00007F00FF0000FF00FC0000FF00600000FE00700000FE00700001FC00380001F8
3248 001C0003F8001E0007F0000F800FE00007E03F800001FFFF0000007FFC0000001FE00000
3249 21397CB62A>I<00003FC0000001FFF0000007FFFC00000FE03E00003F800700007E001F
3250 0000FC003F8001F8007F8003F0007F8007F0007F8007E0007F800FE0003F000FC0001E00
3251 1FC00000001F800000003F800000003F800000003F800000007F800000007F000000007F
3252 01FC00007F07FF8000FF1E07E000FF3801F000FF7000F800FF6000FC00FFE0007E00FFC0
3253 003F00FFC0003F80FF80003F80FF80001FC0FF80001FC0FF80001FC0FF00001FE0FF0000
3254 1FE0FF00001FE0FF00001FE0FF00001FE07F00001FE07F00001FE07F00001FE07F00001F
3255 E07F80001FE03F80001FE03F80001FC03F80001FC01F80003F801FC0003F800FC0003F00
3256 0FE0007F0007E000FE0003F000FC0001F801F80000FE07F000007FFFC000001FFF000000
3257 03FC000023397DB62A>I<300000000038000000003E000000003FFFFFFFE03FFFFFFFE0
3258 3FFFFFFFE03FFFFFFFC07FFFFFFFC07FFFFFFF807FFFFFFF0070000006006000000E0060
3259 00001C006000003800E000003000C000007000C00000E000C00000C000000001C0000000
3260 0380000000070000000006000000000E000000001C000000001C00000000380000000078
3261 000000007000000000F000000000E000000001E000000001E000000003E000000003C000
3262 000007C000000007C00000000FC00000000FC00000000FC00000001FC00000001F800000
3263 001F800000003F800000003F800000003F800000003F800000003F800000007F80000000
3264 7F800000007F800000007F800000007F800000007F800000007F800000007F800000007F
3265 800000003F000000001E000000233A7BB72A>I<0003F80000001FFF0000007FFFC00000
3266 FC07F00001E001F80003C0007C000780003C000700003E000F00001E000E00001F001E00
3267 000F001E00000F001E00000F001F00000F001F00000F001F80001F001FC0001E001FE000
3268 1E000FF8003C000FFC007C000FFF00780007FF80F00003FFE3E00003FFF7800000FFFF00
3269 00007FFE0000003FFF8000000FFFE000003FFFF00000F9FFF80001E07FFE0003C03FFF00
3270 0F800FFF001F0007FF801E0001FFC03C0000FFC07C00003FC07800001FE07800000FE0F8
3271 000007E0F0000003E0F0000003E0F0000001E0F0000001E0F0000001E0F8000001C0F800
3272 0001C078000003C07C000003803E000007801F00000F000F80001E0007E0007C0003F803
3273 F00000FFFFE000003FFF80000007FC000023397DB62A>I<0003F80000001FFF0000007F
3274 FFC00001FC07E00003F803F00007E001F8000FE000FC001FC0007E001F80007E003F8000
3275 3F003F80003F007F00003F807F00003F80FF00003F80FF00001FC0FF00001FC0FF00001F
3276 C0FF00001FC0FF00001FC0FF00001FE0FF00001FE0FF00001FE0FF00001FE0FF00001FE0
3277 7F00003FE07F00003FE07F00003FE03F80003FE03F80007FE01F80007FE00FC000FFE007
3278 E000DFE003E001DFE001F0039FE000FC0F1FE0003FFC1FC00007F01FC00000001FC00000
3279 001FC00000003FC00000003F800000003F800000003F000000007F000F00007F001F8000
3280 7E003FC000FC003FC000FC003FC001F8003FC003F0003F8007E0001F000FE0001C001F80
3281 000F807F000007FFFE000001FFF80000003FC0000023397DB62A>I<1C007F00FF80FF80
3282 FF80FF80FF807F001C000000000000000000000000000000000000000000000000000000
3283 000000000000000000001C007F00FF80FF80FF80FF80FF807F001C00092479A317>I<1C
3284 007F00FF80FF80FF80FF80FF807F001C0000000000000000000000000000000000000000
3285 00000000000000000000000000000000001C007F00FF80FF80FFC0FFC0FFC07FC01CC000
3286 C000C000C000C001C00180018003800300070006000E001C003800700060000A3479A317
3287 >I<003FE00001FFFE0007C03F800E000FC03C0007F0300003F0700003F87C0001F8FE00
3288 01FCFF0001FCFF0001FCFF0001FCFF0001FC7E0001FC3C0003F8000003F8000007F00000
3289 07F000000FE000001F8000003F0000007E0000007C000000F8000001F0000001E0000003
3290 C00000038000000380000007000000070000000700000006000000060000000600000006
3291 000000060000000600000006000000060000000600000006000000000000000000000000
3292 00000000000000000000000000000000000000000000000E0000003F8000007FC000007F
3293 C000007FC000007FC000007FC000003F8000000E00001E3B7CBA27>63
3294 D<000003FF00000000001FFFE000000000FC00FC00000001E0001E000000078000078000
3295 001E000001E000003800000070000070000000380000E00000001C0001C00000000E0003
3296 80000000070003000000000300070001FC0003800E0007FF0001C00C001F03C000C01C00
3297 7E00E000E01800FC007000603801F8003800703001F0001C00303003F0000FE0307007E0
3298 0007E0386007E00007E018600FC00007E018600FC00007E018E00FC00007E01CC01F8000
3299 07E00CC01F800007E00CC01F800007E00CC01F800007E00CC01F800007E00CC01F800007
3300 E00CC01F800007E00CC01F800007E00CC01F800007E00CC01F800007E00CE00FC00007E0
3301 0C600FC00007E00C600FC00007E00C6007E00007E01C7007E00007E0183003F0000FE018
3302 3001F0001FE0183801F8003FE0381800FC0077E0301C007E00E3F0700C001F03C1F0E00E
3303 0007FF00FFC0070001FC003F00030000000000000380000000000001C0000000000000E0
3304 0000000000007000000000000038000000007C001E00000003FC00078000001FF00001E0
3305 0000FF800000FC003FFC0000001FFFFF8000000003FFE00000363C7BBA41>I<00000038
3306 00000000000038000000000000380000000000007C0000000000007C0000000000007C00
3307 0000000000FE000000000000FE000000000000FE000000000001FF000000000001FF0000
3308 00000001FF0000000000037F8000000000037F8000000000077FC000000000063FC00000
3309 0000063FC0000000000E3FE0000000000C1FE0000000000C1FE0000000001C1FF0000000
3310 00180FF000000000180FF000000000380FF8000000003007F8000000003007F800000000
3311 7007FC000000006003FC000000006003FC00000000C003FE00000000C001FE00000000C0
3312 01FE000000018001FF000000018000FF000000018000FF000000030000FF800000030000
3313 7F8000000300007F8000000600007FC0000007FFFFFFC0000007FFFFFFC000000FFFFFFF
3314 E000000C00001FE000000C00001FE000001800000FF000001800000FF000001800000FF0
3315 000030000007F8000030000007F8000030000007F8000060000003FC000060000003FC00
3316 00E0000003FC0000E0000001FE0001E0000001FE0003F0000001FF000FFC000007FF80FF
3317 FF8000FFFFFEFFFF8000FFFFFEFFFF8000FFFFFE373C7DBB3E>I<FFFFFFFFE00000FFFF
3318 FFFFFC0000FFFFFFFFFF000001FF80007FC00000FF00001FE00000FF00000FF00000FF00
3319 0007F80000FF000003FC0000FF000003FC0000FF000001FE0000FF000001FE0000FF0000
3320 01FF0000FF000001FF0000FF000001FF0000FF000001FF0000FF000001FF0000FF000001
3321 FF0000FF000001FF0000FF000001FE0000FF000003FE0000FF000003FC0000FF000007F8
3322 0000FF00000FF00000FF00001FE00000FF00003FC00000FF0000FF800000FFFFFFFC0000
3323 00FFFFFFFC000000FF00007F800000FF00001FE00000FF000007F00000FF000003F80000
3324 FF000001FC0000FF000001FE0000FF000000FF0000FF000000FF0000FF000000FF8000FF
3325 0000007F8000FF0000007FC000FF0000007FC000FF0000007FC000FF0000007FC000FF00
3326 00007FC000FF0000007FC000FF0000007FC000FF0000007F8000FF000000FF8000FF0000
3327 00FF8000FF000001FF0000FF000001FE0000FF000003FE0000FF000007FC0000FF00001F
3328 F80001FF80007FF000FFFFFFFFFFC000FFFFFFFFFF0000FFFFFFFFF8000032397DB83B>
3329 I<000001FF80018000000FFFE0038000007FFFF803800001FF807E07800003FC000F0F80
3330 000FF000039F80001FE00001DF80003F800000FF80007F0000007F8000FE0000003F8001
3331 FE0000003F8003FC0000001F8007F80000000F8007F80000000F800FF000000007800FF0
3332 00000007801FE000000007801FE000000003803FE000000003803FC000000003807FC000
3333 000001807FC000000001807FC000000001807F800000000180FF800000000000FF800000
3334 000000FF800000000000FF800000000000FF800000000000FF800000000000FF80000000
3335 0000FF800000000000FF800000000000FF800000000000FF800000000000FF8000000000
3336 00FF8000000000007F8000000000007FC000000001807FC000000001807FC00000000180
3337 3FC000000001803FE000000001801FE000000003801FE000000003000FF000000003000F
3338 F0000000070007F8000000070007F8000000060003FC0000000E0001FE0000001C0000FE
3339 0000001800007F0000003800003F8000007000001FE00000E000000FF00003C0000003FC
3340 000F80000001FF803F000000007FFFFC000000000FFFF00000000001FF800000313D7BBA
3341 3C>I<FFFFFFFFC00000FFFFFFFFF80000FFFFFFFFFE000001FF8001FF800000FF00003F
3342 E00000FF00000FF00000FF000003F80000FF000001FC0000FF000000FE0000FF0000007F
3343 0000FF0000007F0000FF0000003F8000FF0000003FC000FF0000001FC000FF0000001FE0
3344 00FF0000000FE000FF0000000FF000FF0000000FF000FF0000000FF000FF00000007F800
3345 FF00000007F800FF00000007F800FF00000007F800FF00000007FC00FF00000007FC00FF
3346 00000007FC00FF00000007FC00FF00000007FC00FF00000007FC00FF00000007FC00FF00
3347 000007FC00FF00000007FC00FF00000007FC00FF00000007FC00FF00000007FC00FF0000
3348 0007F800FF00000007F800FF00000007F800FF00000007F800FF0000000FF000FF000000
3349 0FF000FF0000000FE000FF0000000FE000FF0000001FE000FF0000001FC000FF0000003F
3350 8000FF0000003F8000FF0000007F0000FF000000FE0000FF000001FC0000FF000003F800
3351 00FF00000FF00000FF00003FE00001FF8000FF8000FFFFFFFFFF0000FFFFFFFFF80000FF
3352 FFFFFFC0000036397DB83F>I<FFFFFFFFFFFE00FFFFFFFFFFFE00FFFFFFFFFFFE0001FF
3353 800007FE0000FF000000FE0000FF0000003F0000FF0000001F0000FF0000000F0000FF00
3354 0000070000FF000000070000FF000000070000FF000000030000FF000000030000FF0000
3355 00030000FF000000038000FF000000018000FF0000C0018000FF0000C0018000FF0000C0
3356 018000FF0000C0000000FF0000C0000000FF0000C0000000FF0001C0000000FF0001C000
3357 0000FF0003C0000000FF000FC0000000FFFFFFC0000000FFFFFFC0000000FFFFFFC00000
3358 00FF000FC0000000FF0003C0000000FF0001C0000000FF0001C0000000FF0000C0000000
3359 FF0000C0000000FF0000C0006000FF0000C0006000FF0000C0006000FF0000C000E000FF
3360 00000000C000FF00000000C000FF00000000C000FF00000000C000FF00000001C000FF00
3361 000001C000FF00000001C000FF000000038000FF000000038000FF000000078000FF0000
3362 00078000FF0000000F8000FF0000003F8000FF0000007F8001FF800007FF00FFFFFFFFFF
3363 FF00FFFFFFFFFFFF00FFFFFFFFFFFF0033397EB838>I<FFFFFFFFFFF8FFFFFFFFFFF8FF
3364 FFFFFFFFF801FF80001FF800FF000001F800FF000000FC00FF0000007C00FF0000003C00
3365 FF0000001C00FF0000001C00FF0000000C00FF0000000C00FF0000000C00FF0000000C00
3366 FF0000000E00FF0000000600FF0000000600FF0001800600FF0001800600FF0001800000
3367 FF0001800000FF0001800000FF0001800000FF0003800000FF0003800000FF0007800000
3368 FF001F800000FFFFFF800000FFFFFF800000FFFFFF800000FF001F800000FF0007800000
3369 FF0003800000FF0003800000FF0001800000FF0001800000FF0001800000FF0001800000
3370 FF0001800000FF0001800000FF0000000000FF0000000000FF0000000000FF0000000000
3371 FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000
3372 FF0000000000FF0000000000FF0000000001FFC0000000FFFFFFC00000FFFFFFC00000FF
3373 FFFFC000002F397DB836>I<000000FF8000C000000FFFF001C000003FFFFC01C00000FF
3374 803F03C00003FC000787C0000FF00003CFC0001FE00000EFC0003FC000007FC0007F8000
3375 003FC000FF0000001FC001FE0000001FC003FC0000000FC007F800000007C007F8000000
3376 07C00FF000000003C00FF000000003C01FE000000003C01FE000000001C03FE000000001
3377 C03FC000000001C07FC000000000C07FC000000000C07FC000000000C07FC000000000C0
3378 FF800000000000FF800000000000FF800000000000FF800000000000FF800000000000FF
3379 800000000000FF800000000000FF800000000000FF800000000000FF800000000000FF80
3380 0000000000FF800000FFFFFFFF800000FFFFFF7FC00000FFFFFF7FC00000007FE07FC000
3381 00003FC07FC00000003FC03FC00000003FC03FE00000003FC01FE00000003FC01FE00000
3382 003FC00FF00000003FC00FF00000003FC007F80000003FC007F80000003FC003FC000000
3383 3FC001FE0000003FC000FF0000007FC0007F8000007FC0003FC00000FFC0001FE00000EF
3384 C0000FF80003C7C00003FE000783C00000FFC03F01C000003FFFFC00C000000FFFF00000
3385 000000FF800000383D7CBA41>I<FFFFFF01FFFFFEFFFFFF01FFFFFEFFFFFF01FFFFFE01
3386 FF800003FF0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF
3387 000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF00
3388 0001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF0000
3389 01FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001
3390 FE0000FF000001FE0000FF000001FE0000FFFFFFFFFE0000FFFFFFFFFE0000FFFFFFFFFE
3391 0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE00
3392 00FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000
3393 FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF
3394 000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF00
3395 0001FE0000FF000001FE0000FF000001FE0000FF000001FE0001FF800003FF00FFFFFF01
3396 FFFFFEFFFFFF01FFFFFEFFFFFF01FFFFFE37397DB83E>I<FFFFFFC0FFFFFFC0FFFFFFC0
3397 00FFC000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000
3398 007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000
3399 007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000
3400 007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000
3401 007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000
3402 007F8000007F8000007F8000007F8000007F800000FFC000FFFFFFC0FFFFFFC0FFFFFFC0
3403 1A397EB81E>I<FFFFFF0001FFFF00FFFFFF0001FFFF00FFFFFF0001FFFF0001FF800000
3404 7FF00000FF0000003F800000FF0000003E000000FF0000003C000000FF00000038000000
3405 FF00000070000000FF000000E0000000FF000001C0000000FF00000380000000FF000007
3406 00000000FF00000E00000000FF00001C00000000FF00003800000000FF00007000000000
3407 FF0000E000000000FF0001C000000000FF00078000000000FF000E0000000000FF001C00
3408 00000000FF003E0000000000FF007E0000000000FF00FF0000000000FF01FF0000000000
3409 FF03FF8000000000FF077FC000000000FF0E7FC000000000FF1C3FE000000000FF381FF0
3410 00000000FF701FF000000000FFE00FF800000000FFC007FC00000000FF8007FC00000000
3411 FF0003FE00000000FF0001FF00000000FF0001FF00000000FF0000FF80000000FF00007F
3412 C0000000FF00007FC0000000FF00003FE0000000FF00001FF0000000FF00001FF0000000
3413 FF00000FF8000000FF00000FF8000000FF000007FC000000FF000003FE000000FF000003
3414 FE000000FF000001FF000000FF000000FF800000FF000000FFC00000FF000000FFE00001
3415 FF800001FFF000FFFFFF001FFFFF80FFFFFF001FFFFF80FFFFFF001FFFFF8039397DB841
3416 >75 D<FFFFFFE00000FFFFFFE00000FFFFFFE0000001FFC000000000FF0000000000FF00
3417 00000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00
3418 00000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00
3419 00000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00
3420 00000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00
3421 00000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00
3422 00001800FF0000001800FF0000001800FF0000001800FF0000001800FF0000003800FF00
3423 00003000FF0000003000FF0000003000FF0000007000FF0000007000FF0000007000FF00
3424 0000F000FF000000F000FF000001F000FF000003F000FF00000FF000FF00001FE001FF80
3425 00FFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE02D397DB834>I<FFFF0000000007FF
3426 F8FFFF800000000FFFF8FFFF800000000FFFF801FF800000000FFC0000DFC00000001BF8
3427 0000DFC00000001BF80000CFE000000033F80000CFE000000033F80000CFE000000033F8
3428 0000C7F000000063F80000C7F000000063F80000C7F000000063F80000C3F8000000C3F8
3429 0000C3F8000000C3F80000C1FC00000183F80000C1FC00000183F80000C1FC00000183F8
3430 0000C0FE00000303F80000C0FE00000303F80000C07F00000603F80000C07F00000603F8
3431 0000C07F00000603F80000C03F80000C03F80000C03F80000C03F80000C03F80000C03F8
3432 0000C01FC0001803F80000C01FC0001803F80000C00FE0003003F80000C00FE0003003F8
3433 0000C00FE0003003F80000C007F0006003F80000C007F0006003F80000C003F800C003F8
3434 0000C003F800C003F80000C003F800C003F80000C001FC018003F80000C001FC018003F8
3435 0000C001FC018003F80000C000FE030003F80000C000FE030003F80000C0007F060003F8
3436 0000C0007F060003F80000C0007F060003F80000C0003F8C0003F80000C0003F8C0003F8
3437 0000C0001FD80003F80000C0001FD80003F80000C0001FD80003F80000C0000FF00003F8
3438 0000C0000FF00003F80000C0000FF00003F80001E00007E00003F80003F00007E00003F8
3439 000FFC0003C00007FC00FFFFC003C003FFFFF8FFFFC003C003FFFFF8FFFFC0018003FFFF
3440 F845397DB84C>I<FFFF000007FFFEFFFF800007FFFEFFFFC00007FFFE00FFC000007FE0
3441 00FFE000001F8000DFF000000F0000DFF00000060000CFF80000060000C7FC0000060000
3442 C7FC0000060000C3FE0000060000C1FF0000060000C1FF0000060000C0FF8000060000C0
3443 7FC000060000C07FC000060000C03FE000060000C01FF000060000C01FF800060000C00F
3444 F800060000C007FC00060000C007FE00060000C003FE00060000C001FF00060000C001FF
3445 80060000C000FF80060000C0007FC0060000C0007FE0060000C0003FE0060000C0001FF0
3446 060000C0000FF8060000C0000FF8060000C00007FC060000C00003FE060000C00003FE06
3447 0000C00001FF060000C00000FF860000C00000FF860000C000007FC60000C000003FE600
3448 00C000003FE60000C000001FF60000C000000FFE0000C000000FFE0000C0000007FE0000
3449 C0000003FE0000C0000003FE0000C0000001FE0000C0000000FE0000C0000000FE0000C0
3450 0000007E0001E00000003E0003F00000003E000FFC0000001E00FFFFC000000E00FFFFC0
3451 00000E00FFFFC00000060037397DB83E>I<000003FF00000000001FFFE000000000FE01
3452 FC00000001F8007E00000007E0001F8000000FC0000FC000003F800007F000007F000003
3453 F80000FE000001FC0001FC000000FE0001F80000007E0003F80000007F0007F00000003F
3454 8007F00000003F800FE00000001FC00FE00000001FC01FE00000001FE01FC00000000FE0
3455 3FC00000000FF03FC00000000FF03FC00000000FF07FC00000000FF87F8000000007F87F
3456 8000000007F87F8000000007F8FF8000000007FCFF8000000007FCFF8000000007FCFF80
3457 00000007FCFF8000000007FCFF8000000007FCFF8000000007FCFF8000000007FCFF8000
3458 000007FCFF8000000007FCFF8000000007FCFF8000000007FC7F8000000007F87FC00000
3459 000FF87FC00000000FF87FC00000000FF83FC00000000FF03FC00000000FF01FE0000000
3460 1FE01FE00000001FE01FE00000001FE00FF00000003FC007F00000003F8007F80000007F
3461 8003F80000007F0001FC000000FE0001FC000000FE0000FE000001FC00007F000003F800
3462 003F800007F000001FC0000FE0000007E0001F80000003F8007F00000000FE01FC000000
3463 001FFFE00000000003FF000000363D7BBA41>I<FFFFFFFFC00000FFFFFFFFFC0000FFFF
3464 FFFFFF000001FF8000FFC00000FF00001FE00000FF00000FF00000FF000003F80000FF00
3465 0003FC0000FF000001FE0000FF000001FE0000FF000000FF0000FF000000FF0000FF0000
3466 00FF8000FF000000FF8000FF000000FF8000FF000000FF8000FF000000FF8000FF000000
3467 FF8000FF000000FF8000FF000000FF0000FF000000FF0000FF000001FE0000FF000001FE
3468 0000FF000003FC0000FF000003F80000FF00000FF00000FF00001FE00000FF0000FF8000
3469 00FFFFFFFE000000FFFFFFF0000000FF000000000000FF000000000000FF000000000000
3470 FF000000000000FF000000000000FF000000000000FF000000000000FF000000000000FF
3471 000000000000FF000000000000FF000000000000FF000000000000FF000000000000FF00
3472 0000000000FF000000000000FF000000000000FF000000000000FF000000000000FF0000
3473 00000000FF000000000000FF000000000000FF000000000000FF000000000001FF800000
3474 0000FFFFFF00000000FFFFFF00000000FFFFFF0000000031397EB838>I<FFFFFFFE0000
3475 0000FFFFFFFFE0000000FFFFFFFFF800000001FF8007FE00000000FF0000FF80000000FF
3476 00003FC0000000FF00001FE0000000FF00000FF0000000FF000007F8000000FF000007F8
3477 000000FF000003FC000000FF000003FC000000FF000003FE000000FF000003FE000000FF
3478 000003FE000000FF000003FE000000FF000003FE000000FF000003FE000000FF000003FC
3479 000000FF000003FC000000FF000007F8000000FF000007F8000000FF00000FF0000000FF
3480 00001FE0000000FF00003F80000000FF0000FF00000000FF0007FC00000000FFFFFFE000
3481 000000FFFFFFC000000000FF000FF000000000FF0003F800000000FF0000FE00000000FF
3482 0000FF00000000FF00007F80000000FF00003FC0000000FF00003FC0000000FF00001FC0
3483 000000FF00001FE0000000FF00001FE0000000FF00001FE0000000FF00001FE0000000FF
3484 00001FE0000000FF00001FF0000000FF00001FF0000000FF00001FF0000000FF00001FF0
3485 000000FF00001FF0000000FF00001FF0000000FF00001FF0018000FF00001FF0018000FF
3486 00001FF8018000FF00000FF8018000FF00000FF8038001FF800007F80300FFFFFF0003FC
3487 0700FFFFFF0001FC0600FFFFFF0000FE0E0000000000003FFC00000000000007F000393B
3488 7DB83D>82 D<000FF800C0003FFE01C000FFFF81C003F807E3C007E000F7C00FC0007FC0
3489 1F80003FC03F00001FC03E00000FC07E000007C07E000007C07C000003C0FC000003C0FC
3490 000001C0FC000001C0FC000001C0FE000000C0FE000000C0FE000000C0FF000000C0FF80
3491 0000007FC00000007FE00000007FF80000003FFF8000001FFFF800001FFFFF80000FFFFF
3492 E00007FFFFF80003FFFFFE0000FFFFFF00003FFFFF800007FFFFC000007FFFC0000007FF
3493 E00000007FE00000003FF00000001FF00000000FF000000007F800000007F8C0000003F8
3494 C0000003F8C0000001F8C0000001F8C0000001F8E0000001F8E0000001F8E0000001F0F0
3495 000001F0F0000003F0F8000003E0FC000007E0FE000007C0FF00000FC0FF80001F80FBF0
3496 003F00F0FE00FE00E03FFFF800E00FFFE000C001FF0000253D7CBA2E>I<3FFFFFFFFFFF
3497 E03FFFFFFFFFFFE03FFFFFFFFFFFE03FC003FF001FE03E0001FE0003E07C0001FE0001F0
3498 780001FE0000F0700001FE000070700001FE000070700001FE000070600001FE00003060
3499 0001FE000030600001FE000030600001FE000030E00001FE000038C00001FE000018C000
3500 01FE000018C00001FE000018C00001FE000018000001FE000000000001FE000000000001
3501 FE000000000001FE000000000001FE000000000001FE000000000001FE000000000001FE
3502 000000000001FE000000000001FE000000000001FE000000000001FE000000000001FE00
3503 0000000001FE000000000001FE000000000001FE000000000001FE000000000001FE0000
3504 00000001FE000000000001FE000000000001FE000000000001FE000000000001FE000000
3505 000001FE000000000001FE000000000001FE000000000001FE000000000001FE00000000
3506 0001FE000000000001FE000000000001FE000000000001FE000000000001FE0000000000
3507 01FE000000000007FF800000001FFFFFFFE000001FFFFFFFE000001FFFFFFFE00035397D
3508 B83C>I<FFFFFF0007FFFEFFFFFF0007FFFEFFFFFF0007FFFE01FF8000007FE000FF0000
3509 001F8000FF0000000F0000FF000000060000FF000000060000FF000000060000FF000000
3510 060000FF000000060000FF000000060000FF000000060000FF000000060000FF00000006
3511 0000FF000000060000FF000000060000FF000000060000FF000000060000FF0000000600
3512 00FF000000060000FF000000060000FF000000060000FF000000060000FF000000060000
3513 FF000000060000FF000000060000FF000000060000FF000000060000FF000000060000FF
3514 000000060000FF000000060000FF000000060000FF000000060000FF000000060000FF00
3515 0000060000FF000000060000FF000000060000FF000000060000FF000000060000FF0000
3516 00060000FF000000060000FF0000000E00007F0000000C00007F8000000C00007F800000
3517 1C00003F8000001C00003F8000001800001FC000003800001FC000007000000FE00000F0
3518 000007F00000E0000003F80001C0000001FC000780000000FE000F000000007F807E0000
3519 00001FFFF80000000007FFE000000000007F800000373B7DB83E>I<FFFFFC00007FFF80
3520 FFFFFC00007FFF80FFFFFC00007FFF8003FF8000000FFC0001FF00000007E00001FF0000
3521 0003C00000FF00000001800000FF800000038000007F800000030000007F800000030000
3522 007FC00000030000003FC00000060000003FC00000060000003FE000000E0000001FE000
3523 000C0000001FF000000C0000000FF00000180000000FF00000180000000FF80000180000
3524 0007F800003000000007F800003000000007FC00007000000003FC00006000000003FC00
3525 006000000001FE0000C000000001FE0000C000000001FF0000C000000000FF0001800000
3526 0000FF00018000000000FF800380000000007F800300000000007F800300000000003FC0
3527 0600000000003FC00600000000003FE00600000000001FE00C00000000001FE00C000000
3528 00001FF01C00000000000FF01800000000000FF018000000000007F830000000000007F8
3529 30000000000007FC30000000000003FC60000000000003FC60000000000003FEE0000000
3530 000001FEC0000000000001FEC0000000000000FF80000000000000FF80000000000000FF
3531 800000000000007F000000000000007F000000000000007F000000000000003E00000000
3532 0000003E000000000000001C000000000000001C000000000000001C00000000393B7EB8
3533 3E>I<FFFFFC07FFFFF001FFFFFFFFFC07FFFFF001FFFFFFFFFC07FFFFF001FFFF07FF80
3534 001FFE00001FF803FE00000FF8000007E001FE000007F8000003C001FE000007F8000003
3535 8001FF000007F80000038000FF000003FC0000030000FF000003FC0000030000FF800003
3536 FC00000700007F800001FE00000600007F800001FE00000600007FC00001FE0000060000
3537 3FC00003FF00000C00003FC00003FF00000C00003FE00003FF00000C00001FE00007FF80
3538 001800001FE000067F80001800001FE000067F80001800000FF0000E7FC0003000000FF0
3539 000C3FC0003000000FF0000C3FC00030000007F8001C3FE00060000007F800181FE00060
3540 000007F800181FE00060000003FC00181FF000C0000003FC00300FF000C0000003FC0030
3541 0FF000C0000001FE00300FF80180000001FE006007F80180000001FE006007F801800000
3542 00FF006007F80300000000FF00C003FC0300000000FF00C003FC0300000000FF80C003FC
3543 07000000007F818001FE06000000007F818001FE06000000007FC18001FE0E000000003F
3544 C30000FF0C000000003FC30000FF0C000000003FE30000FF1C000000001FE600007F9800
3545 0000001FE600007F98000000001FF600007F98000000000FFC00003FF0000000000FFC00
3546 003FF0000000000FFC00003FF00000000007FC00003FE00000000007F800001FE0000000
3547 0007F800001FE00000000003F800001FC00000000003F000000FC00000000003F000000F
3548 C00000000001F000000F800000000001E0000007800000000001E0000007800000000000
3549 E0000007000000000000C0000003000000503B7EB855>I<FFFCFFFCFC00FC00FC00FC00
3550 FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00
3551 FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00
3552 FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00
3553 FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00
3554 FC00FC00FC00FFFCFFFC0E5379BD17>91 D<C0000000C0000000E0000000600000006000
3555 000070000000300000003800000018000000180000001C0000000C0000000C0000000E00
3556 00000600000006000000070000000300000003000000038000000180000001C0000000C0
3557 000000C0000000E000000060000000600000007000000030000000300000003800000018
3558 000000180000001C0000000C0000000E0000000600000006000000070000000300000003
3559 00000003800000018000000180000001C0000000C0000000C0000000E000000060000000
3560 7000000030000000300000003800000018000000180000001C0000000C0000000C000000
3561 0E0000000600000006000000070000000300000003800000018000000180000001C00000
3562 00C0000000C0000000E00000006000000060000000700000003000000030000000380000
3563 00180000001C0000000C0000000C0000000E00000006000000061F537BBD2A>I<FFFCFF
3564 FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00
3565 FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00
3566 FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00
3567 FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00
3568 FC00FC00FC00FC00FC00FC00FC00FCFFFCFFFC0E537FBD17>I<0180038007000E001C00
3569 180038003000700060006000E000C000C000C000C000CE00FF80FFC0FFC0FFC07FC07FC0
3570 3F800E000A197AB917>96 D<001FE0000000FFFC000003E03F000007000F80000F8007E0
3571 001FC003F0001FE003F0001FE001F8001FE001F8001FE000FC000FC000FC00078000FC00
3572 000000FC00000000FC00000000FC00000000FC0000007FFC000007FFFC00003FE0FC0000
3573 FE00FC0003F800FC000FF000FC001FC000FC003FC000FC007F8000FC007F0000FC007F00
3574 00FC0CFE0000FC0CFE0000FC0CFE0000FC0CFE0001FC0CFE0001FC0CFF0003FC0C7F0007
3575 7C0C7F80063E183FC01E3E180FE0781FF003FFF00FE0007F8007C026277DA52A>I<03F0
3576 000000FFF0000000FFF0000000FFF00000000FF000000003F000000003F000000003F000
3577 000003F000000003F000000003F000000003F000000003F000000003F000000003F00000
3578 0003F000000003F000000003F000000003F000000003F000000003F000000003F01FE000
3579 03F07FF80003F1E03E0003F3801F8003F7000FC003FE0007E003FC0003F003F80001F803
3580 F00001F803F00000FC03F00000FC03F00000FE03F00000FE03F000007E03F000007F03F0
3581 00007F03F000007F03F000007F03F000007F03F000007F03F000007F03F000007F03F000
3582 007F03F000007F03F000007E03F00000FE03F00000FE03F00000FC03F00001FC03F80001
3583 F803F80003F003FC0003F003EE0007E003C6000FC003C7801F000381E07E000300FFF800
3584 00001FC000283B7EB92E>I<0003FC00001FFF80007E03E001F8007003F000F807E001FC
3585 0FC003FC0FC003FC1F8003FC3F8003FC3F0001F87F0000F07F0000007F0000007E000000
3586 FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000
3587 FE0000007E0000007F0000007F0000003F0000063F8000061F80000E1FC0000C0FC0001C
3588 07E0003803F0007001F800E0007C07C0001FFF000007F8001F277DA525>I<0000000FC0
3589 000003FFC0000003FFC0000003FFC00000003FC00000000FC00000000FC00000000FC000
3590 00000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000
3591 000FC00000000FC00000000FC00000000FC00000000FC00000000FC00003F80FC0001FFF
3592 0FC0007E078FC000F801EFC003F0007FC007E0003FC00FC0001FC00FC0001FC01F80000F
3593 C03F80000FC03F00000FC07F00000FC07F00000FC07E00000FC0FE00000FC0FE00000FC0
3594 FE00000FC0FE00000FC0FE00000FC0FE00000FC0FE00000FC0FE00000FC0FE00000FC0FE
3595 00000FC07E00000FC07F00000FC07F00000FC03F00000FC03F00000FC01F80001FC01F80
3596 001FC00FC0003FC007E0007FC003F000EFF001F801CFFF007C078FFF001FFE0FFF0007F8
3597 0FC0283B7DB92E>I<0007F800001FFF00007C0FC001F803E003F001F007E001F80FC000
3598 F81F80007C1F80007C3F00007E3F00003E7F00003E7F00003F7E00003FFE00003FFE0000
3599 3FFE00003FFFFFFFFFFFFFFFFFFE000000FE000000FE000000FE000000FE0000007E0000
3600 007E0000007F0000007F0000003F0000033F8000031F8000070FC0000607C0000E07E000
3601 1C01F0003800F80070007E03E0001FFF800003FC0020277EA525>I<00007E000003FF80
3602 000FC1E0001F87E0003F0FF0007E0FF0007E0FF000FC0FF000FC0FF001F803C001F80000
3603 01F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80000
3604 01F8000001F8000001F80000FFFFFC00FFFFFC00FFFFFC0001F8000001F8000001F80000
3605 01F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80000
3606 01F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80000
3607 01F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000003FC0000
3608 7FFFF8007FFFF8007FFFF8001C3B7FBA19>I<00000003F0000FF00FF8003FFC3C3C00F8
3609 1F707C01F00FE07C03E007C07C07C003E0100FC003F0000FC003F0001F8001F8001F8001
3610 F8001F8001F8001F8001F8001F8001F8001F8001F8001F8001F8001F8001F8000FC003F0
3611 000FC003F00007C003E00003E007C00003F00F800003F81F0000073FFC0000060FF00000
3612 0E000000000E000000000E000000000E000000000F000000000F000000000FC000000007
3613 FFFFC00007FFFFF80003FFFFFE0001FFFFFF8003FFFFFFC00F80007FE01F00000FF03E00
3614 0003F07C000001F07C000001F8F8000000F8F8000000F8F8000000F8F8000000F8F80000
3615 00F8FC000001F87C000001F03E000003E03F000007E00F80000F8007E0003F0001FC01FC
3616 00007FFFF0000007FF000026387EA52A>I<03F000000000FFF000000000FFF000000000
3617 FFF0000000000FF00000000003F00000000003F00000000003F00000000003F000000000
3618 03F00000000003F00000000003F00000000003F00000000003F00000000003F000000000
3619 03F00000000003F00000000003F00000000003F00000000003F00000000003F000000000
3620 03F00FF0000003F03FFC000003F0F03F000003F1C01F800003F3800FC00003F7000FC000
3621 03FE000FC00003FC0007E00003FC0007E00003F80007E00003F80007E00003F80007E000
3622 03F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E000
3623 03F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E000
3624 03F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E000
3625 03F00007E00003F00007E00003F00007E00007F8000FF000FFFFC1FFFF80FFFFC1FFFF80
3626 FFFFC1FFFF80293A7EB92E>I<0380000FE0001FF0001FF0001FF0001FF0001FF0000FE0
3627 0003800000000000000000000000000000000000000000000000000000000000000003F0
3628 00FFF000FFF000FFF00007F00003F00003F00003F00003F00003F00003F00003F00003F0
3629 0003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F0
3630 0003F00003F00003F00003F00003F00003F00003F00003F00007F800FFFFC0FFFFC0FFFF
3631 C012387EB717>I<0001C00007F0000FF8000FF8000FF8000FF8000FF80007F00001C000
3632 00000000000000000000000000000000000000000000000000000000000001F800FFF800
3633 FFF800FFF80007F80001F80001F80001F80001F80001F80001F80001F80001F80001F800
3634 01F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F800
3635 01F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F800
3636 01F80001F80001F80001F80001F83C01F87E01F8FF01F0FF03F0FF03F0FF03E0FE07C07C
3637 07C03C0F000FFE0003F800154984B719>I<03F0000000FFF0000000FFF0000000FFF000
3638 00000FF000000003F000000003F000000003F000000003F000000003F000000003F00000
3639 0003F000000003F000000003F000000003F000000003F000000003F000000003F0000000
3640 03F000000003F000000003F000000003F000000003F001FFFC03F001FFFC03F001FFFC03
3641 F0007FC003F0007F0003F0007C0003F000700003F000E00003F001C00003F003800003F0
3642 07000003F01E000003F038000003F078000003F0FC000003F1FC000003F3FE000003F73F
3643 000003FE3F800003F81F800003F00FC00003F00FE00003F007E00003F003F00003F001F8
3644 0003F001FC0003F000FC0003F0007E0003F0007F0003F0003F0003F0003F8003F0001FC0
3645 07F8003FF0FFFFC0FFFFFFFFC0FFFFFFFFC0FFFF283A7EB92C>I<03F000FFF000FFF000
3646 FFF0000FF00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F000
3647 03F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F000
3648 03F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F000
3649 03F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F000
3650 03F00003F00003F00007F800FFFFC0FFFFC0FFFFC0123A7EB917>I<03F00FF0001FE000
3651 FFF03FFC007FF800FFF0F03F01E07E00FFF1C01F83803F000FF3800FC7001F8003F7000F
3652 CE001F8003FE000FDC001F8003FC0007F8000FC003FC0007F8000FC003F80007F0000FC0
3653 03F80007F0000FC003F80007F0000FC003F00007E0000FC003F00007E0000FC003F00007
3654 E0000FC003F00007E0000FC003F00007E0000FC003F00007E0000FC003F00007E0000FC0
3655 03F00007E0000FC003F00007E0000FC003F00007E0000FC003F00007E0000FC003F00007
3656 E0000FC003F00007E0000FC003F00007E0000FC003F00007E0000FC003F00007E0000FC0
3657 03F00007E0000FC003F00007E0000FC003F00007E0000FC003F00007E0000FC003F00007
3658 E0000FC007F8000FF0001FE0FFFFC1FFFF83FFFFFFFFC1FFFF83FFFFFFFFC1FFFF83FFFF
3659 40257EA445>I<03F00FF00000FFF03FFC0000FFF0F03F0000FFF1C01F80000FF3800FC0
3660 0003F7000FC00003FE000FC00003FC0007E00003FC0007E00003F80007E00003F80007E0
3661 0003F80007E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E0
3662 0003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E0
3663 0003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E0
3664 0003F00007E00003F00007E00003F00007E00003F00007E00007F8000FF000FFFFC1FFFF
3665 80FFFFC1FFFF80FFFFC1FFFF8029257EA42E>I<0003FE0000000FFF8000003E03E00000
3666 F800F80001F0007C0003E0003E0007C0001F000F80000F801F80000FC01F000007C03F00
3667 0007E03F000007E07E000003F07E000003F07E000003F07E000003F0FE000003F8FE0000
3668 03F8FE000003F8FE000003F8FE000003F8FE000003F8FE000003F8FE000003F8FE000003
3669 F87E000003F07E000003F07F000007F03F000007E03F000007E01F80000FC00F80000F80
3670 0FC0001F8007E0003F0003F0007E0000F800F800007E03F000001FFFC0000003FE000025
3671 277EA52A>I<03F01FE000FFF07FF800FFF1E07E00FFF3801F8007F7000FC003FE0007E0
3672 03FC0003F003F80003F803F00001F803F00001FC03F00000FC03F00000FE03F00000FE03
3673 F00000FE03F000007F03F000007F03F000007F03F000007F03F000007F03F000007F03F0
3674 00007F03F000007F03F000007F03F000007F03F00000FE03F00000FE03F00000FE03F000
3675 01FC03F00001FC03F80003F803F80003F003FC0007F003FE000FE003F6000FC003F7803F
3676 0003F1E07E0003F0FFF80003F01FC00003F000000003F000000003F000000003F0000000
3677 03F000000003F000000003F000000003F000000003F000000003F000000003F000000007
3678 F8000000FFFFC00000FFFFC00000FFFFC0000028357EA42E>I<0003F800C0001FFE01C0
3679 007E0781C000FC01C3C003F000E3C007F00077C00FE00037C00FC0003FC01FC0001FC03F
3680 80001FC03F80000FC07F00000FC07F00000FC07F00000FC0FE00000FC0FE00000FC0FE00
3681 000FC0FE00000FC0FE00000FC0FE00000FC0FE00000FC0FE00000FC0FE00000FC0FE0000
3682 0FC07F00000FC07F00000FC07F00000FC03F00000FC03F80001FC01F80001FC01FC0003F
3683 C00FC0003FC007E0007FC003F000EFC001F801CFC0007E078FC0001FFE0FC00007F80FC0
3684 0000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC000
3685 00000FC00000000FC00000000FC00000000FC00000001FE0000003FFFF000003FFFF0000
3686 03FFFF28357DA42C>I<07E01F00FFE07FC0FFE1E3E0FFE387F00FE707F003E607F003EE
3687 07F003EC03E003FC008003F8000003F8000003F8000003F8000003F0000003F0000003F0
3688 000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0
3689 000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000007F8
3690 0000FFFFF000FFFFF000FFFFF0001C257EA421>I<00FF030003FFE7000F80FF001E003F
3691 003C001F0078000F0070000700F0000700F0000700F0000300F8000300F8000300FC0003
3692 00FF0000007FE000007FFF00003FFFE0001FFFF8000FFFFC0003FFFE0000FFFF000007FF
3693 8000007F8000001F80C0000FC0C00007C0C00007C0E00003C0E00003C0E00003C0F00003
3694 C0F0000380F8000780FC000780FC000F00FF001E00F3C07C00E1FFF000C03F80001A277D
3695 A521>I<0018000000180000001800000018000000180000003800000038000000380000
3696 00780000007800000078000000F8000001F8000003F8000007F800001FFFFF00FFFFFF00
3697 FFFFFF0001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80000
3698 01F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80000
3699 01F8000001F800C001F800C001F800C001F800C001F800C001F800C001F800C001F800C0
3700 01F800C000FC01C000FC0180007C0380007E0300003F0700000FFE000001F8001A347FB2
3701 20>I<03F00007E000FFF001FFE000FFF001FFE000FFF001FFE0000FF0001FE00003F000
3702 07E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F000
3703 07E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F000
3704 07E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F000
3705 07E00003F00007E00003F00007E00003F00007E00003F0000FE00003F0000FE00003F000
3706 0FE00003F0001FE00001F0001FE00001F8003FE00000F80077F80000FC00E7FF80003F03
3707 C7FF80001FFF87FF800003FC07E00029267EA42E>I<FFFF803FFEFFFF803FFEFFFF803F
3708 FE0FF8000FF007F00007E003F00003C003F800038001F800030001F800030000FC000600
3709 00FC00060000FE000E00007E000C00007E000C00003F001800003F001800003F80380000
3710 1F803000001F803000000FC06000000FC06000000FE060000007E0C0000007E0C0000003
3711 F180000003F180000003F180000001FB00000001FB00000001FF00000000FE00000000FE
3712 000000007C000000007C000000007C00000000380000000038000027257EA32C>I<FFFF
3713 1FFFE03FFEFFFF1FFFE03FFEFFFF1FFFE03FFE0FF800FF000FF807F0007E0003E007F000
3714 7E0003C003F0003E00018003F0003E00018001F8003F00030001F8003F00030001F8003F
3715 00030000FC003F80060000FC006F80060000FC006F800600007E00EFC00C00007E00C7C0
3716 0C00007E00C7C01C00003F01C7E01800003F0183E01800003F8183F03800001F8383F030
3717 00001F8301F03000001FC301F87000000FC600F86000000FC600F860000007E600FCC000
3718 0007EC007CC0000007EC007CC0000003FC007F80000003F8003F80000003F8003F800000
3719 01F8003F00000001F0001F00000001F0001F00000000F0001E00000000E0000E00000000
3720 60000C000037257EA33C>I<FFFF807FFF00FFFF807FFF00FFFF807FFF0003FE003FF000
3721 01FE001F800000FE001F0000007E001C0000003F00180000001F80300000001FC0700000
3722 000FC0E000000007E0C000000007F18000000003FB8000000001FF0000000000FE000000
3723 0000FE00000000007F00000000003F00000000007F80000000007FC000000000CFC00000
3724 0001C7E00000000383F00000000703F80000000601F80000000C00FC0000001C007E0000
3725 0038007F00000078003F000000F0001F800001F8001FC0000FF8003FF000FFFE00FFFF80
3726 FFFE00FFFF80FFFE00FFFF8029247FA32C>I<FFFF803FFEFFFF803FFEFFFF803FFE0FF8
3727 000FF007F00007C003F000038001F800038001F800030001FC00030000FC00060000FC00
3728 0600007E000C00007E000C00007F000C00003F001800003F001800001F803000001F8030
3729 00001FC07000000FC06000000FC060000007E0C0000007E0C0000007F1C0000003F18000
3730 0003F180000001FB00000001FB00000001FF00000000FE00000000FE000000007C000000
3731 007C000000007C0000000038000000003800000000300000000030000000007000000000
3732 60000000006000000000C000000000C000007C01C00000FE01800000FE03800000FE0300
3733 0000FE06000000FC0E000000701C00000038380000001FF00000000FC000000027357EA3
3734 2C>I<3FFFFFFC3FFFFFFC3F8003FC3E0003F83C0007F038000FE030000FE070001FC070
3735 003F8060007F8060007F006000FE006001FC006001FC000003F8000007F0000007F00000
3736 0FE000001FC000003F8000003F8000007F000600FE000600FE000601FC000603F8000607
3737 F8000E07F0000E0FE0000C1FC0001C1FC0001C3F80003C7F00007CFF0003FCFFFFFFFCFF
3738 FFFFFC1F247EA325>I E
3739 %EndDVIPSBitmapFont
3740 %DVIPSBitmapFont: Fk ecbx1000 10 62
3741 /Fk 62 123 df<FFFFFFFFFFFEFFFFFFFFFFFEFFFFFFFFFFFE2F03809730>21
3742 D<000003FF8007FE0000007FFFF07FFF800003FFFFFDFFFFE0000FFF00FFFE0FF0003FF8
3743 00FFF81FF0007FE001FFF03FF800FFC003FFF03FF801FFC003FFE03FF801FF8003FFE03F
3744 F803FF8003FFC03FF803FF0003FFC01FF003FF0001FFC01FF003FF0001FFC007C003FF00
3745 00FFC0000003FF0000FFC0000003FF0000FFC0000003FF0000FFC0000003FF0000FFC000
3746 0003FF0000FFC0000003FF0000FFC0000003FF0000FFC00000FFFFFFFFFFFFE000FFFFFF
3747 FFFFFFE000FFFFFFFFFFFFE000FFFFFFFFFFFFE00003FF0000FFC0000003FF0000FFC000
3748 0003FF0000FFC0000003FF0000FFC0000003FF0000FFC0000003FF0000FFC0000003FF00
3749 00FFC0000003FF0000FFC0000003FF0000FFC0000003FF0000FFC0000003FF0000FFC000
3750 0003FF0000FFC0000003FF0000FFC0000003FF0000FFC0000003FF0000FFC0000003FF00
3751 00FFC0000003FF0000FFC0000003FF0000FFC0000003FF0000FFC0000003FF0000FFC000
3752 0003FF0000FFC0000003FF0000FFC0000003FF0000FFC0000003FF0000FFC0000003FF00
3753 00FFC0000003FF0000FFC0000003FF0000FFC0000003FF0000FFC0000003FF0000FFC000
3754 00FFFFFC3FFFFF8000FFFFFC3FFFFF8000FFFFFC3FFFFF8000FFFFFC3FFFFF80003D3A7E
3755 B938>27 D<000003FFC00000007FFFF0000003FFFFFC00000FFF00FE00003FF8003F0000
3756 7FE000FF8000FFC001FF8001FFC001FF8001FF8001FF8003FF8003FFC003FF0001FF8003
3757 FF0001FF8003FF0001FF8003FF0000FF0003FF00007E0003FF0000000003FF0000000003
3758 FF0000000003FF0000000003FF0000000003FF003FFFC0FFFFFFFFFFC0FFFFFFFFFFC0FF
3759 FFFFFFFFC0FFFFFFFFFFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003
3760 FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003
3761 FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003
3762 FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003
3763 FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003
3764 FF0000FFC0FFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFF303A7EB935>I<
3765 0F803FE07FF07FF0FFF8FFF8FFFCFFFCFFFC7FFC7FFC3FFC0F9C001C003C003800380038
3766 0078007000F001E001E003C007800F001F001C0018000E1D79B91B>39
3767 D<0F803FE07FF07FF0FFF8FFF8FFFCFFFCFFFC7FFC7FFC3FFC0F9C001C003C0038003800
3768 380078007000F001E001E003C007800F001F001C0018000E1D798C1B>44
3769 D<FFFFFF80FFFFFF80FFFFFF80FFFFFF80FFFFFF80FFFFFF80FFFFFF80FFFFFF8019087F
3770 9620>I<0F803FE07FF07FF0FFF8FFF8FFF8FFF8FFF87FF07FF03FE00F800D0D798C1B>I<
3771 0000000018000000003800000000780000000070000000007000000000F000000000E000
3772 000001E000000001C000000003C000000003800000000380000000078000000007000000
3773 000F000000000E000000001E000000001C000000001C000000003C000000003800000000
3774 78000000007000000000F000000000E000000000E000000001E000000001C000000003C0
3775 00000003800000000780000000070000000007000000000F000000000E000000001E0000
3776 00001C000000003C000000003800000000380000000078000000007000000000F0000000
3777 00E000000000E000000001E000000001C000000003C00000000380000000078000000007
3778 0000000007000000000F000000000E000000001E000000001C000000003C000000003800
3779 000000380000000078000000007000000000F000000000E000000001E000000001C00000
3780 0001C000000003C00000000380000000078000000007000000000F000000000E00000000
3781 0E000000001E000000001C000000003C0000000038000000007800000000700000000070
3782 00000000F000000000E000000000E00000000025537BBD30>I<00001E000000003E0000
3783 0000FE00000007FE0000007FFE0000FFFFFE0000FFFFFE0000FFFFFE0000FF8FFE000000
3784 0FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000F
3785 FE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE
3786 0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE00
3787 00000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000
3788 000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE000000
3789 0FFE0000000FFE0000000FFE0000000FFE0000000FFE00007FFFFFFF807FFFFFFF807FFF
3790 FFFF807FFFFFFF80213679B530>49 D<000FFE0000007FFFC00001FFFFF00007FFFFFC00
3791 0FE03FFF001F800FFF803F0003FFC07F8003FFE07FE001FFE0FFE000FFF0FFF000FFF0FF
3792 F000FFF0FFF0007FF8FFF0007FF8FFF0007FF8FFF0007FF87FE0007FF83FC0007FF80600
3793 007FF80000007FF8000000FFF0000000FFF0000000FFE0000001FFE0000001FFC0000003
3794 FF80000003FF00000007FE0000000FFC0000001FF00000001FE00000003FC00000007F00
3795 000000FE00000001FC00000003F000780007E00078000FC00078001F800078003F0000F8
3796 007C0000F000F80000F000F00001F001FFFFFFF003FFFFFFF007FFFFFFF00FFFFFFFF01F
3797 FFFFFFF03FFFFFFFF07FFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE02536
3798 7BB530>I<0003FF0000001FFFF000007FFFFC0001FC07FF0003F003FF8007E001FFC007
3799 C000FFE00FF800FFE00FFC00FFF01FFE00FFF01FFE00FFF01FFE00FFF01FFE00FFF01FFE
3800 00FFF01FFE00FFF00FFC00FFE007F800FFE003F001FFE0000001FFC0000003FF80000003
3801 FF00000007FE0000000FFC0000003FF000000FFFC000000FFF8000000FFFF000000007FE
3802 00000001FF80000000FFC0000000FFE00000007FF00000007FF80000003FFC0000003FFC
3803 0000003FFE1FC0003FFE3FE0003FFE7FF0003FFEFFF8003FFEFFF8003FFEFFF8003FFEFF
3804 F8003FFEFFF8003FFCFFF8003FFCFFF0007FFC7FF0007FF87FC000FFF03F8000FFF01FC0
3805 01FFE00FFC07FF8007FFFFFF0001FFFFFC00007FFFF0000007FF000027377CB530>I<00
3806 000007C0000000000FC0000000000FC0000000001FC0000000003FC0000000007FC00000
3807 0000FFC000000001FFC000000001FFC000000003FFC000000007FFC00000000FFFC00000
3808 001FFFC00000003EFFC00000003CFFC000000078FFC0000000F0FFC0000001F0FFC00000
3809 03E0FFC0000003C0FFC000000780FFC000000F00FFC000001F00FFC000003E00FFC00000
3810 7C00FFC000007800FFC00000F000FFC00001E000FFC00003E000FFC00007C000FFC00007
3811 8000FFC0000F0000FFC0001E0000FFC0003C0000FFC0007C0000FFC000F80000FFC000FF
3812 FFFFFFFF80FFFFFFFFFF80FFFFFFFFFF80FFFFFFFFFF80000001FFC000000001FFC00000
3813 0001FFC000000001FFC000000001FFC000000001FFC000000001FFC000000001FFC00000
3814 0001FFC000000001FFC0000003FFFFFF800003FFFFFF800003FFFFFF800003FFFFFF8029
3815 367DB530>I<1C000000C01F800007C01FF8007FC01FFFFFFF801FFFFFFF801FFFFFFF00
3816 1FFFFFFE001FFFFFFC001FFFFFF0001FFFFFE0001FFFFF80001FFFFE00001FFFF000001F
3817 000000001F000000001F000000001F000000001F000000001F000000001F000000001F03
3818 FE00001F1FFFE0001F7FFFF8001FFE07FC001FF003FF001FC001FF801F8000FFC01F0000
3819 FFC00E0000FFE00000007FE00000007FF00000007FF00000007FF80000007FF80000007F
3820 F81F00007FF83FC0007FF87FE0007FF8FFE0007FF8FFF0007FF8FFF0007FF8FFF0007FF8
3821 FFF0007FF0FFE0007FF0FFE000FFF07F8000FFE07E0000FFC03E0001FFC03F0003FF801F
3822 8007FF000FF01FFE0007FFFFF80001FFFFE000007FFF8000000FF8000025377BB530>I<
3823 00000FF8000000FFFE000003FFFF80000FF80FC0003FE003E0007F8001F000FF000FF001
3824 FF001FF803FE003FF807FC003FF80FFC003FF80FF8003FF81FF8003FF81FF8003FF83FF8
3825 001FF03FF8000FE07FF00000007FF00000007FF00000007FF00800007FF07FF000FFF1FF
3826 FC00FFF3FFFF00FFF780FF80FFFF007FC0FFFE003FE0FFFC003FF0FFFC001FF8FFF8001F
3827 F8FFF8001FFCFFF8001FFCFFF8001FFCFFF0001FFEFFF0001FFEFFF0001FFEFFF0001FFE
3828 7FF0001FFE7FF0001FFE7FF0001FFE7FF0001FFE7FF0001FFE3FF0001FFE3FF0001FFC3F
3829 F0001FFC1FF8001FFC1FF8001FF80FF8003FF80FFC003FF007FC003FE003FE007FC001FF
3830 81FF8000FFFFFF00003FFFFC00000FFFF0000001FF800027377CB530>I<3C0000000000
3831 3E00000000003FE0000000003FFFFFFFFF803FFFFFFFFF803FFFFFFFFF803FFFFFFFFF80
3832 3FFFFFFFFF007FFFFFFFFE007FFFFFFFFC007FFFFFFFF8007FFFFFFFF0007FFFFFFFE000
3833 7FFFFFFFE0007C00000FC0007800001F80007800003F0000F800007E0000F00000FC0000
3834 F00000F80000F00001F80000F00003F00000000007E0000000000FC0000000000FC00000
3835 00001F80000000003F80000000007F00000000007F0000000000FE0000000000FE000000
3836 0001FE0000000001FC0000000003FC0000000003FC0000000007FC0000000007FC000000
3837 000FFC000000000FF8000000000FF8000000001FF8000000001FF8000000001FF8000000
3838 001FF8000000001FF8000000003FF8000000003FF8000000003FF8000000003FF8000000
3839 003FF8000000003FF8000000003FF8000000003FF8000000003FF8000000001FF0000000
3840 000FE00000000007C000000029397BB730>I<0001FF8000000FFFF000003FFFFC0000FE
3841 01FF0001F8007F8003F0003FC007E0001FE007E0000FE00FC0000FF00FC00007F01FC000
3842 07F01FC00007F01FE00007F01FF00007F01FF80007F01FFC000FF01FFF000FE01FFFC00F
3843 E01FFFE01FC00FFFF83FC00FFFFE7F8007FFFFFE0007FFFFFC0003FFFFF00001FFFFFC00
3844 00FFFFFF00007FFFFF80003FFFFFC000FFFFFFE003FDFFFFF007F07FFFF80FE03FFFF81F
3845 C00FFFFC3F8003FFFC7F8000FFFE7F00007FFE7F00001FFEFE000007FEFE000003FEFE00
3846 0001FEFE000001FEFE000000FEFE000000FEFE000000FCFF000000FC7F000001FC7F8000
3847 01F83FC00003F83FE00007F01FF0000FE00FFE007FC003FFFFFF0000FFFFFC00003FFFF0
3848 000003FF800027377CB530>I<0003FF0000001FFFE000007FFFF80001FF01FE0003FE00
3849 FF0007FC007F800FF8007FC01FF8003FE03FF0003FE03FF0001FF07FF0001FF07FF0001F
3850 F87FF0001FF8FFF0001FF8FFF0001FFCFFF0001FFCFFF0001FFCFFF0001FFCFFF0001FFE
3851 FFF0001FFEFFF0001FFEFFF0001FFEFFF0001FFE7FF0003FFE7FF0003FFE7FF0003FFE3F
3852 F0003FFE3FF0007FFE1FF8007FFE0FF800FFFE07FC01FFFE03FE03DFFE01FFFF9FFE007F
3853 FF1FFE001FFC1FFC0000201FFC0000001FFC0000001FFC0000001FFC0FE0003FF81FF000
3854 3FF83FF8003FF03FF8003FF03FF8003FE03FF8007FE03FF8007FC03FF800FF803FF001FF
3855 801FE003FF001F8007FE000FE01FF80007FFFFF00003FFFFC00000FFFF0000001FF00000
3856 27377CB530>I<7FFFFFFFFFFFFFFCFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFE0000000000
3857 000000000000000000000000000000000000000000000000000000000000000000000000
3858 000000000000000000000000000000000000000000000000000000000000000000000000
3859 000000000000000000000000000000000000000000000000000000000000000000000000
3860 0000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFEFFFFFFFFFF
3861 FFFFFE7FFFFFFFFFFFFFFC3F177B9F4A>61 D<00000003E00000000000000007F0000000
3862 0000000007F0000000000000000FF8000000000000000FF8000000000000000FF8000000
3863 000000001FFC000000000000001FFC000000000000003FFE000000000000003FFE000000
3864 000000003FFE000000000000007FFF000000000000007FFF00000000000000FFFF800000
3865 00000000FFFF80000000000000FFFF80000000000001FFFFC0000000000001F3FFC00000
3866 00000003F3FFE0000000000003E1FFE0000000000003E1FFE0000000000007E1FFF00000
3867 00000007C0FFF000000000000FC0FFF800000000000F807FF800000000000F807FF80000
3868 0000001F807FFC00000000001F003FFC00000000003F003FFE00000000003E001FFE0000
3869 0000003E001FFE00000000007E001FFF00000000007C000FFF0000000000FC000FFF8000
3870 000000F80007FF8000000000F80007FF8000000001F80007FFC000000001F00003FFC000
3871 000003FFFFFFFFE000000003FFFFFFFFE000000003FFFFFFFFE000000007FFFFFFFFF000
3872 000007C00000FFF00000000FC00000FFF80000000F8000007FF80000000F8000007FF800
3873 00001F8000007FFC0000001F0000003FFC0000003F0000003FFE0000003E0000001FFE00
3874 00003E0000001FFE0000007E0000001FFF0000007C0000000FFF000000FE0000000FFF80
3875 00FFFFF80007FFFFFF80FFFFF80007FFFFFF80FFFFF80007FFFFFF80FFFFF80007FFFFFF
3876 80413A7DB948>65 D<FFFFFFFFFFC00000FFFFFFFFFFFC0000FFFFFFFFFFFF0000FFFFFF
3877 FFFFFFC000007FF00003FFE000007FF00000FFF000007FF000007FF800007FF000003FFC
3878 00007FF000001FFC00007FF000001FFE00007FF000001FFE00007FF000000FFF00007FF0
3879 00000FFF00007FF000000FFF00007FF000000FFF00007FF000000FFF00007FF000000FFF
3880 00007FF000000FFF00007FF000001FFE00007FF000001FFE00007FF000001FFC00007FF0
3881 00003FFC00007FF000007FF800007FF00000FFF000007FF00001FFC000007FF0000FFF80
3882 00007FFFFFFFFC0000007FFFFFFFFC0000007FFFFFFFFF8000007FF00000FFF000007FF0
3883 00003FF800007FF000001FFC00007FF000000FFE00007FF0000007FF00007FF0000007FF
3884 80007FF0000003FFC0007FF0000003FFC0007FF0000003FFC0007FF0000003FFE0007FF0
3885 000003FFE0007FF0000003FFE0007FF0000003FFE0007FF0000003FFE0007FF0000003FF
3886 E0007FF0000003FFE0007FF0000003FFC0007FF0000003FFC0007FF0000007FFC0007FF0
3887 00000FFF80007FF000000FFF00007FF000001FFF00007FF000007FFE00007FF00001FFFC
3888 00FFFFFFFFFFFFF000FFFFFFFFFFFFC000FFFFFFFFFFFF0000FFFFFFFFFFF000003B397D
3889 B844>I<0000003FFC0001C0000003FFFFC003C000001FFFFFF007C00000FFFFFFFC0FC0
3890 0003FFFC00FF3FC00007FFC0001FFFC0001FFE00000FFFC0003FFC000003FFC0007FF000
3891 0001FFC000FFE0000000FFC001FFC0000000FFC003FFC00000007FC007FF800000003FC0
3892 0FFF000000003FC00FFF000000001FC01FFE000000001FC01FFE000000000FC03FFE0000
3893 00000FC03FFC000000000FC03FFC0000000007C07FFC0000000007C07FFC0000000007C0
3894 7FF8000000000000FFF8000000000000FFF8000000000000FFF8000000000000FFF80000
3895 00000000FFF8000000000000FFF8000000000000FFF8000000000000FFF8000000000000
3896 FFF8000000000000FFF8000000000000FFF8000000000000FFF8000000000000FFF80000
3897 000000007FF80000000000007FFC0000000000007FFC0000000003C03FFC0000000003C0
3898 3FFC0000000003C03FFE0000000003C01FFE0000000007C01FFE0000000007C00FFF0000
3899 000007800FFF000000000F8007FF800000000F0003FFC00000001F0001FFC00000003E00
3900 00FFE00000007E00007FF8000000FC00003FFC000001F800001FFF000003F0000007FFC0
3901 000FE0000003FFFC00FF80000000FFFFFFFE000000001FFFFFF80000000003FFFFE00000
3902 0000003FFE0000003A3B7BB945>I<FFFFFFFFFF800000FFFFFFFFFFF80000FFFFFFFFFF
3903 FF0000FFFFFFFFFFFFC000007FF80007FFF000007FF800007FF800007FF800001FFE0000
3904 7FF800000FFF00007FF8000003FF80007FF8000001FFC0007FF8000001FFC0007FF80000
3905 00FFE0007FF80000007FF0007FF80000007FF0007FF80000003FF8007FF80000003FF800
3906 7FF80000003FFC007FF80000001FFC007FF80000001FFC007FF80000001FFE007FF80000
3907 001FFE007FF80000001FFE007FF80000001FFE007FF80000001FFF007FF80000001FFF00
3908 7FF80000001FFF007FF80000001FFF007FF80000001FFF007FF80000001FFF007FF80000
3909 001FFF007FF80000001FFF007FF80000001FFF007FF80000001FFF007FF80000001FFF00
3910 7FF80000001FFF007FF80000001FFE007FF80000001FFE007FF80000001FFE007FF80000
3911 001FFE007FF80000001FFC007FF80000003FFC007FF80000003FFC007FF80000003FF800
3912 7FF80000007FF8007FF80000007FF0007FF8000000FFE0007FF8000000FFE0007FF80000
3913 01FFC0007FF8000003FF80007FF8000007FF00007FF800001FFE00007FF800007FFC0000
3914 7FF80007FFF000FFFFFFFFFFFFC000FFFFFFFFFFFF0000FFFFFFFFFFFC0000FFFFFFFFFF
3915 80000040397DB849>I<FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFF
3916 FFF0007FF80000FFF0007FF800001FF8007FF8000007F8007FF8000003F8007FF8000001
3917 F8007FF8000001F8007FF8000000F8007FF8000000F8007FF800000078007FF800000078
3918 007FF800000078007FF8003C007C007FF8003C003C007FF8003C003C007FF8003C003C00
3919 7FF8003C003C007FF8003C0000007FF8007C0000007FF8007C0000007FF800FC0000007F
3920 F803FC0000007FFFFFFC0000007FFFFFFC0000007FFFFFFC0000007FFFFFFC0000007FF8
3921 03FC0000007FF800FC0000007FF8007C0000007FF8007C0000007FF8003C0000007FF800
3922 3C000F007FF8003C000F007FF8003C000F007FF8003C001E007FF8003C001E007FF80000
3923 001E007FF80000001E007FF80000003E007FF80000003E007FF80000003C007FF8000000
3924 7C007FF80000007C007FF8000000FC007FF8000000FC007FF8000001F8007FF8000003F8
3925 007FF800000FF8007FF800003FF8007FF80001FFF8FFFFFFFFFFFFF8FFFFFFFFFFFFF0FF
3926 FFFFFFFFFFF0FFFFFFFFFFFFF038397DB83F>I<FFFFFFFFFFFFC0FFFFFFFFFFFFC0FFFF
3927 FFFFFFFFC0FFFFFFFFFFFFC0007FF80003FFC0007FF800007FE0007FF800001FE0007FF8
3928 00000FE0007FF8000007E0007FF8000007E0007FF8000003E0007FF8000003E0007FF800
3929 0001E0007FF8000001E0007FF8000001E0007FF8000001F0007FF8007800F0007FF80078
3930 00F0007FF8007800F0007FF8007800F0007FF800780000007FF800780000007FF800F800
3931 00007FF800F80000007FF801F80000007FF807F80000007FFFFFF80000007FFFFFF80000
3932 007FFFFFF80000007FFFFFF80000007FF807F80000007FF801F80000007FF800F8000000
3933 7FF800F80000007FF800780000007FF800780000007FF800780000007FF800780000007F
3934 F800780000007FF800780000007FF800000000007FF800000000007FF800000000007FF8
3935 00000000007FF800000000007FF800000000007FF800000000007FF800000000007FF800
3936 000000007FF800000000007FF800000000007FF800000000007FF800000000FFFFFFFF00
3937 0000FFFFFFFF000000FFFFFFFF000000FFFFFFFF00000034397DB83C>I<0000003FFC00
3938 01C000000003FFFFC003C00000001FFFFFF007C0000000FFFFFFFC0FC0000003FFFC00FF
3939 3FC0000007FFC0001FFFC000001FFE00000FFFC000003FFC000003FFC000007FF0000001
3940 FFC00000FFE0000000FFC00001FFC0000000FFC00003FFC00000007FC00007FF80000000
3941 3FC0000FFF000000003FC0000FFF000000001FC0001FFE000000001FC0001FFE00000000
3942 0FC0003FFE000000000FC0003FFC000000000FC0003FFC0000000007C0007FFC00000000
3943 07C0007FFC0000000007C0007FF800000000000000FFF800000000000000FFF800000000
3944 000000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000
3945 000000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000
3946 000000FFF800000000000000FFF800003FFFFFFF80FFF800003FFFFFFF807FF800003FFF
3947 FFFF807FFC00003FFFFFFF807FFC00000003FFC0003FFC00000003FFC0003FFC00000003
3948 FFC0003FFE00000003FFC0001FFE00000003FFC0001FFE00000003FFC0000FFF00000003
3949 FFC0000FFF00000003FFC00007FF80000003FFC00003FFC0000003FFC00001FFE0000003
3950 FFC00000FFE0000003FFC000007FF8000007FFC000003FFC000007FFC000001FFF00000F
3951 FFC0000007FFC0001FFFC0000003FFFC00FF3FC0000000FFFFFFFE0FC00000001FFFFFF8
3952 03C000000003FFFFE000C0000000003FFE00000000413B7BB94B>I<FFFFFFFC03FFFFFF
3953 F0FFFFFFFC03FFFFFFF0FFFFFFFC03FFFFFFF0FFFFFFFC03FFFFFFF0007FF8000001FFE0
3954 00007FF8000001FFE000007FF8000001FFE000007FF8000001FFE000007FF8000001FFE0
3955 00007FF8000001FFE000007FF8000001FFE000007FF8000001FFE000007FF8000001FFE0
3956 00007FF8000001FFE000007FF8000001FFE000007FF8000001FFE000007FF8000001FFE0
3957 00007FF8000001FFE000007FF8000001FFE000007FF8000001FFE000007FF8000001FFE0
3958 00007FF8000001FFE000007FF8000001FFE000007FF8000001FFE000007FF8000001FFE0
3959 00007FFFFFFFFFFFE000007FFFFFFFFFFFE000007FFFFFFFFFFFE000007FFFFFFFFFFFE0
3960 00007FF8000001FFE000007FF8000001FFE000007FF8000001FFE000007FF8000001FFE0
3961 00007FF8000001FFE000007FF8000001FFE000007FF8000001FFE000007FF8000001FFE0
3962 00007FF8000001FFE000007FF8000001FFE000007FF8000001FFE000007FF8000001FFE0
3963 00007FF8000001FFE000007FF8000001FFE000007FF8000001FFE000007FF8000001FFE0
3964 00007FF8000001FFE000007FF8000001FFE000007FF8000001FFE000007FF8000001FFE0
3965 00007FF8000001FFE000007FF8000001FFE000007FF8000001FFE000007FF8000001FFE0
3966 00FFFFFFFC03FFFFFFF0FFFFFFFC03FFFFFFF0FFFFFFFC03FFFFFFF0FFFFFFFC03FFFFFF
3967 F044397DB84B>I<FFFFFFFCFFFFFFFCFFFFFFFCFFFFFFFC007FF800007FF800007FF800
3968 007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800
3969 007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800
3970 007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800
3971 007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800
3972 007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800
3973 007FF800FFFFFFFCFFFFFFFCFFFFFFFCFFFFFFFC1E397DB824>I<FFFFFFFC0003FFFFC0
3974 FFFFFFFC0003FFFFC0FFFFFFFC0003FFFFC0FFFFFFFC0003FFFFC0007FF80000001FE000
3975 007FF80000001F8000007FF80000003F0000007FF8000000FE0000007FF8000001F80000
3976 007FF8000003F00000007FF8000007E00000007FF800000FC00000007FF800003F800000
3977 007FF800007E000000007FF80000FC000000007FF80001F8000000007FF80003F0000000
3978 007FF8000FE0000000007FF8001F80000000007FF8003F00000000007FF8007E00000000
3979 007FF800FC00000000007FF803F800000000007FF807FC00000000007FF80FFE00000000
3980 007FF81FFF00000000007FF83FFF80000000007FF87FFF80000000007FF9FFFFC0000000
3981 007FFBF7FFE0000000007FFFE3FFF0000000007FFFC1FFF0000000007FFF80FFF8000000
3982 007FFE00FFFC000000007FFC007FFE000000007FF8003FFE000000007FF8001FFF000000
3983 007FF8000FFF800000007FF8000FFFC00000007FF80007FFC00000007FF80003FFE00000
3984 007FF80001FFF00000007FF80001FFF80000007FF80000FFF80000007FF800007FFC0000
3985 007FF800003FFE0000007FF800003FFF0000007FF800001FFF0000007FF800000FFF8000
3986 007FF8000007FFC000007FF8000007FFE000007FF8000003FFE000007FF8000003FFF000
3987 FFFFFFFC007FFFFFE0FFFFFFFC007FFFFFE0FFFFFFFC007FFFFFE0FFFFFFFC007FFFFFE0
3988 43397DB84B>75 D<FFFFFFFF000000FFFFFFFF000000FFFFFFFF000000FFFFFFFF000000
3989 007FF800000000007FF800000000007FF800000000007FF800000000007FF80000000000
3990 7FF800000000007FF800000000007FF800000000007FF800000000007FF800000000007F
3991 F800000000007FF800000000007FF800000000007FF800000000007FF800000000007FF8
3992 00000000007FF800000000007FF800000000007FF800000000007FF800000000007FF800
3993 000000007FF800000000007FF800000000007FF800000000007FF800000000007FF80000
3994 0000007FF800000000007FF800000000007FF800000000007FF800000000007FF8000007
3995 80007FF800000780007FF800000780007FF800000780007FF800000780007FF800000F80
3996 007FF800000F00007FF800000F00007FF800000F00007FF800001F00007FF800001F0000
3997 7FF800003F00007FF800003F00007FF800007F00007FF80000FF00007FF80001FF00007F
3998 F80003FF00007FF8000FFE00007FF8007FFE00FFFFFFFFFFFE00FFFFFFFFFFFE00FFFFFF
3999 FFFFFE00FFFFFFFFFFFE0031397DB839>I<FFFFF80000000003FFFFF0FFFFFC00000000
4000 07FFFFF0FFFFFC0000000007FFFFF0FFFFFE000000000FFFFFF0007FFE000000000FFFE0
4001 00007FFE000000000FFFE000007BFF000000001EFFE000007BFF000000001EFFE0000079
4002 FF800000003CFFE0000079FF800000003CFFE0000078FFC000000078FFE0000078FFC000
4003 000078FFE00000787FE0000000F0FFE00000787FE0000000F0FFE00000787FE0000000F0
4004 FFE00000783FF0000001E0FFE00000783FF0000001E0FFE00000781FF8000003C0FFE000
4005 00781FF8000003C0FFE00000780FFC00000780FFE00000780FFC00000780FFE000007807
4006 FE00000F00FFE000007807FE00000F00FFE000007803FF00001E00FFE000007803FF0000
4007 1E00FFE000007803FF00001E00FFE000007801FF80003C00FFE000007801FF80003C00FF
4008 E000007800FFC0007800FFE000007800FFC0007800FFE0000078007FE000F000FFE00000
4009 78007FE000F000FFE0000078003FF001E000FFE0000078003FF001E000FFE0000078003F
4010 F001E000FFE0000078001FF803C000FFE0000078001FF803C000FFE0000078000FFC0780
4011 00FFE0000078000FFC078000FFE00000780007FE0F0000FFE00000780007FE0F0000FFE0
4012 0000780003FF1E0000FFE00000780003FF1E0000FFE00000780003FF1E0000FFE0000078
4013 0001FFBC0000FFE00000780001FFBC0000FFE00000780000FFF80000FFE00000780000FF
4014 F80000FFE000007800007FF00000FFE000007800007FF00000FFE000007800003FE00000
4015 FFE000007800003FE00000FFE00000FC00003FE00000FFE000FFFFFC001FC001FFFFFFF0
4016 FFFFFC001FC001FFFFFFF0FFFFFC000F8001FFFFFFF0FFFFFC00070001FFFFFFF054397D
4017 B85B>I<FFFFFC000003FFFFF0FFFFFC000003FFFFF0FFFFFE000003FFFFF0FFFFFF0000
4018 03FFFFF0007FFF80000003F000007FFFC0000001E000007FFFE0000001E000007BFFF000
4019 0001E0000079FFF0000001E0000079FFF8000001E0000078FFFC000001E00000787FFE00
4020 0001E00000783FFF000001E00000781FFF800001E00000780FFFC00001E00000780FFFC0
4021 0001E000007807FFE00001E000007803FFF00001E000007801FFF80001E000007800FFFC
4022 0001E0000078007FFE0001E0000078003FFE0001E0000078003FFF0001E0000078001FFF
4023 8001E0000078000FFFC001E00000780007FFE001E00000780003FFF001E00000780001FF
4024 F801E00000780000FFF801E00000780000FFFC01E000007800007FFE01E000007800003F
4025 FF01E000007800001FFF81E000007800000FFFC1E0000078000007FFE1E0000078000003
4026 FFE1E0000078000003FFF1E0000078000001FFF9E0000078000000FFFDE0000078000000
4027 7FFFE00000780000003FFFE00000780000001FFFE00000780000001FFFE0000078000000
4028 0FFFE000007800000007FFE000007800000003FFE000007800000001FFE0000078000000
4029 00FFE0000078000000007FE0000078000000007FE0000078000000003FE0000078000000
4030 001FE00000FC000000000FE000FFFFFC00000007E000FFFFFC00000003E000FFFFFC0000
4031 0001E000FFFFFC00000001E00044397DB84B>I<000000FFF800000000000FFFFF800000
4032 00007FFFFFF000000001FFC01FFC00000007FF0007FF0000001FFC0001FFC000003FF000
4033 007FE000007FE000003FF00000FFC000001FF80001FF8000000FFC0003FF8000000FFE00
4034 07FF00000007FF0007FF00000007FF000FFE00000003FF800FFE00000003FF801FFC0000
4035 0001FFC01FFC00000001FFC03FFC00000001FFE03FFC00000001FFE03FFC00000001FFE0
4036 7FF800000000FFF07FF800000000FFF07FF800000000FFF07FF800000000FFF0FFF80000
4037 0000FFF8FFF800000000FFF8FFF800000000FFF8FFF800000000FFF8FFF800000000FFF8
4038 FFF800000000FFF8FFF800000000FFF8FFF800000000FFF8FFF800000000FFF8FFF80000
4039 0000FFF8FFF800000000FFF8FFF800000000FFF87FF800000000FFF07FFC00000001FFF0
4040 7FFC00000001FFF07FFC00000001FFF03FFC00000001FFE03FFC00000001FFE03FFE0000
4041 0003FFE01FFE00000003FFC01FFE00000003FFC00FFF00000007FF8007FF00000007FF00
4042 07FF8000000FFF0003FFC000001FFE0001FFC000001FFC0000FFE000003FF800007FF000
4043 007FF000003FFC0001FFE000001FFF0007FFC0000007FFC01FFF00000001FFFFFFFC0000
4044 00007FFFFFF0000000000FFFFF800000000000FFF80000003D3B7BB948>I<FFFFFFFFFF
4045 0000FFFFFFFFFFF000FFFFFFFFFFFE00FFFFFFFFFFFF80007FF8000FFFC0007FF80001FF
4046 E0007FF80000FFF0007FF800007FF8007FF800003FFC007FF800003FFC007FF800001FFE
4047 007FF800001FFE007FF800001FFF007FF800001FFF007FF800001FFF007FF800001FFF00
4048 7FF800001FFF007FF800001FFF007FF800001FFF007FF800001FFF007FF800001FFE007F
4049 F800001FFE007FF800003FFC007FF800003FFC007FF800007FF8007FF80000FFF0007FF8
4050 0001FFE0007FF8000FFFC0007FFFFFFFFF00007FFFFFFFFC00007FFFFFFFE000007FF800
4051 000000007FF800000000007FF800000000007FF800000000007FF800000000007FF80000
4052 0000007FF800000000007FF800000000007FF800000000007FF800000000007FF8000000
4053 00007FF800000000007FF800000000007FF800000000007FF800000000007FF800000000
4054 007FF800000000007FF800000000007FF800000000007FF800000000007FF80000000000
4055 7FF800000000FFFFFFFC000000FFFFFFFC000000FFFFFFFC000000FFFFFFFC0000003839
4056 7DB841>I<FFFFFFFFFC00000000FFFFFFFFFFE0000000FFFFFFFFFFFC000000FFFFFFFF
4057 FFFF000000007FF8000FFFC00000007FF80001FFE00000007FF80000FFF00000007FF800
4058 007FF80000007FF800003FFC0000007FF800003FFC0000007FF800001FFE0000007FF800
4059 001FFE0000007FF800001FFF0000007FF800001FFF0000007FF800001FFF0000007FF800
4060 001FFF0000007FF800001FFF0000007FF800001FFF0000007FF800001FFF0000007FF800
4061 001FFE0000007FF800001FFE0000007FF800003FFC0000007FF800003FF80000007FF800
4062 007FF00000007FF80000FFE00000007FF80003FFC00000007FF8001FFF000000007FFFFF
4063 FFFC000000007FFFFFFFE0000000007FFFFFFFF0000000007FF8003FFC000000007FF800
4064 0FFF000000007FF80007FF800000007FF80003FFC00000007FF80001FFC00000007FF800
4065 01FFE00000007FF80001FFE00000007FF80000FFF00000007FF80000FFF00000007FF800
4066 00FFF00000007FF80000FFF00000007FF80000FFF00000007FF80000FFF80000007FF800
4067 00FFF80000007FF80000FFF80000007FF80000FFF80000007FF80000FFF80000007FF800
4068 00FFF80060007FF80000FFF800F0007FF80000FFFC00F0007FF800007FFC00F0007FF800
4069 007FFC01F0007FF800003FFE01E0FFFFFFFC001FFE03E0FFFFFFFC000FFF87C0FFFFFFFC
4070 0007FFFF80FFFFFFFC0001FFFF000000000000001FFC00443A7DB848>82
4071 D<0007FF000E00003FFFE01E0000FFFFF83E0003FFFFFE7E0007FC01FFFE000FF0001FFE
4072 001FE0000FFE003FC00003FE003F800001FE007F800000FE007F000000FE007F0000007E
4073 00FF0000007E00FF0000003E00FF0000003E00FF8000003E00FF8000001E00FFC000001E
4074 00FFE000001E00FFF000000000FFFC000000007FFFE00000007FFFFE0000007FFFFFF000
4075 003FFFFFFE00003FFFFFFF80001FFFFFFFC0000FFFFFFFF00007FFFFFFF80003FFFFFFFC
4076 0000FFFFFFFE00003FFFFFFE00000FFFFFFF000001FFFFFF0000000FFFFF800000007FFF
4077 800000000FFFC000000003FFC000000001FFC000000000FFC0F00000007FC0F00000007F
4078 C0F00000007FC0F00000003FC0F00000003FC0F80000003FC0F80000003F80FC0000003F
4079 80FC0000007F80FE0000007F00FF0000007F00FF800000FE00FFE00001FC00FFF80003FC
4080 00FFFF801FF800FCFFFFFFE000F83FFFFFC000F007FFFE0000E0007FF000002A3B7BB935
4081 >I<3FFFFFFFFFFFFF803FFFFFFFFFFFFF803FFFFFFFFFFFFF803FFFFFFFFFFFFF803FF8
4082 00FFF003FF807FC000FFF0007FC07F8000FFF0001FC07E0000FFF0000FC07E0000FFF000
4083 0FC07C0000FFF00007C07C0000FFF00007C0780000FFF00003C0780000FFF00003C07800
4084 00FFF00003C0780000FFF00003C0F80000FFF00003E0F00000FFF00001E0F00000FFF000
4085 01E0F00000FFF00001E0F00000FFF00001E0000000FFF0000000000000FFF00000000000
4086 00FFF0000000000000FFF0000000000000FFF0000000000000FFF0000000000000FFF000
4087 0000000000FFF0000000000000FFF0000000000000FFF0000000000000FFF00000000000
4088 00FFF0000000000000FFF0000000000000FFF0000000000000FFF0000000000000FFF000
4089 0000000000FFF0000000000000FFF0000000000000FFF0000000000000FFF00000000000
4090 00FFF0000000000000FFF0000000000000FFF0000000000000FFF0000000000000FFF000
4091 0000000000FFF0000000000000FFF0000000000000FFF0000000000000FFF00000000000
4092 00FFF0000000000000FFF0000000000000FFF0000000000FFFFFFFFF0000000FFFFFFFFF
4093 0000000FFFFFFFFF0000000FFFFFFFFF00003B387DB742>I<FFFFFFFC001FFFFFC0FFFF
4094 FFFC001FFFFFC0FFFFFFFC001FFFFFC0FFFFFFFC001FFFFFC0007FF80000001FC000007F
4095 F80000000F8000007FF80000000F8000007FF80000000F8000007FF80000000F8000007F
4096 F80000000F8000007FF80000000F8000007FF80000000F8000007FF80000000F8000007F
4097 F80000000F8000007FF80000000F8000007FF80000000F8000007FF80000000F8000007F
4098 F80000000F8000007FF80000000F8000007FF80000000F8000007FF80000000F8000007F
4099 F80000000F8000007FF80000000F8000007FF80000000F8000007FF80000000F8000007F
4100 F80000000F8000007FF80000000F8000007FF80000000F8000007FF80000000F8000007F
4101 F80000000F8000007FF80000000F8000007FF80000000F8000007FF80000000F8000007F
4102 F80000000F8000007FF80000000F8000007FF80000000F8000007FF80000000F8000007F
4103 F80000000F8000007FF80000000F8000007FF80000000F8000007FF80000000F8000007F
4104 F80000000F8000007FF80000001F8000003FF80000001F0000003FFC0000001F0000003F
4105 FC0000003F0000001FFC0000003E0000000FFE0000007E0000000FFE0000007C00000007
4106 FF000000FC00000003FF800001F800000001FFC00007F000000000FFF0001FE000000000
4107 7FFE00FFC0000000001FFFFFFF000000000007FFFFFE000000000000FFFFF00000000000
4108 000FFF80000000423A7DB849>I<7FFFFFFFFFFFFF00FFFFFFFFFFFFFF80FFFFFFFFFFFF
4109 FF80FFFFFFFFFFFFFF807FFFFFFFFFFFFF003905786A4A>95 D<006000E003E003C00780
4110 0F001E001E003C0038007800700070007000F000E000E7C0FFF0FFF8FFF8FFFCFFFCFFFC
4111 7FFC7FFC3FF83FF81FF007C00E1D7AB91B>I<003FFE00000003FFFFE000000FFFFFF800
4112 001FF00FFE00003FF003FF00003FF801FF80003FF800FFC0003FF800FFC0003FF8007FE0
4113 003FF8007FE0001FF0007FE0000FE0007FE0000380007FE0000000007FE0000000007FE0
4114 0000003FFFE000000FFFFFE000007FFFFFE00001FFF87FE00007FF807FE0000FFE007FE0
4115 003FF8007FE0003FF0007FE0007FE0007FE000FFE0007FE000FFC0007FE000FFC0007FE0
4116 00FFC0007FE000FFC0007FE000FFC000FFE000FFE001FFE0007FE001FFE0003FF007FFF8
4117 001FFC1FBFFFC00FFFFE1FFFC003FFF80FFFC0003FE003FFC02A257DA42E>I<00FF0000
4118 0000FFFF00000000FFFF00000000FFFF00000000FFFF0000000007FF0000000003FF0000
4119 000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000
4120 000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000
4121 000003FF0000000003FF0000000003FF01FF800003FF0FFFF00003FF3FFFFC0003FFFE03
4122 FF0003FFF000FF8003FFE0007FC003FF80003FE003FF00003FF003FF00001FF803FF0000
4123 1FF803FF00001FFC03FF00000FFC03FF00000FFC03FF00000FFE03FF00000FFE03FF0000
4124 0FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF0000
4125 0FFE03FF00000FFE03FF00000FFC03FF00000FFC03FF00000FFC03FF00001FF803FF0000
4126 1FF803FF00001FF003FF80003FF003FFC0007FE003FFE0007FC003FDF001FF8003F8FC07
4127 FE0003F03FFFF80003E00FFFE00003C003FF00002F3A7EB935>I<0001FFC000000FFFFC
4128 00007FFFFF0000FF80FF8003FE00FFC007FC01FFC00FF801FFC01FF801FFC01FF001FFC0
4129 3FF001FFC03FF000FF807FE0007F007FE0001C007FE0000000FFE0000000FFE0000000FF
4130 E0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE00000007FE0
4131 0000007FE00000007FF00000003FF00000003FF00001E01FF80001E01FF80003E00FFC00
4132 07C007FE00078003FF001F8000FFC07E00007FFFFC00000FFFF0000001FF800023257DA4
4133 2A>I<000000007F800000007FFF800000007FFF800000007FFF800000007FFF80000000
4134 03FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF80000000
4135 01FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF80000000
4136 01FF8000000001FF8000000001FF8000000001FF800001FF81FF80000FFFF1FF80003FFF
4137 FDFF8000FFC07FFF8003FF001FFF8007FC0007FF800FFC0003FF801FF80001FF801FF000
4138 01FF803FF00001FF803FF00001FF807FE00001FF807FE00001FF807FE00001FF80FFE000
4139 01FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE000
4140 01FF80FFE00001FF80FFE00001FF80FFE00001FF807FE00001FF807FE00001FF807FF000
4141 01FF803FF00001FF803FF00001FF801FF80003FF800FF80007FF8007FC000FFF8003FE00
4142 1FFFC001FF80FDFFFE007FFFF9FFFE001FFFE1FFFE0001FF01FFFE2F3A7DB935>I<0003
4143 FF8000001FFFF000007FFFFC0001FF83FE0003FE007F8007FC003F800FF8003FC01FF800
4144 1FE01FF0001FE03FF0000FF03FF0000FF07FE0000FF07FE0000FF87FE00007F8FFE00007
4145 F8FFE00007F8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFE0000000FFE0000000FFE0000000
4146 FFE00000007FE00000007FE00000007FE00000003FF00000003FF00000781FF00000780F
4147 F80000F80FFC0000F007FC0003F001FF000FE000FFC07FC0007FFFFF00000FFFFC000001
4148 FFE00025257DA42C>I<00001FF0000001FFFC000007FFFF00001FF87F80003FE0FF8000
4149 FFC1FFC000FFC1FFC001FF81FFC001FF81FFC003FF01FFC003FF00FF8003FF00FF8003FF
4150 003E0003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00
4151 000003FF000000FFFFFF0000FFFFFF0000FFFFFF0000FFFFFF000003FF00000003FF0000
4152 0003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF000000
4153 03FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003
4154 FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF
4155 00000003FF00000003FF00000003FF00000003FF00000003FF000000FFFFFE0000FFFFFE
4156 0000FFFFFE0000FFFFFE0000223A7DB91D>I<000000001F000007FE00FFC0007FFFE3FF
4157 C001FFFFFFEFE007FE07FF8FE00FF801FF1FE01FF000FF8FE03FF000FFCFE03FE0007FC7
4158 C03FE0007FC0007FE0007FE0007FE0007FE0007FE0007FE0007FE0007FE0007FE0007FE0
4159 007FE0007FE0003FE0007FC0003FE0007FC0003FF000FFC0001FF000FF80000FF801FF00
4160 0007FE07FE00000FFFFFF800000F7FFFE000001E07FE0000001E00000000001E00000000
4161 003E00000000003F00000000003F80000000001FC0000000001FFFFFF800001FFFFFFF80
4162 001FFFFFFFE0000FFFFFFFF80007FFFFFFFC0003FFFFFFFE0007FFFFFFFE001FFFFFFFFF
4163 003FC0000FFF007F000000FF80FF0000007F80FE0000007F80FE0000003F80FE0000003F
4164 80FE0000003F80FF0000007F807F0000007F007F800000FF003FC00001FE001FF00007FC
4165 0007FE003FF00001FFFFFFC000007FFFFF00000007FFF000002B377DA530>I<00FF0000
4166 0000FFFF00000000FFFF00000000FFFF00000000FFFF0000000007FF0000000003FF0000
4167 000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000
4168 000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000
4169 000003FF0000000003FF0000000003FF007FC00003FF03FFF80003FF0FFFFE0003FF1F03
4170 FF0003FF3C01FF8003FF7801FF8003FFF000FF8003FFE000FFC003FFC000FFC003FFC000
4171 FFC003FF8000FFC003FF8000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000
4172 FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000
4173 FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000
4174 FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC0FFFFFC3F
4175 FFFFFFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFF303A7DB935>I<01F00007FC000FFE00
4176 0FFE001FFF001FFF001FFF001FFF001FFF000FFE000FFE0007FC0001F000000000000000
4177 00000000000000000000000000000000000000000000FF007FFF007FFF007FFF007FFF00
4178 07FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF00
4179 03FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF00
4180 03FF0003FF0003FF0003FF00FFFFF8FFFFF8FFFFF8FFFFF8153B7DBA1B>I<00FF000000
4181 00FFFF00000000FFFF00000000FFFF00000000FFFF0000000007FF0000000003FF000000
4182 0003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF000000
4183 0003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF000000
4184 0003FF0000000003FF0000000003FF000FFFE003FF000FFFE003FF000FFFE003FF000FFF
4185 E003FF0003FC0003FF0003F00003FF000FE00003FF001F800003FF003F000003FF007E00
4186 0003FF00FC000003FF03F8000003FF07E0000003FF0FC0000003FF1FC0000003FF7FE000
4187 0003FFFFF0000003FFFFF8000003FFFFFC000003FFFFFC000003FFCFFE000003FF0FFF00
4188 0003FE07FF800003FE03FF800003FE01FFC00003FE00FFE00003FE00FFF00003FE007FF0
4189 0003FE003FF80003FE001FFC0003FE001FFE0003FE000FFE0003FE000FFF00FFFFF83FFF
4190 F8FFFFF83FFFF8FFFFF83FFFF8FFFFF83FFFF82D3A7EB932>107
4191 D<00FF00FFFF00FFFF00FFFF00FFFF0007FF0003FF0003FF0003FF0003FF0003FF0003FF
4192 0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF
4193 0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF
4194 0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF
4195 0003FF0003FF0003FF0003FF0003FF0003FF00FFFFFCFFFFFCFFFFFCFFFFFC163A7DB91B
4196 >I<00FE007FE0000FFC0000FFFE01FFFC003FFF8000FFFE07FFFF00FFFFE000FFFE1F81
4197 FF83F03FF000FFFE3C00FF87801FF00007FE7800FFCF001FF80003FEF000FFDE001FF800
4198 03FFE0007FFC000FFC0003FFC0007FF8000FFC0003FFC0007FF8000FFC0003FF80007FF0
4199 000FFC0003FF80007FF0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF
4200 00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000F
4201 FC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF0000
4202 7FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC00
4203 03FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0
4204 000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF
4205 00007FE0000FFC00FFFFFC1FFFFF83FFFFF0FFFFFC1FFFFF83FFFFF0FFFFFC1FFFFF83FF
4206 FFF0FFFFFC1FFFFF83FFFFF04C257DA451>I<00FE007FC000FFFE03FFF800FFFE0FFFFE
4207 00FFFE1F03FF00FFFE3C01FF8007FE7801FF8003FEF000FF8003FFE000FFC003FFC000FF
4208 C003FFC000FFC003FF8000FFC003FF8000FFC003FF0000FFC003FF0000FFC003FF0000FF
4209 C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF
4210 C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF
4211 C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF
4212 C0FFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFF30257DA435>I<0001FFC0
4213 0000000FFFF80000007FFFFF000000FF80FF800003FE003FE00007FC001FF0000FF8000F
4214 F8001FF00007FC001FF00007FC003FF00007FE003FE00003FE007FE00003FF007FE00003
4215 FF007FE00003FF00FFE00003FF80FFE00003FF80FFE00003FF80FFE00003FF80FFE00003
4216 FF80FFE00003FF80FFE00003FF80FFE00003FF80FFE00003FF807FE00003FF007FE00003
4217 FF007FE00003FF003FE00003FE003FF00007FE001FF00007FC001FF00007FC000FF8000F
4218 F80007FC001FF00003FE003FE00001FF80FFC000007FFFFF0000001FFFFC00000001FFC0
4219 000029257DA430>I<00FF01FF8000FFFF0FFFF000FFFF3FFFFC00FFFFFE07FF00FFFFF0
4220 01FF8003FFE000FFC003FF80007FE003FF00007FF003FF00003FF803FF00003FF803FF00
4221 001FFC03FF00001FFC03FF00001FFC03FF00000FFE03FF00000FFE03FF00000FFE03FF00
4222 000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00
4223 000FFE03FF00000FFC03FF00001FFC03FF00001FFC03FF00001FF803FF00003FF803FF00
4224 003FF003FF80007FF003FFC0007FE003FFE000FFC003FFF003FF8003FFFC07FE0003FF3F
4225 FFF80003FF0FFFE00003FF03FF000003FF0000000003FF0000000003FF0000000003FF00
4226 00000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF00
4227 00000003FF0000000003FF00000000FFFFFC000000FFFFFC000000FFFFFC000000FFFFFC
4228 0000002F357EA435>I<00FE03F000FFFE0FFE00FFFE3FFF00FFFE7C7F80FFFEF8FFC007
4229 FEF0FFC003FFE0FFC003FFC0FFC003FFC0FFC003FF807F8003FF803F0003FF800C0003FF
4230 80000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00
4231 000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF0000
4232 0003FF00000003FF00000003FF00000003FF00000003FF00000003FF000000FFFFFE0000
4233 FFFFFE0000FFFFFE0000FFFFFE000022257EA427>114 D<003FF03803FFFEF80FFFFFF8
4234 1FC00FF83F0003F87E0001F87C0000F8FC0000F8FC000078FE000078FF000078FF800000
4235 FFFC0000FFFFE0007FFFFC007FFFFF803FFFFFC01FFFFFF00FFFFFF803FFFFF800FFFFFC
4236 001FFFFC00007FFE000007FEF00001FEF00000FEF80000FEF800007EFC00007EFC00007C
4237 FE0000FCFF0000F8FF8001F8FFF007F0FFFFFFC0F8FFFF00E01FF8001F257DA426>I<00
4238 0F0000000F0000000F0000000F0000000F0000001F0000001F0000001F0000001F000000
4239 3F0000003F0000007F000000FF000000FF000001FF000007FF00001FFFFFE0FFFFFFE0FF
4240 FFFFE0FFFFFFE003FF000003FF000003FF000003FF000003FF000003FF000003FF000003
4241 FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003
4242 FF000003FF000003FF007803FF007803FF007803FF007803FF007803FF007803FF007803
4243 FF007803FF00F801FF80F001FF81F000FFC3E0003FFFC0001FFF800003FE001D357EB425
4244 >I<00FF00003FC0FFFF003FFFC0FFFF003FFFC0FFFF003FFFC0FFFF003FFFC007FF0001
4245 FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000
4246 FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000
4247 FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000
4248 FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0001FFC003FF0001FFC003FF0003
4249 FFC003FF0003FFC001FF0007FFC001FF800FFFE000FFC03EFFFF007FFFFCFFFF001FFFF0
4250 FFFF0003FF80FFFF30257DA435>I<FFFFF001FFF8FFFFF001FFF8FFFFF001FFF8FFFFF0
4251 01FFF803FF00001F0003FF00001E0003FF80003E0001FF80003C0001FFC0007C0000FFC0
4252 00780000FFE000F800007FE000F000007FF001F000003FF001E000003FF801E000001FF8
4253 03C000001FF803C000001FFC07C000000FFC078000000FFE0F80000007FE0F00000007FF
4254 1F00000003FF1E00000003FFBE00000001FFBC00000001FFFC00000000FFF800000000FF
4255 F800000000FFF8000000007FF0000000007FF0000000003FE0000000003FE0000000001F
4256 C0000000001FC0000000000F80000000000F8000002D257EA432>I<FFFFF1FFFF803FFF
4257 FFFFF1FFFF803FFFFFFFF1FFFF803FFFFFFFF1FFFF803FFF07FE000FF80003E003FF0007
4258 F80003C003FF0007FC0003C003FF8007FC0007C001FF8003FE00078001FF8007FE000780
4259 00FFC007FE000F0000FFC007FF000F0000FFE00FFF001F00007FE00FFF801E00007FE01F
4260 FF801E00003FF01E7F803C00003FF01E7FC03C00003FF83E7FC07C00001FF83C3FE07800
4261 001FF87C3FE0F800000FFC781FF0F000000FFC781FF0F000000FFEF00FF1F0000007FEF0
4262 0FF9E0000007FFF00FFBE0000003FFE007FFC0000003FFE007FFC0000003FFC003FFC000
4263 0001FFC003FF80000001FFC003FF80000000FF8001FF00000000FF8001FF00000000FF00
4264 00FF000000007F0000FE000000007F0000FE000000003E00007C000000003C00003C0000
4265 40257EA445>I<FFFFF001FFF8FFFFF001FFF8FFFFF001FFF8FFFFF001FFF803FF00001F
4266 0003FF00001E0003FF80003E0001FF80003C0001FFC0007C0000FFC000780000FFE000F8
4267 00007FE000F000007FF001F000003FF001E000003FF801E000001FF803C000001FF803C0
4268 00001FFC07C000000FFC078000000FFE0F80000007FE0F00000007FF1F00000003FF1E00
4269 000003FFBE00000001FFBC00000001FFFC00000000FFF800000000FFF800000000FFF800
4270 0000007FF0000000007FF0000000003FE0000000003FE0000000001FC0000000001FC000
4271 0000000F80000000000F80000000000F00000000000F00000000001F00000000001E0000
4272 003F003E0000007F803C000000FFC07C000000FFC078000000FFC0F8000000FFC1F00000
4273 00FFC3E00000007F87C00000007D1F800000003FFF000000001FFC0000000007F0000000
4274 002D357EA432>121 D<3FFFFFFFC03FFFFFFFC03FFFFFFFC03FF003FF803F8007FF803F
4275 000FFF003E000FFE003C001FFC007C003FFC007C003FF80078007FF0007800FFF0007800
4276 FFE0007801FFC0007803FFC0000007FF80000007FF0000000FFE0000001FFE0000001FFC
4277 0000003FF80000007FF803C000FFF003C000FFE003C001FFC003C003FFC003C003FF8007
4278 C007FF0007C00FFF0007C00FFE000F801FFC000F803FFC001F807FF8003F807FF001FF80
4279 FFFFFFFF80FFFFFFFF80FFFFFFFF8022257DA42A>I E
4280 %EndDVIPSBitmapFont
4281 %DVIPSBitmapFont: Fl ecbx2488 24.88 30
4282 /Fl 30 122 df[<000000000000007FFFC0000000000000000000007FFFFFFC00000000
4283 00000000000FFFFFFFFF0000000000000000007FFFFFFFFFC00000000000000003FFFFFF
4284 FFFFF0000000000000001FFFFF8001FFF8000000000000007FFFF000001FFE0000000000
4285 0001FFFF80000007FF00000000000007FFFE00000001FF8000000000001FFFF800000000
4286 7FC000000000003FFFE0000000007FC00000000000FFFFC000000003FFE00000000001FF
4287 FF800000000FFFE00000000003FFFF000000001FFFF00000000007FFFE000000003FFFF0
4288 000000000FFFFC000000007FFFF8000000001FFFF800000000FFFFF8000000001FFFF000
4289 000000FFFFF8000000003FFFF000000000FFFFF8000000007FFFE000000000FFFFF80000
4290 00007FFFE000000000FFFFF800000000FFFFC000000001FFFFFC00000000FFFFC0000000
4291 00FFFFF800000000FFFFC000000000FFFFF800000001FFFFC000000000FFFFF800000001
4292 FFFF8000000000FFFFF800000001FFFF8000000000FFFFF800000001FFFF80000000007F
4293 FFF000000001FFFF80000000003FFFE000000001FFFF80000000001FFFC000000001FFFF
4294 80000000000FFF8000000001FFFF800000000003FE0000000001FFFF8000000000000000
4295 00000001FFFF800000000000000000000001FFFF800000000000000000000001FFFF8000
4296 00000000000000000001FFFF800000000000000000000001FFFF80000000000000000000
4297 0001FFFF800000000000000000000001FFFF800000000000000000000001FFFF80000000
4298 0000000000000001FFFF800000000000000000000001FFFF800000000000000000000001
4299 FFFF800000000000000000000001FFFF800000000000000000000001FFFF800000000000
4300 000000000001FFFF800000000000000000000001FFFF800000000000000000000001FFFF
4301 800000000000000000000001FFFF800000000000000000000001FFFF8000000000000000
4302 00000001FFFF80000007FFFFFFFC0000FFFFFFFFFFFFFFFFFFFFFFFC0000FFFFFFFFFFFF
4303 FFFFFFFFFFFC0000FFFFFFFFFFFFFFFFFFFFFFFC0000FFFFFFFFFFFFFFFFFFFFFFFC0000
4304 FFFFFFFFFFFFFFFFFFFFFFFC0000FFFFFFFFFFFFFFFFFFFFFFFC0000FFFFFFFFFFFFFFFF
4305 FFFFFFFC00000001FFFFC0000000007FFFFC00000001FFFFC0000000003FFFFC00000001
4306 FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001F
4307 FFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFF
4308 C0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC
4309 00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC000
4310 0000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC0000
4311 0001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000
4312 001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001
4313 FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001F
4314 FFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFF
4315 C0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC
4316 00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC000
4317 0000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC0000
4318 0001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000
4319 001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001
4320 FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001F
4321 FFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFF
4322 C0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC
4323 00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC000
4324 0000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC0000
4325 0001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000
4326 001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001
4327 FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001F
4328 FFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFF
4329 C0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC
4330 00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC000
4331 0000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC0000
4332 0001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000
4333 001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001
4334 FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001F
4335 FFFC00000001FFFFC0000000001FFFFC00007FFFFFFFFFFF0007FFFFFFFFFFF07FFFFFFF
4336 FFFF0007FFFFFFFFFFF07FFFFFFFFFFF0007FFFFFFFFFFF07FFFFFFFFFFF0007FFFFFFFF
4337 FFF07FFFFFFFFFFF0007FFFFFFFFFFF07FFFFFFFFFFF0007FFFFFFFFFFF07FFFFFFFFFFF
4338 0007FFFFFFFFFFF0>108 144 123 271 120 28 D[<00FE000003FFC0000FFFE0001FFF
4339 F8003FFFFC003FFFFC007FFFFE007FFFFF00FFFFFF00FFFFFF80FFFFFF80FFFFFF80FFFF
4340 FFC0FFFFFFC0FFFFFFC0FFFFFFC07FFFFFE07FFFFFE03FFFFFE03FFFFFE01FFFFBE00FFF
4341 F3E003FFC3E000FF03E0000003E0000003E0000003E0000003E0000003E0000007E00000
4342 07C0000007C0000007C0000007C000000FC000000F8000000F8000001F8000001F800000
4343 1F0000003F0000003F0000003E0000007E0000007C000000FC000000F8000001F8000003
4344 F0000003F0000007E000000FE000000FC000001F8000003F8000007F000000FE000001FC
4345 000003F8000007F000000FE000000FC000000780000003000000>27
4346 64 110 270 60 39 D[<00000000000000003FFFE00000000000E0000000000000001FFF
4347 FFFF0000000001E000000000000003FFFFFFFFF000000003E00000000000003FFFFFFFFF
4348 FC00000007E0000000000001FFFFFFFFFFFF8000000FE000000000000FFFFFFFFFFFFFE0
4349 00001FE000000000003FFFFFFFFFFFFFF800001FE00000000001FFFFFFFF0001FFFE0000
4350 3FE00000000007FFFFFFC000000FFF00007FE0000000001FFFFFFC00000001FFC000FFE0
4351 000000007FFFFFC0000000007FE001FFE000000000FFFFFF00000000001FF803FFE00000
4352 0003FFFFF8000000000007FC07FFE000000007FFFFE0000000000003FE07FFE00000001F
4353 FFFF80000000000000FF0FFFE00000003FFFFF000000000000007F9FFFE00000007FFFFC
4354 000000000000003FFFFFE0000001FFFFF8000000000000001FFFFFE0000003FFFFF00000
4355 000000000007FFFFE0000007FFFFC00000000000000003FFFFE000000FFFFF8000000000
4356 00000001FFFFE000001FFFFF000000000000000001FFFFE000003FFFFE00000000000000
4357 0000FFFFE000007FFFFC0000000000000000007FFFE00000FFFFF8000000000000000000
4358 3FFFE00001FFFFF80000000000000000001FFFE00001FFFFF00000000000000000001FFF
4359 E00003FFFFE00000000000000000000FFFE00007FFFFC000000000000000000007FFE000
4360 0FFFFFC000000000000000000007FFE0000FFFFF8000000000000000000003FFE0001FFF
4361 FF0000000000000000000003FFE0001FFFFF0000000000000000000001FFE0003FFFFE00
4362 00000000000000000001FFE0007FFFFE0000000000000000000000FFE0007FFFFC000000
4363 0000000000000000FFE000FFFFFC00000000000000000000007FE000FFFFFC0000000000
4364 0000000000007FE001FFFFF800000000000000000000007FE001FFFFF800000000000000
4365 000000003FE003FFFFF000000000000000000000003FE003FFFFF0000000000000000000
4366 00001FE003FFFFF000000000000000000000001FE007FFFFE00000000000000000000000
4367 1FE007FFFFE000000000000000000000001FE00FFFFFE000000000000000000000000FE0
4368 0FFFFFE000000000000000000000000FE00FFFFFC000000000000000000000000FE01FFF
4369 FFC000000000000000000000000FE01FFFFFC000000000000000000000000FE01FFFFFC0
4370 000000000000000000000007E01FFFFFC0000000000000000000000007E03FFFFF800000
4371 00000000000000000007E03FFFFF80000000000000000000000007E03FFFFF8000000000
4372 0000000000000000003FFFFF80000000000000000000000000007FFFFF80000000000000
4373 000000000000007FFFFF80000000000000000000000000007FFFFF800000000000000000
4374 00000000007FFFFF80000000000000000000000000007FFFFF0000000000000000000000
4375 0000007FFFFF00000000000000000000000000007FFFFF00000000000000000000000000
4376 00FFFFFF0000000000000000000000000000FFFFFF0000000000000000000000000000FF
4377 FFFF0000000000000000000000000000FFFFFF0000000000000000000000000000FFFFFF
4378 0000000000000000000000000000FFFFFF0000000000000000000000000000FFFFFF0000
4379 000000000000000000000000FFFFFF0000000000000000000000000000FFFFFF00000000
4380 00000000000000000000FFFFFF0000000000000000000000000000FFFFFF000000000000
4381 0000000000000000FFFFFF0000000000000000000000000000FFFFFF0000000000000000
4382 000000000000FFFFFF0000000000000000000000000000FFFFFF00000000000000000000
4383 00000000FFFFFF0000000000000000000000000000FFFFFF000000000000000000000000
4384 0000FFFFFF0000000000000000000000000000FFFFFF0000000000000000000000000000
4385 FFFFFF00000000000000000000000000007FFFFF00000000000000000000000000007FFF
4386 FF00000000000000000000000000007FFFFF00000000000000000000000000007FFFFF80
4387 000000000000000000000000007FFFFF80000000000000000000000000007FFFFF800000
4388 00000000000000000000007FFFFF80000000000000000000000000003FFFFF8000000000
4389 0000000000000000003FFFFF80000000000000000000000000003FFFFF80000000000000
4390 000000000000003FFFFF80000000000000000000000000001FFFFFC00000000000000000
4391 00000000001FFFFFC0000000000000000000000007E01FFFFFC000000000000000000000
4392 0007E01FFFFFC0000000000000000000000007E00FFFFFC0000000000000000000000007
4393 E00FFFFFE0000000000000000000000007E00FFFFFE0000000000000000000000007E007
4394 FFFFE0000000000000000000000007E007FFFFE000000000000000000000000FE003FFFF
4395 F000000000000000000000000FC003FFFFF000000000000000000000000FC003FFFFF000
4396 000000000000000000000FC001FFFFF800000000000000000000000FC001FFFFF8000000
4397 00000000000000001FC000FFFFFC00000000000000000000001F8000FFFFFC0000000000
4398 0000000000001F80007FFFFC00000000000000000000003F80007FFFFE00000000000000
4399 000000003F00003FFFFE00000000000000000000003F00001FFFFF000000000000000000
4400 00007F00001FFFFF80000000000000000000007E00000FFFFF8000000000000000000000
4401 FE00000FFFFFC000000000000000000000FC000007FFFFC000000000000000000001FC00
4402 0003FFFFE000000000000000000003F8000001FFFFF000000000000000000003F8000001
4403 FFFFF800000000000000000007F0000000FFFFF80000000000000000000FF00000007FFF
4404 FC0000000000000000000FE00000003FFFFE0000000000000000001FC00000001FFFFF00
4405 00000000000000003F800000000FFFFF8000000000000000007F8000000007FFFFC00000
4406 000000000000FF0000000003FFFFF00000000000000001FE0000000001FFFFF800000000
4407 00000003FC00000000007FFFFC0000000000000007F800000000003FFFFF000000000000
4408 001FF000000000001FFFFFC00000000000003FE0000000000007FFFFE0000000000000FF
4409 C0000000000003FFFFF8000000000001FF00000000000000FFFFFF000000000007FE0000
4410 00000000007FFFFFE0000000001FFC000000000000001FFFFFFC00000000FFF000000000
4411 00000007FFFFFFC0000007FFE00000000000000001FFFFFFFF0000FFFF80000000000000
4412 00003FFFFFFFFFFFFFFE0000000000000000000FFFFFFFFFFFFFF8000000000000000000
4413 01FFFFFFFFFFFFE0000000000000000000003FFFFFFFFFFF000000000000000000000003
4414 FFFFFFFFF80000000000000000000000001FFFFFFF80000000000000000000000000003F
4415 FFF0000000000000>131 146 116 271 156 67 D[<FFFFFFFFFFFFFFFFFFFFFFFFFFFF
4416 FC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFC00
4417 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0000FF
4418 FFFFFFFFFFFFFFFFFFFFFFFFFFFE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0000000007
4419 FFFFF00000000003FFFFFFFE0000000007FFFFF000000000000FFFFFFE0000000007FFFF
4420 F0000000000000FFFFFE0000000007FFFFF00000000000001FFFFE0000000007FFFFF000
4421 000000000007FFFE0000000007FFFFF000000000000003FFFE0000000007FFFFF0000000
4422 00000000FFFE0000000007FFFFF0000000000000007FFF0000000007FFFFF00000000000
4423 00003FFF0000000007FFFFF0000000000000001FFF0000000007FFFFF000000000000000
4424 0FFF0000000007FFFFF00000000000000007FF0000000007FFFFF00000000000000003FF
4425 0000000007FFFFF00000000000000003FF0000000007FFFFF00000000000000001FF0000
4426 000007FFFFF00000000000000001FF0000000007FFFFF00000000000000000FF00000000
4427 07FFFFF00000000000000000FF8000000007FFFFF000000000000000007F8000000007FF
4428 FFF000000000000000007F8000000007FFFFF000000000000000007F8000000007FFFFF0
4429 00000000000000003F8000000007FFFFF000000000000000003F8000000007FFFFF00000
4430 0000000000003F8000000007FFFFF000000000000000001F8000000007FFFFF000000000
4431 000000001F8000000007FFFFF000000000000000001FC000000007FFFFF0000000000000
4432 00001FC000000007FFFFF000000000000000001FC000000007FFFFF00000000000000000
4433 0FC000000007FFFFF000000000000000000FC000000007FFFFF000000000000000000FC0
4434 00000007FFFFF000000000000000000FC000000007FFFFF000000001F80000000FC00000
4435 0007FFFFF000000001F80000000FC000000007FFFFF000000001F80000000FE000000007
4436 FFFFF000000001F800000007E000000007FFFFF000000001F800000007E000000007FFFF
4437 F000000001F800000007E000000007FFFFF000000001F800000007E000000007FFFFF000
4438 000001F8000000000000000007FFFFF000000001F8000000000000000007FFFFF0000000
4439 01F8000000000000000007FFFFF000000003F8000000000000000007FFFFF000000003F8
4440 000000000000000007FFFFF000000003F8000000000000000007FFFFF000000003F80000
4441 00000000000007FFFFF000000007F8000000000000000007FFFFF000000007F800000000
4442 0000000007FFFFF00000000FF8000000000000000007FFFFF00000000FF8000000000000
4443 000007FFFFF00000001FF8000000000000000007FFFFF00000003FF80000000000000000
4444 07FFFFF00000007FF8000000000000000007FFFFF0000001FFF8000000000000000007FF
4445 FFF0000007FFF8000000000000000007FFFFF000007FFFF8000000000000000007FFFFFF
4446 FFFFFFFFF8000000000000000007FFFFFFFFFFFFFFF8000000000000000007FFFFFFFFFF
4447 FFFFF8000000000000000007FFFFFFFFFFFFFFF8000000000000000007FFFFFFFFFFFFFF
4448 F8000000000000000007FFFFFFFFFFFFFFF8000000000000000007FFFFFFFFFFFFFFF800
4449 0000000000000007FFFFF000007FFFF8000000000000000007FFFFF0000007FFF8000000
4450 000000000007FFFFF0000001FFF8000000000000000007FFFFF00000007FF80000000000
4451 00000007FFFFF00000003FF8000000000000000007FFFFF00000001FF800000000000000
4452 0007FFFFF00000000FF8000000000000000007FFFFF00000000FF8000000000000000007
4453 FFFFF000000007F8000000000000000007FFFFF000000007F8000000000000000007FFFF
4454 F000000003F8000000000000000007FFFFF000000003F8000000000000000007FFFFF000
4455 000003F8000000000000000007FFFFF000000003F8000000000000000007FFFFF0000000
4456 01F8000000000000000007FFFFF000000001F8000000000000000007FFFFF000000001F8
4457 000000001F80000007FFFFF000000001F8000000001F80000007FFFFF000000001F80000
4458 00001F80000007FFFFF000000001F8000000001F80000007FFFFF000000001F800000000
4459 3F00000007FFFFF000000001F8000000003F00000007FFFFF000000001F8000000003F00
4460 000007FFFFF000000001F8000000003F00000007FFFFF00000000000000000003F000000
4461 07FFFFF00000000000000000003F00000007FFFFF00000000000000000003F00000007FF
4462 FFF00000000000000000007F00000007FFFFF00000000000000000007E00000007FFFFF0
4463 0000000000000000007E00000007FFFFF00000000000000000007E00000007FFFFF00000
4464 000000000000007E00000007FFFFF0000000000000000000FE00000007FFFFF000000000
4465 0000000000FE00000007FFFFF0000000000000000000FE00000007FFFFF0000000000000
4466 000000FC00000007FFFFF0000000000000000001FC00000007FFFFF00000000000000000
4467 01FC00000007FFFFF0000000000000000001FC00000007FFFFF0000000000000000003FC
4468 00000007FFFFF0000000000000000003FC00000007FFFFF0000000000000000003FC0000
4469 0007FFFFF0000000000000000007FC00000007FFFFF0000000000000000007F800000007
4470 FFFFF000000000000000000FF800000007FFFFF000000000000000000FF800000007FFFF
4471 F000000000000000001FF800000007FFFFF000000000000000001FF800000007FFFFF000
4472 000000000000003FF800000007FFFFF000000000000000007FF800000007FFFFF0000000
4473 00000000007FF800000007FFFFF00000000000000000FFF000000007FFFFF00000000000
4474 000001FFF000000007FFFFF00000000000000003FFF000000007FFFFF000000000000000
4475 07FFF000000007FFFFF0000000000000001FFFF000000007FFFFF0000000000000003FFF
4476 F000000007FFFFF000000000000000FFFFF000000007FFFFF000000000000003FFFFE000
4477 000007FFFFF00000000000000FFFFFE000000007FFFFF00000000000007FFFFFE0000000
4478 07FFFFF0000000000007FFFFFFE000000007FFFFF00000000001FFFFFFFFE000FFFFFFFF
4479 FFFFFFFFFFFFFFFFFFFFFFE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE000FFFFFFFFFFFF
4480 FFFFFFFFFFFFFFFFFFE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC000FFFFFFFFFFFFFFFF
4481 FFFFFFFFFFFFFFC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC000FFFFFFFFFFFFFFFFFFFF
4482 FFFFFFFFFFC000>129 141 122 268 142 69 D[<00000000000000003FFFE000000000
4483 00E00000000000000000001FFFFFFF0000000001E0000000000000000003FFFFFFFFF000
4484 000003E000000000000000003FFFFFFFFFFC00000007E00000000000000001FFFFFFFFFF
4485 FF8000000FE0000000000000000FFFFFFFFFFFFFE000001FE0000000000000003FFFFFFF
4486 FFFFFFF800001FE000000000000001FFFFFFFF0001FFFE00003FE000000000000007FFFF
4487 FFC000000FFF00007FE00000000000001FFFFFFC00000001FFC000FFE00000000000007F
4488 FFFFC0000000007FE001FFE0000000000000FFFFFF00000000001FF803FFE00000000000
4489 03FFFFF8000000000007FC07FFE0000000000007FFFFE0000000000003FE07FFE0000000
4490 00001FFFFF80000000000000FF0FFFE000000000003FFFFF000000000000007F9FFFE000
4491 000000007FFFFC000000000000003FFFFFE00000000001FFFFF8000000000000001FFFFF
4492 E00000000003FFFFF00000000000000007FFFFE00000000007FFFFC00000000000000003
4493 FFFFE0000000000FFFFF800000000000000001FFFFE0000000001FFFFF00000000000000
4494 0001FFFFE0000000003FFFFE000000000000000000FFFFE0000000007FFFFC0000000000
4495 000000007FFFE000000000FFFFF80000000000000000003FFFE000000001FFFFF8000000
4496 0000000000001FFFE000000001FFFFF00000000000000000001FFFE000000003FFFFE000
4497 00000000000000000FFFE000000007FFFFC000000000000000000007FFE00000000FFFFF
4498 C000000000000000000007FFE00000000FFFFF8000000000000000000003FFE00000001F
4499 FFFF0000000000000000000003FFE00000001FFFFF0000000000000000000001FFE00000
4500 003FFFFE0000000000000000000001FFE00000007FFFFE0000000000000000000000FFE0
4501 0000007FFFFC0000000000000000000000FFE0000000FFFFFC0000000000000000000000
4502 7FE0000000FFFFFC00000000000000000000007FE0000001FFFFF8000000000000000000
4503 00007FE0000001FFFFF800000000000000000000003FE0000003FFFFF000000000000000
4504 000000003FE0000003FFFFF000000000000000000000001FE0000003FFFFF00000000000
4505 0000000000001FE0000007FFFFE000000000000000000000001FE0000007FFFFE0000000
4506 00000000000000001FE000000FFFFFE000000000000000000000000FE000000FFFFFE000
4507 000000000000000000000FE000000FFFFFC000000000000000000000000FE000001FFFFF
4508 C000000000000000000000000FE000001FFFFFC000000000000000000000000FE000001F
4509 FFFFC0000000000000000000000007E000001FFFFFC0000000000000000000000007E000
4510 003FFFFF80000000000000000000000007E000003FFFFF80000000000000000000000007
4511 E000003FFFFF800000000000000000000000000000003FFFFF8000000000000000000000
4512 00000000007FFFFF800000000000000000000000000000007FFFFF800000000000000000
4513 000000000000007FFFFF800000000000000000000000000000007FFFFF80000000000000
4514 0000000000000000007FFFFF000000000000000000000000000000007FFFFF0000000000
4515 00000000000000000000007FFFFF00000000000000000000000000000000FFFFFF000000
4516 00000000000000000000000000FFFFFF00000000000000000000000000000000FFFFFF00
4517 000000000000000000000000000000FFFFFF00000000000000000000000000000000FFFF
4518 FF00000000000000000000000000000000FFFFFF00000000000000000000000000000000
4519 FFFFFF00000000000000000000000000000000FFFFFF0000000000000000000000000000
4520 0000FFFFFF00000000000000000000000000000000FFFFFF000000000000000000000000
4521 00000000FFFFFF00000000000000000000000000000000FFFFFF00000000000000000000
4522 000000000000FFFFFF00000000000000000000000000000000FFFFFF0000000000000000
4523 0000000000000000FFFFFF00000000000000000000000000000000FFFFFF000000000000
4524 00000000000000000000FFFFFF00000000000000000000000000000000FFFFFF00000000
4525 000000000000000000000000FFFFFF00000000000000000000000000000000FFFFFF0000
4526 00000000000000000000000000007FFFFF000000000000000000000000000000007FFFFF
4527 000000000000000000000000000000007FFFFF800000000000000000000000000000007F
4528 FFFF800000000000000000000000000000007FFFFF800000000000000000000000000000
4529 007FFFFF800000000000007FFFFFFFFFFFFFFFC07FFFFF800000000000007FFFFFFFFFFF
4530 FFFFC03FFFFF800000000000007FFFFFFFFFFFFFFFC03FFFFF800000000000007FFFFFFF
4531 FFFFFFFFC03FFFFF800000000000007FFFFFFFFFFFFFFFC03FFFFFC00000000000007FFF
4532 FFFFFFFFFFFFC01FFFFFC00000000000007FFFFFFFFFFFFFFFC01FFFFFC0000000000000
4533 0000000FFFFFE000001FFFFFC00000000000000000000FFFFFE000001FFFFFC000000000
4534 00000000000FFFFFE000000FFFFFE00000000000000000000FFFFFE000000FFFFFE00000
4535 000000000000000FFFFFE000000FFFFFE00000000000000000000FFFFFE0000007FFFFE0
4536 0000000000000000000FFFFFE0000007FFFFF00000000000000000000FFFFFE0000003FF
4537 FFF00000000000000000000FFFFFE0000003FFFFF00000000000000000000FFFFFE00000
4538 03FFFFF80000000000000000000FFFFFE0000001FFFFF80000000000000000000FFFFFE0
4539 000001FFFFF80000000000000000000FFFFFE0000000FFFFFC0000000000000000000FFF
4540 FFE0000000FFFFFC0000000000000000000FFFFFE00000007FFFFE000000000000000000
4541 0FFFFFE00000007FFFFE0000000000000000000FFFFFE00000003FFFFF00000000000000
4542 00000FFFFFE00000001FFFFF0000000000000000000FFFFFE00000001FFFFF8000000000
4543 000000000FFFFFE00000000FFFFF8000000000000000000FFFFFE00000000FFFFFC00000
4544 0000000000000FFFFFE000000007FFFFE000000000000000000FFFFFE000000003FFFFE0
4545 00000000000000000FFFFFE000000001FFFFF000000000000000000FFFFFE000000001FF
4546 FFF800000000000000000FFFFFE000000000FFFFFC00000000000000000FFFFFE0000000
4547 007FFFFE00000000000000000FFFFFE0000000003FFFFF00000000000000001FFFFFE000
4548 0000001FFFFF80000000000000001FFFFFE0000000000FFFFFC0000000000000001FFFFF
4549 E00000000007FFFFE0000000000000003FFFFFE00000000003FFFFF0000000000000003F
4550 FFFFE00000000001FFFFF8000000000000007FFFFFE000000000007FFFFE000000000000
4551 00FFFFFFE000000000003FFFFF00000000000000FEFFFFE000000000001FFFFFC0000000
4552 000001FEFFFFE0000000000007FFFFF0000000000003FC7FFFE0000000000003FFFFFC00
4553 000000000FF83FFFE0000000000000FFFFFF00000000001FF01FFFE00000000000007FFF
4554 FFE0000000007FE007FFE00000000000001FFFFFFC00000001FFC003FFE0000000000000
4555 07FFFFFFC000000FFF8001FFE000000000000001FFFFFFFF8000FFFE00007FE000000000
4556 0000003FFFFFFFFFFFFFFC00003FE0000000000000000FFFFFFFFFFFFFF000000FE00000
4557 000000000001FFFFFFFFFFFFC0000007E000000000000000003FFFFFFFFFFE00000001E0
4558 000000000000000003FFFFFFFFF800000000600000000000000000001FFFFFFF80000000
4559 0000000000000000000000003FFFE00000000000000000>146 146
4560 116 271 170 71 D[<FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE0
4561 FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE0
4562 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4563 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4564 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4565 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4566 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4567 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4568 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4569 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4570 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4571 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4572 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4573 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4574 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4575 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4576 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4577 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4578 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4579 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4580 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4581 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4582 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4583 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4584 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4585 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4586 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4587 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4588 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4589 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4590 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4591 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4592 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4593 000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000
4594 FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE0
4595 FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE0>67
4596 142 122 269 79 73 D[<FFFFFFFFFFFFFFFF8000000001FFFFFFFFFFF8FFFFFFFFFFFF
4597 FFFF8000000001FFFFFFFFFFF8FFFFFFFFFFFFFFFF8000000001FFFFFFFFFFF8FFFFFFFF
4598 FFFFFFFF8000000001FFFFFFFFFFF8FFFFFFFFFFFFFFFF8000000001FFFFFFFFFFF8FFFF
4599 FFFFFFFFFFFF8000000001FFFFFFFFFFF8FFFFFFFFFFFFFFFF8000000001FFFFFFFFFFF8
4600 000007FFFFF00000000000000001FFFFFF8000000007FFFFF0000000000000000007FFE0
4601 0000000007FFFFF0000000000000000001FF000000000007FFFFF0000000000000000003
4602 FE000000000007FFFFF0000000000000000007FC000000000007FFFFF000000000000000
4603 000FF8000000000007FFFFF000000000000000001FF0000000000007FFFFF00000000000
4604 0000003FE0000000000007FFFFF000000000000000007FC0000000000007FFFFF0000000
4605 0000000000FF80000000000007FFFFF00000000000000001FE00000000000007FFFFF000
4606 00000000000003FC00000000000007FFFFF00000000000000007F800000000000007FFFF
4607 F0000000000000000FF000000000000007FFFFF0000000000000001FE000000000000007
4608 FFFFF0000000000000003FC000000000000007FFFFF000000000000000FF800000000000
4609 0007FFFFF000000000000001FF0000000000000007FFFFF000000000000003FE00000000
4610 00000007FFFFF000000000000007FC0000000000000007FFFFF00000000000000FF80000
4611 000000000007FFFFF00000000000001FF00000000000000007FFFFF00000000000003FE0
4612 0000000000000007FFFFF00000000000007FC00000000000000007FFFFF0000000000000
4613 FF000000000000000007FFFFF0000000000001FE000000000000000007FFFFF000000000
4614 0003FC000000000000000007FFFFF0000000000007F8000000000000000007FFFFF00000
4615 0000000FF0000000000000000007FFFFF000000000001FE0000000000000000007FFFFF0
4616 00000000007FC0000000000000000007FFFFF00000000000FF80000000000000000007FF
4617 FFF00000000001FF00000000000000000007FFFFF00000000003FE000000000000000000
4618 07FFFFF00000000007FC00000000000000000007FFFFF0000000000FF800000000000000
4619 000007FFFFF0000000001FF000000000000000000007FFFFF0000000003FE00000000000
4620 0000000007FFFFF0000000007F8000000000000000000007FFFFF000000000FF00000000
4621 00000000000007FFFFF000000001FE0000000000000000000007FFFFF000000003FC0000
4622 000000000000000007FFFFF000000007F80000000000000000000007FFFFF00000000FF0
4623 0000000000000000000007FFFFF00000003FE00000000000000000000007FFFFF0000000
4624 7FC00000000000000000000007FFFFF0000000FF800000000000000000000007FFFFF000
4625 0001FF800000000000000000000007FFFFF0000003FFC00000000000000000000007FFFF
4626 F0000007FFE00000000000000000000007FFFFF000000FFFE00000000000000000000007
4627 FFFFF000001FFFF00000000000000000000007FFFFF000003FFFF8000000000000000000
4628 0007FFFFF000007FFFF80000000000000000000007FFFFF00000FFFFFC00000000000000
4629 00000007FFFFF00001FFFFFE0000000000000000000007FFFFF00003FFFFFE0000000000
4630 000000000007FFFFF00007FFFFFF0000000000000000000007FFFFF0001FFFFFFF800000
4631 0000000000000007FFFFF0003FFFFFFF8000000000000000000007FFFFF0007FFFFFFFC0
4632 00000000000000000007FFFFF000FFFFFFFFE000000000000000000007FFFFF001FF7FFF
4633 FFE000000000000000000007FFFFF003FE3FFFFFF000000000000000000007FFFFF007FC
4634 1FFFFFF800000000000000000007FFFFF00FF81FFFFFF800000000000000000007FFFFF0
4635 1FE00FFFFFFC00000000000000000007FFFFF03FC007FFFFFE00000000000000000007FF
4636 FFF07F8007FFFFFE00000000000000000007FFFFF0FF0003FFFFFF000000000000000000
4637 07FFFFF1FE0001FFFFFF80000000000000000007FFFFF3FC0000FFFFFF80000000000000
4638 000007FFFFFFF80000FFFFFFC0000000000000000007FFFFFFF000007FFFFFE000000000
4639 0000000007FFFFFFE000003FFFFFE0000000000000000007FFFFFFC000003FFFFFF00000
4640 00000000000007FFFFFF8000001FFFFFF8000000000000000007FFFFFF0000000FFFFFFC
4641 000000000000000007FFFFFE0000000FFFFFFC000000000000000007FFFFFC00000007FF
4642 FFFE000000000000000007FFFFF000000003FFFFFF000000000000000007FFFFF0000000
4643 03FFFFFF000000000000000007FFFFF000000001FFFFFF800000000000000007FFFFF000
4644 000000FFFFFFC00000000000000007FFFFF000000000FFFFFFC00000000000000007FFFF
4645 F0000000007FFFFFE00000000000000007FFFFF0000000003FFFFFF00000000000000007
4646 FFFFF0000000003FFFFFF00000000000000007FFFFF0000000001FFFFFF8000000000000
4647 0007FFFFF0000000000FFFFFFC0000000000000007FFFFF0000000000FFFFFFC00000000
4648 00000007FFFFF00000000007FFFFFE0000000000000007FFFFF00000000003FFFFFF0000
4649 000000000007FFFFF00000000003FFFFFF0000000000000007FFFFF00000000001FFFFFF
4650 8000000000000007FFFFF00000000000FFFFFFC000000000000007FFFFF00000000000FF
4651 FFFFC000000000000007FFFFF000000000007FFFFFE000000000000007FFFFF000000000
4652 003FFFFFF000000000000007FFFFF000000000003FFFFFF000000000000007FFFFF00000
4653 0000001FFFFFF800000000000007FFFFF000000000000FFFFFFC00000000000007FFFFF0
4654 00000000000FFFFFFC00000000000007FFFFF0000000000007FFFFFE00000000000007FF
4655 FFF0000000000003FFFFFF00000000000007FFFFF0000000000003FFFFFF000000000000
4656 07FFFFF0000000000001FFFFFF80000000000007FFFFF0000000000000FFFFFFC0000000
4657 000007FFFFF0000000000000FFFFFFC0000000000007FFFFF00000000000007FFFFFE000
4658 0000000007FFFFF00000000000003FFFFFF0000000000007FFFFF00000000000001FFFFF
4659 F0000000000007FFFFF00000000000001FFFFFF8000000000007FFFFF00000000000000F
4660 FFFFFC000000000007FFFFF000000000000007FFFFFE000000000007FFFFF00000000000
4661 0007FFFFFE000000000007FFFFF000000000000003FFFFFF000000000007FFFFF0000000
4662 00000001FFFFFF800000000007FFFFF000000000000001FFFFFF800000000007FFFFF000
4663 000000000000FFFFFFC00000000007FFFFF0000000000000007FFFFFE00000000007FFFF
4664 F0000000000000007FFFFFE00000000007FFFFF0000000000000003FFFFFF00000000007
4665 FFFFF0000000000000001FFFFFF80000000007FFFFF0000000000000001FFFFFF8000000
4666 0007FFFFF0000000000000000FFFFFFC0000000007FFFFF0000000000000001FFFFFFE00
4667 00000007FFFFF000000000000001FFFFFFFFC000FFFFFFFFFFFFFFFF8000000FFFFFFFFF
4668 FFFFFFFFFFFFFFFFFFFFFF8000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000000FFFFF
4669 FFFFFFFFFFFFFFFFFFFFFFFFFF8000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000000F
4670 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000
4671 000FFFFFFFFFFFFFFF>152 142 121 269 169 75 D[<FFFFFFFFFFFFFFFFFFFE000000
4672 000000000000FFFFFFFFFFFFFFFFFFFFFE0000000000000000FFFFFFFFFFFFFFFFFFFFFF
4673 E000000000000000FFFFFFFFFFFFFFFFFFFFFFFE00000000000000FFFFFFFFFFFFFFFFFF
4674 FFFFFFC0000000000000FFFFFFFFFFFFFFFFFFFFFFFFF0000000000000FFFFFFFFFFFFFF
4675 FFFFFFFFFFFE000000000000000007FFFFE00000001FFFFFFF800000000000000007FFFF
4676 E0000000007FFFFFE00000000000000007FFFFE0000000000FFFFFF00000000000000007
4677 FFFFE00000000001FFFFFC0000000000000007FFFFE000000000007FFFFE000000000000
4678 0007FFFFE000000000003FFFFF8000000000000007FFFFE000000000000FFFFFC0000000
4679 00000007FFFFE0000000000007FFFFE000000000000007FFFFE0000000000003FFFFF000
4680 000000000007FFFFE0000000000001FFFFF800000000000007FFFFE0000000000000FFFF
4681 FC00000000000007FFFFE00000000000007FFFFC00000000000007FFFFE0000000000000
4682 7FFFFE00000000000007FFFFE00000000000003FFFFF00000000000007FFFFE000000000
4683 00003FFFFF00000000000007FFFFE00000000000001FFFFF80000000000007FFFFE00000
4684 000000001FFFFFC0000000000007FFFFE00000000000000FFFFFC0000000000007FFFFE0
4685 0000000000000FFFFFC0000000000007FFFFE00000000000000FFFFFE0000000000007FF
4686 FFE00000000000000FFFFFE0000000000007FFFFE00000000000000FFFFFF00000000000
4687 07FFFFE000000000000007FFFFF0000000000007FFFFE000000000000007FFFFF0000000
4688 000007FFFFE000000000000007FFFFF0000000000007FFFFE000000000000007FFFFF800
4689 0000000007FFFFE000000000000007FFFFF8000000000007FFFFE000000000000007FFFF
4690 F8000000000007FFFFE000000000000007FFFFF8000000000007FFFFE000000000000007
4691 FFFFF8000000000007FFFFE000000000000007FFFFF8000000000007FFFFE00000000000
4692 0007FFFFF8000000000007FFFFE000000000000007FFFFF8000000000007FFFFE0000000
4693 00000007FFFFF8000000000007FFFFE000000000000007FFFFF8000000000007FFFFE000
4694 000000000007FFFFF8000000000007FFFFE000000000000007FFFFF0000000000007FFFF
4695 E000000000000007FFFFF0000000000007FFFFE000000000000007FFFFF0000000000007
4696 FFFFE00000000000000FFFFFE0000000000007FFFFE00000000000000FFFFFE000000000
4697 0007FFFFE00000000000000FFFFFE0000000000007FFFFE00000000000000FFFFFC00000
4698 00000007FFFFE00000000000001FFFFFC0000000000007FFFFE00000000000001FFFFF80
4699 000000000007FFFFE00000000000001FFFFF80000000000007FFFFE00000000000003FFF
4700 FF00000000000007FFFFE00000000000003FFFFE00000000000007FFFFE0000000000000
4701 7FFFFC00000000000007FFFFE00000000000007FFFFC00000000000007FFFFE000000000
4702 0000FFFFF800000000000007FFFFE0000000000001FFFFF000000000000007FFFFE00000
4703 00000003FFFFE000000000000007FFFFE0000000000007FFFF8000000000000007FFFFE0
4704 00000000000FFFFF0000000000000007FFFFE000000000003FFFFE0000000000000007FF
4705 FFE00000000000FFFFF80000000000000007FFFFE00000000003FFFFE000000000000000
4706 07FFFFE0000000000FFFFFC00000000000000007FFFFE000000000FFFFFF000000000000
4707 000007FFFFE00000001FFFFFF8000000000000000007FFFFFFFFFFFFFFFFFFE000000000
4708 0000000007FFFFFFFFFFFFFFFFFF00000000000000000007FFFFFFFFFFFFFFFFF0000000
4709 00000000000007FFFFFFFFFFFFFFFFF000000000000000000007FFFFFFFFFFFFFFFFFE00
4710 000000000000000007FFFFE00000007FFFFF80000000000000000007FFFFE00000000FFF
4711 FFE0000000000000000007FFFFE000000001FFFFF8000000000000000007FFFFE0000000
4712 007FFFFC000000000000000007FFFFE0000000003FFFFF000000000000000007FFFFE000
4713 0000000FFFFF800000000000000007FFFFE00000000007FFFFC00000000000000007FFFF
4714 E00000000003FFFFE00000000000000007FFFFE00000000001FFFFF00000000000000007
4715 FFFFE00000000001FFFFF80000000000000007FFFFE00000000000FFFFFC000000000000
4716 0007FFFFE000000000007FFFFE0000000000000007FFFFE000000000007FFFFF00000000
4717 00000007FFFFE000000000003FFFFF0000000000000007FFFFE000000000003FFFFF8000
4718 000000000007FFFFE000000000001FFFFFC000000000000007FFFFE000000000001FFFFF
4719 C000000000000007FFFFE000000000000FFFFFC000000000000007FFFFE000000000000F
4720 FFFFE000000000000007FFFFE000000000000FFFFFE000000000000007FFFFE000000000
4721 000FFFFFE000000000000007FFFFE0000000000007FFFFF000000000000007FFFFE00000
4722 00000007FFFFF000000000000007FFFFE0000000000007FFFFF000000000000007FFFFE0
4723 000000000007FFFFF000000000000007FFFFE0000000000007FFFFF000000000000007FF
4724 FFE0000000000007FFFFF000000000000007FFFFE0000000000007FFFFF0000000000000
4725 07FFFFE0000000000007FFFFF000000000000007FFFFE0000000000007FFFFF000000000
4726 000007FFFFE0000000000007FFFFF000000000000007FFFFE0000000000007FFFFF00000
4727 0000000007FFFFE0000000000007FFFFF000000000000007FFFFE0000000000007FFFFF0
4728 00000000000007FFFFE0000000000007FFFFF800000000000007FFFFE0000000000007FF
4729 FFF800000000000007FFFFE0000000000007FFFFF800000000000007FFFFE00000000000
4730 07FFFFF800000000000007FFFFE0000000000007FFFFF800000000000007FFFFE0000000
4731 000007FFFFF800000000000007FFFFE0000000000007FFFFF800000000000007FFFFE000
4732 0000000007FFFFF800000000000007FFFFE0000000000007FFFFF800000000000007FFFF
4733 E0000000000007FFFFF800000000000007FFFFE0000000000007FFFFF800000000000007
4734 FFFFE0000000000007FFFFF800000000000007FFFFE0000000000007FFFFF80000000000
4735 0007FFFFE0000000000007FFFFF800000000000007FFFFE0000000000007FFFFF8000000
4736 3C000007FFFFE0000000000007FFFFFC0000007E000007FFFFE0000000000003FFFFFC00
4737 00007E000007FFFFE0000000000003FFFFFC0000007E000007FFFFE0000000000003FFFF
4738 FC0000007E000007FFFFE0000000000001FFFFFC0000007E000007FFFFE0000000000001
4739 FFFFFE000000FE000007FFFFE0000000000001FFFFFE000000FC000007FFFFE000000000
4740 0000FFFFFE000000FC000007FFFFE00000000000007FFFFF000001FC000007FFFFE00000
4741 000000007FFFFF000001FC000007FFFFE00000000000003FFFFF800001F8000007FFFFE0
4742 0000000000001FFFFF800003F8000007FFFFE00000000000000FFFFFC00007F0FFFFFFFF
4743 FFFFFFFF0000000007FFFFE0000FE0FFFFFFFFFFFFFFFF0000000003FFFFF0001FE0FFFF
4744 FFFFFFFFFFFF0000000000FFFFFC003FC0FFFFFFFFFFFFFFFF00000000007FFFFF81FF80
4745 FFFFFFFFFFFFFFFF00000000001FFFFFFFFF00FFFFFFFFFFFFFFFF000000000003FFFFFF
4746 FE00FFFFFFFFFFFFFFFF000000000000FFFFFFF80000000000000000000000000000000F
4747 FFFFF0000000000000000000000000000000003FFF8000>151 144
4748 121 269 160 82 D[<1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC01FFFFFFFFFFFFFFFFFFF
4749 FFFFFFFFFFFFC01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC01FFFFFFFFFFFFFFFFFFFFFFF
4750 FFFFFFFFC01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC01FFFFFFFFFFFFFFFFFFFFFFFFFFF
4751 FFFFC01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC01FFFFFFC000001FFFFFC000001FFFFFF
4752 C03FFFFF80000001FFFFFC0000000FFFFFE03FFFFC00000001FFFFFC00000001FFFFE03F
4753 FFF000000001FFFFFC000000007FFFE03FFFC000000001FFFFFC000000001FFFE03FFF80
4754 00000001FFFFFC000000000FFFE03FFE0000000001FFFFFC0000000003FFE03FFC000000
4755 0001FFFFFC0000000001FFE03FF80000000001FFFFFC0000000000FFE03FF80000000001
4756 FFFFFC0000000000FFE03FF00000000001FFFFFC00000000007FE03FE00000000001FFFF
4757 FC00000000003FE03FE00000000001FFFFFC00000000003FE03FC00000000001FFFFFC00
4758 000000001FE03FC00000000001FFFFFC00000000001FE03FC00000000001FFFFFC000000
4759 00001FE03F800000000001FFFFFC00000000000FE07F800000000001FFFFFC0000000000
4760 0FF07F800000000001FFFFFC00000000000FF07F000000000001FFFFFC000000000007F0
4761 7F000000000001FFFFFC000000000007F07F000000000001FFFFFC000000000007F07F00
4762 0000000001FFFFFC000000000007F07F000000000001FFFFFC000000000007F07E000000
4763 000001FFFFFC000000000003F07E000000000001FFFFFC000000000003F07E0000000000
4764 01FFFFFC000000000003F07E000000000001FFFFFC000000000003F07E000000000001FF
4765 FFFC000000000003F07E000000000001FFFFFC000000000003F07E000000000001FFFFFC
4766 000000000003F07E000000000001FFFFFC000000000003F0FE000000000001FFFFFC0000
4767 00000003F8FC000000000001FFFFFC000000000001F8FC000000000001FFFFFC00000000
4768 0001F8FC000000000001FFFFFC000000000001F8FC000000000001FFFFFC000000000001
4769 F8FC000000000001FFFFFC000000000001F8FC000000000001FFFFFC000000000001F8FC
4770 000000000001FFFFFC000000000001F800000000000001FFFFFC00000000000000000000
4771 00000001FFFFFC0000000000000000000000000001FFFFFC000000000000000000000000
4772 0001FFFFFC0000000000000000000000000001FFFFFC0000000000000000000000000001
4773 FFFFFC0000000000000000000000000001FFFFFC0000000000000000000000000001FFFF
4774 FC0000000000000000000000000001FFFFFC0000000000000000000000000001FFFFFC00
4775 00000000000000000000000001FFFFFC0000000000000000000000000001FFFFFC000000
4776 0000000000000000000001FFFFFC0000000000000000000000000001FFFFFC0000000000
4777 000000000000000001FFFFFC0000000000000000000000000001FFFFFC00000000000000
4778 00000000000001FFFFFC0000000000000000000000000001FFFFFC000000000000000000
4779 0000000001FFFFFC0000000000000000000000000001FFFFFC0000000000000000000000
4780 000001FFFFFC0000000000000000000000000001FFFFFC00000000000000000000000000
4781 01FFFFFC0000000000000000000000000001FFFFFC0000000000000000000000000001FF
4782 FFFC0000000000000000000000000001FFFFFC0000000000000000000000000001FFFFFC
4783 0000000000000000000000000001FFFFFC0000000000000000000000000001FFFFFC0000
4784 000000000000000000000001FFFFFC0000000000000000000000000001FFFFFC00000000
4785 00000000000000000001FFFFFC0000000000000000000000000001FFFFFC000000000000
4786 0000000000000001FFFFFC0000000000000000000000000001FFFFFC0000000000000000
4787 000000000001FFFFFC0000000000000000000000000001FFFFFC00000000000000000000
4788 00000001FFFFFC0000000000000000000000000001FFFFFC000000000000000000000000
4789 0001FFFFFC0000000000000000000000000001FFFFFC0000000000000000000000000001
4790 FFFFFC0000000000000000000000000001FFFFFC0000000000000000000000000001FFFF
4791 FC0000000000000000000000000001FFFFFC0000000000000000000000000001FFFFFC00
4792 00000000000000000000000001FFFFFC0000000000000000000000000001FFFFFC000000
4793 0000000000000000000001FFFFFC0000000000000000000000000001FFFFFC0000000000
4794 000000000000000001FFFFFC0000000000000000000000000001FFFFFC00000000000000
4795 00000000000001FFFFFC0000000000000000000000000001FFFFFC000000000000000000
4796 0000000001FFFFFC0000000000000000000000000001FFFFFC0000000000000000000000
4797 000001FFFFFC0000000000000000000000000001FFFFFC00000000000000000000000000
4798 01FFFFFC0000000000000000000000000001FFFFFC0000000000000000000000000001FF
4799 FFFC0000000000000000000000000001FFFFFC0000000000000000000000000001FFFFFC
4800 0000000000000000000000000001FFFFFC0000000000000000000000000001FFFFFC0000
4801 000000000000000000000001FFFFFC0000000000000000000000000001FFFFFC00000000
4802 00000000000000000001FFFFFC0000000000000000000000000001FFFFFC000000000000
4803 0000000000000001FFFFFC0000000000000000000000000001FFFFFC0000000000000000
4804 000000000001FFFFFC0000000000000000000000000001FFFFFC00000000000000000000
4805 00000001FFFFFC0000000000000000000000000001FFFFFC000000000000000000000000
4806 0001FFFFFC0000000000000000000000000001FFFFFC0000000000000000000000000001
4807 FFFFFC0000000000000000000000000001FFFFFC0000000000000000000000000001FFFF
4808 FC0000000000000000000000000001FFFFFC0000000000000000000000000001FFFFFC00
4809 00000000000000000000000001FFFFFC0000000000000000000000000001FFFFFC000000
4810 0000000000000000000001FFFFFC0000000000000000000000000001FFFFFC0000000000
4811 000000000000000001FFFFFC000000000000000000007FFFFFFFFFFFFFFFFFFFF0000000
4812 0000007FFFFFFFFFFFFFFFFFFFF00000000000007FFFFFFFFFFFFFFFFFFFF00000000000
4813 007FFFFFFFFFFFFFFFFFFFF00000000000007FFFFFFFFFFFFFFFFFFFF00000000000007F
4814 FFFFFFFFFFFFFFFFFFF00000000000007FFFFFFFFFFFFFFFFFFFF0000000>133
4815 141 120 268 150 84 D[<FFFFFFFFFFFFFFFF8000000001FFFFFFFFFFFEFFFFFFFFFFFF
4816 FFFF8000000001FFFFFFFFFFFEFFFFFFFFFFFFFFFF8000000001FFFFFFFFFFFEFFFFFFFF
4817 FFFFFFFF8000000001FFFFFFFFFFFEFFFFFFFFFFFFFFFF8000000001FFFFFFFFFFFEFFFF
4818 FFFFFFFFFFFF8000000001FFFFFFFFFFFEFFFFFFFFFFFFFFFF8000000001FFFFFFFFFFFE
4819 000007FFFFF0000000000000000007FFFF8000000007FFFFF00000000000000000003FF0
4820 0000000007FFFFF00000000000000000000FC00000000007FFFFF0000000000000000000
4821 0FC00000000007FFFFF00000000000000000000FC00000000007FFFFF000000000000000
4822 00000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF00000000000
4823 000000000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF0000000
4824 0000000000000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF000
4825 00000000000000000FC00000000007FFFFF00000000000000000000FC00000000007FFFF
4826 F00000000000000000000FC00000000007FFFFF00000000000000000000FC00000000007
4827 FFFFF00000000000000000000FC00000000007FFFFF00000000000000000000FC0000000
4828 0007FFFFF00000000000000000000FC00000000007FFFFF00000000000000000000FC000
4829 00000007FFFFF00000000000000000000FC00000000007FFFFF00000000000000000000F
4830 C00000000007FFFFF00000000000000000000FC00000000007FFFFF00000000000000000
4831 000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF0000000000000
4832 0000000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF000000000
4833 00000000000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF00000
4834 000000000000000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF0
4835 0000000000000000000FC00000000007FFFFF00000000000000000000FC00000000007FF
4836 FFF00000000000000000000FC00000000007FFFFF00000000000000000000FC000000000
4837 07FFFFF00000000000000000000FC00000000007FFFFF00000000000000000000FC00000
4838 000007FFFFF00000000000000000000FC00000000007FFFFF00000000000000000000FC0
4839 0000000007FFFFF00000000000000000000FC00000000007FFFFF0000000000000000000
4840 0FC00000000007FFFFF00000000000000000000FC00000000007FFFFF000000000000000
4841 00000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF00000000000
4842 000000000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF0000000
4843 0000000000000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF000
4844 00000000000000000FC00000000007FFFFF00000000000000000000FC00000000007FFFF
4845 F00000000000000000000FC00000000007FFFFF00000000000000000000FC00000000007
4846 FFFFF00000000000000000000FC00000000007FFFFF00000000000000000000FC0000000
4847 0007FFFFF00000000000000000000FC00000000007FFFFF00000000000000000000FC000
4848 00000007FFFFF00000000000000000000FC00000000007FFFFF00000000000000000000F
4849 C00000000007FFFFF00000000000000000000FC00000000007FFFFF00000000000000000
4850 000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF0000000000000
4851 0000000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF000000000
4852 00000000000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF00000
4853 000000000000000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF0
4854 0000000000000000000FC00000000007FFFFF00000000000000000000FC00000000007FF
4855 FFF00000000000000000000FC00000000007FFFFF00000000000000000000FC000000000
4856 07FFFFF00000000000000000000FC00000000007FFFFF00000000000000000000FC00000
4857 000007FFFFF00000000000000000000FC00000000007FFFFF00000000000000000000FC0
4858 0000000007FFFFF00000000000000000000FC00000000007FFFFF0000000000000000000
4859 0FC00000000007FFFFF00000000000000000000FC00000000007FFFFF000000000000000
4860 00000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF00000000000
4861 000000000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF0000000
4862 0000000000000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF000
4863 00000000000000000FC00000000007FFFFF00000000000000000000FC00000000007FFFF
4864 F00000000000000000000FC00000000007FFFFF00000000000000000000FC00000000007
4865 FFFFF00000000000000000000FC00000000007FFFFF00000000000000000000FC0000000
4866 0007FFFFF00000000000000000000FC00000000007FFFFF00000000000000000000FC000
4867 00000007FFFFF00000000000000000000FC00000000007FFFFF00000000000000000000F
4868 C00000000007FFFFF00000000000000000000FC00000000007FFFFF00000000000000000
4869 000FC00000000003FFFFF00000000000000000001FC00000000003FFFFF0000000000000
4870 0000001F800000000003FFFFF00000000000000000001F800000000003FFFFF000000000
4871 00000000001F800000000003FFFFF80000000000000000001F800000000001FFFFF80000
4872 000000000000003F800000000001FFFFF80000000000000000003F000000000001FFFFF8
4873 0000000000000000003F000000000001FFFFF80000000000000000003F000000000000FF
4874 FFF80000000000000000007F000000000000FFFFFC0000000000000000007E0000000000
4875 007FFFFC000000000000000000FE0000000000007FFFFC000000000000000000FE000000
4876 0000007FFFFC000000000000000000FC0000000000003FFFFE000000000000000001FC00
4877 00000000001FFFFE000000000000000001F80000000000001FFFFF000000000000000003
4878 F80000000000000FFFFF000000000000000007F00000000000000FFFFF00000000000000
4879 0007F000000000000007FFFF80000000000000000FE000000000000003FFFFC000000000
4880 0000001FE000000000000003FFFFC0000000000000001FC000000000000001FFFFE00000
4881 00000000003F8000000000000000FFFFF0000000000000007F80000000000000007FFFF0
4882 00000000000000FF00000000000000003FFFF800000000000003FE00000000000000001F
4883 FFFC00000000000007FC00000000000000000FFFFF0000000000000FF800000000000000
4884 0007FFFF8000000000003FF0000000000000000003FFFFE00000000000FFE00000000000
4885 00000000FFFFF00000000003FFC00000000000000000007FFFFC000000000FFF80000000
4886 0000000000003FFFFF800000007FFF000000000000000000000FFFFFF0000007FFFC0000
4887 000000000000000003FFFFFF8000FFFFF80000000000000000000000FFFFFFFFFFFFFFE0
4888 00000000000000000000003FFFFFFFFFFFFF8000000000000000000000000FFFFFFFFFFF
4889 FE00000000000000000000000001FFFFFFFFFFF8000000000000000000000000001FFFFF
4890 FFFFC00000000000000000000000000001FFFFFFFC000000000000000000000000000000
4891 03FFFF0000000000000000>151 144 121 269 166 I[<0000180000003C0000007E0000
4892 00FE000001FC000003F8000007F000000FE000001FC000003F8000003F0000007E000000
4893 FE000000FC000001F8000001F8000003F0000003E0000007E0000007C000000FC000000F
4894 8000001F8000001F8000001F0000003F0000003F0000003E0000003E0000007E0000007C
4895 0000007C0000007C0000007C000000FC000000F8000000F8000000F8000000F8000000F8
4896 000000F81FE000F87FF800F9FFFE00FBFFFF00FFFFFF80FFFFFF80FFFFFFC0FFFFFFC07F
4897 FFFFE07FFFFFE07FFFFFE07FFFFFE03FFFFFE03FFFFFE03FFFFFE01FFFFFE01FFFFFC00F
4898 FFFFC007FFFF8007FFFF8003FFFF0000FFFE00007FF800000FE000>27
4899 64 113 270 60 96 D<000000007FFF800000000000000000000FFFFFFC000000000000
4900 000000FFFFFFFFC00000000000000003FFFFFFFFF8000000000000000FFFFFFFFFFE0000
4901 00000000003FFF8007FFFF80000000000000FFF80000FFFFC0000000000001FF8000003F
4902 FFF0000000000007FE0000001FFFF800000000000FF80000000FFFFE00000000001FF000
4903 000007FFFF00000000001FC000000003FFFF80000000003FF800000001FFFFC000000000
4904 7FFE00000000FFFFC0000000007FFF80000000FFFFE000000000FFFFC00000007FFFF000
4905 000000FFFFC00000007FFFF000000000FFFFE00000003FFFF800000001FFFFE00000003F
4906 FFF800000001FFFFF00000003FFFFC00000001FFFFF00000001FFFFC00000001FFFFF000
4907 00001FFFFE00000001FFFFF00000001FFFFE00000001FFFFF00000001FFFFE00000001FF
4908 FFF00000000FFFFE00000001FFFFF00000000FFFFF00000000FFFFE00000000FFFFF0000
4909 0000FFFFE00000000FFFFF000000007FFFC00000000FFFFF000000007FFFC00000000FFF
4910 FF000000003FFF800000000FFFFF000000000FFE000000000FFFFF0000000003F8000000
4911 000FFFFF000000000000000000000FFFFF000000000000000000000FFFFF000000000000
4912 000000000FFFFF000000000000000000000FFFFF000000000000000000000FFFFF000000
4913 000000000000000FFFFF000000000000000000000FFFFF000000000000000000000FFFFF
4914 000000000000000000000FFFFF00000000000000000003FFFFFF00000000000000001FFF
4915 FFFFFF000000000000000FFFFFFFFFFF00000000000000FFFFFFFFFFFF0000000000000F
4916 FFFFFC0FFFFF0000000000007FFFFF000FFFFF000000000003FFFFE0000FFFFF00000000
4917 001FFFFF00000FFFFF00000000007FFFF800000FFFFF0000000001FFFFE000000FFFFF00
4918 00000007FFFF8000000FFFFF000000000FFFFE0000000FFFFF000000003FFFFC0000000F
4919 FFFF000000007FFFF80000000FFFFF00000000FFFFF00000000FFFFF00000001FFFFE000
4920 00000FFFFF00000003FFFFC00000000FFFFF00000007FFFF800000000FFFFF0000000FFF
4921 FF000000000FFFFF0000000FFFFF000000000FFFFF0000001FFFFE000000000FFFFF0000
4922 001FFFFE000000000FFFFF0000003FFFFC000000000FFFFF0000003FFFFC000000000FFF
4923 FF0007E07FFFF8000000000FFFFF0007E07FFFF8000000000FFFFF0007E07FFFF8000000
4924 000FFFFF0007E0FFFFF8000000000FFFFF0007E0FFFFF0000000000FFFFF0007E0FFFFF0
4925 000000001FFFFF0007E0FFFFF0000000001FFFFF0007E0FFFFF0000000001FFFFF0007E0
4926 FFFFF0000000001FFFFF0007E0FFFFF0000000003FFFFF0007E0FFFFF0000000003BFFFF
4927 0007E0FFFFF0000000007BFFFF0007E0FFFFF8000000007BFFFF0007E07FFFF800000000
4928 F3FFFF0007E07FFFFC00000000F3FFFF0007E03FFFFC00000001E3FFFF800FE03FFFFE00
4929 000003C1FFFF800FC01FFFFF00000007C1FFFF800FC00FFFFF0000000F80FFFFC01FC00F
4930 FFFF8000001F00FFFFE03F8007FFFFE000003E007FFFF07F0001FFFFF00000FC007FFFFF
4931 FF0000FFFFFC0003F8003FFFFFFE00003FFFFF803FF0001FFFFFFC00000FFFFFFFFFC000
4932 0FFFFFF8000003FFFFFFFF000003FFFFF00000007FFFFFFC000001FFFFC00000000FFFFF
4933 F00000007FFF00000000003FFF000000000FF80000635F79DD6C>I<0000000001FFFC00
4934 000000000000003FFFFFE000000000000003FFFFFFFE0000000000001FFFFFFFFF800000
4935 0000007FFFFFFFFFE00000000001FFFFC003FFF80000000007FFFC00003FFE000000000F
4936 FFF0000003FF000000003FFFC0000000FFC00000007FFF800000003FE0000001FFFF0000
4937 00001FF0000003FFFE0000000007F0000007FFFC000000003FF800000FFFF800000000FF
4938 FC00001FFFF000000003FFFC00003FFFF000000007FFFE00003FFFE000000007FFFE0000
4939 7FFFC00000000FFFFE0000FFFFC00000000FFFFF0000FFFF800000001FFFFF0001FFFF80
4940 0000001FFFFF0003FFFF000000001FFFFF0003FFFF000000001FFFFF0007FFFF00000000
4941 1FFFFF0007FFFE000000001FFFFF000FFFFE000000001FFFFF000FFFFE000000000FFFFE
4942 001FFFFE000000000FFFFE001FFFFC0000000007FFFC001FFFFC0000000007FFFC003FFF
4943 FC0000000003FFF8003FFFFC0000000000FFE0003FFFFC00000000003F80003FFFFC0000
4944 0000000000007FFFFC00000000000000007FFFF800000000000000007FFFF80000000000
4945 0000007FFFF800000000000000007FFFF800000000000000007FFFF80000000000000000
4946 FFFFF80000000000000000FFFFF80000000000000000FFFFF80000000000000000FFFFF8
4947 0000000000000000FFFFF80000000000000000FFFFF80000000000000000FFFFF8000000
4948 0000000000FFFFF80000000000000000FFFFF80000000000000000FFFFF8000000000000
4949 0000FFFFF80000000000000000FFFFF80000000000000000FFFFF80000000000000000FF
4950 FFF80000000000000000FFFFF80000000000000000FFFFF800000000000000007FFFF800
4951 000000000000007FFFF800000000000000007FFFF800000000000000007FFFFC00000000
4952 000000007FFFFC00000000000000007FFFFC00000000000000003FFFFC00000000000000
4953 003FFFFC00000000000000003FFFFC00000000000000001FFFFE00000000000000001FFF
4954 FE00000000000000001FFFFE00000000000000000FFFFE00000000000000000FFFFF0000
4955 000000000FC007FFFF0000000000000FC007FFFF0000000000001FC003FFFF8000000000
4956 001F8003FFFF8000000000001F8001FFFFC000000000003F8001FFFFC000000000003F00
4957 00FFFFE000000000007F00007FFFE000000000007E00007FFFF00000000000FE00003FFF
4958 F80000000001FC00001FFFFC0000000003F800000FFFFC0000000003F8000007FFFE0000
4959 000007F0000003FFFF000000000FE0000001FFFFC00000001FC0000000FFFFE00000007F
4960 800000003FFFF8000000FF000000001FFFFC000003FC0000000007FFFF80000FF8000000
4961 0001FFFFF800FFE000000000007FFFFFFFFFC000000000001FFFFFFFFF00000000000003
4962 FFFFFFF8000000000000003FFFFFC00000000000000001FFF800000000525F79DD60>99
4963 D[<000000000000000000000FF0000000000000000000001FFFFFF00000000000000000
4964 001FFFFFFFF00000000000000000001FFFFFFFF00000000000000000001FFFFFFFF00000
4965 000000000000001FFFFFFFF00000000000000000001FFFFFFFF00000000000000000001F
4966 FFFFFFF00000000000000000001FFFFFFFF00000000000000000000007FFFFF000000000
4967 00000000000001FFFFF00000000000000000000000FFFFF000000000000000000000007F
4968 FFF000000000000000000000007FFFF000000000000000000000007FFFF0000000000000
4969 00000000007FFFF000000000000000000000007FFFF000000000000000000000007FFFF0
4970 00000000000000000000007FFFF000000000000000000000007FFFF00000000000000000
4971 0000007FFFF000000000000000000000007FFFF000000000000000000000007FFFF00000
4972 0000000000000000007FFFF000000000000000000000007FFFF000000000000000000000
4973 007FFFF000000000000000000000007FFFF000000000000000000000007FFFF000000000
4974 000000000000007FFFF000000000000000000000007FFFF000000000000000000000007F
4975 FFF000000000000000000000007FFFF000000000000000000000007FFFF0000000000000
4976 00000000007FFFF000000000000000000000007FFFF000000000000000000000007FFFF0
4977 00000000000000000000007FFFF000000000000000000000007FFFF00000000000000000
4978 0000007FFFF000000000000000000000007FFFF000000000000000000000007FFFF00000
4979 0000000000000000007FFFF000000000000000000000007FFFF000000000000000000000
4980 007FFFF000000000000000000000007FFFF000000000000000000000007FFFF000000000
4981 000000000000007FFFF000000000000000000000007FFFF000000000000000000000007F
4982 FFF000000000000000000000007FFFF000000000000001FFF000007FFFF0000000000000
4983 7FFFFF80007FFFF0000000000003FFFFFFF0007FFFF000000000001FFFFFFFFC007FFFF0
4984 00000000007FFFFFFFFF007FFFF00000000001FFFFE003FFC07FFFF00000000007FFFE00
4985 003FE07FFFF0000000001FFFF800000FF87FFFF0000000003FFFE0000003FC7FFFF00000
4986 0000FFFF80000000FE7FFFF000000001FFFF000000007F7FFFF000000003FFFE00000000
4987 3FFFFFF000000007FFFC000000001FFFFFF00000000FFFF8000000000FFFFFF00000001F
4988 FFF00000000007FFFFF00000003FFFE00000000003FFFFF00000007FFFE00000000001FF
4989 FFF00000007FFFC00000000001FFFFF0000000FFFFC00000000000FFFFF0000001FFFF80
4990 0000000000FFFFF0000001FFFF800000000000FFFFF0000003FFFF000000000000FFFFF0
4991 000003FFFF000000000000FFFFF0000007FFFE000000000000FFFFF0000007FFFE000000
4992 000000FFFFF000000FFFFE000000000000FFFFF000000FFFFE000000000000FFFFF00000
4993 1FFFFC000000000000FFFFF000001FFFFC000000000000FFFFF000001FFFFC0000000000
4994 00FFFFF000003FFFFC000000000000FFFFF000003FFFFC000000000000FFFFF000003FFF
4995 FC000000000000FFFFF000007FFFF8000000000000FFFFF000007FFFF8000000000000FF
4996 FFF000007FFFF8000000000000FFFFF000007FFFF8000000000000FFFFF000007FFFF800
4997 0000000000FFFFF000007FFFF8000000000000FFFFF00000FFFFF8000000000000FFFFF0
4998 0000FFFFF8000000000000FFFFF00000FFFFF8000000000000FFFFF00000FFFFF8000000
4999 000000FFFFF00000FFFFF8000000000000FFFFF00000FFFFF8000000000000FFFFF00000
5000 FFFFF8000000000000FFFFF00000FFFFF8000000000000FFFFF00000FFFFF80000000000
5001 00FFFFF00000FFFFF8000000000000FFFFF00000FFFFF8000000000000FFFFF00000FFFF
5002 F8000000000000FFFFF00000FFFFF8000000000000FFFFF00000FFFFF8000000000000FF
5003 FFF00000FFFFF8000000000000FFFFF00000FFFFF8000000000000FFFFF00000FFFFF800
5004 0000000000FFFFF000007FFFF8000000000000FFFFF000007FFFF8000000000000FFFFF0
5005 00007FFFF8000000000000FFFFF000007FFFF8000000000000FFFFF000007FFFF8000000
5006 000000FFFFF000003FFFFC000000000000FFFFF000003FFFFC000000000000FFFFF00000
5007 3FFFFC000000000000FFFFF000003FFFFC000000000000FFFFF000001FFFFC0000000000
5008 00FFFFF000001FFFFC000000000000FFFFF000001FFFFC000000000000FFFFF000000FFF
5009 FE000000000000FFFFF000000FFFFE000000000000FFFFF0000007FFFE000000000000FF
5010 FFF0000007FFFE000000000000FFFFF0000003FFFF000000000000FFFFF0000003FFFF00
5011 0000000000FFFFF0000001FFFF800000000000FFFFF0000001FFFF800000000001FFFFF0
5012 000000FFFFC00000000003FFFFF00000007FFFC00000000007FFFFF00000003FFFE00000
5013 000007FFFFF00000003FFFE0000000000FFFFFF00000001FFFF0000000001FFFFFF00000
5014 000FFFF8000000003FFFFFF000000007FFFC000000007FFFFFF000000003FFFE00000001
5015 FEFFFFF800000000FFFF00000003F8FFFFFC000000007FFFC000000FF0FFFFFF00000000
5016 3FFFE000003FE0FFFFFFFFC000000FFFFC0000FF80FFFFFFFFC0000003FFFF800FFF00FF
5017 FFFFFFC0000000FFFFFFFFFC00FFFFFFFFC00000003FFFFFFFF000FFFFFFFFC00000000F
5018 FFFFFFC000FFFFFFFFC000000000FFFFFE0000FFFFFFFFC00000000007FFC00000FFFF80
5019 0000>106 144 121 270 120 I<0000000003FFF800000000000000007FFFFFC0000000
5020 00000007FFFFFFFC0000000000003FFFFFFFFF000000000000FFFFFFFFFFC00000000003
5021 FFFF807FFFF00000000007FFFC000FFFFC000000001FFFE00003FFFE000000003FFFC000
5022 00FFFF00000000FFFF0000007FFF80000001FFFE0000003FFFC0000003FFFC0000001FFF
5023 E0000007FFF80000000FFFF000000FFFF000000007FFF800001FFFE000000007FFFC0000
5024 3FFFE000000003FFFC00007FFFC000000003FFFE00007FFFC000000001FFFE0000FFFF80
5025 00000001FFFF0001FFFF8000000000FFFF0001FFFF0000000000FFFF8003FFFF00000000
5026 00FFFF8003FFFF00000000007FFFC007FFFE00000000007FFFC007FFFE00000000007FFF
5027 C00FFFFE00000000007FFFE00FFFFC00000000003FFFE01FFFFC00000000003FFFE01FFF
5028 FC00000000003FFFE01FFFFC00000000003FFFF03FFFFC00000000003FFFF03FFFFC0000
5029 0000003FFFF03FFFFC00000000001FFFF03FFFF800000000001FFFF07FFFF80000000000
5030 1FFFF07FFFF800000000001FFFF87FFFF800000000001FFFF87FFFF800000000001FFFF8
5031 7FFFF800000000001FFFF8FFFFF800000000001FFFF8FFFFF800000000001FFFF8FFFFF8
5032 00000000001FFFF8FFFFFFFFFFFFFFFFFFFFF8FFFFFFFFFFFFFFFFFFFFF8FFFFFFFFFFFF
5033 FFFFFFFFF8FFFFFFFFFFFFFFFFFFFFF8FFFFF80000000000000000FFFFF8000000000000
5034 0000FFFFF80000000000000000FFFFF80000000000000000FFFFF80000000000000000FF
5035 FFF80000000000000000FFFFF80000000000000000FFFFF80000000000000000FFFFF800
5036 00000000000000FFFFF800000000000000007FFFF800000000000000007FFFF800000000
5037 000000007FFFF800000000000000007FFFF800000000000000007FFFFC00000000000000
5038 003FFFFC00000000000000003FFFFC00000000000000003FFFFC00000000000000001FFF
5039 FC00000000000000001FFFFC00000000000000001FFFFE00000000000000000FFFFE0000
5040 0000000000000FFFFE00000000000000000FFFFE00000000000001F807FFFF0000000000
5041 0001F807FFFF00000000000003F803FFFF00000000000003F001FFFF80000000000003F0
5042 01FFFF80000000000007F000FFFFC0000000000007E0007FFFC000000000000FE0007FFF
5043 E000000000001FC0003FFFE000000000001F80001FFFF000000000003F80000FFFF80000
5044 0000007F000007FFFC0000000000FE000003FFFE0000000001FC000001FFFF0000000003
5045 F8000000FFFF8000000007F00000007FFFE00000001FE00000001FFFF80000007FC00000
5046 000FFFFE000001FF8000000003FFFFC00007FE0000000000FFFFFC00FFFC00000000003F
5047 FFFFFFFFF000000000000FFFFFFFFFC0000000000001FFFFFFFE000000000000001FFFFF
5048 F00000000000000000FFFF00000000555F7ADD62>I[<000000000001FFF0000000000000
5049 007FFFFE00000000000007FFFFFF8000000000003FFFFFFFC00000000000FFFFFFFFF000
5050 00000003FFFF007FF8000000000FFFF8007FFC000000001FFFE000FFFE000000007FFFC0
5051 01FFFE00000000FFFF0003FFFF00000001FFFE0007FFFF00000003FFFE0007FFFF000000
5052 07FFFC000FFFFF8000000FFFF8000FFFFF8000001FFFF0000FFFFF8000001FFFF0000FFF
5053 FF8000003FFFE0000FFFFF8000003FFFE0000FFFFF8000007FFFE0000FFFFF8000007FFF
5054 C0000FFFFF800000FFFFC00007FFFF000000FFFFC00007FFFF000000FFFFC00003FFFE00
5055 0000FFFF800001FFFC000001FFFF8000007FF0000001FFFF8000001FC0000001FFFF8000
5056 000000000001FFFF8000000000000001FFFF8000000000000001FFFF8000000000000001
5057 FFFF8000000000000001FFFF8000000000000001FFFF8000000000000001FFFF80000000
5058 00000001FFFF8000000000000001FFFF8000000000000001FFFF8000000000000001FFFF
5059 8000000000000001FFFF8000000000000001FFFF8000000000000001FFFF800000000000
5060 0001FFFF8000000000000001FFFF8000000000000001FFFF8000000000000001FFFF8000
5061 000000000001FFFF8000000000000001FFFF8000000000000001FFFF8000000000000001
5062 FFFF8000000000000001FFFF8000000000000001FFFF8000000000000001FFFF80000000
5063 0000FFFFFFFFFFFFFF000000FFFFFFFFFFFFFF000000FFFFFFFFFFFFFF000000FFFFFFFF
5064 FFFFFF000000FFFFFFFFFFFFFF000000FFFFFFFFFFFFFF000000FFFFFFFFFFFFFF000000
5065 0001FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001FFFFC000
5066 000000000001FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001
5067 FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001FFFFC0000000
5068 00000001FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001FFFF
5069 C000000000000001FFFFC000000000000001FFFFC000000000000001FFFFC00000000000
5070 0001FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001FFFFC000
5071 000000000001FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001
5072 FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001FFFFC0000000
5073 00000001FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001FFFF
5074 C000000000000001FFFFC000000000000001FFFFC000000000000001FFFFC00000000000
5075 0001FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001FFFFC000
5076 000000000001FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001
5077 FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001FFFFC0000000
5078 00000001FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001FFFF
5079 C000000000000001FFFFC000000000000001FFFFC000000000000001FFFFC00000000000
5080 0001FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001FFFFC000
5081 000000000001FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001
5082 FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001FFFFC0000000
5083 00000001FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001FFFF
5084 C000000000000001FFFFC000000000000001FFFFC000000000000001FFFFC00000000000
5085 0001FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001FFFFC000
5086 000000000001FFFFC000000000000001FFFFC000000000007FFFFFFFFFFFF00000007FFF
5087 FFFFFFFFF00000007FFFFFFFFFFFF00000007FFFFFFFFFFFF00000007FFFFFFFFFFFF000
5088 00007FFFFFFFFFFFF00000007FFFFFFFFFFFF0000000>73 144 122
5089 271 66 I<000000000000000000001FE000000000003FFF80000001FFF80000000007FF
5090 FFFC00000FFFFE000000007FFFFFFFC0003FFFFF00000001FFFFFFFFF000FFFFFF800000
5091 07FFF803FFFC03FFC3FF8000001FFFC0007FFF07FC07FFC000007FFF00001FFFCFE007FF
5092 C00000FFFC000007FFFF0007FFC00003FFF8000003FFFE000FFFC00007FFF0000001FFFC
5093 0007FFC0000FFFF0000001FFFE0007FFC0001FFFE0000000FFFF0007FFC0001FFFC00000
5094 007FFF0007FF80003FFFC00000007FFF8003FF00007FFFC00000007FFFC001FE00007FFF
5095 800000003FFFC000380000FFFF800000003FFFE000000000FFFF800000003FFFE0000000
5096 01FFFF800000003FFFF000000001FFFF000000001FFFF000000003FFFF000000001FFFF8
5097 00000003FFFF000000001FFFF800000003FFFF000000001FFFF800000003FFFF00000000
5098 1FFFF800000007FFFF000000001FFFFC00000007FFFF000000001FFFFC00000007FFFF00
5099 0000001FFFFC00000007FFFF000000001FFFFC00000007FFFF000000001FFFFC00000007
5100 FFFF000000001FFFFC00000007FFFF000000001FFFFC00000007FFFF000000001FFFFC00
5101 000007FFFF000000001FFFFC00000007FFFF000000001FFFFC00000007FFFF000000001F
5102 FFFC00000003FFFF000000001FFFF800000003FFFF000000001FFFF800000003FFFF0000
5103 00001FFFF800000003FFFF000000001FFFF800000001FFFF000000001FFFF000000001FF
5104 FF800000003FFFF000000000FFFF800000003FFFE000000000FFFF800000003FFFE00000
5105 00007FFF800000003FFFC0000000007FFFC00000007FFFC0000000003FFFC00000007FFF
5106 80000000001FFFC00000007FFF00000000001FFFE0000000FFFF00000000000FFFF00000
5107 01FFFE000000000007FFF0000001FFFC000000000003FFF8000003FFF8000000000001FF
5108 FC000007FFE0000000000001FFFF00001FFFC0000000000003DFFFC0007FFF0000000000
5109 000787FFF803FFFC0000000000000F81FFFFFFFFF00000000000000F007FFFFFFFC00000
5110 000000001F0007FFFFFC000000000000001F00003FFF80000000000000003E0000000000
5111 000000000000003E0000000000000000000000007E0000000000000000000000007E0000
5112 000000000000000000007E000000000000000000000000FE000000000000000000000000
5113 FE000000000000000000000000FE000000000000000000000000FF000000000000000000
5114 000000FF000000000000000000000000FF800000000000000000000000FF800000000000
5115 000000000000FFC00000000000000000000000FFE00000000000000000000000FFE00000
5116 000000000000000000FFF80000000000000000000000FFFC0000000000000000000000FF
5117 FF8000000000000000000000FFFFFFFFFFFFFC0000000000007FFFFFFFFFFFFFF8000000
5118 00007FFFFFFFFFFFFFFF80000000007FFFFFFFFFFFFFFFF0000000003FFFFFFFFFFFFFFF
5119 FC000000003FFFFFFFFFFFFFFFFF000000001FFFFFFFFFFFFFFFFFC00000001FFFFFFFFF
5120 FFFFFFFFF00000000FFFFFFFFFFFFFFFFFF800000007FFFFFFFFFFFFFFFFFE00000003FF
5121 FFFFFFFFFFFFFFFF00000001FFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFFFF8000
5122 00007FFFFFFFFFFFFFFFFFC0000000FFFFFFFFFFFFFFFFFFE0000007FFFFFFFFFFFFFFFF
5123 FFE000001FFFFFFFFFFFFFFFFFFFF000007FFF0000000007FFFFFFF00001FFFC00000000
5124 001FFFFFF80003FFF0000000000003FFFFF80007FFE00000000000007FFFF8000FFFC000
5125 00000000003FFFFC001FFFC00000000000000FFFFC003FFF8000000000000007FFFC003F
5126 FF8000000000000007FFFC007FFF0000000000000003FFFE007FFF0000000000000001FF
5127 FE007FFF0000000000000001FFFE00FFFE0000000000000001FFFE00FFFE000000000000
5128 0000FFFE00FFFE0000000000000000FFFE00FFFE0000000000000000FFFE00FFFE000000
5129 0000000000FFFE00FFFE0000000000000000FFFE00FFFE0000000000000000FFFE00FFFE
5130 0000000000000000FFFE00FFFF0000000000000001FFFE007FFF0000000000000001FFFC
5131 007FFF0000000000000001FFFC007FFF8000000000000003FFFC003FFF80000000000000
5132 03FFF8003FFFC000000000000007FFF8001FFFC000000000000007FFF0000FFFE0000000
5133 0000000FFFE00007FFF00000000000001FFFC00003FFF80000000000003FFF800001FFFC
5134 0000000000007FFF000000FFFE000000000000FFFE0000007FFF000000000001FFFC0000
5135 001FFFC00000000007FFF00000000FFFF0000000001FFFE000000003FFFE00000000FFFF
5136 8000000000FFFFC0000007FFFE00000000001FFFFE0000FFFFF0000000000007FFFFFFFF
5137 FFFFC00000000000007FFFFFFFFFFC0000000000000007FFFFFFFFC00000000000000000
5138 0FFFFFE0000000000062887ADD6C>I[<0000007F8000000000000000000000FFFFFF8000
5139 0000000000000000FFFFFFFF80000000000000000000FFFFFFFF80000000000000000000
5140 FFFFFFFF80000000000000000000FFFFFFFF80000000000000000000FFFFFFFF80000000
5141 000000000000FFFFFFFF80000000000000000000FFFFFFFF80000000000000000000003F
5142 FFFF80000000000000000000000FFFFF800000000000000000000007FFFF800000000000
5143 000000000003FFFF800000000000000000000003FFFF800000000000000000000003FFFF
5144 800000000000000000000003FFFF800000000000000000000003FFFF8000000000000000
5145 00000003FFFF800000000000000000000003FFFF800000000000000000000003FFFF8000
5146 00000000000000000003FFFF800000000000000000000003FFFF80000000000000000000
5147 0003FFFF800000000000000000000003FFFF800000000000000000000003FFFF80000000
5148 0000000000000003FFFF800000000000000000000003FFFF800000000000000000000003
5149 FFFF800000000000000000000003FFFF800000000000000000000003FFFF800000000000
5150 000000000003FFFF800000000000000000000003FFFF800000000000000000000003FFFF
5151 800000000000000000000003FFFF800000000000000000000003FFFF8000000000000000
5152 00000003FFFF800000000000000000000003FFFF800000000000000000000003FFFF8000
5153 00000000000000000003FFFF800000000000000000000003FFFF80000000000000000000
5154 0003FFFF800000000000000000000003FFFF800000000000000000000003FFFF80000000
5155 0000000000000003FFFF800000000000000000000003FFFF800000000000000000000003
5156 FFFF800000000000000000000003FFFF800000000000000000000003FFFF800000000000
5157 000000000003FFFF800000000000000000000003FFFF800000000000000000000003FFFF
5158 8000003FFF00000000000003FFFF800003FFFFF0000000000003FFFF80000FFFFFFE0000
5159 00000003FFFF80003FFFFFFF800000000003FFFF8000FFFFFFFFE00000000003FFFF8001
5160 FF00FFFFF80000000003FFFF8007F8001FFFFC0000000003FFFF800FC0000FFFFE000000
5161 0003FFFF801F800007FFFF0000000003FFFF803E000007FFFF0000000003FFFF807C0000
5162 03FFFF8000000003FFFF80F8000001FFFFC000000003FFFF81F0000001FFFFC000000003
5163 FFFF81E0000001FFFFE000000003FFFF83C0000000FFFFE000000003FFFF8780000000FF
5164 FFE000000003FFFF8780000000FFFFF000000003FFFF8F00000000FFFFF000000003FFFF
5165 8E00000000FFFFF000000003FFFF9E000000007FFFF000000003FFFF9C000000007FFFF0
5166 00000003FFFFBC000000007FFFF800000003FFFFB8000000007FFFF800000003FFFFF800
5167 0000007FFFF800000003FFFFF8000000007FFFF800000003FFFFF0000000007FFFF80000
5168 0003FFFFF0000000007FFFF800000003FFFFF0000000007FFFF800000003FFFFE0000000
5169 007FFFF800000003FFFFE0000000007FFFF800000003FFFFE0000000007FFFF800000003
5170 FFFFE0000000007FFFF800000003FFFFE0000000007FFFF800000003FFFFC0000000007F
5171 FFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFF
5172 C0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF8
5173 00000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC000
5174 0000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF80000
5175 0003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000
5176 007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003
5177 FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007F
5178 FFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFF
5179 C0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF8
5180 00000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC000
5181 0000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF80000
5182 0003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000
5183 007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003
5184 FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007F
5185 FFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFF
5186 C0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF8
5187 00000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC000
5188 0000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF80000
5189 0003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000
5190 007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003
5191 FFFFC0000000007FFFF80000FFFFFFFFFFFF001FFFFFFFFFFFE0FFFFFFFFFFFF001FFFFF
5192 FFFFFFE0FFFFFFFFFFFF001FFFFFFFFFFFE0FFFFFFFFFFFF001FFFFFFFFFFFE0FFFFFFFF
5193 FFFF001FFFFFFFFFFFE0FFFFFFFFFFFF001FFFFFFFFFFFE0FFFFFFFFFFFF001FFFFFFFFF
5194 FFE0>107 143 121 270 120 I[<00007F8000000001FFE000000003FFF000000007FFF8
5195 0000000FFFFC0000001FFFFE0000003FFFFF0000003FFFFF0000007FFFFF8000007FFFFF
5196 8000007FFFFF8000007FFFFF8000007FFFFF8000007FFFFF8000007FFFFF8000007FFFFF
5197 8000003FFFFF0000003FFFFF0000001FFFFE0000000FFFFC00000007FFF800000003FFF0
5198 00000001FFE0000000007F80000000000000000000000000000000000000000000000000
5199 000000000000000000000000000000000000000000000000000000000000000000000000
5200 000000000000000000000000000000000000000000000000000000000000000000000000
5201 000000000000000000000000000000000000000000000000000000000000000000000000
5202 00000000000000000000000000000000000000000000000000000000000000000000007F
5203 8000007FFFFF8000FFFFFFFF8000FFFFFFFF8000FFFFFFFF8000FFFFFFFF8000FFFFFFFF
5204 8000FFFFFFFF8000FFFFFFFF8000003FFFFF80000007FFFF80000007FFFF80000003FFFF
5205 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5206 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5207 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5208 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5209 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5210 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5211 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5212 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5213 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5214 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5215 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5216 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5217 80000003FFFF8000FFFFFFFFFFFCFFFFFFFFFFFCFFFFFFFFFFFCFFFFFFFFFFFCFFFFFFFF
5218 FFFCFFFFFFFFFFFCFFFFFFFFFFFC>46 144 121 271 60 I[<0000007F80000000000000
5219 000000FFFFFF800000000000000000FFFFFFFF800000000000000000FFFFFFFF80000000
5220 0000000000FFFFFFFF800000000000000000FFFFFFFF800000000000000000FFFFFFFF80
5221 0000000000000000FFFFFFFF800000000000000000FFFFFFFF800000000000000000003F
5222 FFFF800000000000000000000FFFFF8000000000000000000007FFFF8000000000000000
5223 000003FFFF8000000000000000000003FFFF8000000000000000000003FFFF8000000000
5224 000000000003FFFF8000000000000000000003FFFF8000000000000000000003FFFF8000
5225 000000000000000003FFFF8000000000000000000003FFFF8000000000000000000003FF
5226 FF8000000000000000000003FFFF8000000000000000000003FFFF800000000000000000
5227 0003FFFF8000000000000000000003FFFF8000000000000000000003FFFF800000000000
5228 0000000003FFFF8000000000000000000003FFFF8000000000000000000003FFFF800000
5229 0000000000000003FFFF8000000000000000000003FFFF8000000000000000000003FFFF
5230 8000000000000000000003FFFF8000000000000000000003FFFF80000000000000000000
5231 03FFFF8000000000000000000003FFFF8000000000000000000003FFFF80000000000000
5232 00000003FFFF8000000000000000000003FFFF8000000000000000000003FFFF80000000
5233 00000000000003FFFF8000000000000000000003FFFF8000000000000000000003FFFF80
5234 00000000000000000003FFFF8000000000000000000003FFFF8000000000000000000003
5235 FFFF8000000000000000000003FFFF8000000000000000000003FFFF8000000000000000
5236 000003FFFF8000000000000000000003FFFF8000000000000000000003FFFF8000000000
5237 000000000003FFFF80000003FFFFFFFFE00003FFFF80000003FFFFFFFFE00003FFFF8000
5238 0003FFFFFFFFE00003FFFF80000003FFFFFFFFE00003FFFF80000003FFFFFFFFE00003FF
5239 FF80000003FFFFFFFFE00003FFFF80000003FFFFFFFFE00003FFFF800000000FFFFF8000
5240 0003FFFF8000000001FFF000000003FFFF8000000000FFC000000003FFFF8000000000FF
5241 8000000003FFFF8000000001FF0000000003FFFF8000000003FC0000000003FFFF800000
5242 000FF80000000003FFFF800000001FF00000000003FFFF800000003FE00000000003FFFF
5243 800000007FC00000000003FFFF80000000FF800000000003FFFF80000001FF0000000000
5244 03FFFF80000003FE000000000003FFFF80000007F8000000000003FFFF8000001FF00000
5245 00000003FFFF8000003FE0000000000003FFFF8000007FC0000000000003FFFF800000FF
5246 80000000000003FFFF800001FF00000000000003FFFF800003FE00000000000003FFFF80
5247 0007FC00000000000003FFFF80000FF800000000000003FFFF80001FE000000000000003
5248 FFFF80007FC000000000000003FFFF8000FF8000000000000003FFFF8001FF0000000000
5249 000003FFFF8003FF0000000000000003FFFF8007FF8000000000000003FFFF800FFFC000
5250 000000000003FFFF801FFFC000000000000003FFFF803FFFE000000000000003FFFF807F
5251 FFF000000000000003FFFF81FFFFF000000000000003FFFF83FFFFF800000000000003FF
5252 FF87FFFFFC00000000000003FFFF8FFFFFFC00000000000003FFFF9FFFFFFE0000000000
5253 0003FFFFBFFFFFFF00000000000003FFFFFFDFFFFF80000000000003FFFFFF1FFFFF8000
5254 0000000003FFFFFE0FFFFFC0000000000003FFFFFC07FFFFE0000000000003FFFFF807FF
5255 FFE0000000000003FFFFF003FFFFF0000000000003FFFFE001FFFFF8000000000003FFFF
5256 C001FFFFF8000000000003FFFF8000FFFFFC000000000003FFFF80007FFFFE0000000000
5257 03FFFF80003FFFFE000000000003FFFF80003FFFFF000000000003FFFF80001FFFFF8000
5258 00000003FFFF80000FFFFF800000000003FFFF80000FFFFFC00000000003FFFF800007FF
5259 FFE00000000003FFFF800003FFFFE00000000003FFFF800003FFFFF00000000003FFFF80
5260 0001FFFFF80000000003FFFF800000FFFFFC0000000003FFFF800000FFFFFC0000000003
5261 FFFF8000007FFFFE0000000003FFFF8000003FFFFF0000000003FFFF8000003FFFFF0000
5262 000003FFFF8000001FFFFF8000000003FFFF8000000FFFFFC000000003FFFF8000000FFF
5263 FFC000000003FFFF80000007FFFFE000000003FFFF80000003FFFFF000000003FFFF8000
5264 0001FFFFF000000003FFFF80000001FFFFF800000003FFFF80000000FFFFFC00000003FF
5265 FF800000007FFFFC00000003FFFF800000007FFFFE00000003FFFF800000003FFFFF0000
5266 0003FFFF800000001FFFFF00000003FFFF800000001FFFFF80000003FFFF800000000FFF
5267 FFC0000003FFFF800000000FFFFFE0000003FFFF800000003FFFFFF800FFFFFFFFFFFE00
5268 1FFFFFFFFFFFFFFFFFFFFFFE001FFFFFFFFFFFFFFFFFFFFFFE001FFFFFFFFFFFFFFFFFFF
5269 FFFE001FFFFFFFFFFFFFFFFFFFFFFE001FFFFFFFFFFFFFFFFFFFFFFE001FFFFFFFFFFFFF
5270 FFFFFFFFFE001FFFFFFFFFFF>104 143 122 270 114 107 D[<0000007F800000FFFFFF
5271 8000FFFFFFFF8000FFFFFFFF8000FFFFFFFF8000FFFFFFFF8000FFFFFFFF8000FFFFFFFF
5272 8000FFFFFFFF8000003FFFFF80000007FFFF80000007FFFF80000003FFFF80000003FFFF
5273 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5274 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5275 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5276 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5277 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5278 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5279 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5280 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5281 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5282 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5283 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5284 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5285 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5286 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5287 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5288 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5289 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5290 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5291 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5292 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
5293 80000003FFFF80000003FFFF8000FFFFFFFFFFFEFFFFFFFFFFFEFFFFFFFFFFFEFFFFFFFF
5294 FFFEFFFFFFFFFFFEFFFFFFFFFFFEFFFFFFFFFFFE>47 143 121 270
5295 60 I<0000007F8000001FFF000000000001FFF00000000000FFFFFF800001FFFFF80000
5296 00001FFFFF80000000FFFFFFFF80000FFFFFFF00000000FFFFFFF0000000FFFFFFFF8000
5297 3FFFFFFFC0000003FFFFFFFC000000FFFFFFFF8000FFFFFFFFF000000FFFFFFFFF000000
5298 FFFFFFFF8001FF807FFFF800001FF807FFFF800000FFFFFFFF8007F8001FFFFE00007F80
5299 01FFFFE00000FFFFFFFF800FE00007FFFF0000FE00007FFFF00000FFFFFFFF801F800003
5300 FFFF8001F800003FFFF80000003FFFFF803F000003FFFF8003F000003FFFF80000000FFF
5301 FF807C000001FFFFC007C000001FFFFC00000007FFFF80F8000001FFFFE00F8000001FFF
5302 FE00000003FFFF81F0000000FFFFE01F0000000FFFFE00000003FFFF81E0000000FFFFF0
5303 1E0000000FFFFF00000003FFFF83C00000007FFFF03C00000007FFFF00000003FFFF87C0
5304 0000007FFFF07C00000007FFFF00000003FFFF87800000007FFFF87800000007FFFF8000
5305 0003FFFF8F000000007FFFF8F000000007FFFF80000003FFFF8F000000007FFFF8F00000
5306 0007FFFF80000003FFFF9E000000003FFFF9E000000003FFFF80000003FFFF9C00000000
5307 3FFFF9C000000003FFFF80000003FFFFBC000000003FFFFFC000000003FFFFC0000003FF
5308 FFB8000000003FFFFF8000000003FFFFC0000003FFFFF8000000003FFFFF8000000003FF
5309 FFC0000003FFFFF8000000003FFFFF8000000003FFFFC0000003FFFFF0000000003FFFFF
5310 0000000003FFFFC0000003FFFFF0000000003FFFFF0000000003FFFFC0000003FFFFF000
5311 0000003FFFFF0000000003FFFFC0000003FFFFE0000000003FFFFE0000000003FFFFC000
5312 0003FFFFE0000000003FFFFE0000000003FFFFC0000003FFFFE0000000003FFFFE000000
5313 0003FFFFC0000003FFFFE0000000003FFFFE0000000003FFFFC0000003FFFFE000000000
5314 3FFFFE0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FF
5315 FFC0000000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FF
5316 FFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC
5317 0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC000
5318 0000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC000
5319 0003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC000000
5320 0003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC000000000
5321 3FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FF
5322 FFC0000000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FF
5323 FFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC
5324 0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC000
5325 0000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC000
5326 0003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC000000
5327 0003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC000000000
5328 3FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FF
5329 FFC0000000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FF
5330 FFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC
5331 0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC000
5332 0000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC000
5333 0003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC000000
5334 0003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC000000000
5335 3FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FF
5336 FFC0000000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FF
5337 FFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC
5338 0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC000
5339 0000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC000
5340 0003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC000000
5341 0003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC000000000
5342 3FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FF
5343 FFC0000000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FF
5344 FFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC
5345 0000000003FFFFC000FFFFFFFFFFFF000FFFFFFFFFFFF000FFFFFFFFFFFFFFFFFFFFFFFF
5346 000FFFFFFFFFFFF000FFFFFFFFFFFFFFFFFFFFFFFF000FFFFFFFFFFFF000FFFFFFFFFFFF
5347 FFFFFFFFFFFF000FFFFFFFFFFFF000FFFFFFFFFFFFFFFFFFFFFFFF000FFFFFFFFFFFF000
5348 FFFFFFFFFFFFFFFFFFFFFFFF000FFFFFFFFFFFF000FFFFFFFFFFFFFFFFFFFFFFFF000FFF
5349 FFFFFFFFF000FFFFFFFFFFFFA85D79DCB5>I<0000007F8000003FFF000000000000FFFF
5350 FF800003FFFFF000000000FFFFFFFF80000FFFFFFE00000000FFFFFFFF80003FFFFFFF80
5351 000000FFFFFFFF8000FFFFFFFFE0000000FFFFFFFF8001FF00FFFFF8000000FFFFFFFF80
5352 07F8001FFFFC000000FFFFFFFF800FC0000FFFFE000000FFFFFFFF801F800007FFFF0000
5353 00003FFFFF803E000007FFFF000000000FFFFF807C000003FFFF8000000007FFFF80F800
5354 0001FFFFC000000003FFFF81F0000001FFFFC000000003FFFF81E0000001FFFFE0000000
5355 03FFFF83C0000000FFFFE000000003FFFF8780000000FFFFE000000003FFFF8780000000
5356 FFFFF000000003FFFF8F00000000FFFFF000000003FFFF8E00000000FFFFF000000003FF
5357 FF9E000000007FFFF000000003FFFF9C000000007FFFF000000003FFFFBC000000007FFF
5358 F800000003FFFFB8000000007FFFF800000003FFFFF8000000007FFFF800000003FFFFF8
5359 000000007FFFF800000003FFFFF0000000007FFFF800000003FFFFF0000000007FFFF800
5360 000003FFFFF0000000007FFFF800000003FFFFE0000000007FFFF800000003FFFFE00000
5361 00007FFFF800000003FFFFE0000000007FFFF800000003FFFFE0000000007FFFF8000000
5362 03FFFFE0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC000000000
5363 7FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FF
5364 FFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFF
5365 F800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0
5366 000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800
5367 000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC00000
5368 00007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF8000000
5369 03FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC000000000
5370 7FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FF
5371 FFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFF
5372 F800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0
5373 000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800
5374 000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC00000
5375 00007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF8000000
5376 03FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC000000000
5377 7FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FF
5378 FFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFF
5379 F800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0
5380 000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800
5381 000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC00000
5382 00007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF80000FF
5383 FFFFFFFFFF001FFFFFFFFFFFE0FFFFFFFFFFFF001FFFFFFFFFFFE0FFFFFFFFFFFF001FFF
5384 FFFFFFFFE0FFFFFFFFFFFF001FFFFFFFFFFFE0FFFFFFFFFFFF001FFFFFFFFFFFE0FFFFFF
5385 FFFFFF001FFFFFFFFFFFE0FFFFFFFFFFFF001FFFFFFFFFFFE06B5D79DC78>I<00000000
5386 00FFFE0000000000000000003FFFFFF80000000000000001FFFFFFFF000000000000000F
5387 FFFFFFFFE00000000000003FFFFFFFFFF8000000000001FFFFC007FFFF000000000003FF
5388 FC00007FFF80000000000FFFF000001FFFE0000000003FFFC0000007FFF8000000007FFF
5389 00000001FFFC00000000FFFE00000000FFFE00000001FFFC000000007FFF00000003FFF8
5390 000000003FFF80000007FFF0000000001FFFC000000FFFE0000000000FFFE000001FFFE0
5391 000000000FFFF000003FFFC00000000007FFF800007FFF800000000003FFFC00007FFF80
5392 0000000003FFFC0000FFFF000000000001FFFE0001FFFF000000000001FFFF0001FFFF00
5393 0000000001FFFF0003FFFE000000000000FFFF8003FFFE000000000000FFFF8007FFFE00
5394 0000000000FFFFC007FFFC0000000000007FFFC00FFFFC0000000000007FFFE00FFFFC00
5395 00000000007FFFE01FFFFC0000000000007FFFF01FFFFC0000000000007FFFF01FFFFC00
5396 00000000007FFFF03FFFFC0000000000007FFFF83FFFF80000000000003FFFF83FFFF800
5397 00000000003FFFF83FFFF80000000000003FFFF87FFFF80000000000003FFFFC7FFFF800
5398 00000000003FFFFC7FFFF80000000000003FFFFC7FFFF80000000000003FFFFC7FFFF800
5399 00000000003FFFFCFFFFF80000000000003FFFFEFFFFF80000000000003FFFFEFFFFF800
5400 00000000003FFFFEFFFFF80000000000003FFFFEFFFFF80000000000003FFFFEFFFFF800
5401 00000000003FFFFEFFFFF80000000000003FFFFEFFFFF80000000000003FFFFEFFFFF800
5402 00000000003FFFFEFFFFF80000000000003FFFFEFFFFF80000000000003FFFFEFFFFF800
5403 00000000003FFFFEFFFFF80000000000003FFFFEFFFFF80000000000003FFFFEFFFFF800
5404 00000000003FFFFEFFFFF80000000000003FFFFE7FFFF80000000000003FFFFC7FFFF800
5405 00000000003FFFFC7FFFF80000000000003FFFFC7FFFF80000000000003FFFFC7FFFF800
5406 00000000003FFFFC3FFFF80000000000003FFFF83FFFFC0000000000007FFFF83FFFFC00
5407 00000000007FFFF83FFFFC0000000000007FFFF81FFFFC0000000000007FFFF01FFFFC00
5408 00000000007FFFF01FFFFC0000000000007FFFF00FFFFE000000000000FFFFE00FFFFE00
5409 0000000000FFFFE007FFFE000000000000FFFFC007FFFE000000000000FFFFC003FFFF00
5410 0000000001FFFF8003FFFF000000000001FFFF8001FFFF000000000001FFFF0001FFFF80
5411 0000000003FFFF0000FFFF800000000003FFFE00007FFFC00000000007FFFC00003FFFC0
5412 0000000007FFF800003FFFE0000000000FFFF800001FFFF0000000001FFFF000000FFFF0
5413 000000001FFFE0000007FFF8000000003FFFC0000003FFFC000000007FFF80000001FFFE
5414 00000000FFFF000000007FFF80000003FFFC000000003FFFC0000007FFF8000000000FFF
5415 F000001FFFE00000000007FFFE0000FFFFC00000000001FFFFC007FFFF0000000000007F
5416 FFFFFFFFFC0000000000000FFFFFFFFFE000000000000003FFFFFFFF8000000000000000
5417 3FFFFFF8000000000000000000FFFE00000000005F5F7ADD6C>I<0000007F800000FFF8
5418 000000000000FFFFFF80001FFFFFC000000000FFFFFFFF8000FFFFFFFC00000000FFFFFF
5419 FF8003FFFFFFFF00000000FFFFFFFF800FFFFFFFFFC0000000FFFFFFFF803FFC00FFFFF0
5420 000000FFFFFFFF80FFC0001FFFFC000000FFFFFFFF83FE000007FFFF000000FFFFFFFF87
5421 F8000001FFFF800000003FFFFF8FF0000000FFFFE00000000FFFFF9FC00000007FFFF000
5422 000007FFFFBF800000003FFFF800000003FFFFFF000000001FFFFC00000003FFFFFE0000
5423 00000FFFFE00000003FFFFFC0000000007FFFF00000003FFFFF80000000007FFFF000000
5424 03FFFFF00000000003FFFF80000003FFFFE00000000001FFFFC0000003FFFFC000000000
5425 01FFFFE0000003FFFFC00000000000FFFFE0000003FFFFC00000000000FFFFF0000003FF
5426 FFC000000000007FFFF0000003FFFFC000000000007FFFF8000003FFFFC000000000007F
5427 FFF8000003FFFFC000000000003FFFFC000003FFFFC000000000003FFFFC000003FFFFC0
5428 00000000003FFFFE000003FFFFC000000000001FFFFE000003FFFFC000000000001FFFFE
5429 000003FFFFC000000000001FFFFF000003FFFFC000000000001FFFFF000003FFFFC00000
5430 0000000FFFFF000003FFFFC000000000000FFFFF000003FFFFC000000000000FFFFF8000
5431 03FFFFC000000000000FFFFF800003FFFFC000000000000FFFFF800003FFFFC000000000
5432 000FFFFF800003FFFFC000000000000FFFFF800003FFFFC0000000000007FFFFC00003FF
5433 FFC0000000000007FFFFC00003FFFFC0000000000007FFFFC00003FFFFC0000000000007
5434 FFFFC00003FFFFC0000000000007FFFFC00003FFFFC0000000000007FFFFC00003FFFFC0
5435 000000000007FFFFC00003FFFFC0000000000007FFFFC00003FFFFC0000000000007FFFF
5436 C00003FFFFC0000000000007FFFFC00003FFFFC0000000000007FFFFC00003FFFFC00000
5437 00000007FFFFC00003FFFFC0000000000007FFFFC00003FFFFC0000000000007FFFFC000
5438 03FFFFC0000000000007FFFFC00003FFFFC0000000000007FFFFC00003FFFFC000000000
5439 0007FFFFC00003FFFFC0000000000007FFFF800003FFFFC000000000000FFFFF800003FF
5440 FFC000000000000FFFFF800003FFFFC000000000000FFFFF800003FFFFC000000000000F
5441 FFFF800003FFFFC000000000000FFFFF800003FFFFC000000000000FFFFF000003FFFFC0
5442 00000000001FFFFF000003FFFFC000000000001FFFFF000003FFFFC000000000001FFFFE
5443 000003FFFFC000000000001FFFFE000003FFFFC000000000003FFFFE000003FFFFC00000
5444 0000003FFFFC000003FFFFC000000000003FFFFC000003FFFFC000000000007FFFF80000
5445 03FFFFC000000000007FFFF8000003FFFFC000000000007FFFF0000003FFFFC000000000
5446 00FFFFF0000003FFFFC00000000000FFFFE0000003FFFFC00000000001FFFFE0000003FF
5447 FFC00000000001FFFFC0000003FFFFE00000000003FFFF80000003FFFFF00000000007FF
5448 FF80000003FFFFF80000000007FFFF00000003FFFFF8000000000FFFFE00000003FFFFFC
5449 000000001FFFFC00000003FFFFFE000000003FFFF800000003FFFFFF000000007FFFF000
5450 000003FFFFFF80000000FFFFE000000003FFFFDFE0000001FFFFC000000003FFFFC7F000
5451 0007FFFF0000000003FFFFC3FC00000FFFFE0000000003FFFFC1FF00007FFFF800000000
5452 03FFFFC07FF003FFFFE00000000003FFFFC01FFFFFFFFF800000000003FFFFC007FFFFFF
5453 FE000000000003FFFFC001FFFFFFF0000000000003FFFFC0007FFFFF00000000000003FF
5454 FFC00003FFE000000000000003FFFFC00000000000000000000003FFFFC0000000000000
5455 0000000003FFFFC00000000000000000000003FFFFC00000000000000000000003FFFFC0
5456 0000000000000000000003FFFFC00000000000000000000003FFFFC00000000000000000
5457 000003FFFFC00000000000000000000003FFFFC00000000000000000000003FFFFC00000
5458 000000000000000003FFFFC00000000000000000000003FFFFC000000000000000000000
5459 03FFFFC00000000000000000000003FFFFC00000000000000000000003FFFFC000000000
5460 00000000000003FFFFC00000000000000000000003FFFFC00000000000000000000003FF
5461 FFC00000000000000000000003FFFFC00000000000000000000003FFFFC0000000000000
5462 0000000003FFFFC00000000000000000000003FFFFC00000000000000000000003FFFFC0
5463 0000000000000000000003FFFFC00000000000000000000003FFFFC00000000000000000
5464 000003FFFFC00000000000000000000003FFFFC00000000000000000000003FFFFC00000
5465 000000000000000003FFFFC00000000000000000000003FFFFC000000000000000000000
5466 03FFFFC00000000000000000000003FFFFC0000000000000000000FFFFFFFFFFFF000000
5467 0000000000FFFFFFFFFFFF0000000000000000FFFFFFFFFFFF0000000000000000FFFFFF
5468 FFFFFF0000000000000000FFFFFFFFFFFF0000000000000000FFFFFFFFFFFF0000000000
5469 000000FFFFFFFFFFFF00000000000000006A857ADC78>I<000000FF00001FF8000000FF
5470 FFFF0000FFFF0000FFFFFFFF0003FFFFE000FFFFFFFF000FFFFFF000FFFFFFFF001FFFFF
5471 FC00FFFFFFFF003FF00FFE00FFFFFFFF007F003FFF00FFFFFFFF00FE007FFF80FFFFFFFF
5472 01F800FFFF80003FFFFF03F001FFFFC0000FFFFF03E001FFFFC00007FFFF07C003FFFFE0
5473 0003FFFF078003FFFFE00003FFFF0F8003FFFFE00003FFFF0F0003FFFFE00003FFFF1F00
5474 03FFFFE00003FFFF1E0003FFFFE00003FFFF3C0003FFFFE00003FFFF3C0003FFFFE00003
5475 FFFF3C0001FFFFC00003FFFF780001FFFFC00003FFFF780000FFFF800003FFFF7000007F
5476 FF000003FFFFF000003FFE000003FFFFF000000FF8000003FFFFE000000000000003FFFF
5477 E000000000000003FFFFE000000000000003FFFFE000000000000003FFFFE00000000000
5478 0003FFFFC000000000000003FFFFC000000000000003FFFFC000000000000003FFFFC000
5479 000000000003FFFFC000000000000003FFFFC000000000000003FFFF8000000000000003
5480 FFFF8000000000000003FFFF8000000000000003FFFF8000000000000003FFFF80000000
5481 00000003FFFF8000000000000003FFFF8000000000000003FFFF8000000000000003FFFF
5482 8000000000000003FFFF8000000000000003FFFF8000000000000003FFFF800000000000
5483 0003FFFF8000000000000003FFFF8000000000000003FFFF8000000000000003FFFF8000
5484 000000000003FFFF8000000000000003FFFF8000000000000003FFFF8000000000000003
5485 FFFF8000000000000003FFFF8000000000000003FFFF8000000000000003FFFF80000000
5486 00000003FFFF8000000000000003FFFF8000000000000003FFFF8000000000000003FFFF
5487 8000000000000003FFFF8000000000000003FFFF8000000000000003FFFF800000000000
5488 0003FFFF8000000000000003FFFF8000000000000003FFFF8000000000000003FFFF8000
5489 000000000003FFFF8000000000000003FFFF8000000000000003FFFF8000000000000003
5490 FFFF8000000000000003FFFF8000000000000003FFFF8000000000000003FFFF80000000
5491 00000003FFFF8000000000000003FFFF8000000000000003FFFF8000000000000003FFFF
5492 8000000000000003FFFF8000000000000003FFFF8000000000000003FFFF800000000000
5493 0003FFFF8000000000000003FFFF800000000000FFFFFFFFFFFFE0000000FFFFFFFFFFFF
5494 E0000000FFFFFFFFFFFFE0000000FFFFFFFFFFFFE0000000FFFFFFFFFFFFE0000000FFFF
5495 FFFFFFFFE0000000FFFFFFFFFFFFE00000004B5D7ADC57>114 D<0000003FFF80000380
5496 00000FFFFFFC00078000007FFFFFFF001F800001FFFFFFFFE03F800007FFFFFFFFF07F80
5497 001FFFC0007FFCFF80007FFC00000FFFFF8000FFE0000001FFFF8001FFC00000007FFF80
5498 03FF000000003FFF8007FE000000001FFF800FFE000000000FFF800FFC0000000007FF80
5499 1FF80000000003FF801FF80000000001FF803FF80000000001FF803FF00000000000FF80
5500 7FF000000000007F807FF000000000007F807FF000000000007F807FF000000000003F80
5501 FFF000000000003F80FFF800000000003F80FFF800000000003F80FFF800000000001F80
5502 FFFC00000000001F80FFFE00000000001F80FFFF00000000001F80FFFF80000000001F80
5503 FFFFC0000000001F80FFFFE0000000000000FFFFF80000000000007FFFFF000000000000
5504 7FFFFFF000000000007FFFFFFF80000000003FFFFFFFFC000000003FFFFFFFFFE0000000
5505 1FFFFFFFFFFE0000001FFFFFFFFFFFC000000FFFFFFFFFFFF0000007FFFFFFFFFFFC0000
5506 07FFFFFFFFFFFF000003FFFFFFFFFFFF800001FFFFFFFFFFFFE00000FFFFFFFFFFFFF000
5507 003FFFFFFFFFFFF800001FFFFFFFFFFFFC000007FFFFFFFFFFFE000003FFFFFFFFFFFF00
5508 0000FFFFFFFFFFFF8000003FFFFFFFFFFF80000007FFFFFFFFFFC00000007FFFFFFFFFE0
5509 00000007FFFFFFFFE0000000001FFFFFFFF00000000000FFFFFFF000000000000FFFFFF8
5510 000000000001FFFFF80000000000007FFFF80000000000003FFFF8FC00000000000FFFFC
5511 FC000000000007FFFCFC000000000003FFFCFE000000000001FFFCFE000000000001FFFC
5512 FE000000000000FFFCFE000000000000FFFCFF0000000000007FFCFF0000000000007FFC
5513 FF0000000000003FFCFF8000000000003FFCFF8000000000003FFCFFC000000000003FF8
5514 FFC000000000003FF8FFE000000000003FF8FFE000000000003FF8FFF000000000003FF0
5515 FFF000000000007FF0FFF800000000007FF0FFFC00000000007FE0FFFC0000000000FFE0
5516 FFFE0000000000FFC0FFFF0000000001FFC0FFFF8000000003FF80FFFFC000000007FF00
5517 FFFFF00000000FFE00FFFFF80000001FFC00FFE7FE0000007FF800FFC1FF800001FFF000
5518 FF80FFF8001FFFC000FE003FFFFFFFFF8000FC000FFFFFFFFE0000F80003FFFFFFF00000
5519 F00000FFFFFF800000E0000007FFF0000000465F79DD55>I[<00000003F0000000000000
5520 0003F00000000000000003F00000000000000003F00000000000000003F0000000000000
5521 0003F00000000000000003F00000000000000003F00000000000000007F0000000000000
5522 0007F00000000000000007F00000000000000007F00000000000000007F0000000000000
5523 000FF0000000000000000FF0000000000000000FF0000000000000000FF0000000000000
5524 001FF0000000000000001FF0000000000000001FF0000000000000003FF0000000000000
5525 003FF0000000000000007FF0000000000000007FF000000000000000FFF0000000000000
5526 00FFF000000000000001FFF000000000000001FFF000000000000003FFF0000000000000
5527 07FFF000000000000007FFF00000000000000FFFF00000000000001FFFF0000000000000
5528 3FFFF00000000000007FFFF0000000000000FFFFF0000000000003FFFFF0000000000007
5529 FFFFF000000000001FFFFFF000000000007FFFFFFFFFFFFF0007FFFFFFFFFFFFFF00FFFF
5530 FFFFFFFFFFFF00FFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFF00FFFF
5531 FFFFFFFFFFFF000000FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000
5532 FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000
5533 FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000
5534 FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000
5535 FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000
5536 FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000
5537 FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000
5538 FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000
5539 FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000
5540 FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000
5541 FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000
5542 FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000
5543 FFFFF0000000000000FFFFF0000007E00000FFFFF0000007E00000FFFFF0000007E00000
5544 FFFFF0000007E00000FFFFF0000007E00000FFFFF0000007E00000FFFFF0000007E00000
5545 FFFFF0000007E00000FFFFF0000007E00000FFFFF0000007E00000FFFFF0000007E00000
5546 FFFFF0000007E00000FFFFF0000007E00000FFFFF0000007E00000FFFFF0000007E00000
5547 FFFFF0000007E00000FFFFF0000007E00000FFFFF0000007E00000FFFFF000000FE00000
5548 7FFFF000000FC000007FFFF800000FC000007FFFF800000FC000003FFFF800000FC00000
5549 3FFFF800001F8000003FFFFC00001F8000001FFFFC00003F0000001FFFFE00003F000000
5550 0FFFFE00007E00000007FFFF00007E00000003FFFF0000FC00000001FFFF8001F8000000
5551 00FFFFE003F8000000007FFFF80FF0000000001FFFFFFFC00000000007FFFFFF80000000
5552 0001FFFFFF0000000000003FFFFC00000000000001FFE00000>67
5553 132 124 258 84 I<0000007FC000000000000FF8000000FFFFFFC00000001FFFFFF800
5554 00FFFFFFFFC000001FFFFFFFF80000FFFFFFFFC000001FFFFFFFF80000FFFFFFFFC00000
5555 1FFFFFFFF80000FFFFFFFFC000001FFFFFFFF80000FFFFFFFFC000001FFFFFFFF80000FF
5556 FFFFFFC000001FFFFFFFF80000FFFFFFFFC000001FFFFFFFF80000003FFFFFC000000007
5557 FFFFF80000000FFFFFC000000001FFFFF800000007FFFFC000000000FFFFF800000003FF
5558 FFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFF
5559 F800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0
5560 000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800
5561 000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC00000
5562 00007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF8000000
5563 03FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC000000000
5564 7FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FF
5565 FFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFF
5566 F800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0
5567 000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800
5568 000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC00000
5569 00007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF8000000
5570 03FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC000000000
5571 7FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FF
5572 FFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFF
5573 F800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0
5574 000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800
5575 000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC00000
5576 00007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF8000000
5577 03FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC000000000
5578 7FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FF
5579 FFC000000000FFFFF800000003FFFFC000000000FFFFF800000003FFFFC000000000FFFF
5580 F800000003FFFFC000000000FFFFF800000003FFFFC000000001FFFFF800000003FFFFC0
5581 00000001FFFFF800000003FFFFC000000001FFFFF800000003FFFFC000000003FFFFF800
5582 000003FFFFC000000003FFFFF800000001FFFFC000000003BFFFF800000001FFFFC00000
5583 0007BFFFF800000001FFFFC0000000073FFFF800000001FFFFC00000000F3FFFF8000000
5584 00FFFFE00000001E3FFFF800000000FFFFE00000001E3FFFF8000000007FFFE00000003C
5585 3FFFF8000000007FFFE0000000783FFFF8000000003FFFE0000000F83FFFFC000000003F
5586 FFF0000001F03FFFFE000000001FFFF8000003E03FFFFF800000000FFFFC00000FC03FFF
5587 FFFFE0000007FFFF00003F803FFFFFFFE0000001FFFFE001FF003FFFFFFFE0000000FFFF
5588 FFFFFC003FFFFFFFE00000003FFFFFFFF8003FFFFFFFE000000007FFFFFFE0003FFFFFFF
5589 E000000000FFFFFF00003FFFFFFFE00000000007FFF800003FFFE000006B5E79DC78>I<
5590 FFFFFFFFFFFC0000003FFFFFFF80FFFFFFFFFFFC0000003FFFFFFF80FFFFFFFFFFFC0000
5591 003FFFFFFF80FFFFFFFFFFFC0000003FFFFFFF80FFFFFFFFFFFC0000003FFFFFFF80FFFF
5592 FFFFFFFC0000003FFFFFFF80FFFFFFFFFFFC0000003FFFFFFF800007FFFFC00000000000
5593 FFFF80000007FFFFE000000000001FF800000003FFFFE000000000000FE000000003FFFF
5594 F000000000000FE000000001FFFFF000000000000FC000000001FFFFF000000000001FC0
5595 00000000FFFFF800000000001F8000000000FFFFF800000000003F8000000000FFFFFC00
5596 000000003F80000000007FFFFC00000000003F00000000007FFFFE00000000007F000000
5597 00003FFFFE00000000007E00000000003FFFFE0000000000FE00000000001FFFFF000000
5598 0000FC00000000001FFFFF0000000001FC00000000001FFFFF8000000001FC0000000000
5599 0FFFFF8000000001F800000000000FFFFFC000000003F8000000000007FFFFC000000003
5600 F0000000000007FFFFC000000007F0000000000003FFFFE000000007E0000000000003FF
5601 FFE00000000FE0000000000003FFFFF00000000FE0000000000001FFFFF00000000FC000
5602 0000000001FFFFF80000001FC0000000000000FFFFF80000001F80000000000000FFFFF8
5603 0000003F800000000000007FFFFC0000003F000000000000007FFFFC0000007F00000000
5604 0000007FFFFE0000007F000000000000003FFFFE0000007E000000000000003FFFFF0000
5605 00FE000000000000001FFFFF000000FC000000000000001FFFFF000001FC000000000000
5606 000FFFFF800001F8000000000000000FFFFF800003F8000000000000000FFFFFC00003F8
5607 0000000000000007FFFFC00003F00000000000000007FFFFE00007F00000000000000003
5608 FFFFE00007E00000000000000003FFFFE0000FE00000000000000001FFFFF0000FC00000
5609 000000000001FFFFF0001FC00000000000000001FFFFF8001FC00000000000000000FFFF
5610 F8001F800000000000000000FFFFFC003F8000000000000000007FFFFC003F0000000000
5611 000000007FFFFC007F0000000000000000003FFFFE007E0000000000000000003FFFFE00
5612 FE0000000000000000003FFFFF00FE0000000000000000001FFFFF00FC00000000000000
5613 00001FFFFF81FC0000000000000000000FFFFF81F80000000000000000000FFFFF83F800
5614 000000000000000007FFFFC3F000000000000000000007FFFFC7F0000000000000000000
5615 07FFFFE7F000000000000000000003FFFFE7E000000000000000000003FFFFFFE0000000
5616 00000000000001FFFFFFC000000000000000000001FFFFFFC000000000000000000000FF
5617 FFFF8000000000000000000000FFFFFF8000000000000000000000FFFFFF800000000000
5618 00000000007FFFFF00000000000000000000007FFFFF00000000000000000000003FFFFE
5619 00000000000000000000003FFFFE00000000000000000000001FFFFC0000000000000000
5620 0000001FFFFC00000000000000000000001FFFFC00000000000000000000000FFFF80000
5621 0000000000000000000FFFF8000000000000000000000007FFF000000000000000000000
5622 0007FFF0000000000000000000000003FFE0000000000000000000000003FFE000000000
5623 0000000000000003FFE0000000000000000000000001FFC0000000000000000000000001
5624 FFC0000000000000000000000000FF80000000000000000000000000FF80000000000000
5625 0000000000007F000000000000000000000000007F000000000000000000000000007F00
5626 0000000000000000000000007E00000000000000000000000000FE000000000000000000
5627 00000000FC00000000000000000000000001FC00000000000000000000000001F8000000
5628 00000000000000000003F800000000000000000000000003F80000000000000000000000
5629 0003F000000000000000000000000007F000000000000000000000000007E00000000000
5630 000000000000000FE00000000000000000000000000FC00000000000000000000000001F
5631 C00000000000000000000000001FC00000000000000003F80000001F8000000000000000
5632 0FFE0000003F80000000000000001FFF0000003F00000000000000003FFF8000007F0000
5633 0000000000007FFFC000007E00000000000000007FFFC00000FE0000000000000000FFFF
5634 E00000FC0000000000000000FFFFE00001FC0000000000000000FFFFE00001F800000000
5635 00000000FFFFE00003F80000000000000000FFFFE00007F00000000000000000FFFFE000
5636 07E00000000000000000FFFFE0000FE000000000000000007FFFC0001FC0000000000000
5637 00007FFFC0003F8000000000000000007FFF80007F0000000000000000003FFF0000FE00
5638 00000000000000003FFE0003FE0000000000000000001FF80007F8000000000000000000
5639 0FF8001FF000000000000000000007FF00FFE000000000000000000003FFFFFFC0000000
5640 00000000000000FFFFFF00000000000000000000007FFFFC00000000000000000000001F
5641 FFF0000000000000000000000001FF800000000000000000000069857CDB72>121
5642 D E
5643 %EndDVIPSBitmapFont
5644 %DVIPSBitmapFont: Fm ecrm1200 12 31
5645 /Fm 31 122 df<1E007F80FF80FFC0FFC0FFE0FFE0FFE07FE01E60006000600060006000
5646 E000C000C000C001C0018003800300070006000E001C003800700060000B1D78891B>44
5647 D<FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC01A067F9721>I<1E007F80
5648 7F80FFC0FFC0FFC0FFC07F807F801E000A0A78891B>I<0000FF00000007FFE000001F81
5649 F800003E007C0000FC003F0001F8001F8001F0000F8003E00007C007C00003E007C00003
5650 E00FC00003F00F800001F01F800001F81F800001F83F800001FC3F800001FC3F800001FC
5651 3F000000FC7F000000FE7F000000FE7F000000FE7F000000FE7F000000FEFF000000FFFF
5652 000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF00
5653 0000FFFF000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF0000
5654 00FFFF000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF000000FF7F000000
5655 FE7F000000FE7F000000FE7F000000FE7F000000FE7F800001FE3F800001FC3F800001FC
5656 3F800001FC1F800001F81F800001F80FC00003F00FC00003F00FC00003F007E00007E003
5657 E00007C003F0000FC001F8001F8000FC003F00003E007C00001F81F8000007FFE0000000
5658 FF000028447CC131>48 D<0003FE0000001FFFC000007FFFF00001F80FFC0003C001FE00
5659 078000FF000E00007F801C00003FC01C00001FE03800001FF03000000FF07000000FF860
5660 000007F86C000007F8FF000007FCFF800007FCFFC00007FCFFC00003FCFFC00003FCFFC0
5661 0003FCFFC00003FC7F800007FC3F000007FC00000007FC00000007F800000007F8000000
5662 0FF80000000FF00000001FF00000001FE00000001FE00000003FC00000007F800000007F
5663 00000000FF00000000FE00000001FC00000003F800000007F000000007E00000000FC000
5664 00001F800000003F000000007C00000000F800000000F000000001E000000003C0000000
5665 07800000000F00000C001E00000C003C00000C0038000018007000001800E000001801C0
5666 000018038000003807000000300E000000701FFFFFFFF01FFFFFFFF03FFFFFFFF07FFFFF
5667 FFF0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE026427BC131>50 D<06000000C007C00007C007
5668 FC007F8007FFFFFF0007FFFFFE0007FFFFFC0007FFFFF80007FFFFE00007FFFF8000063F
5669 FC0000060000000006000000000600000000060000000006000000000600000000060000
5670 000006000000000600000000060000000006000000000600000000060000000006000000
5671 000600FF00000607FFC000061F01F000063800FC0006F0007E0007C0003F000780001F80
5672 0780001FC00700000FC00600000FE000000007F000000007F000000007F000000007F800
5673 000003F800000003F800000003FC00000003FC00000003FC00000003FC00000003FC3E00
5674 0003FC7F000003FCFF800003FCFF800003FCFF800003FCFF800003FCFF800003F8FF0000
5675 07F8FE000007F860000007F060000007F07000000FF03000000FE03800001FC01C00001F
5676 C01E00003F800F00007F00078000FE0003C001FC0001F807F000007FFFE000001FFF0000
5677 0007F8000026447BC131>53 D<0000FF00000007FFE000001FFFF800007F00FE0000FC00
5678 3F0001F0001F8003E0000FC003C00007E007C00003F00F800001F00F800001F00F000001
5679 F81F000000F81F000000F81F000000F81F000000F81F800000F81F800000F81FC00001F8
5680 1FC00001F01FE00001F00FF00003E00FFC0003E007FE0007C007FF800F8003FFC01F0001
5681 FFF03E0001FFF87800007FFEF000003FFFC000001FFFC0000007FFE0000003FFF8000007
5682 FFFC00001E7FFF00007C1FFF8000F80FFFC001E003FFE003C001FFF007C0007FF80F8000
5683 3FFC1F00000FFC3E000007FE3E000001FE7C000000FE7C000000FF7C0000007FF8000000
5684 3FF80000003FF80000001FF80000001FF80000001FF80000001FF80000001FFC0000001E
5685 7C0000003E7C0000003E7E0000003C3E0000007C1F000000F81F800001F00FC00003E007
5686 E00007C003F8001F8000FF00FF00003FFFFC00000FFFF0000001FF800028447CC131>56
5687 D<FFFFFFFFFF000000FFFFFFFFFFE00000FFFFFFFFFFFC000001FFC00003FF0000007F80
5688 0000FF8000007F8000003FC000007F8000001FE000007F8000000FF000007F80000007F8
5689 00007F80000007FC00007F80000003FC00007F80000003FE00007F80000001FE00007F80
5690 000001FF00007F80000001FF00007F80000001FF00007F80000001FF00007F80000001FF
5691 00007F80000001FF00007F80000001FF00007F80000001FE00007F80000001FE00007F80
5692 000003FE00007F80000003FC00007F80000007FC00007F80000007F800007F8000000FF0
5693 00007F8000001FE000007F8000007FC000007F800000FF0000007F800003FE0000007F80
5694 003FF00000007FFFFFFFE00000007FFFFFFFFC0000007F800000FF8000007F8000001FC0
5695 00007F8000000FF000007F80000007F800007F80000003FC00007F80000001FE00007F80
5696 000000FF00007F80000000FF80007F800000007F80007F800000007FC0007F800000007F
5697 C0007F800000003FC0007F800000003FE0007F800000003FE0007F800000003FE0007F80
5698 0000003FE0007F800000003FE0007F800000003FE0007F800000003FE0007F800000003F
5699 E0007F800000007FC0007F800000007FC0007F800000007F80007F80000000FF80007F80
5700 000001FF00007F80000001FF00007F80000003FE00007F8000000FFC00007F8000001FF8
5701 00007F8000007FE00001FFC00003FFC000FFFFFFFFFFFF0000FFFFFFFFFFFC0000FFFFFF
5702 FFFFC000003B447CC345>66 D<0000000FFE000060000000FFFFC000E0000003FFFFF000
5703 E000000FFC01FC01E000003FC0003E01E00000FF00000F83E00003FC000003C7E00007F8
5704 000001E7E0000FF0000000FFE0001FE00000007FE0003FC00000003FE0007F800000001F
5705 E000FF000000000FE001FE000000000FE001FC0000000007E003FC0000000007E007F800
5706 00000003E007F80000000003E00FF00000000001E00FF00000000001E01FE00000000000
5707 E01FE00000000000E03FE00000000000E03FE00000000000E03FC00000000000607FC000
5708 00000000607FC00000000000607FC00000000000607FC0000000000000FF800000000000
5709 00FF80000000000000FF80000000000000FF80000000000000FF80000000000000FF8000
5710 0000000000FF80000000000000FF80000000000000FF80000000000000FF800000000000
5711 00FF80000000000000FF80000000000000FF80000000000000FF800000000000007FC000
5712 00000000007FC00000000000007FC00000000000607FC00000000000603FC00000000000
5713 603FE00000000000603FE00000000000601FE00000000000E01FF00000000000E00FF000
5714 00000000C00FF00000000000C007F80000000001C007F800000000018003FC0000000003
5715 8001FC00000000038001FE00000000070000FF000000000600007F800000000E00003FC0
5716 0000001C00001FE00000003800000FF000000078000007F8000000F0000003FC000001E0
5717 000000FF000007800000003FC0001F000000000FFC00FC0000000003FFFFF00000000000
5718 FFFFC000000000000FFE0000003B487BC546>I<FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFF
5719 FFFFFFFFF001FFC000007FF0007F8000000FF8007F80000003F8007F80000001F8007F80
5720 000000F8007F8000000078007F8000000038007F8000000038007F800000001C007F8000
5721 00001C007F800000001C007F800000000C007F800000000C007F800000000C007F800000
5722 000C007F800000000E007F8000000006007F80000C0006007F80000C0006007F80000C00
5723 00007F80000C0000007F80000C0000007F80000C0000007F80000C0000007F80001C0000
5724 007F80001C0000007F80003C0000007F80007C0000007F8001FC0000007FFFFFFC000000
5725 7FFFFFFC0000007FFFFFFC0000007F8001FC0000007F80007C0000007F80003C0000007F
5726 80001C0000007F80001C0000007F80000C0000007F80000C0000007F80000C0000007F80
5727 000C0000007F80000C0000007F80000C0000007F80000C0000007F8000000000007F8000
5728 000000007F8000000000007F8000000000007F8000000000007F8000000000007F800000
5729 0000007F8000000000007F8000000000007F8000000000007F8000000000007F80000000
5730 00007F8000000000007F8000000000007F8000000000007F8000000000007FC000000000
5731 01FFE000000000FFFFFFF8000000FFFFFFF8000000FFFFFFF800000037447CC340>70
5732 D<0000000FFE00006000000000FFFFC000E000000003FFFFF000E00000000FFC01FC01E0
5733 0000003FC0003E01E0000000FF00000F83E0000003FC000003C7E0000007F8000001E7E0
5734 00000FF0000000FFE000001FE00000007FE000003FC00000003FE000007F800000001FE0
5735 0000FF000000000FE00001FE000000000FE00001FC0000000007E00003FC0000000007E0
5736 0007F80000000003E00007F80000000003E0000FF00000000001E0000FF00000000001E0
5737 001FE00000000000E0001FE00000000000E0003FE00000000000E0003FE00000000000E0
5738 003FC0000000000060007FC0000000000060007FC0000000000060007FC0000000000060
5739 007FC000000000000000FF8000000000000000FF8000000000000000FF80000000000000
5740 00FF8000000000000000FF8000000000000000FF8000000000000000FF80000000000000
5741 00FF8000000000000000FF8000000000000000FF8000000000000000FF80000000000000
5742 00FF8000000000000000FF8000000000000000FF80000001FFFFFFC07FC0000001FFFFFF
5743 C07FC0000001FFFFFFC07FC0000000007FF0007FC0000000003FE0003FC0000000001FE0
5744 003FE0000000001FE0003FE0000000001FE0001FE0000000001FE0001FF0000000001FE0
5745 000FF0000000001FE0000FF0000000001FE00007F8000000001FE00007F8000000001FE0
5746 0003FC000000001FE00001FE000000001FE00001FE000000001FE00000FF000000001FE0
5747 00007F800000001FE000003FC00000003FE000001FE00000003FE000000FF00000007FE0
5748 000007F8000000E7E0000003FE000001C7E0000000FF00000383E00000003FE0000F01E0
5749 0000000FFC00FE00E000000003FFFFF8006000000000FFFFE00000000000000FFE000000
5750 0042487BC54D>I<FFFFFFF0FFFFFFF0FFFFFFF000FFF000007FE000003FC000003FC000
5751 003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000
5752 003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000
5753 003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000
5754 003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000
5755 003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000
5756 003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000
5757 003FC000003FC000007FE00000FFF000FFFFFFF0FFFFFFF0FFFFFFF01C447DC323>73
5758 D<3FFFFFFFFFFFFFF83FFFFFFFFFFFFFF83FFFFFFFFFFFFFF83FF0001FF8001FF83F8000
5759 0FF00003F83E00000FF00000F87C00000FF000007C7800000FF000003C7800000FF00000
5760 3C7000000FF000001C7000000FF000001C7000000FF000001C6000000FF000000C600000
5761 0FF000000C6000000FF000000C6000000FF000000C6000000FF000000CC000000FF00000
5762 06C000000FF0000006C000000FF0000006C000000FF0000006C000000FF0000006000000
5763 0FF00000000000000FF00000000000000FF00000000000000FF00000000000000FF00000
5764 000000000FF00000000000000FF00000000000000FF00000000000000FF0000000000000
5765 0FF00000000000000FF00000000000000FF00000000000000FF00000000000000FF00000
5766 000000000FF00000000000000FF00000000000000FF00000000000000FF0000000000000
5767 0FF00000000000000FF00000000000000FF00000000000000FF00000000000000FF00000
5768 000000000FF00000000000000FF00000000000000FF00000000000000FF0000000000000
5769 0FF00000000000000FF00000000000000FF00000000000000FF00000000000000FF00000
5770 000000000FF00000000000000FF00000000000000FF00000000000000FF0000000000000
5771 0FF00000000000000FF00000000000000FF00000000000000FF00000000000000FF00000
5772 000000001FF80000000000007FFE0000000001FFFFFFFF80000001FFFFFFFF80000001FF
5773 FFFFFF80003F447DC346>84 D<FFFFFFC0000FFFFFFFFFFFC0000FFFFFFFFFFFC0000FFF
5774 FF01FFE0000000FFF0007F800000001F80007F800000000F00007F800000000F00007F80
5775 0000000600007F800000000600007F800000000600007F800000000600007F8000000006
5776 00007F800000000600007F800000000600007F800000000600007F800000000600007F80
5777 0000000600007F800000000600007F800000000600007F800000000600007F8000000006
5778 00007F800000000600007F800000000600007F800000000600007F800000000600007F80
5779 0000000600007F800000000600007F800000000600007F800000000600007F8000000006
5780 00007F800000000600007F800000000600007F800000000600007F800000000600007F80
5781 0000000600007F800000000600007F800000000600007F800000000600007F8000000006
5782 00007F800000000600007F800000000600007F800000000600007F800000000600007F80
5783 0000000600007F800000000600007F800000000600007F800000000600007F8000000006
5784 00007F800000000600007F800000000600007F800000000E00003FC00000000C00003FC0
5785 0000000C00003FC00000001C00001FC00000001C00001FE00000001800000FE000000038
5786 00000FE000000030000007F000000070000007F0000000E0000003F8000001E0000001FC
5787 000001C0000000FE000007800000007F00000F000000003F80001E000000001FE0007C00
5788 00000007FC03F00000000001FFFFE000000000007FFF80000000000007FC00000040467C
5789 C349>I<0007FC000000003FFF80000000F80FE0000003C003F00000070001F800000E00
5790 00FC00000FC0007E00001FE0007F00001FF0003F80001FF0003F80001FF0003F80001FF0
5791 001FC0001FF0001FC0000FE0001FC0000380001FC0000000001FC0000000001FC0000000
5792 001FC0000000001FC00000000FFFC0000001FFFFC000000FFE1FC000003FC01FC00000FF
5793 001FC00003FC001FC00007F8001FC0000FF0001FC0001FE0001FC0003FC0001FC0007FC0
5794 001FC0007F80001FC0007F80001FC060FF00001FC060FF00001FC060FF00001FC060FF00
5795 003FC060FF00003FC060FF00003FC060FF80007FC0607F8000EFC0607FC000C7E0C03FC0
5796 01C7E0C01FE00783F1C007F81E03FF8001FFFC01FF00001FE0007C002B2E7CAC31>97
5797 D<00007F80000003FFF000000FC07C00003F000F0000FC00038001F80001C003F8000FC0
5798 07F0001FE007E0003FE00FE0003FE01FC0003FE01FC0003FE03F80003FE03F80001FC07F
5799 800007007F800000007F800000007F00000000FF00000000FF00000000FF00000000FF00
5800 000000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF0000
5801 00007F000000007F800000007F800000003F800000003F800000303FC00000301FC00000
5802 700FE00000600FE00000E007F00000C003F80001C001F800038000FC000700003F001E00
5803 001FC078000007FFF0000000FF8000242E7DAC2B>99 D<0001FE00000007FFC000001F03
5804 F000007E00FC0000FC007E0001F8003F0003F0003F0007E0001F800FE0001FC00FC0000F
5805 C01FC0000FC03F80000FE03F800007E03F800007E07F800007F07F000007F07F000007F0
5806 FF000007F0FF000007F0FF000007F0FFFFFFFFF0FFFFFFFFF0FF00000000FF00000000FF
5807 00000000FF00000000FF00000000FF000000007F000000007F000000007F800000007F80
5808 0000003F800000003F800000301FC00000301FC00000700FC00000600FE00000E007F000
5809 00C003F00001C001F800038000FC000700003E001E00001F80F8000003FFE0000000FF00
5810 00242E7DAC2B>101 D<00000FE00000007FF8000001F81E000003F03F00000FE07F8000
5811 1FC0FF80001F80FF80003F80FF80007F00FF80007F00FF80007F007F0000FE001C0000FE
5812 00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00
5813 000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0000
5814 00FFFFFF8000FFFFFF8000FFFFFF800000FE00000000FE00000000FE00000000FE000000
5815 00FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000
5816 FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE
5817 00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00
5818 000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0000
5819 0000FE00000000FE00000000FE00000001FF8000007FFFFF00007FFFFF00007FFFFF0000
5820 21467EC51E>I<000000000F800001FC007FE0000FFF81F0F0003F07E381F000FC01FF03
5821 F001F800FE01F003F0007E01E007F0007F000007E0003F00000FE0003F80000FC0001F80
5822 001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0
5823 001FC0001FC0001FC0001FC0001FC0001FC0000FC0001F80000FE0003F800007E0003F00
5824 0007F0007F000003F0007E000001F800FC000001FC01F8000003BF07E00000030FFF8000
5825 000701FC0000000700000000000700000000000F00000000000F00000000000F00000000
5826 000F800000000007C00000000007E00000000007FFFFF8000003FFFFFF000003FFFFFFE0
5827 0001FFFFFFF800007FFFFFFC0001FFFFFFFE0007C0000FFF000F800000FF003F0000003F
5828 803E0000001F807C0000000FC07C0000000FC0F800000007C0F800000007C0F800000007
5829 C0F800000007C0F800000007C0FC0000000FC07C0000000F807E0000001F803E0000001F
5830 001F0000003E000F8000007C0007E00001F80001F80007E000007F003F8000001FFFFE00
5831 000001FFE000002C427DAC31>I<01FC00000000FFFC00000000FFFC00000000FFFC0000
5832 000007FC0000000003FC0000000001FC0000000001FC0000000001FC0000000001FC0000
5833 000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000
5834 000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000
5835 000001FC0000000001FC0000000001FC0000000001FC01FE000001FC07FFC00001FC1E07
5836 F00001FC3801F80001FC7001FC0001FCE000FC0001FDC000FE0001FD8000FE0001FF8000
5837 7F0001FF00007F0001FF00007F0001FE00007F0001FE00007F0001FE00007F0001FC0000
5838 7F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC0000
5839 7F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC0000
5840 7F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC0000
5841 7F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC0000
5842 7F0001FC00007F0003FE0000FF80FFFFF83FFFFEFFFFF83FFFFEFFFFF83FFFFE2F457DC4
5843 36>I<01E00007F80007F8000FFC000FFC000FFC000FFC0007F80007F80001E000000000
5844 000000000000000000000000000000000000000000000000000000000000000000000000
5845 01FC00FFFC00FFFC00FFFC0007FC0003FC0001FC0001FC0001FC0001FC0001FC0001FC00
5846 01FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC00
5847 01FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC00
5848 01FC0001FC0001FC0001FC0003FE00FFFFF8FFFFF8FFFFF815437DC21C>I<01FC000000
5849 00FFFC00000000FFFC00000000FFFC0000000007FC0000000003FC0000000001FC000000
5850 0001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC000000
5851 0001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC000000
5852 0001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC000000
5853 0001FC0000000001FC001FFFE001FC001FFFE001FC001FFFE001FC000FFF0001FC0007F8
5854 0001FC0007E00001FC0007C00001FC0007800001FC000E000001FC001C000001FC003800
5855 0001FC0070000001FC00E0000001FC01C0000001FC0380000001FC0700000001FC0F0000
5856 0001FC3F80000001FC7FC0000001FCFFC0000001FDCFE0000001FF8FF0000001FF07F000
5857 0001FE03F8000001FC03FC000001FC01FC000001FC00FE000001FC00FF000001FC007F00
5858 0001FC003F800001FC003FC00001FC001FC00001FC000FE00001FC000FF00001FC0007F0
5859 0001FC0007F80001FC0003FC0001FC0003FE0001FC0003FF0003FE0007FF80FFFFF81FFF
5860 F8FFFFF81FFFF8FFFFF81FFFF82D457DC433>107 D<01FC00FFFC00FFFC00FFFC0007FC
5861 0003FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC
5862 0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC
5863 0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC
5864 0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC
5865 0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC
5866 0003FE00FFFFF8FFFFF8FFFFF815457DC41C>I<01FC00FF00001FE00000FFFC07FFE000
5867 FFFC0000FFFC0F03F801E07F0000FFFC3C01FC07803F800007FC7000FE0E001FC00003FC
5868 E0007E1C000FC00001FDC0007F38000FE00001FD80007F30000FE00001FF80003FF00007
5869 F00001FF00003FE00007F00001FF00003FE00007F00001FE00003FC00007F00001FE0000
5870 3FC00007F00001FE00003FC00007F00001FC00003F800007F00001FC00003F800007F000
5871 01FC00003F800007F00001FC00003F800007F00001FC00003F800007F00001FC00003F80
5872 0007F00001FC00003F800007F00001FC00003F800007F00001FC00003F800007F00001FC
5873 00003F800007F00001FC00003F800007F00001FC00003F800007F00001FC00003F800007
5874 F00001FC00003F800007F00001FC00003F800007F00001FC00003F800007F00001FC0000
5875 3F800007F00001FC00003F800007F00001FC00003F800007F00001FC00003F800007F000
5876 01FC00003F800007F00001FC00003F800007F00001FC00003F800007F00001FC00003F80
5877 0007F00001FC00003F800007F00001FC00003F800007F00003FE00007FC0000FF800FFFF
5878 F81FFFFF03FFFFE0FFFFF81FFFFF03FFFFE0FFFFF81FFFFF03FFFFE04B2C7DAB52>I<01
5879 FC01FE0000FFFC07FFC000FFFC1E07F000FFFC3801F80007FC7001FC0003FCE000FC0001
5880 FDC000FE0001FD8000FE0001FF80007F0001FF00007F0001FF00007F0001FE00007F0001
5881 FE00007F0001FE00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001
5882 FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001
5883 FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001
5884 FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001
5885 FC00007F0001FC00007F0001FC00007F0001FC00007F0003FE0000FF80FFFFF83FFFFEFF
5886 FFF83FFFFEFFFFF83FFFFE2F2C7DAB36>I<00007F8000000003FFF00000000FC0FC0000
5887 003E001F0000007C000F800000F80007C00001F00003E00003E00001F00007C00000F800
5888 0FC00000FC000FC00000FC001F8000007E003F8000007F003F8000007F003F0000003F00
5889 7F0000003F807F0000003F807F0000003F807F0000003F80FF0000003FC0FF0000003FC0
5890 FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0
5891 FF0000003FC0FF0000003FC07F0000003F807F0000003F807F8000007F803F8000007F00
5892 3F8000007F001F8000007E001FC00000FE000FC00000FC000FE00001FC0007E00001F800
5893 03F00003F00001F80007E00000FC000FC000003E001F0000001FC0FE00000007FFF80000
5894 00007F8000002A2E7DAC31>I<03F803F0FFF81FFCFFF83C3EFFF8707F07F8E0FF03F9C0
5895 FF01F980FF01FB80FF01FB007E01FB003C01FF000001FE000001FE000001FE000001FE00
5896 0001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC00
5897 0001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC00
5898 0001FC000001FC000001FC000001FC000001FC000001FC000001FC000003FF0000FFFFFE
5899 00FFFFFE00FFFFFE00202C7DAB26>114 D<003FE01801FFFC3807E01F780F0003F81E00
5900 01F83C0000F87C00007878000078F8000038F8000038F8000018F8000018FC000018FC00
5901 0018FE000018FF8000007FC000007FFC00003FFFE0001FFFFC000FFFFF0007FFFFC003FF
5902 FFE000FFFFF0001FFFF80000FFF800000FFC000003FCC00001FEC00000FEC000007EE000
5903 007EE000003EE000003EF000003EF000003EF000003EF800003CFC00007CFC000078FE00
5904 00F8FF0001F0F38003E0F1F00F80E07FFE00C00FF0001F2E7DAC26>I<00060000000600
5905 00000600000006000000060000000E0000000E0000000E0000000E0000001E0000001E00
5906 00001E0000003E0000007E0000007E000000FE000001FE000007FE00001FFFFFF0FFFFFF
5907 F0FFFFFFF000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE00
5908 0000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE00
5909 0000FE000000FE000000FE000000FE000000FE000000FE000C00FE000C00FE000C00FE00
5910 0C00FE000C00FE000C00FE000C00FE000C00FE000C00FE000C007E001C007F0018007F00
5911 18003F0038001F8030001FC0700007E0E00001FFC000007F001E3E7EBC26>I<FFFFF001
5912 FFFCFFFFF001FFFCFFFFF001FFFC07FF00007FE003FE00001F8001FE00001F0001FE0000
5913 0E0000FE00000E0000FE00000C00007F00001800007F00001800007F80001800003F8000
5914 3000003F80003000003FC0007000001FC0006000001FE0006000000FE000C000000FE000
5915 C000000FF001C0000007F00180000007F00180000003F80300000003F80300000003FC07
5916 00000001FC0600000001FC0600000000FE0C00000000FE0C00000000FF0C000000007F18
5917 000000007F18000000007FB8000000003FB0000000003FF0000000001FE0000000001FE0
5918 000000001FE0000000000FC0000000000FC0000000000780000000000780000000000780
5919 00000000030000002E2C7EAA33>118 D<FFFFF001FFFCFFFFF001FFFCFFFFF001FFFC07
5920 FF00007FE003FE00001F8001FE00001F0001FE00000E0000FE00000C0000FF00001C0000
5921 7F00001800007F00001800007F80003800003F80003000003F80003000001FC000600000
5922 1FC0006000001FE000E000000FE000C000000FE000C0000007F00180000007F001800000
5923 07F80380000003F80300000003F80300000001FC0600000001FC0600000001FE0E000000
5924 00FE0C00000000FE0C000000007F18000000007F18000000007FB8000000003FB0000000
5925 003FB0000000001FE0000000001FE0000000001FE0000000000FC0000000000FC0000000
5926 000780000000000780000000000780000000000300000000000300000000000600000000
5927 000600000000000600000000000C00000000000C0000000000180000000000180000003C
5928 00180000007E0030000000FF0030000000FF0060000000FF0060000000FF00C0000000FE
5929 01C00000007C03800000007007000000003C1E000000000FFC0000000003F0000000002E
5930 3F7EAA33>121 D E
5931 %EndDVIPSBitmapFont
5932 %DVIPSBitmapFont: Fn ecrm1728 17.28 12
5933 /Fn 12 117 df<0F003FC07FE0FFF0FFF0FFF0FFF0FFF0FFF07FE03FC00F000C0C748B25
5934 >46 D<000001C00000000003C00000000007C0000000000FC0000000003FC0000000007F
5935 C000000001FFC00000000FFFC0000000FFFFC00000FFFFFFC00000FFFE7FC00000FFF07F
5936 C00000FF007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007F
5937 C0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007F
5938 C0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007F
5939 C0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007F
5940 C0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007F
5941 C0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007F
5942 C0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007F
5943 C0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007F
5944 C0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007F
5945 C0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007F
5946 C0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007F
5947 C0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007F
5948 C0000000007FC0000000007FC0000000007FC000000000FFE000000000FFE000000007FF
5949 FC0000FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE02B5E73DD43>49
5950 D<00000FFC0000000000FFFFC000000003FFFFF00000000FFFFFFE0000001FC01FFF0000
5951 007E0003FFC00000F80000FFE00001F000003FF00003E000001FF80003C000000FFC0007
5952 80000007FE000F00000003FF000E00000003FF001E00000001FF801C00000001FF803C00
5953 000000FFC03800000000FFC078000000007FE070000000007FE070000000007FE0700000
5954 00007FE0FF800000003FF0FFE00000003FF0FFE00000003FF0FFF00000003FF0FFF00000
5955 003FF0FFF00000003FF0FFF00000003FF0FFF00000003FF0FFF00000003FF07FE0000000
5956 3FF03FC00000003FF006000000003FE000000000007FE000000000007FE000000000007F
5957 E000000000007FC00000000000FFC00000000000FFC00000000001FF800000000001FF80
5958 0000000001FF000000000003FF000000000003FE000000000007FC000000000007FC0000
5959 0000000FF800000000001FF000000000001FE000000000003FE000000000007FC0000000
5960 00007F800000000000FF000000000001FE000000000003FC000000000003F80000000000
5961 07F000000000000FE000000000001FC000000000003F8000000000003F0000000000007E
5962 000000000000FC000000000001F8000000000003F0000000000007E0000000000007C000
5963 000000000F8000000000001F0000000000003E0000000000007C000000000000F8000000
5964 700001F8000000700001F0000000700003E0000000700007C0000000E0000F80000000E0
5965 001F00000000E0003E00000000E0007C00000000E0007800000001E000F000000001E001
5966 E000000001C003C000000003C0078000000007C00FFFFFFFFFFFC01FFFFFFFFFFFC01FFF
5967 FFFFFFFFC03FFFFFFFFFFFC07FFFFFFFFFFFC0FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFF
5968 FFFFFF80FFFFFFFFFFFF80345E79DD43>I<0000000000F000000000000000F000000000
5969 000001F000000000000003F000000000000003F000000000000007F00000000000000FF0
5970 0000000000000FF00000000000001FF00000000000001FF00000000000003FF000000000
5971 00007FF00000000000007FF0000000000000FFF0000000000000FFF0000000000001DFF0
5972 000000000003DFF00000000000039FF00000000000079FF00000000000071FF000000000
5973 000E1FF000000000001E1FF000000000001C1FF000000000003C1FF00000000000781FF0
5974 0000000000701FF00000000000F01FF00000000000E01FF00000000001E01FF000000000
5975 03C01FF00000000003801FF00000000007801FF00000000007001FF0000000000E001FF0
5976 000000001E001FF0000000001C001FF0000000003C001FF00000000078001FF000000000
5977 70001FF000000000F0001FF000000000E0001FF000000001E0001FF000000003C0001FF0
5978 0000000380001FF00000000780001FF00000000700001FF00000000E00001FF00000001E
5979 00001FF00000001C00001FF00000003C00001FF00000003800001FF00000007000001FF0
5980 000000F000001FF0000000E000001FF0000001E000001FF0000003C000001FF000000380
5981 00001FF00000078000001FF00000070000001FF000000F0000001FF000001E0000001FF0
5982 00001C0000001FF000003C0000001FF00000380000001FF00000700000001FF00000F000
5983 00001FF00000FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFC0FFFFFFFFFFFF
5984 FFC0000000001FF00000000000001FF00000000000001FF00000000000001FF000000000
5985 00001FF00000000000001FF00000000000001FF00000000000001FF00000000000001FF0
5986 0000000000001FF00000000000001FF00000000000001FF00000000000001FF000000000
5987 00001FF00000000000001FF00000000000001FF00000000000001FF00000000000001FF0
5988 0000000000001FF00000000000003FF8000000000000FFFE0000000003FFFFFFFF800000
5989 03FFFFFFFF80000003FFFFFFFF80000003FFFFFFFF803A5F7CDE43>52
5990 D<0E000000000000001E000000000000001F000000000000001F800000000000001FF800
5991 00000000001FFFFFFFFFFFFF801FFFFFFFFFFFFF801FFFFFFFFFFFFF801FFFFFFFFFFFFF
5992 803FFFFFFFFFFFFF003FFFFFFFFFFFFF003FFFFFFFFFFFFE003FFFFFFFFFFFFC003FFFFF
5993 FFFFFFFC003E000000000078003C00000000007000380000000000F000780000000001E0
5994 00780000000001C000700000000003C00070000000000780007000000000070000700000
5995 00000F000070000000001E0000E0000000001C0000E0000000003C0000E0000000007800
5996 00E0000000007000000000000000F000000000000001E000000000000001C00000000000
5997 0003C0000000000000078000000000000007000000000000000F000000000000001E0000
5998 00000000001C000000000000003C00000000000000780000000000000078000000000000
5999 00F000000000000000E000000000000001E000000000000003E000000000000003C00000
6000 0000000007C000000000000007800000000000000F800000000000000F80000000000000
6001 1F000000000000001F000000000000003F000000000000003E000000000000003E000000
6002 000000007E000000000000007E00000000000000FE00000000000000FC00000000000001
6003 FC00000000000001FC00000000000001FC00000000000003FC00000000000003F8000000
6004 00000003F800000000000007F800000000000007F800000000000007F800000000000007
6005 F80000000000000FF80000000000000FF80000000000000FF80000000000000FF8000000
6006 0000001FF00000000000001FF00000000000001FF00000000000001FF00000000000003F
6007 F00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000
6008 0000003FF00000000000003FF00000000000007FF00000000000007FF00000000000007F
6009 F00000000000007FF00000000000007FF00000000000007FF00000000000007FF0000000
6010 0000007FF00000000000007FF00000000000007FF00000000000007FF00000000000007F
6011 F00000000000007FF00000000000003FE00000000000001FC00000000000000F80000000
6012 00396379E043>55 D<000007FF0000030000003FFFF00007000001FFFFFC0007000007FF
6013 FFFF000F00000FFC00FFC00F00003FE0000FF01F00007F800003F81F0000FE000000FC3F
6014 0001FC0000007E3F0003F80000001F7F0007F00000000FFF000FE000000007FF000FC000
6015 000007FF001FC000000003FF001F8000000001FF003F8000000000FF003F0000000000FF
6016 007F00000000007F007F00000000007F007E00000000003F007E00000000003F00FE0000
6017 0000003F00FE00000000001F00FE00000000001F00FE00000000001F00FE00000000000F
6018 00FE00000000000F00FF00000000000F00FF00000000000F00FF00000000000F00FF8000
6019 0000000700FF800000000007007FC00000000007007FC00000000007007FE00000000000
6020 003FF00000000000003FF80000000000003FFC0000000000001FFE0000000000001FFF80
6021 00000000000FFFE0000000000007FFFC000000000007FFFFC00000000003FFFFF8000000
6022 0001FFFFFF8000000000FFFFFFF8000000007FFFFFFF800000001FFFFFFFE00000000FFF
6023 FFFFF800000003FFFFFFFE00000000FFFFFFFF800000001FFFFFFFC000000001FFFFFFE0
6024 000000003FFFFFF00000000003FFFFF800000000003FFFFC000000000003FFFE00000000
6025 00007FFE0000000000001FFF0000000000000FFF80000000000003FF80000000000001FF
6026 C0000000000000FFC0000000000000FFC00000000000007FE00000000000003FE0000000
6027 0000003FE00000000000001FE0E000000000001FF0E000000000000FF0E000000000000F
6028 F0E000000000000FF0E000000000000FF0E0000000000007F0E0000000000007F0F00000
6029 00000007F0F0000000000007F0F0000000000007F0F0000000000007F0F8000000000007
6030 F0F8000000000007E0F800000000000FE0FC00000000000FE0FC00000000000FC0FE0000
6031 0000000FC0FF00000000001FC0FF00000000001F80FF80000000003F80FFC0000000003F
6032 00FFE0000000007F00FFF000000000FE00FEF800000000FC00FEFC00000001F800FC7F00
6033 000003F800FC1F8000000FF000F80FE000001FE000F807FC00007F8000F001FFE003FF00
6034 00F0007FFFFFFC0000E0001FFFFFF00000E00003FFFFC00000C000001FFE0000003C6679
6035 E34B>83 D<FFFFFFFC00000000007FFFFFFFFFFFFC00000000007FFFFFFFFFFFFC000000
6036 00007FFFFFFFFFFFFC00000000007FFFFF00FFFF8000000000000FFFF0003FFE00000000
6037 000003FF80003FFC00000000000001FE00001FFC00000000000001FC00001FFC00000000
6038 000000F800000FFC00000000000000F800000FFE00000000000000F0000007FE00000000
6039 000000E0000007FF00000000000000E0000003FF00000000000001C0000003FF00000000
6040 000001C0000003FF80000000000001C0000001FF8000000000000380000001FF80000000
6041 00000380000001FFC000000000000780000000FFC000000000000700000000FFE0000000
6042 000007000000007FE000000000000E000000007FE000000000000E000000007FF0000000
6043 00001E000000003FF000000000001C000000003FF800000000001C000000003FF8000000
6044 00003C000000001FF8000000000038000000001FFC000000000038000000000FFC000000
6045 000070000000000FFC000000000070000000000FFE0000000000F00000000007FE000000
6046 0000E00000000007FF0000000000E00000000007FF0000000001E00000000003FF000000
6047 0001C00000000003FF8000000001C00000000001FF8000000003800000000001FF800000
6048 0003800000000001FFC000000007800000000000FFC000000007000000000000FFE00000
6049 00070000000000007FE00000000E0000000000007FE00000000E0000000000007FF00000
6050 000E0000000000003FF00000001C0000000000003FF80000001C0000000000003FF80000
6051 003C0000000000001FF8000000380000000000001FFC000000380000000000000FFC0000
6052 00700000000000000FFC000000700000000000000FFE000000F000000000000007FE0000
6053 00E000000000000007FF000000E000000000000007FF000001E000000000000003FF0000
6054 01C000000000000003FF800001C000000000000001FF8000038000000000000001FF8000
6055 038000000000000001FFC000078000000000000000FFC000070000000000000000FFE000
6056 0700000000000000007FE0000E00000000000000007FE0000E00000000000000007FF000
6057 0E00000000000000003FF0001C00000000000000003FF0001C00000000000000003FF800
6058 3C00000000000000001FF8003800000000000000001FFC003800000000000000000FFC00
6059 7000000000000000000FFC007000000000000000000FFE00F0000000000000000007FE00
6060 E0000000000000000007FF00E0000000000000000007FF01E0000000000000000003FF01
6061 C0000000000000000003FF81C0000000000000000001FF8380000000000000000001FF83
6062 80000000000000000001FFC780000000000000000000FFC700000000000000000000FFE7
6063 000000000000000000007FEE000000000000000000007FEE000000000000000000007FFE
6064 000000000000000000003FFC000000000000000000003FFC000000000000000000003FFC
6065 000000000000000000001FF8000000000000000000001FF8000000000000000000000FF0
6066 000000000000000000000FF0000000000000000000000FF00000000000000000000007E0
6067 0000000000000000000007E00000000000000000000007E00000000000000000000003C0
6068 0000000000000000000003C0000000000060647EE165>86 D<00003FE0000000000003FF
6069 FE00000000000FFFFF80000000003FC03FE0000000007C000FF800000000F00003FC0000
6070 0001E00001FE00000003C00000FF000000078000007F8000000F0000003FC000000F8000
6071 003FC000000FF000001FE000001FF800001FE000001FFC00000FF000001FFC00000FF000
6072 001FFC00000FF000001FFC000007F800001FFC000007F800001FFC000007F800000FF800
6073 0007F8000003E0000007F800000000000007F800000000000007F800000000000007F800
6074 000000000007F800000000000007F800000000000007F80000000000007FF80000000000
6075 7FFFF8000000000FFFFFF8000000007FF807F800000001FF8007F800000007FC0007F800
6076 00001FF00007F80000007FC00007F8000000FF800007F8000003FE000007F8000007FC00
6077 0007F800000FFC000007F800000FF8000007F800001FF0000007F800003FE0000007F800
6078 003FE0000007F800007FC0000007F801C07FC0000007F801C07FC0000007F801C0FFC000
6079 0007F801C0FF80000007F801C0FF80000007F801C0FF8000000FF801C0FF8000000FF801
6080 C0FF8000000FF801C0FF8000001FF801C0FFC000001BF801C07FC000003BF801C07FC000
6081 0073F801C07FE0000073F801803FF00000E1FC03801FF00003C1FC03800FF8000780FE07
6082 0007FE000F00FF0F0001FF807C007FFE00007FFFF8003FFC00001FFFE0001FF8000003FF
6083 000007E0003A4179BF43>97 D<000003FE00000000001FFFE000000000FFFFF800000001
6084 FE03FE00000007F0007F8000000FE0003FC000003FC0001FE000007F00000FF00000FF00
6085 0007F80000FE000003F80001FC000003FC0003F8000001FC0007F8000001FE0007F00000
6086 00FE000FF0000000FF000FF00000007F001FE00000007F001FE00000007F803FE0000000
6087 7F803FC00000003F803FC00000003F807FC00000003FC07FC00000003FC07FC00000003F
6088 C07F800000003FC07F800000003FC0FF800000003FC0FFFFFFFFFFFFC0FFFFFFFFFFFFC0
6089 FFFFFFFFFFFFC0FF800000000000FF800000000000FF800000000000FF800000000000FF
6090 800000000000FF800000000000FF800000000000FF800000000000FF8000000000007F80
6091 00000000007FC000000000007FC000000000007FC000000000003FC000000000003FC000
6092 000000003FE000000000001FE000000000001FE000000001C00FF000000001C00FF00000
6093 0003C007F8000000038007F8000000038003FC000000078001FC0000000F0001FE000000
6094 0E0000FF0000001E00007F8000003C00003FC000007800001FE00000F0000007F00003E0
6095 000003FC0007C0000000FF803F000000003FFFFC000000000FFFF00000000001FF800000
6096 32417BBF3C>101 D<0003C000000000000007FFC0000000000000FFFFC0000000000000
6097 FFFFC0000000000000FFFFC0000000000000FFFFC000000000000001FFC0000000000000
6098 007FC0000000000000007FC0000000000000003FC0000000000000003FC0000000000000
6099 003FC0000000000000003FC0000000000000003FC0000000000000003FC0000000000000
6100 003FC0000000000000003FC0000000000000003FC0000000000000003FC0000000000000
6101 003FC0000000000000003FC0000000000000003FC0000000000000003FC0000000000000
6102 003FC0000000000000003FC0000000000000003FC0000000000000003FC0000000000000
6103 003FC0000000000000003FC0000000000000003FC0000000000000003FC0000000000000
6104 003FC0000000000000003FC0000000000000003FC0000000000000003FC0000000000000
6105 003FC0000000000000003FC0000000000000003FC0007FE0000000003FC003FFFC000000
6106 003FC00FFFFF000000003FC03F00FFC00000003FC078001FE00000003FC0F0000FF00000
6107 003FC1C00007F80000003FC3800007FC0000003FC7000003FC0000003FCE000003FE0000
6108 003FCE000001FE0000003FDC000001FE0000003FD8000001FE0000003FF8000000FF0000
6109 003FF0000000FF0000003FF0000000FF0000003FF0000000FF0000003FE0000000FF0000
6110 003FE0000000FF0000003FE0000000FF0000003FC0000000FF0000003FC0000000FF0000
6111 003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000
6112 003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000
6113 003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000
6114 003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000
6115 003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000
6116 003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000
6117 003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000
6118 003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000
6119 003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000007FE0000001FF8000
6120 00FFF0000003FFC000FFFFFFF003FFFFFFC0FFFFFFF003FFFFFFC0FFFFFFF003FFFFFFC0
6121 FFFFFFF003FFFFFFC042647CE34B>104 D<000780000FFF8000FFFF8000FFFF8000FFFF
6122 8000FFFF800003FF800000FF800000FF8000007F8000007F8000007F8000007F8000007F
6123 8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F
6124 8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F
6125 8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F
6126 8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F
6127 8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F
6128 8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F
6129 8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F
6130 8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F
6131 8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F800000FF
6132 C00001FFE000FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC01A647BE325>108
6133 D<0000700000000000700000000000700000000000700000000000700000000000700000
6134 000000700000000000F00000000000F00000000000F00000000000F00000000000F00000
6135 000001F00000000001F00000000001F00000000003F00000000003F00000000007F00000
6136 000007F0000000000FF0000000000FF0000000001FF0000000003FF0000000007FF00000
6137 0000FFF000000003FFF00000000FFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF
6138 00000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00000
6139 00000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00000
6140 00000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00000
6141 00000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00000
6142 00000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00000
6143 00000FF0000000000FF0000000000FF00001C0000FF00001C0000FF00001C0000FF00001
6144 C0000FF00001C0000FF00001C0000FF00001C0000FF00001C0000FF00001C0000FF00001
6145 C0000FF00001C0000FF00001C0000FF00001C0000FF00001C00007F80003800007F80003
6146 800007F80003800007F80007800003FC0007000003FC000F000001FE000E000000FF001E
6147 0000007F803C0000003FE0F80000001FFFF000000007FFC000000000FF00002A597ED734
6148 >116 D E
6149 %EndDVIPSBitmapFont
6150 end
6151 %%EndProlog
6152 %%BeginSetup
6153 %%Feature: *Resolution 600dpi
6154 TeXDict begin
6155 %%BeginPaperSize: a4
6156 /setpagedevice where
6157 { pop << /PageSize [595 842] >> setpagedevice }
6158 { /a4 where { pop a4 } if }
6159 ifelse
6160 %%EndPaperSize
6161 end
6162 %%EndSetup
6163 %%Page: 1 1
6164 TeXDict begin 1 0 bop 926 2266 a Fn(Stealth)46 b(V.1.47.2)1018
6165 2703 y Fm(F)-8 b(rank)33 b(B.)f(Brokk)m(en)120 2819 y(Cen)m(ter)i(for)e
6166 (Information)f(T)-8 b(ec)m(hnology)g(,)33 b(Univ)m(ersit)m(y)g(of)f
6167 (Groningen)1188 3122 y(2005-2008)p eop end
6168 %%Page: 1 2
6169 TeXDict begin 1 1 bop -32 1266 a Fl(Con)-6 b(ten)g(ts)-32
6170 1852 y Fk(1)76 b(In)m(tro)s(duction)2166 b(3)92 2022
6171 y Fj(1.1)84 b(What's)28 b(new)f(in)h(Stealth)g(V.1.47.2)49
6172 b(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)
6173 h(.)g(.)131 b(3)92 2193 y(1.2)84 b(Stealth)28 b(.)42
6174 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g
6175 (.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)131
6176 b(3)283 2363 y(1.2.1)94 b(The)27 b(in)n(tegrit)n(y)g(of)g(the)h
6177 (stealth)g(distribution)65 b(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)
6178 131 b(5)-32 2617 y Fk(2)76 b(Installation)2217 b(7)92
6179 2787 y Fj(2.1)84 b(Compiling)27 b(and)h(installing)f(Stealth)74
6180 b(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)
6181 g(.)131 b(7)-32 3041 y Fk(3)76 b(The)32 b(`p)s(olicy')e(\034le)2039
6182 b(9)92 3211 y Fj(3.1)84 b(DEFINE)29 b(directiv)n(es)45
6183 b(.)d(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h
6184 (.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)131 b(9)92 3382 y(3.2)84
6185 b(USE)29 b(directiv)n(es)73 b(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)
6186 h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g
6187 (.)90 b(10)92 3552 y(3.3)84 b(Commands)73 b(.)42 b(.)f(.)h(.)f(.)h(.)g
6188 (.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)
6189 h(.)f(.)h(.)f(.)h(.)g(.)90 b(15)283 3723 y(3.3.1)k(LABEL)28
6190 b(commands)38 b(.)j(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g
6191 (.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)90 b(15)283 3893 y(3.3.2)k(LOCAL)27
6192 b(commands)i(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g
6193 (.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)90 b(15)283 4064 y(3.3.3)k(REMOTE)28
6194 b(commands)74 b(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f
6195 (.)h(.)f(.)h(.)f(.)h(.)g(.)90 b(17)283 4234 y(3.3.4)k(Prev)n(en)n(ting)
6196 26 b(Con)n(troller)g(Denial)i(of)f(Service)g(\(\025max-size\))21
6197 b(.)41 b(.)h(.)g(.)90 b(20)-32 4488 y Fk(4)76 b(Gran)m(ting)32
6198 b(access)1987 b(23)283 4658 y Fj(4.0.5)94 b(The)27 b(con)n(troller's)f
6199 (user:)36 b(creating)26 b(an)i(ssh-k)n(ey)67 b(.)42 b(.)f(.)h(.)f(.)h
6200 (.)f(.)h(.)g(.)90 b(23)283 4829 y(4.0.6)k(The)32 b(clien)n(t's)g
6201 (accoun)n(t:)44 b(accepting)32 b(ssh)f(from)h(the)g(con)n(troller's)549
6202 4928 y(user)65 b(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f
6203 (.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)90
6204 b(24)283 5099 y(4.0.7)k(Logging)25 b(in)n(to)j(the)g(accoun)n(t@clien)n
6205 (t)e(accoun)n(t)32 b(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)90
6206 b(24)283 5269 y(4.0.8)k(Using)27 b(the)h(prop)r(er)e(shell)57
6207 b(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)
6208 f(.)h(.)g(.)90 b(25)1379 5662 y(1)p eop end
6209 %%Page: 2 3
6210 TeXDict begin 2 2 bop -32 531 a Fk(5)76 b(Running)31
6211 b(`stealth')1918 b(26)92 702 y Fj(5.1)84 b(Installing)27
6212 b(`stealth')80 b(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h
6213 (.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)90
6214 b(26)92 872 y(5.2)84 b(Construct)27 b(one)g(or)g(more)g(p)r(olicy)g
6215 (\034les)22 b(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)
6216 h(.)f(.)h(.)g(.)90 b(27)283 1043 y(5.2.1)k(the)28 b(DEFINE)h(directiv)n
6217 (es)24 b(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f
6218 (.)h(.)f(.)h(.)g(.)90 b(27)283 1213 y(5.2.2)k(the)28
6219 b(USE)g(directiv)n(es)53 b(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f
6220 (.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)90 b(27)283
6221 1384 y(5.2.3)k(the)28 b(commands)75 b(.)41 b(.)h(.)f(.)h(.)f(.)h(.)f(.)
6222 h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)90
6223 b(28)283 1554 y(5.2.4)k(The)27 b(complete)h(`p)r(olicy')f(\034le)72
6224 b(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)
6225 g(.)90 b(30)92 1725 y(5.3)84 b(Running)28 b(`stealth')f(for)g(the)h
6226 (\034rst)g(time)60 b(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f
6227 (.)h(.)f(.)h(.)g(.)90 b(31)283 1895 y(5.3.1)k(The)27
6228 b(mailed)h(rep)r(ort)68 b(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)
6229 h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)90 b(32)283
6230 2066 y(5.3.2)k(Files)27 b(under)h(/ro)r(ot/stealth/clien)n(t)k(.)41
6231 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)90
6232 b(32)92 2236 y(5.4)84 b(Running)28 b(`stealth')f(again:)36
6233 b(all)27 b(\034les)h(unaltered)44 b(.)d(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h
6234 (.)f(.)h(.)g(.)90 b(34)92 2407 y(5.5)84 b(Running)28
6235 b(`stealth')f(again:)36 b(mo)r(di\034cations)27 b(ha)n(v)n(e)f(o)r
6236 (ccurred)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)90 b(35)92 2577
6237 y(5.6)84 b(F)-7 b(ailing)27 b(LOCAL)g(commands)22 b(.)41
6238 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h
6239 (.)f(.)h(.)g(.)90 b(37)92 2748 y(5.7)84 b(Automating)27
6240 b(`stealth')h(runs)f(using)g(`cron')61 b(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g
6241 (.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)90 b(37)92 2918 y(5.8)84
6242 b(Rep)r(ort)27 b(File)h(Rotation)38 b(.)k(.)f(.)h(.)f(.)h(.)f(.)h(.)f
6243 (.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)90
6244 b(39)283 3089 y(5.8.1)k(Status)27 b(\034le)h(clean)n(up)64
6245 b(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)
6246 f(.)h(.)f(.)h(.)g(.)90 b(41)283 3259 y(5.8.2)k(Using)27
6247 b(`logrotate')f(to)h(con)n(trol)f(rep)r(ort-)h(and)g(status)h(\034les)
6248 57 b(.)41 b(.)h(.)g(.)90 b(43)-32 3513 y Fk(6)76 b(Kic)m(k)32
6249 b(starting)g(`stealth')1728 b(44)-32 3766 y(7)76 b(Usage)32
6250 b(info)2206 b(46)-32 4020 y(8)76 b(Errormessages)2039
6251 b(48)1379 5662 y Fj(2)p eop end
6252 %%Page: 3 4
6253 TeXDict begin 3 3 bop -32 1225 a Fi(Chapter)60 b(1)-32
6254 1711 y Fl(In)-6 b(tro)6 b(duction)-32 2263 y Fh(1.1)130
6255 b(What's)43 b(new)h(in)g(Stealth)g(V.1.47.2)92 2516 y
6256 Fg(\017)d Fj(Since)21 b(the)f(MD5)h(hash)f(is)g(no)g(longer)f
6257 (considered)g(to)h(b)r(e)h(cryptographically)d(secure,)175
6258 2616 y Fk(stealth)p Fj(\(1\))25 b(should)f(no)n(w)h(use)f(an)h
6259 (alternativ)n(e)f(w)n(a)n(y)f(to)i(compute)g(hash-v)-5
6260 b(alues.)35 b(In)175 2715 y(this)28 b(man)n(ual)f(it)h(is)f(suggested)g
6261 (to)g(switc)n(h)h(to)f(SHA1)h(hash)f(computations.)92
6262 2879 y Fg(\017)41 b Fj(The)34 b Ff(\025max-size)d Fj(option)i(w)n(as)g
6263 (implemen)n(t)i(to)f(restrict)f(the)i(maxim)n(um)e(sizes)h(of)175
6264 2979 y(\034les)28 b(that)f(are)g(do)n(wnloaded)f(from)h(clien)n(ts.)37
6265 b(By)27 b(default)h(it)g(is)g(10M.)-32 3323 y Fh(1.2)130
6266 b(Stealth)-32 3576 y Fj(W)-7 b(elcome)25 b(to)h Fk(stealth)p
6267 Fj(.)36 b(The)26 b(program)e Fk(stealth)h Fj(implemen)n(ts)i(a)e
6268 (\034le)h(in)n(tegrit)n(y)f(scanner.)-32 3675 y(The)i(acron)n(ym)f
6269 Fk(stealth)h Fj(can)g(b)r(e)h(expanded)g(to)-1 4020 y
6270 Fh(SSH-based)43 b(T)-11 b(rust)44 b(Enforcemen)l(t)h(A)l(cquired)h
6271 (through)718 4169 y(a)e(Lo)t(cally)h(T)-11 b(rusted)44
6272 b(Host.)-32 4417 y Fj(This)27 b(expansion)g(con)n(tains)f(the)i(follo)n
6273 (wing)f(k)n(ey)f(terms:)92 4587 y Fg(\017)41 b Ff(SSH-based)p
6274 Fj(:)55 b(The)38 b(\034le)h(in)n(tegrit)n(y)e(scan)h(is)g(\(usually\))h
6275 (p)r(erformed)f(o)n(v)n(er)e(an)j(ssh-)175 4687 y(connection.)50
6276 b(Usually)32 b(the)g(computer)g(b)r(eing)g(scanned)g(\(called)g(the)g
6277 Fe(client)8 b Fj(\))33 b(and)175 4787 y(the)41 b(computer)e(initiating)
6278 h(the)h(scan)e(\(called)h(the)h Ff(controller)p Fj(\))36
6279 b(are)j(di\033eren)n(t)175 4886 y(computers.)92 5050
6280 y Fg(\017)i Fj(The)19 b(clien)n(t)h(should)f(accept)f(incoming)h
6281 (ssh-connections)f(from)h(the)g(initiating)h(com-)175
6282 5150 y(puter.)37 b(The)28 b(con)n(troller)d(do)r(esn't)j(ha)n(v)n(e)e
6283 (to)i(\(and)f(shouldn't,)h(probably\).)92 5313 y Fg(\017)41
6284 b Ff(Trust)h(Enforcement)p Fj(:)c(follo)n(wing)30 b(the)h(scan,)g
6285 (`trust')g(is)g(enforced)f(in)h(the)g(clien)n(t,)175
6286 5413 y(due)d(to)f(the)h(in)n(tegrit)n(y)f(of)g(its)h(\034les.)1379
6287 5662 y(3)p eop end
6288 %%Page: 4 5
6289 TeXDict begin 4 4 bop 92 531 a Fg(\017)41 b Ff(Locally)g(Trusted)f
6290 (Host)p Fj(:)34 b(the)25 b(clien)n(t)f(apparen)n(tly)f(trusts)h(the)h
6291 (con)n(troller)d(to)i(use)175 631 y(an)g(ssh-connection)e(to)i(p)r
6292 (erform)f(commands)g(on)h(it.)36 b(The)23 b(clien)n(t)h(therefore)f
6293 Fe(lo)l(c)l(al)t(ly)175 731 y(trusts)33 b Fj(the)28 b(con)n(troller.)35
6294 b(Hence,)28 b Fe(lo)l(c)l(al)t(ly)j(truste)l(d)e(host)p
6295 Fj(.)-32 974 y Fk(stealth)j Fj(is)h(based)g(on)g(an)g(idea)g(b)n(y)f
6296 Fe(Hans)j(Gankema)40 b Fj(and)33 b Fe(Ke)l(es)i(Visser)p
6297 Fj(,)g(b)r(oth)f(at)f(the)-32 1074 y(Cen)n(ter)27 b(for)g(Information)f
6298 (T)-7 b(ec)n(hnology)26 b(of)i(the)g(Univ)n(ersit)n(y)e(of)i
6299 (Groningen.)-32 1244 y Fk(stealth)p Fj('s)g(main)h(task)f(is)g(to)h(p)r
6300 (erform)f(\034le)h(in)n(tegrit)n(y)f(tests.)41 b(Ho)n(w)n(ev)n(er,)27
6301 b(the)i(testing)g(will)-32 1344 y(lea)n(v)n(e)17 b(no)i(sedimen)n(ts)g
6302 (on)g(the)g(tested)h(computer.)33 b(Therefore,)20 b Fk(stealth)f
6303 Fj(has)f Fe(ste)l(althy)27 b Fj(c)n(har-)-32 1443 y(acteristics.)35
6304 b(I)28 b(consider)e(this)i(an)g(imp)r(ortan)n(t)f(securit)n(y)f(impro)n
6305 (ving)h(feature)g(of)34 b Fk(stealth)p Fj(.)-32 1614
6306 y(The)28 b(con)n(troller)e(itself)j(only)f(needs)g(t)n(w)n(o)g(kinds)g
6307 (of)g(outgoing)f(services:)37 b Fk(ssh)p Fj(\(1\))28
6308 b(to)g(reac)n(h)-32 1713 y(its)35 b(clien)n(ts,)i(and)f(some)e(mail)i
6309 (transp)r(ort)e(agen)n(t)g(\(e.g.,)k Fk(sendmail)p Fj(\(1\)\))33
6310 b(to)i(forw)n(ard)f(its)-32 1813 y(outgoing)26 b(mail)h(to)h(some)f
6311 (mail-h)n(ub.)-32 1983 y(Here)g(is)g(what)h(happ)r(ens)f(when)h
6312 Fk(stealth)f Fj(is)h(run:)92 2212 y Fg(\017)41 b Fj(First,)30
6313 b(a)f Fe(p)l(olicy)39 b Fj(\034le)29 b(is)h(read.)41
6314 b(This)30 b(determines)f(actions)f(to)i(b)r(e)g(p)r(erformed,)f(and)175
6315 2312 y(v)-5 b(alues)27 b(of)h(sev)n(eral)e(v)-5 b(ariables)26
6316 b(used)h(b)n(y)i Fk(stealth)p Fj(.)92 2474 y Fg(\017)41
6317 b Fj(If)24 b(the)f(command-line)g(option)g Ff(\025keep-alive)18
6318 b Fj(or)23 b Ff(\025repeat)40 b(<seconds>)20 b Fj(is)j(giv)n(en,)175
6319 2573 y Fk(stealth)40 b Fj(will)g(run)g(as)g(a)f(bac)n(kgrond)f(pro)r
6320 (cess,)k(displa)n(ying)d(the)i(pro)r(cess)d(ID)j(of)175
6321 2673 y(the)24 b(bac)n(kground)e(pro)r(cess.)35 b(With)25
6322 b Ff(\025repeat)40 b(<seconds>)20 b Fj(the)25 b(scan)e(will)h(b)r(e)h
6323 (rerun)175 2773 y(ev)n(ery)d Ff(<seconds>)c Fj(seconds.)34
6324 b(The)21 b(n)n(um)n(b)r(er)h(of)f(seconds)g(un)n(til)h(the)g(next)g
6325 (rerun)f(will)175 2872 y(b)r(e)31 b(at)g(least)f(60.)46
6326 b(Ho)n(w)n(ev)n(er,)29 b(using)h(the)i Ff(\025rerun)c
6327 Fj(option)i(a)h(bac)n(kground)d Fk(stealth)175 2972 y
6328 Fj(pro)r(cess)i(ma)n(y)h(alw)n(a)n(ys)e(b)r(e)j(goated)e(in)n(to)h(its)
6329 h(next)f(scan.)47 b(When)32 b Ff(\025keep-alive)27 b
6330 Fj(is)175 3072 y(sp)r(eci\034ed)21 b(the)f(scan)g(will)h(b)r(e)f(p)r
6331 (erformed)g(just)h(once,)g(whereafter)f Fk(stealth)g
6332 Fj(will)g(w)n(ait)175 3171 y(un)n(til)29 b(it)f(is)g(reactiv)-5
6333 b(ated)27 b(b)n(y)h(another)f(run)h(of)34 b Fk(stealth)p
6334 Fj(,)28 b(called)f(using)h(the)g Ff(\025rerun)175 3271
6335 y(<pid>)e Fj(command-line)h(option.)92 3433 y Fg(\017)41
6336 b Fj(Then,)36 b(the)f(con)n(troller)d(op)r(ens)i(a)g(command)g(shell)g
6337 (on)g(the)g(clien)n(t)g(using)h Fk(ssh)p Fj(\(1\),)175
6338 3532 y(and)28 b(a)f(command)g(shell)g(on)h(the)g(con)n(troller)d
6339 (itself)j(using)h Fk(sh)p Fj(\(1\).)92 3694 y Fg(\017)41
6340 b Fj(Next,)k(commands)40 b(de\034ned)h(in)g(the)g(p)r(olicy)g(\034le)g
6341 (are)f(executed)g(in)i(their)e(order)175 3794 y(of)f(app)r(earance.)68
6342 b(Examples)38 b(are)g(giv)n(en)f(b)r(elo)n(w.)70 b(Normally)-7
6343 b(,)40 b(return)e(v)-5 b(alues)38 b(of)175 3894 y(the)c(programs)d(are)
6344 h(tested.)54 b(Non-zero)31 b(return)i(v)-5 b(alues)33
6345 b(will)g(terminate)g Fk(stealth)175 3993 y Fj(prematurely)-7
6346 b(.)92 4155 y Fg(\017)41 b Fj(In)33 b(most)g(cases,)g(in)n(tegrit)n(y)f
6347 (tests)h(can)f(b)r(e)h(con)n(trolled)f(b)n(y)h(the)g
6348 Fk(\034nd)p Fj(\(1\))g(program,)175 4255 y(calling)h(programs)d(lik)n
6349 (e)j Fk(ls)p Fj(\(1\),)h Fk(sha1sum)p Fj(\(1\))e(or)g(its)i(o)n(wn)e
6350 Ff(-printf)e Fj(metho)r(d)k(to)175 4354 y(pro)r(duce)29
6351 b(\034le-in)n(tegrit)n(y)e(related)h(statistics.)41 b(Most)29
6352 b(of)g(these)g(programs)d(write)j(\034le)175 4454 y(names)37
6353 b(at)f(the)i(end)f(of)g(generated)e(lines.)65 b(This)37
6354 b(c)n(haracteristic)e(is)i(used)g(b)n(y)f(an)175 4554
6355 y(in)n(ternal)i(routine)g(of)45 b Fk(stealth)38 b Fj(to)h(detect)g(c)n
6356 (hanges)e(in)i(the)g(generated)e(output,)175 4653 y(whic)n(h)28
6357 b(could)f(indicate)h(some)e(harmful)i(in)n(ten)n(t,)g(lik)n(e)f(an)g
6358 (installed)h Fe(r)l(o)l(ot-kit)p Fj(.)92 4815 y Fg(\017)41
6359 b Fj(When)e(c)n(hanges)e(are)h(detected,)k(they)c(are)g(logged)f(on)h
6360 (a)g Fe(r)l(ep)l(ort)i(\034le)p Fj(,)i(to)c(whic)n(h)175
6361 4915 y(information)d(is)h(alw)n(a)n(ys)e(app)r(ended.)62
6362 b Fk(stealth)36 b Fj(nev)n(er)f(reduces)g(or)g(rewrites)g(the)175
6363 5015 y(rep)r(ort)22 b(\034le.)36 b(When)23 b(information)f(is)h(added)f
6364 (to)h(the)g(rep)r(ort)f(\034le)h(the)g(newly)g(written)175
6365 5114 y(information)f(is)g(emailed)g(to)g(a)g(con\034gurable)f(email)h
6366 (address)f(for)g(further)i(\(h)n(uman\))175 5214 y(pro)r(cessing.)36
6367 b(Usually)28 b(this)g(will)g(b)r(e)g(the)g(systems)g(manager)e(of)h
6368 (the)i(tested)f(clien)n(t.)175 5313 y Fk(stealth)i Fj(follo)n(ws)e(the)
6369 i(`dark)f(co)r(c)n(kpit')h(approac)n(h)d(in)j(that)g(no)g(mail)g(is)f
6370 (sen)n(t)h(when)175 5413 y(no)d(c)n(hanges)g(w)n(ere)f(detected.)1379
6371 5662 y(4)p eop end
6372 %%Page: 5 6
6373 TeXDict begin 5 5 bop -32 531 a Fj(Alternativ)n(ely)-7
6374 b(,)30 b(the)g(command-line)f(options)g Ff(\025rerun)f
6375 Fj(and)i Ff(\025terminate)25 b Fj(ma)n(y)30 b(b)r(e)g(pro-)-32
6376 631 y(vided)k(to)g(comm)n(unicate)g(with)g(a)g Fk(stealth)g
6377 Fj(pro)r(cess)f(started)h(earlier)f(using)g(either)i(the)-32
6378 731 y Ff(\025keep-alive)23 b Fj(or)j Ff(\025repeat)f
6379 Fj(option.)36 b(In)28 b(this)g(case,)92 968 y Fg(\017)41
6380 b Fj(When)j(started)f(using)g(the)h Ff(\025terminate)c(<pid>)h
6381 Fj(command-line)i(option,)48 b(the)175 1067 y(stealth)40
6382 b(pro)r(cess)f(running)g(at)h(pro)r(cess-ID)f Ff(<pid>)e
6383 Fj(is)j(terminated.)74 b(Note)40 b(that)175 1167 y(no)27
6384 b(c)n(hec)n(k)g(is)g(p)r(erformed)g(as)f(to)i(whether)f(the)h(pro)r
6385 (cess)e(asso)r(ciated)g(with)i Ff(<pid>)d Fj(is)175 1266
6386 y(truly)31 b(a)f Fk(stealth)g Fj(pro)r(cess.)44 b(It)31
6387 b(is)g(the)g(resp)r(onsibilit)n(y)e(of)i(the)g(user)e(to)i(mak)n(e)f
6388 (sure)175 1366 y(that)e(the)g(pro)r(cess-ID)e(of)i(the)g(in)n(tended)g
6389 (pro)r(cess)e(is)i(sp)r(eci\034ed.)92 1532 y Fg(\017)41
6390 b Fj(When)30 b(started)g(using)f(the)h Ff(\025rerun)41
6391 b(<pid>)28 b Fj(command-line)h(option,)h(the)g(stealth)175
6392 1632 y(pro)r(cess)j(running)h(at)f(pro)r(cess-ID)g Ff(<pid>)f
6393 Fj(will)i(p)r(erform)g(another)f(scan.)55 b(Again,)175
6394 1731 y(no)27 b(c)n(hec)n(k)g(is)g(p)r(erformed)g(as)f(to)i(whether)f
6395 (the)h(pro)r(cess)e(asso)r(ciated)g(with)i Ff(<pid>)d
6396 Fj(is)175 1831 y(truly)31 b(a)f Fk(stealth)g Fj(pro)r(cess.)44
6397 b(It)31 b(is)g(the)g(resp)r(onsibilit)n(y)e(of)i(the)g(user)e(to)i(mak)
6398 n(e)f(sure)175 1931 y(that)e(the)g(pro)r(cess-ID)e(of)i(the)g(in)n
6399 (tended)g(pro)r(cess)e(is)i(sp)r(eci\034ed.)-32 2167
6400 y(The)23 b(options)f Ff(\025suppress)e Fj(and)j Ff(\025rerun)e
6401 Fj(\(see)i(section)f(5.8\))h(w)n(ere)f(implemen)n(ted)i(to)f(allo)n(w)
6402 -32 2267 y(safe)k(rotations)f(of)34 b Fk(stealth)p Fj('s)27
6403 b(rep)r(ort)g(\034le.)-32 2570 y Fd(1.2.1)112 b(The)38
6404 b(in)m(tegrit)m(y)c(of)k(the)f(stealth)g(distribution)-32
6405 2794 y Fj(The)24 b(in)n(tegrit)n(y)g(of)g(the)h(arc)n(hiv)n(e)e
6406 Ff(stealth-1.47.2.)o(ta)o(r.g)o(z)18 b Fj(can)25 b(b)r(e)f(v)n
6407 (eri\034ed)g(as)g(follo)n(ws:)92 3031 y Fg(\017)41 b
6408 Fj(A)n(t)32 b(the)g(lo)r(cation)f(where)f(y)n(ou)h(found)h(this)g(arc)n
6409 (hiv)n(e,)f(y)n(ou)f(should)h(also)g(\034nd)h(a)f(\034le)175
6410 3131 y(named)18 b Ff(stealth-1.47.2.ds)o(c)p Fj(.)28
6411 b(This)18 b(\034le)g(con)n(tains)g(a)g(PGP)h(signed)f
6412 Fk(sha1sum)p Fj(\(1\))175 3231 y(signature)30 b(of)g(the)h
6413 Ff(tar.gz)e Fj(arc)n(hiv)n(e.)44 b(The)31 b(PGP)h(sigature)d(w)n(as)h
6414 (pro)n(vided)f(b)n(y)i(me)175 3330 y(using)d Fk(gpg)q
6415 Fj(\(1\))g(\()p Fk(pgp)p Fj(\(1\)\).)92 3496 y Fg(\017)41
6416 b Fj(Compute)f(the)g(SHA1)f(c)n(hec)n(ksum)g(of)g(the)h
6417 Ff(stealth-1.47.2.t)o(ar)o(.g)o(z)34 b Fj(arc)n(hiv)n(e.)175
6418 3596 y(Its)43 b(v)-5 b(alue)43 b(should)g(matc)n(h)g(the)h(SHA1)f(c)n
6419 (hec)n(ksum)f(that)i(is)f(men)n(tioned)g(in)h(the)175
6420 3696 y Ff(stealth-1.47.2.d)o(sc)31 b Fj(\034le.)68 b(If)38
6421 b(not,)i(the)e Ff(stealth-1.47.2.)o(tar)o(.g)o(z)32 b
6422 Fj(arc)n(hiv)n(e)175 3795 y(has)27 b(b)r(een)h(compromised,)e(and)i
6423 (should)f Fe(not)35 b Fj(b)r(e)28 b(used.)92 3961 y Fg(\017)41
6424 b Fj(In)28 b(order)e(to)i(v)n(erify)e(the)i(v)-5 b(alidit)n(y)28
6425 b(of)f(the)h(electronic)f(signature,)f(do)i(as)f(follo)n(ws:)269
6426 4127 y Fk(\025)41 b Fj(Obtain)27 b(m)n(y)g(public)h(k)n(ey)f(from)g(a)h
6427 (public)g(PGP)g(k)n(eyserv)n(er,)d(e.g.)532 4376 y Ff(http://pgp.surfn)
6428 o(et)o(.nl)o(:1)o(13)o(71/)269 4625 y Fk(\025)41 b Fj(Mak)n(e)26
6429 b(sure)h(y)n(ou)g(ha)n(v)n(e)f(the)i(righ)n(t)f(k)n(ey)-7
6430 b(.)36 b(Its)28 b(\034ngerprin)n(t)f(is)532 4874 y Ff(8E36)42
6431 b(9FC4)g(1DAA)g(FCDF)g(1A0D)85 b(B19F)42 b(DAC4)g(BE50)g(38C6)g(6170)
6432 358 5123 y Fj(and)18 b(it)h(has)f(b)r(een)g(electronically)f(signed)h
6433 (b)n(y)-7 b(,)20 b(e.g.,)g(the)f(Univ)n(ersit)n(y)e(of)h(Gronin-)358
6434 5223 y(gen's)k(PGP-certi\034cate)h(authorit)n(y)-7 b(.)34
6435 b(If)24 b(in)f(doubt,)h(con)n(tact)e(me)h(to)g(v)n(erify)f(y)n(ou)358
6436 5323 y(ha)n(v)n(e)k(the)i(righ)n(t)f(k)n(ey)-7 b(.)1379
6437 5662 y(5)p eop end
6438 %%Page: 6 7
6439 TeXDict begin 6 6 bop 269 531 a Fk(\025)41 b Fj(Once)31
6440 b(y)n(ou're)f(su\036cien)n(tly)h(satis\034ed)g(that)h(y)n(ou)f(indeed)h
6441 (ha)n(v)n(e)e(obtained)h(m)n(y)358 631 y(public)e(PGP)h(k)n(ey)-7
6442 b(,)28 b(v)n(erify)h(the)g(v)-5 b(alidit)n(y)28 b(of)h(the)g(signature)
6443 f(used)h(for)f(signing)358 731 y Ff(stealth-1.47.2.)o(dsc)o
6444 Fj(.)51 b(With)35 b Fk(gpg)q Fj(\(1\))f(this)h(can)f(b)r(e)g(done)g(b)n
6445 (y)g(the)h(com-)358 830 y(mand)532 1079 y Ff(gpg)42 b(--verify)f
6446 (stealth-1.47.2.)o(ds)o(c)-32 1416 y Fj(This)27 b(should)g(pro)r(duce)g
6447 (output)i(comparable)c(to:)-32 1752 y Ff(gpg:)41 b(Signature)f(made)i
6448 (Mon)g(Aug)86 b(1)43 b(10:57:41)e(2005)g(CEST)h(using)g(DSA)g(key)g(ID)
6449 h(38C66170)-32 1852 y(gpg:)e(Good)h(signature)e(from)i("Frank)f(B.)i
6450 (Brokken)d(<f.b.brokken@rug.)o(nl)o(>")-32 1952 y(gpg:)739
6451 b(aka)42 b("Frank)f(B.)i(Brokken)d(<f.b.brokken@rc.r)o(ug)o(.n)o(l>")
6452 1379 5662 y Fj(6)p eop end
6453 %%Page: 7 8
6454 TeXDict begin 7 7 bop -32 1225 a Fi(Chapter)60 b(2)-32
6455 1711 y Fl(Installation)-32 2213 y Fj(This)27 b(c)n(hapter)g(describ)r
6456 (es)g Fk(stealth)p Fj('s)g(compilation)g(and)g(installation.)-32
6457 2559 y Fh(2.1)130 b(Compiling)45 b(and)e(installing)j(Stealth)-32
6458 2812 y Fj(After)34 b(do)n(wnloading)f(the)i Fk(stealth)f
6459 Fj(arc)n(hiv)n(e,)g(it)h(should)f(b)r(e)g(unpac)n(k)n(ed.)57
6460 b(The)34 b(name)g(of)-32 2911 y(the)29 b(arc)n(hiv)n(e)f(is)h(of)g(the)
6461 g(form)g Ff(stealth-1.47.2.ta)o(r.)o(gz)o Fj(,)24 b(where)29
6462 b Ff(1.47.2)e Fj(is)i(a)g(v)n(ersion)-32 3011 y(n)n(um)n(b)r(er.)35
6463 b(Belo)n(w,)25 b Ff(1.47.2)d Fj(should)j(b)r(e)g(altered)g(in)n(to)f
6464 (the)i(v)n(ersion)d(of)i(the)h(arc)n(hiv)n(e)d(that)i(is)-32
6465 3110 y(actually)h(used.)92 3364 y Fg(\017)41 b Fj(First,)21
6466 b(determine)e(a)g(directory)f(under)h(whic)n(h)h(the)f(arc)n(hiv)n(e's)
6467 f(\034le)h(should)g(b)r(e)h(stored.)175 3464 y(E.g.,)i(if)g(the)f
6468 (\034les)f(in)h(the)g(arc)n(hiv)n(e)e(should)h(b)r(e)h(stored)f(under)h
6469 Ff(/tmp)p Fj(,)f(and)h(the)g(arc)n(hiv)n(e)175 3563 y(itself)28
6470 b(is)g(stored)e(in)i Ff(/tmp)e Fj(as)h(w)n(ell,)g(do:)349
6471 3862 y Ff(cd)43 b(/tmp)349 3962 y(tar)g(xzf)f(stealth-1.47.2.t)o(ar)o
6472 (.gz)175 4261 y Fj(This)28 b(creates)e(a)h(sub)r(directory)h
6473 Ff(stealth)d Fj(in)i(whic)n(h)h(the)g(sources)e(are)g(found)92
6474 4427 y Fg(\017)41 b Fj(Next,)28 b Ff(chdir)e Fj(to)h(that)h(directory:)
6475 349 4725 y Ff(chdir)42 b(stealth)92 5024 y Fg(\017)f
6476 Fj(Chec)n(k)27 b(the)i(con)n(ten)n(ts)e(of)g(the)i(\034le)f
6477 Ff(make/parameters)o Fj(.)k(It)c(should)g(need)g(no)f(mo)r(d-)175
6478 5124 y(i\034cations.)36 b(Among)27 b(other)f(en)n(tries,)g(it)h(con)n
6479 (tains)f(the)i(en)n(try)f Ff(GCC=g++)p Fj(,)d(indicating)175
6480 5224 y(the)f(compiler)f(to)h(use.)35 b(The)22 b(compiler)g(should)h(b)r
6481 (e)g(the)g Ff(GNU)42 b(g++)22 b Fj(compiler)g(v)n(ersion)175
6482 5323 y(4.0.2)k(or)h(ab)r(o)n(v)n(e.)36 b(Also)27 b(note)g
6483 Ff(-lbobcat)d Fj(in)k(the)g(en)n(try)1379 5662 y(7)p
6484 eop end
6485 %%Page: 8 9
6486 TeXDict begin 8 8 bop 349 631 a Ff(LOPTS="-lbobcat)38
6487 b(-lstealth)h(-L.)k(-s")175 930 y Fj(When)33 b(compiling)g
6488 Fk(stealth)p Fj(,)h(the)e Ff(bobcat)1556 900 y Fc(1)1623
6489 930 y Fj(library)g(m)n(ust)g(b)r(e)h(a)n(v)-5 b(ailable.)50
6490 b(If)33 b(y)n(ou)175 1029 y(ha)n(v)n(en't)18 b(installed)g
6491 Fk(b)s(ob)s(cat)g Fj(y)n(et,)i(do)n(wnload)d(it)i(from)f
6492 Ff(http://sourcefor)o(ge.)o(ne)o(t/)o(pro)o(je)o(ct)o(s/b)o(ob)o(cat)o
6493 (/)p Fj(,)175 1129 y(and)25 b(follo)n(w)g(its)h(installation)f
6494 (instructions.)35 b(Mak)n(e)25 b(sure)g(to)g(install)h(b)r(oth)g(the)f
6495 (run-)175 1229 y(time)j(\()p Fk(b)s(ob)s(cat_...)p Fj(\))36
6496 b(and)28 b(the)g(dev)n(elopmen)n(t)f(\()p Fk(b)s(ob)s(cat-dev_...)p
6497 Fj(\))36 b(v)n(ersions.)92 1395 y Fg(\017)41 b Fj(Execute)28
6498 b(the)g(command)349 1694 y Ff(make/program)175 1993 y
6499 Fj(This)19 b(command)g(\(note)g(that)h(it)f(is)h Fk(not)f
6500 Fe(make)j(pr)l(o)l(gr)l(am)6 b Fj(!\))36 b(will)19 b(create)f(the)i
6501 (program)175 2092 y Fk(./tmp/bin/stealth)p Fj(,)k(whic)n(h)k(ma)n(y)f
6502 (then)h(b)r(e)g(installed)f(in,)h(e.g.,)f Ff(/usr/sbin)p
6503 Fj(.)p -32 5336 1146 4 v 60 5389 a Fb(1)95 5413 y Fa(h)n(ttp://b)r(ob)r
6504 (cat.sourceforge.net/)1379 5662 y Fj(8)p eop end
6505 %%Page: 9 10
6506 TeXDict begin 9 9 bop -32 1225 a Fi(Chapter)60 b(3)-32
6507 1711 y Fl(The)72 b(`p)6 b(olicy')73 b(\034le)-32 2213
6508 y Fk(stealth)30 b Fj(reads)g(a)g(p)r(olicy)h(\034le)g(de\034ning)g(the)
6509 g(actions)f(that)h(m)n(ust)g(b)r(e)g(p)r(erformed.)46
6510 b(Eac)n(h)-32 2313 y(p)r(olicy)20 b(\034le)h(is)g(uniquely)g(asso)r
6511 (ciated)e(with)j(a)e(host)h(to)g(b)r(e)g(tested.)35 b(There)20
6512 b(ma)n(y)g(b)r(e)h(m)n(ultiple)-32 2413 y(p)r(olicy)k(\034les)h(for)g
6513 (a)f(host,)h(though.)36 b(In)27 b(that)f(case,)f(eac)n(h)h(p)r(olicy)f
6514 (\034le)i(will)f(de\034ne)g(a)g(certain)-32 2512 y(set)h(of)h(c)n(hec)n
6515 (ks)e(to)i(b)r(e)f(p)r(erformed.)-32 2683 y(Belo)n(w,)k(the)i(term)e
6516 Fe(c)l(ontr)l(ol)t(ler)42 b Fj(is)32 b(used)f(for)h(the)g(computer)f
6517 (where)g Fk(stealth)h Fj(is)f(started,)-32 2782 y(while)26
6518 b(the)h(term)f Fe(client)34 b Fj(is)27 b(used)f(for)g(the)g(computer)g
6519 (that)h(is)f(scanned)g(b)n(y)h Fk(stealth)p Fj(.)36 b(The)-32
6520 2882 y(con)n(troller)d(and)h(the)h(clien)n(t)g(could)g(b)r(e)g(the)g
6521 (same)g(computer,)h(but)f(normally)f(they)h(are)-32 2982
6522 y(di\033eren)n(t.)-32 3152 y(The)h(p)r(olicy)g(\034le)g(consists)f(of)i
6523 (three)e(sets)h(of)h(data:)53 b Fe(de\034ne)38 b(dir)l(e)l(ctives)44
6524 b Fj(\(starting)35 b(with)-32 3252 y(the)d(k)n(eyw)n(ord)e
6525 Fk(DEFINE)p Fj(\),)h Fe(use)j(dir)l(e)l(ctives)39 b Fj(\(starting)32
6526 b(with)g(the)g(k)n(eyw)n(ord)e Fk(USE)p Fj(\))i(and)-32
6527 3351 y Fe(c)l(ommands)p Fj(.)-32 3522 y(Directiv)n(es)c(are)g(written)h
6528 (in)g(capitals,)f(and)h(should)g(app)r(ear)f(exactly)g(as)g(written)h
6529 (b)r(elo)n(w:)-32 3622 y(letter)e(casing)g(is)g(preserv)n(ed.)-32
6530 3792 y(Blank)36 b(lines)h(and)f(information)h(b)r(ey)n(ond)f
6531 (hash-marks)f(\(#\))j(are)e(ignored,)i(while)f(lines)-32
6532 3892 y(follo)n(wing)28 b(lines)h(terminating)g(in)h(bac)n(kslashes)d
6533 (\(\\\))i(will)h(b)r(e)g(concatenated)e(\()p Fe(en)k(p)l(assant)-32
6534 3991 y Fj(remo)n(ving)39 b(the)i(bac)n(kslashes\).)75
6535 b(Initial)41 b(white)g(space)g(on)f(lines)h(of)g(the)g(p)r(olicy)g
6536 (\034le)g(is)-32 4091 y(ignored.)-32 4432 y Fh(3.1)130
6537 b(DEFINE)44 b(directiv)l(es)-32 4684 y Ff(DEFINE)29 b
6538 Fj(directiv)n(es)i(can)h(b)r(e)h(used)f(to)g(de\034ne)g(sym)n(b)r(ols)g
6539 (for)f(longer)g(strings.)50 b(A)32 b Ff(DEFINE)-32 4784
6540 y Fj(directiv)n(e)26 b(is)i(constructed)f(as)g(follo)n(ws:)142
6541 5098 y Ff(DEFINE)41 b(name)216 b(that)42 b(what)g(is)h(defined)d(by)j
6542 (`name')-32 5413 y Fj(Here,)1379 5662 y(9)p eop end
6543 %%Page: 10 11
6544 TeXDict begin 10 10 bop 92 531 a Fg(\017)41 b Fj(the)20
6545 b Ff(name)f Fj(follo)n(wing)h Ff(DEFINE)d Fj(is)j(the)h(sym)n(b)r(ol)e
6546 (that)h(ma)n(y)g(b)r(e)g(used)g(in)g Ff(USE)f Fj(directiv)n(es)175
6547 631 y(\(see)28 b(b)r(elo)n(w\))f(and)g Ff(commands)e
6548 Fj(\(see)i(b)r(elo)n(w\).)92 797 y Fg(\017)41 b Ff(DEFINE)26
6549 b Fj(sym)n(b)r(ols)h(can)g(b)r(e)i(used)e(in)i(other)e
6550 Ff(DEFINE)e Fj(sym)n(b)r(ols.)37 b(Ho)n(w)n(ev)n(er,)26
6551 b(it)j(is)f(the)175 897 y(resp)r(onsibilit)n(y)g(of)g(the)h(author)e
6552 (of)i(the)f(p)r(olicy)h(\034le)f(to)g(mak)n(e)g(sure)g(that)g
6553 (\(indirect\))175 996 y(circular)e(de\034nitions)i(are)f(a)n(v)n
6554 (oided.)35 b(E.g.,)28 b(after:)349 1295 y Ff(DEFINE)41
6555 b(A)174 b(${B})349 1395 y(DEFINE)41 b(B)174 b(${A})349
6556 1494 y(DEFINE)41 b(C)174 b(${C})349 1694 y(USE)43 b(MAILARGS)d(${A})i
6557 (${B})g(${C})175 1993 y(MAILARGS)24 b Fj(will)k(b)r(e)g(expanded)f(to)
6558 393 2291 y Ff(${A})42 b(${A})g(${C})92 2590 y Fg(\017)f
6559 Fj(The)f(text)f(follo)n(wing)h Ff(DEFINE)h(name)d Fj(is)h(then)h
6560 (inserted)f(literally)g(in)n(to)g(the)h Ff(USE)175 2690
6561 y Fj(directiv)n(e)27 b(or)g Ff(command)p Fj(.)175 2823
6562 y(Example:)349 3122 y Ff(DEFINE)85 b(SSH)391 b(/usr/bin/ssh)38
6563 b(frankbash@localho)o(st)f(-q)349 3221 y(DEFINE)85 b(EXECSHA1)215
6564 b(-xdev)41 b(-perm)g(+111)86 b(-type)41 b(f)j(-exec)d(/usr/bin/sha1sum)
6565 c({})42 b(\\;)175 3520 y Fj(The)36 b(sym)n(b)r(ols)f(de\034ned)h(b)n(y)
6566 h Ff(DEFINE)c Fj(directiv)n(es)i(ma)n(y)g(consist)h(of)f(letters,)j
6567 (digits)175 3620 y(and)g(the)h(underscore)e(c)n(haracter)f(\()p
6568 Ff(_)p Fj(\).)69 b(In)39 b(the)f(de\034nition)h(of)f(the)h(sym)n(b)r
6569 (ol)f(an)n(y)175 3719 y(c)n(haracter)31 b(can)i(b)r(e)g(used.)54
6570 b(The)33 b(de\034nition)g(is,)i(ho)n(w)n(ev)n(er,)d(trimmed)h(of)h
6571 (initial)f(or)175 3819 y(trailing)27 b(blanks.)175 3952
6572 y(T)-7 b(o)27 b(insert)h(a)f(de\034nition)h(in)n(to)f(a)g
6573 Ff(USE)g Fj(directiv)n(e)f(or)h Ff(command)e Fj(use)i(the)349
6574 4251 y Ff(${name})175 4550 y Fj(form.)37 b(E.g.,)27 b
6575 Ff(${EXECSHA1})p Fj(.)33 b(Concrete)26 b(examples)h(will)h(b)r(e)g(giv)
6576 n(en)f(b)r(elo)n(w.)-32 4961 y Fh(3.2)130 b(USE)44 b(directiv)l(es)-32
6577 5214 y Ff(USE)29 b Fj(directiv)n(es)h(pro)n(vide)g Fk(stealth)g
6578 Fj(with)i(argumen)n(ts)d(whic)n(h)i(ma)n(y)f(b)r(e)h(conditional)g(to)f
6579 (a)-32 5314 y(certain)c(installation.)37 b(The)27 b(follo)n(wing)h
6580 Fk(USE)g Fj(directiv)n(es)e(ma)n(y)h(b)r(e)h(sp)r(eci\034ed:)1358
6581 5662 y(10)p eop end
6582 %%Page: 11 12
6583 TeXDict begin 11 11 bop 92 531 a Fg(\017)41 b Fk(USE)32
6584 b(BASE)c Ff(basedirectory)175 659 y Fk(BASE)36 b Fj(de\034nes)g(the)g
6585 (directory)f(from)h(where)f Fk(stealth)h Fj(op)r(erates.)61
6586 b(All)36 b(relativ)n(e)175 759 y(path)e(sp)r(eci\034cations)g(are)f(in)
6587 n(terpreted)g(relativ)n(e)g(to)h Fk(BASE)p Fj(.)g Fe(By)j(default)43
6588 b Fj(this)34 b(is)175 858 y(the)28 b(directory)e(where)h
6589 Fk(stealth)h Fj(w)n(as)e(started.)175 986 y Fk(BASE)j
6590 Fj(and)f(all)h(other)f(directories)f(that)i(are)f(used)h(b)r(elo)n(w)g
6591 Ff(BASE)f Fj(are)f(created)h(b)n(y)175 1085 y Fk(stealth)f
6592 Fj(if)h(not)g(y)n(et)f(existing.)175 1213 y(Example:)349
6593 1486 y Ff(USE)43 b(BASE)f(/root/client)175 1759 y Fj(All)27
6594 b(information)f(generated)g(b)n(y)h Fk(stealth)g Fj(is)f(written)h(in)g
6595 (or)f(b)r(elo)n(w)g(the)h(directory)175 1858 y Ff(/root/client)p
6596 Fj(.)92 2014 y Fg(\017)41 b Fk(USE)32 b(DD)c Ff(<dd>)175
6597 2114 y Fj(The)34 b Fk(DD)g Fj(sp)r(eci\034cation)f(uses)g
6598 Ff(/bin/dd)e Fj(as)h(default,)k(and)d(de\034nes)h(the)g(lo)r(cation)175
6599 2213 y(of)d(the)f Fk(dd)p Fj(\(1\))h(program,)e(b)r(oth)i(on)f(the)h
6600 (serv)n(er)e(and)h(on)g(the)h(clien)n(t.)46 b(The)30
6601 b Fk(bin)p Fj(\(1\))175 2313 y(program)21 b(is)i(used)g(to)g(cop)n(y)f
6602 (\034les)h(b)r(et)n(w)n(een)g(the)g(clien)n(t)g(and)g(the)g(con)n
6603 (troller)f(without)175 2413 y(op)r(ening)g(separate)e(ssh-connections.)
6604 34 b(The)21 b(program)f(sp)r(eci\034ed)i(here)g(is)g(only)f(used)175
6605 2512 y(b)n(y)27 b(stealth)h(for)f(the)h Ff(PUT)e Fj(and)i
6606 Ff(GET)e Fj(commands,)h(describ)r(ed)g(b)r(elo)n(w.)175
6607 2640 y(Example)h(sho)n(wing)e(the)i(default:)349 2913
6608 y Ff(USE)43 b(DD)f(/bin/dd)92 3185 y Fg(\017)f Fk(USE)32
6609 b(DIFF)c Ff(path-to-diff)175 3313 y Fj(The)j Fk(DIFF)h
6610 Fj(sp)r(eci\034cation)f(uses)f Ff(/usr/bin/diff)c Fj(as)k(default,)j
6611 (and)e(de\034nes)g(the)175 3413 y(lo)r(cation)c(of)h(the)g
6612 Fk(di\033)9 b Fj(\(1\))27 b(program.)35 b(The)27 b Fk(di\033)9
6613 b Fj(\(1\))27 b(program)f(is)h(used)h(to)f(compare)175
6614 3512 y(a)g(formerly)g(created)g(log\034le)f(of)i(an)f(in)n(tegrit)n(y)g
6615 (c)n(hec)n(k)f(to)i(a)f(newly)g(created)g(log\034le.)175
6616 3640 y(Example)h(sho)n(wing)e(the)i(default:)349 3913
6617 y Ff(USE)43 b(DIFF)f(/usr/bin/diff)92 4186 y Fg(\017)f
6618 Fk(USE)32 b(EMAIL)c Ff(address)175 4313 y Fj(The)e Fk(EMAIL)h
6619 Fj(sp)r(eci\034cation)f(de\034nes)g(the)g(email-address)f(to)h(e-mail)f
6620 (the)i(clien)n(t's)175 4413 y(in)n(tegrit)n(y)f(scan)g(rep)r(ort)g(to.)
6621 36 b(Mail)27 b(is)f(only)h(sen)n(t)f(when)h(information)f(has)g(c)n
6622 (hanged.)175 4540 y(Example)i(sho)n(wing)e(the)i(default:)349
6623 4813 y Ff(USE)43 b(EMAIL)e(root)92 5086 y Fg(\017)g Fk(USE)32
6624 b(MAILER)27 b Ff(mailer)175 5214 y Fj(The)g Fk(MAILER)f
6625 Fj(sp)r(eci\034cation)g(de\034nes)g(the)h(program)d(that)j(is)f(used)h
6626 (to)f(send)h(the)175 5313 y(mail)h(to)g(the)g Fk(EMAIL)p
6627 Fj(-address.)36 b(By)28 b(default)g(this)g(is)g Fk(/usr/bin/mail)p
6628 Fj(\(1\).)35 b(The)175 5413 y Fk(MAILER)27 b Fj(program)f(is)h(called)h
6629 (as)e(follo)n(ws:)1358 5662 y(11)p eop end
6630 %%Page: 12 13
6631 TeXDict begin 12 12 bop 349 631 a Ff(MAILER)85 b(MAILARGS)40
6632 b(EMAIL)175 918 y Fj(\()p Ff(MAILARGS)p Fj(:)16 b(see)i(b)r(elo)n(w\).)
6633 34 b(The)18 b(information)g(to)h(b)r(e)g(mailed)f(is)h(read)e(from)i
6634 Ff(MAILER)p Fj('s)175 1018 y(standard)27 b(input)h(stream.)175
6635 1148 y(Example)g(sho)n(wing)e(the)i(default:)349 1436
6636 y Ff(USE)43 b(MAILER)e(/usr/bin/mail)92 1723 y Fg(\017)g
6637 Fk(USE)36 b(MAILAR)m(GS)c Ff(arguments)27 b Fj(The)k
6638 Fk(MAILAR)m(GS)g Fj(sp)r(eci\034cation)g(de\034nes)175
6639 1822 y(the)26 b(argumen)n(ts)e(to)i(b)r(e)g(to)f(b)r(e)h(passed)f(to)g
6640 (the)h Ff(MAILER)d Fj(program.)34 b(By)26 b(default)g(this)175
6641 1922 y(is)349 2209 y Ff(USE)43 b(MAILARGS)d(-s)j("STEALTH)d(scan)i
6642 (report")175 2496 y Fj(Note)29 b(that)g(blanks)f(ma)n(y)g(b)r(e)h(used)
6643 f(in)h(the)g(sub)5 b(ject)29 b(sp)r(eci\034cation:)39
6644 b(use)28 b(double)h(or)175 2596 y(single)24 b(quotes)f(to)h(de\034ne)g
6645 (elemen)n(ts)g(con)n(taining)f(blanks.)35 b(Use)24 b
6646 Ff(\\")f Fj(to)h(use)f(a)h(double)175 2696 y(quote)i(in)h(a)g(string)f
6647 (that)h(is)f(itself)h(delimited)h(b)n(y)e(double)h(quotes,)f(use)g
6648 Ff(\\')g Fj(to)h(use)f(a)175 2795 y(single)h(quote)g(in)h(a)f(string)g
6649 (that)h(is)g(itself)g(delimited)g(b)n(y)f(single)g(quotes.)175
6650 2926 y(Subtle)h(note:)37 b(in)28 b(a)f(construction)g(lik)n(e)349
6651 3213 y Ff(USE)43 b(MAILARGS)d(")j('t)g(was)f(brillig)f(")i(and)f('t)h
6652 (went)f(well)175 3500 y Fj(the)28 b(follo)n(wing)f(argumen)n(ts)f(are)g
6653 (passed)h(to)g Ff(MAILER)p Fj(:)269 3662 y Fk(\025)41
6654 b Ff(")i('t)g(was)f(brillig)f(")269 3790 y Fk(\025)g
6655 Ff(and)269 3918 y Fk(\025)g Ff('t)269 4046 y Fk(\025)g
6656 Ff(went)269 4174 y Fk(\025)g Ff(well)175 4336 y Fj(So,)22
6657 b(when)f(single-)f(and)g(double-quoted)g(strings)g(o)n(v)n(erlap,)g
6658 (the)h(\034rst)g(string)f(is)h(tak)n(en)175 4435 y(as)32
6659 b(a)g(string,)h(and)f(the)h(information)f(b)r(ey)n(ond)g(the)g(\034rst)
6660 h(string)e(is)i(thereup)r(on)f(in-)175 4535 y(terpreted.)92
6661 4696 y Fg(\017)41 b Fk(USE)32 b(REPOR)-8 b(T)27 b Ff(reportfile)175
6662 4827 y Fk(REPOR)-8 b(T)31 b Fj(de\034nes)g(the)g(name)g(of)g(the)h(rep)
6663 r(ort\034le.)46 b(Information)30 b(is)h(alw)n(a)n(ys)f(ap-)175
6664 4927 y(p)r(ended)d(to)f(this)h(\034le.)37 b(F)-7 b(or)26
6665 b(eac)n(h)f(run)h(of)33 b Fk(stealth)26 b Fj(a)g Fe(time)j(marker)g
6666 (line)k Fj(is)27 b(written)175 5026 y(to)h(the)g(rep)r(ort)e(\034le.)37
6667 b(Suc)n(h)28 b(a)f(mark)n(er)f(line)i(lo)r(oks)e(lik)n(e)h(this:)349
6668 5313 y Ff(STEALTH)41 b(\(1.11\))g(started)g(at)h(Mon)h(Jun)f(16)h
6669 (12:57:26)d(2003)1358 5662 y Fj(12)p eop end
6670 %%Page: 13 14
6671 TeXDict begin 13 13 bop 175 531 a Fj(Only)36 b(when)h(\(in)g(addition)f
6672 (to)h(the)g(mark)n(er)d(line\))j(additional)f(information)g(w)n(as)175
6673 631 y(app)r(ended)21 b(to)g(the)g(rep)r(ort)e(\034le,)k(the)e(added)f
6674 (con)n(ten)n(ts)g(of)h(the)g(rep)r(ort)f(\034le)g(are)g(mailed)175
6675 731 y(to)28 b(the)g(mail)f(address)f(sp)r(eci\034ed)i(in)g(the)g
6676 Fk(USE)k(EMAIL)c Fj(sp)r(eci\034cation.)175 860 y(Example)g(sho)n(wing)
6677 e(the)i(default:)349 1143 y Ff(USE)43 b(REPORT)e(report)92
6678 1426 y Fg(\017)g Fk(USE)22 b(R)m(OT)-8 b(A)g(TE)18 b
6679 Ff(interval:)84 b(number)41 b(interval-name)p Fj([,])15
6680 b([)p Ff(count:)84 b(number)p Fj(][,])175 1526 y([)p
6681 Ff(,)43 b(zip:)86 b(number)41 b([zip-program-pa)o(th])o
6682 Fj(])175 1656 y Fk(R)m(OT)-8 b(A)g(TE)38 b Fj(de\034nes)f(the)g
6683 (parameters)f Fk(stealth)h Fj(will)g(use)g(to)g(rotate)f(its)i(rep)r
6684 (ort)175 1755 y(\034le.)56 b(This)34 b Fk(USE)g Fj(sp)r(eci\034cation)g
6685 (supp)r(orts)f(three)h(elemen)n(ts,)h(the)f(\034rst)g(of)g(whic)n(h)175
6686 1855 y(is)j(obligatory)e(when)i Fk(USE)43 b(R)m(OT)-8
6687 b(A)g(TE)37 b Fj(is)g(sp)r(eci\034ed.)65 b(Note)37 b(that)g(the)g
6688 (square)175 1955 y(brac)n(k)n(ets)25 b(are)g(not)h(used)g(in)h(the)f
6689 (sp)r(eci\034cation,)g(and)g(indicate)h(optional)e(elemen)n(ts,)175
6690 2054 y(whic)n(h)j(ma)n(y)e(or)h(ma)n(y)g(not)h(b)r(e)f(sp)r(eci\034ed:)
6691 269 2214 y Fk(\025)41 b Ff(interval:)83 b(number)41 b(interval-name)27
6692 b Fj(de\034nes)32 b(the)g(time)h(in)n(terv)-5 b(al)32
6693 b(un)n(til)358 2314 y(the)j(rep)r(ort)f(\034le)h(is)g(rotated.)58
6694 b(Rotation)35 b(can)f(b)r(e)i(sp)r(eci\034ed)f(using)f(an)h(in)n(te-)
6695 358 2413 y(gral,)d(p)r(ositiv)n(e)g(n)n(um)n(b)r(er,)i(follo)n(w)n(ed)d
6696 (b)n(y)i Ff(hour)e Fj(or)g Ff(hours)g Fj(for)h(hours,)h
6697 Ff(day)e Fj(or)358 2513 y Ff(days)36 b Fj(for)h(da)n(ys,)i
6698 Ff(week)d Fj(or)h Ff(weeks)f Fj(for)h(w)n(eeks)f(and)i
6699 Ff(month)e Fj(or)g Ff(months)f Fj(for)358 2612 y(mon)n(ths.)h(By)27
6700 b(default)h(no)e(rotation)g(tak)n(es)h(place.)36 b(If)28
6701 b(rotation)d(is)j(requested,)358 2712 y(the)c(curren)n(t)f(rep)r(ort)g
6702 (\034le)h(is)g(mo)n(v)n(ed)f(to)h(the)g(\034le)g Ff(reportfile)p
6703 Fk(.1)p Fj(,)c(while)k(exist-)358 2812 y(ing)30 b(n)n(um)n(b)r(ered)g
6704 (rep)r(ort\034les)g(are)f(mo)n(v)n(ed)h(to)g(higher)g(ordered)f(n)n(um)
6705 n(b)r(ers)h(\034rst)358 2911 y(\(so,)21 b(b)r(efore)e(mo)n(ving)f(the)i
6706 (curren)n(t)f(rep)r(ort\034le)f(to)i Ff(reportfile)p
6707 Fk(.1)p Fj(,)c(an)j(existing)358 3011 y Ff(reportfile)p
6708 Fk(.1)j Fj(is)28 b(\034rst)f(mo)n(v)n(ed)g(to)g Ff(reportfile)p
6709 Fk(.2)p Fj(,)c(etc.\).)269 3137 y Fk(\025)41 b Ff(count:)84
6710 b(number)20 b Fj(de\034nes)i(the)h(n)n(um)n(b)r(er)e(of)h(rep)r(ort)g
6711 (\034les)g Fk(stealth)f Fj(will)i(ev)n(en-)358 3237 y(tually)33
6712 b(use.)54 b(By)34 b(default,)h(if)40 b Fk(USE)f(R)m(OT)-8
6713 b(A)g(TE)34 b Fj(is)f(sp)r(eci\034ed,)j(there)d(is)g(no)358
6714 3337 y(practical)f(limit)i(to)f(the)h(n)n(um)n(b)r(er)f(of)g(rep)r(ort)
6715 f(\034les)i Fk(stealth)f Fj(will)g(create)f(\(in)358
6716 3436 y(these)d(cases,)g(another)g(program)f(supp)r(osedly)h(con)n
6717 (trols)f(the)i(n)n(um)n(b)r(er)f(of)h(re-)358 3536 y(p)r(ort)21
6718 b(\034les)g(that)h(will)f(ev)n(en)n(tually)f(b)r(e)i(used\).)35
6719 b(External)21 b(programs)e(ma)n(y)h(freely)358 3636 y(manipulate)35
6720 b(all)f(rep)r(ort)h(\034les)f(that)i(ha)n(v)n(e)d(b)r(een)j(rotated)e
6721 (b)n(y)i Fk(stealth)p Fj(,)g(but)358 3735 y(they)41 b(should)f(not)g
6722 (mo)r(dify)h(the)g(activ)n(e)f(rep)r(ort)g(\034le)g(\(sp)r(eci\034ed)h
6723 (using)g(the)358 3835 y Fk(USE)32 b(REPOR)-8 b(T)27 b
6724 Fj(sp)r(eci\034cation\).)269 3961 y Fk(\025)41 b Ff(zip:)85
6725 b(number)41 b(zip-program-path)c Fj(de\034nes)43 b(the)h(\034rst)g(of)f
6726 (the)h(rotated)358 4061 y(\034les)36 b(that)g(should)g(b)r(e)g
6727 (compressed,)h(using)f Ff(zip-program-path)30 b Fj(to)36
6728 b(com-)358 4161 y(press)22 b(the)i(rep)r(ort)e(\034les.)35
6729 b(By)23 b(default,)i(no)e(compression)e(is)i(used,)i(but)e(if)31
6730 b Ff(zip:)358 4260 y Fj(is)d(sp)r(eci\034ed,)i(the)f(default)g(program)
6731 e(that)i(will)g(b)r(e)g(used)g(to)g(compress)e(a)i(re-)358
6732 4360 y(p)r(ort)g(\034le)g(is)g Fk(/bin/gzip)p Fj(.)40
6733 b(If)29 b(another)f(program)f(is)i(used,)g(it)h(should)f(exp)r(ect)358
6734 4459 y(a)f(\034lename)h(as)g(its)g(\034rst)f(argumen)n(t,)h(whic)n(h)g
6735 (will)g(then)g(b)r(e)h(zipp)r(ed)f(to)g(a)g(new)358 4559
6736 y(\034le)d(receiving)f(the)i(extension)f Fk(.gz)p Fj(,)g(app)r(ended)g
6737 (to)h(the)f(name)g(that)h(w)n(as)e(pro-)358 4659 y(vided)32
6738 b(as)g(its)g(\034rst)g(argumen)n(t.)50 b(The)33 b(original)d(\034le)j
6739 (is)f(remo)n(v)n(ed)f(during)h(the)358 4758 y(zipping-pro)r(cess.)358
6740 4871 y(Example)g(sho)n(wing)f(a)h(rep)r(ort)f(in)n(terv)-5
6741 b(al)32 b(of)g(one)g(w)n(eek,)h(using)f(a)g(total)g(of)g(12)358
6742 4971 y(rep)r(ort)24 b(\034les,)h(compressing)e(all)h(rep)r(ort)g
6743 (\034les)h(but)g(the)g(actual)f(rep)r(ort)g(\034le)h(and)358
6744 5071 y(its)j(predecessor)d(\(ha)n(ving)i(\034lename)g
6745 Ff(reportfile)p Fk(.1)p Fj(\):)532 5313 y Ff(USE)42 b(ROTATE)f
6746 (interval:)f(1)j(week,)f(count:)f(12,)h(zip:)g(2)h(/bin/gzip)1358
6747 5662 y Fj(13)p eop end
6748 %%Page: 14 15
6749 TeXDict begin 14 14 bop 92 531 a Fg(\017)41 b Fk(USE)32
6750 b(SH)c Ff(sh-specificatio)o(n)175 657 y Fj(The)h Fk(SH)h
6751 Fj(sp)r(eci\034cation)e(uses)h Ff(/bin/sh)e Fj(as)h(default,)i(and)g
6752 (de\034nes)f(the)g(command)175 756 y(shell)f(used)f(b)n(y)g(the)h(con)n
6753 (troller)e(to)i(execute)f(lo)r(cal)g(commands.)175 881
6754 y(Example)h(sho)n(wing)e(the)i(default:)349 1151 y Ff(USE)43
6755 b(SH)f(/bin/sh)92 1421 y Fg(\017)f Fk(USE)32 b(SSH)c
6756 Ff(ssh-specificati)o(on)175 1546 y Fk(The)d(SSH)g(sp)s(eci\034cation)g
6757 (has)g(no)g(default)p Fj(,)e(and)e Fe(must)29 b Fj(b)r(e)22
6758 b(sp)r(eci\034ed.)35 b(Assum-)175 1646 y(ing)22 b(the)h(clien)n(t)f
6759 Fe(trusts)27 b Fj(the)c(con)n(troller)d(\(whic)n(h)j(is,)g(after)e
6760 (all,)i(what)g(this)f(program)e(is)175 1745 y(all)26
6761 b(ab)r(out;)h(so)e(this)i(should)f(not)g(b)r(e)h(a)f(v)n(ery)f(strong)g
6762 (assumption\),)h(preferably)g(the)175 1845 y(public)35
6763 b(ssh-iden)n(tit)n(y)f(k)n(ey)g(of)g(the)h(con)n(troller)e(should)h(b)r
6764 (e)h(placed)f(in)h(the)g(clien)n(t's)175 1945 y(ro)r(ot)i
6765 Ff(.ssh/authorized)o(_ke)o(ys)31 b Fj(\034le,)40 b(gran)n(ting)c(the)i
6766 (con)n(troller)d(ro)r(ot)i(access)f(to)175 2044 y(the)26
6767 b(clien)n(t.)37 b(Ro)r(ot)25 b(access)g(is)g(normally)g(needed)h(to)g
6768 (gain)f(access)f(to)i(all)f(directories)175 2144 y(and)j(\034les)f(of)h
6769 (the)f(clien)n(t's)h(\034le)g(system.)175 2269 y(In)38
6770 b(practice,)i(connecting)e(to)g(a)f(accoun)n(t)g(using)h(the)g
6771 Fk(sh)p Fj(\(1\))g(shell)g(is)g(preferred.)175 2369 y(When)24
6772 b(another)e(shell)h(is)h(already)d(used)j(b)n(y)f(that)g(accoun)n(t,)g
6773 (one)g(should)g(mak)n(e)g(sure)175 2468 y(that)31 b(that)g(shell)f(do)r
6774 (esn't)g(setup)h(its)g(o)n(wn)f(redirections)f(for)h(standard)f(input)i
6775 (and)175 2568 y(standard)g(output.)51 b(One)32 b(w)n(a)n(y)f(to)g
6776 (accomplish)h(that)g(is)g(for)g(force)f(the)h(execution)175
6777 2668 y(of)i Ff(/bin/sh)25 b Fj(in)j(the)g Fk(USE)k(SSH)27
6778 b Fj(sp)r(eci\034cation.)175 2793 y(An)h(example)f(of)h(an)f
6779 Ff(SSH)f Fj(sp)r(eci\034cation)i(to)f(scan)g(a)g(lo)r(calhost)g(is:)349
6780 3053 y Ff(USE)43 b(SSH)f(root@localhost)c(-T)k(-q)697
6781 b(#)43 b(root's)e(shell)g(is)i(/bin/sh)175 3314 y Fj(The)28
6782 b(same,)f(no)n(w)g(explicitly)g(using)i Ff(/bin/bash)p
6783 Fj(:)349 3575 y Ff(USE)43 b(SSH)f(root@localhost)c(-T)k(-q)h(exec)f
6784 (/bin/bash)e(#)j(root)f(uses)g(another)e(shell)175 3836
6785 y Fj(Alternativ)n(ely)-7 b(,)20 b Ff(\025profile)15 b
6786 Fj(can)j(b)r(e)g(sp)r(eci\034ed)h(to)f(prev)n(en)n(t)g(an)n(y)f
6787 (pro\034le-initialization:)349 4096 y Ff(USE)43 b(SSH)f(root@localhost)
6788 c(-T)k(-q)h(exec)f(/bin/bash)e(--noprofile)-32 4402 y
6789 Fj(Note,)28 b(ho)n(w)n(ev)n(er,)e(that)j(using)f Ff(stealth)e
6790 Fj(to)i(insp)r(ect)g Ff(localhost)d Fj(is)j Fe(not)36
6791 b Fj(recommended,)-32 4502 y(as)26 b(it)i(coun)n(ters)f(one)g(of)h(the)
6792 g(main)f(reasons)f(for)h Ff(stealth)p Fj('s)d(existence.)-32
6793 4673 y(As)h(y)n(et)g(another)f(alternativ)n(e,)g(applicable)h(only)g
6794 (to)g Ff(localhost)p Fj(,)d Ff(ssh)i Fj(could)h(b)r(e)g(a)n(v)n(oided)
6795 -32 4772 y(altogether.)34 b(In)25 b(that)g(case)f Ff(/bin/bash)d
6796 Fj(or)j(a)g(comparable)f(shell)i(ma)n(y)f(b)r(e)h(sp)r(eci\034ed)g
6797 (with)-32 4872 y Ff(USE)42 b(SSH)p Fj(.)26 b(F)-7 b(or)27
6798 b(example:)142 5178 y Ff(#)43 b(For)f(stealth)f(inspecting)e
6799 (localhost:)316 5277 y(USE)j(SSH)h(/bin/bash)d(--noprofile)1358
6800 5662 y Fj(14)p eop end
6801 %%Page: 15 16
6802 TeXDict begin 15 15 bop -32 531 a Fh(3.3)130 b(Commands)-32
6803 784 y Fj(F)-7 b(ollo)n(wing)26 b(the)j Fk(USE)f Fj(sp)r
6804 (eci\034cations,)g Fe(c)l(ommands)35 b Fj(can)28 b(b)r(e)g(sp)r
6805 (eci\034ed.)39 b(The)28 b(commands)-32 884 y(are)21 b(executed)h(in)h
6806 (their)f(order)f(of)i(app)r(earance)e(in)h(the)h(p)r(olicy)f(\034le.)36
6807 b(Pro)r(cessing)21 b(con)n(tin)n(ues)-32 983 y(un)n(til)40
6808 b(the)g(last)f(command)g(has)g(b)r(een)h(pro)r(cessed)f(or)g(un)n(til)h
6809 (a)f(tested)h(command)f(\(see)-32 1083 y(b)r(elo)n(w\))27
6810 b(returns)g(a)g(non-zero)f(return)h(v)-5 b(alue.)-32
6811 1383 y Fd(3.3.1)112 b(LABEL)37 b(commands)-32 1608 y
6812 Fj(The)27 b(follo)n(wing)h Fk(LABEL)g Fj(commands)f(are)f(a)n(v)-5
6813 b(ailable:)92 1832 y Fg(\017)41 b Fk(LABEL)28 b Ff(text)175
6814 1962 y Fj(This)i(de\034nes)h(a)e(text-lab)r(el)i(whic)n(h)f(is)g
6815 (written)g(to)h(the)f Fk(REPOR)-8 b(T)30 b Fj(\034le,)h(just)g(b)r(e-)
6816 175 2062 y(fore)j(the)h(output)f(generated)f(b)n(y)i(the)f(next)h
6817 Fk(CHECK)p Fj(-command.)55 b(If)35 b(the)g(next)175 2161
6818 y Fk(CHECK)p Fj(-command)30 b(generates)g(no)i(output,)h(the)g(lab)r
6819 (el)e(is)h(not)g(written)g(to)g(the)175 2261 y Fk(REPOR)-8
6820 b(T)p Fj(-\034le.)35 b(Once)25 b(a)f Fk(LABEL)i Fj(has)e(b)r(een)h
6821 (de\034ned,)h(it)f(is)g(used)g(un)n(til)g(it)g(is)g(re-)175
6822 2360 y(de\034ned)d(b)n(y)f(the)i(next)e Fk(LABEL)i Fj(command.)34
6823 b(Use)22 b(an)f(empt)n(y)i Fk(LABEL)f Fj(command)175
6824 2460 y(to)28 b(suppress)e(the)i(prin)n(ting)f(of)h(lab)r(els.)175
6825 2590 y(The)40 b(text)h(ma)n(y)e(con)n(tain)g Ff(\\n)h
6826 Fj(c)n(haracters)d(\(t)n(w)n(o)j(c)n(haracters\))e(whic)n(h)i(are)f
6827 (trans-)175 2689 y(formed)27 b(to)h(a)f(newline)h(c)n(haracter.)92
6828 2849 y Fg(\017)41 b Fk(LABEL)175 2979 y Fj(As)28 b(noted,)f(this)h
6829 (clears)f(a)g(previously)f(de\034ned)i Ff(LABEL)d Fj(command.)-32
6830 3204 y(Examples:)142 3528 y Ff(LABEL)41 b(Inspecting)f(files)h(in)i
6831 (/etc\\nIncluding)37 b(subdirectories)142 3627 y(LABEL)-32
6832 3952 y Fj(The)27 b(second)g Fk(LABEL)h Fj(command)f(clears)g(the)h
6833 (\034rst)f(lab)r(el.)-32 4252 y Fd(3.3.2)112 b(LOCAL)38
6834 b(commands)-32 4476 y Fk(LOCAL)25 b Fj(commands)f(can)g(b)r(e)h(used)f
6835 (to)h(sp)r(ecify)g(commands)e(that)i(are)f(executed)g(on)h(the)-32
6836 4576 y(con)n(troller)g(itself.)38 b(The)27 b(follo)n(wing)h
6837 Fk(LOCAL)g Fj(commands)f(are)g(a)n(v)-5 b(ailable:)92
6838 4801 y Fg(\017)41 b Fk(LOCAL)28 b Ff(command)175 4930
6839 y Fj(Execute)36 b Ff(command)c Fj(on)k(the)f(con)n(troller,)h(using)f
6840 (the)h Fk(SH)f Fj(command)g(shell.)60 b(The)175 5030
6841 y(command)27 b(m)n(ust)h(succeed)f(\(i.e.,)h(m)n(ust)g(return)f(a)g
6842 (zero)g(exit)g(v)-5 b(alue\).)37 b(Example:)349 5313
6843 y Ff(LOCAL)42 b(mkdir)f(/tmp/client)1358 5662 y Fj(15)p
6844 eop end
6845 %%Page: 16 17
6846 TeXDict begin 16 16 bop 175 531 a Fj(This)28 b(command)f(will)h(create)
6847 e(the)i(directory)f Ff(/tmp/client)c Fj(on)28 b(the)g(con)n(troller.)92
6848 697 y Fg(\017)41 b Fk(LOCAL)33 b(NOTEST)27 b Ff(command)175
6849 830 y Fj(Execute)36 b Ff(command)c Fj(on)k(the)f(con)n(troller,)h
6850 (using)f(the)h Fk(SH)f Fj(command)g(shell.)60 b(The)175
6851 930 y(command)27 b(ma)n(y)g(or)g(ma)n(y)g(not)g(succeed.)37
6852 b(Example:)349 1229 y Ff(LOCAL)42 b(NOTEST)f(mkdir)g(/tmp/subdir)175
6853 1528 y Fj(This)27 b(command)g(will)h(create)e Ff(/tmp/subdir)d
6854 Fj(on)k(the)g(con)n(troller.)35 b(The)27 b(command)175
6855 1627 y(will)38 b(fail)f(if)h(the)f(directory)f(cannot)h(b)r(e)h
6856 (created,)h(but)f(this)f(will)h(not)f(terminate)175 1727
6857 y Fk(stealth)p Fj(.)92 1893 y Fg(\017)k Fk(LOCAL)33 b(CHECK)26
6858 b Fj([)p Fk(LOG)32 b(=)p Fj(])c Ff(logfile)41 b(command)175
6859 2026 y Fj(Execute)36 b Ff(command)c Fj(on)k(the)f(con)n(troller,)h
6860 (using)f(the)h Fk(SH)f Fj(command)g(shell.)60 b(The)175
6861 2125 y(phrase)24 b(`)p Fk(LOG)30 b(=)p Fj(')25 b(is)g(optional.)36
6862 b(If)25 b(the)h(command)f(do)r(es)f(not)i(succeed)e(a)h
6863 Fe(warning)175 2225 y Fj(message)33 b(is)g(written)h(to)g(the)g(rep)r
6864 (ort)f(\034le.)56 b(The)34 b(w)n(arning)f(message)f(informs)i(the)175
6865 2325 y(reader)26 b(that)i(`remaining)f(results)g(migh)n(t)g(b)r(e)h
6866 (forged:)349 2623 y Ff(***)43 b(BE)f(CAREFUL)f(***)h(REMAINING)e
6867 (RESULTS)h(MAY)h(BE)h(FORGED)175 2922 y Fj(This)26 b(situation)g(ma)n
6868 (y)f(o)r(ccur,)h(e.g.,)g(if)g(an)g(essen)n(tial)f(program)f(\(lik)n(e)i
6869 Ff(sha1sum)p Fj(\))d(w)n(as)175 3022 y(transferred)38
6870 b(to)h(the)g(con)n(troller,)h(and)f(it)h(w)n(as)e(apparen)n(tly)f(mo)r
6871 (di\034ed)j(since)f(the)175 3122 y(previous)27 b(c)n(hec)n(k.)37
6872 b(Pro)r(cessing)27 b(con)n(tin)n(ues,)h(but)h(remaining)e(c)n(hec)n(ks)
6873 g(p)r(erformed)g(at)175 3221 y(the)h(clien)n(t)g(computer)f(should)g(b)
6874 r(e)h(in)n(terpreted)f(with)h Fe(extr)l(eme)33 b Fj(caution.)175
6875 3354 y(The)27 b(output)h(of)f(this)g(command)g(is)g(compared)f(to)h
6876 (the)g(output)h(of)f(this)g(command)175 3454 y(generated)c(during)g
6877 (the)h(previous)e(run)i(of)30 b Fk(stealth)p Fj(.)35
6878 b(An)n(y)24 b(di\033erences)f(are)g(written)175 3553
6879 y(to)28 b Fk(REPOR)-8 b(T)p Fj(.)175 3686 y(If)19 b(di\033erences)f(w)n
6880 (ere)f(found,)k(the)e(existing)g Ff(logfile)c Fj(name)j(is)g(renamed)g
6881 (to)g Ff(logfile.YYYYMMDD)o(-HH)o(MM)o(SS)o Fj(,)175
6882 3786 y(with)28 b Ff(YYYYMMDD-HHMMSS)21 b Fj(the)28 b(datetime-stamp)f
6883 (at)g(the)h(time)g Fk(stealth)f Fj(w)n(as)f(run.)175
6884 3919 y(Ov)n(er)f(time,)j(man)n(y)f Ff(logfile.YYMMDD-H)o(HMM)o(SS)20
6885 b Fj(\034les)27 b(could)g(b)r(e)g(accum)n(ulated.)36
6886 b(It)175 4018 y(is)c(up)g(to)g(the)h(con)n(troller's)c(systems)j
6887 (manager)e(to)i(decide)g(what)g(to)g(do)g(with)g(old)175
6888 4118 y(datetime-stamp)r(ed)f(log\034les.)48 b(F)-7 b(or)30
6889 b(instance,)i(the)g(follo)n(wing)e(script)h(will)h(remo)n(v)n(e)175
6890 4218 y(all)20 b Fk(stealth)g Fj(rep)r(orts)f(b)r(elo)n(w)h(the)h
6891 (curren)n(t)e(directory)g(that)i(are)e(older)g(than)i(30)e(da)n(ys:)349
6892 4516 y Ff(#/bin/sh)349 4616 y(FILES=`find)39 b(./)k(-path)f('*[0-9]')e
6893 (-mtime)h(+30)h(-type)g(f`)349 4815 y(if)h([)g("$FILES")d(!=)j("")g(])g
6894 (;)g(then)524 4915 y(rm)f(-f)h($FILES)349 5015 y(fi)175
6895 5313 y Fj(The)34 b Ff(logfile)d Fj(sp)r(eci\034cations)h(ma)n(y)h(use)h
6896 (relativ)n(e)e(and)i(absolute)f(paths.)54 b(When)175
6897 5413 y(relativ)n(e)39 b(paths)i(are)e(used,)44 b(these)d(paths)f(are)f
6898 (relativ)n(e)h(to)g Fk(BASE)p Fj(.)h(When)g(the)1358
6899 5662 y(16)p eop end
6900 %%Page: 17 18
6901 TeXDict begin 17 17 bop 175 531 a Fj(directories)34 b(implied)j(b)n(y)e
6902 (the)h Ff(logfile)d Fj(sp)r(eci\034cations)i(do)g(not)h(y)n(et)f
6903 (exist,)j(they)175 631 y(are)27 b(created)f(\034rst.)175
6904 762 y(Example:)349 1054 y Ff(LOCAL)42 b(CHECK)f(LOG)i(=)g
6905 (local/sha1sum)38 b(sha1sum)i(/tmp/sha1sum)175 1345 y
6906 Fj(This)31 b(command)g(will)g(c)n(hec)n(k)f(the)h(SHA1)h(sum)f(of)g
6907 (the)g Ff(/tmp/sha1sum)26 b Fj(program.)175 1445 y(The)34
6908 b(resulting)f(output)h(is)g(sa)n(v)n(ed)e(at)i Fk(BASE)p
6909 Ff(/local/sha1sum)p Fj(.)49 b(The)34 b(program)175 1545
6910 y(m)n(ust)28 b(succeed)f(\(i.e.,)h Ff(sha1sum)d Fj(m)n(ust)i(return)g
6911 (a)h(zero)e(exit-v)-5 b(alue\).)92 1708 y Fg(\017)41
6912 b Fk(LOCAL)33 b(NOTEST)e(CHECK)c Fj([)p Fk(LOG)32 b(=)p
6913 Fj(])c Ff(logfile)41 b(command)175 1839 y Fj(Execute)36
6914 b Ff(command)c Fj(on)k(the)f(con)n(troller,)h(using)f(the)h
6915 Fk(SH)f Fj(command)g(shell.)60 b(The)175 1939 y(phrase)36
6916 b(`)p Fk(LOG)42 b(=)p Fj(')37 b(is)f(optional.)63 b(The)37
6917 b(command)f(ma)n(y)f(or)h(ma)n(y)g(not)g(succeed.)175
6918 2038 y(Otherwise,)44 b(the)d(program)e(acts)h(iden)n(tically)h(as)f
6919 (the)h Fk(LOCAL)48 b(CHECK)e(...)175 2138 y Fj(command,)27
6920 b(discussed)g(previously)-7 b(.)175 2269 y(Example:)349
6921 2561 y Ff(LOCAL)42 b(NOTEST)f(CHECK)g(LOG=local/sha1sum)c(sha1sum)j
6922 (/tmp/sha1sum)175 2852 y Fj(This)31 b(command)g(will)g(c)n(hec)n(k)f
6923 (the)h(SHA1)h(sum)f(of)g(the)g Ff(/tmp/sha1sum)26 b Fj(program.)175
6924 2952 y(The)34 b(resulting)f(output)h(is)g(sa)n(v)n(ed)e(at)i
6925 Fk(BASE)p Ff(/local/sha1sum)p Fj(.)49 b(The)34 b(program)175
6926 3052 y(ma)n(y)k(or)g(ma)n(y)g(not)g(succeed)g(\(i.e.,)k
6927 Ff(sha1sum)36 b Fj(ma)n(y)i(or)f(ma)n(y)h(not)h(return)f(a)g(zero)175
6928 3151 y(exit-v)-5 b(alue\).)-32 3453 y Fd(3.3.3)112 b(REMOTE)36
6929 b(commands)-32 3677 y Fj(Plain)30 b(commands)g(can)g(b)r(e)h(executed)g
6930 (on)f(the)h(clien)n(t)g(computer)f(b)n(y)g(merely)g(sp)r(ecifying)-32
6931 3777 y(them.)36 b(Of)25 b(course,)f(this)h(means)g(that)g(programs)d
6932 (called)j Ff(LABEL)p Fj(,)e Ff(LOCAL)g(USE)g Fj(or)h
6933 Ff(DEFINE)p Fj(,)-32 3877 y(cannot)35 b(b)r(e)h(executed,)j(since)c
6934 (these)h(names)g(are)f(in)n(terpreted)g(otherwise)g(b)n(y)i
6935 Fk(stealth)p Fj(.)-32 3976 y(It's)f(unlik)n(ely)g(that)g(this)h(will)g
6936 (cause)e(problems.)62 b(Remote)36 b(commands)g(m)n(ust)g(succeed)-32
6937 4076 y(\(i.e.,)28 b(their)f(return)g(co)r(des)g(m)n(ust)h(b)r(e)g(0\).)
6938 -32 4246 y(Remote)h(commands)f(are)h(commands)f(executed)i(on)f(the)h
6939 (clien)n(t)f(using)g(the)h Fk(SSH)f Fj(shell.)-32 4346
6940 y(These)g(commands)h(are)f(executed)h(using)f(the)i(standard)e
6941 Ff(PATH)f Fj(set)i(for)g(the)g Fk(SSH)g Fj(shell.)-32
6942 4446 y(Ho)n(w)n(ev)n(er,)g(it)i(is)g(advised)f(to)g(sp)r(ecify)h(the)g
6943 (full)h(pathname)e(to)h(the)g(programs)d(to)i(b)r(e)h(ex-)-32
6944 4545 y(ecuted,)i(to)e(prev)n(en)n(t)f(\020tro)5 b(jan)31
6945 b(approac)n(hes\021)37 b(where)32 b(a)g(tro)5 b(jan)32
6946 b(horse)f(is)h(installed)h(in)f(an)-32 4645 y(`earlier')26
6947 b(directory)g(of)i(the)f Ff(PATH)p Fj(-sp)r(eci\034cation)f(than)h(the)
6948 h(in)n(tended)g(program.)-32 4815 y(T)-7 b(w)n(o)24 b(sp)r(ecial)g
6949 (remote)g(commands)g(are)g Ff(GET)f Fj(and)i Ff(PUT)p
6950 Fj(,)f(whic)n(h)g(can)h(b)r(e)g(used)g(to)f(cop)n(y)g(\034les)-32
6951 4915 y(b)r(et)n(w)n(een)30 b(the)h(clien)n(t)g(and)g(the)g(con)n
6952 (troller.)45 b(In)n(ternally)-7 b(,)31 b Ff(GET)e Fj(and)i
6953 Ff(PUT)f Fj(use)g(the)h Ff(DD)f Fj(use-)-32 5015 y(sp)r(eci\034cation.)
6954 42 b(If)30 b(a)g(non-default)f(sp)r(eci\034cation)g(is)h(used,)g(one)f
6955 (should)h(ensure)f(that)h(the)-32 5114 y(alternate)g(program)g(accepts)
6956 h Fk(dd)p Fj(\(1\)'s)g Ff(if=,)42 b(of=,)g(bs=)30 b Fj(and)i
6957 Ff(count=)d Fj(options.)48 b(With)-32 5214 y Ff(GET)37
6958 b Fj(the)i(options)g Ff(bs=,)j(count=)36 b Fj(and)j Ff(of=)e
6959 Fj(are)h(used,)k(with)d Ff(PUT)f Fj(the)h(options)g Ff(bs=,)-32
6960 5313 y(count=)20 b Fj(and)k Ff(if=)e Fj(are)g(used.)35
6961 b(Normally)23 b(there)g(should)g(b)r(e)h(no)f(need)g(to)g(alter)g(the)h
6962 (default)-32 5413 y Ff(DD)i Fj(sp)r(eci\034cation.)1358
6963 5662 y(17)p eop end
6964 %%Page: 18 19
6965 TeXDict begin 18 18 bop -32 531 a Fj(The)27 b Ff(GET)g
6966 Fj(command)g(ma)n(y)g(b)r(e)h(used)f(as)g(follo)n(ws:)92
6967 768 y Fg(\017)41 b Fk(GET)28 b Ff(<client-path>)38 b(<local-path>)175
6968 868 y Fj(Cop)n(y)c(the)g(\034le)h(indicated)f(b)n(y)h
6969 Ff(client-path)30 b Fj(at)k(the)g(clien)n(t)h(to)f Ff(local-path)c
6970 Fj(at)175 968 y(the)j(con)n(troller.)48 b Ff(client-path)28
6971 b Fj(m)n(ust)k(b)r(e)h(the)f(full)h(path)f(of)g(an)g(existing)g(\034le)
6972 g(on)175 1067 y(the)d(clien)n(t,)h Ff(local-path)24 b
6973 Fj(ma)n(y)k(either)h(b)r(e)g(a)g(lo)r(cal)f(directory)-7
6974 b(,)28 b(in)h(whic)n(h)g(case)f(the)175 1167 y(clien)n(t's)g(\034le)g
6975 (name)g(is)g(used,)h(or)e(another)g(\034le)h(name)g(ma)n(y)g(b)r(e)g
6976 (sp)r(eci\034ed,)h(in)f(whic)n(h)175 1266 y(case)i(the)i(clien)n(t's)f
6977 (\034le)g(is)g(copied)g(to)g(the)h(sp)r(eci\034ed)f(lo)r(cal)g
6978 (\034lename.)47 b(If)32 b(the)g(lo)r(cal)175 1366 y(\034le)c(already)e
6979 (exists,)h(it)h(is)g(o)n(v)n(erwritten)d(b)n(y)j(the)g(cop)n(y-pro)r
6980 (cedure.)175 1499 y(Example:)175 1598 y Ff(GET)42 b(/usr/bin/sha1sum)37
6981 b(/tmp)175 1698 y Fj(The)29 b(program)e Ff(/usr/bin/sha1sum)o
6982 Fj(,)d(a)n(v)-5 b(ailable)27 b(at)i(the)h(clien)n(t,)f(is)g(copied)g
6983 (to)g(the)175 1798 y(con)n(troller's)e Ff(/tmp)g Fj(directory)-7
6984 b(.)40 b(If)30 b(the)f(cop)n(ying)f(fails)g(for)h(some)f(reason,)g(an)n
6985 (y)g(sub-)175 1897 y(sequen)n(t)f(commands)g(are)g(skipp)r(ed,)h(and)f
6986 Fk(stealth)g Fj(terminates.)92 2063 y Fg(\017)41 b Fk(GET)32
6987 b(NOTEST)c Ff(<client-path>)38 b(<local-path>)175 2163
6988 y Fj(Cop)n(y)c(the)g(\034le)h(indicated)f(b)n(y)h Ff(client-path)30
6989 b Fj(at)k(the)g(clien)n(t)h(to)f Ff(local-path)c Fj(at)175
6990 2263 y(the)j(con)n(troller.)48 b Ff(client-path)28 b
6991 Fj(m)n(ust)k(b)r(e)h(the)f(full)h(path)f(of)g(an)g(existing)g(\034le)g
6992 (on)175 2362 y(the)d(clien)n(t,)h Ff(local-path)24 b
6993 Fj(ma)n(y)k(either)h(b)r(e)g(a)g(lo)r(cal)f(directory)-7
6994 b(,)28 b(in)h(whic)n(h)g(case)f(the)175 2462 y(clien)n(t's)g(\034le)g
6995 (name)g(is)g(used,)h(or)e(another)g(\034le)h(name)g(ma)n(y)g(b)r(e)g
6996 (sp)r(eci\034ed,)h(in)f(whic)n(h)175 2562 y(case)i(the)i(clien)n(t's)f
6997 (\034le)g(is)g(copied)g(to)g(the)h(sp)r(eci\034ed)f(lo)r(cal)g
6998 (\034lename.)47 b(If)32 b(the)g(lo)r(cal)175 2661 y(\034le)c(already)e
6999 (exists,)h(it)h(is)g(o)n(v)n(erwritten)d(b)n(y)j(the)g(cop)n(y-pro)r
7000 (cedure.)175 2794 y(Example:)175 2894 y Ff(GET)42 b(NOTEST)f
7001 (/usr/bin/sha1sum)c(/tmp)175 2993 y Fj(The)29 b(program)e
7002 Ff(/usr/bin/sha1sum)o Fj(,)d(a)n(v)-5 b(ailable)27 b(at)i(the)h(clien)n
7003 (t,)f(is)g(copied)g(to)g(the)175 3093 y(con)n(troller's)34
7004 b Ff(/tmp)g Fj(directory)-7 b(.)61 b(Remaining)36 b(commands)f(in)i
7005 (the)f(p)r(olicy)g(\034le)g(are)175 3192 y(executed,)28
7006 b(ev)n(en)f(if)h(the)g(cop)n(ying)e(pro)r(cess)h(w)n(asn't)g
7007 (successful.)-32 3429 y(The)g Ff(PUT)g Fj(command)g(ma)n(y)g(b)r(e)h
7008 (used)f(as)g(follo)n(ws:)92 3666 y Fg(\017)41 b Fk(PUT)29
7009 b Ff(<local-path>)38 b(<remote-path>)175 3766 y Fj(Cop)n(y)20
7010 b(the)h(\034le)g(indicated)g(b)n(y)h Ff(local-path)16
7011 b Fj(at)21 b(the)g(con)n(troller)e(to)i Ff(remote-path)16
7012 b Fj(at)175 3866 y(the)25 b(clien)n(t.)36 b(The)24 b(argumen)n(t)f
7013 Ff(local-path)d Fj(m)n(ust)25 b(b)r(e)f(the)h(full)g(path)f(of)g(an)g
7014 (existing)175 3965 y(\034le)31 b(on)f(the)h(con)n(troller.)44
7015 b(The)31 b(argumen)n(t)e Ff(remote-path)d Fj(m)n(ust)31
7016 b(b)r(e)g(the)g(full)g(path)175 4065 y(to)25 b(a)f(\034le)h(on)g(the)g
7017 (clien)n(t.)36 b(If)25 b(the)h(remote)e(\034le)h(already)e(exists,)i
7018 (it)g(is)g(o)n(v)n(erwritten)e(b)n(y)175 4164 y Ff(PUT)p
7019 Fj(.)175 4297 y(Example:)175 4397 y Ff(PUT)42 b(/tmp/sha1sum)d
7020 (/usr/bin/sha1sum)175 4497 y Fj(The)32 b(program)d Ff(/tmp/sha1sum)p
7021 Fj(,)f(a)n(v)-5 b(ailable)30 b(at)h(the)h(con)n(troller,)f(is)g(copied)
7022 g(to)h(the)175 4596 y(clien)n(t)41 b(as)g Ff(usr/bin/sha1sum)p
7023 Fj(.)72 b(If)41 b(the)h(cop)n(ying)e(fails)h(for)g(some)g(reason,)i(an)
7024 n(y)175 4696 y(subsequen)n(t)27 b(commands)g(are)g(skipp)r(ed,)h(and)f
7025 Fk(stealth)g Fj(terminates.)92 4862 y Fg(\017)41 b Fk(PUT)33
7026 b(NOTEST)28 b Ff(<local-path>)38 b(<remote-path>)175
7027 4961 y Fj(Cop)n(y)20 b(the)h(\034le)g(indicated)g(b)n(y)h
7028 Ff(local-path)16 b Fj(at)21 b(the)g(con)n(troller)e(to)i
7029 Ff(remote-path)16 b Fj(at)175 5061 y(the)25 b(clien)n(t.)36
7030 b(The)24 b(argumen)n(t)f Ff(local-path)d Fj(m)n(ust)25
7031 b(b)r(e)f(the)h(full)g(path)f(of)g(an)g(existing)175
7032 5161 y(\034le)31 b(on)f(the)h(con)n(troller.)44 b(The)31
7033 b(argumen)n(t)e Ff(remote-path)d Fj(m)n(ust)31 b(b)r(e)g(the)g(full)g
7034 (path)175 5260 y(to)25 b(a)f(\034le)h(on)g(the)g(clien)n(t.)36
7035 b(If)25 b(the)h(remote)e(\034le)h(already)e(exists,)i(it)g(is)g(o)n(v)n
7036 (erwritten)e(b)n(y)175 5360 y Ff(PUT)p Fj(.)1358 5662
7037 y(18)p eop end
7038 %%Page: 19 20
7039 TeXDict begin 19 19 bop 175 531 a Fj(Example:)175 631
7040 y Ff(PUT)42 b(NOTEST)f(/tmp/sha1sum)e(/usr/bin/sha1sum)175
7041 731 y Fj(Cop)n(y)20 b(the)h(\034le)g(indicated)g(b)n(y)h
7042 Ff(local-path)16 b Fj(at)21 b(the)g(con)n(troller)e(to)i
7043 Ff(remote-path)16 b Fj(at)175 830 y(the)25 b(clien)n(t.)36
7044 b(The)24 b(argumen)n(t)f Ff(local-path)d Fj(m)n(ust)25
7045 b(b)r(e)f(the)h(full)g(path)f(of)g(an)g(existing)175
7046 930 y(\034le)31 b(on)f(the)h(con)n(troller.)44 b(The)31
7047 b(argumen)n(t)e Ff(remote-path)d Fj(m)n(ust)31 b(b)r(e)g(the)g(full)g
7048 (path)175 1029 y(to)h(a)g(\034le)h(on)f(the)g(clien)n(t.)51
7049 b(If)33 b(the)g(remote)e(\034le)i(already)e(exists,)i(it)f(is)h(o)n(v)n
7050 (erwritten)175 1129 y(b)n(y)e Ff(PUT)p Fj(.)e(Remaining)g(commands)g
7051 (in)h(the)h(p)r(olicy)e(\034le)h(are)f(executed,)i(ev)n(en)e(if)i(the)
7052 175 1229 y(cop)n(ying)26 b(pro)r(cess)h(w)n(asn't)g(successful.)-32
7053 1453 y(Other)g(commands)f(to)i(b)r(e)g(executed)f(on)h(the)g(clien)n(t)
7054 f(can)g(b)r(e)h(sp)r(eci\034ed)g(as)f(follo)n(ws:)92
7055 1690 y Fg(\017)41 b Ff(command)175 1820 y Fj(Execute)f(`)p
7056 Ff(command)p Fj(')d(on)i(the)g(clien)n(t,)k(using)c(the)h
7057 Fk(SSH)f Fj(command)g(shell.)72 b(The)175 1920 y(command)36
7058 b(m)n(ust)g(succeed)g(\(i.e.,)j(m)n(ust)e(return)e(a)h(zero)f(exit)i(v)
7059 -5 b(alue\).)63 b(Ho)n(w)n(ev)n(er,)175 2019 y(an)n(y)27
7060 b(output)h(generated)e(b)n(y)i(the)g(command)f(is)g(ignored.)36
7061 b(Example:)349 2302 y Ff(/usr/bin/find)i(/tmp)k(-type)g(f)h(-exec)e
7062 (/bin/rm)g({})i(\\;)175 2585 y Fj(This)22 b(command)g(will)h(remo)n(v)n
7063 (e)d(all)j(ordinary)d(\034les)i(at)g(and)h(b)r(elo)n(w)f(the)g(clien)n
7064 (t's)h Ff(/tmp)175 2684 y Fj(directory)-7 b(.)92 2844
7065 y Fg(\017)41 b Fk(NOTEST)28 b Ff(command)175 2974 y Fj(Execute)f
7066 Ff(command)c Fj(on)k(the)f(clien)n(t,)h(using)f(the)h
7067 Fk(SSH)f Fj(command)g(shell.)36 b(The)27 b(com-)175 3073
7068 y(mand)h(ma)n(y)f(or)f(ma)n(y)h(not)h(succeed.)175 3203
7069 y(Example:)349 3486 y Ff(NOTEST)41 b(/usr/bin/find)e(/tmp)i(-type)h(f)h
7070 (-exec)e(/bin/rm)g({})i(\\;)175 3769 y Fj(Same)18 b(as)g(the)h
7071 (previous)e(command,)j(but)f(this)f(time)h(the)g(exit)f(v)-5
7072 b(alue)18 b(of)25 b Ff(/usr/bin/find)175 3868 y Fj(is)j(not)f(in)n
7073 (terpreted.)92 4028 y Fg(\017)41 b Fk(CHECK)27 b Fj([)p
7074 Fk(LOG)32 b(=)p Fj(])c Ff(logfile)41 b(command)175 4158
7075 y Fj(Execute)j Ff(command)c Fj(on)j(the)g(clien)n(t,)k(using)c(the)h
7076 Fk(SSH)f Fj(command)f(shell.)84 b(The)175 4257 y(phrase)32
7077 b(`)p Fk(LOG)37 b(=)p Fj(')c(is)f(optional.)51 b(The)32
7078 b(command)g(m)n(ust)h(succeed.)51 b(The)32 b(output)175
7079 4357 y(of)h(this)g(command)g(is)f(compared)g(to)h(the)g(output)h(of)e
7080 (this)i(command)e(generated)175 4456 y(during)f(the)g(previous)f(run)h
7081 (of)38 b Fk(stealth)p Fj(.)47 b(An)n(y)31 b(di\033erences)g(are)f
7082 (written)i(to)f Fk(RE-)175 4556 y(POR)-8 b(T)p Fj(.)19
7083 b(If)g(di\033erences)g(w)n(ere)e(found,)k(the)e(existing)h
7084 Ff(logfile)c Fj(name)i(is)h(renamed)f(to)175 4656 y Ff
7085 (logfile.YYYYMMDD)o(-H)o(HMM)o(SS)o Fj(,)28 b(with)34
7086 b Ff(YYYYMMDD-HHMMSS)27 b Fj(the)33 b(datetime-stamp)175
7087 4755 y(at)28 b(the)g(time)g Fk(stealth)f Fj(w)n(as)f(run.)175
7088 4885 y(Note)31 b(that)h(the)f(command)g(is)g(executed)g(on)g(the)h
7089 (clien)n(t,)g(but)g(the)g(log\034le)e(is)h(k)n(ept)175
7090 4985 y(on)h(the)g(con)n(troller.)49 b(This)32 b(command)f(represen)n
7091 (ts)g(the)h(core)f(of)h(the)g(metho)r(d)h(im-)175 5084
7092 y(plemen)n(ted)28 b(b)n(y)g Fk(stealth)p Fj(:)37 b(there)27
7093 b(will)h(b)r(e)g(no)f(residues)f(of)i(the)g(actions)e(p)r(erformed)175
7094 5184 y(b)n(y)j Fk(stealth)e Fj(on)g(the)h(clien)n(t)g(computers.)175
7095 5313 y(Sev)n(eral)d(examples)g(\(note)h(the)g(use)g(of)g(the)g(bac)n
7096 (kslash)e(as)h(line)i(con)n(tin)n(uation)d(c)n(har-)175
7097 5413 y(acters\):)1358 5662 y(19)p eop end
7098 %%Page: 20 21
7099 TeXDict begin 20 20 bop 349 631 a Ff(CHECK)42 b(LOG)g(=)h
7100 (remote/ls.root)82 b(/usr/bin/find)38 b(/)43 b(\\)698
7101 731 y(-xdev)e(-perm)h(+6111)f(-type)h(f)h(-exec)e(/bin/ls)g(-l)i({})g
7102 (\\;)175 1046 y Fj(All)29 b(suid/gid/executable)d(\034les)i(on)g(the)g
7103 (same)g(device)f(as)h(the)g(ro)r(ot-directory)e(\(/\))175
7104 1146 y(on)c(the)g(clien)n(t)f(computer)h(are)e(listed)i(with)g(their)g
7105 (p)r(ermissions,)g(o)n(wner)e(and)i(size)f(in-)175 1245
7106 y(formation.)33 b(The)18 b(resulting)g(listing)g(is)h(written)f(on)g
7107 (the)h(\034le)f Fk(BASE)p Ff(/remote/ls.root)p Fj(.)175
7108 1378 y(This)28 b(long)e(command)i(could)f(b)r(e)h(form)n(ulated)f
7109 (shorter)f(using)h(a)g Ff(DEFINE)p Fj(:)349 1677 y Ff(DEFINE)41
7110 b(LSFIND)129 b(-xdev)41 b(-perm)h(+6111)f(-type)g(f)j(-exec)d(/bin/ls)g
7111 (-l)h({})h(\\;)349 1777 y(CHECK)f(remote/ls.root)81 b(/usr/bin/find)38
7112 b(/)43 b(${LSFIND})175 2076 y Fj(Another)27 b(example:)349
7113 2374 y Ff(DEFINE)41 b(SHA1SUM)g(-xdev)h(-perm)f(+6111)g(-type)h(f)h
7114 (-exec)f(/usr/bin/sha1su)o(m)37 b({})43 b(\\;)349 2474
7115 y(CHECK)f(remote/sha1.root)37 b(/usr/bin/find)h(/)43
7116 b(${SHA1SUM})175 2773 y Fj(The)30 b(SHA1)h(c)n(hec)n(ksums)e(of)h(all)g
7117 (suid/gid/executable)e(\034les)i(on)g(the)h(same)e(device)175
7118 2873 y(as)39 b(the)i(ro)r(ot-directory)c(\(/\))j(on)g(the)g(clien)n(t)g
7119 (computer)g(are)f(determined.)74 b(The)175 2972 y(resulting)27
7120 b(listing)h(is)f(written)h(on)f(the)h(\034le)g Fk(BASE)p
7121 Ff(/remote/sha1.ro)o(ot)o Fj(.)92 3138 y Fg(\017)41 b
7122 Fk(NOTEST)32 b(CHECK)27 b Fj([)p Fk(LOG)32 b(=)p Fj(])c
7123 Ff(logfile)40 b(command)175 3271 y Fj(Execute)21 b Ff(command)c
7124 Fj(on)k(the)f(clien)n(t,)i(using)e(the)h Fk(SSH)f Fj(command)g(shell.)
7125 35 b(The)20 b(phrase)175 3371 y(`)p Fk(LOG)27 b(=)p Fj(')c(is)g
7126 (optional.)35 b(The)23 b(command)g(ma)n(y)f(or)g(ma)n(y)h(not)g
7127 (succeed.)35 b(Otherwise,)175 3470 y(the)40 b(program)d(acts)h(iden)n
7128 (tically)h(as)f(the)i Fk(CHECK)k(...)70 b Fj(command,)41
7129 b(discussed)175 3570 y(previously)-7 b(.)36 b(Example)27
7130 b(\(using)h(the)g(same)f Ff(${SHA1SUM})p Fj(\)de\034nition:)349
7131 3869 y Ff(NOTEST)41 b(CHECK)h(LOG)g(=)h(remote/sha1.root)37
7132 b(/usr/bin/find)h(/)43 b(${SHA1SUM})175 4168 y Fj(The)30
7133 b(SHA1)h(c)n(hec)n(ksums)e(of)h(all)g(suid/gid/executable)e(\034les)i
7134 (on)g(the)h(same)e(device)175 4267 y(as)39 b(the)i(ro)r(ot-directory)c
7135 (\(/\))j(on)g(the)g(clien)n(t)g(computer)g(are)f(determined.)74
7136 b(The)175 4367 y(resulting)22 b(listing)g(is)g(written)g(on)g(the)h
7137 (\034le)f Fk(BASE)p Ff(/remote/sha1.root)o Fj(.)29 b
7138 Fk(stealth)175 4467 y Fj(will)f(not)f(terminate)h(if)g(the)g
7139 Ff(/usr/bin/find)22 b Fj(program)j(returns)i(a)g(non-zero)f(exit)175
7140 4566 y(v)-5 b(alue.)-32 4869 y Fd(3.3.4)112 b(Prev)m(en)m(ting)32
7141 b(Con)m(troller)g(Denial)g(of)i(Service)f(\(\025max-size\))-32
7142 5094 y Fj(Either)c(b)n(y)h(malicious)e(in)n(ten)n(t)i(or)f(b)n(y)g
7143 (accenden)n(t)g(\(as)g(happ)r(ened)h(to)f(me\))h(the)g(con)n(troller)
7144 -32 5193 y(ma)n(y)i(b)r(e)i(a)f(victim)h(of)f(a)g(Denial)h(of)f
7145 (Service)g(\(DOS\))h(attac)n(k.)53 b(This)34 b(DOS)f(attac)n(k)g(ma)n
7146 (y)-32 5293 y(happ)r(en)h(when)f(the)i(clien)n(t)e(\(apparen)n(tly\))g
7147 (sends)h(a)f(nev)n(er)g(ending)h(stream)f(of)g(b)n(ytes)h(in)-32
7148 5392 y(resp)r(onse)21 b(to)h(a)g Ff(GET)f Fj(or)h Ff(REMOTE)e
7149 Fj(command.)35 b(One)22 b(of)g(m)n(y)g(con)n(trollers)e(once)i(fell)h
7150 (victim)g(to)1358 5662 y(20)p eop end
7151 %%Page: 21 22
7152 TeXDict begin 21 21 bop -32 531 a Fj(this)30 b(attac)n(k)e(when)i(a)g
7153 (clien)n(t's)f(p)r(o)n(w)n(er)g(w)n(en)n(t)h(do)n(wn)f(and)g(the)i(con)
7154 n(troller)c(k)n(ept)j(on)g(trying)-32 631 y(to)d(read)g(b)n(ytes)g
7155 (from)g(that)h(clien)n(t)g(\034lling)f(up)h(the)g(con)n(trollers)d
7156 (disk....)-32 801 y(This)c(problem)h(w)n(as)f(of)g(course)g(caused)g(b)
7157 n(y)h(a)f(programming)f(error:)32 b(while)22 b(reading)f(infor-)-32
7158 901 y(mation)29 b(from)h(a)g(clien)n(t)g Fk(stealth)f
7159 Fj(failed)i(to)f(c)n(hec)n(k)f(whether)h(the)g(reading)f(had)h
7160 (actually)-32 1001 y(succeeded.)41 b(This)30 b(bug)f(has)g(no)n(w)g(b)r
7161 (een)g(\034xed,)h(but)g(an)f(in)n(ten)n(tional)g(DOS)h(attac)n(k)e
7162 (could)-32 1100 y(still)37 b(b)r(e)g(staged)f(along)g(this)h(line)h(b)n
7163 (y)e(a)h(hac)n(k)n(er)e(who)i(manages)e(to)i(replace,)i(e.g.,)g(the)-32
7164 1200 y Fk(\034nd)p Fj(\(1\))30 b(command)f(b)n(y)h(a)f(manipulated)h(v)
7165 n(ersion)e(whic)n(h)i(w)n(ould)f(con)n(tin)n(ue)h(to)f(write)h(in-)-32
7166 1300 y(formation)g(to)g(its)h(standard)f(output)i(stream.)46
7167 b(Without)31 b(further)g(precaution)f Fk(stealth)-32
7168 1399 y Fj(w)n(ould)23 b(receiv)n(e)g(a)h(nev)n(er)f(ending)h(stream)f
7169 (of)h(b)n(ytes)g(as)g(its)g(`rep)r(ort')f(th)n(us)i(causing)e(its)h
7170 (disk)-32 1499 y(to)j(\034ll.)-32 1669 y(T)-7 b(o)33
7171 b(prev)n(en)n(t)h(this)g(from)g(happ)r(ening)h Fk(stealth)f
7172 Fj(no)n(w)g(o\033ers)f(the)i Ff(\025max-size)30 b Fj(command)-32
7173 1769 y(line)e(option)f(allo)n(wing)g(the)h(sp)r(eci\034cation)g(of)g
7174 (the)g(maxim)n(um)g(size)g(of)g(a)f(stream)g(of)h(b)n(ytes)-32
7175 1869 y(receiv)n(ed)g(b)n(y)j Fk(stealth)f Fj(\(e.g.,)g(a)g(rep)r(ort)f
7176 (or)g(do)n(wnloaded)g(\034le\).)44 b(The)30 b(maxim)n(um)g(is)g(used)
7177 -32 1968 y(for)h(eac)n(h)g(individual)h(do)n(wnload)e(and)i(can)g(b)r
7178 (e)g(sp)r(eci\034ed)g(in)g(b)n(ytes)g(\(using)f(no)h(su\036x)g(or)-32
7179 2068 y(the)38 b Ff(B)g Fj(su\036x\),)j(kilo-b)n(ytes)36
7180 b(\(using)j Ff(K)p Fj(\),)g(mega-b)n(ytes)d(\(using)j
7181 Ff(M)p Fj(\))f(or)f(giga-b)n(ytes)f(\(using)-32 2167
7182 y Ff(G)p Fj(\).)31 b(The)h(default)f(is)h(set)f(at)g(10M,)g(equiv)-5
7183 b(alen)n(t)31 b(to)h(the)f(command)g(line)h(sp)r(eci\034cation)f(of)-32
7184 2267 y Ff(\025max-size)39 b(10M)p Fj(.)-32 2438 y(If)23
7185 b(a)f(\034le)g(or)g(rep)r(ort)g(receiv)n(ed)f(from)h(the)h(clien)n(t)f
7186 (exceeds)g(its)h(maxim)n(um)f(allo)n(w)n(ed)f(size)h(then)-32
7187 2537 y Fk(stealth)j Fj(terminates)g(after)g(writing)g(the)h(follo)n
7188 (wing)e(message)g(to)i(the)f(rep)r(ort)g(\034le)h(\(whic)n(h)-32
7189 2637 y(is)h(sen)n(t)g(to)h(the)g(con\034gured)e(mail)i(address\):)142
7190 2972 y Ff(STEALTH)40 b(-)k(CAN'T)d(CONTINUE:)f(`<name)h(of)i(offending)
7191 c(file>')i(EXCEEDS)g(MAX.)2059 3071 y(DOWNLOAD)f(SIZE)i(\(<size)f
7192 (shown>\))142 3171 y(STEALTH)f(-)k(THIS)e(COULD)f(SIGNAL)g(A)i(SERIOUS)
7193 e(PROBLEM)f(WITH)i(THE)h(CLIENT)142 3271 y(STEALTH)d(-)k(ONE)e(OR)h
7194 (MORE)f(LOG)g(FILES)f(MAY)i(BE)f(INVALID)f(AS)i(A)g(RESULT)142
7195 3370 y(STEALTH)d(-)k(***)e(INVESTIGATE)d(***)-32 3705
7196 y Fj(Since)23 b(a)g Ff(\025max-size)d Fj(sp)r(eci\034cation)i(ma)n(y)h
7197 (cause)f Fk(stealth)h Fj(to)h(terminate)f(while)g(receiving)-32
7198 3805 y(the)g(output)h(of)f(a)f(\(remotely)h(run\))g(command,)g(an)g
7199 (empt)n(y)g(or)f(partial)g(log)h(\034le)g(will)g(b)r(e)h(the)-32
7200 3904 y(result.)35 b(Of)26 b(course)e(this)i(partial)e(result)h(is)h
7201 (spurious)e(as)h(it)h(is)f(a)g(direct)g(result)g(of)32
7202 b Fk(stealth)-32 4004 y Fj(terminating)27 b(due)g(to)h(a)f(size)g
7203 (violation.)-32 4174 y(After)42 b(in)n(v)n(estigating)e(\(and)i(remo)n
7204 (ving\))e(the)j(reasons)d(for)h(the)h(size)g(violation)e(a)i(new)-32
7205 4274 y Fk(stealth)30 b Fj(run)g(using)g(the)g(previous)g(log)f(\034le)i
7206 (as)e(the)i(latest)f(baseline)g(should)g(sho)n(w)f(only)-32
7207 4374 y(exp)r(ected)e(c)n(hanges.)-32 4544 y(F)-7 b(or)22
7208 b(example,)h(assume)f(the)i(follo)n(wing)d(situation)i(represen)n(ts)e
7209 (a)i(\(v)-5 b(alid\))23 b(state)g(of)g(log\034les:)142
7210 4879 y Ff(etc)1001 b(stealth)142 4979 y(setuid)869 b(stealth.2008031)o
7211 (6-1)o(05)o(756)-32 5313 y Fj(No)n(w)21 b Fk(stealth)f
7212 Fj(is)g(run)g(with)h Ff(\025max-size)39 b(20)p Fj(,)22
7213 b(prematurely)d(terminating)i Fk(stealth)p Fj(.)34 b(This)-32
7214 5413 y(results)27 b(in)g(the)h(follo)n(wing)f(set)g(of)h(log\034les:)
7215 1358 5662 y(21)p eop end
7216 %%Page: 22 23
7217 TeXDict begin 22 22 bop 142 631 a Ff(etc)1001 b(stealth)142
7218 731 y(setuid)869 b(stealth.2008031)o(6-1)o(05)o(756)1275
7219 830 y(stealth.2008031)o(6-1)o(10)o(215)-32 1167 y Fj(The)18
7220 b(\034le)g Ff(stealth)e Fj(no)n(w)i(con)n(tains)f(incomplete)h(data)g
7221 (with)h(the)g(\(latest\))g(\034le)f Ff(stealth.20080316)o(-1)o(102)o
7222 (15)-32 1266 y Fj(con)n(taining)26 b(its)i(previous)e(con)n(ten)n(ts.)
7223 -32 1437 y(No)n(w)k(the)i(reasons)d(for)i(the)h(size-violation)d
7224 (should)i(b)r(e)h(in)n(v)n(estigated)e(and)h(remo)n(v)n(ed.)47
7225 b(It)-32 1537 y(is)26 b(suggested)f(to)i(mo)n(v)n(e)e(the)i(\034le)f
7226 (last)g(sa)n(v)n(ed)f(\()p Ff(stealth.20080316-)o(110)o(21)o(5)p
7227 Fj(\))c(to)26 b(the)h(\034le)-32 1636 y Ff(stealth)p
7228 Fj(,)33 b(as)g(it)i(represen)n(ts)d(the)j(state)f(b)r(efore)g(the)h
7229 (size)e(violation)h(w)n(as)f(encoun)n(tered.)-32 1736
7230 y(F)-7 b(ollo)n(wing)26 b(this)i Fk(stealth)f Fj(should)g(op)r(erate)g
7231 (normally)f(again.)1358 5662 y(22)p eop end
7232 %%Page: 23 24
7233 TeXDict begin 23 23 bop -32 1225 a Fi(Chapter)60 b(4)-32
7234 1711 y Fl(Gran)-6 b(ting)72 b(access)-32 2213 y Fj(A)n(ccess)26
7235 b(is)i(gran)n(ted)e(via)h(the)h Ff(ssh)e Fj(proto)r(col.)-32
7236 2384 y(The)32 b(clien)n(t)h(m)n(ust)f(allo)n(w)f(the)i(con)n(troller)e
7237 (to)h(connect)g(using)h Ff(ssh)p Fj(.)50 b(Since)33 b(normally)e(no)-32
7238 2484 y(username)j(and)h(passw)n(ord)e(can)i(b)r(e)h(giv)n(en,)g(the)g
7239 (clien)n(t)f(m)n(ust)h(allo)n(w)e(the)i(con)n(troller)d(to)-32
7240 2583 y(connect)27 b(without)h(sp)r(ecifying)f(a)h(passw)n(ord.)-32
7241 2754 y(This)f(is)g(realized)f(using)h Fe(public)j(key)36
7242 b Fj(tec)n(hnology)-7 b(,)26 b(assuming)h Ff(open-SSH)d
7243 Fj(is)j(a)n(v)-5 b(ailable)26 b(on)-32 2853 y(b)r(oth)i(computers,)e
7244 (with)j(the)e(clien)n(t)h(running)f(an)h Ff(sshd)e Fj(daemon.)-32
7245 3155 y Fd(4.0.5)112 b(The)38 b(con)m(troller's)d(user:)50
7246 b(creating)37 b(an)h(ssh-k)m(ey)-32 3379 y Fj(The)21
7247 b(user)f(on)g(the)i(con)n(troller)d(who)h(will)h(call)g
7248 Fk(stealth)g Fj(to)f(scan)h(the)g(clien)n(t,)h(no)n(w)f(generates)-32
7249 3478 y(an)27 b Ff(ssh-keypair)p Fj(:)142 3805 y Ff(ssh-keygen)39
7250 b(-t)k(rsh)-32 4133 y Fj(This)c(will)g(generate)f(a)h(public/priv)-5
7251 b(ate)38 b(ssh)h(k)n(ey)g(pair)f(in)h Ff(.ssh)f Fj(in)h(the)h(user's)e
7252 (home)-32 4232 y(directory)-7 b(.)40 b(The)29 b(program)e(asks)h(for)h
7253 (a)g Fe(p)l(assphr)l(ase)37 b Fj(whic)n(h)29 b(should,)g(for)g(the)g
7254 (purp)r(ose)g(of)-32 4332 y Fk(stealth)e Fj(b)r(e)h Fk(empt)m(y)q
7255 Fj(:)36 b(just)28 b(pressing)g Ff(Enter)d Fj(as)i(a)h(resp)r(onse)e(to)
7256 h(the)h(question)142 4659 y Ff(Enter)41 b(passphrase)f(\(empty)h(for)h
7257 (no)h(passphrase\):)-32 4986 y Fj(will)24 b(do)g(the)h(tric)n(k)f(\(a)g
7258 (con\034rmation)g(is)g(requested:)35 b(press)23 b Ff(Enter)g
7259 Fj(again\).)35 b(The)24 b(program)-32 5086 y(returns)i(a)i(k)n(ey)e
7260 (\034ngerprin)n(t,)h(e.g.,)142 5413 y Ff(03:96:49:63:8a:6)o(4:)o(33)o
7261 (:45)o(:7)o(9:)o(ab:)o(ca)o(:d)o(e:c)o(8:)o(c8)o(:4f)o(:e)o(9)38
7262 b(user@controller)1358 5662 y Fj(23)p eop end
7263 %%Page: 24 25
7264 TeXDict begin 24 24 bop -32 766 a Fj(whic)n(h)27 b(ma)n(y)g(b)r(e)h(sa)
7265 n(v)n(ed)e(and)h(used)h(for)f(future)h(reference.)-32
7266 936 y(In)d(the)g(directory)f(user's)g Ff(.ssh)g Fj(directory)g(the)h
7267 (\034les)g Ff(id_rsa)e Fj(and)i Ff(id_rsa.pub)20 b Fj(are)25
7268 b(no)n(w)-32 1036 y(created.)-32 1207 y(This)i(completes)g(the)h
7269 (actions)f(on)g(the)h(con)n(troller.)-32 1509 y Fd(4.0.6)112
7270 b(The)51 b(clien)m(t's)e(accoun)m(t:)76 b(accepting)50
7271 b(ssh)i(from)e(the)g(con-)310 1625 y(troller's)35 b(user)-32
7272 1850 y Fj(Next,)e(the)f(accoun)n(t)f(on)h(the)g(clien)n(t)g(where)g
7273 (the)g Ff(ssh)f Fj(command)g(connects)h(to)f(\(using)h(a)-32
7274 1949 y(sp)r(eci\034cation)27 b(in)h(the)f(p)r(olicy)h(\034le)g(lik)n(e)
7275 142 2283 y Ff(USE)42 b(SSH)g(/usr/bin/ssh)d(-q)k(account@client)-32
7276 2618 y Fj(m)n(ust)e(no)n(w)g(gran)n(t)g(access)f(to)i(the)g(con)n
7277 (troller's)d(user.)79 b(In)42 b(order)e(to)i(do)f(so,)k(the)d(\034le)
7278 -32 2717 y Ff(id_rsa.pub)24 b Fj(of)k(the)h(user)f(at)h(the)g(con)n
7279 (troller)d(is)j(added)f(to)h(the)f(\034le)h Ff(authorized_keys)-32
7280 2817 y Fj(in)e(the)h Ff(.ssh)e Fj(directory)h(of)g(the)h(accoun)n(t)f
7281 (on)g(the)h(clien)n(t:)142 3151 y Ff(#)43 b(transfer)d
7282 (user@controller')o(s)e(file)j(id_rsa.pub)f(to)j(the)f(client's)e(/tmp)
7283 142 3251 y(#)j(directory.)c(Then)j(do:)142 3450 y(cat)g
7284 (/tmp/id_rsa.pub)37 b(>>)43 b(/home/account/.s)o(sh)o(/au)o(th)o(ori)o
7285 (ze)o(d_)o(key)o(s)-32 3784 y Fj(No)n(w)22 b(user@con)n(troller)e(ma)n
7286 (y)i(login)g(at)h(acoun)n(t@clien)n(t)f(without)h(sp)r(ecifying)g(a)g
7287 (passw)n(ord.)-32 4087 y Fd(4.0.7)112 b(Logging)37 b(in)m(to)f(the)i
7288 (accoun)m(t@clien)m(t)d(accoun)m(t)-32 4311 y Fj(When)28
7289 b(user@con)n(troller)c(no)n(w)j(issues)g(the)h(command)142
7290 4645 y Ff(ssh)42 b(account@controll)o(er)-32 4979 y(Ssh)26
7291 b Fj(resp)r(onds)h(as)g(follo)n(ws:)142 5313 y Ff(The)42
7292 b(authenticity)d(of)j(host)g('controller)d(\(xxx.yyy.aaa.bbb)o(\)')e
7293 (can't)42 b(be)142 5413 y(established.)1358 5662 y Fj(24)p
7294 eop end
7295 %%Page: 25 26
7296 TeXDict begin 25 25 bop 142 531 a Ff(RSA)42 b(key)g(fingerprint)d(is)k
7297 (c4:52:d6:a3:d4:6)o(5:)o(0d:)o(5e)o(:2e)o(:6)o(6:)o(d8:)o(ab)o(:d)o
7298 (e:a)o(d:)o(12)o(:be)o(.)142 631 y(Are)f(you)g(sure)g(you)h(want)f(to)g
7299 (continue)e(connecting)g(\(yes/no\)?)-32 957 y Fj(Answ)n(ering)27
7300 b Ff(yes)g Fj(results)g(in)g(the)h(message:)142 1282
7301 y Ff(Warning:)40 b(Permanently)f(added)i('controller,xxx.y)o(yy)o(.aa)o
7302 (a.)o(bb)o(b')c(\(RSA\))42 b(to)g(the)142 1382 y(list)g(of)g(known)g
7303 (hosts.)-32 1707 y Fj(The)30 b(next)g(time)h(a)f(login)g(is)g
7304 (attempted,)i(the)e(authen)n(ticit)n(y)g(question)g(isn't)h(ask)n(ed)e
7305 (an)n(y-)-32 1807 y(ore.)41 b(Ho)n(w)n(ev)n(er,)28 b(the)i(prop)r(er)e
7306 (v)-5 b(alue)30 b(of)f(the)h(host's)f(RSA)h(k)n(ey)f(\034ngerprin)n(t)f
7307 (\(i.e.,)j(the)f(k)n(ey)-32 1907 y(\034ngerprin)n(t)25
7308 b(of)i(the)g Fe(client)35 b Fj(computer\))26 b(should)h
7309 Fe(always)35 b Fj(b)r(e)27 b(v)n(eri\034ed)f(to)g(prev)n(en)n(t)g
7310 Fe(man)j(in)-32 2006 y(the)j(midd)t(le)38 b Fj(attac)n(ks.)44
7311 b(The)31 b(prop)r(er)e(v)-5 b(alue)30 b(ma)n(y)g(b)r(e)g(obtained)g(at)
7312 g(the)h(clien)n(t)f(computer)-32 2106 y(b)n(y)d(issuing)g(the)h
7313 (command)142 2432 y Ff(ssh-keygen)39 b(-l)k(-f)g(/etc/ssh/ssh_ho)o(st)o
7314 (_rs)o(a_)o(ke)o(y.p)o(ub)-32 2757 y Fj(This)24 b(should)f(result)h(in)
7315 h(the)f(same)f(v)-5 b(alue)24 b(as)g(the)g(\034ngerprin)n(t)f(sho)n(wn)
7316 h(when)g(the)g(\034rst)g Ff(ssh)-32 2857 y Fj(connection)j(w)n(as)f
7317 (made.)37 b(E.g.,)142 3182 y Ff(1024)42 b(c4:52:d6:a3:d4:)o(65:)o(0d)o
7318 (:5)o(e:2)o(e:)o(66)o(:d8)o(:a)o(b:)o(de:)o(ad)o(:12)o(:b)o(e)37
7319 b(ssh_host_rsa_key.)o(pu)o(b)-32 3583 y Fd(4.0.8)112
7320 b(Using)37 b(the)g(prop)s(er)h(shell)-32 3807 y Fj(On)32
7321 b(order)g(to)h(minimize)h(the)f(amoun)n(t)g(of)g(clutter)g(and)g(p)r
7322 (ossible)g(complications)f(when)-32 3907 y(only)20 b(a)h(simple)h
7323 (command-shell)e(is)h(required)g(for)f(executing)h(commands,)h(it)g(is)
7324 f(suggested)-32 4006 y(to)27 b(use)g(a)h Ff(bash)e Fj(or)g
7325 Ff(sh)h Fj(shell)h(when)f(logging)f(in)n(to)i(the)f Ff(account@client)p
7326 Fj('s)22 b(accoun)n(t.)-32 4177 y(When)j(another)g(shell)g(is)g
7327 (already)f(used)i(for)e Ff(account@client)p Fj(,)c(then)26
7328 b(an)f(extra)g(accoun)n(t)-32 4276 y(\(optionally)k(using)g(the)h(same)
7329 f Ff(UID)g Fj(as)g(the)h(original)e(accoun)n(t,)i(but)g(using)h
7330 Fk(sh)p Fj(\(1\))e(as)h(the)-32 4376 y(shell\),)d(could)h(b)r(e)g
7331 (used.)-32 4546 y(In)f(the)h Fk(passwd)p Fj(\(5\))g(\034le)f(this)h
7332 (could)g(b)r(e)g(realized)e(for)h Fe(r)l(o)l(ot)36 b
7333 Fj(as)27 b Fe(r)l(o)l(otsh)34 b Fj(as)27 b(follo)n(ws:)142
7334 4972 y Ff(rootsh:x:0:0:roo)o(t:)o(/r)o(oot)o(:/)o(bi)o(n/s)o(h)-32
7335 5297 y Fj(If)h(shado)n(w)f(passw)n(ording)f(is)i(used,)g(an)g
7336 (appropriate)e(en)n(try)h(in)i(the)f Ff(/etc/shadow)c
7337 Fj(\034le)k(is)-32 5397 y(required)e(as)h(w)n(ell.)1358
7338 5662 y(25)p eop end
7339 %%Page: 26 27
7340 TeXDict begin 26 26 bop -32 1225 a Fi(Chapter)60 b(5)-32
7341 1711 y Fl(Running)72 b(`stealth')-32 2213 y Fj(No)n(w)26
7342 b(that)h Fk(stealth)g Fj(has)f(b)r(een)i(compiled,)f(the)g
7343 (construction)f(of)h(a)f(p)r(olicy)h(\034le)g(has)g(b)r(een)-32
7344 2313 y(co)n(v)n(ered,)36 b(and)f(a)h(service-accoun)n(t)d(on)i(the)h
7345 (clien)n(t)g(has)g(b)r(een)g(de\034ned,)i(what)e(m)n(ust)g(b)r(e)-32
7346 2413 y(done)27 b(to)g(run)h Fk(stealth)f Fj(in)h(practice?)-32
7347 2583 y(Here's)f(what)g(remains)g(to)g(b)r(e)h(done:)92
7348 2820 y Fg(\017)41 b Fj(Install)28 b Fk(stealth)f Fj(at)g(a)g(prop)r(er)
7349 g(lo)r(cation)92 2986 y Fg(\017)41 b Fj(Construct)27
7350 b(one)g(or)g(more)g(p)r(olicy)g(\034les)92 3152 y Fg(\017)41
7351 b Fj(Learn)27 b(to)g(in)n(terpret)g Fk(stealth)p Fj('s)g(output.)92
7352 3318 y Fg(\017)41 b Fj(Optionally)-7 b(,)27 b(automate)g(the)h(remo)n
7353 (v)-5 b(al)26 b(of)i(old)f(log-\034les.)92 3484 y Fg(\017)41
7354 b Fj(Determine)20 b(a)f(sc)n(hedule)h(for)f(running)g(stealth)h
7355 (automatically)-7 b(,)20 b(e.g.)34 b(using)20 b Fk(cron)p
7356 Fj(\(1\))-32 3721 y(In)27 b(this)h(c)n(hapter,)f(these)g(topics)h(will)
7357 f(b)r(e)h(discussed.)-32 4067 y Fh(5.1)130 b(Installing)45
7358 b(`stealth')-32 4319 y Fj(As)39 b Fk(stealth)g Fj(is)g(mainly)g(a)f
7359 (system)h(administrator's)f(to)r(ol,)k(it)d(could)g(b)r(e)h(installed)f
7360 (in)-32 4419 y Ff(/usr/local/sbin)o Fj(.)31 b(In)d(that)f(case,)g(do)g
7361 (\(as)g Fe(r)l(o)l(ot)8 b Fj(\))28 b(from)f(the)g(directory)f(where)h
7362 Fk(stealth)-32 4518 y Fj(w)n(as)f(compiled/unpac)n(k)n(ed:)142
7363 4855 y Ff(install)40 b(stealth)h(/usr/local/sbin)-32
7364 5192 y Fj(options)27 b(giv)n(en)f(to)i Fk(install)p Fj(\(1\))e(ma)n(y)h
7365 (restrict)g(further)g(use)h(of)34 b Fk(stealth)p Fj(.)1358
7366 5662 y(26)p eop end
7367 %%Page: 27 28
7368 TeXDict begin 27 27 bop -32 531 a Fh(5.2)130 b(Construct)45
7369 b(one)e(or)h(more)f(p)t(olicy)i(\034les)-32 784 y Fj(Here)25
7370 b(w)n(e)g(assume)g(that)h Fk(stealth)g Fj(is)g(run)f(b)n(y)h
7371 Fe(r)l(o)l(ot)p Fj(,)g(and)f(that)h(ro)r(ot)f(w)n(an)n(ts)g(to)h(store)
7372 f(infor-)-32 884 y(mation)f(ab)r(out)h(the)g(host)g Ff(client)d
7373 Fj(under)j(the)g(sub)r(directory)g Ff(/root/stealth/cl)o(ien)o(t)p
7374 Fj(.)-32 1054 y(Stealth)h(rep)r(orts)f(should)h(b)r(e)g(sen)n(t)g(to)g
7375 (the)h(user)e Ff(admin@elsewhere)p Fj(,)20 b(who)26 b(is)g(only)g(in)n
7376 (ter-)-32 1154 y(ested)33 b(in)h(a)f(short)f(notice)i(of)f(c)n(hanges,)
7377 g(as)g(the)h(full)g(rep)r(ort)f(can)g(alw)n(a)n(ys)e(b)r(e)j(read)f
7378 (else-)-32 1253 y(where.)48 b(So,)32 b(a)f(supp)r(ort-script)g(is)g
7379 (dev)n(elop)r(ed)g(to)h(further)f(\034lter)g(the)h(rep)r(ort)f
7380 (generated)-32 1353 y(b)n(y)d Fk(stealth)p Fj(.)-32 1524
7381 y(As)39 b(the)g Ff(sha1sum)d Fj(program)h(on)i(the)g(clien)n(t)g(ma)n
7382 (y)f(b)r(e)i(hac)n(k)n(ed,)g(it)g(is)f(a)f(go)r(o)r(d)g(idea)h(to)-32
7383 1623 y(transfer)30 b(the)i(clien)n(t's)f Ff(sha1sum)e
7384 Fj(program)g(to)i(the)h(con)n(troller)e(\034rst,)i(in)g(order)e(to)h(c)
7385 n(hec)n(k)-32 1723 y(that)26 b(program)e(lo)r(cally)-7
7386 b(,)27 b(b)r(efore)f(trusting)g(it)g(to)h(compute)f(the)h(sha1sums)e
7387 (of)h(the)h(clien)n(t's)-32 1822 y(\034les.)51 b(The)32
7388 b(same)g(holds)g(true)g(for)g(an)n(y)f(libraries)g(and)h(supp)r(ort)g
7389 (programs)e(\(lik)n(e)i Ff(find)p Fj(\))-32 1922 y(that)27
7390 b(are)g(used)h(in)n(tensiv)n(ely)e(during)h(in)n(tegrit)n(y)g(scans)-32
7391 2093 y(Sha1sum)19 b(c)n(hec)n(ks)f(should)h(b)r(e)i(p)r(erformed)e(on)g
7392 (all)g(setuid)h(and)g(setgid)f(\034les)h(on)f(the)h Ff(client)p
7393 Fj(,)-32 2192 y(and)30 b(in)h(order)e(to)h(b)r(e)h(able)f(reac)n(h)f
7394 (all)h(\034les)h(on)f Ff(client)p Fj(,)f Ff(root@controller)24
7395 b Fj(is)30 b(allo)n(w)n(ed)-32 2292 y(to)d(login)g(to)g(the)h
7396 Ff(root@client)23 b Fj(accoun)n(t)k(using)g(a)g(passw)n(ord-less)e
7397 Ff(ssh)h Fj(connection.)-32 2462 y(F)-7 b(urthermore,)39
7398 b(sha1sum)e(c)n(hec)n(ks)g(should)h(b)r(e)g(p)r(erformed)g(on)g(all)g
7399 (con\034guration)e(\034les,)-32 2562 y(living)31 b(under)i
7400 Ff(/etc)d Fj(and)i(on)g(the)h(\034le)f Ff(/usr/bin/find)27
7401 b Fj(whic)n(h)32 b(is)g(used)h(in)n(tensiv)n(ely)e(to)-32
7402 2662 y(p)r(erform)c(the)h(c)n(hec)n(ks.)-32 2832 y(The)f(required)g
7403 Ff(policy)e Fj(\034le)j(is)f(constructed)g(as)g(follo)n(ws,)g(p)r(er)g
7404 (section:)-32 3135 y Fd(5.2.1)112 b(the)37 b(DEFINE)f(directiv)m(es)142
7405 3459 y Ff(DEFINE)84 b(SSHCMD)h(/usr/bin/ssh)39 b(root@client)f(-T)43
7406 b(-q)g(exec)f(/bin/bash)e(--noprofile)142 3559 y(DEFINE)84
7407 b(EXECSHA1)41 b(-xdev)g(-perm)h(+u+s,g+s)e(\\\()i(-user)g(root)g(-or)g
7408 (-group)f(root)h(\\\))h(\\)839 3658 y(-type)f(f)h(-exec)e
7409 (/usr/bin/sha1sum)c({})43 b(\\;)-32 4011 y Fj(The)34
7410 b(\034rst)h Ff(DEFINE)d Fj(de\034nes)j(the)g Ff(ssh)e
7411 Fj(command)h(to)h(use:)51 b(an)34 b(ssh-connection)g(will)h(b)r(e)-32
7412 4111 y(made)27 b(to)g(the)h(ro)r(ot)f(accoun)n(t)g(at)g(the)h(clien)n
7413 (t.)-32 4281 y(The)i(second)f Ff(DEFINE)f Fj(sho)n(ws)h(the)i(argumen)n
7414 (ts)e(for)g Fk(\034nd)p Fj(\(1\))i(when)f(lo)r(oking)f(for)h(all)g(ro)r
7415 (ot)-32 4381 y(setuid)23 b(or)g(setgid)g(normal)g(\034les.)35
7416 b(F)-7 b(or)23 b(all)g(these)h(\034les)f(the)h Fk(sha1sum)p
7417 Fj(\(1\))e(program)f(should)-32 4481 y(b)r(e)28 b(run.)-32
7418 4784 y Fd(5.2.2)112 b(the)37 b(USE)h(directiv)m(es)142
7419 5108 y Ff(USE)k(BASE)347 b(/root/stealth/cl)o(ie)o(nt)142
7420 5207 y(USE)42 b(EMAIL)303 b(admin@elswhere)142 5307 y(USE)42
7421 b(MAILER)259 b(/root/bin/stealt)o(hm)o(ail)142 5407 y(USE)42
7422 b(MAILARGS)171 b("Client)41 b(STEALTH)f(report")1358
7423 5662 y Fj(27)p eop end
7424 %%Page: 28 29
7425 TeXDict begin 28 28 bop 142 531 a Ff(USE)42 b(SSH)391
7426 b(${SSHCMD})92 884 y Fg(\017)41 b Fj(All)28 b(output)g(will)g(b)r(e)g
7427 (written)g(under)f(the)h Ff(/root/stealth/cl)o(ie)o(nt)21
7428 b Fj(directory)-7 b(.)92 1051 y Fg(\017)41 b Fj(Mail)27
7429 b(will)h(b)r(e)g(sen)n(t)g(to)f(the)h(user)f Ff(admin@elsewhere)p
7430 Fj(.)92 1217 y Fg(\017)41 b Fj(The)28 b(mail)f(program)f(will)h(b)r(e)h
7431 (a)g(script)f(\()p Ff(stealthmail)p Fj(\),)c(living)28
7432 b(in)g Ff(/root/bin)p Fj(.)92 1383 y Fg(\017)41 b Fj(The)27
7433 b(script)f(handles)g(its)g(o)n(wn)g(argumen)n(t.)35 b(As)27
7434 b(it)g(can)f(b)r(e)g(used)h(for)f(other)f(stealth-)175
7435 1482 y(scans)32 b(as)h(w)n(ell,)h(it)f(is)g(giv)n(en)f(an)h(argumen)n
7436 (t)f(whic)n(h)h(can)g(b)r(e)g(used)g(as)f(the)i(sub)5
7437 b(ject)175 1582 y(when)28 b(sending)f(mail,)h(iden)n(tifying)f(the)h
7438 (computer)f(that)h(has)f(b)r(een)h(scanned.)92 1748 y
7439 Fg(\017)41 b Fj(The)28 b(ssh-command)e(is)i(de\034ned)f(b)n(y)h(the)g
7440 Ff(SSH-DEFINE)p Fj(.)92 1914 y Fg(\017)41 b Fj(the)33
7441 b(default)g(v)-5 b(alues)31 b(of)i(all)f(remaining)g
7442 Ff(USE)f Fj(directiv)n(es)h(can)g(b)r(e)g(used,)i(and)e(w)n(ere)175
7443 2014 y(therefore)27 b(not)g(sp)r(eci\034ed.)37 b(They)28
7444 b(are:)349 2312 y Ff(USE)43 b(DD)435 b(/bin/dd)349 2412
7445 y(USE)43 b(DIFF)347 b(/usr/bin/diff)349 2512 y(USE)43
7446 b(PIDFILE)215 b(/var/run/stealt)o(h-)349 2611 y(USE)43
7447 b(REPORT)259 b(report)349 2711 y(USE)43 b(SH)435 b(/bin/sh)-32
7448 3114 y Fd(5.2.3)112 b(the)37 b(commands)-32 3338 y Fj(First,)g(w)n
7449 (e'll)d(cop)n(y)h(the)g(clien)n(t's)g(sha1sum)f(program)f(to)i(the)h
7450 (con)n(troller.)57 b(In)36 b(practice,)-32 3438 y(this)c(should)g(also)
7451 f(include)h(the)g(shared)f(ob)5 b(ject)32 b(libraries)f(that)h(are)f
7452 (used)h(b)n(y)g(sha1sum,)-32 3537 y(as)26 b(they)i(migh)n(t)g(ha)n(v)n
7453 (e)e(b)r(ecome)i(corrupted)e(as)h(w)n(ell.)-32 3824 y
7454 Fk(Obtain)k(the)h(clien)m(t's)f(sha1sum)e(program)-32
7455 4048 y Fj(First,)e(the)h Ff(sha1sum)d Fj(program)g(is)j(copied)f(to)g
7456 (a)g(lo)r(cal)g(directory)142 4384 y Ff(GET)42 b(/usr/bin/sha1sum)37
7457 b(/root/tmp)-32 4721 y Fj(This)27 b(command)g(m)n(ust)h(succeed.)-32
7458 5008 y Fk(Chec)m(k)k(the)g(in)m(tegrit)m(y)g(of)g(the)f(clien)m(t's)g
7459 (sha1sum)f(program)-32 5232 y Fj(Next,)e(w)n(e'll)f(c)n(hec)n(k)g(the)g
7460 (receiv)n(ed)g Ff(sha1sum)e Fj(program,)g(using)i(our)g(o)n(wn:)1358
7461 5662 y(28)p eop end
7462 %%Page: 29 30
7463 TeXDict begin 29 29 bop 142 631 a Ff(LABEL)41 b(\\nCheck)g(the)h
7464 (client's)e(sha1sum)h(program)142 731 y(LOCAL)g(CHECK)h(LOG)g(=)h
7465 (local/sha1)d(/usr/bin/sha1su)o(m)d(/root/tmp/sha1sum)-32
7466 1067 y Fj(The)22 b Ff(LABEL)e Fj(command)i(will)h(write)f(the)h(lab)r
7467 (el)f(to)g(the)h(rep)r(ort)e(\034le)i(just)g(b)r(efore)f(the)g(output)
7468 -32 1167 y(of)27 b(the)h(sha1sum)f(program)e(is)j(generated.)-32
7469 1337 y(The)33 b Ff(LOCAL)e Fj(command)i(will)h(c)n(hec)n(k)e(the)i
7470 (sha1sum)e(of)i(the)f(program)f(copied)h(from)g(the)-32
7471 1437 y(clien)n(t.)50 b(The)32 b(rep)r(ort)g(is)g(written)g(on)g(the)h
7472 (\034le)f Ff(/root/stealth/cl)o(ie)o(nt)o(/lo)o(ca)o(l/)o(sha)o(1)p
7473 Fj(.)-32 1537 y(If)23 b(this)h(fails,)g(the)g(program)d(will)j(not)f
7474 (con)n(tin)n(ue,)h(but)g(will)g(alert)f Ff(admin@elsewhere)17
7475 b Fj(that)-32 1636 y(the)38 b(c)n(hec)n(k)f(failed.)67
7476 b(This)38 b(is)f(of)h(course)f(rather)f(serious,)j(as)e(it)i(indicates)
7477 e(that)h(either)-32 1736 y(the)29 b(con)n(troller's)d
7478 Ff(sha1sum)g Fj(is)j(b)r(eha)n(ving)e(unexp)r(ectedly)i(or)f(that)h
7479 (the)g(clien)n(t's)g Ff(sha1sum)-32 1835 y Fj(program)c(has)i(c)n
7480 (hanged.)-32 2006 y(The)41 b Ff(sha1sum)d Fj(program)h
7481 Fe(may)50 b Fj(ha)n(v)n(e)40 b(c)n(hanged)g(due)h(to)g(a)g(normal)f
7482 (upgrade.)77 b(If)42 b(so,)-32 2105 y Ff(admin@elsewhere)22
7483 b Fj(will)29 b(kno)n(w)f(this,)h(and)g(can)f(\(probably\))g(ignore)g
7484 (the)h(w)n(arning.)39 b(The)-32 2205 y(next)26 b(time)h
7485 Fk(stealth)f Fj(is)h(run,)f(the)h(\(no)n(w)f(up)r(dated\))h(SHA1)g(v)-5
7486 b(alue)26 b(is)g(used,)h(and)f(it)h(should)-32 2305 y(again)f(matc)n(h)
7487 h(the)h(obtained)f Ff(SHA1)f Fj(v)-5 b(alue)28 b(from)f(the)h(copied)f
7488 Ff(sha1sum)e Fj(program.)-32 2591 y Fk(Chec)m(k)32 b(the)g(clien)m(t's)
7489 f(/usr/bin/\034nd)f(command)-32 2815 y Fj(The)40 b(clien)n(t)g(will)g
7490 (use)f(it's)i Ff(find)d Fj(command)h(in)n(tensiv)n(ely:)61
7491 b Ff(find)39 b Fj(is)h(a)f(great)g(to)r(ol)g(for)-32
7492 2915 y(pro)r(ducing)d(\034les)g(ha)n(ving)g(almost)g(an)n(y)g(conceiv)
7493 -5 b(able)37 b(com)n(bination)e(of)i(c)n(haracteristics.)-32
7494 3015 y(Of)30 b(course,)g(the)h(clien)n(t's)g Ff(find)e
7495 Fj(command)h(itself)h(m)n(ust)g(b)r(e)g(ok,)g(as)f(w)n(ell)g(as)g(the)h
7496 (clien)n(t's)-32 3114 y Ff(sha1sum)24 b Fj(program.)35
7497 b(No)n(w)27 b(that)h(w)n(e)f(kno)n(w)g(that)h(the)f(clien)n(t's)h
7498 Ff(sha1sum)d Fj(program)g(is)i(ok,)-32 3214 y(w)n(e)g(can)g(use)g(it)h
7499 (to)g(c)n(hec)n(k)e(the)i(clien)n(t's)g Ff(/usr/bin/find)22
7500 b Fj(program.)-32 3384 y(Note)27 b(that)g(the)g(con)n(troller)e(itself)
7501 j(will)f(not)g(su\033er)g(an)n(y)f(pro)r(cessing)g(load)g(here:)36
7502 b(only)27 b(the)-32 3484 y(clien)n(t)g(itself)h(is)g(taxed)f(for)g(c)n
7503 (hec)n(king)f(the)i(in)n(tergrit)n(y)e(of)i(its)g(o)n(wn)f(\034les:)142
7504 3821 y Ff(LABEL)41 b(\\nchecking)f(the)i(client's)e(/usr/bin/find)e
7505 (program)142 3920 y(CHECK)j(LOG)i(=)g(remote/binfind)37
7506 b(/usr/bin/sha1sum)g(/usr/bin/find)-32 4307 y Fk(Chec)m(k)32
7507 b(the)g(clien)m(t's)f(setuid/setgid)e(\034les)-32 4531
7508 y Fj(Ha)n(ving)24 b(c)n(hec)n(k)n(ed)g(the)i(clien)n(t's)g
7509 Ff(sha1sum)c Fj(and)k Ff(find)d Fj(programs,)h(sha1)h(c)n(hec)n(ksum)f
7510 (c)n(hec)n(ks)-32 4630 y(should)35 b(b)r(e)h(p)r(erformed)f(on)g(all)g
7511 (setuid)h(and)g(setgid)f(\034les)g(on)h(the)g(clien)n(t.)61
7512 b(F)-7 b(or)34 b(this)i(w)n(e)-32 4730 y(activ)-5 b(ate)24
7513 b(the)i Ff(sha1sum)c Fj(program)h(on)h(the)i(clien)n(t.)36
7514 b(In)25 b(order)e(to)i(c)n(hec)n(k)f(the)i(setuid/setgid)-32
7515 4830 y(\034les,)h(the)h(follo)n(wing)e(command)i(is)f(added)g(to)h(the)
7516 g(p)r(olicy)f(\034le:)142 5166 y Ff(LABEL)41 b(\\nsuid/sgid/execu)o(ta)
7517 o(bl)o(e)d(files)j(uid)h(or)h(gid)f(root)g(on)h(the)f(/)h(partition)142
7518 5266 y(CHECK)e(LOG)i(=)g(remote/setuidgi)o(d)38 b(/usr/bin/find)g(/)43
7519 b(${EXECSHA1})1358 5662 y Fj(29)p eop end
7520 %%Page: 30 31
7521 TeXDict begin 30 30 bop -32 531 a Fk(Chec)m(k)32 b(the)g
7522 (con\034guration)g(\034les)f(in)g(the)h(clien)m(t's)e(/etc/)i
7523 (directory)-32 755 y Fj(Finally)-7 b(,)33 b(the)f(clien)n(t's)g
7524 (con\034guration)e(\034les)i(are)e(c)n(hec)n(k)n(ed.)49
7525 b(Some)32 b(of)f(these)h(\034les)g(c)n(hange)-32 855
7526 y(so)k(frequen)n(tly)g(that)i(w)n(e)e(don't)h(w)n(an)n(t)f(them)i(to)f
7527 (b)r(e)g(c)n(hec)n(k)n(ed.)64 b(E.g.,)39 b Ff(/etc/adjtime,)-32
7528 955 y(/etc/mtab)p Fj(.)33 b(T)-7 b(o)27 b(c)n(hec)n(k)g(the)g
7529 (con\034guration)f(\034le,)i(do:)142 1272 y Ff(LABEL)41
7530 b(\\nconfiguration)d(files)j(under)g(/etc)142 1372 y(CHECK)g(LOG)i(=)g
7531 (remote/etcfiles)1083 b(\\)403 1472 y(/usr/bin/find)38
7532 b(/etc)k(-type)g(f)h(-not)f(-perm)f(+6111)129 b(\\)490
7533 1571 y(-not)42 b(-regex)f("/etc/\\\(adjtime\\|)o(mt)o(ab)o(\\\)")342
7534 b(\\)490 1671 y(-exec)42 b(/usr/bin/sha1sum)37 b({})42
7535 b(\\;)-32 2070 y Fd(5.2.4)112 b(The)38 b(complete)d(`p)s(olicy')i
7536 (\034le)-32 2294 y Fj(Here)27 b(is)g(the)h(complete)g(p)r(olicy)f
7537 (\034le)h(that)g(w)n(e'v)n(e)e(constructed)h(so)g(far:)142
7538 2524 y Ff(DEFINE)84 b(SSHCMD)h(/usr/bin/ssh)39 b(root@client)f(-T)43
7539 b(-q)g(exec)f(/bin/bash)e(--noprofile)142 2623 y(DEFINE)84
7540 b(EXECSHA1)41 b(-xdev)g(-perm)h(+u+s,g+s)e(\\\()i(-user)g(root)g(-or)g
7541 (-group)f(root)h(\\\))h(\\)839 2723 y(-type)f(f)h(-exec)e
7542 (/usr/bin/sha1sum)c({})43 b(\\;)142 2922 y(USE)f(BASE)347
7543 b(/root/stealth/cl)o(ie)o(nt)142 3022 y(USE)42 b(EMAIL)303
7544 b(admin@elswhere)142 3122 y(USE)42 b(MAILER)259 b(/root/bin/stealt)o
7545 (hm)o(ail)142 3221 y(USE)42 b(MAILARGS)171 b("Client)41
7546 b(STEALTH)f(report")142 3321 y(USE)i(SSH)391 b(${SSHCMD})142
7547 3520 y(USE)42 b(DD)435 b(/bin/dd)142 3620 y(USE)42 b(DIFF)347
7548 b(/usr/bin/diff)142 3719 y(USE)42 b(PIDFILE)215 b(/var/run/stealth)o(-)
7549 142 3819 y(USE)42 b(REPORT)259 b(report)142 3919 y(USE)42
7550 b(SH)435 b(/bin/sh)142 4118 y(GET)42 b(/usr/bin/sha1sum)37
7551 b(/root/tmp)142 4317 y(LABEL)k(\\nCheck)g(the)h(client's)e(sha1sum)h
7552 (program)142 4417 y(LOCAL)g(CHECK)h(LOG)g(=)h(local/sha1)d
7553 (/usr/bin/sha1su)o(m)d(/root/tmp/sha1sum)142 4616 y(LABEL)k
7554 (\\nchecking)f(the)i(client's)e(/usr/bin/find)e(program)142
7555 4716 y(CHECK)j(LOG)i(=)g(remote/binfind)37 b(/usr/bin/sha1sum)g
7556 (/usr/bin/find)142 4915 y(LABEL)k(\\nsuid/sgid/execu)o(ta)o(bl)o(e)d
7557 (files)j(uid)h(or)h(gid)f(root)g(on)h(the)f(/)h(partition)142
7558 5015 y(CHECK)e(LOG)i(=)g(remote/setuidgi)o(d)38 b(/usr/bin/find)g(/)43
7559 b(${EXECSHA1})142 5214 y(LABEL)e(\\nconfiguration)d(files)j(under)g
7560 (/etc)142 5313 y(CHECK)g(LOG)i(=)g(remote/etcfiles)1083
7561 b(\\)403 5413 y(/usr/bin/find)38 b(/etc)k(-type)g(f)h(-not)f(-perm)f
7562 (+6111)129 b(\\)1358 5662 y Fj(30)p eop end
7563 %%Page: 31 32
7564 TeXDict begin 31 31 bop 490 531 a Ff(-not)42 b(-regex)f
7565 ("/etc/\\\(adjtime\\|)o(mt)o(ab)o(\\\)")342 b(\\)490
7566 631 y(-exec)42 b(/usr/bin/sha1sum)37 b({})42 b(\\;)-32
7567 1374 y Fh(5.3)130 b(Running)44 b(`stealth')f(for)h(the)g(\034rst)g
7568 (time)-32 1626 y Fj(When)18 b Fk(stealth)g Fj(is)h(no)n(w)e(run,)j(it)f
7569 (will)g(create)e(its)i(initial)f(rep)r(ort)g(\034les)g(under)g
7570 Ff(root/stealth/cli)o(ent)o Fj(.)-32 1797 y(The)27 b(\034rst)g(time)i
7571 Fk(stealth)e Fj(is)g(run,)h(it)g(is)f(usually)g(run)h(`b)n(y)f(hand':)
7572 142 2144 y Ff(stealth)40 b(policy)-32 2491 y Fj(this)23
7573 b(will)g(sho)n(w)e(all)i(executed)g(commands)f(on)g(the)h(standard)f
7574 (output,)i(and)f(will)g(initialize)-32 2591 y(the)39
7575 b(rep)r(orts.)70 b(Running)40 b Fk(stealth)f Fj(this)h(w)n(a)n(y)d(for)
7576 i(the)g(just)h(constructed)e Ff(policy)f Fj(\034le)-32
7577 2690 y(results)27 b(in)g(the)h(follo)n(wing)f(output)h(\(lines)g(w)n
7578 (ere)e(wrapp)r(ed)h(to)h(impro)n(v)n(e)e(readabilit)n(y\):)142
7579 3022 y Ff(GET)42 b(/usr/bin/sha1sum)37 b(/root/tmp)142
7580 3122 y(LABEL)k(\\nCheck)g(the)h(client's)e(sha1sum)h(program)142
7581 3221 y(LOCAL)g(CHECK)h(LOG)g(=)h(local/sha1)d(/usr/bin/sha1su)o(m)d
7582 (/root/tmp/sha1sum)142 3321 y(LABEL)k(\\nchecking)f(the)i(client's)e
7583 (/usr/bin/find)e(program)142 3421 y(CHECK)j(LOG)i(=)g(remote/binfind)37
7584 b(/usr/bin/sha1sum)g(/usr/bin/find)142 3520 y(LABEL)k
7585 (\\nsuid/sgid/execu)o(ta)o(bl)o(e)d(files)j(uid)h(or)h(gid)f(root)g(on)
7586 h(the)f(/)h(partition)142 3620 y(CHECK)e(LOG)i(=)g(remote/setuidgi)o(d)
7587 38 b(/usr/bin/find)g(/)43 b(-xdev)e(-perm)h(+u+s,g+s)490
7588 3719 y(\\\()h(-user)f(root)g(-or)g(-group)f(root)h(\\\))g(-type)g(f)490
7589 3819 y(-exec)g(/usr/bin/sha1sum)37 b({})42 b(\\;)142
7590 3919 y(LABEL)f(\\nconfiguration)d(files)j(under)g(/etc)142
7591 4018 y(CHECK)g(LOG)i(=)g(remote/etcfiles)1083 b(/usr/bin/find)38
7592 b(/etc)490 4118 y(-type)k(f)h(-not)f(-perm)f(+6111)129
7593 b(-not)42 b(-regex)f("/etc/\\\(adjtime\\)o(|m)o(ta)o(b\\\))o(")490
7594 4218 y(-exec)h(/usr/bin/sha1sum)37 b({})42 b(\\;)142
7595 4317 y(LOCAL)f(/usr/bin/scp)e(-q)k(root@client:/us)o(r/)o(bi)o(n/s)o
7596 (ha)o(1su)o(m)37 b(/root/tmp)142 4417 y(LABEL)k(\\nCheck)g(the)h
7597 (client's)e(sha1sum)h(program)142 4516 y(LOCAL)g(CHECK)h(LOG)g(=)h
7598 (local/sha1)d(/usr/bin/sha1su)o(m)d(/root/tmp/sha1sum)142
7599 4616 y(LABEL)k(\\nchecking)f(the)i(client's)e(/usr/bin/find)e(program)
7600 142 4716 y(CHECK)j(LOG)i(=)g(remote/binfind)37 b(/usr/bin/sha1sum)g
7601 (/usr/bin/find)142 4815 y(LABEL)k(\\nsuid/sgid/execu)o(ta)o(bl)o(e)d
7602 (files)j(uid)h(or)h(gid)f(root)g(on)h(the)f(/)h(partition)142
7603 4915 y(CHECK)e(LOG)i(=)g(remote/setuidgi)o(d)38 b(/usr/bin/find)g(/)43
7604 b(-xdev)e(-perm)h(+u+s,g+s)490 5015 y(\\\()h(-user)f(root)g(-or)g
7605 (-group)f(root)h(\\\))g(-type)g(f)490 5114 y(-exec)g(/usr/bin/sha1sum)
7606 37 b({})42 b(\\;)142 5214 y(LABEL)f(\\nconfiguration)d(files)j(under)g
7607 (/etc)142 5313 y(CHECK)g(LOG)i(=)g(remote/etcfiles)1039
7608 b(/usr/bin/find)38 b(/etc)490 5413 y(-type)k(f)h(-not)f(-perm)f(+6111)
7609 129 b(-not)42 b(-regex)f("/etc/\\\(adjtime\\)o(|m)o(ta)o(b\\\))o(")1358
7610 5662 y Fj(31)p eop end
7611 %%Page: 32 33
7612 TeXDict begin 32 32 bop 490 531 a Ff(-exec)42 b(/usr/bin/sha1sum)37
7613 b({})42 b(\\;)-32 862 y Fj(This)27 b(all)g(pro)r(duces)g(the)h(follo)n
7614 (wing)f(output:)-32 1164 y Fd(5.3.1)112 b(The)38 b(mailed)d(rep)s(ort)
7615 -32 1388 y Fj(The)27 b Ff(/root/bin/stealt)o(hma)o(il)21
7616 b Fj(is)27 b(called)h(with)g(the)g(follo)n(wing)e(argumen)n(ts:)142
7617 1718 y Ff("Client)40 b(STEALTH)h(report")g(admin@elswhere)-32
7618 2049 y Fj(The)32 b(con)n(ten)n(ts)h(of)f(the)h(mailed)g(rep)r(ort)f(no)
7619 n(w)g(is)h(\(the)h(date)e(will)h(of)g(course)f(c)n(hange,)h(the)-32
7620 2149 y(next)27 b(time)h Fk(stealth)g Fj(is)f(run\):)142
7621 2479 y Ff(STEALTH)40 b(\(1.21\))i(started)e(at)j(Mon)f(Nov)g(24)h
7622 (10:50:30)d(2003)142 2678 y(Check)h(the)i(client's)d(sha1sum)g(program)
7623 142 2778 y(Initialized)f(report)i(on)i(local/sha1)142
7624 2977 y(checking)d(the)i(client's)f(/usr/bin/find)d(program)142
7625 3077 y(Initialized)h(report)i(on)i(remote/binfind)142
7626 3276 y(suid/sgid/execut)o(ab)o(le)37 b(files)k(uid)i(or)f(gid)h(root)f
7627 (on)g(the)h(/)g(partition)142 3376 y(Initialized)c(report)i(on)i
7628 (remote/setuidgi)o(d)142 3575 y(configuration)38 b(files)j(under)h
7629 (/etc)142 3675 y(Initialized)d(report)i(on)i(remote/etcfiles)-32
7630 4076 y Fd(5.3.2)112 b(Files)36 b(under)i(/ro)s(ot/stealth/clien)m(t)-32
7631 4300 y Fj(Under)27 b Ff(/root/stealth/cl)o(ie)o(nt)21
7632 b Fj(the)28 b(follo)n(wing)f(en)n(tries)g(are)f(no)n(w)h(a)n(v)-5
7633 b(ailable:)92 4531 y Fg(\017)41 b Ff(local)p Fj(:)32
7634 b(b)r(elo)n(w)21 b(this)h(directory)e(the)i(rep)r(orts)e(of)i(the)g(lo)
7635 r(cally)f(p)r(erformed)g(c)n(hec)n(ks)f(are)175 4631
7636 y(found.)46 b(Using)30 b(our)g(demo)g Ff(policy)e Fj(\034le,)j(only)f
7637 (one)g(log\034le)g(is)g(found)g(here:)42 b Ff(sha1)p
7638 Fj(,)175 4731 y(con)n(taining)21 b(the)i(clien)n(t's)f(SHA1)g(c)n(hec)n
7639 (ksum)f(of)h(its)h Ff(/usr/bin/sha1su)o(m)16 b Fj(program:)349
7640 5022 y Ff(45251e259bfaf1951)o(65)o(8a7)o(b6)o(6c)o(328)o(c5)o(2)81
7641 b(/root/tmp/sha1su)o(m)92 5313 y Fg(\017)41 b Ff(remote)p
7642 Fj(:)32 b(at)22 b(this)h(directory)e(the)i(rep)r(orts)e(of)h(the)h
7643 (remotely)f(p)r(erformed)g(c)n(hec)n(ks)f(are)175 5413
7644 y(found.)37 b(Using)28 b(our)e(demo)i Ff(policy)d Fj(\034le,)j(three)f
7645 (\034les)g(w)n(ere)g(created:)1358 5662 y(32)p eop end
7646 %%Page: 33 34
7647 TeXDict begin 33 33 bop 175 531 a Fj(The)27 b(\034le)g
7648 Ff(binfind)p Fj(,)e(con)n(taining)h(the)h(c)n(hec)n(ksum)f(of)h(the)g
7649 (clien)n(t's)g Ff(/usr/bin/find)175 631 y Fj(program:)349
7650 930 y Ff(fc62fc774999584f1)o(e2)o(9e0)o(f9)o(42)o(79a)o(65)o(2)81
7651 b(/usr/bin/find)175 1229 y Fj(The)29 b(\034le)g Ff(etcfiles)p
7652 Fj(,)c(con)n(taining)j(the)h(c)n(hec)n(ksums)e(of)i(the)g(clien)n(t's)g
7653 (con\034guration)175 1328 y(\034les)f(under)f Ff(/etc)f
7654 Fj(\(sho)n(wn)h(only)g(partially\):)349 1627 y Ff(ced739ecb2c43a200)o
7655 (53)o(a9f)o(0e)o(b3)o(08b)o(2b)o(0)81 b(/etc/modutils/al)o(ia)o(ses)349
7656 1727 y(a2322d7e2f95317b2)o(dd)o(f35)o(43)o(eb)o(4c7)o(4c)o(0)g
7657 (/etc/modutils/pa)o(th)o(s)349 1826 y(f9e3eac60200d41dd)o(55)o(69e)o
7658 (ea)o(bb)o(4ed)o(df)o(f)g(/etc/modutils/ar)o(ch)o(/i3)o(86)349
7659 1926 y(f07da2ebf00c6ed66)o(49)o(bae)o(55)o(01)o(b84)o(c4)o(f)g
7660 (/etc/modutils/ar)o(ch)o(/m6)o(8k)o(.a)o(mig)o(a)349
7661 2026 y(2893201cc7f755616)o(0f)o(a9c)o(d1)o(fb)o(5ba)o(56)o(a)g
7662 (/etc/modutils/ar)o(ch)o(/m6)o(8k)o(.a)o(tar)o(i)524
7663 2125 y(...)349 2225 y(bf73b4e76066381cd)o(3c)o(af8)o(03)o(69)o(ce1)o
7664 (d0)o(e)g(/etc/deluser.con)o(f)349 2325 y(4cd70d9aee333307a)o(09)o(caa)
7665 o(4e)o(f0)o(035)o(01)o(d)g(/etc/adduser.con)o(f.)o(dpk)o(g-)o(sa)o(ve)
7666 349 2424 y(8c749353c5027d006)o(53)o(595)o(62)o(d4)o(383)o(b8)o(d)g
7667 (/etc/gimp/1.2/gt)o(kr)o(c_u)o(se)o(r)349 2524 y(3ec404ec597ef5460)o
7668 (60)o(0cc)o(cf)o(01)o(92f)o(4d)o(6)g(/etc/gimp/1.2/un)o(it)o(rc)349
7669 2623 y(8c740345b89117922)o(8e)o(3d1)o(06)o(62)o(911)o(67)o(b)g
7670 (/etc/gimp/1.2/gt)o(kr)o(c)175 2922 y Fj(The)24 b(\034le)h
7671 Ff(setuidgid)p Fj(,)c(con)n(taining)i(the)i(c)n(hec)n(ksums)e(of)h(the)
7672 g(clien)n(t's)h(setuid/setgid)175 3022 y(ro)r(ot)i(\034les)g(\(sho)n
7673 (wn)g(only)h(partially\):)349 3321 y Ff(030f3f84ec76a8181)o(cc)o(a08)o
7674 (7c)o(4b)o(a65)o(5e)o(a)81 b(/bin/login)349 3421 y(b6c0209547d88928f)o
7675 (39)o(1d2)o(bf)o(88)o(af3)o(4a)o(a)g(/bin/ping)349 3520
7676 y(5d324ad212b2ff8f7)o(67)o(637)o(ac)o(1a)o(807)o(1e)o(c)g(/bin/su)349
7677 3620 y(344dbedc398d51149)o(66)o(914)o(41)o(9e)o(f53)o(fc)o(c)g
7678 (/usr/bin/wall)349 3719 y(27b045bd7306001f9)o(ea)o(31b)o(c1)o(87)o(12d)
7679 o(8b)o(7)g(/usr/bin/rxvt-xp)o(m)349 3819 y(...)349 3919
7680 y(3567b18ffc39c2dc6)o(ec)o(0c0)o(d0)o(fc)o(483)o(f4)o(f)g
7681 (/usr/lib/ssh-key)o(si)o(gn)349 4018 y(3383a7955ac240631)o(1e)o(9aa)o
7682 (51)o(c6)o(ac9)o(c2)o(c)g(/usr/X11R6/bin/X)349 4118 y
7683 (3c99ea0425c6e0278)o(03)o(9e1)o(64)o(78)o(d2f)o(b5)o(7)g
7684 (/usr/X11R6/bin/x)o(te)o(rm)349 4218 y(d590f7f5b4d6ae616)o(80)o(692)o
7685 (a5)o(22)o(35d)o(34)o(2)g(/usr/local/bin/s)o(et)o(uid)o(ca)o(ll)349
7686 4317 y(4c17203d7d91ec494)o(6d)o(ea2)o(f0)o(ae)o(365)o(d5)o(b)g
7687 (/sbin/unix_chkpw)o(d)175 4616 y Fj(Of)27 b(course,)g(the)g(c)n(hec)n
7688 (ksums)g(and)g(the)h(\034lenames)e(sho)n(wn)h(are)f(only)h(for)g(do)r
7689 (cumen-)175 4716 y(tation)38 b(purp)r(oses.)66 b(A)n(t)39
7690 b(other)e(systems)g(this)h(will)g(sho)n(w)f(di\033eren)n(t)h(\034les)g
7691 (and/or)175 4815 y(c)n(hec)n(ksums,)27 b(no)g(doubt.)92
7692 4981 y Fg(\017)41 b Fj(The)19 b(\034le)f Ff(/root/client/repo)o(rt)12
7693 b Fk(New)21 b(lines)e(are)j(alw)m(a)m(ys)h(app)s(ended)e(to)g(the)175
7694 5081 y Ff(/root/client/rep)o(or)o(t)g Fk(\034le.)39 b(It)27
7695 b(will)e(nev)m(er)i(shorten,)g(unless)e(shorten)h(b)m(y)175
7696 5181 y(the)32 b(systems)d(administrator)i(at)h(`con)m(troller')p
7697 Fj(.)175 5313 y(This)c(\034le)f(con)n(tains)g(the)h(follo)n(wing:)1358
7698 5662 y(33)p eop end
7699 %%Page: 34 35
7700 TeXDict begin 34 34 bop 349 631 a Ff(STEALTH)41 b(\(1.21\))g(started)g
7701 (at)h(Mon)h(Nov)f(24)h(10:50:30)d(2003)349 830 y(Check)i(the)g
7702 (client's)e(sha1sum)h(program)349 930 y(Initialized)e(report)i(on)i
7703 (local/sha1)349 1129 y(checking)e(the)h(client's)e(/usr/bin/find)e
7704 (program)349 1229 y(Initialized)h(report)i(on)i(remote/binfind)349
7705 1428 y(suid/sgid/executa)o(bl)o(e)38 b(files)j(uid)h(or)h(gid)f(root)g
7706 (on)h(the)f(/)h(partition)349 1528 y(Initialized)c(report)i(on)i
7707 (remote/setuidgid)349 1727 y(configuration)38 b(files)k(under)f(/etc)
7708 349 1826 y(Initialized)e(report)i(on)i(remote/etcfiles)-32
7709 2163 y Fj(This)27 b(completes)g(the)h(information)f(created)g(b)n(y)h
7710 Fk(stealth)f Fj(during)h(its)f(\034rst)h(run.)-32 2508
7711 y Fh(5.4)130 b(Running)44 b(`stealth')f(again:)58 b(all)44
7712 b(\034les)g(unaltered)-32 2761 y Fj(When)18 b Fk(stealth)g
7713 Fj(is)h(run)f(again,)h(it)g(will)f(up)r(date)h(its)g(rep)r(ort)e
7714 (\034les)h(under)g Ff(root/stealth/clie)o(nt)o Fj(.)-32
7715 2861 y(If)32 b(nothing)g(has)f(c)n(hanged,)h(the)g(log-\034les)f(will)h
7716 (remain)f(unaltered.)49 b(The)32 b(new)g(run)g(will,)-32
7717 2960 y(ho)n(w)n(ev)n(er,)25 b(pro)r(duce)i(some)g(new)h(info)f(on)h
7718 (the)g(\034le)f Ff(/root/client/repo)o(rt)o Fj(:)142
7719 3297 y Ff(STEALTH)40 b(\(1.21\))i(started)e(at)j(Mon)f(Nov)g(24)h
7720 (10:50:30)d(2003)142 3496 y(Check)h(the)i(client's)d(sha1sum)g(program)
7721 142 3596 y(Initialized)f(report)i(on)i(local/sha1)142
7722 3795 y(checking)d(the)i(client's)f(/usr/bin/find)d(program)142
7723 3895 y(Initialized)h(report)i(on)i(remote/binfind)142
7724 4094 y(suid/sgid/execut)o(ab)o(le)37 b(files)k(uid)i(or)f(gid)h(root)f
7725 (on)g(the)h(/)g(partition)142 4194 y(Initialized)c(report)i(on)i
7726 (remote/setuidgi)o(d)142 4393 y(configuration)38 b(files)j(under)h
7727 (/etc)142 4492 y(Initialized)d(report)i(on)i(remote/etcfiles)142
7728 4791 y(STEALTH)d(\(1.21\))i(started)e(at)j(Mon)f(Nov)g(24)h(10:54:35)d
7729 (2003)-32 5128 y Fj(Note)32 b(that)g(just)h(one)f(extra)f(line)i(w)n
7730 (as)e(added:)46 b(a)32 b(timestamp)h(sho)n(wing)e(the)h(date/time)-32
7731 5227 y(of)e(the)i(last)e(run.)47 b(The)31 b(systems)f(administrator)f
7732 (ma)n(y)h(reduce/remo)n(v)n(e)e(the)k(rep)r(ort)e(\034le)-32
7733 5327 y(ev)n(ery)c(once)h(in)h(a)f(while)h(to)f(reclaim)g(some)g(disk)g
7734 (space.)1358 5662 y(34)p eop end
7735 %%Page: 35 36
7736 TeXDict begin 35 35 bop -32 531 a Fh(5.5)130 b(Running)55
7737 b(`stealth')e(again:)79 b(mo)t(di\034cations)54 b(ha)l(v)l(e)267
7738 681 y(o)t(ccurred)-32 933 y Fj(Basically)-7 b(,)37 b(three)g(kinds)g
7739 (of)g(mo)r(di\034cations)f(are)g(p)r(ossible:)55 b(additions,)38
7740 b(mo)r(di\034cations,)-32 1033 y(and)c(remo)n(v)-5 b(als.)55
7741 b(Here)34 b(w)n(e'll)g(sho)n(w)g(the)g(e\033ect)h(all)f(these)g(c)n
7742 (hanges)f(ha)n(v)n(e)g(on)h Fk(stealth)p Fj('s)-32 1133
7743 y(output.)-32 1303 y(F)-7 b(or)27 b(the)g(example,)h(the)g(follo)n
7744 (wing)e(c)n(hanges)g(w)n(ere)h(made)g(to)g(the)h Ff(client)p
7745 Fj('s)d(\034les:)92 1540 y Fg(\017)41 b Ff(/etc/motd)24
7746 b Fj(w)n(as)j(c)n(hanged)92 1706 y Fg(\017)41 b Fj(the)28
7747 b(\034le)g Ff(timezone~)c Fj(w)n(as)i(remo)n(v)n(ed)92
7748 1872 y Fg(\017)41 b Fj(the)28 b(\034le)g Ff(/etc/motd.org)22
7749 b Fj(w)n(as)27 b(created)-32 2109 y(Next,)h Fk(stealth)f
7750 Fj(w)n(as)f(once)h(again)g(run,)g(pro)r(ducing)g(the)h(follo)n(wing)e
7751 (output:)92 2346 y Fg(\017)41 b Fj(The)28 b(follo)n(wing)e(new)i(info)g
7752 (is)f(no)n(w)g(added)g(to)h(\034le)f Ff(/root/client/repo)o(rt)o
7753 Fj(:)349 2645 y Ff(STEALTH)41 b(\(1.21\))g(started)g(at)h(Mon)h(Nov)f
7754 (24)h(10:54:35)d(2003)349 2844 y(configuration)e(files)k(under)f(/etc)
7755 349 2944 y(ADDED:)g(/etc/motd.org)524 3043 y(<)i(945d0b8208e9861b)o(8f)
7756 o(9f)o(2de)o(15)o(5e)o(619)o(f9)80 b(/etc/motd.org)349
7757 3143 y(MODIFIED:)40 b(/etc/motd)524 3243 y(<)j(7f96195d5f051375)o(fe)o
7758 (7b)o(523)o(d2)o(9e)o(379)o(c1)80 b(/etc/motd)524 3342
7759 y(>)43 b(945d0b8208e9861b)o(8f)o(9f)o(2de)o(15)o(5e)o(619)o(f9)80
7760 b(/etc/motd)349 3442 y(REMOVED:)41 b(/etc/timezone~)524
7761 3542 y(>)i(6322bc8cb3ec53f5)o(ee)o(a3)o(320)o(1b)o(43)o(4b7)o(4b)80
7762 b(/etc/timezone~)175 3840 y Fj(Note)18 b(that)h(all)f(c)n(hanges)f(w)n
7763 (ere)g(prop)r(erly)h(detected)g(and)h(logged)e(in)h(the)h(\034le)f
7764 Ff(/root/client/repo)o(rt)o Fj(.)92 4006 y Fg(\017)41
7765 b Fj(F)-7 b(urthermore,)27 b(a)g(matc)n(hing)g(rep)r(ort)g(w)n(as)f
7766 (sen)n(t)h(b)n(y)h Fe(mail)9 b Fj(:)175 4305 y Ff(STEALTH)41
7767 b(\(0.90\))g(started)f(at)j(Mon)f(Oct)h(28)f(11:28:43)f(2002)175
7768 4604 y(configuration)d(files)k(under)f(/etc)175 4704
7769 y(ADDED:)g(/etc/motd.org)349 4803 y(<)j(945d0b8208e9861)o(b8)o(f9f)o
7770 (2d)o(e1)o(55e)o(61)o(9f)o(9)81 b(/etc/motd.org)175 4903
7771 y(MODIFIED:)40 b(/etc/motd)349 5003 y(<)k(7f96195d5f05137)o(5f)o(e7b)o
7772 (52)o(3d)o(29e)o(37)o(9c)o(1)81 b(/etc/motd)349 5102
7773 y(>)44 b(945d0b8208e9861)o(b8)o(f9f)o(2d)o(e1)o(55e)o(61)o(9f)o(9)81
7774 b(/etc/motd)175 5202 y(REMOVED:)40 b(/etc/timezone~)349
7775 5302 y(>)k(6322bc8cb3ec53f)o(5e)o(ea3)o(32)o(01)o(b43)o(4b)o(74)o(b)81
7776 b(/etc/timezone~)1358 5662 y Fj(35)p eop end
7777 %%Page: 36 37
7778 TeXDict begin 36 36 bop 175 531 a Fj(Note)18 b(that)h(the)g(rep)r(ort)e
7779 Fe(only)27 b Fj(sho)n(ws)17 b(the)i(info)f(that)h(w)n(as)e(added)h(to)g
7780 (the)h Fe(/r)l(o)l(ot/client/r)l(ep)l(ort)175 631 y Fj(\034le.)175
7781 764 y(The)34 b(rep)r(ort)f(itself)h(could)f(b)r(e)h(b)r(eauti\034ed)g
7782 (further.)55 b(I)34 b(m)n(yself)g(use)f(the)h(follo)n(wing)175
7783 863 y(script)27 b(to)h(mail)f(the)h(rep)r(ort)f(to)g(the)h(addressee:)
7784 349 1162 y Ff(#!/bin/bash)349 1362 y(NAME=`basename)38
7785 b($0`)349 1561 y(tee)43 b(/root/stealth/l)o(ast)o(re)o(po)o(rt/)o($N)o
7786 (AM)o(E)38 b(|)43 b(egrep)e(-v)i('^\([[:space:]]|[)o([:)o(sp)o(ace)o
7787 (:])o(]*)o($\)')37 b(|)524 1660 y(sort)42 b(|)h(uniq)f(|)h(mail)f(-s)g
7788 ($1)h($2)175 1959 y Fj(F)-7 b(or)25 b(the)g Ff(client)e
7789 Fj(computer,)j(this)f(little)h(script)f(will)h(write)f(the)h(mailed)f
7790 (rep)r(ort)f(on)175 2059 y(a)30 b(\034le)h Ff(/root/stealth/l)o(as)o
7791 (tre)o(po)o(rt/)o(cl)o(ie)o(nt)p Fj(,)25 b(o)n(v)n(erwriting)j(its)i
7792 (previous)g(con-)175 2159 y(ten)n(ts,)39 b(will)e(remo)n(v)n(e)e(all)h
7793 (lines)h(b)r(eginning)f(with)h(blanks)f(\(th)n(us)h(trimming)g(a)n(w)n
7794 (a)n(y)175 2258 y(the)29 b Ff(diff)p Fj(-generated)d(lines\),)k(and)f
7795 (will)g(mail)g(the)g Ff(sort)p Fj(ed)e(and)i Ff(uniq)p
7796 Fj(ed)e(lines)i(us-)175 2358 y(ing)39 b Ff(mail)p Fj(.)66
7797 b(The)37 b(addressee)g(\()p Ff(admin@elsewhere)o Fj(\))c(will)k(receiv)
7798 n(e)g(the)h(follo)n(wing)175 2457 y(information:)349
7799 2756 y Ff(ADDED:)j(/etc/motd.org)349 2856 y(MODIFIED:)f(/etc/motd)349
7800 2956 y(REMOVED:)h(/etc/timezone~)349 3055 y(STEALTH)g(\(0.90\))g
7801 (started)g(at)h(Mon)h(Oct)f(28)h(11:28:43)d(2002)349
7802 3155 y(configuration)e(files)k(under)f(/etc)175 3454
7803 y Fj(In)36 b(practice)f(this)i(su\036ces)e(to)h(ha)n(v)n(e)f(me)h(tak)n
7804 (e)f(action)h(if)g(something)g(out)g(of)g(the)175 3553
7805 y(ordinary)26 b(has)h(happ)r(ened.)92 3719 y Fg(\017)41
7806 b Fj(Finally)-7 b(,)28 b(the)g(\034le)349 4018 y Ff(/root/stealth/cli)o
7807 (en)o(t/r)o(em)o(ot)o(e/e)o(tc)o(fi)o(les)175 4317 y
7808 Fj(w)n(as)f(recreated,)f(sa)n(ving)g(the)i(old)f(\034le)h(as)349
7809 4616 y Ff(/root/stealth/cli)o(en)o(t/r)o(em)o(ot)o(e/e)o(tc)o(fi)o(les)
7810 o(.2)o(00)o(210)o(28)o(-11)o(28)o(51)175 4915 y Fj(As)c(remark)n(ed)f
7811 (earlier)g(\(see)h(section)f(3.3\),)i(man)n(y)g Ff(logfile.YYMMDD-)o
7812 (HH)o(MMS)o(S)18 b Fj(\034les)175 5015 y(could)40 b(ev)n(en)n(tually)f
7813 (accum)n(ulate.)73 b(As)39 b(discussed)h(in)g(section)f(3.3,)j(it)f
7814 (migh)n(t)f(b)r(e)175 5114 y(considered)27 b(to)g(remo)n(v)n(e)f(old)h
7815 (log)g(\034les)g(ev)n(ery)g(no)n(w)g(and)g(then.)1358
7816 5662 y(36)p eop end
7817 %%Page: 37 38
7818 TeXDict begin 37 37 bop -32 531 a Fh(5.6)130 b(F)-11
7819 b(ailing)45 b(LOCAL)e(commands)-32 784 y Fj(If)18 b(the)h(clien)n(t's)g
7820 Ff(sha1sum)c Fj(program)h(itself)j(is)g(altered,)g(a)f(serious)f
7821 (situation)i(has)e(dev)n(elop)r(ed.)-32 884 y(In)23 b(that)h(case,)g
7822 (further)f(actions)g(b)n(y)h Fk(stealth)f Fj(w)n(ould)g(b)r(e)h(susp)r
7823 (ect,)h(as)e(their)g(results)g(migh)n(t)-32 983 y(easily)33
7824 b(b)r(e)j(currupted.)58 b(Chec)n(ks)33 b Fe(wil)t(l)45
7825 b Fj(pro)r(ceed,)36 b(but)f(a)g(w)n(arning)e(is)i(generated)e(on)i(the)
7826 -32 1083 y Ff(report)25 b Fj(\034le)i(\(and)h(in)g(the)g(mail)f(sen)n
7827 (t)h(to)f Ff(admin@elsewhere)p Fj(:)-32 1419 y Ff(STEALTH)40
7828 b(\(1.21\))h(started)g(at)i(Mon)f(Nov)g(24)h(10:54:35)d(2003)-32
7829 1619 y(Check)h(the)h(client's)f(sha1sum)f(program)-32
7830 1718 y(MODIFIED:)f(/root/tmp/sha1sum)142 1818 y(<)k(fc62fc774999584f)o
7831 (1e)o(29e)o(0f)o(94)o(279)o(a6)o(52)81 b(/root/tmp/sha1s)o(um)142
7832 1918 y(>)43 b(45251e259bfaf195)o(16)o(58a)o(7b)o(66)o(c32)o(8c)o(52)81
7833 b(/root/tmp/sha1s)o(um)-32 2117 y(***)42 b(BE)h(CAREFUL)d(***)j
7834 (REMAINING)c(RESULTS)i(MAY)h(BE)h(FORGED)-32 2316 y(configuration)38
7835 b(files)j(under)h(/etc)-32 2416 y(REMOVED:)e(/etc/motd.org)142
7836 2515 y(>)j(945d0b8208e9861b)o(8f)o(9f2)o(de)o(15)o(5e6)o(19)o(f9)81
7837 b(/etc/motd.org)-32 2615 y(MODIFIED:)39 b(/etc/motd)142
7838 2715 y(<)k(945d0b8208e9861b)o(8f)o(9f2)o(de)o(15)o(5e6)o(19)o(f9)81
7839 b(/etc/motd)142 2814 y(>)43 b(7f96195d5f051375)o(fe)o(7b5)o(23)o(d2)o
7840 (9e3)o(79)o(c1)81 b(/etc/motd)-32 3151 y Fj(\(The)30
7841 b(rep)r(ort)f(sho)n(ws)g(the)h(remo)n(v)-5 b(al)29 b(of)h(the)h
7842 (previously)d(added)i(\034le)g Ff(motd.org)p Fj(,)e(and)i(the)-32
7843 3250 y(mo)r(di\034cation)c(of)34 b Ff(motd)p Fj(.)h(These)27
7844 b(are)f(real,)h(as)f(the)i(original)e Ff(motd)f Fj(\034le,)j(mo)r
7845 (di\034ed)f(earlier,)-32 3350 y(w)n(as)f(restored)g(at)i(this)g(p)r
7846 (oin)n(t\).)-32 3695 y Fh(5.7)130 b(Automating)44 b(`stealth')f(runs)h
7847 (using)g(`cron')-32 3948 y Fj(In)37 b(order)e(to)i(automate)f(the)h
7848 (execution)f(of)44 b Fk(stealth)p Fj(,)39 b(a)d(\034le)h
7849 Ff(/etc/cron.d/stea)o(lt)o(h)-32 4048 y Fj(could)27 b(b)r(e)h(created,)
7850 f(con)n(taining)f(a)h(line)h(lik)n(e)f(\(assuming)h Fk(stealth)g
7851 Fj(liv)n(es)e(in)i Ff(/usr/sbin)p Fj(\):)142 4384 y Ff(2,17,32,47)39
7852 b(*)k(*)h(*)f(*)86 b(root)173 b(test)42 b(-x)h(/usr/sbin/steal)o(th)37
7853 b(&&)43 b(\\)1362 4484 y(/usr/sbin/stealt)o(h)37 b(-q)43
7854 b(/root/stealth/cl)o(ie)o(nt.)o(po)o(l)-32 4820 y Fj(This)30
7855 b(will)h(start)f Fk(stealth)g Fj(2)h(min)n(utes)f(after)h(ev)n(ery)e
7856 (hour.)45 b(Alternate)31 b(sc)n(hemes)f(are)f(left)-32
7857 4920 y(to)e(the)h(reader)e(to)h(design.)-32 5091 y(In)33
7858 b(general,)h(randomizing)e(ev)n(en)n(ts)g(mak)n(es)g(it)i(harder)e(to)i
7859 (notice)f(them.)55 b Fk(stealth)33 b Fj(ma)n(y)-32 5190
7860 y(start)c(its)h(tasks)f(at)h(a)f(random)g(p)r(oin)n(t)h(in)g(time)h(if)
7861 f(its)g Ff(-i)f Fj(\035ag)g(\(for)h Fe(r)l(andom)j(interval)9
7862 b Fj(\))30 b(is)-32 5290 y(used.)35 b(This)23 b(\035ag)g(exp)r(ects)g
7863 (an)g(argumen)n(t)g(in)g(seconds)g(\(or)g(in)g(min)n(utes,)i(if)f(at)f
7864 (least)g(an)g Ff(m)g Fj(is)-32 5389 y(app)r(ended)31
7865 b(to)g(the)g(in)n(terv)-5 b(al)31 b(sp)r(eci\034cation\).)47
7866 b(Somewhere)30 b(b)r(et)n(w)n(een)h(the)h(time)f Fk(stealth)1358
7867 5662 y Fj(37)p eop end
7868 %%Page: 38 39
7869 TeXDict begin 38 38 bop -32 531 a Fj(starts)39 b(and)g(the)i(sp)r
7870 (eci\034ed)f(in)n(terv)-5 b(al)39 b(the)h(scan)f(will)h(commence.)74
7871 b(F)-7 b(or)39 b(example,)k(the)-32 631 y(follo)n(wing)31
7872 b(t)n(w)n(o)g(commands)g(ha)n(v)n(e)g(iden)n(tical)h(e\033ects:)47
7873 b(the)32 b(scan)g(is)g(started)f(somewhere)-32 731 y(b)r(et)n(w)n(een)c
7874 (the)h(momen)n(t)f Fk(stealth)h Fj(w)n(as)e(started)h(and)h(5)f(min)n
7875 (utes:)142 1062 y Ff(stealth)40 b(-i)j(5min)f(-q)h(/root/stealth/c)o
7876 (lie)o(nt)o(.p)o(ol)142 1162 y(stealth)d(-i)j(300)86
7877 b(-q)43 b(/root/stealth/c)o(lie)o(nt)o(.p)o(ol)-32 1493
7878 y Fj(When)28 b(the)g Ff(-d)e Fj(\035ag)h(is)h(giv)n(en,)e(the)i
7879 Ff(-i)f Fj(\035ag)g(has)g(no)g(e\033ect.)-32 1664 y(As)43
7880 b(another)g(alternativ)n(e,)j Fk(stealth)e Fj(m)n(y)f(b)r(e)h(started)f
7881 (sp)r(ecifying)h(the)f Ff(\025keep-alive)-32 1763 y(pidfile)37
7882 b Fj(option.)76 b(Here,)44 b Ff(pidfile)37 b Fj(is)k(the)g(name)f(of)h
7883 (a)f(\034le)h(that)g(will)g(con)n(tain)f(the)-32 1863
7884 y(pro)r(cess)26 b(id)i(of)f(the)h(stealth)g(pro)r(cess)e(running)h(in)h
7885 (the)g(bac)n(kground.)35 b(F)-7 b(or)27 b(example:)142
7886 2194 y Ff(stealth)40 b(--keep-alive)f(/var/run/stealth)e(-i)42
7887 b(300)86 b(-q)43 b(/root/stealth/cl)o(ie)o(nt.)o(po)o(l)-32
7888 2526 y Fj(No)n(w,)27 b Fk(cron)p Fj(\(1\))h(ma)n(y)f(b)r(e)h(used)f(to)
7889 h(restart)e(this)i(pro)r(cess)e(at)i(indicated)f(times:)142
7890 2857 y Ff(2,17,32,47)39 b(*)k(*)h(*)f(*)86 b(root)173
7891 b(test)42 b(-x)h(/usr/sbin/steal)o(th)37 b(&&)43 b(\\)1493
7892 2957 y(/usr/sbin/steal)o(th)37 b(--rerun)k(/var/run/stealt)o(h)-32
7893 3288 y Fj(As)18 b(y)n(et)g(another)f(alternativ)n(e,)i(the)g(cron-job)e
7894 (ma)n(y)h(activ)-5 b(ate)18 b(a)g(script)g(p)r(erforming)g
7895 Fk(stealth)p Fj('s)-32 3388 y(rerun,)26 b(starting)h(another)g
7896 Fk(stealth)g Fj(run)g(if)h(necessary)-7 b(.)35 b(The)28
7897 b(adv)-5 b(an)n(tage)26 b(of)h(suc)n(h)g(an)h(ap-)-32
7898 3488 y(proac)n(h)j(is)j(that)g Fk(stealth)f Fj(is)g(automatically)f
7899 (started)h(after,)i(e.g.,)g(a)e(reb)r(o)r(ot.)54 b(The)33
7900 b(fol-)-32 3587 y(lo)n(wing)e(script)h(exp)r(ects)h(t)n(w)n(o)f
7901 (argumen)n(ts)f(\(b)r(oth)i(of)g(whic)n(h)f(m)n(ust)h(b)r(e)g(absolute)
7902 f(paths\).)-32 3687 y(The)26 b(\034rst)h(argumen)n(t)e(is)i(the)g(path)
7903 g(to)f(the)h Fe(pid\034le)35 b Fj(to)26 b(use,)h(the)g(second)f
7904 (argumen)n(t)g(is)h(the)-32 3786 y(path)f(to)g(the)g(p)r(olicy)g
7905 (\034le)g(to)g(use.)36 b(The)26 b(script)f(is)h(found)h(in)f(the)g
7906 (distribution)g(pac)n(k)-5 b(age)25 b(as)-32 3886 y Ff(/usr/share/doc/)
7907 o(st)o(eal)o(th)o(/u)o(sr/)o(sb)o(in)o(/st)o(ea)o(lt)o(hcr)o(on)o
7908 Fj(:)-32 4118 y Ff(#!/bin/bash)-32 4317 y(PROG=`basename)37
7909 b($0`)-32 4417 y(STEALTH=/usr/sb)o(in)o(/st)o(ea)o(lt)o(h)-32
7910 4616 y(testAbsolute\(\))-32 4716 y({)142 4815 y(echo)42
7911 b($1)g(|)i(grep)e("^/")f(>)j(/dev/null)39 b(2>&1)j(&&)h(return)142
7912 5015 y(echo)f("\\`$1')f(must)h(be)g(absolute)f(path")142
7913 5114 y(exit)h(1)-32 5214 y(})-32 5413 y(case)f($#)i(in)1358
7914 5662 y Fj(38)p eop end
7915 %%Page: 39 40
7916 TeXDict begin 39 39 bop 142 531 a Ff(\(2\))316 631 y(testAbsolute)39
7917 b($1)316 731 y(testAbsolute)g($2)316 930 y(if)k([)g(-x)g(${STEALTH})c
7918 (])k(;)g(then)490 1029 y(${STEALTH})d(--rerun)g($1)490
7919 1129 y([)k($?)e(-eq)h(0)g(])g(||)g(${STEALTH})c(--keep-alive)g($1)j(-q)
7920 h($2)316 1229 y(fi)142 1328 y(;;)142 1528 y(\(*\))142
7921 1627 y(echo)f(")-32 1727 y($PROG)f(by)i(Frank)e(B.)i(Brokken)e
7922 (\(f.b.brokken@ru)o(g.)o(nl)o(\))-32 1826 y(Usage:)g($PROG)g([sleep])g
7923 (pidfile)f(configfile)-32 1926 y(where:)142 2026 y(pidfile:)171
7924 b(absolute)40 b(path)i(to)h(pidfile)d(to)j(be)g(used)f(by)g(${STEALTH})
7925 142 2125 y(configfile:)d(absolute)h(path)i(to)h(configuration)38
7926 b(file)k(to)g(be)h(used)f(by)h(${STEALTH})142 2325 y(calls)e($STEALTH})
7927 f(--rerun)h(pidfile.)142 2424 y(If)i(that)e(fails,)h(${STEALTH})d
7928 (--keep-alive)f(pidfile)j(-q)i(configfile)c(is)k(started.)-32
7929 2524 y(")142 2623 y(exit)f(1)142 2723 y(;;)-32 2823 y(esac)-32
7930 3060 y Fj(The)27 b(script)g(could)h(b)r(e)g(called)f(from)g
7931 Ff(/etc/cron.d/stea)o(lt)o(h)22 b Fj(using)27 b(a)g(line)h(lik)n(e)-32
7932 3396 y Ff(22)86 b(8)h(*)43 b(*)g(*)g(root)f(test)g(-x)h
7933 (/usr/sbin/steal)o(th)o(cr)o(on)37 b(&&)43 b(/usr/sbin/stealt)o(hc)o
7934 (ro)o(n)316 3496 y(/var/run/stealth)o(.ta)o(rg)o(et)37
7935 b(/usr/share/steal)o(th)o(/ta)o(rg)o(et)o(.po)o(l)-32
7936 3832 y Fj(Note)27 b(that)g(the)g(command)g(should)f(b)r(e)i(on)e(a)h
7937 (single)f(line.)37 b(It)27 b(w)n(as)f(spread)g(out)h(here)g(o)n(v)n(er)
7938 -32 3932 y(t)n(w)n(o)f(lines)i(to)f(enhance)g(readabilit)n(y)-7
7939 b(.)-32 4277 y Fh(5.8)130 b(Rep)t(ort)43 b(File)i(Rotation)-32
7940 4530 y Fj(When)24 b Fk(stealth)g Fj(p)r(erforms)g(in)n(tegrit)n(y)f
7941 (scans)g(it)i(will)f(app)r(end)h(information)e(to)h(the)h(rep)r(ort)-32
7942 4630 y(\034le.)63 b(This)36 b(\034le)h(will)f(therefore)f(ev)n(en)n
7943 (tually)h(gro)n(w)e(to)j(a)f(large)e(size,)39 b(and)d(the)g(systems)-32
7944 4729 y(manager)27 b(con)n(trolling)h Fk(stealth)g Fj(migh)n(t)h(w)n(an)
7945 n(t)f(to)g Fe(r)l(otate)35 b Fj(the)29 b(rep)r(ort)f(\034le)h(ev)n(ery)
7946 e(once)i(in)-32 4829 y(a)d(while)i(\(e.g.,)f(using)g(a)g(program)e(lik)
7947 n(e)i Fk(logrotate)p Fj(\(1\),)g(also)f(see)h(the)g(up)r(coming)g
7948 (section)-32 4929 y(5.8.2\).)71 b(In)40 b(order)e(to)h(ensure)g(that)h
7949 (no)f(log-rotation)e(tak)n(es)h(place)h(while)h Fk(stealth)f
7950 Fj(is)-32 5028 y(busy)31 b(p)r(erforming)g(in)n(tegrit)n(y)f(scans)h
7951 (\(th)n(us)h(mo)r(difying)f(the)h(rep)r(ort)f(\034le\))h(the)g(options)
7952 f Fk(\025)-32 5128 y(suppress)23 b Fj(and)h Ff(\025resume)d
7953 Fj(w)n(ere)i(implemen)n(ted.)36 b(Both)24 b(options)f(require)g(the)h
7954 (pro)r(cess-ID)-32 5227 y(\034le)j(of)h(curren)n(tly)e(activ)n(e)h
7955 Fk(stealth)g Fj(pro)r(cess)g(as)g(their)g(argumen)n(t.)-32
7956 5398 y(F)-7 b(or)27 b(example,)g(if)h(a)f Fk(stealth)g
7957 Fj(pro)r(cess)g(w)n(as)f(once)h(started)g(using)g(the)h(command)1358
7958 5662 y(39)p eop end
7959 %%Page: 40 41
7960 TeXDict begin 40 40 bop 142 631 a Ff(stealth)40 b(-q)j(--keep-alive)c
7961 (/var/run/stealt)o(h.)o(sma)o(ll)e(--repeat)j(900)i(\\)839
7962 731 y(/var/stealth/pol)o(ic)o(ies)o(/s)o(ma)o(ll.)o(po)o(l)-32
7963 1084 y Fj(then)29 b(the)g Ff(\025suppress)c Fj(and)k
7964 Ff(\025resume)c Fj(commands)j(for)h(this)g(pro)r(cess)e(should)i(b)r(e)
7965 g(form)n(u-)-32 1183 y(lated)e(as:)142 1520 y Ff(stealth)40
7966 b(--suppress)g(/var/run/stealt)o(h.s)o(ma)o(ll)142 1620
7967 y(stealth)g(--resume)h(/var/run/stealt)o(h.)o(sma)o(ll)-32
7968 1956 y Fj(The)18 b Fk(stealth)g Fj(pro)r(cess)f(iden)n(ti\034ed)i(in)f
7969 (the)h(\034les)f(pro)n(vided)g(as)f(argumen)n(ts)g(to)i(the)f
7970 Ff(\025suppress)-32 2056 y Fj(and)27 b Ff(\025resume)e
7971 Fj(options)i(is)g(called)g(the)h Fe(tar)l(gete)l(d)i(ste)l(alth)g(pr)l
7972 (o)l(c)l(ess)35 b Fj(b)r(elo)n(w.)-32 2226 y(The)27 b
7973 Ff(\025suppress)d Fj(option)j(has)g(the)h(follo)n(wing)f(e\033ect:)92
7974 2463 y Fg(\017)41 b Fj(If)28 b(the)h(targeted)e Fk(stealth)g
7975 Fj(pro)r(cess)g(is)g(curren)n(tly)g(pro)r(cessing)g(its)h(p)r(olicy)f
7976 (\034le,)h(p)r(er-)175 2563 y(forming)36 b(a)g(\(new\))i(in)n(tegrit)n
7977 (y)d(scan,)k(then)e(the)g(curren)n(tly)f(executing)g(p)r(olicy)h
7978 (\034le)175 2662 y(command)26 b(is)f(completed,)h(whereafter)f(further)
7979 h(commands)f(are)g(ignored,)g(except)175 2762 y(for)i
7980 Ff(\025resume)e Fj(\(see)i(b)r(elo)n(w\))h(and)f Ff(\025terminate)p
7981 Fj(.)92 2928 y Fg(\017)41 b Fj(An)n(y)31 b(sc)n(heduled)f(in)n(tegrit)n
7982 (y)g(scans)g(follo)n(wing)f(the)j Ff(\025suppress)27
7983 b Fj(command)j(are)g(ig-)175 3028 y(nored)d(for)g(the)h(targeted)f
7984 Fk(stealth)g Fj(pro)r(cess;)92 3194 y Fg(\017)41 b Fj(The)34
7985 b(targeted)g Fk(stealth)g Fj(pro)r(cess)f(will)h(write)g(a)g(message)f
7986 (that)h(it)h(is)f(b)r(eing)g(sup-)175 3293 y(pressed)27
7987 b(to)g(the)h(rep)r(ort)f(\034le)h(and)f(will)h(then)g(pro)r(cess)e(the)
7988 i(rep)r(ort)f(\034le)h(as)f(usual;)92 3459 y Fg(\017)41
7989 b Fj(The)28 b(targeted)e Fk(stealth)i Fj(pro)r(cess)e(relinquishes)h
7990 (its)g(con)n(trol)g(o)n(v)n(er)e(the)j(rep)r(ort)f(\034le;)92
7991 3625 y Fg(\017)41 b Fj(The)28 b(command)f(`)p Fk(stealth)g
7992 Ff(\025suppress)40 b(pidfile)p Fj(')25 b(terminates.)-32
7993 3862 y(No)n(w)39 b(that)h(the)g(rep)r(ort)f(\034le)h(will)g(no)f
7994 (longer)g(b)r(e)h(a\033ected)g(b)n(y)f(the)h(targeted)f
7995 Fk(stealth)-32 3962 y Fj(pro)r(cess,)28 b(log-rotation)f(ma)n(y)h(tak)n
7996 (e)h(place.)41 b(E.g.,)30 b(a)f(program)e(lik)n(e)i Fk(logrotate)p
7997 Fj(\(1\))f(allo)n(ws)-32 4062 y(its)22 b(users)g(to)h(sp)r(ecify)f(a)h
7998 (command)f(or)f(script)i(just)g(b)r(efore)f(log-rotation)e(tak)n(es)i
7999 (place,)h(and)-32 4161 y(`)p Fk(stealth)32 b Ff(\025suppress)40
8000 b(pidfile)p Fj(')30 b(could)i(b)r(e)h(sp)r(eci\034ed)g(nicely)g(in)g
8001 (suc)n(h)g(a)f(pre-rotation)-32 4261 y(section.)-32 4431
8002 y(The)27 b Ff(\025resume)e Fj(option)i(has)g(the)h(follo)n(wing)f
8003 (e\033ect:)92 4668 y Fg(\017)41 b Fj(The)23 b(targeted)f
8004 Fk(stealth)h Fj(pro)r(cess)f(resumes)g(its)h(activities)g(b)n(y)g(p)r
8005 (erforming)f(another)175 4768 y(in)n(tegrit)n(y)27 b(scan.)36
8006 b(Th)n(us,)27 b Ff(\025resume)e Fj(implies)j Ff(\025rerun)p
8007 Fj(.)92 4934 y Fg(\017)41 b Fj(An)n(y)29 b(sc)n(heduled)g(in)n(tegrit)n
8008 (y)f(scans)g(follo)n(wing)g(the)i Ff(\025resume)c Fj(command)j(are)f
8009 (again)175 5034 y(honored)f(b)n(y)g(the)i(targeted)e
8010 Fk(stealth)g Fj(pro)r(cess,)g(follo)n(wing)g(the)h(completion)g(of)g
8011 (the)175 5133 y Ff(\025resume)d Fj(command.)92 5299 y
8012 Fg(\017)41 b Fj(The)28 b(command)f(`)p Fk(stealth)g Ff(\025resume)41
8013 b(pidfile)p Fj(')25 b(terminates.)1358 5662 y(40)p eop
8014 end
8015 %%Page: 41 42
8016 TeXDict begin 41 41 bop -32 531 a Fj(Note)26 b(that,)h(once)f
8017 Ff(\025suppress)c Fj(has)k(b)r(een)h(issued,)f(all)g(commands)f(except)
8018 i Ff(\025resume)c Fj(and)-32 631 y Ff(\025terminate)18
8019 b Fj(are)j(ignored)h(b)n(y)g(the)g(targeted)g Fk(stealth)g
8020 Fj(pro)r(cess.)34 b(While)23 b(suppressed,)g(the)-32
8021 731 y Ff(\025terminate)c Fj(command)k(is)g(ac)n(kno)n(wledged)f(as)h(a)
8022 g(`emergency)f(exit')i(whic)n(h)f(ma)n(y)g(or)g(ma)n(y)-32
8023 830 y(not)29 b(in)n(terfere)g(with,)h(e.g.,)g(an)f(ongoing)f
8024 (log-rotation)f(pro)r(cess.)41 b(The)30 b(targeted)e
8025 Fk(stealth)-32 930 y Fj(pro)r(cess)i(should)h(not)g(normally)g(b)r(e)h
8026 (terminated)f(while)h(it)g(is)f(in)h(its)f(suppressed)g(mo)r(de.)-32
8027 1029 y(The)c(normal)g(w)n(a)n(y)f(to)h(terminate)h(a)f(stealth)h(pro)r
8028 (cess)e(running)h(in)h(the)g(bac)n(kground)d(is:)92 1266
8029 y Fg(\017)41 b Fj(W)-7 b(ait)38 b(for)g(the)g(targeted)f
8030 Fk(stealth)g Fj(pro)r(cess)g(to)g(complete)h(a)f(series)g(of)h(in)n
8031 (tegrit)n(y)175 1366 y(scans;)92 1532 y Fg(\017)j Fj(Issue)27
8032 b(the)h(`)p Fk(stealth)g Ff(\025terminate)39 b(pidfile)p
8033 Fj(')25 b(command.)-32 1835 y Fd(5.8.1)112 b(Status)38
8034 b(\034le)e(clean)m(up)-32 2059 y Fj(Whenev)n(er)g Fk(stealth)h
8035 Fj(is)h(run)f(and)g(it)h(encoun)n(ters)f(a)g(mo)r(di\034ed)g(situation)
8036 h(the)f(already)-32 2159 y(existing)28 b(status)h(\034le)g(that)h(is)f
8037 (used)g(to)g(summarize)f(that)i(particular)d(situation)i(is)g(sa)n(v)n
8038 (ed)-32 2259 y(and)24 b(a)h(new)g(status)g(\034le)g(is)f(created.)36
8039 b(Ev)n(en)n(tually)-7 b(,)25 b(this)g(will)g(result)g(in)g(man)n(y)f
8040 (status)h(\034les.)-32 2358 y(While)k(rep)r(ort)f(\034les)h(can)g(b)r
8041 (e)g(rotated,)g(it)h(is)f(p)r(oin)n(tless)f(to)h(rotate)f(old)h(status)
8042 g(\034les,)g(since)-32 2458 y(they)22 b(nev)n(er)g(are)g(mo)r
8043 (di\034ed.)36 b(Instead)22 b(status)g(\034les)h(exceeding)f(a)g
8044 (certain)g(age)g(could)h(b)r(e)g(re-)-32 2558 y(mo)n(v)n(ed)f(and)i
8045 (more)e(recen)n(t)i(\034les)f(migh)n(t)h(b)r(e)g(zipp)r(ed)g(to)f
8046 (conserv)n(e)f(space.)35 b(In)24 b Fk(stealth)p Fj('s)f(bi-)-32
8047 2657 y(nary)17 b(distribution)h(the)h(\034le)g Ff(/usr/share/doc/)o(st)
8048 o(ea)o(lth)o(/u)o(sr/)o(sb)o(in)o(/st)o(ea)o(lt)o(hcl)o(ea)o(nu)o(p)-32
8049 2757 y Fj(is)28 b(pro)n(vided)f(whic)n(h)i(can)f(b)r(e)h(used)f(to)g(p)
8050 r(erform)g(this)h(clean)n(up.)39 b(The)29 b(script)f(exp)r(ects)g(one)
8051 -32 2856 y(argumen)n(t:)35 b(a)27 b(resource)f(\034le)i(de\034ning)f
8052 (the)h(follo)n(wing)f(shell)g(v)-5 b(ariables:)92 3093
8053 y Fg(\017)41 b Ff(directories)p Fj(:)32 b(the)c(directories)e(b)r(elo)n
8054 (w)i(whic)n(h)f(the)h(status)f(\034les)h(are)e(found;)92
8055 3259 y Fg(\017)41 b Ff(gzdays)p Fj(:)32 b(the)22 b(n)n(um)n(b)r(er)f
8056 (of)h(da)n(ys)f(a)g(status)h(\034le)g(m)n(ust)g(exist)g(b)r(efore)f(it)
8057 i(is)e(compressed)175 3359 y(using)28 b Fk(gzip)p Fj(\(1\);)92
8058 3525 y Fg(\017)41 b Ff(rmdays)p Fj(:)59 b(the)40 b(maxim)n(um)g(age)e
8059 (\(in)j(da)n(ys\))e(of)h(compressed)e(status)i(\034les.)73
8060 b(Files)175 3625 y(exceeding)27 b(this)h(age)e(are)h(remo)n(v)n(ed)f
8061 (using)i Fk(rm)p Fj(\(1\).)-32 3862 y(Here)34 b(is)h(the)h
8062 Ff(stealthcleanup)29 b Fj(script)35 b(as)f(it)i(is)f(found)g(in)g(the)h
8063 (binary)e(distribution's)-32 3961 y Ff(/usr/share/doc/)o(st)o(eal)o(th)
8064 o(/u)o(sr/)o(sb)o(in)21 b Fj(directory:)-32 4198 y Ff(#!/bin/bash)-32
8065 4397 y(usage\(\))-32 4497 y({)142 4597 y(echo)42 b(")-32
8066 4696 y(Usage:)f($0)h(rc-file)-32 4796 y(Where:)142 4895
8067 y(rc-file:)e(resource)g(file)i(defining:)490 4995 y(\\`directories')c
8068 (-)43 b(one)g(or)f(more)g(directories)d(containing)g(status)i(files)490
8069 5095 y(\\`gzdays')258 b(-)43 b(number)e(of)i(days)f(status)f(files)g
8070 (may)i(exist)e(before)g(they)1231 5194 y(are)i(compressed)490
8071 5294 y(\\`rmdays')258 b(-)43 b(number)e(of)i(days)f(gzipped)f(status)g
8072 (files)g(may)h(exist)1231 5394 y(before)f(they)h(are)g(removed.)1358
8073 5662 y Fj(41)p eop end
8074 %%Page: 42 43
8075 TeXDict begin 42 42 bop -32 531 a Ff(")142 631 y(exit)42
8076 b(1)-32 731 y(})-32 1029 y(error\(\))-32 1129 y({)142
8077 1229 y(echo)g("$*")g(>&2)142 1328 y(exit)g(1)-32 1428
8078 y(})-32 1627 y([)h($#)f(==)h(1)g(])g(||)g(usage)-32 1826
8079 y(#)g(now)f(source)f(the)h(configuration)c(file)-32 1926
8080 y(.)43 b($1)-32 2125 y(for)f(x)h(in)g($directories)-32
8081 2225 y(do)142 2325 y(cd)g($x)f(||)h(error)f("\\`$x')f(must)g(be)i(a)g
8082 (directory")142 2524 y(/usr/bin/find)38 b(./)43 b(-mtime)e(+$rmdays)f
8083 (-type)h(f)i(-regex)f('.*[0-9]+-[0-9])o(+\\)o(.g)o(z')37
8084 b(\\)316 2623 y(-exec)42 b(/bin/rm)e({})j(\\;)142 2823
8085 y(/usr/bin/find)38 b(./)43 b(-mtime)e(+$gzdays)f(-type)h(f)i(-regex)f
8086 ('.*[0-9]+-[0-9])o(+')37 b(\\)316 2922 y(-exec)42 b(/bin/gzip)d({})k
8087 (\\;)-32 3022 y(done)-32 3221 y(exit)e(0)-32 3857 y Fj(Assuming)24
8088 b(that)g(the)h(status)f(\034les)h(are)e(written)i(in)f
8089 Ff(/var/stealth/tar)o(get)o(/l)o(oc)o(al)18 b Fj(and)-32
8090 3956 y Ff(/var/stealth/ta)o(rg)o(et/)o(re)o(mo)o(te)p
8091 Fj(;)45 b(that)e(status)g(\034le)g(should)g(b)r(e)h(compressed)e(when)
8092 -32 4056 y(older)26 b(than)i(2)f(da)n(ys)g(and)g(remo)n(v)n(ed)f(after)
8093 h(30)g(da)n(ys,)f(the)i(resource)e(\034le)i(is:)-32 4293
8094 y Ff(directories=")142 4392 y(/var/stealth/tar)o(ge)o(t/)o(loc)o(al)142
8095 4492 y(/var/stealth/tar)o(ge)o(t/)o(rem)o(ot)o(e)142
8096 4592 y(")-32 4791 y(rmdays=30)-32 4891 y(gzdays=3)-32
8097 5128 y Fj(F)-7 b(urthermore)17 b(assuming)g(that)i(the)f
8098 (resource\034le)f(is)h(installed)h(in)f Ff(/etc/stealth/cle)o(an)o(up.)
8099 o(rc)-32 5227 y Fj(and)g(the)g Ff(stealthcleanup)13 b
8100 Fj(script)18 b(itself)h(in)f Ff(/usr/sbin/stealth)o(cl)o(ean)o(up)o
8101 Fj(,)d(the)j Ff(stealthcleanup)-32 5327 y Fj(script)27
8102 b(could)g(b)r(e)h(called)f(as)g(follo)n(ws:)1358 5662
8103 y(42)p eop end
8104 %%Page: 43 44
8105 TeXDict begin 43 43 bop 142 631 a Ff(/usr/sbin/stealt)o(hc)o(le)o(anu)o
8106 (p)37 b(/etc/stealth/cle)o(anu)o(p.)o(rc)-32 968 y Fj(Note)44
8107 b(that)h Ff(stealthcleanup)39 b Fj(ma)n(y)44 b(b)r(e)h(called)f
8108 (whether)g(or)g(not)h(there)f(are)g(activ)n(e)-32 1067
8109 y Fk(stealth)26 b Fj(pro)r(cesses,)g(as)h Fk(stealth)g
8110 Fj(do)r(es)f(not)i(use)f(status)g(\034les)g(an)n(ymore)e(once)i(they)g
8111 (ha)n(v)n(e)-32 1167 y(b)r(een)h(written.)-32 1470 y
8112 Fd(5.8.2)112 b(Using)37 b(`logrotate')f(to)h(con)m(trol)f(rep)s(ort-)h
8113 (and)i(status)e(\034les)-32 1694 y Fj(A)d(program)f(lik)n(e)h
8114 Fk(logrotate)p Fj(\(1\))g(allo)n(ws)f(its)h(users)g(to)g(sp)r(ecify)h
8115 (a)f(command)g(or)f(script)-32 1794 y(immediately)j(follo)n(wing)f
8116 (log-rotation,)g(and)h(`)p Fk(stealth)g Ff(\025resume)41
8117 b(pidfile)p Fj(')33 b(could)j(b)r(e)-32 1893 y(sp)r(eci\034ed)27
8118 b(nicely)h(in)g(suc)n(h)f(a)g(p)r(ost-rotation)f(section.)-32
8119 2064 y(Here)19 b(is)h(an)g(example)g(of)g(a)g(sp)r(eci\034cation)f
8120 (that)i(can)e(b)r(e)i(used)f(with)g Fk(logrotate)p Fj(\(1\).)34
8121 b(Logro-)-32 2163 y(tate)21 b(\(on)g(Debian)g(systems\))g(k)n(eeps)f
8122 (its)h(con\034guration)e(\034les)i(in)g Ff(/etc/logrotate.d)p
8123 Fj(,)16 b(and)-32 2263 y(assuming)h(there)h(is)g(a)g(host)g
8124 Ff(target)p Fj(,)g(whose)g(rep)r(ort)f(\034le)i(is)f
8125 Ff(/var/stealth/tar)o(ge)o(t/r)o(ep)o(or)o(t)p Fj(,)-32
8126 2363 y(the)39 b(required)f Fk(logrotate)p Fj(\(1\))h(sp)r
8127 (eci\034cation)f(\034le)i(\(e.g.,)i Ff(/etc/logrotate.)o(d/)o(tar)o(ge)
8128 o(t)-32 2462 y Fj(could)27 b(b)r(e:)-32 2699 y Ff(/var/stealth/ta)o(rg)
8129 o(et/)o(re)o(po)o(rt)37 b({)142 2799 y(weekly)142 2899
8130 y(rotate)k(12)142 2998 y(compress)142 3098 y(missingok)142
8131 3197 y(prerotate)316 3297 y(/usr/sbin/stealt)o(h)d(--suppress)h
8132 (/var/run/stealth)o(.t)o(ar)o(get)142 3397 y(endscript)142
8133 3496 y(postrotate)316 3596 y(/usr/sbin/stealt)o(h)f(--resume)i
8134 (/var/run/stealt)o(h.t)o(ar)o(ge)o(t)142 3696 y(endscript)-32
8135 3795 y(})-32 4032 y Fj(Using)27 b(this)h(sp)r(eci\034cation)f(\034le,)h
8136 Fk(logrotate)p Fj(\(1\))f(will)92 4269 y Fg(\017)41 b
8137 Fj(P)n(erform)27 b(w)n(eekly)g(rotations)f(of)h(the)h(rep)r(ort)f
8138 (\034le;)92 4435 y Fg(\017)41 b Fj(Keep)27 b(up)h(to)g(12)e(rotated)h
8139 (\034les,)h(compressing)d(them)k(using)f Fk(gzip)p Fj(\(1\);)92
8140 4601 y Fg(\017)41 b Fj(Before)27 b(rotating)f(the)i(rep)r(ort)f
8141 (\034le,)h Fk(stealth)p Fj('s)f(actions)f(are)h(suppressed;)92
8142 4767 y Fg(\017)41 b Fj(F)-7 b(ollo)n(wing)26 b(the)i(rotation,)f
8143 Fk(stealth)p Fj('s)g(actions)g(are)f(resumed)-32 5004
8144 y(Note)36 b(thet)h Ff(stealth)j(\025resume)h(xxx)35 b
8145 Fj(will)h(alw)n(a)n(ys)e(start)i(with)g(another)g(\034le)g(in)n(tegrit)
8146 n(y)-32 5104 y(scan.)1358 5662 y(43)p eop end
8147 %%Page: 44 45
8148 TeXDict begin 44 44 bop -32 1225 a Fi(Chapter)60 b(6)-32
8149 1711 y Fl(Kic)-6 b(k)72 b(starting)h(`stealth')-32 2213
8150 y Fj(Here)27 b(are)f(the)i(steps)g(to)f(tak)n(e)g(to)g(kic)n(k-start)f
8151 Fk(stealth)92 2450 y Fg(\017)41 b Fj(Install)34 b(the)g(stealth)g
8152 (Debian)g(pac)n(k)-5 b(age)33 b Ff(stealth_1.47.2_)o(i38)o(6.)o(de)o(b)
8153 28 b Fj(and)34 b(th)n(us)175 2550 y(accept)26 b(the)h(pro)n(vided)e
8154 (binary)h(program)e(\(skipping)i(the)h(next)f(three)g(steps\))h(or)e
8155 (do)175 2650 y(not)30 b(accept)f(the)g(pro)n(vided)g(binary)-7
8156 b(,)29 b(and)g(compile)h Fk(stealth)f Fj(y)n(ourself,)f(as)h(p)r(er)h
8157 (the)175 2749 y(follo)n(wing)d(steps:)92 2915 y Fg(\017)41
8158 b Fj(Unpac)n(k)27 b Ff(stealth_1.47.2.t)o(ar.)o(gz)o
8159 Fj(:)k Ff(tar)43 b(xzvf)e(tealth_1.47.2.tar)o(.g)o(z)92
8160 3081 y Fg(\017)g Ff(cd)i(stealth)92 3247 y Fg(\017)e
8161 Fj(Insp)r(ect)36 b(the)g(v)-5 b(alues)35 b(of)g(the)h(v)-5
8162 b(ariables)34 b(in)i(the)f(\034le)h Ff(INSTALL.cf)31
8163 b Fj(Mo)r(dify)36 b(these)175 3347 y(v)-5 b(alues)27
8164 b(when)h(necessary)-7 b(.)92 3513 y Fg(\017)41 b Fj(Mak)n(e)18
8165 b(sure)f(the)i(b)r(ob)r(cat)f(library)f(has)h(b)r(een)h(installed.)34
8166 b(\()p Ff(http://bobcat.so)o(ur)o(ce)o(for)o(ge)o(.n)o(et)p
8167 Fj(\))92 3679 y Fg(\017)41 b Fj(Run)21 b(`)p Ff(./make/program)p
8168 Fj(')15 b(to)20 b(compile)g Fk(stealth)p Fj(.)35 b(Note:)e(it's)21
8169 b Fe(not)28 b Fj(`)p Ff(make)42 b(program)p Fj(')92 3845
8170 y Fg(\017)f Fj(Run)28 b(\(probably)e(as)g(ro)r(ot\))g(`)p
8171 Ff(./make/install)p Fj(')c(to)27 b(install.)36 b(Note:)h(it's)27
8172 b Fe(not)34 b Fj(`)p Ff(make)175 3945 y(install)p Fj(')-32
8173 4182 y(F)-7 b(ollo)n(wing)27 b(the)i(installation)f(nothing)g(in)h(the)
8174 g Ff(stealth)c Fj(directory)i(tree)i(is)f(required)f(for)-32
8175 4281 y Fk(stealth)p Fj('s)g(prop)r(er)f(functioning,)i(so)f(consider)f
8176 (remo)n(ving)g(it.)-32 4452 y(Compiling)g Fk(stealth)f
8177 Fj(assumes)f(that)i Ff(g++)e Fj(v)n(ersion)g(3.3)h(\(or)g(higher\))g
8178 (is)g(a)n(v)-5 b(ailable.)35 b(If)26 b(not:)-32 4551
8179 y(install)h(it)h(\034rst.)-32 4722 y(Next,)g(do:)92 4959
8180 y Fg(\017)41 b Ff(cp)i(stealthmail)c(/usr/local/sbin)92
8181 5125 y Fg(\017)i Ff(mkdir)h(/root/stealth)92 5291 y Fg(\017)f
8182 Ff(cp)i(local.pol)d(/root/stealth)1358 5662 y Fj(44)p
8183 eop end
8184 %%Page: 45 46
8185 TeXDict begin 45 45 bop -32 531 a Ff(ssh)34 b Fj(and)h
8186 Ff(sh)g Fj(should)h(b)r(e)g(a)n(v)-5 b(ailable.)59 b
8187 Ff(root@localhost)30 b Fj(should)35 b(b)r(e)h(able)g(to)f(login)g(at)
8188 -32 631 y Ff(localhost)22 b Fj(using)28 b Ff(ssh)42 b(root@localhost)p
8189 Fj(,)21 b(using)26 b(the)h Ff(/bin/bash)c Fj(or)i Ff(/bin/sh)f
8190 Fj(shell.)-32 731 y(Chec)n(k)j(\(as)g(`ro)r(ot'\))g(at)g(least)142
8191 1067 y Ff(ssh)42 b(root@localhost)-32 1404 y Fj(as)25
8192 b(this)i(migh)n(t)f(ask)f(y)n(ou)g(for)h(a)g(con\034rmation)f(that)h(y)
8193 n(ou'v)n(e)f(got)h(the)g(correct)f(host.)36 b(No)n(w,)-32
8194 1503 y(run)142 1840 y Ff(stealth)k(/root/stealth/loc)o(al)o(hos)o(t.)o
8195 (po)o(l)-32 2176 y Fj(to)23 b(initialize)i(the)f(stealth-rep)r(ort)f
8196 (\034les)h(for)f Ff(localhost)p Fj(.)32 b(This)24 b(will)g(initialize)g
8197 (the)h(rep)r(ort)-32 2276 y(for:)92 2513 y Fg(\017)41
8198 b Fj(all)27 b(ro)r(ot)g(setuid/setgid)g(executable)g(\034les)h(on)f
8199 Ff(localhost)p Fj(,)92 2679 y Fg(\017)41 b Fj(and)28
8200 b(for)f(all)g(\034les)g(under)h Ff(/etc/)d Fj(on)j Ff(localhost)p
8201 Fj(.)-32 2916 y(The)f(mail-rep)r(ort)f(is)i(written)g(on)f
8202 Ff(/tmp/stealth-1.4)o(7.)o(2.)o(mai)o(l)-32 3086 y Fj(No)n(w)33
8203 b(c)n(hange)g(or)g(add)g(or)g(remo)n(v)n(e)f(one)i(of)g(these)f
8204 (\034les,)j(and)d(rerun)h Fk(stealth)p Fj(.)55 b(The)34
8205 b(\034le)-32 3186 y Ff(/tmp/stealth-1.)o(47)o(.2.)o(ma)o(il)21
8206 b Fj(should)27 b(re\035ect)h(these)f(c)n(hanges.)1358
8207 5662 y(45)p eop end
8208 %%Page: 46 47
8209 TeXDict begin 46 46 bop -32 1225 a Fi(Chapter)60 b(7)-32
8210 1711 y Fl(Usage)72 b(info)-32 2213 y Fj(When)30 b Fk(stealth)g
8211 Fj(is)g(started)g(without)g(argumen)n(ts,)g(it)h(pro)n(vides)d(some)i
8212 (help)g(ab)r(out)h(ho)n(w)-32 2313 y(to)c(start)g(it.)37
8213 b(A)28 b(message)e(lik)n(e)h(the)h(follo)n(wing)f(is)g(pro)r(duced:)-32
8214 2567 y Ff(stealth)40 b(by)j(Frank)e(B.)i(Brokken)e(\(f.b.brokken@ru)o
8215 (g.)o(nl\))-32 2766 y(stealth)f(V1.47.2)-32 2865 y(SSH-based)f(Trust)j
8216 (Enhancement)d(Acquired)h(through)g(a)k(Locally)c(Trusted)h(Host)-32
8217 2965 y(Copyright)e(\(c\))k(GPL)f(2005-2008)-32 3164 y(Usage)f(1:)98
8218 3264 y(stealth)g(options)g(policy)-32 3364 y(Where:)98
8219 3463 y(options:)f(\(long)i(options)f(between)f(parentheses\))f(select)i
8220 (from:)273 3563 y(-c:)h(\(--parse-config-)o(fi)o(le)o(\))c(process)i
8221 (the)i(config)g(file,)447 3662 y(no)h(further)d(action,)h(report)g(the)
8222 h(results)f(to)i(std)f(output.)273 3762 y(-d:)g(\(--debug\))e(write)h
8223 (debug)h(messages)e(to)i(std)h(error)273 3862 y(-e:)f
8224 (\(--echo-commands)o(\))37 b(echo)42 b(commands)e(to)j(std)f(error)g
8225 (when)g(they)447 3961 y(are)g(processed)e(\(implied)g(by)j(-d\))273
8226 4061 y(-i)f(<interval>[m]:)c(\(--random-interv)o(al)o(\))f(start)42
8227 b(the)g(scan)g(between)f(now)h(and)447 4161 y(a)h(random)e(interval)f
8228 (of)j(interval)d(seconds,)g(or)j(minutes)e(if)h(an)h(`m')f(is)490
8229 4260 y(appended)f(to)h(the)h(specified)c(interval.)490
8230 4360 y(Requires)i(--repeat)f(and)i(--keep-alive.)273
8231 4459 y(-n:)g(\(--no-child-proc)o(es)o(se)o(s\))37 b(no)43
8232 b(child)e(processes)f(are)490 4559 y(executed:)g(child)i(actions)e(are)
8233 j(faked)e(to)i(be)g(OK.)273 4659 y(-o:)f(\(--only-stdout\))37
8234 b(scan)42 b(report)f(is)i(written)d(to)j(stdout.)e(No)h(mail)g(is)h
8235 (sent.)273 4758 y(-q:)f(\(--quiet\))e(suppress)g(progress)g(messages)g
8236 (to)j(stderr.)273 4858 y(-r)f(<nr>:)g(\(--run-command\))37
8237 b(only)42 b(run)g(command)f(<nr>)h(\(natural)83 b(number\).)273
8238 4958 y(-v:)42 b(\(--version\):)c(display)j(version)g(information)e
8239 (\(and)i(exit\).)98 5057 y(--keep-alive)e(pidfile:)h(keep)i(running)e
8240 (as)j(a)g(daemon,)e(wake)h(up)h(at)f(interrupts.)98 5157
8241 y(--max-size)e(<size>[BKMG]:)e(files)j(retrieved)f(by)j(GET)f(may)g(at)
8242 h(most)447 5256 y(have)f(<size>)f(bytes)g(\(B\),)h(Kbytes)f(\(K\),)h
8243 (Mbytes)f(\(M\),)h(Gbytes)f(\(G\))447 5356 y(default:)f(10M,)i(default)
8244 f(spec.)g(unit:)g(B)1358 5662 y Fj(46)p eop end
8245 %%Page: 47 48
8246 TeXDict begin 47 47 bop 98 531 a Ff(--repeat)40 b(<seconds>:)g(keep)i
8247 (running)e(as)j(a)g(daemon,)e(wake)h(up)g(at)447 631
8248 y(interrupts.)d(or)k(after)e(<seconds>)f(seconds.)447
8249 731 y(Requires)g(--keep-alive.)98 830 y(--usage:)g(provide)h(this)h
8250 (help)g(\(and)g(exit\))98 930 y(--help:)f(provide)g(this)g(help)h
8251 (\(and)g(exit\))98 1029 y(policy:)f(path)h(to)h(the)f(policyfile)-32
8252 1229 y(Usage)f(2:)98 1328 y(stealth)g([--rerun|--resum)o(e|)o(--)o(sup)
8253 o(pr)o(es)o(s|-)o(-t)o(er)o(min)o(at)o(e])c(pidfile)-32
8254 1428 y(Where:)98 1528 y(--rerun:)j(restart)h(a)i(stealth)e(integrity)f
8255 (scan)98 1627 y(--resume:)g(resume)h(stealth)g(following)e(--suppress)
8256 98 1727 y(--suppress:)g(suppress)h(stealth)h(activities)98
8257 1826 y(--terminate:)e(terminate)h(stealth)98 1926 y(pidfile:)g(file)i
8258 (containing)e(the)i(pid)g(of)h(the)f(stealth)f(process)g(to)h(rerun)g
8259 (or)490 2026 y(terminate.)-32 2379 y Fj(Note)22 b(that)i(with)f(the)g
8260 (second)f(t)n(yp)r(e)h(of)g(usage)f(the)h(p)r(olicy)g(\034le)g(is)g
8261 (not)g(required:)33 b(here)22 b(only)-32 2479 y(the)28
8262 b Ff(pidfile)c Fj(m)n(ust)k(b)r(e)g(sp)r(eci\034ed.)1358
8263 5662 y(47)p eop end
8264 %%Page: 48 49
8265 TeXDict begin 48 48 bop -32 1225 a Fi(Chapter)60 b(8)-32
8266 1711 y Fl(Errormessages)-32 2213 y Ff(/bin/sh:)83 b(no)43
8267 b(output)e(from)h(/usr/bin/diff)c(...)175 2429 y Fj(the)27
8268 b(actual)f(program)e(names)j(app)r(earing)e(here)h(could)g(c)n(hange)f
8269 (due)i(to)g(y)n(our)175 2528 y(lo)r(cal)e(con\034guration.)34
8270 b(The)25 b(defaults)h(are)e(sho)n(wn.)35 b(This)26 b(indicates)e(that)i
8271 (the)175 2628 y Ff(/usr/bin/diff)k Fj(program)i(could)j(not)g(b)r(e)g
8272 (activ)-5 b(ated)34 b(on)h(the)g(con)n(troller.)175 2727
8273 y(Chec)n(k)27 b(the)i(correctness)c(of)j(b)r(oth)g(the)g(shell)g
8274 (program)e(\()p Ff(/bin/sh)p Fj(\))f(and)j(the)175 2827
8275 y(di\033)39 b(program)c(\()p Ff(/usr/bin/diff)p Fj(\):)52
8276 b(Do)38 b(they)g(exist?)67 b(Ha)n(v)n(e)37 b(their)h(paths)175
8277 2927 y(b)r(een)33 b(sp)r(ec\034ed)g(w)n(ell?)51 b(Note)33
8278 b(that)g(\034lenames)f(passed)g(to)g Ff(diff)f Fj(migh)n(t)h(not)175
8279 3026 y(exist)22 b(an)n(ymore)f(when)i(the)f(program)f(terminates.)34
8280 b(This)23 b(should)f(not)g(b)r(e)h(the)175 3126 y(cause)k(of)g(the)h
8281 (error.)-32 3341 y Ff(Can't)41 b(chdir)g(to)i(`path')175
8282 3556 y Fj(the)20 b(directory)g Ff(path)e Fj(could)i(not)f(b)r(e)i
8283 (created/used.)32 b(This)20 b(ma)n(y)f(b)r(e)h(a)g(p)r(ermis-)175
8284 3656 y(sion)29 b(problem.)42 b(Chec)n(k)28 b(the)i(p)r(ermissions)f(of)
8285 35 b Ff(path)28 b Fj(if)36 b Ff(path)28 b Fj(do)r(es)h(actually)175
8286 3755 y(exist.)37 b(The)27 b(problem)g(ma)n(y)f(b)r(e)i(in)f(a)g(path)g
8287 (comp)r(onen)n(t,)g(not)h(necessarily)d(in)175 3855 y(the)j(last)f
8288 (elemen)n(t)h(of)f(the)h(path.)-32 4070 y Ff(Can't)41
8289 b(open)h(/dev/null)175 4285 y Fj(This)24 b(message)f(ma)n(y)h(b)r(e)h
8290 (generated)e(b)n(y)h(a)g(c)n(hild-pro)r(cess:)34 b Ff(sh)p
8291 Fj(,)24 b Ff(ssh)f Fj(or)h Ff(diff)p Fj(.)175 4385 y(It)f(is)f
8292 (generated)e(when)j(the)f(c)n(hild)g(pro)r(cess)f(could)h(not)g
8293 (redirect)f(its)h(standard)175 4485 y(error)f(messages)f(to)j(the)f
8294 (standard)g(error)e(stream.)35 b(If)23 b(it)f(app)r(ears)g(then)h
8295 (there)175 4584 y(is)29 b(probably)g(something)f(incorrect)g(in)i(y)n
8296 (our)e Ff(/dev/)f Fj(directory:)40 b(c)n(hec)n(k)28 b(the)175
8297 4684 y(a)n(v)-5 b(ailabilit)n(y)23 b(of)30 b Ff(/dev/null)p
8298 Fj(,)21 b(c)n(hec)n(k)i(if)h(y)n(ou)f(can)g(cop)n(y)g(a)g(\034le)h(to)g
8299 Ff(/dev/null)p Fj(.)-32 4899 y Ff(Can't)41 b(open)h(...)86
8300 b(to)43 b(write)175 5114 y Fj(This)33 b(message)e(ma)n(y)h(b)r(e)h
8301 (generated)e(when)i(the)g(men)n(tioned)f(log-\034le)g(could)175
8302 5214 y(not)k(b)r(e)g(written)g(to.)61 b(Chec)n(k)35 b(the)h(p)r
8303 (ermissions)f(of)h(the)g(\034le,)i(c)n(hec)n(k)d(if)h(the)175
8304 5313 y(path)31 b(to)g(the)h(\034le)f(exists.)47 b(The)32
8305 b(problem)e(ma)n(y)h(b)r(e)g(in)h(a)e(path)i(comp)r(onen)n(t,)175
8306 5413 y(not)c(necessarily)e(in)h(the)h(last)g(elemen)n(t)f(of)h(the)g
8307 (path)f(or)g(in)h(the)g(\034le)g(itself.)1358 5662 y(48)p
8308 eop end
8309 %%Page: 49 50
8310 TeXDict begin 49 49 bop -32 531 a Ff(Can't)41 b(read)h(...)175
8311 751 y Fj(the)28 b(men)n(tioned)g(\034le)h(could)e(not)h(b)r(e)h(read.)
8312 37 b(Chec)n(k)27 b(if)i(the)f(\034le)g(exists,)g(and)g(if)175
8313 850 y(y)n(ou)f(ha)n(v)n(e)f(read)h(p)r(ermissions)g(for)g(it.)-32
8314 1069 y Ff(Config)41 b(line)g(`...')86 b(invalid)175 1289
8315 y Fj(The)25 b(men)n(tioned)h(line)f(of)g(the)h(sp)r(eci\034ed)g(p)r
8316 (olicy)f(\034le)g(w)n(as)f(ill-formed.)36 b(Chec)n(k)175
8317 1388 y(the)28 b(line's)g(con)n(ten)n(ts)f(against)f(the)i(description)f
8318 (of)g(the)h(p)r(olicy)g(\034le.)-32 1607 y Ff(ConfigSorter)38
8319 b(file)k(processed)175 1826 y Fj(In)29 b(this)h(case,)f(the)g
8320 Ff(-c)g Fj(option)f(has)h(b)r(een)g(giv)n(en.)41 b(When)30
8321 b Ff(-c)e Fj(w)n(as)g(pro)n(vided,)175 1926 y Fk(stealth)f
8322 Fj(stops)g(after)h(ha)n(ving)e(pro)r(cessed)g(the)i(con\034guration)e
8323 (\034le.)-32 2145 y Ff(Corrupt)40 b(line)i(in)h(policy)e(file:)85
8324 b(...)175 2364 y Fj(The)38 b(apparen)n(tly)e(corrupted)h(line)h(is)g
8325 (sho)n(wn.)67 b(The)37 b(line)h(is)g(corrupted)f(if)175
8326 2464 y(the)e(line)h(could)e(not)h(b)r(e)h(split)f(in)n(to)g(an)f
8327 (initial)i(w)n(ord)e(and)g(its)h(remainder.)175 2564
8328 y(Normally)j(this)h(should)g(not)g(happ)r(en.)71 b(As)39
8329 b(the)g(line)g(is)g(men)n(tioned,)j(the)175 2663 y(message)26
8330 b(itself)i(should)g(assist)e(y)n(ou)h(in)h(y)n(our)e(repairs.)-32
8331 2883 y Ff(Inserting)39 b(command)i(`...')85 b(failed.)175
8332 3102 y Fj(the)27 b(men)n(tioned)f(command)g(could)h(not)f(b)r(e)h(sen)n
8333 (t)f(to)g(a)g(c)n(hild-pro)r(cess)f(\()p Ff(sh)h Fj(or)175
8334 3201 y Ff(ssh)p Fj(\).)35 b(Chec)n(k)22 b(the)h(a)n(v)-5
8335 b(ailabilit)n(y)22 b(of)h(the)g Ff(ssh)f Fj(connection)h(to)g(the)g
8336 (clien)n(t.)35 b(The)175 3301 y(command)27 b(itself)h(migh)n(t)g(also)e
8337 (b)r(e)i(unacceptable.)-32 3520 y Ff(Invalid)40 b(interval)g(for)j(-i.)
8338 175 3739 y Fj(The)28 b(-i)f(\035ag)g(w)n(as)f(giv)n(en)h(an)g(in)n(v)-5
8339 b(alid)28 b(\(to)r(o)f(large)g(or)f(negativ)n(e\))h(argumen)n(t.)-32
8340 3958 y Ff(Non-zero)40 b(exit)i(value)f(for)h(`...')175
8341 4178 y Fj(A)33 b(lo)r(cal)f(command)f(\(not)i(using)f(the)h
8342 Ff(CHECK)d Fj(k)n(eyw)n(ord\),)i(returned)g(with)h(a)175
8343 4277 y(non-zero)e(exit.)53 b(This)33 b(will)g(terminate)g(further)f
8344 (pro)r(cessing)g(of)g(the)i(p)r(olicy)175 4377 y(\034le.)h(Insp)r(ect)
8345 22 b(and/or)e(rerun)h(the)h(command)f(`b)n(y)g(hand')g(to)h(\034nd)g
8346 (indications)175 4477 y(ab)r(out)f(what)f(w)n(en)n(t)h(wrong.)33
8347 b(The)21 b(rep)r(ort)e(\034le)i(or)f(the)h(standard)f(error)e(stream)
8348 175 4576 y(ma)n(y)40 b(also)g(con)n(tain)g(additional)g(information)g
8349 (ab)r(out)h(the)g(reason)e(of)i(the)175 4676 y(failure.)-32
8350 4895 y Ff(Unable)g(to)h(create)f(the)i(logfile)d(`...')175
8351 5114 y Fj(the)30 b(men)n(tioned)f(log)f(\034le)i(could)e(not)i(b)r(e)f
8352 (created.)41 b(Chec)n(k)29 b(the)g(p)r(ermissions)175
8353 5214 y(of)g(the)g(\034le,)g(c)n(hec)n(k)f(if)i(the)f(path)g(to)f(the)i
8354 (\034le)f(exists.)40 b(The)29 b(problem)f(ma)n(y)g(b)r(e)175
8355 5313 y(in)e(a)f(path)g(comp)r(onen)n(t,)h(not)f(necessarily)f(in)h(the)
8356 h(last)f(elemen)n(t)g(of)h(the)f(path)175 5413 y(or)i(in)h(the)g
8357 (\034le)f(itself.)1358 5662 y(49)p eop end
8358 %%Page: 50 51
8359 TeXDict begin 50 50 bop -32 531 a Ff(USE)42 b(SSH)g(...)86
8360 b(entry)42 b(missing)e(in)j(the)f(configuration)c(file)175
8361 768 y Fj(there)c(is)g(no)f(default)i(for)e(the)h Ff(USE)43
8362 b(SSH)32 b Fj(sp)r(eci\034cation)i(in)g(the)g(p)r(olicy)g(\034le.)175
8363 868 y(The)28 b(sp)r(eci\034cation)f(could)g(not)h(b)r(e)g(found.)37
8364 b(Pro)n(vide)27 b(a)g(sp)r(eci\034cation)g(lik)n(e:)175
8365 1067 y Ff(USE)42 b(SSH)217 b(ssh)42 b(-q)h(root@localhost)1358
8366 5662 y Fj(50)p eop end
8367 %%Trailer
8368
8369 userdict /end-hook known{end-hook}if
8370 %%EOF
+0
-2102
documentation/manual/text/stealth.txt less more
0 : Stealth V.1.47.2
1 : Frank B. Brokken
2 Center for Information Technology, University of Groningen
3 : 2005-2008
4
5
6
7 Table of Contents
8
9 Chapter 1: Introduction
10 1.1: What's new in Stealth V.1.47.2
11 1.2: Stealth
12 1.2.1: The integrity of the stealth distribution
13 Chapter 2: Installation
14 2.1: Compiling and installing Stealth
15 Chapter 3: The `policy' file
16 3.1: DEFINE directives
17 3.2: USE directives
18 3.3: Commands
19 3.3.1: LABEL commands
20 3.3.2: LOCAL commands
21 3.3.3: REMOTE commands
22 3.3.4: Preventing Controller Denial of Service (--max-size)
23 Chapter 4: Granting access
24 4.0.1: The controller's user: creating an ssh-key
25 4.0.2: The client's account: accepting ssh from the controller's user
26 4.0.3: Logging into the account@client account
27 4.0.4: Using the proper shell
28 Chapter 5: Running `stealth'
29 5.1: Installing `stealth'
30 5.2: Construct one or more policy files
31 5.2.1: the DEFINE directives
32 5.2.2: the USE directives
33 5.2.3: the commands
34 5.2.3.1: Obtain the client's sha1sum program
35 5.2.3.2: Check the integrity of the client's sha1sum program
36 5.2.3.3: Check the client's /usr/bin/find command
37 5.2.3.4: Check the client's setuid/setgid files
38 5.2.3.5: Check the configuration files in the client's /etc/ directory
39 5.2.4: The complete `policy' file
40 5.3: Running `stealth' for the first time
41 5.3.1: The mailed report
42 5.3.2: Files under /root/stealth/client
43 5.4: Running `stealth' again: all files unaltered
44 5.5: Running `stealth' again: modifications have occurred
45 5.6: Failing LOCAL commands
46 5.7: Automating `stealth' runs using `cron'
47 5.8: Report File Rotation
48 5.8.1: Status file cleanup
49 5.8.2: Using `logrotate' to control report- and status files
50 Chapter 6: Kick starting `stealth'
51 Chapter 7: Usage info
52 Chapter 8: Errormessages
53
54
55
56
57
58
59 Chapter 1: Introduction
60
61
62 1.1: What's new in Stealth V.1.47.2
63
64
65
66
67 o Since the MD5 hash is no longer considered to be cryptographically
68 secure, stealth(1) should now use an alternative way to compute
69 hash-values. In this manual it is suggested to switch to SHA1 hash
70 computations.
71 o The --max-size option was implement to restrict the maximum sizes
72 of files that are downloaded from clients. By default it is 10M.
73
74
75
76 1.2: Stealth
77
78 Welcome to stealth. The program stealth implements a file integrity
79 scanner. The acronym stealth can be expanded to
80
81
82
83
84 SSH-based Trust Enforcement Acquired through a Locally Trusted Host.
85
86
87
88
89 This expansion contains the following key terms:
90
91
92 o SSH-based: The file integrity scan is (usually) performed over an
93 ssh-connection. Usually the computer being scanned (called the client) and
94 the computer initiating the scan (called the controller) are different
95 computers.
96 o The client should accept incoming ssh-connections
97 from the initiating computer. The controller doesn't have to (and shouldn't,
98 probably).
99 o Trust Enforcement: following the scan, `trust' is enforced in the
100 client, due to the integrity of its files.
101 o Locally Trusted Host: the client apparently trusts the controller
102 to use an ssh-connection to perform commands on it. The client therefore
103 locally trusts the controller. Hence, locally trusted host.
104
105
106 stealth is based on an idea by Hans Gankema and Kees Visser,
107 both at the Center for Information Technology of the University of Groningen.
108
109 stealth's main task is to perform file integrity tests. However, the
110 testing will leave no sediments on the tested computer. Therefore, stealth
111 has stealthy characteristics. I consider this an important security
112 improving feature of stealth.
113
114 The controller itself only needs two kinds of outgoing services:
115 ssh(1) to reach its clients, and some mail transport agent (e.g.,
116 sendmail(1)) to forward its outgoing mail to some mail-hub.
117
118 Here is what happens when stealth is run:
119
120 o First, a policy file is read. This determines actions to be
121 performed, and values of several variables used by stealth.
122 o If the command-line option --keep-alive or --repeat <seconds>
123 is given, stealth will run as a backgrond process, displaying the process
124 ID of the background process. With --repeat <seconds> the scan will be
125 rerun every <seconds> seconds. The number of seconds until the next rerun
126 will be at least 60. However, using the --rerun option a background
127 stealth process may always be goated into its next scan. When
128 --keep-alive is specified the scan will be performed just once, whereafter
129 stealth will wait until it is reactivated by another run of stealth,
130 called using the --rerun <pid> command-line option.
131 o Then, the controller opens a command shell on the client using
132 ssh(1), and a command shell on the controller itself using sh(1).
133 o Next, commands defined in the policy file are executed in their order
134 of appearance. Examples are given below. Normally, return values of the
135 programs are tested. Non-zero return values will terminate stealth
136 prematurely.
137 o In most cases, integrity tests can be controlled by the find(1)
138 program, calling programs like ls(1), sha1sum(1) or its own -printf
139 method to produce file-integrity related statistics. Most of these programs
140 write file names at the end of generated lines. This characteristic is used by
141 an internal routine of stealth to detect changes in the generated output,
142 which could indicate some harmful intent, like an installed root-kit.
143 o When changes are detected, they are logged on a report file, to
144 which information is always appended. stealth never reduces or rewrites
145 the report file. When information is added to the report file the newly
146 written information is emailed to a configurable email address for further
147 (human) processing. Usually this will be the systems manager of the tested
148 client. stealth follows the `dark cockpit' approach in that no mail is
149 sent when no changes were detected.
150
151
152 Alternatively, the command-line options --rerun and --terminate
153 may be provided to communicate with a stealth process started earlier
154 using either the --keep-alive or --repeat option. In this case,
155
156 o When started using the --terminate <pid> command-line option, the
157 stealth process running at process-ID <pid> is terminated. Note that no
158 check is performed as to whether the process associated with <pid> is
159 truly a stealth process. It is the responsibility of the user to make sure
160 that the process-ID of the intended process is specified.
161 o When started using the --rerun <pid> command-line option, the
162 stealth process running at process-ID <pid> will perform another
163 scan. Again, no check is performed as to whether the process associated with
164 <pid> is truly a stealth process. It is the responsibility of the user
165 to make sure that the process-ID of the intended process is specified.
166
167
168 The options --suppress and --rerun (see section 5.8) were
169 implemented to allow safe rotations of stealth's report file.
170
171
172 1.2.1: The integrity of the stealth distribution
173
174
175 The integrity of the archive stealth-1.47.2.tar.gz can be verified as
176 follows:
177
178 o At the location where you found this archive, you should also find a
179 file named stealth-1.47.2.dsc. This file contains a PGP signed
180 sha1sum(1) signature of the tar.gz archive. The PGP sigature was
181 provided by me using gpg(1) (pgp(1)).
182 o Compute the SHA1 checksum of the stealth-1.47.2.tar.gz
183 archive. Its value should match the SHA1 checksum that is mentioned in the
184 stealth-1.47.2.dsc file. If not, the stealth-1.47.2.tar.gz
185 archive has been compromised, and should not be used.
186 o In order to verify the validity of the electronic signature, do as
187 follows:
188
189 o Obtain my public key from a public PGP keyserver, e.g.
190
191 http://pgp.surfnet.nl:11371/
192
193 o Make sure you have the right key. Its fingerprint is
194
195 8E36 9FC4 1DAA FCDF 1A0D B19F DAC4 BE50 38C6 6170
196
197 and it has been electronically signed by, e.g., the University of
198 Groningen's PGP-certificate authority. If in doubt, contact me to verify you
199 have the right key.
200 o Once you're sufficiently satisfied that you indeed have obtained
201 my public PGP key, verify the validity of the signature used for signing
202 stealth-1.47.2.dsc. With gpg(1) this can be done by the command
203
204 gpg --verify stealth-1.47.2.dsc
205
206
207
208 This should produce output comparable to:
209
210 gpg: Signature made Mon Aug 1 10:57:41 2005 CEST using DSA key ID 38C66170
211 gpg: Good signature from "Frank B. Brokken <f.b.brokken@rug.nl>"
212 gpg: aka "Frank B. Brokken <f.b.brokken@rc.rug.nl>"
213
214
215
216 Chapter 2: Installation
217
218 This chapter describes stealth's compilation and installation.
219
220
221 2.1: Compiling and installing Stealth
222
223 After downloading the stealth archive, it should be unpacked. The name of
224 the archive is of the form stealth-1.47.2.tar.gz, where 1.47.2
225 is a version number. Below, 1.47.2 should be altered into the version
226 of the archive that is actually used.
227
228
229 o First, determine a directory under which the archive's file should be
230 stored. E.g., if the files in the archive should be stored under /tmp, and
231 the archive itself is stored in /tmp as well, do:
232
233 cd /tmp
234 tar xzf stealth-1.47.2.tar.gz
235
236 This creates a subdirectory stealth in which the sources are
237 found
238 o Next, chdir to that directory:
239
240 chdir stealth
241
242 o Check the contents of the file make/parameters. It should need no
243 modifications. Among other entries, it contains the entry GCC=g++,
244 indicating the compiler to use. The compiler should be the GNU g++
245 compiler version 4.0.2 or above. Also note -lbobcat in the entry
246
247 LOPTS="-lbobcat -lstealth -L. -s"
248
249 When compiling stealth, the
250 bobcat library must be available. If you
251 haven't installed bobcat yet, download it from
252 http://sourceforge.net/projects/bobcat/, and follow its installation
253 instructions. Make sure to install both the run-time (bobcat_...)
254 and the development (bobcat-dev_...) versions.
255 o Execute the command
256
257 make/program
258
259 This command (note that it is not make program!) will create the
260 program ./tmp/bin/stealth, which may then be installed in, e.g.,
261 /usr/sbin.
262
263
264
265 Chapter 3: The `policy' file
266
267 stealth reads a policy file defining the actions that must be
268 performed. Each policy file is uniquely associated with a host to be
269 tested. There may be multiple policy files for a host, though. In that case,
270 each policy file will define a certain set of checks to be performed.
271
272 Below, the term controller is used for the computer where stealth
273 is started, while the term client is used for the computer that is scanned
274 by stealth. The controller and the client could be the same computer, but
275 normally they are different.
276
277 The policy file consists of three sets of data: define directives
278 (starting with the keyword DEFINE), use directives (starting with the
279 keyword USE) and commands.
280
281 Directives are written in capitals, and should appear exactly as written
282 below: letter casing is preserved.
283
284 Blank lines and information beyond hash-marks (#) are ignored, while lines
285 following lines terminating in backslashes (\ ) will be concatenated (en
286 passant removing the backslashes). Initial white space on lines of the policy
287 file is ignored.
288
289
290 3.1: DEFINE directives
291
292
293 DEFINE directives can be used to define symbols for longer strings.
294 A DEFINE directive is constructed as follows:
295
296 DEFINE name that what is defined by `name'
297
298 Here,
299
300 o the name following DEFINE is the symbol that may be used in
301 USE directives (see below) and commands (see below).
302 o DEFINE symbols can be used in other DEFINE symbols. However,
303 it is the responsibility of the author of the policy file to make sure that
304 (indirect) circular definitions are avoided. E.g., after:
305
306 DEFINE A ${B}
307 DEFINE B ${A}
308 DEFINE C ${C}
309
310 USE MAILARGS ${A} ${B} ${C}
311
312 MAILARGS will be expanded to
313
314 ${A} ${A} ${C}
315
316 o The text following DEFINE name is then inserted literally into
317 the USE directive or command.
318
319 Example:
320
321 DEFINE SSH /usr/bin/ssh frankbash@localhost -q
322 DEFINE EXECSHA1 -xdev -perm +111 -type f -exec /usr/bin/sha1sum {} \;
323
324 The symbols defined by DEFINE directives may consist of
325 letters, digits and the underscore character (_).
326 In the definition of the symbol any character can be used. The
327 definition is, however, trimmed of initial or trailing blanks.
328
329 To insert a definition into a USE directive or command use the
330
331 ${name}
332
333 form. E.g., ${EXECSHA1}. Concrete examples will be given below.
334
335
336
337 3.2: USE directives
338
339
340 USE directives provide stealth with arguments which
341 may be conditional to a certain installation. The following USE directives
342 may be specified:
343
344 o USE BASE basedirectory
345
346 BASE defines the directory from where stealth operates. All
347 relative path specifications are interpreted relative to BASE. By
348 default this is the directory where stealth was started.
349
350 BASE and all other directories that are used below BASE
351 are created by stealth if not yet existing.
352
353 Example:
354
355 USE BASE /root/client
356
357 All information generated by stealth is written in or below the
358 directory /root/client.
359
360 o USE DD <dd>
361
362 The DD specification uses /bin/dd as default, and defines the
363 location of the dd(1) program, both on the server and on the client. The
364 bin(1) program is used to copy files between the client and the controller
365 without opening separate ssh-connections. The program specified here is only
366 used by stealth for the PUT and GET commands, described below.
367
368 Example showing the default:
369
370 USE DD /bin/dd
371
372
373 o USE DIFF path-to-diff
374
375 The DIFF specification uses /usr/bin/diff as default,
376 and defines the location of the diff(1) program. The
377 diff(1) program is used to compare a formerly created logfile of an
378 integrity check to a newly created logfile.
379
380 Example showing the default:
381
382 USE DIFF /usr/bin/diff
383
384
385 o USE EMAIL address
386
387 The EMAIL specification defines the email-address to e-mail the
388 client's integrity scan report to. Mail is only sent when information has
389 changed.
390
391 Example showing the default:
392
393 USE EMAIL root
394
395
396 o USE MAILER mailer
397
398 The MAILER specification defines the program that is used to send
399 the mail to the EMAIL-address. By default this is /usr/bin/mail(1).
400 The MAILER program is called as follows:
401
402 MAILER MAILARGS EMAIL
403
404 (MAILARGS: see below). The information to be mailed is read from
405 MAILER's standard input stream.
406
407 Example showing the default:
408
409 USE MAILER /usr/bin/mail
410
411
412 o USE MAILARGS arguments
413 The MAILARGS specification defines the arguments to be
414 to be passed to the MAILER program. By default this is
415
416 USE MAILARGS -s "STEALTH scan report"
417
418 Note that blanks may be used in the subject specification: use double or
419 single quotes to define elements containing blanks. Use \" to use a double
420 quote in a string that is itself delimited by double quotes, use \' to use
421 a single quote in a string that is itself delimited by single quotes.
422
423 Subtle note: in a construction like
424
425 USE MAILARGS " 't was brillig " and 't went well
426
427 the following arguments are passed to MAILER:
428
429 o " 't was brillig "
430 o and
431 o 't
432 o went
433 o well
434
435 So, when single- and double-quoted strings overlap, the first string is
436 taken as a string, and the information beyond the first string is thereupon
437 interpreted.
438
439 o USE REPORT reportfile
440
441 REPORT defines the name of the reportfile. Information is always
442 appended to this file. For each run of stealth a time marker line is
443 written to the report file. Such a marker line looks like this:
444
445 STEALTH (1.11) started at Mon Jun 16 12:57:26 2003
446
447 Only when (in addition to the marker line)
448 additional information was appended to the report file, the added contents of
449 the report file are mailed to the mail address specified in the USE EMAIL
450 specification.
451
452 Example showing the default:
453
454 USE REPORT report
455
456
457 o USE ROTATE interval: number interval-name[,]
458 [count: number][,]
459 [, zip: number [zip-program-path]]
460
461 ROTATE defines the parameters stealth will use to rotate its
462 report file. This USE specification supports three elements, the first of
463 which is obligatory when USE ROTATE is specified. Note that the square
464 brackets are not used in the specification, and indicate optional elements,
465 which may or may not be specified:
466
467 o interval: number interval-name defines the time interval
468 until the report file is rotated. Rotation can be specified using an integral,
469 positive number, followed by hour or hours for hours, day or
470 days for days, week or weeks for weeks and month or months
471 for months. By default no rotation takes place. If rotation is requested, the
472 current report file is moved to the file reportfile.1, while existing
473 numbered reportfiles are moved to higher ordered numbers first (so, before
474 moving the current reportfile to reportfile.1, an existing
475 reportfile.1 is first moved to reportfile.2, etc.).
476 o count: number defines the number of report files stealth
477 will eventually use. By default, if USE ROTATE is specified, there is no
478 practical limit to the number of report files stealth will create (in
479 these cases, another program supposedly controls the number of report files
480 that will eventually be used). External programs may freely manipulate all
481 report files that have been rotated by stealth, but they should not modify
482 the active report file (specified using the USE REPORT specification).
483 o zip: number zip-program-path defines the first of the rotated
484 files that should be compressed, using zip-program-path to compress the
485 report files. By default, no compression is used, but if zip: is
486 specified, the default program that will be used to compress a report file is
487 /bin/gzip. If another program is used, it should expect a filename as its
488 first argument, which will then be zipped to a new file receiving the
489 extension .gz, appended to the name that was provided as its first
490 argument. The original file is removed during the zipping-process.
491
492 Example showing a report interval of one week, using a total of 12 report
493 files, compressing all report files but the actual report file and its
494 predecessor (having filename reportfile.1):
495
496 USE ROTATE interval: 1 week, count: 12, zip: 2 /bin/gzip
497
498
499 o USE SH sh-specification
500
501 The SH specification uses /bin/sh as default, and defines the
502 command shell used by the controller to execute local commands.
503
504 Example showing the default:
505
506
507 USE SH /bin/sh
508
509
510 o USE SSH ssh-specification
511
512 The SSH specification has no default, and must be
513 specified. Assuming the client trusts the controller (which is, after all,
514 what this program is all about; so this should not be a very strong
515 assumption), preferably the public ssh-identity key of the controller should
516 be placed in the client's root .ssh/authorized_keys file, granting the
517 controller root access to the client. Root access is normally needed to gain
518 access to all directories and files of the client's file system.
519
520 In practice, connecting to a account using the sh(1) shell is
521 preferred. When another shell is already used by that account, one should make
522 sure that that shell doesn't setup its own redirections for standard input and
523 standard output. One way to accomplish that is for force the execution of
524 /bin/sh in the USE SSH specification.
525
526 An example of an SSH specification to scan a localhost is:
527
528 USE SSH root@localhost -T -q # root's shell is /bin/sh
529
530
531 The same, now explicitly using /bin/bash:
532
533 USE SSH root@localhost -T -q exec /bin/bash # root uses another shell
534
535
536 Alternatively, --profile can be specified to prevent any
537 profile-initialization:
538
539 USE SSH root@localhost -T -q exec /bin/bash --noprofile
540
541
542 Note, however, that using stealth to inspect localhost is not
543 recommended, as it counters one of the main reasons for stealth's
544 existence.
545
546 As yet another alternative, applicable only to localhost, ssh
547 could be avoided altogether. In that case /bin/bash or a comparable shell
548 may be specified with USE SSH. For example:
549
550 # For stealth inspecting localhost:
551 USE SSH /bin/bash --noprofile
552
553
554
555 3.3: Commands
556
557
558 Following the USE specifications, commands can be specified. The
559 commands are executed in their order of appearance in the policy
560 file. Processing continues until the last command has been processed or until
561 a tested command (see below) returns a non-zero return value.
562
563
564 3.3.1: LABEL commands
565
566
567 The following LABEL commands are available:
568
569 o LABEL text
570
571 This defines a text-label which is written to the REPORT file,
572 just before the output generated by the next CHECK-command. If the next
573 CHECK-command generates no output, the label is not written to the
574 REPORT-file. Once a LABEL has been defined, it is used until it is
575 redefined by the next LABEL command. Use an empty LABEL command to
576 suppress the printing of labels.
577
578 The text may contain \n characters (two characters) which are
579 transformed to a newline character.
580 o LABEL
581
582 As noted, this clears a previously defined LABEL command.
583
584
585 Examples:
586
587 LABEL Inspecting files in /etc\nIncluding subdirectories
588 LABEL
589
590 The second LABEL command clears the first label.
591
592
593 3.3.2: LOCAL commands
594
595
596 LOCAL commands can be used to specify commands that are
597 executed on the controller itself. The following LOCAL commands are
598 available:
599
600 o LOCAL command
601
602 Execute command on the controller, using the SH command
603 shell. The command must succeed (i.e., must return a zero exit value).
604 Example:
605
606 LOCAL mkdir /tmp/client
607
608 This command will create the directory /tmp/client on the controller.
609
610 o LOCAL NOTEST command
611
612 Execute command on the controller, using the SH command
613 shell. The command may or may not succeed.
614 Example:
615
616 LOCAL NOTEST mkdir /tmp/subdir
617
618 This command will create /tmp/subdir on the controller. The command
619 will fail if the directory cannot be created, but this will not terminate
620 stealth.
621
622 o LOCAL CHECK [LOG =] logfile command
623
624 Execute command on the controller, using the SH command shell.
625 The phrase `LOG =' is optional.
626 If
627 the command does not succeed a warning message is written to the report
628 file. The warning message informs the reader that `remaining results might be
629 forged:
630
631 *** BE CAREFUL *** REMAINING RESULTS MAY BE FORGED
632
633 This situation may occur, e.g., if an essential program (like sha1sum)
634 was transferred to the controller, and it was apparently modified since the
635 previous check. Processing continues, but remaining checks performed at the
636 client computer should be interpreted with extreme caution.
637
638 The output of this command is compared to the output of this command
639 generated during the previous run of stealth. Any differences are written
640 to REPORT.
641
642 If differences were found, the existing logfile name is renamed to
643 logfile.YYYYMMDD-HHMMSS, with YYYYMMDD-HHMMSS the datetime-stamp at
644 the time stealth was run.
645
646 Over time, many logfile.YYMMDD-HHMMSS files could be accumulated.
647 It is up to the controller's systems manager to decide what to do
648 with old datetime-stamped logfiles. For instance, the following script
649 will remove all stealth reports below the current directory that are
650 older than 30 days:
651
652 #/bin/sh
653 FILES=`find ./ -path '*[0-9]' -mtime +30 -type f`
654
655 if [ "$FILES" != "" ] ; then
656 rm -f $FILES
657 fi
658
659
660 The logfile specifications may use relative and absolute paths. When
661 relative paths are used, these paths are relative to BASE. When the
662 directories implied by the logfile specifications do not yet exist, they
663 are created first.
664
665 Example:
666
667 LOCAL CHECK LOG = local/sha1sum sha1sum /tmp/sha1sum
668
669 This command will check the SHA1 sum of the /tmp/sha1sum program. The
670 resulting output is saved at BASE/local/sha1sum. The program must
671 succeed (i.e., sha1sum must return a zero exit-value).
672
673 o LOCAL NOTEST CHECK [LOG =] logfile command
674
675 Execute command on the controller, using the SH command
676 shell. The phrase `LOG =' is optional.
677 The command may or may not succeed. Otherwise, the program acts
678 identically as the LOCAL CHECK ... command, discussed previously.
679
680 Example:
681
682 LOCAL NOTEST CHECK LOG=local/sha1sum sha1sum /tmp/sha1sum
683
684 This command will check the SHA1 sum of the /tmp/sha1sum program. The
685 resulting output is saved at BASE/local/sha1sum. The program may or may
686 not succeed (i.e., sha1sum may or may not return a zero exit-value).
687
688
689
690 3.3.3: REMOTE commands
691
692
693 Plain commands can be executed on the client computer by merely
694 specifying them. Of course, this means that programs called
695 LABEL, LOCAL USE or DEFINE, cannot be executed, since
696 these names are interpreted otherwise by stealth. It's unlikely that this
697 will cause problems. Remote commands must succeed (i.e., their return
698 codes must be 0).
699
700 Remote commands are commands executed on the client using the SSH
701 shell. These commands are executed using the standard PATH set for the
702 SSH shell. However, it is advised to specify the full pathname to the
703 programs to be executed, to prevent ``trojan approaches'' where a trojan horse
704 is installed in an `earlier' directory of the PATH-specification than the
705 intended program.
706
707 Two special remote commands are GET and PUT, which can be used to
708 copy files between the client and the controller. Internally, GET and
709 PUT use the DD use-specification. If a non-default specification is
710 used, one should ensure that the alternate program accepts dd(1)'s if=,
711 of=, bs= and count= options. With GET the options bs=, count= and
712 of= are used, with PUT the options bs=, count= and if= are
713 used. Normally there should be no need to alter the default DD
714 specification.
715
716 The GET command may be used as follows:
717
718 o GET <client-path> <local-path>
719
720 Copy the file indicated by client-path at the client to local-path
721 at the controller. client-path must be the full path of an existing file
722 on the client, local-path may either be a local directory, in which case
723 the client's file name is used, or another file name may be specified, in
724 which case the client's file is copied to the specified local filename. If the
725 local file already exists, it is overwritten by the copy-procedure.
726
727 Example:
728
729 GET /usr/bin/sha1sum /tmp
730
731 The program /usr/bin/sha1sum, available at the client, is copied to the
732 controller's /tmp directory. If the copying fails for some reason,
733 any subsequent commands are skipped, and stealth terminates.
734
735 o GET NOTEST <client-path> <local-path>
736
737 Copy the file indicated by client-path at the client to local-path
738 at the controller. client-path must be the full path of an existing file
739 on the client, local-path may either be a local directory, in which case
740 the client's file name is used, or another file name may be specified, in
741 which case the client's file is copied to the specified local filename. If the
742 local file already exists, it is overwritten by the copy-procedure.
743
744 Example:
745
746 GET NOTEST /usr/bin/sha1sum /tmp
747
748 The program /usr/bin/sha1sum, available at the client, is copied to the
749 controller's /tmp directory. Remaining commands in the policy file are
750 executed, even if the copying process wasn't successful.
751
752
753 The PUT command may be used as follows:
754
755 o PUT <local-path> <remote-path>
756
757 Copy the file indicated by local-path at the controller to
758 remote-path at the client. The argument local-path must be the
759 full path of an existing file on the controller. The argument remote-path
760 must be the full path to a file on the client. If the remote file already
761 exists, it is overwritten by PUT.
762
763 Example:
764
765 PUT /tmp/sha1sum /usr/bin/sha1sum
766
767 The program /tmp/sha1sum, available at the controller, is copied to the
768 client as usr/bin/sha1sum. If the copying fails for some reason,
769 any subsequent commands are skipped, and stealth terminates.
770
771 o PUT NOTEST <local-path> <remote-path>
772
773 Copy the file indicated by local-path at the controller to
774 remote-path at the client. The argument local-path must be the
775 full path of an existing file on the controller. The argument remote-path
776 must be the full path to a file on the client. If the remote file already
777 exists, it is overwritten by PUT.
778
779 Example:
780
781 PUT NOTEST /tmp/sha1sum /usr/bin/sha1sum
782
783 Copy the file indicated by local-path at the controller to
784 remote-path at the client. The argument local-path must be the full
785 path of an existing file on the controller. The argument remote-path must
786 be the full path to a file on the client. If the remote file already exists,
787 it is overwritten by PUT. Remaining commands in the policy file are
788 executed, even if the copying process wasn't successful.
789
790
791 Other commands to be executed on the client can be specified as follows:
792
793
794 o command
795
796 Execute `command' on the client, using the SSH command
797 shell. The command must succeed (i.e., must return a zero exit
798 value). However, any output generated by the command is ignored.
799 Example:
800
801 /usr/bin/find /tmp -type f -exec /bin/rm {} \;
802
803 This command will remove all ordinary files at and below the client's
804 /tmp directory.
805
806 o NOTEST command
807
808 Execute command on the client, using the SSH command
809 shell. The command may or may not succeed.
810
811 Example:
812
813 NOTEST /usr/bin/find /tmp -type f -exec /bin/rm {} \;
814
815 Same as the previous command, but this time the exit value of
816 /usr/bin/find is not interpreted.
817
818 o CHECK [LOG =] logfile command
819
820 Execute command on the client, using the SSH command
821 shell. The phrase `LOG =' is optional.
822 The command must succeed. The output of this command is compared to the
823 output of this command generated during the previous run of stealth. Any
824 differences are written to REPORT. If differences were found, the existing
825 logfile name is renamed to logfile.YYYYMMDD-HHMMSS, with
826 YYYYMMDD-HHMMSS the datetime-stamp at the time stealth was run.
827
828 Note that the command is executed on the client, but the logfile is kept
829 on the controller. This command represents the core of the method implemented
830 by stealth: there will be no residues of the actions performed by
831 stealth on the client computers.
832
833 Several examples (note the use of the backslash as line continuation
834 characters):
835
836
837 CHECK LOG = remote/ls.root /usr/bin/find / \
838 -xdev -perm +6111 -type f -exec /bin/ls -l {} \;
839
840 All suid/gid/executable files on the same device as the root-directory (/)
841 on the client computer are listed with their permissions, owner and size
842 information. The resulting listing is written on the file
843 BASE/remote/ls.root.
844
845 This long command could be formulated shorter using a DEFINE:
846
847 DEFINE LSFIND -xdev -perm +6111 -type f -exec /bin/ls -l {} \;
848 CHECK remote/ls.root /usr/bin/find / ${LSFIND}
849
850
851 Another example:
852
853 DEFINE SHA1SUM -xdev -perm +6111 -type f -exec /usr/bin/sha1sum {} \;
854 CHECK remote/sha1.root /usr/bin/find / ${SHA1SUM}
855
856 The SHA1 checksums of all suid/gid/executable files on the same device as
857 the root-directory (/) on the client computer are determined. The resulting
858 listing is written on the file BASE/remote/sha1.root.
859
860 o NOTEST CHECK [LOG =] logfile command
861
862 Execute command on the client, using the SSH command
863 shell. The phrase `LOG =' is optional.
864 The command may or may not succeed. Otherwise, the program acts
865 identically as the CHECK ... command, discussed previously.
866 Example (using the same ${SHA1SUM})definition:
867
868 NOTEST CHECK LOG = remote/sha1.root /usr/bin/find / ${SHA1SUM}
869
870 The SHA1 checksums of all suid/gid/executable files on the same device as
871 the root-directory (/) on the client computer are determined. The resulting
872 listing is written on the file BASE/remote/sha1.root. stealth will
873 not terminate if the /usr/bin/find program returns a non-zero exit value.
874
875
876
877 3.3.4: Preventing Controller Denial of Service (--max-size)
878
879
880 Either by malicious intent or by accendent (as happened to me) the controller
881 may be a victim of a Denial of Service (DOS) attack. This DOS attack may
882 happen when the client (apparently) sends a never ending stream of bytes in
883 response to a GET or REMOTE command. One of my controllers once fell
884 victim to this attack when a client's power went down and the controller kept
885 on trying to read bytes from that client filling up the controllers disk....
886
887 This problem was of course caused by a programming error: while reading
888 information from a client stealth failed to check whether the reading
889 had actually succeeded. This bug has now been fixed, but an intentional
890 DOS attack could still be staged along this line by a hacker who manages to
891 replace, e.g., the find(1) command by a manipulated version which would
892 continue to write information to its standard output stream. Without further
893 precaution stealth would receive a never ending stream of bytes as its
894 `report' thus causing its disk to fill.
895
896 To prevent this from happening stealth now offers the --max-size
897 command line option allowing the specification of the maximum size of a stream
898 of bytes received by stealth (e.g., a report or downloaded file). The
899 maximum is used for each individual download and can be specified in bytes
900 (using no suffix or the B suffix), kilo-bytes (using K), mega-bytes
901 (using M) or giga-bytes (using G). The default is set at 10M,
902 equivalent to the command line specification of --max-size 10M.
903
904 If a file or report received from the client exceeds its maximum allowed size
905 then stealth terminates after writing the following message to the report
906 file (which is sent to the configured mail address):
907
908 STEALTH - CAN'T CONTINUE: `<name of offending file>' EXCEEDS MAX.
909 DOWNLOAD SIZE (<size shown>)
910 STEALTH - THIS COULD SIGNAL A SERIOUS PROBLEM WITH THE CLIENT
911 STEALTH - ONE OR MORE LOG FILES MAY BE INVALID AS A RESULT
912 STEALTH - *** INVESTIGATE ***
913
914 Since a --max-size specification may cause stealth to terminate
915 while receiving the output of a (remotely run) command, an empty or partial
916 log file will be the result. Of course this partial result is spurious as it
917 is a direct result of stealth terminating due to a size violation.
918
919 After investigating (and removing) the reasons for the size violation a
920 new stealth run using the previous log file as the latest baseline should
921 show only expected changes.
922
923 For example, assume the following situation represents a (valid) state of
924 logfiles:
925
926 etc stealth
927 setuid stealth.20080316-105756
928
929 Now stealth is run with --max-size 20, prematurely
930 terminating stealth. This results in the following set of logfiles:
931
932 etc stealth
933 setuid stealth.20080316-105756
934 stealth.20080316-110215
935
936 The file stealth now contains incomplete data with the (latest) file
937 stealth.20080316-110215 containing its previous contents.
938
939 Now the reasons for the size-violation should be investigated and
940 removed. It is suggested to move the file last saved
941 (stealth.20080316-110215) to the file stealth, as it represents the
942 state before the size violation was encountered. Following this stealth
943 should operate normally again.
944
945
946 Chapter 4: Granting access
947
948 Access is granted via the ssh protocol.
949
950 The client must allow the controller to connect using ssh. Since normally
951 no username and password can be given, the client must allow the controller to
952 connect without specifying a password.
953
954 This is realized using public key technology, assuming open-SSH is
955 available on both computers, with the client running an sshd daemon.
956
957
958 4.0.1: The controller's user: creating an ssh-key
959
960
961 The user on the controller who will call stealth to scan the client,
962 now generates an ssh-keypair:
963
964 ssh-keygen -t rsh
965
966 This will generate a public/private ssh key pair in .ssh in the user's
967 home directory. The program asks for a passphrase which should, for the
968 purpose of stealth be empty: just pressing Enter as a response to
969 the question
970
971 Enter passphrase (empty for no passphrase):
972
973 will do the trick (a confirmation is requested: press Enter again).
974 The program returns a key fingerprint, e.g.,
975
976 03:96:49:63:8a:64:33:45:79:ab:ca:de:c8:c8:4f:e9 user@controller
977
978 which may be saved and used for future reference.
979
980 In the directory user's .ssh directory the files id_rsa and
981 id_rsa.pub are now created.
982
983 This completes the actions on the controller.
984
985
986 4.0.2: The client's account: accepting ssh from the controller's user
987
988
989 Next, the account on the client where the ssh command connects to
990 (using a specification in the policy file like
991
992 USE SSH /usr/bin/ssh -q account@client
993
994 must now grant access to the controller's user. In order to do so, the file
995 id_rsa.pub of the user at the controller is added to the file
996 authorized_keys in the .ssh directory of the account on the client:
997
998 # transfer user@controller's file id_rsa.pub to the client's /tmp
999 # directory. Then do:
1000
1001 cat /tmp/id_rsa.pub >> /home/account/.ssh/authorized_keys
1002
1003
1004 Now user@controller may login at acount@client without specifying a
1005 password.
1006
1007
1008 4.0.3: Logging into the account@client account
1009
1010
1011 When user@controller now issues the command
1012
1013 ssh account@controller
1014
1015 Ssh responds as follows:
1016
1017 The authenticity of host 'controller (xxx.yyy.aaa.bbb)' can't be
1018 established.
1019 RSA key fingerprint is c4:52:d6:a3:d4:65:0d:5e:2e:66:d8:ab:de:ad:12:be.
1020 Are you sure you want to continue connecting (yes/no)?
1021
1022 Answering yes results in the message:
1023
1024 Warning: Permanently added 'controller,xxx.yyy.aaa.bbb' (RSA) to the
1025 list of known hosts.
1026
1027
1028 The next time a login is attempted, the authenticity question isn't asked
1029 anyore. However, the proper value of the host's RSA key fingerprint (i.e., the
1030 key fingerprint of the client computer) should
1031 always be verified to prevent man in the middle attacks. The proper
1032 value may be obtained at the client computer by issuing the command
1033
1034 ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub
1035
1036 This should result in the same value as the fingerprint shown when the
1037 first ssh connection was made. E.g.,
1038
1039 1024 c4:52:d6:a3:d4:65:0d:5e:2e:66:d8:ab:de:ad:12:be ssh_host_rsa_key.pub
1040
1041
1042
1043 4.0.4: Using the proper shell
1044
1045
1046 On order to minimize the amount of clutter and possible complications when
1047 only a simple command-shell is required for executing commands, it is
1048 suggested to use a bash or sh shell when logging into the
1049 account@client's account.
1050
1051 When another shell is already used for account@client, then an extra
1052 account (optionally using the same UID as the original account, but
1053 using sh(1) as the shell), could be used.
1054
1055 In the passwd(5) file this could be realized for root as
1056 rootsh as follows:
1057
1058
1059 rootsh:x:0:0:root:/root:/bin/sh
1060
1061 If shadow passwording is used, an appropriate entry in the /etc/shadow
1062 file is required as well.
1063
1064
1065 Chapter 5: Running `stealth'
1066
1067 Now that stealth has been compiled, the construction of a policy file has
1068 been covered, and a service-account on the client has been defined, what must
1069 be done to run stealth in practice?
1070
1071 Here's what remains to be done:
1072
1073 o Install stealth at a proper location
1074 o Construct one or more policy files
1075 o Learn to interpret stealth's output.
1076 o Optionally, automate the removal of old log-files.
1077 o Determine a schedule for running stealth automatically, e.g. using
1078 cron(1)
1079
1080 In this chapter, these topics will be discussed.
1081
1082
1083 5.1: Installing `stealth'
1084
1085 As stealth is mainly a system administrator's tool, it could be
1086 installed in /usr/local/sbin. In that case, do (as root) from the
1087 directory where stealth was compiled/unpacked:
1088
1089 install stealth /usr/local/sbin
1090
1091 options given to install(1) may restrict further use of stealth.
1092
1093
1094 5.2: Construct one or more policy files
1095
1096 Here we assume that stealth is run by root, and that root wants to
1097 store information about the host client under the subdirectory
1098 /root/stealth/client.
1099
1100 Stealth reports should be sent to the user admin@elsewhere, who is only
1101 interested in a short notice of changes, as the full report can always be read
1102 elsewhere. So, a support-script is developed to further filter the report
1103 generated by stealth.
1104
1105 As the sha1sum program on the client may be hacked, it is a good idea to
1106 transfer the client's sha1sum program to the controller first, in order to
1107 check that program locally, before trusting it to compute the sha1sums of the
1108 client's files. The same holds true for any libraries and support programs
1109 (like find) that are used intensively during integrity scans
1110
1111 Sha1sum checks should be performed on all setuid and setgid files on the
1112 client, and in order to be able reach all files on client,
1113 root@controller is allowed to login to the root@client account using a
1114 password-less ssh connection.
1115
1116 Furthermore, sha1sum checks should be performed on all configuration files,
1117 living under /etc and on the file /usr/bin/find which is used
1118 intensively to perform the checks.
1119
1120 The required policy file is constructed as follows, per section:
1121
1122
1123 5.2.1: the DEFINE directives
1124
1125
1126
1127 DEFINE SSHCMD /usr/bin/ssh root@client -T -q exec /bin/bash --noprofile
1128 DEFINE EXECSHA1 -xdev -perm +u+s,g+s \( -user root -or -group root \) \
1129 -type f -exec /usr/bin/sha1sum {} \;
1130
1131 The first DEFINE defines the ssh command to use: an ssh-connection
1132 will be made to the root account at the client.
1133
1134 The second DEFINE shows the arguments for find(1) when looking for
1135 all root setuid or setgid normal files. For all these files the sha1sum(1)
1136 program should be run.
1137
1138
1139 5.2.2: the USE directives
1140
1141
1142
1143 USE BASE /root/stealth/client
1144 USE EMAIL admin@elswhere
1145 USE MAILER /root/bin/stealthmail
1146 USE MAILARGS "Client STEALTH report"
1147 USE SSH ${SSHCMD}
1148
1149
1150 o All output will be written under the /root/stealth/client
1151 directory.
1152 o Mail will be sent to the user admin@elsewhere.
1153 o The mail program will be a script (stealthmail), living in
1154 /root/bin.
1155 o The script handles its own argument. As it can be used for other
1156 stealth-scans as well, it is given an argument which can be used as the
1157 subject when sending mail, identifying the computer that has been scanned.
1158 o The ssh-command is defined by the SSH-DEFINE.
1159 o the default values of all remaining USE directives can be used,
1160 and were therefore not specified. They are:
1161
1162 USE DD /bin/dd
1163 USE DIFF /usr/bin/diff
1164 USE PIDFILE /var/run/stealth-
1165 USE REPORT report
1166 USE SH /bin/sh
1167
1168
1169
1170
1171 5.2.3: the commands
1172
1173
1174 First, we'll copy the client's sha1sum program to the controller. In practice,
1175 this should also include the shared object libraries that are used by sha1sum,
1176 as they might have become corrupted as well.
1177
1178
1179 5.2.3.1: Obtain the client's sha1sum program
1180
1181
1182 First, the sha1sum program is copied to a local directory
1183
1184 GET /usr/bin/sha1sum /root/tmp
1185
1186 This command must succeed.
1187
1188
1189 5.2.3.2: Check the integrity of the client's sha1sum program
1190
1191
1192 Next, we'll check the received sha1sum program, using our own:
1193
1194 LABEL \nCheck the client's sha1sum program
1195 LOCAL CHECK LOG = local/sha1 /usr/bin/sha1sum /root/tmp/sha1sum
1196
1197 The LABEL command will write the label to the report file just before
1198 the output of the sha1sum program is generated.
1199
1200 The LOCAL command will check the sha1sum of the program copied from the
1201 client. The report is written on the file
1202 /root/stealth/client/local/sha1. If this fails, the program will not
1203 continue, but will alert admin@elsewhere that the check failed. This is of
1204 course rather serious, as it indicates that either the controller's sha1sum
1205 is behaving unexpectedly or that the client's sha1sum program has changed.
1206
1207 The sha1sum program may have changed due to a normal upgrade. If
1208 so, admin@elsewhere will know this, and can (probably) ignore the
1209 warning. The next time stealth is run, the (now updated) SHA1 value is
1210 used, and it should again match the obtained SHA1 value from the copied
1211 sha1sum program.
1212
1213
1214 5.2.3.3: Check the client's /usr/bin/find command
1215
1216
1217 The client will use it's find command intensively: find is a great
1218 tool for producing files having almost any conceivable combination of
1219 characteristics. Of course, the client's find command itself must be ok,
1220 as well as the client's sha1sum program. Now that we know that the client's
1221 sha1sum program is ok, we can use it to check the client's /usr/bin/find
1222 program.
1223
1224 Note that the controller itself will not suffer any processing load here: only
1225 the client itself is taxed for checking the intergrity of its own files:
1226
1227 LABEL \nchecking the client's /usr/bin/find program
1228 CHECK LOG = remote/binfind /usr/bin/sha1sum /usr/bin/find
1229
1230
1231
1232 5.2.3.4: Check the client's setuid/setgid files
1233
1234
1235 Having checked the client's sha1sum and find programs, sha1 checksum
1236 checks should be performed on all setuid and setgid files on the
1237 client. For this we activate the sha1sum program on the client. In
1238 order to check the setuid/setgid files, the following command is added to the
1239 policy file:
1240
1241 LABEL \nsuid/sgid/executable files uid or gid root on the / partition
1242 CHECK LOG = remote/setuidgid /usr/bin/find / ${EXECSHA1}
1243
1244
1245
1246 5.2.3.5: Check the configuration files in the client's /etc/ directory
1247
1248
1249 Finally, the client's configuration files are checked. Some of these files
1250 change so frequently that we don't want them to be checked. E.g.,
1251 /etc/adjtime, /etc/mtab. To check the configuration file, do:
1252
1253 LABEL \nconfiguration files under /etc
1254 CHECK LOG = remote/etcfiles \
1255 /usr/bin/find /etc -type f -not -perm +6111 \
1256 -not -regex "/etc/\(adjtime\|mtab\)" \
1257 -exec /usr/bin/sha1sum {} \;
1258
1259
1260
1261 5.2.4: The complete `policy' file
1262
1263
1264 Here is the complete policy file that we've constructed so far:
1265
1266 DEFINE SSHCMD /usr/bin/ssh root@client -T -q exec /bin/bash --noprofile
1267 DEFINE EXECSHA1 -xdev -perm +u+s,g+s \( -user root -or -group root \) \
1268 -type f -exec /usr/bin/sha1sum {} \;
1269
1270 USE BASE /root/stealth/client
1271 USE EMAIL admin@elswhere
1272 USE MAILER /root/bin/stealthmail
1273 USE MAILARGS "Client STEALTH report"
1274 USE SSH ${SSHCMD}
1275
1276 USE DD /bin/dd
1277 USE DIFF /usr/bin/diff
1278 USE PIDFILE /var/run/stealth-
1279 USE REPORT report
1280 USE SH /bin/sh
1281
1282 GET /usr/bin/sha1sum /root/tmp
1283
1284 LABEL \nCheck the client's sha1sum program
1285 LOCAL CHECK LOG = local/sha1 /usr/bin/sha1sum /root/tmp/sha1sum
1286
1287 LABEL \nchecking the client's /usr/bin/find program
1288 CHECK LOG = remote/binfind /usr/bin/sha1sum /usr/bin/find
1289
1290 LABEL \nsuid/sgid/executable files uid or gid root on the / partition
1291 CHECK LOG = remote/setuidgid /usr/bin/find / ${EXECSHA1}
1292
1293 LABEL \nconfiguration files under /etc
1294 CHECK LOG = remote/etcfiles \
1295 /usr/bin/find /etc -type f -not -perm +6111 \
1296 -not -regex "/etc/\(adjtime\|mtab\)" \
1297 -exec /usr/bin/sha1sum {} \;
1298
1299
1300
1301
1302
1303
1304
1305 5.3: Running `stealth' for the first time
1306
1307 When stealth is now run, it will create its initial report files under
1308 root/stealth/client.
1309
1310 The first time stealth is run, it is usually run `by hand':
1311
1312
1313 stealth policy
1314
1315 this will show all executed commands on the standard output, and will
1316 initialize the reports. Running stealth this way for the just constructed
1317 policy file results in the following output (lines were wrapped to improve
1318 readability):
1319
1320 GET /usr/bin/sha1sum /root/tmp
1321 LABEL \nCheck the client's sha1sum program
1322 LOCAL CHECK LOG = local/sha1 /usr/bin/sha1sum /root/tmp/sha1sum
1323 LABEL \nchecking the client's /usr/bin/find program
1324 CHECK LOG = remote/binfind /usr/bin/sha1sum /usr/bin/find
1325 LABEL \nsuid/sgid/executable files uid or gid root on the / partition
1326 CHECK LOG = remote/setuidgid /usr/bin/find / -xdev -perm +u+s,g+s
1327 \( -user root -or -group root \) -type f
1328 -exec /usr/bin/sha1sum {} \;
1329 LABEL \nconfiguration files under /etc
1330 CHECK LOG = remote/etcfiles /usr/bin/find /etc
1331 -type f -not -perm +6111 -not -regex "/etc/\(adjtime\|mtab\)"
1332 -exec /usr/bin/sha1sum {} \;
1333 LOCAL /usr/bin/scp -q root@client:/usr/bin/sha1sum /root/tmp
1334 LABEL \nCheck the client's sha1sum program
1335 LOCAL CHECK LOG = local/sha1 /usr/bin/sha1sum /root/tmp/sha1sum
1336 LABEL \nchecking the client's /usr/bin/find program
1337 CHECK LOG = remote/binfind /usr/bin/sha1sum /usr/bin/find
1338 LABEL \nsuid/sgid/executable files uid or gid root on the / partition
1339 CHECK LOG = remote/setuidgid /usr/bin/find / -xdev -perm +u+s,g+s
1340 \( -user root -or -group root \) -type f
1341 -exec /usr/bin/sha1sum {} \;
1342 LABEL \nconfiguration files under /etc
1343 CHECK LOG = remote/etcfiles /usr/bin/find /etc
1344 -type f -not -perm +6111 -not -regex "/etc/\(adjtime\|mtab\)"
1345 -exec /usr/bin/sha1sum {} \;
1346
1347
1348 This all produces the following output:
1349
1350
1351 5.3.1: The mailed report
1352
1353
1354 The /root/bin/stealthmail is called with the following arguments:
1355
1356 "Client STEALTH report" admin@elswhere
1357
1358
1359 The contents of the mailed report now is (the date will of course change, the
1360 next time stealth is run):
1361
1362 STEALTH (1.21) started at Mon Nov 24 10:50:30 2003
1363
1364 Check the client's sha1sum program
1365 Initialized report on local/sha1
1366
1367 checking the client's /usr/bin/find program
1368 Initialized report on remote/binfind
1369
1370 suid/sgid/executable files uid or gid root on the / partition
1371 Initialized report on remote/setuidgid
1372
1373 configuration files under /etc
1374 Initialized report on remote/etcfiles
1375
1376
1377
1378 5.3.2: Files under /root/stealth/client
1379
1380
1381 Under /root/stealth/client the following entries are now available:
1382
1383
1384 o local: below this directory the reports of the locally performed
1385 checks are found. Using our demo policy file, only one logfile is found
1386 here: sha1, containing the client's SHA1 checksum of its /usr/bin/sha1sum
1387 program:
1388
1389 45251e259bfaf1951658a7b66c328c52 /root/tmp/sha1sum
1390
1391 o remote: at this directory the reports of the remotely performed
1392 checks are found. Using our demo policy file, three files were created:
1393
1394 The file binfind, containing the checksum of the client's
1395 /usr/bin/find program:
1396
1397 fc62fc774999584f1e29e0f94279a652 /usr/bin/find
1398
1399
1400 The file etcfiles, containing the checksums of the client's
1401 configuration files under /etc (shown only partially):
1402
1403 ced739ecb2c43a20053a9f0eb308b2b0 /etc/modutils/aliases
1404 a2322d7e2f95317b2ddf3543eb4c74c0 /etc/modutils/paths
1405 f9e3eac60200d41dd5569eeabb4eddff /etc/modutils/arch/i386
1406 f07da2ebf00c6ed6649bae5501b84c4f /etc/modutils/arch/m68k.amiga
1407 2893201cc7f7556160fa9cd1fb5ba56a /etc/modutils/arch/m68k.atari
1408 ...
1409 bf73b4e76066381cd3caf80369ce1d0e /etc/deluser.conf
1410 4cd70d9aee333307a09caa4ef003501d /etc/adduser.conf.dpkg-save
1411 8c749353c5027d0065359562d4383b8d /etc/gimp/1.2/gtkrc_user
1412 3ec404ec597ef5460600cccf0192f4d6 /etc/gimp/1.2/unitrc
1413 8c740345b891179228e3d1066291167b /etc/gimp/1.2/gtkrc
1414
1415
1416 The file setuidgid, containing the checksums of the client's
1417 setuid/setgid root files (shown only partially):
1418
1419 030f3f84ec76a8181cca087c4ba655ea /bin/login
1420 b6c0209547d88928f391d2bf88af34aa /bin/ping
1421 5d324ad212b2ff8f767637ac1a8071ec /bin/su
1422 344dbedc398d5114966914419ef53fcc /usr/bin/wall
1423 27b045bd7306001f9ea31bc18712d8b7 /usr/bin/rxvt-xpm
1424 ...
1425 3567b18ffc39c2dc6ec0c0d0fc483f4f /usr/lib/ssh-keysign
1426 3383a7955ac2406311e9aa51c6ac9c2c /usr/X11R6/bin/X
1427 3c99ea0425c6e0278039e16478d2fb57 /usr/X11R6/bin/xterm
1428 d590f7f5b4d6ae61680692a52235d342 /usr/local/bin/setuidcall
1429 4c17203d7d91ec4946dea2f0ae365d5b /sbin/unix_chkpwd
1430
1431
1432 Of course, the checksums and the filenames shown are only for
1433 documentation purposes. At other systems this will show different files and/or
1434 checksums, no doubt.
1435
1436 o The file /root/client/report New lines are always appended to
1437 the /root/client/report file. It will never shorten, unless shorten by
1438 the systems administrator at `controller'.
1439
1440 This file contains the following:
1441
1442 STEALTH (1.21) started at Mon Nov 24 10:50:30 2003
1443
1444 Check the client's sha1sum program
1445 Initialized report on local/sha1
1446
1447 checking the client's /usr/bin/find program
1448 Initialized report on remote/binfind
1449
1450 suid/sgid/executable files uid or gid root on the / partition
1451 Initialized report on remote/setuidgid
1452
1453 configuration files under /etc
1454 Initialized report on remote/etcfiles
1455
1456
1457
1458 This completes the information created by stealth during its first run.
1459
1460
1461 5.4: Running `stealth' again: all files unaltered
1462
1463 When stealth is run again, it will update
1464 its report files under root/stealth/client. If nothing has changed,
1465 the log-files will remain unaltered. The new run will, however, produce some
1466 new info on the file /root/client/report:
1467
1468 STEALTH (1.21) started at Mon Nov 24 10:50:30 2003
1469
1470 Check the client's sha1sum program
1471 Initialized report on local/sha1
1472
1473 checking the client's /usr/bin/find program
1474 Initialized report on remote/binfind
1475
1476 suid/sgid/executable files uid or gid root on the / partition
1477 Initialized report on remote/setuidgid
1478
1479 configuration files under /etc
1480 Initialized report on remote/etcfiles
1481
1482
1483 STEALTH (1.21) started at Mon Nov 24 10:54:35 2003
1484
1485 Note that just one extra line was added: a timestamp showing the date/time
1486 of the last run. The systems administrator may reduce/remove the report file
1487 every once in a while to reclaim some disk space.
1488
1489
1490 5.5: Running `stealth' again: modifications have occurred
1491
1492 Basically, three kinds of modifications are possible: additions,
1493 modifications, and removals. Here we'll show the effect all these changes have
1494 on stealth's output.
1495
1496 For the example, the following changes were made to the client's
1497 files:
1498
1499 o /etc/motd was changed
1500 o the file timezone~ was removed
1501 o the file /etc/motd.org was created
1502
1503
1504 Next, stealth was once again run, producing the following output:
1505
1506 o
1507 The following new info is now added to file /root/client/report:
1508
1509 STEALTH (1.21) started at Mon Nov 24 10:54:35 2003
1510
1511 configuration files under /etc
1512 ADDED: /etc/motd.org
1513 < 945d0b8208e9861b8f9f2de155e619f9 /etc/motd.org
1514 MODIFIED: /etc/motd
1515 < 7f96195d5f051375fe7b523d29e379c1 /etc/motd
1516 > 945d0b8208e9861b8f9f2de155e619f9 /etc/motd
1517 REMOVED: /etc/timezone~
1518 > 6322bc8cb3ec53f5eea33201b434b74b /etc/timezone~
1519
1520 Note that all changes were properly detected and logged in the file
1521 /root/client/report.
1522
1523 o Furthermore, a matching report was sent by mail:
1524
1525 STEALTH (0.90) started at Mon Oct 28 11:28:43 2002
1526
1527
1528 configuration files under /etc
1529 ADDED: /etc/motd.org
1530 < 945d0b8208e9861b8f9f2de155e619f9 /etc/motd.org
1531 MODIFIED: /etc/motd
1532 < 7f96195d5f051375fe7b523d29e379c1 /etc/motd
1533 > 945d0b8208e9861b8f9f2de155e619f9 /etc/motd
1534 REMOVED: /etc/timezone~
1535 > 6322bc8cb3ec53f5eea33201b434b74b /etc/timezone~
1536
1537 Note that the report only shows the info that was added to the
1538 /root/client/report file.
1539
1540 The report itself could be beautified further. I myself use the following
1541 script to mail the report to the addressee:
1542
1543 #!/bin/bash
1544
1545 NAME=`basename $0`
1546
1547 tee /root/stealth/lastreport/$NAME | egrep -v '^([[:space:]]|[[:space:]]*$)' |
1548 sort | uniq | mail -s $1 $2
1549
1550 For the client computer, this little script will write the mailed
1551 report on a file /root/stealth/lastreport/client, overwriting its previous
1552 contents, will remove all lines beginning with blanks (thus trimming away the
1553 diff-generated lines), and will mail the sorted and uniqed lines
1554 using mail. The addressee (admin@elsewhere) will receive the following
1555 information:
1556
1557 ADDED: /etc/motd.org
1558 MODIFIED: /etc/motd
1559 REMOVED: /etc/timezone~
1560 STEALTH (0.90) started at Mon Oct 28 11:28:43 2002
1561 configuration files under /etc
1562
1563 In practice this suffices to have me take action if something out of the
1564 ordinary has happened.
1565
1566 o Finally, the file
1567
1568 /root/stealth/client/remote/etcfiles
1569
1570 was recreated, saving the old file as
1571
1572 /root/stealth/client/remote/etcfiles.20021028-112851
1573
1574 As remarked earlier (see section 3.3), many
1575 logfile.YYMMDD-HHMMSS files could eventually accumulate. As discussed in
1576 section 3.3, it might be considered to remove old log files every
1577 now and then.
1578
1579
1580
1581 5.6: Failing LOCAL commands
1582
1583
1584 If the client's sha1sum program itself is altered, a serious situation
1585 has developed. In that case, further actions by stealth would be suspect,
1586 as their results might easily be currupted. Checks will proceed, but a
1587 warning is generated on the report file (and in the mail sent to
1588 admin@elsewhere:
1589
1590 STEALTH (1.21) started at Mon Nov 24 10:54:35 2003
1591
1592 Check the client's sha1sum program
1593 MODIFIED: /root/tmp/sha1sum
1594 < fc62fc774999584f1e29e0f94279a652 /root/tmp/sha1sum
1595 > 45251e259bfaf1951658a7b66c328c52 /root/tmp/sha1sum
1596
1597 *** BE CAREFUL *** REMAINING RESULTS MAY BE FORGED
1598
1599 configuration files under /etc
1600 REMOVED: /etc/motd.org
1601 > 945d0b8208e9861b8f9f2de155e619f9 /etc/motd.org
1602 MODIFIED: /etc/motd
1603 < 945d0b8208e9861b8f9f2de155e619f9 /etc/motd
1604 > 7f96195d5f051375fe7b523d29e379c1 /etc/motd
1605
1606 (The report shows the removal of the previously added file motd.org,
1607 and the modification of motd. These are real, as the original motd
1608 file, modified earlier, was restored at this point).
1609
1610
1611 5.7: Automating `stealth' runs using `cron'
1612
1613 In order to automate the execution of stealth, a file
1614 /etc/cron.d/stealth could be created, containing a line like
1615 (assuming stealth lives in /usr/sbin):
1616
1617 2,17,32,47 * * * * root test -x /usr/sbin/stealth && \
1618 /usr/sbin/stealth -q /root/stealth/client.pol
1619
1620 This will start stealth 2 minutes after every hour. Alternate schemes
1621 are left to the reader to design.
1622
1623 In general, randomizing events makes it harder to notice them.
1624 stealth may start its tasks at a random point in time if its
1625 -i flag (for random interval) is used. This flag expects an argument
1626 in seconds (or in minutes, if at least an m is appended to the interval
1627 specification). Somewhere between the time stealth starts and the
1628 specified interval the scan will commence. For example, the following two
1629 commands have identical effects: the scan is started somewhere between the
1630 moment stealth was started and 5 minutes:
1631
1632 stealth -i 5min -q /root/stealth/client.pol
1633 stealth -i 300 -q /root/stealth/client.pol
1634
1635 When the -d flag is given, the -i flag has no effect.
1636
1637 As another alternative, stealth my be started specifying the
1638 --keep-alive pidfile option. Here, pidfile is the name of a file that
1639 will contain the process id of the stealth process running in the background.
1640 For example:
1641
1642 stealth --keep-alive /var/run/stealth -i 300 -q /root/stealth/client.pol
1643
1644 Now, cron(1) may be used to restart this process at indicated times:
1645
1646 2,17,32,47 * * * * root test -x /usr/sbin/stealth && \
1647 /usr/sbin/stealth --rerun /var/run/stealth
1648
1649
1650 As yet another alternative, the cron-job may activate a script performing
1651 stealth's rerun, starting another stealth run if necessary. The
1652 advantage of such an approach is that stealth is automatically started
1653 after, e.g., a reboot. The following script expects two arguments (both of
1654 which must be absolute paths). The first argument is the path to the
1655 pidfile to use, the second argument is the path to the policy file to
1656 use. The script is found in the distribution package as
1657 /usr/share/doc/stealth/usr/sbin/stealthcron:
1658 #!/bin/bash
1659
1660 PROG=`basename $0`
1661 STEALTH=/usr/sbin/stealth
1662
1663 testAbsolute()
1664 {
1665 echo $1 | grep "^/" > /dev/null 2>&1 && return
1666
1667 echo "\`$1' must be absolute path"
1668 exit 1
1669 }
1670
1671 case $# in
1672 (2)
1673 testAbsolute $1
1674 testAbsolute $2
1675
1676 if [ -x ${STEALTH} ] ; then
1677 ${STEALTH} --rerun $1
1678 [ $? -eq 0 ] || ${STEALTH} --keep-alive $1 -q $2
1679 fi
1680 ;;
1681
1682 (*)
1683 echo "
1684 $PROG by Frank B. Brokken (f.b.brokken@rug.nl)
1685 Usage: $PROG [sleep] pidfile configfile
1686 where:
1687 pidfile: absolute path to pidfile to be used by ${STEALTH}
1688 configfile: absolute path to configuration file to be used by ${STEALTH}
1689
1690 calls $STEALTH} --rerun pidfile.
1691 If that fails, ${STEALTH} --keep-alive pidfile -q configfile is started.
1692 "
1693 exit 1
1694 ;;
1695 esac
1696
1697 The script could be called from /etc/cron.d/stealth using a line like
1698
1699 22 8 * * * root test -x /usr/sbin/stealthcron && /usr/sbin/stealthcron
1700 /var/run/stealth.target /usr/share/stealth/target.pol
1701
1702 Note that the command should be on a single line. It was spread out here
1703 over two lines to enhance readability.
1704
1705
1706 5.8: Report File Rotation
1707
1708 When stealth performs integrity scans it will append information to the
1709 report file. This file will therefore eventually grow to a large size, and the
1710 systems manager controlling stealth might want to rotate the report
1711 file every once in a while (e.g., using a program like logrotate(1), also
1712 see the upcoming section 5.8.2). In
1713 order to ensure that no log-rotation takes place while stealth is busy
1714 performing integrity scans (thus modifying the report file) the options
1715 --suppress and --resume were implemented. Both options require the
1716 process-ID file of currently active stealth process as their argument.
1717
1718 For example, if a stealth process was once started using the command
1719
1720
1721 stealth -q --keep-alive /var/run/stealth.small --repeat 900 \
1722 /var/stealth/policies/small.pol
1723
1724 then the --suppress and --resume commands for this process should
1725 be formulated as:
1726
1727 stealth --suppress /var/run/stealth.small
1728 stealth --resume /var/run/stealth.small
1729
1730 The stealth process identified in the files provided as arguments to
1731 the --suppress and --resume options is called the targeted stealth
1732 process below.
1733
1734 The --suppress option has the following effect:
1735
1736 o If the targeted stealth process is currently processing its
1737 policy file, performing a (new) integrity scan, then the currently executing
1738 policy file command is completed, whereafter further commands are ignored,
1739 except for --resume (see below) and --terminate.
1740 o Any scheduled integrity scans following the --suppress command
1741 are ignored for the targeted stealth process;
1742 o The targeted stealth process will write a message that it is
1743 being suppressed to the report file and will then process the report file as
1744 usual;
1745 o The targeted stealth process relinquishes its control over the
1746 report file;
1747 o The command `stealth --suppress pidfile' terminates.
1748
1749 Now that the report file will no longer be affected by the targeted
1750 stealth process, log-rotation may take place. E.g., a program like
1751 logrotate(1) allows its users to specify a command or script just before
1752 log-rotation takes place, and `stealth --suppress pidfile' could be
1753 specified nicely in such a pre-rotation section.
1754
1755 The --resume option has the following effect:
1756
1757 o The targeted stealth process resumes its activities by performing
1758 another integrity scan. Thus, --resume implies --rerun.
1759 o Any scheduled integrity scans following the --resume command are
1760 again honored by the targeted stealth process, following the completion of
1761 the --resume command.
1762 o The command `stealth --resume pidfile' terminates.
1763
1764 Note that, once --suppress has been issued, all commands except
1765 --resume and --terminate are ignored by the targeted stealth
1766 process. While suppressed, the --terminate command is acknowledged as a
1767 `emergency exit' which may or may not interfere with, e.g., an ongoing
1768 log-rotation process. The targeted stealth process should not normally be
1769 terminated while it is in its suppressed mode. The normal way to terminate a
1770 stealth process running in the background is:
1771
1772 o Wait for the targeted stealth process to complete a series of
1773 integrity scans;
1774 o Issue the `stealth --terminate pidfile' command.
1775
1776
1777
1778 5.8.1: Status file cleanup
1779
1780 Whenever stealth is run and it encounters a modified situation the
1781 already existing status file that is used to summarize that particular
1782 situation is saved and a new status file is created. Eventually, this will
1783 result in many status files. While report files can be rotated, it is
1784 pointless to rotate old status files, since they never are modified. Instead
1785 status files exceeding a certain age could be removed and more recent files
1786 might be zipped to conserve space. In stealth's binary distribution the
1787 file /usr/share/doc/stealth/usr/sbin/stealthcleanup is provided which can
1788 be used to perform this cleanup. The script expects one argument: a resource
1789 file defining the following shell variables:
1790
1791 o directories: the directories below which the status files are
1792 found;
1793 o gzdays: the number of days a status file must exist before it is
1794 compressed using gzip(1);
1795 o rmdays: the maximum age (in days) of compressed status
1796 files. Files exceeding this age are removed using rm(1).
1797
1798 Here is the stealthcleanup script as it is found in the binary distribution's
1799 /usr/share/doc/stealth/usr/sbin directory:
1800 #!/bin/bash
1801
1802 usage()
1803 {
1804 echo "
1805 Usage: $0 rc-file
1806 Where:
1807 rc-file: resource file defining:
1808 \`directories' - one or more directories containing status files
1809 \`gzdays' - number of days status files may exist before they
1810 are compressed
1811 \`rmdays' - number of days gzipped status files may exist
1812 before they are removed.
1813 "
1814 exit 1
1815 }
1816
1817
1818 error()
1819 {
1820 echo "$*" >&2
1821 exit 1
1822 }
1823
1824 [ $# == 1 ] || usage
1825
1826 # now source the configuration file
1827 . $1
1828
1829 for x in $directories
1830 do
1831 cd $x || error "\`$x' must be a directory"
1832
1833 /usr/bin/find ./ -mtime +$rmdays -type f -regex '.*[0-9]+-[0-9]+\.gz' \
1834 -exec /bin/rm {} \;
1835
1836 /usr/bin/find ./ -mtime +$gzdays -type f -regex '.*[0-9]+-[0-9]+' \
1837 -exec /bin/gzip {} \;
1838 done
1839
1840 exit 0
1841
1842
1843
1844
1845
1846 Assuming that the status files are written in
1847 /var/stealth/target/local and /var/stealth/target/remote; that status
1848 file should be compressed when older than 2 days and removed after 30 days,
1849 the resource file is:
1850 directories="
1851 /var/stealth/target/local
1852 /var/stealth/target/remote
1853 "
1854
1855 rmdays=30
1856 gzdays=3
1857
1858 Furthermore assuming that the resourcefile is installed in
1859 /etc/stealth/cleanup.rc and the stealthcleanup script itself in
1860 /usr/sbin/stealthcleanup, the stealthcleanup script could be called
1861 as follows:
1862
1863 /usr/sbin/stealthcleanup /etc/stealth/cleanup.rc
1864
1865 Note that stealthcleanup may be called whether or not there are active
1866 stealth processes, as stealth does not use status files anymore once
1867 they have been written.
1868
1869
1870 5.8.2: Using `logrotate' to control report- and status files
1871
1872 A program like logrotate(1) allows its users to specify a command or
1873 script immediately following log-rotation, and `stealth --resume
1874 pidfile' could be specified nicely in such a post-rotation section.
1875
1876 Here is an example of a specification that can be used with
1877 logrotate(1). Logrotate (on Debian systems) keeps its configuration files
1878 in /etc/logrotate.d, and assuming there is a host target, whose report
1879 file is /var/stealth/target/report, the required logrotate(1)
1880 specification file (e.g., /etc/logrotate.d/target could be:
1881 /var/stealth/target/report {
1882 weekly
1883 rotate 12
1884 compress
1885 missingok
1886 prerotate
1887 /usr/sbin/stealth --suppress /var/run/stealth.target
1888 endscript
1889 postrotate
1890 /usr/sbin/stealth --resume /var/run/stealth.target
1891 endscript
1892 }
1893
1894 Using this specification file, logrotate(1) will
1895
1896 o Perform weekly rotations of the report file;
1897 o Keep up to 12 rotated files, compressing them using gzip(1);
1898 o Before rotating the report file, stealth's actions are
1899 suppressed;
1900 o Following the rotation, stealth's actions are resumed
1901
1902 Note thet stealth --resume xxx will always start with another file
1903 integrity scan.
1904
1905
1906 Chapter 6: Kick starting `stealth'
1907
1908
1909 Here are the steps to take to kick-start stealth
1910
1911 o Install the stealth Debian package stealth_1.47.2_i386.deb and
1912 thus accept the provided binary program (skipping the next three steps) or do
1913 not accept the provided binary, and compile stealth yourself, as per the
1914 following steps:
1915 o Unpack stealth_1.47.2.tar.gz:
1916 tar xzvf tealth_1.47.2.tar.gz
1917 o cd stealth
1918 o Inspect the values of the variables in the file INSTALL.cf Modify
1919 these values when necessary.
1920 o Make sure the bobcat library has been installed.
1921 (http://bobcat.sourceforge.net)
1922 o Run `./make/program' to compile stealth. Note: it's not
1923 `make program'
1924 o Run (probably as root) `./make/install' to install. Note: it's
1925 not `make install'
1926
1927 Following the installation nothing in the stealth directory tree is
1928 required for stealth's proper functioning, so consider removing it.
1929
1930 Compiling stealth assumes that g++ version 3.3 (or higher) is
1931 available. If not: install it first.
1932
1933 Next, do:
1934
1935 o cp stealthmail /usr/local/sbin
1936 o mkdir /root/stealth
1937 o cp local.pol /root/stealth
1938
1939
1940 ssh and sh should be available. root@localhost should be able
1941 to login at localhost using ssh root@localhost, using the
1942 /bin/bash or /bin/sh shell. Check (as `root') at least
1943
1944 ssh root@localhost
1945
1946 as this might ask you for a confirmation that you've got the correct
1947 host.
1948 Now, run
1949
1950 stealth /root/stealth/localhost.pol
1951
1952 to initialize the stealth-report files for localhost. This will
1953 initialize the report for:
1954
1955 o all root setuid/setgid executable files on localhost,
1956 o and for all files under /etc/ on localhost.
1957
1958
1959 The mail-report is written on /tmp/stealth-1.47.2.mail
1960
1961 Now change or add or remove one of these files, and rerun stealth. The
1962 file /tmp/stealth-1.47.2.mail should reflect these changes.
1963
1964
1965 Chapter 7: Usage info
1966
1967 When stealth is started without arguments, it provides some help about how
1968 to start it. A message like the following is produced:
1969
1970
1971
1972 stealth by Frank B. Brokken (f.b.brokken@rug.nl)
1973
1974 stealth V1.47.2
1975 SSH-based Trust Enhancement Acquired through a Locally Trusted Host
1976 Copyright (c) GPL 2005-2008
1977
1978 Usage 1:
1979 stealth options policy
1980 Where:
1981 options: (long options between parentheses) select from:
1982 -c: (--parse-config-file) process the config file,
1983 no further action, report the results to std output.
1984 -d: (--debug) write debug messages to std error
1985 -e: (--echo-commands) echo commands to std error when they
1986 are processed (implied by -d)
1987 -i <interval>[m]: (--random-interval) start the scan between now and
1988 a random interval of interval seconds, or minutes if an `m' is
1989 appended to the specified interval.
1990 Requires --repeat and --keep-alive.
1991 -n: (--no-child-processes) no child processes are
1992 executed: child actions are faked to be OK.
1993 -o: (--only-stdout) scan report is written to stdout. No mail is sent.
1994 -q: (--quiet) suppress progress messages to stderr.
1995 -r <nr>: (--run-command) only run command <nr> (natural number).
1996 -v: (--version): display version information (and exit).
1997 --keep-alive pidfile: keep running as a daemon, wake up at interrupts.
1998 --max-size <size>[BKMG]: files retrieved by GET may at most
1999 have <size> bytes (B), Kbytes (K), Mbytes (M), Gbytes (G)
2000 default: 10M, default spec. unit: B
2001 --repeat <seconds>: keep running as a daemon, wake up at
2002 interrupts. or after <seconds> seconds.
2003 Requires --keep-alive.
2004 --usage: provide this help (and exit)
2005 --help: provide this help (and exit)
2006 policy: path to the policyfile
2007
2008 Usage 2:
2009 stealth [--rerun|--resume|--suppress|--terminate] pidfile
2010 Where:
2011 --rerun: restart a stealth integrity scan
2012 --resume: resume stealth following --suppress
2013 --suppress: suppress stealth activities
2014 --terminate: terminate stealth
2015 pidfile: file containing the pid of the stealth process to rerun or
2016 terminate.
2017
2018
2019 Note that with the second type of usage the policy file is not required:
2020 here only the pidfile must be specified.
2021
2022
2023 Chapter 8: Errormessages
2024
2025 /bin/sh: no output from /usr/bin/diff ...
2026 the actual program names appearing here could change due to your
2027 local configuration. The defaults are shown. This indicates that the
2028 /usr/bin/diff program could not be activated on the controller. Check the
2029 correctness of both the shell program (/bin/sh) and the diff program
2030 (/usr/bin/diff): Do they exist? Have their paths been specfied well?
2031 Note that filenames passed to diff might not exist anymore when the
2032 program terminates. This should not be the cause of the error.
2033
2034 Can't chdir to `path'
2035 the directory path could not be
2036 created/used. This may be a permission problem. Check the permissions of
2037 path if path does actually exist. The problem may be in a path
2038 component, not necessarily in the last element of the path.
2039
2040 Can't open /dev/null
2041 This message may be generated by a
2042 child-process: sh, ssh or diff. It is generated when the child
2043 process could not redirect its standard error messages to the standard error
2044 stream. If it appears then there is probably something incorrect in your
2045 /dev/ directory: check the availability of /dev/null, check if you can
2046 copy a file to /dev/null.
2047
2048 Can't open ... to write
2049 This message may be generated when the
2050 mentioned log-file could not be written to. Check the permissions of the file,
2051 check if the path to the file exists. The problem may be in a path
2052 component, not necessarily in the last element of the path or in the file
2053 itself.
2054
2055 Can't read ...
2056 the mentioned file could not be read. Check if
2057 the file exists, and if you have read permissions for it.
2058
2059 Config line `...' invalid
2060 The mentioned line of the specified policy file was
2061 ill-formed. Check the line's contents against the description of the policy
2062 file.
2063
2064 ConfigSorter file processed
2065 In this case, the -c option has been given. When -c was
2066 provided, stealth stops after having processed the configuration file.
2067
2068 Corrupt line in policy file: ...
2069 The apparently corrupted line
2070 is shown. The line is corrupted if the line could not be split into an initial
2071 word and its remainder. Normally this should not happen. As the line is
2072 mentioned, the message itself should assist you in your repairs.
2073
2074 Inserting command `...' failed.
2075 the mentioned command could not
2076 be sent to a child-process (sh or ssh). Check the availability of the
2077 ssh connection to the client. The command itself might also be
2078 unacceptable.
2079
2080 Invalid interval for -i.
2081 The -i flag was given an invalid (too large or negative) argument.
2082
2083 Non-zero exit value for `...'
2084 A local command (not using the CHECK keyword), returned with a
2085 non-zero exit. This will terminate further processing of the policy
2086 file. Inspect and/or rerun the command `by hand' to find indications about
2087 what went wrong. The report file or the standard error stream may also contain
2088 additional information about the reason of the failure.
2089
2090 Unable to create the logfile `...'
2091 the mentioned log file could not be created. Check the permissions of
2092 the file, check if the path to the file exists. The problem may be in a path
2093 component, not necessarily in the last element of the path or in the file
2094 itself.
2095
2096 USE SSH ... entry missing in the configuration file
2097 there is no
2098 default for the USE SSH specification in the policy file. The
2099 specification could not be found. Provide a specification like:
2100 USE SSH ssh -q root@localhost
2101
1010 // unless `minimal':
1111 remove2 =
1212 "tmp/bin tmp/o o */o libstealth.a manual-*-stamp "
13 "release.yo release.h manual/Yodl/{genusage,usagetxt,*.idx}";
14 // the .idx file is temporarily: Yodl doesn't clean up its idx file
15 // if no post-processing is required.
13 "release.yo release.h manual/Yodl/{genusage,usagetxt}";
1614 }
1715
1816 void clean(int dist)
2727 }
2828 }
2929
30 void install(string where)
30 void install(string what, string where)
3131 {
32 printf(" installing the executable\n");
33 md(where + BIN);
34 run("cp tmp/bin/* " + where + BIN);
32 string docdoc;
33 docdoc = DOC + "-doc";
3534
36 printf(" installing the manual page stealth.1\n");
37 md(where + MAN);
38 reqzip(where + MAN + "/", "tmp/man/", "stealth.1");
35 if (what == "program")
36 {
37 printf(" installing the executable\n");
38 md(where + BIN);
39 run("cp tmp/bin/* " + where + BIN);
3940
40 printf(" installing the manual page stealthman.html\n");
41 md(where + DOC + "/man");
42 reqzip(where + DOC + "/man/", "tmp/manhtml/", "stealthman.html");
41 printf(" installing the information directly in and under $DOC\n");
42 reqzip(where + DOC + "/", "./", "changelog");
43 run("cp README ACKNOWLEDGEMENTS " + where + DOC);
44 }
4345
44 printf(" installing the information directly in and under $DOC\n");
45 reqzip(where + DOC + "/", "./", "changelog");
46 run("cp README ACKNOWLEDGEMENTS " + where + DOC);
46 if (what == "man")
47 {
48 printf(" installing the manual page stealth.1\n");
49 md(where + MAN);
50 reqzip(where + MAN + "/", "tmp/man/", "stealth.1");
51
52 printf(" installing the manual page stealthman.html\n");
53 md(where + DOC + "/man");
54 reqzip(where + DOC + "/man/", "tmp/manhtml/", "stealthman.html");
4755
48 printf(" installing scripts\n");
49 md(where + DOC + "/scripts/etc/logrotate.d");
50 reqzip(where + DOC + "/scripts/etc/logrotate.d/",
56 printf(" installing scripts\n");
57 md(where + DOC + "/scripts/etc/logrotate.d");
58 reqzip(where + DOC + "/scripts/etc/logrotate.d/",
5159 "share/etc/logrotate.d/", "target");
52 md(where + DOC + "/scripts/etc/stealth");
53 reqzip(where + DOC + "/scripts/etc/stealth/", "share/etc/stealth/",
60 md(where + DOC + "/scripts/etc/stealth");
61 reqzip(where + DOC + "/scripts/etc/stealth/", "share/etc/stealth/",
5462 "cleanup.rc");
55 md(where + DOC + "/scripts/usr/sbin");
56 rungzip9("share/usr/sbin/", where + DOC + "/scripts/usr/sbin/");
63 md(where + DOC + "/scripts/usr/sbin");
64 rungzip9("share/usr/sbin/", where + DOC + "/scripts/usr/sbin/");
65 }
5766
58 printf(" installing examples\n");
59 md(where + DOC + "/examples");
60 rungzip9("example-policies/", where + DOC + "/examples/");
67 if (what == "manual")
68 {
69 printf(" installing examples\n");
70 md(where + docdoc + "/examples");
71 rungzip9("example-policies/", where + docdoc + "/examples/");
6172
62 printf(" installing manual\n");
63 run("cp -r tmp/manual " + where + DOC);
73 printf(" installing manual\n");
74 run("cp -r tmp/manual " + where + docdoc);
75 }
6476
65 printf(" Installation completed\n");
77 printf(" " + what + " installation completed\n");
6678
6779 exit(0);
6880 }
81