SGML Functions for AthenaMuse 2

by

James C. Gentry

SUBMITTED TO THE DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF

MASTER OF SCIENCE IN COMPUTER SCIENCE AND ENGINEERING AT THE MASSACHUSETTS INSTITUTE OF TECHNOLOGY

JUNE 1996

© 1996 James C. Gentry. All Rights Reserved

The author hereby grants MIT permission to reproduce and to distribute publicly paper and electronic copies of this thesis document in whole or in part.

Signature of A uthor ...... - " 1"epartment of Electrical Engineering and Computer Science May 28, 1996

Certified by....-...... Steven Lerman Professor of Civil and Environmental Engineering Director, Center for Educational Computing Initiatives Si t Thesis Supervisor

Accepted by ...... NJFrederic R. Morgenthaler Graduate Officer, Depart ent of Electrical Engineering and Computer Science

OF TEC-HNOLOGY Eng. JUN 1 1 1996

LIUBRARIES

SGML Functions for AthenaMuse 2

by

James C. Gentry

Submitted to the Department of Electrical Engineering and Computer Science on May 28, 1996 in partial fulfillment of the requirements for the Degree of Master of Science in Computer Science and Engineering

ABSTRACT

The Standard Generalized Markup Language provides a way to specify markup languages. With these markup languages, diverse types of information can be organized. SGML makes the storage and sharing of information easier, and it is being used by an increasingly large number of publish- ers.

AthenaMuse 2 is a tool used to create multimedia computer programs, which is currently being developed at the Center for Educational Computing Initiatives of the Massachusetts Institute of Technology. AM2 uses an object-oriented language called the Application Description Language (ADL) to script multimedia programs.

This paper describes a group of classes, written for the ADL, which can parse and dissect SGML documents. These classes, collectively called AM2SGML, will enable the AM2 application developer to use SGML in his applications, and in the future will possibly provide the base for a new set of ADL Hypertext Markup Language (HTML) classes.

Thesis Supervisor: Steven Lerman Title: Professor of Civil and Environmental Engineering; Director, Center for Educational Com- puting Initiatives

Acknowledgments

There are many people I would like to acknowledge for helping me complete this paper.

First, I would like to thank everyone at the Center for Educational Computing Initiatives. I espe- cially thank Professor Steven Lerman for his guidance through every stage in this project. I also thank Ana Beatriz Chiquito for first introducing me to CECI.

I would like to thank my Brothers and friends at Pi Lambda Phi, Massachusetts Theta, for giving me support at the times when I did not happen to be working on this or any other projects.

And finally, I would like to thank my family, for reasons which go without saying.

Table Of Contents

1 M otivation ...... 13 1.1 SGM L ...... 13 1.2 AM 2 ...... 14 1.2.1 Better HTML Functions ...... 14 1.2.2 The Current State of HTML in AM2 ...... 15 1.3 SGM L in AM 2 ...... 16

2 Specifications ...... 17 2.1 Purpose...... 17 2.2 Class Specifications ...... 17 2.2.1 The DTD Classes ...... 20 2.2.1.1 The MMdtd Class...... 20 2.2.1.2 The MMdtdDocumentType Class...... 22 2.2.1.3 The MMdtdElement Class ...... 26 2.2.1.4 The MMdtdContentModel Class...... 29 2.2.1.5 The MMdtdAttribute Class ...... 32 2.2.1.6 The MMdtdEntity Class ...... 36 2.2.1.7 The MMdtdNotation Class ...... 38 2.2.1.8 The MMsgmlSectionMark Class...... 40 2.2.1.9 The MMsgmlComment Class ...... 41 2.2.2 The Document Instance Classes...... 42 2.2.2.1 The MMsgmlDocument Class ...... 42 2.2.2.2 The MMsgmlElement Class ...... 44 2.2.2.3 The MMsgmlPCData Class...... 45 2.2.2.4 The MMsgmlEmpty Class...... 46 2.2.2.5 The MMsgmlAttribute Class...... 47

3 The AM 2SGM L C++ Classes ...... 49 3.1 YASP...... 49 3.1.1 Why YASP? ...... 49 3.1.2 An Overview of YASP ...... 50 3.2 Overview of the AM 2SGM L C++ Functions ...... 50 3.3 AM 2SGM L M odule Descriptions ...... 52 3.3.1 The Test Function...... 52 3.3.2 The parseSGMLFile Function ...... 52 3.3.3 The dispatch Function ...... 54 3.3.4 The SGMLObj ect Class and its Subclasses ...... 56 3.3.4.1 The SGMLDocument Class...... 56 3.3.4.2 The SGMLElement Class ...... 57 3.3.5 The Service Functions...... 58 3.3.5.1 The eltSt Function ...... 58 3.3.5.2 The eltNd Function ...... 59 3.3.5.3 The text Function ...... 59 3.3.5.4 The msg Function...... 60 3.3.5.5 The sGet and sFre Functions...... 61 3.3.5.6 The find Function ...... 61 3.3.5.7 The xEnOp Function ...... 62 3.3.5.8 The utOpR and utOpW Functions...... 63 3.3.5.9 The utWrt Function ...... 63 3.3.5.10 The utRd Function ...... 63 3.3.5.11 The utCl and xEnCl Functions...... 64 3.3.5.12 The xEnRd Function ...... 64 3.3.5.13 The proSt Function ...... 64 3.3.5.14 The docNd Function ...... 65 3.3.5.15 The DTDSt Function ...... 65 3.3.5.16 The unimp 1 Fn Function...... 65 3.3.6 The MessageHandler Object ...... 65 3.3.7 The File Class ...... 66

4 The Future of SGM L and AM 2 ...... 67

Appendix A -A Sam ple DTD ...... 69 Appendix B - Code for AM 2SGM L ...... 71 B.1 test.cc ...... 72 B.2 AM2YASP. h ...... 72 B.3 parseSGMLFile h ...... 72 B.4 parseSGMLFile.cc ...... 73 B.5 dispatch h ...... 74 B.6 dispatch .cc ...... 75 B.7 SGMLObject. h ...... 77 B.8 SGMLObject.cc ...... 77 B.9 SGMLDocument. h...... 78 B.10 SGMLDocument.cc ...... 78 B.11 SGMLElement.h ...... 78 B.12 SGMLElement.cc ...... 80 B.13 DTD.h ...... 81 B.14 DTD.cc ...... 81 B.15 eltSt.h ...... 81 B.16 eltSt.cc ...... 81 B.17 eltNd.h ...... 82 B.18 eltNd.cc ...... 82 B.19 re.h ...... 82 B.20 text.h ...... 83 B.21 pi .h ...... 83 B.22 msg .h ...... 83 B.23 msg .cc ...... 83 B.24 sGet.h ...... 85 B.25 sGet.cc ...... 85 B.26 sFre .h ...... 85 B.27 find .h ...... 85 B.28 find . cc ...... 86 B.29 xEnOp . h ...... 88 B.30 xEnOp .cc ...... 88 B.31 utOpR . h ...... 88 B.32 utOpW .h ...... 89 B.33 utOpW .cc ...... 89 B.34 utWrt.h ...... 89 B.35 utWrt.cc ...... 89 B.36 utRd .h ...... 90 B.37 utRd .cc ...... 90 B.38 utCl.h ...... 90 B.39 xEnRd .h ...... 91 B.40 xEnRd .cc ...... 91 B.41 xEnCl. h ...... 92 B.42 xEnCl. cc ...... 92 B.43 proSt.h ...... 92 B.44 proSt.cc ...... 92 B.45 proNd .h ...... 92 B.46 docNd .h ...... 93 B.47 etySt.h ...... 93 B.48 etySt.cc ...... 93 B.49 etyNd .h ...... 93 B.50 skip .h ...... 94 B.51 decSt. h ...... 94 B .52 DTDSt . h ...... 94 B .53 DTDSt .cc ...... 94 B .54 DTDNd . h ...... 94 B .55 dapNd . h ...... 95 B .56 unimp lFn .h ...... 95 B .57 unimplFn .cc ...... 95 B .58 MessageHandler .h ...... 95 B .59 MessageHandler .cc ...... 96 B .60 File .h ...... 99 B .61 File .cc ...... 101 B .62 notify .h ...... 103 B .63 notify .cc ...... 103 B .64 publDFileName h ...... 103 B .65 publDFileName .cc ...... 103 B .66 charsetID .h ...... 104 B .67 charsetID .cc ...... 104 B .68 random .h ...... 104 B .69 random .cc ...... 106 B .70 Makefile ...... 107

A ppendix C - Sample Run ...... 109 List of Tables TABLE 1. The AM 2SGM L Classes...... 19 TABLE 2. M embers of MMdtd...... 22 TABLE 3. Members of MMdtdDocumentType ...... 26 TABLE 4. Members of MMdtdE lement ...... 29 TABLE 5. Members of MMdtdContentModel ...... 31 TABLE 6. Possible Types of hDe f aul tVa l ...... 34 TABLE 7. Members of MMdtdContentModel ...... 35 TABLE 8. Members of MMdtdEntity...... 38 TABLE 9. Members of MMdtdNotation ...... 39 TABLE 10. Members of MMsgmlSectionMark ...... 41 TABLE 11. Members of MMsgmlComment...... 42 TABLE 12. Members of MMsgmlDocument ...... 43 TABLE 13. Members of MMsgmlElement ...... 45 TABLE 14. Members of MMsgmlPCData ...... 46 TABLE 15. Members of MMsgmlPCData ...... 48 TABLE 16. The Service Functions...... 54 TABLE 17. YASP M essage Severities ...... 60 TABLE 18. YASP File Classes...... 62

1 Motivation

AthenaMuse 2® is an authoring tool for creating multimedia computer programs currently being developed at the Massachusetts Institute of Technology's Center for Educational Comput- ing Initiatives.'1 This paper describes the design and partial implementation of a set of classes for

AM2 which can be used to manipulate Standard Generalized Markup Language (SGML) docu- ments. This set of classes is collectively called AM2SGML.

1.1 SGML SGML is an international standard introduced in 1986, described by International Organiza- tion for Standardization standard ISO 8879. Because of SGML's many benefits, it is becoming increasingly popular. Today, it is used by such various organizations as the Department of

Defense, the Association of American Publishers, and the American Trucking Association. It is gaining widespread acceptance both in the United States and abroad.2

SGML can be used to define the formats of certain types of data using a Document Type

Definition (DTD), by specifying which types of elements the data can contain. The data can then be marked up, so that the location and arrangements of the elements in the data are made explicit.

SGML allows for more efficient storage of information, it increases the ease of sharing informa- tion, and it allows for the easy storage and maintenance of information in databases. 3 In addition,

1. AthenaMuse is a registered trademark of MIT. 2. "Getting Started with SGML: A Guide to the Standard Generalized Markup Language and Its Role in Information Management," ArborText, 1995. 3. "Getting Started." SGML is used to define the Hypertext Markup Language (HTML), which is in wide use in the

World Wide Web.

1.2 AM2 AM2 is designed to make the implementation of multimedia applications simpler. One way in which it does this is through its use of the Application Description Language. The ADL has classes to display and manipulate a variety of media types, including images, sounds, movies, and

HTML pages.

Currently, the ADL has no functionality for manipulating SGML documents besides classes which can display HTML pages. While AM2 would be greatly improved with the addition of classes to handle SGML in general, the original reason for creating these classes was so that

AM2's ability to manipulate HTML pages would be improved.

1.2.1 Better HTML Functions While AM2 provides basic functions for displaying HTML pages, following links, and so forth; but it is missing more advanced functions which would be quite useful when writing appli- cations involving HTML. A major problem with the current implementation of the HTML func- tions is that it is based on software written by a third party. Therefore, the types of functions dealing with HTML which are available to the application programmer are largely limited to those that are provided in thee third party library. It is difficult if not impossible to add to or mod- ify these functions. To change this, the implementation of HTML functions for AM2 needs to be redesigned and re-implemented. 1.2.2 The Current State of HTML in AM2 The display of an HTML page can be divided into two stages. First, the HTML source doc- ument is parsed into some sort of data structure. In the current HTML functions, this structure is a linked list. Once the parsing is complete, the structure is passed to a function which displays the page in a region of a window on the screen. There are drawbacks in the current implementation of both of these stages.

The linked list structure currently used is not especially convenient to manipulate; because of this, accessing information about the HTML page is not as simple and possibly not as efficient as it could be. Creating a better data structure would not only help with this problem, but would have numerous other benefits as well. Since third-party software would no longer be relied on to parse HTML into a structure, an HTML file could be parsed the same way as any other SGML document. By changing the DTD used for HTML, extra features could even be added to HTML.

For example, the idea of defining AM2 classes in HTML has been considered; this would be eas- ier to implement if we handled our own HTML parsing. Also, parts of the HTML structure could be made visible to ADL application programmers as ADL classes. This would allow program- mers an easy way to dynamically manipulate and define HTML pages in applications.

There are also drawbacks in the current functions used to display the HTML data structures.

Right now it is difficult or impossible to change the way that an HTML page is displayed. For example, properties such as image and text positions and default colors cannot be set by the appli- cation programmer. These problem would be solved if custom functions to display HTML were written. There would be additional benefits as well. For example, arbitrary ADL objects could be displayed within an HTML page. Also, other types of SGML documents could be displayed using the HTML display functions. Unfortunately, due to time constraints, the display of these HTML structures is not in the scope of this project.

1.3 SGML in AM2 Instead of limiting this project to the parsing and display of HTML documents, it made sense to go one step further, and include within its scope the parsing of general SGML documents also. With basic SGML support built in to the ADL, the ADL application developer would be able to make use of SGML in his applications.

Due to the large amount of work involved with the parsing of SGML documents, a full implementation of the AM2SGML specifications has not been completed. However, a "bare bones" implementation has been done. The AM2SGML specifications and a description of the implementation so far are described in this report. Hopefully, the implementation can some day be completed, and AM2SGML will prove to be a valuable addition to AM2. 2 Specifications

This chapter describes the user interface for the ADL classes which make up AM2SGML.

For a description of AM2 and the ADL, please consult the MIT AthenaMuse Software Consor- tium's AthenaMuse 2.1 Documentation.1

2.1 Purpose The classes defined below represent two types of entities - DTDs, and files written in marked-up text defined by a DTD, which we will call document instances. There is a group of classes defined for each of these entities. The top-level class MMsgmlDocument represents an

SGML document instance, while MMdtd represents a DTD. A sample DTD has been defined in

Appendix A. This DTD represents a subset of the definition of HTML. 2

2.2 Class Specifications The specifications of the DTD classes and the SGML document instance classes are given below. There are a few things to note. First, unless a class is described as immutable, the program- mer can set any members of the class at any time, unless otherwise specified. If a class is immuta- ble, then once an object of that class is created, it cannot be changed. As such, members of immutable classes can be set only when an object of that class is created. Also, all class members are readable.

1. Margaret Meehan et al., AthenaMuse 2.1 Documentation, Cambridge, MIT AthenaMuse Software Consortium, 1995. 2. Note that this DTD may contain inconsistencies with actual HTML. Second, none of the classes have any activities. An activity is the way that the ADL pro- grammer can handle events generated by user actions, clock ticks, incoming messages, or other such outside stimuli. For example, the ADL programmer could speficy that a certain function be called whenever the user clicks the right mouse button in a certain region of the screen. Due to the nature of the AM2SGML classes, none of them need to handle events.

Note also that most of the classes have an element hMark. In SGML, a certain section of text can be marked with the status keywords INCLUDE or IGNORE. These keywords are used when a document contains sections which should sometimes be ignored, and at other times be included. For example, assume that we had a textbook expressed as an SGML document. Also assume that we want to print the student's version and the teacher's version of the textbook from the same document. A part of the SGML file might look like the following.

Problem 69. What is the Capital of Louisiana?

In the teacher's version of the textbook, we want the answer to the question to be printed. There- fore, we use the SGML fragment given above, and since Baton Rouge is marked with

INCLUDE, it will be printed. In the student's version of the textbook, we do not want the answer to be there. Therefore, before printing the student's version, we would change INCLUDE to

IGNORE in the above fragment.

A marked section looks as follows: 3

3. "The SGML Primer," SoftQuad, 1995. Note that this and other SGML samples are expressed as a Backus-Naur Form grammar. Here, status-keyword is INCLUDE, IGNORE, or a parameter entity which represents INCLUDE or

IGNORE. If a class represents an item that is inside a section marked INCLUDE, then hMark is a handle to an MMsgmlSectionMark object representing "include." If a class represents an item that is inside a section marked IGNORE, then hMark is a handle to an MMsgmlSectionMark object representing "ignore." If a class represents an item that is inside a section marked with a parameter entity, then hMark is a handle to an MMsgmlSectionMark object representing this parameter entity. If an item is not in a marked section, then the object which represents it has hMark equal to an MMsgmlSectionMark object signifying "no mark."

Table 1 gives an listing of all the AM2SGML classes. It also gives a brief description of each, and tells where each is described in this chapter.

TABLE 1. The AM2SGML Classes

Class Name Description Where Described DTD Classes MMdtd Represents an entire DTD. This can contain Section 2.2.1.1 on page 20 comments (MMsgmlComment objects) or DOCTYPE definitions (MMdtdDocumentType objects). MMdtdDocumentType Represents a DOCTYPE definition in a DTD. Section 2.2.1.2 on page 22 This can contain entities (MMdtdEntity object), notations (MMdtdNotation objects), attribute lists (MMdtdAttribute objects), ele- ment declarations (MMdtdElement objects), and comments (MMsgmlComment objects). MMdtdElement Represents a DTD ELEMENT declaration. It Section 2.2.1.3 on page 26 includes a content model, represented by an MMdtdCommentModel object. MMdtdContentModel Represents a content model for an ELEMENT Section 2.2.1.4 on page 29 declaration. MMdtdAttribute Represents one attribute of an ELEMENT decla- Section 2.2.1.5 on page 32 ration. Note that each MMdtdAttribute object represents one item in an ATTLIST dec- laration. MMdtdEntity Represents an ENTITY declaration in a DTD. Section 2.2.1.6 on page 36 MMdtdNotation Represents a DTD NOTATION declaration. Section 2.2.1.7 on page 38 TABLE 1. The AM2SGML Classes

Class Name Description Where Described Document Instance Classes MMsgmlDocument Represents an entire document instance. This Section 2.2.2.1 on page 42 corresponds to a DTD (MMdtd object) which describes the document instance. This contains a top-level element (MMdtdElement object). MMsgmlElement Represents an element in a document instance. Section 2.2.2.2 on page 44 This corresponds to an ELEMENT declaration (MMdtdElement object) in a DTD. This con- tains any number of sub-elements and text strings (MMsgmlPCData objects), or an MMs- gmlEmpty object, which represents nothing at all. MMsgmlPCData Represents text data of type #PCDATA in an ele- Section 2.2.2.3 on page 45 ment. MMsgmlEmpty Represents the lack of data in a document Section 2.2.2.4 on page 46 instance element. In other words, this corre- sponds to the content model EMPTY. MMsgmlAttribute This represents an attribute of a document Section 2.2.2.5 on page 47 instance element. This corresponds to an item in a DTD ATTLIST declaration (an MMdtdAt- tribute object), which states which possible value this attribute can take. Classes Used in DTDs or Document Instances MMsgmlSectionMark Represents a section mark: INCLUDE, IGNORE, Page 18; Section 2.2.1.8 on or none. page 40 MMsgmlComment Represents a comment in a DTD or document Section 2.2.1.9 on page 41 instance.

2.2.1 The DTD Classes Following are the classes used to describe various components of a DTD. Also described are the classes that can be used in both a DTD or a document instance.

2.2.1.1 The MMdtd Class This represents a DTD in its entirety. A DTD consists of one or more concurrent document- type (DOCTYPE) declarations and possibly comments. 4 Therefore, the MMdtd class consists mainly of handles to MMdtdDocumentType classes, which represent DOCTYPE declarations,

4. Concurrent DOCTYPE definitions are different ways of organizing the same document. This is how one can spec- ify overlapping tags in SGML document instances. and MMsgmlComment classes, which represent SGML comments. 5 The specification for MMdtd is given below.

class MMdtd

Overview MMdtd is a class of mutable objects which describe a group of concurrent DOCTYPE declara- tions.

Methods upon Construct: list els, handle hMarkArg Requires: The elements in els are handles to either MMdtdDocumentType objects or MMsgmlComniment objects. els must contain at least one MMdtdDocumentType object. hMarkArg is a handle to an MMsgmlSectionMark object. Effects: Creates a new MMdtd object containing the DOCTYPE declarations given in els (as well as the comments), and with the marking specified by hMarkArg. upon ConstructFromFile: handle hFileStream Requires: hFileStream is a handle to a readable IOfile object. Effects: Creates an MMdtd object, from the DTD specified in the file in hFileStream. upon ConstructFromStream: handle hWebStream Requires: hWebStream is a handle to an IOwebStream subclass. Effects: Creates an MMdtd object, from the DTD specified by the stream IOwebStream. upon ConstructFromString: string s Effects: Creates an MMdtd object from string s. on DocTypes: return list Effects: Returns a list of handles to MMdtdDocumentType objects, representing the DOC- TYPE declarations in sel f. on Comments: return list Effects: Returns a possibly empty list of handles to MMsgmlComment objects, representing the comments in sel f. on AddDocType: handle hNewDocType Requires: hNewDocType is a handle to an MMdtdDocumentType. Modifies: sel f. Effects: Adds the document type declaration corresponding to hNewDocType to the "end" of self.

5. C. M. Sperberg-McQueen, and Lou Burnard, editors, Guidelinesfor Electronic Text Encoding and Interchange: Draft Version 2, 1993, p. 23. on RemoveDocType: handle hDoc return boolean Requires: hDoc is a handle to an MMdtdDocumentType. Modifies: self, hDoc. Effects: Removes the document type hDoc from the DTD self. If hdoc was not present in self, does nothing and returns FALSE. Otherwise returns TRUE. on AddComment: handle hNewComment Requires: hNewComment is a handle to an MMsgmlComment. Modifies: sel f. Effects: Adds the comment corresponding to hNewComment to the "end" of self. on RemoveComment: handle hComment return boolean Requires: hComment is a handle to an MMsgmlComment. Modifies: self, hComment. Effects: Removes the comment hComment from the DTD self. If hComnment was not present in self, does nothing and returns FALSE. Otherwise returns TRUE. on Unparse: return string Effects: Returns a string representing self.

Members The members of the class MMdtd are given in Table 2.

TABLE 2. Members of MMdtd

Member Type Description docTypeDecis list A list of handles to MMdtdDocumentType or MMsgmlConmment objects. Each of these represents a concurrent document-type decla- ration (or a comment); the order of these components in the list is the same as their order in the DTD. hMark handle A handle to MMsgmlSectionMark. The marking of the declara- tion.

Activities none.

2.2.1.2 The MKdtdDocumentType Class This represents the information contained within a DOCTYPE declaration in a DTD. A

DOCTYPE declaration has the following form:

I Each item is an entity, notation, attribute list, or element declaration. 6 Iffile is absent, then the document type is defined based on the items. Otherwise, it is defined based on the concatenation of the items and the declaration in file. In this case, there may be no items. The specification for

MMdtdDocumentType is given below.

class MMdtdDocumentType

Overview An MMdtdDocumentType is a mutable object which represents a DOCTYPE declaration in a DTD.

Methods upon Construct: string nameArg, handle hParentArg, list els, handle hMarkArg Requires: The elements in els are handles to MMdtdEntity, MMdtdNotation, MMdt- dAttribute, MMdtdElement, or MMsgmlComment objects. els must contain at least one MMdtdElement object whose name is the same as the argument nameArg. hMarkArg is a handle to an MMsgmlSectionMark object. hParentArg is a handle to an MMdtd. Modifies: hParentArg. Effects: Creates a new MMdtdDocumentType object containing the components given in els and a mark corresponding to hMarkArg; ifhParentArg is not NULL, then self is treated as if it were declared in the DTD represented by hParentArg, and self is auto- matically added to hParentArg. upon ConstructFromDocType: handle hBaseDocType, handle hParentArg, list els, handle hMarkArg Requires: hBaseDocType is a handle to an MMdtdDocumentType object. hMarkArg is a handle to an MMsgmlSectionMark object. hParentArg is a handle to an MMdtd object or NULL. Modifies: hThisParent hParentArg. Effects: Creates an MMdtdDocument object, from hBaseDocType plus the elements in els and with a mark corresponding to hMarkArg. If hParentArg is not NULL, then self is treated as if it were declared in the DTD represented by hParentArg, and self is automatically added to hParentArg.

6. Sperberg-McQueen, pp. 23-24. upon ConstructFromString: string s, handle hContext Requires: hContext is a handle to an MMdtd object, or NULL. Modifies: hContext. Effects: Creates an MMdtdDocumentType object from string s. If hContext is not NULL, then self is treated as if it were declared in the context of the DTD corresponding to hContext. on AllItems: return list Effects: Returns a list of handles to all the items in the MMdtdDocumentType, including those declared in a file referenced by a SYSTEM reference. 7 Note that these can include handles to MMdtdEntity, MMdtdNotation, MMdtdAttribute, MMdtdElement, and MMsgmlComment objects. on Entities: return list Effects: Returns a list of handles to MMdtdEnt i ty objects, representing the ENTITY decla- rations in s e 1 f. on UnusedEntities: return list Effects: Returns a list of handles to MMdtdEntity object, representing the ENTITY declara- tions in self which are not used. An entity would not be used if there is another entity within the DOCTYPE declaration with the same name. 8 on Notations: return list Effects: Returns a list of handles to MMdtdNotation objects, representing the NOTATION declarations in s e 1 f. on Atts: return list Effects: Returns a list of handles to MMdtdAttribute objects, representing the ATTLIST declarations in sel f. on Els: return list Effects: Returns a list of handles to MMdtdElement objects, representing the ELEMENT dec- larations in s e 1 f. on RedundantElNames: return list Effects: Returns a list of strings, consisting of the names which are used for more than one element. on BaseEl: return handle Effects: Returns a handle to an MMdtdElement object, representing the highest-level ele- ment in sel f. This element must have the same name as sel f. on Comments: return list Effects: Returns a possibly empty list of handles to MMsgmlComment objects, representing the comments in sel f.

7. SYSTEM references are described on page 36. 8. If there are two ENTITY declaration with the same name, the first one is used. This means that if a given name is used for an ENTITY declaration in an explicitly declared entity as well as in an entity referenced with a SYSTEM clause, then the explicitly declared entity is used. on AddEntity: handle hNewEntity Requires: hNewEnt i ty is a handle to an MMdtdEnt i ty. Modifies: s e 1 f. Effects: Adds hNewEntity to the "end" of s e 1 f. on RemoveEntity: handle hEntity return boolean Requires: hEntity is a handle to an MMdtdEntity, and is an entity in the document type self. Modifies: self, hEntity Effects: Removes the entity hEnt i ty from document type sel f. If hEnt i ty was not present in self, does nothing and returns FALSE. Otherwise returns TRUE. on AddNotation: handle hNewNotation Requires: hNewNotation is a handle to an MMdtdNotation. Modifies: sel f. Effects: Adds hNewNotation to the "end" of self. on RemoveNotation: handle hNotation return boolean Requires: hNotation is a handle to an MMdtdNotation, and is a notation in the docu- ment type self. Modifies: self, hNotation Effects: Removes the notation hNotation from document type sel f. If hNotation was not present in self, does nothing and returns FALSE. Otherwise returns TRUE. on AddAtt: handle hNewAtt Requires: hNewAtt is a handle to an MMdtdAttribute. Modifies: s e 1 f. Effects: Adds hNewAtt to the "end" of sel f. on RemoveAtt: handle hAtt return boolean Requires: hAtt is a handle to an MMdtdAttribute, and is an attribute in the document type self. Modifies: self, hAtt Effects: Removes the attribute hAtt from document type self. If hAtt was not present in self, does nothing and returns FALSE. Otherwise returns TRUE. on AddEl: handle hNewEl Requires: hNewEl is a handle to an MMdtdElement. Modifies: s e 1 f. Effects: Adds hNewE1 to the "end" of self. on RemoveEl: handle hEl return boolean Requires: hEl is a handle to an MMdtdElement, and is an element in the document type self. Modifies: sel f , hEl Effects: Removes the element hEl from document type self. If hEl was not present in self, does nothing and returns FALSE. Otherwise returns TRUE. on AddComment: handle hNewComment Requires: hNewComment is a handle to an MMsgmlComment. Modifies: sel f. Effects: Adds hNewComment to the "end" of self. on RemoveComment: handle hComment return boolean Requires: hComment is a handle to an MMsgmlComment, and is a comment in the docu- ment type self. Modifies: self, hComment Effects: Removes the comment hComment from document type self. If hComment was not present in self, does nothing and returns FALSE. Otherwise returns TRUE. on Unparse: return string Effects: Returns a string representing self.

Members The members of the class MMdtdDocumentType are given in Table 3.

TABLE 3. Members of MMldtdDocumentType

Member Type Description name string The name of the declaration. systemName string The "reference name" of this MMdtdDocumentType. This is the name that is used if this MMdtdDocumentType is referenced using the SYSTEM clause of another DOCTYPE declaration. hSystemRef handle A handle to an MMdtdDocumentType. If self contains a SYSTEM reference to another DOCTYPE declaration, then hSystemRef represents this declaration. items list A list of handles to the elements in the DOCTYPE declaration. This does not include elements referenced by a SYSTEM clause. hMark handle A handle to MMsgmlSectionMark. The marking of the declara- tion. hParent handle A handle to an MMdtd. The DTD object in which this declaration is found.

Activities none.

2.2.1.3 The MMdtdElement Class The MMdtdElement class models an ELEMENT declaration in a DTD. An element decla-

9 ration has the following form:

9. "The SGML Primer." < ! ELEMENT element-type beginning-tag-optional?end-tag-optional? content-model [inclusion-list] [exclusion-list] >

Here, element-type is the name of the element. beginning-tag-optional?and end-tag- optional? state whether the beginning and end tags respectively must be included in an element of this type in an SGML document instance. If the beginning tag is required, then beginning-tag- optional?is - (a dash); otherwise, it is O (the letter). end-tag-optional?works the same way. con- tent-model specifies exactly what kinds of elements can be included in element-type, and in what order.

inclusion-listand exclusion-list are exceptions; an inclusion exception is an element that can be included anywhere in the current content model, and an exclusion exception is an element that cannot be included in the content model. The two lists can appear in any order. An inclusion list has the form

+ ( inc-elt I inc-elt2 I inc-elt3 I... inc-elt, ) while an exclusion list has the form

-( exc-elt, I exc-elt2 I exc-elt3 ... exc-eltm) where the inc-elts and exc-elts are element names. 10

For example, consider the following element declaration (taken from the sample DTD on line 19 on page 69).

10.Sperberg-McQueen, pp. 13-14. Both the beginning and end tags are optional. The content model is &HTMLContent, which is an entity representing the text (HEAD, BODY). The inclusion list consists of the element EM, and there is no exclusion list. Consider also the declaration of the the TITLE element (taken from the sample DTD on line 26 on page 69).

Both the beginning and end tags are required, and the content model is #PCDATA; the exclusion list consists of the element EM. The specification for MMdtdElement is given below.

class MMdtdElement

Overview An MMdtdElement is a mutable object representing an ELEMENT declaration in a DTD.

Methods upon Construct: string name, handle hParentArg, boolean isBeginOptional, boolean isEndOptional, handle hContentModelArg, list includeExs, list excludeExs, handle hMarkArg Requires: hParentArg is a handle to an MMdtdDocumentType object or is NULL. hContentModelArg is a handle to an MMdtdContentModel object, includeExs and excludeExs are lists of handles to MMdtdElement objects. hMarkArg is a handle to an MMsgmlSectionMark object. Modifies: hParentArg. Effects: Creates a new MMdtdElement object. The beginning and ending tags of the speci- fied element can be omitted if isBeginOptional and isEndOptional are TRUE, respectively. The element specified can contain the data corresponding to hContentMod- elArg, and can include the elements in includeExs, but not this in excludeExs. The element declaration has the mark corresponding to hMarkArg. If hParentArg is not NULL, then the element declaration is defined in the context of the document type defined by hParentArg. upon ConstructFromString: string s, handle hContext Requires: hContext is a handle to an MMdtd object or NULL. Modifies: hContext. Effects: Creates an MMdtdElement object from s. If hContext is not NULL, then self is treated as if it were declared in the context of the DTD corresponding to hContext. on IsRedundant: return boolean Effects: Returns TRUE iff self is defined in a document type in which another element with the same name as self is defined. on Unparse: return string Effects: Returns a string representing self.

Members The members of MMdtdElement are given in Table 4.

TABLE 4. Members of MMdtdElement

Member Type Description isBeginOpt bool- TRUE iff the beginning tag of an element defined by self is ean optional. isEndOpt bool- TRUE iff the ending tag of an element defined by self is optional. ean hContent- handle A handle to an MMdtdContentModel object. This specifies Model exactly what types of data an element defined by self can contain. hMark handle A handle to MMsgmlSectionMark. The marking of the declara- tion. hParent handle A handle to an MMdtdDocumentType, or NULL. The document type in which self is defined, if any. inclusionExs list A list of elements which can be included anywhere within the con- tent model of self. exclusionExs list A list of elements which can be included anywhere within the con- tent model of sel f. atts list The list of all attributes defined for self.

Activities none.

2.2.1.4 The MMdtdContentModel Class An MMdtdContentModel element represents a content model in a DTD. A content model specifies exactly what type of data can be contained in an element.

There are a couple of "base types" of data. These are denoted by EMPTY (which signifies no data), and #PCDATA, which signifies text. In addition to these base types, more complex types can be created by combining base types and elements with "operators." The following are the operators defined for content models (note that e can refer to a base type, an element, or a combination thereof).

* e? - This means that data of type e may or may not occur. In the MMdtdContent model class, this operator is called ' optional. " e* - This means that any number of instances (including zero) of data of type e may occur. This element is called ' optionalRepeatable.

* e+ - This means that one or more instances of data of type e must occur. This element is called ' requiredRepeatable.

* el , e2 - This means that data of type e1 followed by data of type e2 must occur. This element is called ' sequential.

* e1 & e2 - This means that data of type e1 and data of type e2 must occur, in any order. This ele- ment is called ' and.

* el I e2 - This means that either data of type e1 or data of type e2 must occur. This element is called ' or.

In addition to these operators, parentheses may be used for grouping. The specification for

MMdtdContentModel is given below.

class MMdtdContentModel

Overview An MMdtdContent model is an immutable representation of an SGML content object.

Methods upon ConstructEmpty Effects: Creates an MMdtdContentModel corresponding to EMPTY. upon ConstructPCData Effects: Creates an MMdtdContentModel corresponding to #PCDATA. upon ConstructEl: handle hEl Effects: Creates an MMdtdContentModel corresponding to the element hEl. upon ConstructComplex: string opArg, list args Requires: args is a list of handles to MMdtdContentModel objects. opArg is 'optional, 'optionalRepeatable, 'requiredRepeatable, 'sequential, ' and, or ' or. Effects: Creates an MMdtdContentModel object corresponding to the operator opArg applied to the arguments in args. If there are extra arguments in args (e.g. if opArg is ' and, and args has length greater than one) then the extra arguments are ignored. upon ConstructFromString: string s, handle hContext Requires: hContext is a handle to an MMdtd object, or NULL. Effects: Creates an MMdtdContentModel object from s. If hContext is not NULL, then self is treated as if it were declared in the context of the DTD corresponding to hCon- text. on IsEmpty: return boolean Effects: Returns TRUE iff self refers to the EMPTY content model. on IsPCData: return boolean Effects: Returns TRUE iff self refers to the #PCDATA content model. on IsEl: return boolean Effects: Returns TRUE iff self refers to an element. on IsComplex: return boolean Effects: Returns TRUE iff self refers to a complex content model, formed by an operator and one or more other content models. on GetEl: return handle Requires: ('IsEl => self) == TRUE. Effects: Returns a handle to an MMdtdElement, the element corresponding to self. on GetOp: return string Requires: ('IsComplex => self) == TRUE. Effects: Returns the operator of self, as a string. The possible values are the same as those which can be used for the string argument to ConstructComplex. on GetArgs: return list Requires: ('IsComplex => self) == TRUE. Effects: Returns the arguments of self, as a list of handles to MMdtdContentModel. on Unparse: return string Effects: Returns a string representing self.

Members The members of MMdtdContentModel are given in Table 5. TABLE 5.Members of MMdtdContentModel

Member Type Description modelType string This is the type of the content model - one of ' empty, ' PCData, ' el, or ' complex. Activities none.

For example, in the code in Appendix A, on line 31, the content model for the BODY ele- ment is (HR I #PCDATA) *. In order to manually create an MMdtdContentModel object representing this, the following code segment could be used.

1 MMdtdContentModel 'ConstructPCData => PCDataModel; 2 // Create the object for #PCDATA 3 MMdtdContentModel {'ConstructEl, hHR} => HRModel; 4 // This assumes hHR is the handle to an MMdtdElement 5 // object representing the HR element 6 MMdtdContentModel {'ConstructEl, hP} => PModel; 7 // This assumes hP is the handle to an MMdtdElement 8 // object representing the P element 9 MMdtdContentModel 10 {'ConstructComplex, 'or, {&HRModel, &PCDataModel}} => 11 HROrPCDataModel; 12 // This represents (HR #PCDATA) 13MMdtdContentModel 14 {'ConstructComplex, 'or, {&HROrPCDataModel, &PModel}} => 15 unrepeatedModel; 16 // This represents (HR #PCDATA I P) 17MMdtdContentModel {'ConstructComplex, 'optionalRepeatable, 18 {&unrepeatedModel} } => bodyContentModel; 19 // This represents (HR #PCDATA)*

2.2.1.5 The MMdtdAttribute Class An MMdtdAttribute object represents an attribute of an element in a DTD. In a DTD, a list of attributes can be specified for each element. For example, in the DTD given in Appendix A, the ATTLIST declaration on line 39 describes the attributes for the element P: align and now- rap. There would be a separate MMdtdAttribute object for each of these.

11 An attribute declaration has the form

11."The SGML Primer." attribute-name, attribute-value1 default-value1

attribute-name2 attribute-value2 default-value2 attribute-name3 attribute-value3 default-value3

attribute-namen attribute-valuen default-valuen

Here, element-type is the element that the attribute corresponds to. Each attribute-name is the

name of the attribute. Each attribute-valuedescribes which values the attribute can take. This can

be one of CDATA, ENTITY, ENTITIES, ID, IDREF, IDREFS, NAME, NAMES, NMTOKEN,

NMTOKENS, NOTATION, NUMBER, NUMBERS, NUTOKEN, NUTOKENS, or a list of enumerated

types. 12 Each default-value is the default value of the attribute. This can be one of the follow-

ing: 13

* Data of the type described by the corresponding attribute-value. * # IMPLIED, which means that this attribute does not need to be specified when an instance of the element element-type is defined. * #REQUIRED, which means that when an element of type element-type is defined, the value of this attribute must be given. * #CURRENT, which means that when an element of type element-type is defined, the value of this attribute is the same as the value of the attribute in the most recently defined element of type element-type, unless otherwise specified.

For example, in the sample DTD, the attribute align of element P can take the values lef t,

center, right, or justify. By default it takes the value left.

The specification for MMdtdAttribute is given below.

12."The SGML Primer." 13."The SGML Primer." class MMdtdAttribute

Overview An MMdtdAttribute is an immutable representation of an attribute of an SGML class.

Methods upon ConstructType: handle hEl, string nameArg, string attTypeArg, string defaultStat, any hDefaultVal Requires: hEl is a handle to an MMdtdElement. attTypeArg is one of ' cData, 'entity,'entities, 'ID, 'IDRef, 'IDRefs, 'name,'names, 'nmToken, 'nmTokens,'notation, 'number, 'numbers, 'nuToken,or 'nuTokens. defaultStat isone of 'implied, 'required, 'current,or 'given. If defaultStat is 'given, then hDefaultVal is not NULL, and has type correspond- ing to the entry in Table 6. Modifies: hEl. Effects: Creates an MMdtdAttribute for element hE1. The attribute has name nameArg, and has type corresponding to attTypeArg. If defaultStat is 'given, then the attribute has the default value represented by hDe f aultVal, otherwise its default status is given by defaultStat.

TABLE 6. Possible Types of hDefaultVal Type of value (e.g. Value of attType (or thisAttType) hDefaultVal) 'cData string 'entity string 'entities list of strings 'ID string 'IDRef string 'IDRefs list of strings 'name string 'names list of strings 'nmToken string 'nmTokens list of strings 'notation handle to MMdtdNotation 'number integer 'numbers list of integers 'nuToken string 'nuTokens list of strings upon ConstructEnum: handle hEl, string nameArg, list vals, string defaultStat, string defaultVal Requires: hEl is a handle to an MMdtdElement. defaultStat is one of ' implied, 'required, ' current, or ' given. vals is a list of strings. If defaultStat is 'given, then defaultVal is not empty, and is equal to an element of vals. Modifies: hEl. Effects: Creates an MMdtdAttribute for element hEl. The attribute has name nameArg, and can have a value of one of the elements of vals. If defaultStat is 'given, then the attribute has the default value defaultVal, otherwise its default status is given by defaultStat. upon ConstructFromString: string s, handle hContext Requires: hContext is a handle to an MMdtd object, or NULL. Effects: Creates an MMdtdAttribute object from s. If hContext is not NULL, then self is treated as if it were declared in the context of the DTD corresponding to hCon- text. on IsType: return boolean Effects: Returns TRUE iff self is not of an enumerated type. on IsEnum: return boolean Effects: Returns TRUE iff self is of an enumerated type. on Unparse: return string Effects: Returns a string representing self.

Members The members of MMdtdContentModel are given in Table 7 on page 35.

TABLE 7. Members of MMdtdContentModel

Member Type Description hEl handle If self is not of an enumerated type and defaultStat is ' given, then this is the default value of self. It has the type given in Table 6 on page 34. name string The name of the attribute. attType string The type of the attribute; one of the values given in Table 6 on page 34. defaultStat string One of 'implied, 'required, 'current, or 'given. enumVals list If self is an enumerated type, then this is a list of the possible val- ues of self. Otherwise, it should be empty. defaultVal handle If self is not an enumerated type and defaultStat is ' given, the default value of self. It has the type given in Table 6 on page 34. If self is an enumerated type, this is a handle to a string, representing the default value of self. Activities none

2.2.1.6 The MMdtdEntity Class An MMdtdEntity represents an entity in SGML. An entity can be a parameter entity, which means that it can be used in SGML declarations, or not.14

An entity has the form 15

< ! ENTITY [%] entity-name [SYSTEM] "replacement-entity-text" [SUBDOC] [NDATA notation-name] >

If the percent sign (%)is included, then the entity is a parameter entity.

If SYSTEM is not included, then wherever "&entity-name;" appears in a document described by the DTD, it will be replaced by replacement-entity-text.If SYSTEM is included, then wherever "&entity-name; " appears in a document described by the DTD, it will be replaced by the contents of the file replacement-entity-text. If SUBDOC is included in addition to SYSTEM, then replacement-entity-textrepresents an SGML document instance with its own DTD. 16

If NDATA is included (along with SYSTEM), then notation-name represents a notation, which in turn represents a method for interpreting a file. This method would be used to interpret the file replacement-entity-text.17 The following is an example of such a declaration:

14.Sperberg-McQueen, p. 22. 15."The SGML Primer." 16."The SGML Primer." 17."The SGML Primer." Wherever mePic t was found in a document instance, it would be taken to mean the file

/mit / j cg entry/me . gif. Furthermore, it would be understood that this file can be read by the program /usr/bin/gifViewer.

Examples of entity declarations are given starting on line 8 in the sample DTD in

Appendix A. The specification of the MMdtdEntity class is given below.

class MMdtdEntity

Overview An MMdtdEntity object is an immutable representation of an SGML ENTITY declaration.

Methods upon Construct: string nameArg, handle hParentArg, string hValArg, boolean isParameter, boolean isSystem, boolean isSubdoc, handle hNotationToUse Requires: hParentArg is NULL or a pointer to an MMdtdDocumentType object. hNo- tationToUse is NULL or a pointer to an MMdtdNotation object. Modifies: hParentArg. Effects: Creates an MMdtdEntity named nameArg, with value hValArg. If isParame- ter is TRUE, then it is a parameter entity; if isSystem is TRUE, then it is a system entity, with hValArg representing a file name. If hParentArg is not NULL, then the entity dec- laration is defined in the context of the document type defined by hParentArg. If isSystem and isSubdoc are both TRUE, then hValArg represents an SGML file with its own DTD. If hNotationToUse is not NULL, then it represents the notation which should be used to interpret the file represented by hValArg. upon ConstructFromString: string s, handle hContext Requires: hContext is a handle to an MMdtd object, or NULL. Effects: Creates an MMdtdAttribute object from s. If hContext is not NULL, then self is treated as if it were declared in the context of the DTD corresponding to hCon- text. on Unparse: return string Effects: Returns a string representation of self. Members The members of MMdtdEntity are given in Table 8 on page 38.

TABLE 8. Members of Mdtfdntity

Member Type Description isParameter bool- TRUE iff self is a parameter entity. ean isSystem bool- TRUE iff self isa system entity ean name string The name of the entity. isSubdoc bool- TRUE iff val represents an SGML file with its own DTD. ean val string the value of the entity. hNotation handle A handle to an MMdtdNotation (or NULL). The notation used to interpret val.

Activities none

For example, the entity on line 8 on page 69 could be created with

MMdtdEntity {'Construct, 'HTMLContent, NULL, "(HEAD, BODY)" TRUE, FALSE, FALSE, NULL} => myEntity;

The entity on line 13 on page 69 could be created with

MMdtdEntity {'Construct, 'infoFile, NULL, "/usr/local/.info", FALSE, TRUE, NULL} => myEntity2;

2.2.1.7 The MMdtdNotation Class The MMdtdNotation class represents an SGML notation. A notation is a technique used to process a type of data which could be included in an SGML document. 18 A notation has the following form: 19

18."The SGML Primer." 19."The SGML Primer." < !NOTATION notation-name SYSTEM "system-identifier" >

For example, on line 48 of the sample DTD, a notation called eq is defined, and associated with the file /usr/bin/eqView. This presumably means that equation data can be included in a document instance of this DTD, and that data could be processed using the program

/usr /bin/eqView. The specification for MMdtdNotat ion is given below.

class MMdtdNotation

Overview An MMdtdNotation object is an immutable represents a NOTATION declaration in an SGML DTD.

Methods upon Construct: string nameArg, handle hParentArg, string valArg Requires: hParentArg is a handle to an MMdtdDocumentType object, or NULL. Modifies: hParentArg. Effects: Creates an MMdtdNotation with name nameArg and value valArg. If hParentArg is not NULL, then the notation declaration is defined in the context of the document type defined by hParentArg. upon ConstructFromString: string s, handle hContext Requires: hContext is a handle to an MMdtd object, or NULL. Effects: Creates an MMdtdNotation object from s. If hContext is not NULL, then self is treated as if it were declared in the context of the DTD corresponding to hContext. on Unparse: return string Effects: Returns a string representation of self.

Members The members of MMdtdNotation are given in Table 9 on page 39.

TABLE 9. Members of MKdtdNotation

Member Type Description name string The name of the notation. val string The value of the notation. hParent handle A handle to an MMdtdDocumentType object. The document type in which the notation is declared. Activities none.

2.2.1.8 The MMsgmlSectionxark Class As described on page 18, sections of a DTD or a document instance can be marked. An

MMsgmlSectionMark object represents one of these marks. The specification of MMsgml-

SectionMark is given below.

class MMsgmlSectionMark Overview An MMsgmlSectionMark object is an immutable representation of an SGML section mark.

Methods upon ConstructIgnore Effects: Creates a section mark corresponding to IGNORE. upon ConstructInclude Effects: Creates a section mark corresponding to INCLUDE. upon ConstructEntity: handle hEntity Requires: hEnt i ty is a handle to an MMdtdEnt i ty object. Effects: Creates a section mark corresponding to the entity represented by hEntity. upon ConstructNone Effects: Creates a section mark corresponding to the absence of a section mark. i.e., if a sec- tion is marked with this section mark, then it is as if the section is not marked at all. (In effect, this is the same as marking the section with INCLUDE.) upon ConstructFromString: string s, handle hContext Requires: hContext is a handle to an MMdtd object, or NULL. Effects: Creates an MMsgmlSectionMark object from s. If hContext is not NULL, then self is treated as if it were declared in the context of the DTD corresponding to hCon- text. on IsIgnore: return boolean Effects: Returns TRUE iff s e 1 f corresponds to the IGNORE mark. on IsInclude: return boolean Effects: Returns TRUE iff s e 1 f corresponds to the INCLUDE mark. on IsEntity: return boolean Effects: Returns TRUE iff self corresponds to an entity. on Unparse: return string Effects: Returns a string representation of self.

Members The members of MMsgmlSectionMark are given in Table 10.

TABLE 10. Members of MMsgmlsectionmark

Member Type Description markType string The type of mark this is. One of ' include, ' ignore, 'none, or ' ent i ty. markEntity handle If self corresponds to an entity, this is the MMdtdEntity object representing that entity.

Activities none

2.2.1.9 The MMsgmlComment Class This class represents a comment in a DTD or in an SGML document instance. Its specifica- tion is given below.

class MMsgmlComment

Overview An MMsgmlComment is an immutable object representing an SGML comment.

Methods upon Construct: string textArg Effects: Creates a comment with text textArg. upon ConstructFromString: string s Effects: Creates an MMsgmlComment from the string s. on Unparse: return string Effects: Returns the string representation of s e 1 f. Members The members of MMsgmlComment are given in Table 11.

TABLE 11. Members of Magm1Coment

Member Type Description text string The text of the comment.

Activities none

Note that MMsgmlComment has two similar constructors. Construct takes the body of a comment as its argument. For example,

MMsgmlComment {'Construct, "This is my comment text"} => myComment

The constructor ConstructFromString, on the other hand, takes the comment body plus the comment delimiters, as follows:

MMsgmlComment { 'ConstructFromString, " 8 9 19 20 37 39

1. Dave Raggett, "Document Type Definition for the HyperText Markup Language (HTML DTD)", 1995. 40 align (left I center I right I justify) left 41 -- The alignment of the paragraph - 42 by default, it is left-aligned -- 43 nowrap (nowrap) #IMPLIED -- Disable word wrap -- 44 > 45 ]> 46 47 48 49 53 54 ]> Appendix B Code for AM2SGML

On the following pages is all of the C++ code for AM2SGML, including the program used to test the AM2SGML functions. The makefile that was used is given in Section B.70 on page 107. It assumes that all the files are in the same directory, and that the YASP library yasp. a is in the directory stored in the variable 1 ibDir. A sample run of the overall program is given in

Appendix C. U

a)W0"lc •)U) Z

0

0* rH- rHo O 0J -oW-H • Q 41 a)v Q) O0 -) V 4 4; O 0 v U) 0 -H SOW00d v QQ V VV 40W II P4*rI a) O 0 -H ( 0 0 Enrd 41 OWo 41 II -- a) W4104 V I II 4-) 0 -. 0 ,rI U) 0 S 0 H co) 40 4-)>1 C0 O ,COW SO I~4 ý41r-- >1 0 *-H 0- D 0 Q04 r34ato 4~4 V Q) to V a40 4 1I Wo V v .4: 04 0 a) U) VAv-I -V U) 0LIQ 41 -SV 4 UQ ý Ue'4 44 >-4 - (0) ý4 -H r0 -W c~q U 0 04 44 E12 4 0) 0k- o rdd -O- E-4 0 ") rl O -r 0 -H -H : 1

--ý CIAr1r) 'It V) ,c

II II II II II II SW WW 4 0 1 0 C) CD CD W ,-H

4 -)> -H **i: 0 44 w 0)30 -H F-O1dH U) -)HO HQO 4:: W0 0 Q p >6 0 0 U)0))* 4a rH u 0 u 0 > 0 o,4-) * c4 * 4-) o 0) 0 41rH -H a 0 WH ---I -H >1 -Hi 4)a 4HO.- 0 - 04 44r 0) a) >00000-- ---Y -- 0 r H 4-) 0 0 U 0 U Cd ,.. Q U4I H-H ri J W 4 ~ 4 a) -H -H -Ic 0 0> II II II I II- Q) Q) rIZ 1O4 0) 41U) r.-ACdS-- r- ýX,- Cd A 41 Cd -H r- . r-- . r-I 0 -H r- ** ,- ** -H 44 E--4 W A -H -H -H 4 0- H 0 S. 0 41 C,1 4-) -H Q -IU) F E- W)U) 0) 4• ; 0-H - 41 Cd 0 -H4 V) L 0) WOOQ) 0>1 1 U)W 0 ) 0 v C)0 0 0 4- 00 4-) 0 -H ri U O 41 4141C Cd41 C ,41 (0 0 00 4-JrdWdW 00 *0 rdi 4-) 00410410 rilHl -4 0 0 SC0 -H W4W 0 00 -HV -H 4100 -P4-4 WOVk -) 4- roQ) oQ Cd -HO \\-0 0 u0 S 00 0 0 C". -H MC ---4j - 0 0 0*0 .0 o*-S 4#H 4-) - -H °I

C-)

U 4 H *) 00'a. S -H4-) a) ,I -H -H II II II II .r..4 :t.- rzi Ic: 0 0 0u 4-) -,-H U)4- 5 40-H o)CdEd 44 IU) f-d 4Zrý Q 0u-:0 -H SH m On -H Cd >12 4.-) "0 -O ý- -H- P4 W 0) •) ,-H a- a- r-,U0 H( 0-, - -H Hr rlH 0

I 0o

Cr (1) U) -HrH44- , Cd UO Cd 4 zr H 44 -a > 0

a )Q) o ý4-H U) ýU ) - MUU)a) r- ii U -I)O U) U) - 0) 04 0 i o . 0 -4 U) 4IJ U) 0-H 4-) ý4 ro -H 104 C -H Q U 4. -QH Q ro0)U) r4E-1 E-i U)Cl mFc: -• -Cdo ,-tm 0) UH) 0 rO 4 0 0 00) 00 r0rUo 0 0-•U)OS00 0- 0 *0 > E-, UWH 0 '-0 -H -H .) 44r .. --) fT FX4 ýRj 4 4 CO -E-4a -- U) U) -H4Qo C-)U)EU)V Q -U)ro Q ('0 E-4 60 m-,i -'-4-i H 0)U) Q4 C•C•-H4 QCd 0 4 S-H U) '4-4 *Q) CdrH o 0 LW0 H U)4 OU00 UO 0 U) ** * ,c: 4Cd , 0 -H0 '4H4- m-U E-WU CD0 U) CE U) r:0 U) N- -- U) - 0 S0 0 0

t- o I,s Oc N (N (N (n (j (N (No- rN 0N (Ný .4 N "# 't 'tr- o 0 o' ON'.e -- , N W -4II Q)W O W 0 U 0J

WH W r. 04 0 - 04Z .HO E-4 S O 4-4 n E1--- :1 -H 4H 40 0 0 --0 (-1) aJ 1-4 CMý4 u 44 II 0 0 F0 0 Ird 0 O •O II 0 -r Q) .•t W 0 O -09.1 II Wc$ Ud ro A °H 0Wor 0 A ,C A U) 04 H

04440 O I A W -H SrH SU) I" 4--)O-H E-1O-H (0 04 40 >j J0 >1 •4 WE 1 0 4 04 U• 0 0 -0--- > 04 H 1-4U) ->II M -r- 400 04-4 ý WQ S 04 "1 o 0 4.) .H~U) ý CA A rd0 * v v 0U) O-S(O (.d -H 0 04 4JW rHW .H4*00 a.) u. ýj •-0d O 04-H d0)0 OW000 1--I 04 -H U -H E-4 (1 to ,4 r - 44- ) -H 01 E-Z U) - '--- U ,C 04 onn 0 0 - 1 .Mr rOF) -0 ra -H -H - \ -H -.

00 0 00 00 00 00 000000 01.1 0\O 0.1 0 0*ýON O \OtNo

U) -0 8 -H ,C 0•O ý4 .1o rW -Oro • tm U0 04,C - rmd0 U) rd0 OQ)44J Cd U);WU)4 -H ýD r4 mQ) 0 44 II rH -n CdU)dU) II .. 1-4 00 -H d Wý4 m z )- 1-4U)Z >U) 4iJ ý4 (0 H O l 0o - ca 04 * 0 0H U) -H041 (0 r--0 6O W•- U) 04Cd -II u W 4 -~0, U,.- 0-0 W -H , '0 4 ii 04 '0 04 0 0 -f cl- ýD-H > ,Q -H -H U) 11 0 >41-0 W04 rO E-- 0 0 4 r40 44 0•0 4-- .ý - 04 -H44> 02cd U0 ý4 J 04 14W-05 UC '--- - W0OO 0) S40 11 II U 0- ul rd 0)3-O '0 U) -H U)- 1 II 14 WQ ,-4 4 U) -0 -- 0d 0 0 II W X4 0 -H0 II 445 So Z o -0 -~c 0 14-) 0 -H4 ~0- -0-01-4 -0 0-H-H 4- --Q)41 .o4 011--04 40 U) r4 , 44 -H 0>4 14W W U) -U) U) .-H W -0 U) Z -H040 1)44 IZI -H :J40d0 04 Cd -HO~C 4 5 -0 WO- -H Q0) -0A 14 A 040 U)- W 0)- 51-4Q)A Wi 0 -0 -H ,- r-0 00045 W1 0EU-I44 000 U) W 04 m4J U)-H 1--i 4404C - ,C OO - -040 -0 -H 9 0 0 0 O- - WG

00 0.,se C-,4 '04rboN O N Oio N MZý 00O Oio 't-o fl n I- I . 'l - 1 t I t - )kr r kýV V ývý ý10LO ýO 10 O Lý L ý toýcN kO1% o 11 ll l -Ir F=: 42 0 W ro0 V0ý4 2; 0)0E U) 0 ) 0) Cd 4ý0r- 0 .-- H v oý- 4 2'. -H Cd Q) co ---- COtH4 U | Cd o .. to, -Co ,O0 U)E-4 SUz 04 04 C'44 04 C-) - C) ,--.. ~ r-l U) P- 4 :Q 4 • -- 8 04 rH iW fT --ý4 4ro D4 A • U): 124 045I - F4 ,- U) ,C 0) \ -HW 4U ; O u I Q)42Q WW4 4J 4-4 0a)a H- r-- to u)WW(0 U) )-iQ r4U•:1o (4 942 V0 (C CdU) -I U) 0 Q V -H I " -H -H - # *

SI- >i c 0\ N 00 0ý - " . t 00

94-1 toW 0 W -H 1 4.4 rL- r-q -,-I -4-( 0>

U1) W 4-4 -H

-:44-442i 5 - o P4 V4I0 04 0) -H42 --(1) 4 0 .. 0 At k U) U) ::I 444 .S(-I 0 CL 4 0*) ( 0 r . S4-4 z:4 to: ,0 ,i) ,0 42 to ,c- 444-) 44 P W 4 4o >1 - 4WJ4--4 5 * 0 H 0.4 U U) U) --H W r- 5 >1 41r-IV >-1-- r--I o:3uofl or n 0 41 0 V 4W0 utoW E Cd-Hr-HHO U)- -H tO U) 44 )a)Z Z a) WW W Q04 T$ (1 r a) U) V- XWX -Hl 4-1 ,CdW 4-4V WWWWW WWW WW -H 0) - r-cP4 tototo to toc* * to$ 4-1 (3 -- 5 :5:5:5 ýj J ý c-H rc- rc- rc- rH rH ro rH$ro tH c- 04-41 H C r--i00 r-t u000- u ý VVVVVVý5 ; ýjj j *ra toh rH--- H -H r-H-H -r-H -H -H OU )O uu OQ -- - -H -H -H -H -H -H -H -H -H -H -H -H -H -H -H -H -H -H - - -- - #I- 1# =: -W H- :- # # Q) (1 y0 'I V o 0 \-zrýN(? t ) otr 00\ý- 0 44 U) 0 0 cd 4.-4 I-Il Co 0 0 U4 4-4 .r--°) 0 0 04 0 0 04 -H 43 -H 04 °o 04 °o Q) U)) 4J 0m °..O 0-- c. 0--4 0 4 °4 D (NU°. 1... -.----.. S0 -) ,-, P4 M O -•, 04

4 cocr.d o UU) ro 0) zO r1 >1 P4 -H a4 (z Dm H R4-W 1-

O C) Q) lJ ý4) -IJ 0• 4ý (1C-) 0 Q)Q U) z .Wa O u ý4 D u0 uQ) Q U O Cq rn Itt ~ 000ý -a (, nIt )IotýOIo.o) 00 z ýC n ' e)ý rc h o >ý(s loO )1ý ~,,

-H- ý4

0 -,i

4-, 0ý-q a) 0) 04 U) a) 0) -H o - U) C) I0 0 rH O -H 0 -H o4o C) a) ° - .- ; C) 41--ý4 U r*

0 HU °d -- ýD P4 co~I r°°4~ °°) lx Uo

E~I U)m 4 Wa) 0 °° z E- I × O0 ID U E-1 a) U) U) EWa4- ýD U) H

- 0 t 0 ' 00 0 t " 0 o " " N . N N N N 00 00 0 00 0 0 00 0\ 0\ ON 0- C 0 0 \ N 0\ O

o L1.10

o 0' 00 0 IQC2 -'**4C) 04JU.) 0 -Hý4 °ci SU) 42 u o r U 0 Qi) 0 a) o**) ý4 0r.0 u40 42,U) 42 U) 0 ci-H U) -r j -- 0 -90ý444 'fýU)U) U O O" 0---ai) 0 4J 0 " o U)0ci) m 00ý4 (0 44 r En 00 >0 -4 0C O -rc 0 0If -r- 0 00 0 ~0 0 0. 0U) ( -HO () 044 0(n rd ~44 0 OW0 0 4 rH C: U) 0 -H-I rH H Cd4-4-• 44) -H -- -- -H 0 C 0 42 ON-- -. -ci U) ,- °• ci -H 0 rnQý 11r)-- NY) rn rn"*t C'ntr) 'Inýo "I-)(ý, rn00 fnOý Q)It -ýI- NItt N-)I- 'tIt V) It ,Z) --. N O

U) 4-)U)0 -q -H 4.2 0 44 ~0 (D0 i-) 0 U)Q)0 OcOc$Cdc -H- U) OO0 -H 4 °4 44 ,C o >1 0 (o .r 0 0 0 I-Io -- lO I1 a Q) 4 0U) II II II c) a)a ci rc$ 04 SQ) Cd 41 r iH u 4-)ý4 U 4-)4-U) U) 42 -H4-) 0 0 04 42c4MCd u S .i) 0 0 Fi 42W0 0 -H 42 cri J.) 00 0442 "d U 00 0 0 -r-14 WU) 0 'c>1 WQ H r• -,-- 424 04 04 .1, w o U)a u r OW rn1 0 -0 *W0 • 0 (1)h4 EQ 0 a ,0-4 I- 0U 0 '4-4 rl 04-i 0 0 'dV) -HU) 4242 S0 -m "nUD (])0 4-4 ý4 W0 cici -H E -HE -H -H EU)0 -H -H I-H 42 U) -n 0- 0 0C0 44W U) U) 4H r) 0 ro 0 0 u00 ON ~ '-~ (N~1 ~ ~- Lr-~ Ir~ LrN )r~ LfN '~N A 4--)i C')

-H - 440 O 0 / 0 41 A - M 4 V 0ý4-

- 4 A 0 u - ~-4 4-W nl-~ Ci) Q) v~ * Uo C i 0 04 A

0 r. 0 u r, u 0 I -HH C) O0O7 U) O *. A 4A (D F C) 04 .,1-- 4 oJ 0 4-) - 0 m -- 4 0 u r Qý 4-'-' 41 **00) sU U-II U) 4->1 CI) S -r H--m

Q) **U)F 41 - 0OQ 0P rl 0 -Q) 0 0P- UaH W S0) (: 44H 0 4- 4- 4 r!SU) 0 5 - q%) Q) Q)% 0 U) 0 - ) ýU ) 4-4r-I-H ýE: d Q0 m 0 O- U -*ý4 0 (0 ý440 0Om-U CJ) 9 0 2 CdE -H 0d -H 0-i- Cd Cd 40 VA O >JF In, p- -4-4 rc . U) -H0i 0 Cd M- U U 0- - U) 0 -H U)00 A.)

* 0

ooU ý C4 l)C ~ ) IC ) c 000 Z 4

0 0 00

0 0

UJ -H O J -HQ0 Q) r ~44-' U)3 U) Q U)0 4-' U) -Q444) C)4 Cl)

U) 0 O UO U)- a) U) 4- U) Q)0

0 4-) 0 0-4

U)- q4En Q) r-- D 41 ý-H O HUH d-d 01 0U)S4U).'O E-4-0 U1 U) -H A)~ U* - U U) 0 0D 0U)CJ4 1-' 44 -H U) 44 U4.4 41 Q) ,q)d 00 -H14 U) U) U) U)) 43 o* > w H r- 4-) ;Hj rU) J..) U)1 -- S-u 0 41Q) )H4 U)HUU) 41 ~ -3, C/ U)U 0 (0U)1d E-U4Q) Q)r--4 Q)UQ)44- -:3 U) 00 i0E 0 4- 0U4U)1 ) rH H -04 Cl) q DU O *- 0 Q) Q)p - 0

$J: O 0 0U0 4U1U H U* In CdU) 0 OOq 00rd -0H4J- . U) U) -0 -H 4 U o 0 O Cd 0H rH Cl)U)0 O -H QH 11 0 Q) - C04 O 0 U) W0 QQ)0 44M 044J 4- :: Q QQ-4 0Cxw r 0 -w4-44 w 0

44 U) ro 4- nQ4)r---. -H -H44

a) : - ý r 0 4 w -3 -H O W ** * u 4 V) O U)(D ý-t

4- Or OO UA 0 4-4 0O O O .O 4-i co 0 4- 4-4 4I-4 4-4 H a 0 O o a) O CO 4-i U) SU) O • 0 0 4I-4 41- .H 0 -Hr. Q UW 0 0 )04-i 0U)4- W d00 U) 0 ) 0 L;4 W41l -H U () 4 OWo U) 00 u U 0-H a)a O0 - 44 14 -H OW '44 4-4,-I r0aU)W OW 4-0 o) 4 -44 4) L 4 -H 0 4. -HU) HUo 4-)Idl EU) Z4-i5 9 4-i-• • 00D '-4 W M-H C.)U).. 4)4- .-0 I 4-)0a) - 4-4 -H zCP a o W0WO u U, (D4-i 4-) E-Il IO OU) b-OU4J r44 U) S41 O -H0 -

*~'H - -H -1 0

Z-0 ý"o'ýOz ý)) S 'ýo i:z P! ý2

O O * a UO -Hr 4-I U) 0 -OH H- U) 4-I 4- 0 a) -H

-.I 4-4H •00 as •- O -H 0 4-4 -Hi U 4-I0 rI- 0 0dr1j U) ul O S 0 W U)-4 -iU) Ha OW 4-) -,-I (du HO) 0 0 -H 4) SU) 0 44 O) '4 0 a (d U) '-4U) H 0O d U 0 U)0 H4u-.0 CO AO4 ) O E 0 4-4 -H On 0 EU) 4-44-4 I0Fro rU) 4-) 0 #• (n 4-)i o • >1 IQH Q))oo -,-i 0 Qn I) 0 0 0 H - 0D ý4 UO-HOW (13 O 4-)'-0 wHH U 0 0 w U U) U) -- • #O44U O m o U)W 4-4 --- IdU)l- 4-i oEaa -,-t 0 0H ý4 (nUrd - a) 4J O .. rd ý 0 0 4-U) -H U--(a l U-.*4 r.00 GH0- #-i 4-i U)- P 04EO~ • U) U) 0 Id L-U) O 4J U) 0 -H ro 0 0 41U)U 4-i -H0 -H4-I 44 H H U U - -0 U) U) (n U U Ulri4 0 OO O rdrd 4 -HM Q) 44 a H44 0 0 4 M Oi *H.- ~ .0 ) 0 0\ • o-H rd -H 4-i •4-J -H -H C-H -- S4-4W *41: -H (1) -H ** + + SU)

CDU) 04 F. r4 U)

" ) u H u)U) 0 u ý CUS) Q) S0 ( U Q - U) -H -- ,-"m U) U) A 0\0VHU U* r. I -I --- U) 0 a 04 0 A U (U C) 04 0 0 H Q)II- ro Q) Q)0 CU wv o u o -r- -H CU•0 SU) 0 0 ItoP 0 0 0 u -4 II.11 + U m QP m) U)II Q)II - r -d r-CU U) V U8P 0 -4-) 41 U) II - II V - i -H - U) (0CU A-) 10 UCUS•U 44 0 -HU) 4 0U) -H .0- *uO 0Q Ui) rH OO-H oC U) -U 4-) 4~J --- U)0 < -HI CD°° **..) II L-I 0 U) CD 4-)OC 04(04 (0 044 0 S-H W-H U) -H C) ,-' t CU CU rd rd ý4 ,C Q4C 0 - -H CU VU)C)U -H '- 0

ýDU) 4-- °• + +

(d 4-)0 -- 4)-)1:0 4 0 -H

14-40 U) Q) w UOU, U, vU)0 U A U) -HOU) -H(9 4'i U) 4-) CU S) 1:4 U) U) U • . 0 Q O04) 0 4J S a) -H 14-) ° ~U) U) to VU 0 0 ,-U)N ,-I 'S-H o 4 UI) StOH Ur)II U) 0 U) Q) Q) C) •J o • 0 o U (9 mc CD 0C U) -HU) C*D --- -H U 4-) * >1 II N U) U) 0OQ) 0U S r- 0 o C)U) A4-) ý ro -- C- l - -,- U U)-HM 14Q)v 41 0 -H ro o -H )CD U); U) -H 4-) 0 4- -H U) 0 f--H 0 CUI- U) j 0z O 0 OU)C 0 u SU) - -UOCO C•1r-4 C) S 1- ýO -1 - o u i U) F-I 4U- 44 CDCUU h) -O '- '- .-H - - U) 44 4-) :I~0 0 -H oH.44 4-) '0U) 0- - u u U -,- -- 0 °• (i -H -H C 0 - CD #t= #t= U) C) C) (Zý--ý " Vi)ý,c 00 C ý 'f I n \O-- 00 00 o o00 00 00 00 00 fli rn"tO-ýýct, 0ON CNNCq qN'A" N4 , C) 0

-H U)

d-H .

m ( 0 4-0 -- H O 0 O ~-U) O x4-1 : J-)>1U ý4 10

4•-H 4 cd30 rO0 H4-3 U) 0724 ()-, 0 t: 444H H -:0 a)

U) \\-4-H (o 4>)~ 4-.-3 04 0o -HroU-r -H(a a)0U)C) -0 L--rH >104 044UN) S -o - *ro o a QU >1 Q~ 0U] 0 >1 drd C) ýA :j ý 4• 4-) QL ) U 00 00 4H 40 U u Ua) - () a) U] 00 4--) k4 -Hi J-) CJ) -H 4-4 0 U) -H r o 4-H 4-)4 FD UH 0 U) U) 0 4- rH0 00 -H -H -H -H -H -.--- ** 4- =W

(N4 r,-) It t N-.N CCo

-r-

-H (D a) a) -H FQ -1 0 -,-- ro 4..) Q) O 0 O0 4-I Cd 4J- C) U] C)V * CN E-iI) -H Q) 4-) .- CdU) A0 -'C 44-r-nA ) CD°4 k 4J OU") O II II 0 0 --i -HI.Cd• >1 0 U) II cC0 14 C) 4-) U) -'C c•a) 4 0o -H U H a) k 0 V -- - ) .1- ,CO 4-4- 0 4J S 4 J- Q) 0 44 U) r-A U) *S nO 4-4a a) E-'C E--4 ý4 H 0 ro ror-HI r--I SO h 0;0 0 1414 u

N-00 (ON ~(- f "2 44 ON 4I• 0 - 00 4 0 d 4-) *- 0) • o0 -14OH c rl~~0 -4) 0 U) "1 (0

Wi -H - * 04W • J-)4-:H C: W--4 U4 4-1 4 -0) (d 0 U >1 - 04 4 4 4-) QW W (d tW U() - 41-) 04 W>-H> A F -H oo o) ( d W (d 4-) -H -F80 ý z Q4-) r-F 0 0-H4 r H 0 >1 41) 4 4 W) U) * O4.Q A) 4- -H4M W 4 49 0 W S0 IW '- 4H 0 ri 4J A •O F:ý W W C) - -H FI A A *- H I WQ II I u a)H 4 Q)0 4 -H4S4 4WU4- o 4-) (z U)Cd Q ) tW (d d W)Wr >1 04 L8 H 040 Q) WQ) ý2 En4 '-8 oQ 1Q)ýW ý U) Q $ 4. 4-)4 4 0 *- • 4-3 o 1 .. . (d - -i ,-A - . >1 4 U) ** UWW•( • 0 ~ • I C W V v -WWW- a)H U0V*1 OD ::: - O~ 0 O)UAMU A 0 0 Q Z-Hr-I44 J. QWwW z 4141 m W z W t 4-) -HW ) Z-iH r d 414 WD ,m14-J 4 -H ; HVtr-4 H 44. 33 H 00 UQ-0>1 0 0 * H WW00L4 f rHM HrH W rQs 49 11 U MS Wb UU0 -0-Q -\- ->1 r Q)\\\ 4 (D0 \\ 14H 4-Q) -H --- - Hu 14

0- 4-) ##rl -0 -W-- 0: "o

Cd -H W I W 414

- t0 0 H 0 V 0 t 4' W H 4-)II -- Wt0 In 0W II 4H 4-) SA W 1z A Cd -a--- 0 Cd 4 - 0 *I9 HW W - 1H 14 H

H W -~ - ,QA H~ 1-43 - - 4-)- O -4 1-_: W

II 1it II H 4 O ) U 40) 4 S 3W E-0IL ) A II A Cd 014 U W14H W4C - O 00 4-) 1- 0I0>W H 4CQ rOoW Cd 0 W( HU 61 HOA0 UW 1Cd ) w 0( rO E-OýD04: O W S 0o6S W ---4 r-IU)I4-)U)1 ZHO 0 4-)4-u 14- n >10 ~ ---l WW4-) -InZ 4)j lAW pr4U4)U-4)~ O Cd -4 W1 04) Uw ) H4~ U) OW Q)~1I- C ý -- 0

S W t 414 W4-) C d AA -Hi1 -- 4 A -X: W O 4C 0t 4 W 4W 'I44 wI I I C' 44 )t S -) -H WEd 1 M tU0 C -ý- V Cd WZ WW A ~ 04-)4 tk -*4- 40 4- 4-4e' NH 4-I W>1l)d~d '- --- W C 140 J t W Cd 0 Cd W H WSE---0 4- 04I0 -H t r0 0414 Q 5 U)m' Cl- >1> W--1 '4- >1 H 4-4 3 0 ) -H rd U 4-H) -H 4i H 1 H Q' 0 -W 0 0 -A W A A H A8 W - Wbr U o Ir Q)4- a)~~ r.W~~ 44*H-- ý ý r* 4z --H r0 04~\ W~~~ -H4

rý Cc U> Cl) a) J-3 -Hý44 -HU) C) -H > Q) 44 >10 Uo) ro 4-)34 o •-z1 0 CO 0 4-3 QD -1- F_ tmo Wv-i 0- 4 U)4• 0 ', r0 a) .tIC H Q 0 rd p4 - CC (0 -H 0 -H 104 CU a)C ) .U CU CU> -H rzH OCU * 'C a) 4-3 CU 0 ro 0 m) C) >1 4 -):3W!- ý-4 A IQ ;: Q)0 A -H II O4 ,CA CU 41 41 -H U. 0•U)Q r5 >1 w zU 4 r0 *r- 3J4-) --r-O ) mU4 -i w)v0 H -H - -H H MO0 Sn 0 S4 U) -H >1 OH 0m w 7 >1 UC 0 C U U -H 0 4 Q -H- 14 .UM 0 (o a -He 0 4-3ý4 0 U) OCUa > U)C -H• -- 0 v v ~U) u 0 Ua) Vs AM* * **H 4O. 0 0 S0 C)0 4-) -- I -4 U 0U) *-H 'Crd 4J U -H 0 )5 .r-H ý4- SU) V 0C$4- r4en rH W * 0 4 CUCU0 - H 0 00 H-0- 4-) 0CU 94 Sb 000 Sb 4L3 (aq -H -H -0- 0 H -H-H -H W Z a) ) a 0., -- -4 - (N - 'I -

H

-H 'Cl -H4

o ý4 - O0 DCU>1

:34Cý4J OU04 4-) >U

CUOtU) a) ca 04 41'C -- 4 4-34 0 0 A A A 4U 4A 0 $ A 0A * 4 .4 0 - 0 a4 HQ U).4 ) ri- 4- 0--* ý4 H0 -H* 9OCU 01U m H -V 0• 0 CUCU 0C4 4- 30 Q H 4->1 4-)C 4 -04.-H -H-JI •-Q • -4-4 CUCU O4 U-i o Q0 4H 0C a)v v- 0 4J 44 V V4 3 04>, 4-•S0 -1C O 4 > U0 S 0• -H- 4 - -H U)---- 4-1 .- H r-I H H H H 4-3 -H CU -H 0 0 -H4 Q) 00 . -H U) 04h) kCUCU C -H -H ,-- -H -H H -H -H -H -H V-0 e! '-~ (N -- , , f t kN cr',00 43 U)Iý4 >1 x UH ai) ca) C%. U)0

> b~) 44 4-3 UF) -H 0 H Q 0) a) 0 t) H ci) 0 U) 4-) . 4- 4. R 0) U) *- -H U) - 0) t3 A D 0 -H U) I 4O H 00 -n0 In 4-) 4- b) 0 ) V 4 -H C0 U) 0 0 v o a)0 0O -Hr -H *- 4 -HPH z 00 o 4-J 4- w -443H 0 0 4 O0 IIz-II *- dC E-- QH c 0) 4 HM vV U) 4.) >1 *H 4 W H z V - V) ( 0 CaiO4H >D 0H O) 0)0 0) o (0 r d -HAO4-)4-4 0i0 > W 4 b tUn 0 U)1i H > 4-H0i 0 d M a0)> 04a)V IS 'd 4-) -W A-W - 4) HZ w P4 J) E-4ri U) V U)0 Uitb) 0b -( r(c3) >a) H w E-4 ca Un C mu)U) $>ic

MA H w -U) 4 : 4 U) -H- - EnI ý4 4 ) V V V V V - 4( V -H4 0

F 4 -H -HV0 -HU - V 1 >C 0A -r rC C) k (d 'd 4 (d 00 ý (V r- (0rIýJMrIv r V- rIU 4a 0 0 - 3) ý4 u ýU (Di ý0)w ýl) ý0)w H ) ý4 ý 4-Hr-I U) U) 4 ý4 Cd d -H aU)UQPU) U MU UQU)UU) ), 0 I-4 Ul 4 4.. O - Cod Cd Cd Cc C( -. (V ca)V -'4-4 4-4 a) uU -U)U U U U U ~ *U U -.-H -.-H ý

ci 0- V) (z - tl 00 ONC, -- e Uoýoino tin W)t A0 0 C1 eo n S 0 'o ZR 0 0 00 "0en 00 tn 000

U)U)0 tnci 4 04 4J d -HQ Cd 4-H d 0 > 4 Un 4 a U) 0 we m) ()a 4 4

44 HH d *U * -H Cd O00* d ) b .H 4- 4-3 rd ( dd r4 H > 44) 0U

H L-W -H0 -44 41 0 -H ci) r- a U) 0~d- m ** -D 0) 0) -H - C ol4 N U) a Hd 44 H Cdb * * > U + -H a 0) 4 U)E U ) 40 H rz 1 -X + 4-) Q) 0 C C C U 0-- 0(0 4 *-r -U) E) U 4 A ri P4 rO a 0 ro a -(0 m 0 0 t3 4J u 4 1 -0)u c) -o> U) U) (a - U a) Q w +40 - .40 U 0 0 o - En C4 C - U -Hw-- U - C4 A , C a)0 00 ( En -Cd 4j 4J 4 U- o 4 0 O4 4c: -- > U)C (a U) 4d Cd Cd f 0 4 O 4- -H 4 Cd-d 0 Cd 0 0 r-$ H U) 0 ro ý4 r-H 11 4J1If VI LW44 41 I I rddt) l 0) ZII 4LW 0 9ul H- Srd$ Cd -H H q 4-L4~ 4- 0Cd o 0 I > 0) 0- Q)Q) W - r: 44-) II >1 -H 4C0K - 0 b)0 U ) LW 41 U)Xx C r) 4 LW44 C41 a) -4 -H4U) Cd 4 0 Ua -H0 . -aH -i LW Ul U d dl) Cd LW4 P4 -H -H E-4Il -H 4>4 4J 0 0 -HEA ( > 0) 4 4-J U)l- EnU (D--04J s 41 r-4>1 ca)'d aCd S >1 M )4 4 (d d -H 4. >-H 0) 4-Hr4 4-) nr 0) -4 U 0) -Hrdod(dU) >C (a xH 0a) rc Q 0a)ju P4 0)Cd UUd c HMd>>4d>> >40)m E )0 -Ha)H U)Cd Cd- E 4 U)i Cd oE a) 0 E-f 4 > 4-3 ) 4J F-I Cd a) V)O4Url -t) 4( 0)U)cK>o 0 ##-K-HU4 90) ri 0)-HU)40 :j r:3 0)0) '0 r 0)44 (d 4na d: 4 dl 0) 00Cd-K d - .- ) OO ,Ag-H A C 0)d -H-He U 0 E- 4 0 4 >Cd E4 4 4 S4 aQ (nU 4d 4-1> 4 4 4 4 U

4 4 - -u44-H -ULW -- H ---- H -.--- H -4 -. 1 \ -,\, r 0.00 -HD ; ) 4

r~o $ U 0 oa) o L)Cd -,- H ) -H - Cl O U , -H o M O0 -a)

,c: 0 044( F 00m 0 I 0-,Q 0)0 440 Q) 0O -iU) QM) ý4 QH.Hq,)U,) • 0mm4 ,rO 4 5--- to>1 41 r-qCw-HrA ) w 04 4-) FI [:4-- II- a) U -) (Dý40 Ca 0m A A • r (. Q. I A u • 41 m ; 4(5Q) -i 4 a4-) UoU o a) ..-4A4A a-) CoCa 0 rH -H - U 04o* Ca** ý4 Q- H -HCC ) a)- (1) 4: w ,Q 04 ,Q -H f 0 -H m C -H 0 II -- 0 41 [:14 -H 44 U 0., A C:) Ca ýj -Hq a) A O 4 >1 U a)a 4Qa R I a) V V V an 0 .W a) 0 44 0A El- : M SCdý4 -iD -H *4 o-tr- r- 0,a P~44-a) [-I a) -H Q)~- 4- 4 I - [ILIA4 to Cb .H000 -H -,"t - H H -H -H

Li-Z N cc (Z. -, -I I- cl

41 0

(0 H4 -HoOOW . 4-irdU O

H U

4 ma. 0S 0 ) UJ >, a)-i ;Uj-U) Cd -) 4-004 -4a0 )-H 4 -4 Ca U H4-) -H 041 a) a) to J r-H - 0 UH A H * A 0- - - -r0 *-t 4-4-)0 )- A SC, 04 U UQ HCa a)a[ ,E CdrH0 O * *a ,C • Q)0 04Cd C- U U 4 >1 ** O C-)o ýQ4 U 04 (~-d Cd 4- a4 toa 0C-- -H0 U.--.0 E-A00400 04 0 >1-4 01 -H4 - 5ý q 4 A OCd tH4 -H -H 0 04 > a) ta)40 Q V V U ama) 41*0 - [- -H-l 4 * a) oa)0 4J) -H- 4-4 U 4 -a) Q) ; -H a) 4-i0 -Hd V ; ý4 04 0 0 V 441 O-HCab UU Od U U Ca a) 0 44 Q)-Q Cab O O ++$r Ca \• "$-H "o-H A-) 4-i :11= H -H H -. 00 *:# = y( It .,. te' r- 00O N 4 ,,. 4-i -r-iU) -HA 44 44t 4- x -H o (0 0 Cd 44 > ,Q Cd a) r0 0 ::1 a) 0dS•H 000 a) -Q0 >1 HU u a) a) 0 > .- > > ý ,C 0 00( -H A - ý4 ** *° 0 --HC U) 4Cd-i a) H CFa)0 O H Cro > a) C0 -Ho ; U) -H -H (0U) r- OHr-i H -Ho C) X ** U)-01- a)ý4 a) f: 04 -- -H C:) ;i HAAH A A 0 H° ° QD A I I 0H Q)e 04 4Z -:s-40 44 --r. H U) H(21A IV.U- ý i H -H r.w -H 0a) Ha)PH 0DOH Cd-H a0 U)-H - II a) . H- U) ,Qr. - r II 4-i) * Cd -H C U) >1 Q U) >1 M) 4-) - K4 44 U) U)- 0404 ~M a ro II II 04- w (0 u 0• H HX (U) PL4- UE-A\4E4 0 HU4U) -Hr -HMMU 44 Zo Sa) U) WrH 0 >1O -H~1>1 U), a) - 0 1 I ý-I 0r; Qd 0 Z ~4-4 U)-00 U)04 4-JH O) S-- F14 ýr SQ) W0 4- 4 HH x t 0 a) 4 -- Z C-i Q)a) a) -H 4 o 0 > rN ý4 a)(o o a) -- -0 0 044>- a) -H S44 O O -rl (n In U ý: (0 m O -H44 04ý-

- OH

ro a) Cd ro 0O Co 04 U) 44 a)-H U) U) a C) 0d = a)ro1 nU -Hý rr-H U) 1 C r -H r2 (d 0 0 4 4o- 4 44 (oCd C0I m - &a 04Ii - 0u H .-0i -H 090 44 S 44 43 -I ,C .aa .- i A 4 44 H O A - a) xi za) >1 0oo ro H H0 I A $:.' 04 :: -H ,CA 00 0 44- -Ot 04 04 rd U) A• A II -H II a)I -• ul0dU) H H Q) 414 -H rizi Q) ro a) * *1 © *- P404 0S04 z U; Q40 4- H I-OU 0 44 a • Cd -H -H -H -H K-O 0 *d 7*0-1440OH Sr- m ;-.i U) rd CdH-4QC 0 -H404 a) 004U) ro ýA -j~ I-H U048 -- 4 ) 0 -H Cd -H Cd0r S a) H4j H04 VW V W ý- 44 04 HU H04 -0 U) -H-H Cd ~-- -HM 4 0 0 -H 4 0 04 - -H a) 00 Hc rH Ho S; 040 0v -H 01 OM4 u u 44 HH H H 000j : F.4 -H4-i 0000 -l r- -l -H r- -H -H .r- -- i -HA- -i Q) -H -\ - #1 #1 1 +t 0 --' '-. O) rH U U) a) 0 SO + -H Cd -HU)U) -- -~ U)SQ) U W-4 4. J-1 -I--) Aj C-) () ..-H• ) -H• - ) 0 >1r C U) -- U) > A 0 r-i 0)-U u S - U)- I -4H F CO -H 1-HI >1 I U - *-Q --. U)4> - -- - -( - Z0 r * U) >1 i U) F 5 o >1U >U -H ,- .) Q-i) Q-) r-Su - --- -I d rH -0 U-04 Cd ,-i r--4-J) Z 1. ~ En 4-4 r-i U4) E -H -Hci 4-. U U w -H • r- --- -H 4 - S (1) 0 C ) 0O U0 - , -H -,4 a) •) •-- o~O u 0T$ .4 0 -A r-I04 ---r. ----- a) ) --H -H -1

H 4-4 H Q4 U W U D -,-r-i 4 r-- * CH H 3--I - O O U 3 O0 i l IIU II II > I " ) .r- U)4 -U) 1 4-- 0 I -H - . r -C H H ) 4-m U) --- -a-4 ) -H 01-aU) 4-4 ri04) ~U)Lý cir - a) r-H r-i Q) k 04 Q 4 U ) S r -Hr-1H 4 ) 3 II - II o II o II --- U) -- . 4-4 -HAi A -- *-Q- () 4 H Z * U -I u 4I4• 9--(1 r=; U- =1 Q) CE u 0O * , : >1 ( , U -H Fý0 -U X4 4 U A 0) 44 J (0

i - • -H CdZo O - --' - 0i (( < i(- -- c id dCo -- ..) 4 -Hricoo z I o•U)4oi 4 0 rU)- Od0 -H.cx r-J0 UUUO Ii T0 4-I) C-U U) U)Q - CDý 41(-5 dciUU)a U)UnQ Q) CU)-H>,U)c 44 0 - A 0 0 --- Q 0 O .-- (0 4 ý4 0-4 E 44 J >1 0 >I U) d a))>1 - dc-- H a) a) r -- E- () (0 a * 04 O 4-04 4 T$d 1 , ' E Sc O '4 l -4r- -S4

)------H U) 00 0r I0 U-H .- Q U)-•• Q

F•~~~ .uX.() u - U -

C-*-, 00 O Q " r "-1 r-) t 0 0 Q) 't k "0 - -4ON (N f. t - 00 0 0 0 0 0 0 0 0 ' - -, -s -q '- - ~- N~. N (N4 N (N (N N4 N (N c.- r

,--I 4-'U d (-H + A 3: U)U -- 4-i 4I-i 4-i

I I -x • • -,- (C (0 CiQ 0 -H - -H ro* - F•)"-Q --- ) * f: > 04 04 -- -4- U) m d- -- - _- 0 _ a-H.) >,4 >. a•U•, -4 *-41 -0 4-)4 0 U) a) mC U)4 u r + H rH-H -H 1 Cd r- 4 C0 o c-ic -- i 1 Z i E--, 4W r--I--- 4 U 0 •--H 0 E- 4-i C-0 -4-i Cd-(a :: : U) Q U) 0 Q 4 a QU) - -H 4 Cwci* a)- r--H UuU1 ) S )---4 0- ) a) 0

C)> >1 r-- H L -rH 04H ý0 U) -r-Hi t HWH 1-H -H04 U) UU - r-44 U r--i 0 4 u-i a) U) S14ZE-4~ -:H -H Cd0i U -- E -4 r. -H- -H -4 ()C) 44 0 U) U Q -ri -HH 4J 0 -- U) > 4CU01 0 U -4 F-L40) 44 Uc) --- a) 4 C Z 04 Q 1- r U r 4' -U 4 4 ) U) 3 1 II Cdi 0IOoII-ii Cd Cd - U--- U ** UC H U) U) 4C H Z ci F44. -- r-4 a) r--i ) SQ U U) 4 Pir4 ii 4- 4-i-Hq Sý d 4) Cd E- U) ro IIFZIr- 0 -r-1 - rl., n U)C) r-a - I 40 *- I X- U)CdZ - 4- -- 0- 0 - E4-- (o w --- I U -HZ: E- II 4-) 44 C 4-4 0 ;4O 1 -U- - 1ccC 0C0 0 Q II 0 U)Eiu) - r 0 4l -- U)C 0d4 4- E-i -H 4-r 0 rO 4 Q ) -- 4c$ -l U) c $ý 0Oc Q )4-4 0 - - CdM 0 ci-P- < U) 0*-O E-4 41 >1 0 > Uo) Q)U *- r-Q)4r54 U k * r4O r-4& E- O 0z(4 U) * 04 rC J04 1- ro J- -HQ) 0(C U1 H a) ý4 rCr 4 01 --44UCU0 UU) Q) QC

- Q0 -. U)U- - Q - \ UU)c -,H U) < O 1 rQ U U

u0 (N 1-~'-c~ '0 -- 00 Oq 0y -,( -t-~- tt '-) N-- tc00, - (0c -) (N '-c- '1-) ýo r-, 00 0-ý (z '-.( - "I- k -0 N 00 ON Q) ' '-'-0'- '0 ' 0 ' '0 -- -- N- t-Nr, - N-N- -N- 00 00 00 00 00 00 00 00 00 00 ON. 0-. O-N ON. all C-. ON. 0-. ON. ON -H

km d -q444 rO•

>,U)Q- rl QC - 0 -00 0 4JU A. 0

0 -H "- 0 S O -H4 0 Q) -u Q 0 04 ou 4J00 o -,I(o

co O• 0- • - 04 O•••*HU )- o 0U •0-R 0- i -r Cd• U • - 4-U)0 O-H.J - M 0 ,C (. 0 ,rdUw H q o eo U1) 04 U) IQ-C. -H44H U ( ) (1)

- U) - Q• - .j -1 rJ"J• - %4 )C U- ) 0 0 -U. () * Q)4-4 - H u U)*H I , -I) ro- > * -A ro I (0UrHdrH - 4r r WHr -O4 i U a --- v -am M.,-- R - - -4-H rOZ) 04 CdU(0 U)C(o d -H HL a) rC4--' FZ U) 0 A Ld s . 4-- U 0Q -HFA9 0ý H C ,C rC-,V -,•0A uw O 0 0 w0 ( O r -c 040 a 0 4 x U 4Q ) ,4 0 a Q0 4-) (DC Q)

04 r-ir-4 H-- 0 04 - U U -. :4 U) 0 H 0 -(0 wU-H ;o5 ) 04~ 4 11 4-4U) ý:~ I)I Q4>1 X ~ rO4-4U o 44-- 4 i j (1) A UI •M . H --rU4 (4 U O 0 0 .0 ,-4 \ 0 4 H- . ) I 4- r4-• a) Q)rQ- o) H - 4-4 H-- Uo Cd -- U) o4 • -•U - U -H

,•i "o. • ý4 ý4 ,-I .- J • r-I0 i 4-H1 ' • --44 H -H44 0 ¶-yJ. .4 - u* -H -

Ný OI C9 cONC\ \ r rHrivý ýý ON N F O

04 0 )-H

ro 41 r-4l U) >1 o 0 -H-H

U) -4ýQC)~

r 10 (0 Q) Q ro, mo u Oi U U)-H H4- Q) -H -H * -I-r,O Q) H4-4 -H 00 )Q -H C--H -HU) 0-H )* ko U)

Ar -H 4 44<4-)~4 00>1 * * -Q H~r 044-4 H - 4 rC - 4-4 ) Q)U apHiw A roU) 44 O)HRCQ)QM - CDQ 0 HrdiroX A r-C rg. I ýri r-C. -C 4 -U) -rd U) - ** r.d - r ** C b)U) d "Hv 0 - u U)v Q)nr-- C 4 Mr Z U)ý4r 4 0 U F- 04;J ý d i U >1 4 ý4 (d U) >1 (0 ( U)Cd0U) -W U) ý4J 1 4 -0

CH 4-)Q O-HQM4UQ ) 0 0U0r UU r ) C) 0 0 0 4- 4- 4 0 4 04 - Q)-H4 04-) 0r Q U 0 U)0 r 0 0 U X - 00 Oi 0 -- *dF4 ý444 - M Hr - V > LV U) U)U) X r4 O LWQ 0 4 ý4- 4-) o U i 4 rT4~ riý 4() )Q 0 -Hi4-4 U g3 4U) (1)U

' 0c~4 OU) ý: 1 oL 44 U U) rn4 r-4rHA (1) 0LW4-4ri a) XF u Pý x uu -H-H 0r - i -H-H

- ~ ~ ~ ~ ~ ~ ---~ t ri~ ~ ~- 0 o0 41

(0 Co k HH 0 (* ,Q ,4IU ¢j0) m 0 -4 -0 4 r4

A ~M ul U) •0 -,-0 A --o H < . 0 .. l:: 0 .• - -- O. • Q • 0• • lI U) - ,(0 • "-,,.a --H A A * '0Hr-m -•U)U,0 0 r 0,,& ,• . 0 kO A '0*Q) -H** 4(0 U)* U) 0-H A

-H (1 )(0) (o 0 HQ 04 )4)04 u4-1 0 a) >1(( ) -H a) 0 >1 4-)-0

A44 W 43ý4 43 U)4 HH Ld 04OM R C:)U)C J 4-)4 41U)-r-- H HH r O F: 00 M - rl 04-H0H k Ok 4o--H-4-H 4-) - 4 C) k4 .1.4.) k -4 a)Q4>1v a)) a4-o4 Ya)U) U) ) 0uk0 ) r-H ý 0 v

Vt-, 00 - r4k A-H-A. m,-

4-4 4- U) --H-H

r-4 tO4-4 -H -H 0 -0 04-- kH -H, ý: CD

( 0 'H•

U .H) 0 rb) 004 4- (0

JJ -H (1 O 04 O -4 lO .- 0 00 '1 " 4(0 O Sl 40 Q ()0 4 004 U) , >i 0 a) U) 00-H 4 -H)d,& 0- U) '-H -H Ok) ,C *0 0- J-)ýJ44- U)004 -H *r (

'0 A a) G ) 00 ) & 0)*O--H Uk Of MA WHQ 'r -HCA ri 1- 0 U)(0 Q)'HU >1 - r -H-H

o 0k 4Q A-H O,-H4(0 k U' 0 4-i 40) 0 4-)4 -1>04U)) 04 0M04- > 00 )44- 044 0H0 O0k 404 00-4 04 k HEn 0U0 4 -H-H 00) H4-w w 0 % -- --H - R 4H 0 4-) Q -H '0'-'- 0)44I J-) (1-Ho:1 O04' r-H 4U) J.) 4 (1) (1 ()Q2I 04 00) a)- 4 -H ' H' - 0 )0j4-HQ) 4( ' o 'H-) a) ;: U00 uF 00 -.. H -4-4 k4 4 Cxr2 - ri

"-400 N M o t*0000\ ONF -ý- - 0 - l y \I r OtýOn O s Uo

u0 oo U

• - 44U) --.ti '-cd. ---1N

N- tc, Q) ---U)d o )

o Uo 4 U) Q)Q0 0 ro00 Q) L-8 A

4 A 00 4 I C A -- A UZa) -H )0 A - I u 4 Z: Z u 4 444 4JIc -H 44~ -H C) a) 0) X1 (0 :j cd 4-4 r 0 -H 4 - * * ,-- (• R • o OH .-- .• a ,CR . V - - " i q U) II' •I- 9 V V ; • >1 0 4 4 cd • r i4 >1 (Z (o -HrdrS4 .* o 04 11 -i-I 00- 5 4 -0 *4 U -r r * r I O* -I II O 4--. 11 -* I -* ' n• H -) -O- 14 O - F(0 -H U O) -H -U -HU ---0 0 - ) --. -• 1-)3 0O U) 1o 4- U)o V $ % MD 04- d(4 0 -H" A404AI 0 C)* --* 0I) VV0 4 1X - rd 4 4 44 r 4 4 U) U)U)U Q) ro0 4- 4- -* 0 a)0 -H -H rororc r U)Q 0xtm -4 U-4 -)0 rHH ro ro 5 000 4s 0Qr H OW -U a) --- ) .J u 7$ ;1 ; D rd - H r-A r--4 ;j r-H U) r-I N - ~4--) 4-o co r-ir- r-I r

u u u u 0 1-H 4 44 a) --H U) ::R t0 -H

ri •r cn i -4-4r-r- Itw 0\0-c-d c C • -H H)i- ) U) U)I Ud dC ---* rdU -- 4- 0Ot U cd U) r ,•- 0 00 0A 0U* 4-40> 75*4- -H0---41 - U) z 0 ro

U) - -- 4u 0 04 r

-d n - 0 ( 0 - -

4- r d A1Q - -4 0 0 04 -H . ro.Q cd* U 0-H4 -.c Idv >,• (1} -H 404 0 4 r OdH-H a)4 mU-- 4- 1I- " o., r$ 0 * 4 0 S4c *0 - ANU - -0na) U0.4 Q)-U)ý 1 Q ir U)- d -HAi 0 U) H 4-4 A ,Q O0 0- u H- U n u - (0 d4- a c H- U) U)U 0 00Cd 04 4414 U0 4 r u o 0 4- 0 04ii 0 0 aV w 0z) 0 4- 4A)ci4 0* U)UP 4 HHj 04 O F-: - U 1 - U) J - - o 41- (0 0 P4------'C'-O 4 ) -(c4 A1144 ý-_ --T-A*) - 0rl 04 v00 v>1(0n P4 cWU U) M , u

41 44 $ -- O ý-H0 u* 4 -- HO - H Q) -H-H -H 44 M

0 H OO 0d 1- -H4riU41 0 -H -H 41H 1 0 04 071a) "

ItN 00 0\01 N V-) r Q) ro 0 'H w04

-HAS-- -W-

()00 U)ý ,Q-H 4- -H ZC 4U)R o 0 '4-4 (dO4 U)0 C II >1-W -H 0 U) q II Wo 01m f'-,0 4-4 0 4i -H rl 0 'H .0 0 m 4-I o -* A t Cd U)o •on HSo -O 4 S4 CO* 4 ~ U) >142 - o'd 0 E) 0 0- 1:4- ,n --- ý4 0 0) 0 - 0 0 00 -4 0 0 1-I 44-i0 0 Qi) J-) 42Cd v4 • ;-I r-I r-I Cd A AO1 - ý Ou U) wXA -HFX ( 4-4M ODI 1- o SH A - Cd vC JI i 0•0 C 0+ 4-4) A SdO S0'd 'd' 0 (I; -.4- 04- H -H OH0 -HU H-- U Hi rH::) H 41 0000 r-H 4-4 4-4 ------'- -H '- *H------H -H -H -H 4# #$- -W * rý-)It tr) ýo N 00 0\ (Zý --4-4 -4N r-4V) N"o Nt'ý' N00 NOý -)(Z rn--ý ry)N ry)fý')ry)I\t rylV) ry-ýýo rv-)t'ý

4-4 U) ro U) 0 -H c) 4 W -C *'d4 rcl 4N *Cd 0• - 0) • • 4-i 42' i c- 1-t. -H UU)'d4 ) -H 4- a -rH 4-4 1-4 4-4 U) A-i a 04 -H• R0 1 41 1-4 Cd W'Q -H W) 0 S404'do (0 404 00 0), Q C >C 0 U)-H U) 0 ro 'Ho' CO ~ 14 42 r1'44( 0 FZ4 r'O 4-4 4404 Q 4- ý4 O4 04 -H 4c aW4-44-41 0 J': r -) U 4- 'H 0 ,0 *4 Q) 0 >4 U 41 o '>1 4o 42W42 4 • C 'rOd 0 r ,4- U) ro Cd -H H u U) l m ,Q Hci 04 S'H'drc$,4 () U) ' J-) 0 O 0044' -W -U) OO O • .- -H -HW 00c) -WW X 'd 4-4 44 r44-4> 'd U) 4-)•U C0 42 -HH 4) c) (Cd ci) C >,O W ci)L >1 0CdHO QW1-U) H(1 ( 400 .r- eiC0 ---- A 4A -'d* ' Cd1 *V V .-i -H 43 420 1-4 4-) 04 U04 ) >1W ( -H dc) 0 -H 4,-I 4-2 OHrci)q. 0 * T;'d 44 'H-40 -H 4 U) U) Q) 0 4-4 4C vOr vF -W ci) U) 'dW - c 0 'd ý1-i 4-H)4 Wci) -H 4-4 ý: -H i c- o* x -H Qc) 04-4 m b 0 0 4-2 -H -H -,--t * (Z N N V O0 C'N w CdU

4-)4 u U)) 1

0 04a .,-i-H.-o 4 U04

AE (0 CQA Q--Cd u0 Z: XC -Cdu E Q_

SA-H 0- (w0 (0 04 -H 4 ý ) E * ,C ---.• m m -- O II II • , 0 z 0r w 0 r 0 0 z

4 1 .4 ) ,0 -, 4 P C H o 04. >U,

A 0 ,Q -i 4-c A1-H -- A S) U 4 U 0 - O U H 4 d 0 a) -04o 0 mr- * *4 U) - o U) 00-) (0 -W w 0

VjOd 71 oz-..ý4 V r: 44 - 0 r4 +V: ýj* +Cdý: oý4 U)Q +0 - ,CJ VO• V r I O 0) 44 UZ r-H040 4 0 4 pi w 04(1 U U -" O u u u 4 A 5ý ý 04 l Fi 4-) 0-gd I 4r O tR vv - -HH I ,I 0 k0- I-- H- -H-4 kiI UU) ~td"0N (O 04( b r-i'ItUUU V):I IC 0N ON -04 U) bC\ UU -H- ~ H\-- \ - --- -H-H- - >1 _ --- --

*-*

H

*0-C C)U (0Om >,U CdC Q Q4 0 >1

r.0 o ,C

,..4- 0::W4-) a)-o ub (0 04 U r) 04 U) -:U -4 U)0Uo-Hi -H>1 Q)U (I) 0Q4 a Cd)- 4 -) ::; 4 a) 04$ Cd 0 H) U) t

A4 U) -H U

. rU)A 41OWO () r-I U) A -rfr- HLI-HU u)Ui -H>t - 4C0*, (A 4 --U -4u ) 0) -HUu Q(dU> r E r- U U)UA -4 > rH-H C4UG8H d- ,C(d Cd UU4 ýQ04 0 U * - -H * 04 H 0dz 0C 4 >1 * U4 q44 C4H - -- -)04 a *-* I- UD ' - 44 -)

O-d - 4-- Hi 44 U - Q)ma) uos U Q a) o c 0 (1) ;04> II) W V UU X s w -H0 Q) - 0 - C10 vv -U) H 00 - 000) - O rHW FU) U-HUr- -4r-1- rý a rU 0).) U 4-) '4-i 44 0TAU) )ý4 -S C rH4 rAXU-4 UCd -- X - () d 4bUU1-- Xb U -HI b C) r14 Cn * 'ý I-* ot 0CI-V * ý 0O 1 4-4OC Ul)

0 Cd1

-H Lý -H

0 01 4J Cd H 04 -Cd 04 0 4-) -H Q) Q) -H

>1

ro ai) >1 oo • • 4 H H C) ý -- H 4 0 ,A-H - H 0- 0 -11- 0 I riý A (0 04 J 4- >1 ý4- A o-a ) ci) Cl VVV4 V VC/2*-Ci) Q-4 l Uc ow a4 WW -Ha °)

4-i 0 -H 40 0 0 '- 4J C) 0 >1 J0) 4-iU) .r 0 0 -H -I- 4 0 4. Cl -H -W -I -H NEW0040 O- 0 4-)C -H z H-H ; ) ý4-wD v v -H o

, - Lrý ýo tC-, 00 0,

14 CDU r 0 U) Q) U) -HC , -H O W Q) X4

41 4-Wrc -H r-i 0 , rfl 4C >1C 0 'l4 d)ýJ r Q4 4-iý4- :•0 * Hu*O O 0 Iý4 H

04 ( 14- 4viCH ro to 0 -H 0oH 0 >I 4-) 0~00Cd I.Q U) 00Ori- 04 0 (D00 O rQ - () U)>,Cl2-H ) 9-: 4 -, 0-d ro ro l 4-iI-EQ~ 11,I-H rNr u00 0 4- n0 QH4 H0 C4 -U ý4 0 rdiU 4J>oto 4-H 4 H0 44 0 u ,- ci)C -H 4-0 > 0 > 00 4 -H ý0) 4

>1 0 *0 ro ;: 0A >1 0 H0-H 04 1 V O 44 ý4- r4- A L>0tH 002 Cd "r-\ 4A 0C )Cd 4 C) I---1 -H. Q) 44-0 I--i 0 A430 ,-C40 C• ril 4d) -- I--i14 >1 Cl)O -H ro) 4-i ZO- u u d) ,- - - - 0Cd tH 4 4- C I--ad th4 14 03 duh 0 0 -H rd -H- ,- CD -Hi -rl 14 =#17##= -H Q) -. ., Q- r4 yO'INt o N00 , Q) -) 4

4 E-' Li 0 ~ Uww >1 0 0) ) rH - o Cd O (U).- r-- 4-4-HO U ) -4 0 0 4-) - -

-4 0 0. 4U) 04 4 - o co u -

i () 4-)r I r ýj u z u Q4 -o41U)U) U) 0 oU) A Qd -•(14-) H4 mr - 0 04'

* ) H..Q 0 4 . -rd ;j~4JHl 4- 0- ~ 9H 0 # 0 0 - •••• •C >ý-Hi .- r r • kE II II . 0- i 4. -- 0 Q--- Q Q 4 U)OOO. 410 C C r.-H r0U) 0 U 04 ( - U) U) ) 00 r4 A0 AV WHQO41-0 0 mH4- ý 4- _QB)U)M ýf- Um- . %:l) zC t C04 , V (o u ro 04e4** 0 - 0H -0 ) 0 Ifl (o 0 -- -0 r-OQ - Q) >1 OU U ) r1>1 U

H 4- C04 (d 0 Q rn-HQr UU)rd C4 -0 .Z4J-1-)U1 (0H Cd 1-4 1 o04 E-~~-U) 044 0l c) u) E-41I ~ I LS (d Q > 4iý Q U OZ E4 rH 0 4-) Ed HH • b 0 0 P 4 >1 C)U 00 1

\W - -H aH 4-3~~~- -H i ( 04J4)Cd -A U)

-r- 4 U U) -HM En d ; v v- 41 r, o Q (0 41 - Z H v v-HO 4- u 1444Q Q)uW >1 0>1Cd0 rn It<

tý 0 O HMd 00CdH4- 0" QQ) 0 44 • -0 r-i r- -0 04 n rr,-1 -i l1d U)0 0 -- -aU) = H-H *- 4H -) 4U) ýrrH) Q) U t 0 rdo 43~U)Cd0 Q

41A c r-J$i C U4-)r--i 4-1 1 *-H U H (d 0 r--iC 4-

(0 4)04 M 0 >1;: Q~)> Zd~ lU) :J (Ur 1 J, H41) ) 114 u- -4 41-)4JQ)U) o(d * U)~ Q)> (b >131 >1.4 ..) U ,r4 0C4 U)U 04 W HIn UýJ0 AO HU , rob )4 d -4O H Q);j U)(o0 E--- 00*,C Q)riz- Qý0Q) u0- -H **4H 1--i 1-** ,Q 0 40 -H 4 - U) 04 1 (0 04 U) >1 U) Q)U)>1

41 - HEn - -H 41 0 -- -HO *0 (0 Q 0 z OV V 44 J ) 4 v vV . *4 -U 0 0o 4 -H -Hi ý4 ro0 0

) u u r-i (1 o ý- -H Qu ý- O r. -- * -ir *_ 0

0k r-' -rl 0 U) r--t A-) U) -H- -,--I- 0CUU)

u 0 .0 - X: uI0 ro0 4-i 0 .13U)w yu0 r U -H

0a) (-i 0 - a ,-)Q 0 U) i WF:E- ',lH I) ,0 rH 4-iOO -H o H 0 0 r- 5 H HOrd 4-) 0 or- 1= U)i -H o- k H ~00 ,C1 C-) 04 0 E -H '- PS A 0 rC!

S -H 0C U)0C u H(7 >1 ZH () U) -H 4 -H 040 0 04- 0O-HD0 04 444 91 4,- 41i~ ~-4- W Q4 ý4 4- Q*) fý -r- - -H H ýJ (3 C4- r4l 4OW 44i- -H 04 -ol W I* S -H roro ro -H4 H -H -) 4-4 -H 0 0U0) 1:4 w 000- u 04 Uj ib u El -4-) #t-H -H#I- -=#-H M M- C-) * N lz -- NM) y " O N -- q It tr)>ýo-4-l \ > >- - 00 - (N

Q) 0 -H 0 U) ro U)4-i) $ rHU) U)Cu4J 04 - 4 ) 0 CU

4 0 ) 4-iWU (n:e 4j(0 a)Q04U) Q -HQ )4J 0C0U)4U4-i 4-i4-iW4- 01 >l U) d CUz 4-* H4 -H e ý4 -H q -H>10 -i -u ro X4 Q)UQ)4-i S0 O)C-H0 -H U)0O ýj 0 • ¢ OI 0H -n -rH4 U) 0r-- -cQ Um 04J ý mw o U) H 0 A 0 0OW04 X 4A U) O .4 4U). r-- -H- U >1 cdrd 04 ý4aU) - >1 E-1-r0 U w ý4- ro Q.. 0 O °D rH S-H-m4 U)4 oC) rd 40 04 >1 V 44 v v 04* - 4- -H a)

045 -HUJ) 4-4-- **I -r-I rH ~H -H ý ý4 r-H 1. U) CU U) rcd$ 0 0 U) Toh - -H --

CZ -. N r ri -H-

co r.E-

• • -" ,. .U) - -r . U) P)

4-)02$ z 0 ;j S4-30 d 02 a) a) -H rd

( >1 -,f 00fo (d0a) a) o 4-)Q -)0

Cd0 .C a) C-H0 rd 4- 04-)-ri > 4- • ,--H 0(d 02 4 U)( t-g U) QO-) Ha) a 0 U) 02 -~-H > -3H ) -HO a) to rd o > 9 00 ,- 0 a) U) 0U)4t.)- 0Cd C4-H rul) 02 a -H 02 d>- b)0 Cd 02 U ý-4 (d r: X 4r-i 4-3 4-4 r-4 0(d A ACd -H *' AgA ,* 4-)02U) (L) 2lr-4 0 U. S-H a) rg ED021 z U) a) .,i ,4 fl -HV 4- -H-H T Q) 0 ro ý -H02(D tI -H r-I r I to 4-3 02 V V mE a-3) V QU) U) 02- I -H od ~U) 0202 •0 4-3 02 v v -Cc -Hi 4-302 r•H rH 020 _ '-' C 4-3 4-3 02 EU)C U U u ri- -H-H -H -I :j 0 •=W=W=

ý4 0) 0) U 4-4 H 4-3 (a1 -HQ f 0Ord U) >1 ý4 (ar-4 1 0a a) 4-)0 4- uCd -,4 0 o Cd - Cd ,Q 02 0• it 44I 0 L) U)U)00~ d 02Cd 0 a)U) Cd) t)tr -- Cd0 C -H a ) 0u 02 020Cd0 z -iU)0mr--I UU w -H 02 ~ 4-) ) 4-) U)C rd 4- 4- a) wu a) -H J-) 02 Cd 4 02a) r=C0-4 M- 4-4 02 U) 4-4 U)02r=; 0 Q 00 ~4-) a)~ 44 U rC$ H- U) -H- UdQ.) )(a -H U)(.,w a n ,- p0 0 0 (d 02 r--i U) E-1 :J -HE U) Cd-IU) gH 0 w 0 > U r- 4 -- )r In Sj 0 a P4>1 a)A-Hd Cd U1)C(d 0C(a 4-)34-) o 41.4 b P4 O( ~U)0 ý40 b) 9>102 0 -H 4) U0 U)3 (a )r; a >1 U410 rq 0 0Oz U ý4 0 U) -4Z 0 ý-i fl-H-0) OIq4-i-i U) $ u r4 :j U) :j -4 U)4 4 H4-4 ) r-H 4dU " 02 4-- a) U) ~r QU) 4-3W4 4-3 U) P4 44U H rQo 0-- ) c-C O- z-r °-l u U) Cd-H U ~ a 4-3U4-) -02- ra4DU)02 -- 0 -H-- a)l U) -O UH00 Co 4-3 U)4y (a t--o r 0) 10 C0** 4-)02 0d 0 rd4u4d 0 44 RS4-) C>-HbU)( U024 w o Cd02-H U)U 0-U)4-4 o4U u )4-4 44& Q-H -- 0-~ 02U) U) -ic• u, ý4 u u Cd--V44 -* - U)-HU Cd Q)4-4 0 4-4 #U 40Cd 02 0 P 0•• 40 MM 1-4 ------' -- , 02 U) -W - -- °° 4-1 -H a - 04-3 r:-H 02 01-4 - U 0p (44 u) C* Q) II /O 0 U-- 0 >1 C) W- -i ro ,-IIH -I ul

•1) U) U 0 E 0 .0" 00 + -II0 U) 0 U) --- H H 0,4 U °,-- (d II W0 0 wU r) 0 --- U) cOa*-d -H **Ea S- Q) U)l U) + r-- *d -r-'-- 1 .- II Uj) tCd II >1 -H 6) (a 4-) r-H a) 11 U -j E0 0 *U) 14 -H U- b 0-- Cd •U) "-" -r' -H - *H.i ri r' I r-I 0 U .li mU) >r g U) H -H u) : cn- 0E a)0 0r NWrl NOW 4-4-- uO-H - 4-I 0 ý43 U)r4 ) ( 4-I -. -H U) a)0 44 -H

W)W)t 4 n ntnt bobýo o ýo t 0aOo ýoil ý KNoo *oNono Il tooOQ oootooooc00110 9 0

o0 i o II O Cd) 0 o-- -i

Ua -H SA 0 O -Ha 0 :44 Im ca b)U En SEa ul Cd (a- r--H En1- Oz -,-I r./S4U)- U)( O b) u 0 C--- In U) o U)E Im0 0 0 U) "Cd U Do>1O HU) U) 4- 0 U)U044 -I 44 ro 44I ýCd II 0 -H ( II ,-i 0 0 wd II " CdU II H .r-l U) a (d ,o.o U) 01~U OH• 0C U) H U) U C e -- II -r- U)H -H 4 a) m -, -H r1 r-II- I b) 41:1U) 4J ;E-H IIa) -H-I 44U - 04 (d 041 U) r34 U) E4 U) 4U U)1 U) j) U) S4-I D U) U)U Elr--4 U)O --- ri0 4-14 I4 -L-HbH -H 44H -I - 4 .- U , CdOr44blU)H U 0 -Hl U)- (:ý --I N On 'It tn ýo cc ON(Z C4 On 'I- W)%0 00 as (Z eq m It In ýo t" 00 0%(z N on 00 0ý I-N -_4 -- m -- " 114 "-4 -" w4 "-4 N N N N c "4 N N N m en C,n en m m en fy. ý en -I- "t -I- lý4

x a)

r- Ua) C0 U) 0 o0C N N + 1 -H 4-3 413

-.. U) - dpd 11o $- N "" C) -H -H S-H II * I- - i-I x A 11 rd M 0 R .1 * 4-) -O A *.441). c Q) . 0 o-3 I- U) 0 O0 H u 0-' 0 4 0D II 43 II HD 0 •_• .• ... -- 0 N N - 4 II )OO + A ý4 II Q) II -H U S 443 + 4-J H -4 N o4J + U + 13 II 0 -I -- It *- U) N-11 N 4-343 1-4 -H I-4 H r-H -H w N + -,a) U) Q) CIPU) U) w 1II (aU)Cd0Q -r l 4-3 U) U) -44 + + U) wU)w 1-4 4I Cd 1 rdH 4) 4r-U) H a)Oiu'41 Uw 4-4 ,- U) fj 14 a) Iý4 rl a) 4-4 CO P) 4-4 0 1-4 r-H a~04"1- 4-4

ý r 00o C q4 N 00 ON 4 N IV N 00 a-,

ý4 a) ua) -H .,r 413 4-3 1`4i .C 4-3 En u -H ,-tCo CO w r. -rl4-(0 ) 4-3 4-4 -0 U)I_: (a 0 O H ,.- 4-3 --- S1 O N 4-) 4r-3 41 H4) -H - a) 0 4-J -4 0 0 C) '--• 01 -)Ic 4-3 a)4-)Cr o0 1-4 4 w 4-) -0 4-1 0-- 4430 1 S) riP go -H-0 4j). 0414U 4-) 0 4-30 U) 4J 0) 4--C 4 - o U)- I .C •) --- U)14 HUl -H> Ig U)- O II 0 >1 If Cd I1 II0 1 , N "-- Oi II 04 41 OH0 r- -4 U.) II *.. . Cd Ni- U N N -,-H + + a- ý4) 114 m Cd II -H -H 14 9 + + ul 001 ý4- 41-0 a) - 1U) 0 E-- ) 0 4- 0 J J 4 U) 4-3 CdII-I 4-3 U) - 0 -H~01 ý4II - a U) P Cd>)14 -0 CdI Cd a)a s- -0 0 gE1 1-4 - 0 0 w~O -H ,Cd 4-4 4JC -H

1r" ' Uu I., Y) t 'o t~ c 0Coo z Cl n 0V WOU j C)-l be oC4ch c R> 0002 Z -,4ce( C0 ZN0 -, ýý6-4 -. - 4 oo-- ,4C 00 oN ON (a. CN ON Ch01t- 0\ "f- -4 -- 4 -" -" ft "4 " -- ' - ' ' 4"N "- ci) H

-•ll Q2) 0 4-4 r-H 4-4 CLI lc: 04 *4 0-0- 41 0 >1 -H -HMm o ( 4-4 0. 0 10 4I-444 4-) 4-4 1) >120 -H '0 H Ok 4-) ro U 0 0 ý 4--•--) i xi 12) (120 E U)4-) $ 4000 o U) 2 .U 4-4 O(12 41) x -H 0 04(12 -H) 0 0 o (1 H Q) -H ;I 20 u -ci>1 00 • H (d 004 104 ci) ,r,4-4 -0 4 m U) 04 4 0 -Hi A-) U2 O °" Q) O . U) 02ý4 0a U) Q)F4- -H** - 0 SH 04 -H -H (ci 0 -H44 U)4~ 0 (* S.. 4- 4-H 0o n0(104 -H44(12 -(12 -H -H 0( (4-) Q) U Z44 S0CO 4-4 - -Hr U) 40- (9 4-)0 (1(1--0 001 4-) C-I Q4-0' rO 00 0 04 4-)* U)-I-) 4-1 °• 4 (120- -H 44 4-)0 q) - 0 Q)04-w 4- -rl4 2U U) -H '0 L- -H 0 -H 4- -- HI O) 90-*-0-I 04 4 12) 0i-H (1) HC 0 -H 4-12) ý4 44 -0 01 0 O0 44 *H - Cx -H -. \ -H '- - '- 01 0 -Hr-A -H - -H H \ H -\ - H -. - - O-'. - -H - -H -H -H -H "- \

C"q IN- ý+ Vi) \0 r 00 ON (Z N " V,' ýo'O t 00 ON (Z -- N. -) "It- V) ý-o N 00 0\ (z -- N -) "ýt V-'2 ý N 00 0ý 1- 4- ý -ý - -, -ý -- -- (N (N N (N ( N(N N (N (n : cfr4 N-) f'f2 c~r cy 2 'ý-(If2 rn f tI.- - ' I. I- I- I- I- I. I.

+

o >1 01 U) A II o 1 0U)- 0 A 4- 1 °nU) .c.- -H+CN 4 4 0 >, 0 04 ro a) 4-) 4-)I k4 N M~' 04ri > >II -v II + 0 41 + + + -HII 44-I 44-) 0 '0 44C- ,- 4-4 0-H -H- U) U) xi .H (1200 S v )04 -H 04 4-) -iA 01 0 x '0 4-4 H- C-U )-) U) .H '---- a2) 0 '- -H -H - * \0 N 00 ON (N0 RZ - kn N 00 '-o -o N o '- ~- N ~cNN N N N N 0 00 0 0 0000 00 00 00 tr o U) 44 -4 -H rý4

*-d W00 UW4-O U) W)U) r-4 -: 4-) 4-4

-H -H~ 0 ý4 4- -u 44Q) ( U) (. - 1) 44(1) -HI OW r-H 4-4t• W03 ,.e 4~4 '-4 °d W U -HjH *. 0 -4 W 4-4WQ -ri -w U) Mrx 0 W 4.. -r- 040-4 ) r74r 4J)04W -H-. r) U) 4-J4 . N ,4 4 dU)H -H 0 -H -HW -H 4 J 4-4 E-H W O~ (U) 44I 4W 04 -,-ro-O W-4W W- - O 443 E a)::jQ - 0 EO:4c - X-.4 ~ 4-) - H E-4) -H - ,' 04 \ H -H

Cý --ý "o 00 0\ (Z:) Cý4 rn 4-) ,a 00 ýz - (ýq rn Iýt kn ýc t", 00 0\ 0-, asý0-, 0\ 0\ 0\ 0,ý C',4 rq cq ("I C14 r,4 rý4

O O ý4 0 -rI ro ro '-4 -HU) H-- SHSý4 H- W 4 -4 I O• 4-4 (I 0 ad4 4~40 -r-i WW ( U) - Cd -Hrd d o O 03ý-:4-4 COQ)rHUQ 00 -HM4 o- 4o) j H U) U) >1 U)C O4 Cd WHW 0 WdtH0)) 0 0 U) 0 ýýJ*4 - 0 0 4-)- ro0U) CQd4Cd ý4 ioAj r r4~Q) Q) @ U) 0 71 a ý4Wr WO W 41 ý -i.- r- 0 , o 0 04 O~ 4-U)-HH ri ( iW - 0 co -H W U) r-i 41-4 U) r 4-4 0 -H 0 4-4 0 q-00U) 0W) OO -HCO W U) -H 40)U)U ý4Qr--i Q) UO)On 4-) -H o '-4 r.U01W 0i4JI-4 (13 U) ,-•0 O 00. ° - rl u -4-4 o 0 ý4~ 04 r1 W1)4-4 0 -H4 -H 0 0 w WU) W -Q4) 0 4l U) 4 ) O 1,4•-•O 0 U-H4- M -1U)a)l Q~) U)0. -WW - O- 4U1 -H £4 0 4 -rH0 N -H W-H 4-- H- 4-;: 044 n H 4: -H U) U) 41 -1WC -U) (1 r Q U) -H- J- 4 S-HM-) .)- -H- 0-C-*C -H 44 U 0 -Hi 4-4 W44 -He U -C-U)I ) r-4 -HI '-4 4- -H 4-) M-H O-HW 0 ) -H W4 Q)4-4w (9 0O d)-H U) W 00 44 o z Wri -H -. z w -4 0 S0 LI- N-H -H -- 0 .. Od r-H Cd 4-) 0• 4:: ------o w - - -H --- - -H U -~ -----

tn )) 4) ý I) Ic rýV) Ic 10r)W) o No 0 o ý 11 t-l " l-ltI tzn t-lt-ýtoO t 0 000000 00 00 00 00 00 4-4 0 N -H ,D a-. U]Z

D4-- (0 H CdH .) -H 0-- II a C 4-)S--U -I a) 44 I -H SII v 4-4 II II II II 04 a) II*4 II 0 II -H$4-04) 4-4 U) N II 0 0 a) r-H '-t 44ýl -H a)r 0 a) o- r1 J 0 0 04 04-4 ,-t 0 4- -,-I(. r-l r-A(I rHa) H* rH rH- H av *-- a) -H -H r-Q aUOH W a) Q H 0 4-4 '44 U 44 Hro 44 U -H C-4 I-I L44 -I -r- a) II S-H ) -H 0

,I-~In . 00tO. c -. (ýC H Y) ' ~-ýý 00 ON

Ci-1

04'4 0 - •) - 0 v*

.-'--4a a)•*, •• -H• -H S- -HU]H (H Cd -H 41a)

,-I-----H -- H-I I-- - -H - 04 ( 04 4-4a 0 -- H- *d o r------H- A S44 "a4) 0 0 4 o A ,C • SA u -- W a)0 M 04 Co 0 4-4-H }Ci)4 04D Q) 4 0 -H,-- -H -1' 4 4- 4-} -"A U])4j >14 - r I- .1U UI) -H -H F4 0 * rH Cd 4 -H 0a) 0 4- -H 0-0 H0 a)- a a) -H U 0 0 4- zS 004 ,--I 0 00 v v .u ) 4ii Va a) UO *0S1 rH -H - N )--- -H 0 r-*)w 4.a) a)a ) -H k a) -H -H a) -H 0I S CII o R0(] a) -H- ro rH --- a -H ~44r-iU Cd0 .IJ P4-Iwi ro oc ro S -H -I -4 -H Cd **rA ý C 4 a) r=4 H "H 0 0 OrH 000 r---- a) Cd O05 rHa -H- ,w .0S0d -Hf ) -H Urd -H -H -H -H -H -H C ) .4i #- # hQ i- Q f-.. H 0 00 ON

N--CN 111) tr) IC N II II

a) -Iro- -H 0 +

+ .0

II r-J II H4-) r~ o 4 -H .. - )H 44- 14 cO ý .- II - II 4-I -) 04 II + 4-4a) a) 4-4 II 4-4 rd:ý4 44 - - 0) 4-4 0 C).-H 4-4 C/4) a) a) o0 aa) (1)44a .- r-H Cl) rT4 H 4-)J H 4-4 -H4 -a44. ý44-4 4,4 4 -I . ri 4-I -, a) 4,-i H .- •Q a) ..J .-

-r-I ,00 ,, C) N ,, , ,, , , ,N , • N N C, 4 (Y, q

a) 04

>a

O0 *

4-1) 0- d - a)---, .,4 Q) 0 4-. II a) Hr4

a) .0 a0Cl)-H -r-I O HU) 9 -H 5 O04 - >U)-H r-H ,-4-IC ~-a) - -H 4-4 . -H --- -H- t" tootl:cooQ "- oN 'lo 000 00 o o0 -- \0 o0000 , N **No ** .J-)0 .i- 0- ro oF U) 0 0U -H. Cl -H O3 N -,A -rd ro • - -H C0Sk" - 1 Q40 w()r 1$U)C Cl) rd 4-0 U) 00od W mr ro --- 4-4 - ) 0H 4 o0 6 U -1 ro *• D 4J F=:E)U a) a Cl)\U\ C) U0i090 (0 o 0 U) o04Q 4-4)H -•)k5 U -H -H 41 4J 4J 44 k 4 (15 U) U) 41 0 O C, "CO z z r U -Q) N- -- a) "° l•) oa)°°- C) 0 ro r J-) -nU)~ 44.1:4---r- U) o 4j rU ) r-4 4) CdU)S-,-t ý4kH -HH ý4-- -jJ C.) - co 4-)co 4i ý )Ej 0 U) rI r-I U1) (13 4-j) U) 0 Q) rH MC k win P±4 4) -H U 4 4-) T$ r-I U) CO** ,-I)0 0**4--, H: U)Cl -r-I-H,r, >. -rJU '- rU H -H) U H ,Q ý44 H -Q 0 4 00 Cl -H -H Q 4-HO AQ V H C/) \ C/ \ 44 HH -X ) 4-4 "•,ObQ CE. ,QH 00 ý F) Cd

~-o C---~ ~ ~

t .rl H:4 0 Cl) rCl rc$O 0

r--fý dU) CU)41i + V(LI v + -H-H. Cl)Clro v ,C v U)4 4 0 -4 O• VU) - r-4 rc$ A va ) ro kU)41 >l *l)5k 0 SA Cli-) 5 4-j -i o O M. -- 0 X14C-) U) -H.rr -;-0 >1 0 -H 0 IrH; Cd .- i r-I .i- 0 4.)Uri ý4 -H II II >1 C) 41ik > ý4 U 44 1 0u ) 4-4Ua) V V 0 . 0 0Cd v v >1 q4--H -H >1 41 144oo #I--#I,--IU U 4-i v v 0 .i..OU rdW 44 -H -H, or - U) -H -H 14-4 4-4 0 0 -H I 4-i H- o\ 0o 0 0O4 0 0 -0N \\ 0\\ r.(d U) S0 " 0- \-\ ( V u '- \\ 0~ -• 0kk 0 -H",- -H" - 0 eN)4 r W'-0tN co +6+a

-N

-41 4 *HH -1 ,•s u 0C) ,C --- •-- A 4 V -He-- 04 * ~: A A .1A ,rc U) -H - O .C A . 0. ,C. 4-44-4 oA -H o Wa)a 0 Q04 M Q) Cd d00 u > ý4 U) U >1 0 0 S0 ý- ý U 4 U) - QQ) 4J 04 -H-I- U)*0 'r( 04 *4 Qm2 0 ) tt 0 --•1 . -H 4-) II HQa V HU 04 1 -H M -H- U ~ v v v v a) (oa) *oH U) a) uý0 OWS w w w w ý-I -Hi o u Cd rb- 3 3 3 :3 ro - ; :1 H .- U U UUi-Ir- Ub O00 (4 -: 4 --) 4-J4. : - Cd a) rd -H -H -H -H -H -H -H U ** q) ****: . - t * -H -'l 14

H

S I

SII H rc -H0 ýDO II r-d 0 + ) 0 U) zZEa ý4 ý- C4 C)H" 04 •:*R 04o 44 3 H 94 - 4 (0 41a) --- •4 *• 4• 0.l 04-Cd 4- ý4 Q) -M 0 ý4 a) H -AU) ý4Q ro -aH U P4- 0U4 U a) A a)) o S b a) 0H Cd A ,, A H U) W-N 4 U)-H rWoU Q z 41U)Q)4 Q) a) U) SW-r4 V04 U)~-H o) U) ~0 0 -Qp• H:1 -4 H 04 - 0• >1 *H H II 04- 4.) ý-4J P4 -Hý4 U r C',3 -* 0ý4U) d U) 4 m -H, U 4) 4 I H U) cd4-4 Cl- Cd U) 04 >1 rO(0 7V 44O) 0 --- V v 40 HHO01 ,QH 0 M a) -,- U)4-, Ha) Q-C) 0D P -H H)- 0 -a) - C4-H U 9;-I U) 4-4 4,-4 0 O)44 H{9 (D,, **- c U': COQ4 4jO H0 -,- 0 0 41 U H H E -r- -H 0 a) 0.X•,x .l0 ltx 4-4 U -H H •-- U -H**0 -H U) '~.r~ ~c-. ) 000ý • A O O 0 0

Qi) CS c)z z 0 0 SA Z Z o 0

00 0 • o • 0 oo

4 . 0 o o o

l- 0 0 0 0 0 0 l

-H D1-w A A A-- 0 H 0 A I I U I I I ) I 0 I -- - -H 0 -H 0 H4 0 -H 0 C U U A U0C A -H 0 0 0 i : 0 0 0

4-) 4J 41 41 4) 4J ) 4-) 4-) ) -i ) -Hl H ) -H a) -H ) -H

k H-I H ~r.0 -e H A 0H0 + A H0 V H00 --H A- o 10 ýo N N 00 00 0o ONCN 0ý ON ONON

z Cd Cd -I H U) U)z U) U)

-*R - -- I

A I ' ~A 4I H 4 A A 4I -* I - I 4' I-I - rd OCd vd C wC C 0) --- H -- -H -- J - 4- -*H -- -H -I-)O o o 04 0 0 C 0 C-H Q -H 1Q~ >0 >c -H

4- U 0 9-IJD -H C -)O- C 4-) C O4- S ) -H -H -HS d -H (a -H (a -H (a -H 0 HH I-i - H r-H H iH H Q) U)HA 0C UA) z 0C-r w rl0 -q *4r- r-H ý4 '- r-H * H 4H r -I - -H '-r-H ý4 -- -H o >1 - u a IO u r U) 00 -H ro" 0 •00 S 00)>1 r.)-H r -H0) m ,CU -)-HClE 0 40 -HU) O• .1 . Uu (oC 0U,u nc r• .1 0 .104 >1 0 -44 r 4- -H C 04 44U r-4)Hr H-I 4-) U U) U) 0 Cl 0 - U oo -H 0) 04 )4 ) 14-14 1 U) 4Cý--I rHU) u • 4-) U1 C U) U) 0)4 r 04(o 9 4-)04Cd-HM 4-)Q CCOU)-W U O 4d 4 C-) Q) d 4-3 (0 z4-) 41 U)H ~4-3 U) 0)~2 U) ý4 E (0 r H U O O Q4 4Om - 0 4- U 000 4. u 0 • -H J-HI >1 r i ;ý• r - j U) ý U - U).- r-Mm 41 0 CdNl0U)1 r- ý 4 04 4- U -W4m) U) l 1)-4 z w 0w 0 gCdU)4- QýD4- u u C-) .- 4- 0).. 0o - U).. 4-0 - i ) 4-) -H U m (1) U) -H Q)C) -H 4-) 4 -H4-) 44) -HU 4-) lu 4- ( u) U)- ) U) 04 4 U)144 V -H IC U 4 %4 4-) t 000\( 0~0 ICj 44 ý4 4-)U)NU-U 4-) Cd U -H- O0 14-4 -H. S4- 4c 4 \) UA 4 U) tr)• --- U - 'I- I-) *ot

a)

U4 U) 4 0U) 0 0 4-) Cd 0-U -H

U - C U)C 4 ri 4 WU roU) U)-O d *- H IQ 4-) A U~ -U 14AU) -4 U) u0 4H 0 U H) 44U) H4- rI-i 4-) U) 4) ~*U)0)ri 0cl 4 -UH 4JI -II 4 U)Uq ) -H -H -HU ICu a) 4 0r U)U rr NAQ)AU PU)$4 -H04U U0 ) 4-A Cd -H 4 0 4-) -H4 q C 14-HM 4) n Q -u)U)rH0 4 4-14 )-I 44 T$ 41 14 H U 0)-H 4 Q) 0U ) 40 04 4-) ý .U r- 0 U) w ji- .U)Doo -- 11I )Q40 0EU)- m0 -) U)14- J ý -H >1- F-: 40)00 (0 ý4 4 CdAO) ;-HO U) ý4 0H4- U)m -H0 41O0*- 0 w - > +-H 0UrF F -U )- 0 01U) U) 0 FC U) - rP 0U) OU

4-j -H I~n-10 U)-:U~204-1 0)U4 rH wU mr1.I 4-i..U ::j U4D HM4O o 040 ý4H0 ý4(0 W:)010 -r- ý4ý - - J J- r 4ý - -q I 440 o 0 > 0) 4 W 04 (0 )-HUO-w0)udo-Z0)ý 0 MX U 04 0 U) Cd 4-4 0 >j0 U)0 0 -H - U4d-0 Ur UIn1U + >1O-H0) 4EnOCW 0 4*-HU0 ) 1-0-H--T UU)-H U) -H 0U0I >1U)0U00U)44-)d U04U)C F-1 U)U0d 0 44-H) ) 0U)S 0U4-) 4-Dý- q U) 0 0)wdw 0wU - IUCr-H 0 0 W -H C 00 14-4 U 0) dU)> U)Pýr HU-C 4-U -H 44 U) 0 041 d04F- :1-)A u u CdUA U CO 0 MOO0O O0 0 00U)0 U4 U * MOCd) -U)441-H-4 ** IU)C I4 0 4** 4 1-H 4--)UCdU 4-) U44-HQ 0) 0 4U -H4 0 4-) QU)U)UT U)4- -H OU)U-H14 00U U144-)0 u Z O -HU C0 0 40) d 0 - -HUU0 °° ~U.. ~ 011- U)0 CU)* UO01144 -H)U CdU)4 -HU)U 4- U)14-4 0) 4-)-H U 4j-A- U- -H -H U) Qi) -ý-- -- 4 En J U) ý4- 010 -44Ul)4-4 - U) V- L~U)4-4 -H4 Cd n-i \4 d n 4-) 1-1 1-- tý, 00 0\ Qý -" cl-Irn "t Vý ýc rn ýY)ýn C'n ONON - ~ - - , --ý , - ~- -, -ý -ý - ý Cl 0 0 o 0 0 0 - *DIc444 llAH

4-) 0;04 0 E- . 40-,. Z ** 00)QC ) O (14) -U)04-)$ 4-)0 - >i4- Hr-4•r0 w --)r- 01 - r04 • - . *4 04,Q ,r- Q) 4 -- 0 )(-l V U) Uo r0 .4- U) 0 -lH V1 OH - 0•r 0. -rA~~~ 4 1 u 4 0 H 44- 4-HF * -Q4}:U ) *-)

* 0 S0004 00 CO -•04 0 *. )0 Q0 - IQ q. 4 5 -HW ;J0 • E-1 E-40 E04 44 0U) -044-ofl H r-1fl 0U) . 4 rJ 0 CsO W :R)10 o r 0 4•4 4 4 U) .r* - 0 I 4rH *4CC f 00ý 1) . 0) 3o4-) O 4 4 4-)4iCOH H )(_U0 -i S0 O~~ 0)F-4> r-Q5i n Cd0U00). M 4-) -H 4-)Q0) 0 04 r-*HE -HE4) 0d >14-) 0 U) 04-) 1-40) O 0- r-I 0 r-q 4-U) -4J-) 4 ) U) 00 ) U) 4-) : - A ) 04 4, Q () f, - 00 U =- - .- 4 u- dQ00 o r $ ,• 0n ý.9 . 4 . (r -H-H0. l Q,3-)E-4 4ýA 0 a) 04-)"" - - - 0 004 44*Z4- O C ~ O ~ 0 0-HH- fT4 M-r OU) 4-)*) Q) rHAU)000-H r-A ( Q)4*H U T$ 0 U 0-H000 QV -H U 0 r4 44 - 0 0 Q)-H i rJ -2 *c 0 0 0 r.

0)U OH4-1t -- H cd Cd 0 0 -- X - w FnS4-)UU)wH 0 _ 040 000) d - 4 ,QU)-HA )U) Q4-) U)0 H-H - 0 0 U) 04 -1 ) O 00 )0 WE-r-l 0) - M. [ 0 u 00)d00 U) *do ZC U)ZXXfl0 Q Q 04 -rI -4 U) 04 U) -- HHa)Z04

-HI0r. rT O 04~0OQ 0 )U *H4~d(0 -riU)U ( ;40 444-4> -44. 11 11 P 1 40 -H 00 0 41 U) 04d 44-44(:1 )X (0 rU) u #I4 440 , -H -HOUHr-q U)-I V--- #1*v-H=- 0 0 U) U) r-A r- 04 ý 0 .. 0 U#) 4-) d- 04E 4 0 + #I- 0. -OQ 040 0 44 4 +4-)+ ) 41 U) E-I Q C-)UQ4r 04 *U) U) 1-- U 0-040 a u ) r)- 4 -4 * 0•1 --- U • 4- 4- 04-

U)*

4c

+ 4U) 4Cd41- +

0 + -H 0 *-H r+

714) + U) ++ - + - II I -0 I + .- + *- 40O U) U•4- -U•) + o - 57: - 4 + -HTV +1 0 0-, I 04 - -)Cd 141U- U rHA+ ,- c-I) r(q

0 14 -4 14 .4 C)- 'H- -- ZU) 4-) - 4.44-) Cdo V Vl (N(N -Hq - 0) U) U) U) 4c U) U) - F-* 1 0 -*n -H -* - 1 c-H-- 0 IIiII * II j1 ýD 0 .4 *--H V 00 > "0 0d 10-- • ) ( C - . (. 04 ,C4 - * . 41 14 H -H-HH cN -(p 0 0 - C 1- U) U) >1 S 4-) - II 11 4-) U+ H. 4-) - U) . b0 U)) 0) 0 -n II -H II ) 0( 4-) 0a) S4-- 1- 41 'H + 14 44 14 -H -H Q140) - -H 0 4-- 4-) I U) 4D W W --4 14 A 1-414 -4 r cq 1-4 fn M 14-H -H 'H 0 'HO 0 -H 4- - . 41 aU) -H-HH -H - U) -H 41 n U) 1434 * 41-4 U Irr-A - 4-1 4-) ~ 41 r-4 1-- 4-40) U00) ) j ýD0) - 0)-H 0)D1--ý Ic C 4- 4 4-) 4, M 14 -4 1- 4 1-I 4 4-) 4-1) ,:S k -4 -H 1--i a) I-I r.4 4 0 0O4 0 0) 0C -Hr Cd -0-1- d -H -H 0 4 4 - 1I -Q~ E 0)0 4q 404-H ti-) ýo t oo ON0 ', rq(N nr :I- W) '-0 tN 00 0\ (Z '-- (N rn 'I-t V) 'C N. (Do ON~Q) ry(N) 0O

r 4ý 4 Sr- 4 -15

U) TO044 4 -H O 4 4) Q)) 0

4o U 04 0 0 -Hd 5 41 5 0

FW4 04 . 0R 0 4: QH 0 U) 4 ýJ 4 4UF) u 0Ci)4 Q ) Ca) 0 rCc: ou r 0 U-a 0 4 C 0U) Cd 4iU * * *W U) - E-4 0 0 4) O- . z C

rO E-4ro r-4F'044i) (0 F'IOi I 0-l -ýFi04 U * 0 40 )0 -* 04 Q) 0 0 0 E--4 0 ~ 00 0m 4 0 UarH C+ 4Uj)- 0 00 0 #1-- H~U Fro U)OS * -#14 -LU *. *- O

10 0 A-) 0 0 I

0 4 . r - 0 * H * 4Q) TO U) 40 ) 41F' ra U)-ii 41 *a Cd' C0\S0 C) U) "o t0 0 1 0\ 0 Q)

(C 0 F4a) Q ro -H* F a) 40 rH QC -H H z04a oc1 TO F4a) L)0 0 f: a4S) 04OR Hp 04 U) -A 0 H -HrH 9- 0 Z4 5 rO 0 0 0 -•i04 • 4 Q r.a) 4H -Q 0 a UO 04 -H-H * rH ,C U C.0 U 4 4 4 T04 S0 a -•o ro U0o o0 a o -LiU) 0U) -H Fý4S0 S>1 ,C4 0 Ca)Co 04 -H4.H4 o U) rc: -HOH 0O0 O)TO O.04 *)F2 *d Sr4 0 >1 4H: H Cd 0 ,- 0L x a) 0 4 0 00 O U) 0 --- -r't S>1 0•S4 0 -HO0 * O Cd * 0 9 -H a) H4CO * F'-HCl0 Cd 00 T TO U) 0x 0a U) -H C m 0i a) O a)

St,, 00c-, ý 4 (,n q-V)oo 0o0N

The following is a sample run of the AM2SGML program. The SGML document instance and DTD used is the following, taken from the "Guidelines for Electronic Text Encoding and

Interchange."'

I 3 4 5 6 7 ]> 8 9 10 11 The SICK ROSE 12 <stanza> 13 <line>O Rose thou art sick. 14 <line>The invisible worm, 15 <line>That flies in the night 16 <line>In the howling storm: 17 <stanza> 18 <line>Has found out thy bed 19 <line>Of crimson joy: 20 <line>And his dark secret love 21 <line>Does thy life destroy 22 </poem> 23 <!-- This is taken from the TEI guide -- > 24 </anth></p><p>The following is the command line used to parse the file:</p><p> test testDir/myTest7.sgml 0 init.ocs 0 0 where testDir/myTest7 . sgml is the name of the file given above, and init. ocs is a compiled SGML declaration produced from a previous execution of AM2SGML. The results are as follows:</p><p>1. Sperberg-McQueen, pp. 16-17. 1 ------2 <Document> 3 <ANTH> 4 <POEM> 5 <TITLE> 6 7 8 9 10 11 12 13 14 15 16 17 18------

These are the expected results.