From 82e20720c94f1df1086173bc3fea52d50473297c Mon Sep 17 00:00:00 2001 From: Julian Smart Date: Sun, 30 Mar 2003 21:21:33 +0000 Subject: [PATCH] Deprecated classes manual git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19892 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- contrib/docs/latex/deprecated/category.tex | 15 + contrib/docs/latex/deprecated/classes.tex | 35 ++ contrib/docs/latex/deprecated/expr.tex | 496 +++++++++++++++ contrib/docs/latex/deprecated/function.tex | 338 +++++++++++ contrib/docs/latex/deprecated/manual.tex | 649 ++++++++++++++++++++ contrib/docs/latex/deprecated/prop1.bmp | Bin 0 -> 29238 bytes contrib/docs/latex/deprecated/prop1.eps | 539 +++++++++++++++++ contrib/docs/latex/deprecated/prop1.gif | Bin 0 -> 38958 bytes contrib/docs/latex/deprecated/prop2.bmp | Bin 0 -> 42526 bytes contrib/docs/latex/deprecated/prop2.eps | 664 +++++++++++++++++++++ contrib/docs/latex/deprecated/prop2.gif | Bin 0 -> 56166 bytes contrib/docs/latex/deprecated/propbfva.tex | 17 + contrib/docs/latex/deprecated/propblva.tex | 16 + contrib/docs/latex/deprecated/property.tex | 107 ++++ contrib/docs/latex/deprecated/propflva.tex | 18 + contrib/docs/latex/deprecated/propford.tex | 23 + contrib/docs/latex/deprecated/propforf.tex | 43 ++ contrib/docs/latex/deprecated/propforp.tex | 23 + contrib/docs/latex/deprecated/propforv.tex | 60 ++ contrib/docs/latex/deprecated/propfovi.tex | 104 ++++ contrib/docs/latex/deprecated/propifva.tex | 18 + contrib/docs/latex/deprecated/propilva.tex | 17 + contrib/docs/latex/deprecated/proplisd.tex | 23 + contrib/docs/latex/deprecated/proplisf.tex | 43 ++ contrib/docs/latex/deprecated/proplisp.tex | 24 + contrib/docs/latex/deprecated/proplist.tex | 556 +++++++++++++++++ contrib/docs/latex/deprecated/propliva.tex | 110 ++++ contrib/docs/latex/deprecated/proplosv.tex | 31 + contrib/docs/latex/deprecated/proplstv.tex | 111 ++++ contrib/docs/latex/deprecated/propregv.tex | 42 ++ contrib/docs/latex/deprecated/proprfva.tex | 17 + contrib/docs/latex/deprecated/proprlva.tex | 19 + contrib/docs/latex/deprecated/propsht.tex | 83 +++ contrib/docs/latex/deprecated/propslv.tex | 18 + contrib/docs/latex/deprecated/propstfv.tex | 20 + contrib/docs/latex/deprecated/propval.tex | 242 ++++++++ contrib/docs/latex/deprecated/propvald.tex | 41 ++ contrib/docs/latex/deprecated/propview.tex | 111 ++++ contrib/docs/latex/deprecated/tex2rtf.ini | 55 ++ contrib/docs/latex/deprecated/topics.tex | 9 + contrib/docs/latex/deprecated/treelay.tex | 327 ++++++++++ contrib/docs/latex/deprecated/tresourc.tex | 335 +++++++++++ 42 files changed, 5399 insertions(+) create mode 100644 contrib/docs/latex/deprecated/category.tex create mode 100644 contrib/docs/latex/deprecated/classes.tex create mode 100644 contrib/docs/latex/deprecated/expr.tex create mode 100644 contrib/docs/latex/deprecated/function.tex create mode 100644 contrib/docs/latex/deprecated/manual.tex create mode 100644 contrib/docs/latex/deprecated/prop1.bmp create mode 100644 contrib/docs/latex/deprecated/prop1.eps create mode 100644 contrib/docs/latex/deprecated/prop1.gif create mode 100644 contrib/docs/latex/deprecated/prop2.bmp create mode 100644 contrib/docs/latex/deprecated/prop2.eps create mode 100644 contrib/docs/latex/deprecated/prop2.gif create mode 100644 contrib/docs/latex/deprecated/propbfva.tex create mode 100644 contrib/docs/latex/deprecated/propblva.tex create mode 100644 contrib/docs/latex/deprecated/property.tex create mode 100644 contrib/docs/latex/deprecated/propflva.tex create mode 100644 contrib/docs/latex/deprecated/propford.tex create mode 100644 contrib/docs/latex/deprecated/propforf.tex create mode 100644 contrib/docs/latex/deprecated/propforp.tex create mode 100644 contrib/docs/latex/deprecated/propforv.tex create mode 100644 contrib/docs/latex/deprecated/propfovi.tex create mode 100644 contrib/docs/latex/deprecated/propifva.tex create mode 100644 contrib/docs/latex/deprecated/propilva.tex create mode 100644 contrib/docs/latex/deprecated/proplisd.tex create mode 100644 contrib/docs/latex/deprecated/proplisf.tex create mode 100644 contrib/docs/latex/deprecated/proplisp.tex create mode 100644 contrib/docs/latex/deprecated/proplist.tex create mode 100644 contrib/docs/latex/deprecated/propliva.tex create mode 100644 contrib/docs/latex/deprecated/proplosv.tex create mode 100644 contrib/docs/latex/deprecated/proplstv.tex create mode 100644 contrib/docs/latex/deprecated/propregv.tex create mode 100644 contrib/docs/latex/deprecated/proprfva.tex create mode 100644 contrib/docs/latex/deprecated/proprlva.tex create mode 100644 contrib/docs/latex/deprecated/propsht.tex create mode 100644 contrib/docs/latex/deprecated/propslv.tex create mode 100644 contrib/docs/latex/deprecated/propstfv.tex create mode 100644 contrib/docs/latex/deprecated/propval.tex create mode 100644 contrib/docs/latex/deprecated/propvald.tex create mode 100644 contrib/docs/latex/deprecated/propview.tex create mode 100644 contrib/docs/latex/deprecated/tex2rtf.ini create mode 100644 contrib/docs/latex/deprecated/topics.tex create mode 100644 contrib/docs/latex/deprecated/treelay.tex create mode 100644 contrib/docs/latex/deprecated/tresourc.tex diff --git a/contrib/docs/latex/deprecated/category.tex b/contrib/docs/latex/deprecated/category.tex new file mode 100644 index 0000000000..dbfaf7f7d2 --- /dev/null +++ b/contrib/docs/latex/deprecated/category.tex @@ -0,0 +1,15 @@ +\chapter{Classes by category}\label{classesbycat} +\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}% +\setfooter{\thepage}{}{}{}{}{\thepage}% + +A classification of deprecated wxWindows classes by category. + +{\large {\bf Miscellaneous}} + +\twocolwidtha{6cm} +\begin{twocollist}\itemsep=0pt +\twocolitem{\helpref{wxTreeLayout}{wxtreelayout}}{Tree layout algorithm} +\twocolitem{\helpref{wxExpr}{wxexpr}}{A class for parsing WXR (and other) data files} +\twocolitem{\helpref{wxExprDatabase}{wxexprdatabase}}{A class for storing parsed WXR (and other) data files} +\end{twocollist} + diff --git a/contrib/docs/latex/deprecated/classes.tex b/contrib/docs/latex/deprecated/classes.tex new file mode 100644 index 0000000000..a41c01c35a --- /dev/null +++ b/contrib/docs/latex/deprecated/classes.tex @@ -0,0 +1,35 @@ +\chapter{Alphabetical class reference}\label{classref} +\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}% +\setfooter{\thepage}{}{}{}{}{\thepage}% + +% NB: the files should be in alphabetic order of the classes documented in +% them and *not* in alphabetic order of the file names! + +\input propbfva.tex +\input propblva.tex +\input propflva.tex +\input propifva.tex +\input propilva.tex +\input proplosv.tex +\input property.tex +\input propford.tex +\input propforf.tex +\input propforp.tex +\input propforv.tex +\input propfovi.tex +\input proplisd.tex +\input proplisf.tex +\input proplisp.tex +\input propliva.tex +\input proplstv.tex +\input propsht.tex +\input propvald.tex +\input propregv.tex +\input propval.tex +\input propview.tex +\input proprfva.tex +\input proprlva.tex +\input propstfv.tex +\input propslv.tex +\input treelay.tex + diff --git a/contrib/docs/latex/deprecated/expr.tex b/contrib/docs/latex/deprecated/expr.tex new file mode 100644 index 0000000000..83381dfdde --- /dev/null +++ b/contrib/docs/latex/deprecated/expr.tex @@ -0,0 +1,496 @@ +\section{\class{wxExpr}}\label{wxexpr} + +The {\bf wxExpr} class is the building brick of expressions similar to Prolog +clauses, or objects. It can represent an expression of type long integer, float, string, word, +or list, and lists can be nested. + +\wxheading{Derived from} + +None + +\wxheading{Include files} + + + +\wxheading{See also} + +\helpref{wxExpr overview}{exproverview}, \helpref{wxExprDatabase}{wxexprdatabase} + +\latexignore{\rtfignore{\wxheading{Members}}} + +\membersection{wxExpr::wxExpr}\label{wxexprconstr} + +\func{}{wxExpr}{\param{const wxString\&}{functor}} + +Construct a new clause with this form, supplying the functor name. A clause is an object +that will appear in the data file, with a list of attribute/value pairs. + +\func{}{wxExpr}{\param{wxExprType}{ type}, \param{const wxString\&}{ wordOrString = ``"}} + +Construct a new empty list, or a word (will be output with no quotes), or a string, depending on the +value of {\it type}. + +{\it type} can be {\bf wxExprList}, {\bf wxExprWord}, or {\bf wxExprString}. If {\it type} is wxExprList, +the value of {\it wordOrString} will be ignored. + +\func{}{wxExpr}{\param{long}{ value}} + +Construct an integer expression. + +\func{}{wxExpr}{\param{float}{ value}} + +Construct a floating point expression. + +\func{}{wxExpr}{\param{wxList* }{value}} + +Construct a list expression. The list's nodes' data should +themselves be {\bf wxExpr}s. + +wxExpr no longer uses the {\bf wxList} internally, +so this constructor turns the list into its internal +format (assuming a non-nested list) and then deletes the supplied +list. + +\membersection{wxExpr::\destruct{wxExpr}} + +\func{}{\destruct{wxExpr}}{\void} + +Destructor. + +\membersection{wxExpr::AddAttributeValue}\label{wxexpraddattributevalue} + +Use these on clauses ONLY. Note that the functions for adding strings +and words must be differentiated by function name which is why +they are missing from this group (see \helpref{wxExpr::AddAttributeValueString}{wxexpraddattributevaluestring} and +\rtfsp\helpref{wxExpr::AddAttributeValueWord}{wxexpraddattributevalueword}). + +\func{void}{AddAttributeValue}{\param{const wxString\&}{ attribute}, \param{float }{value}} + +Adds an attribute and floating point value pair to the clause. + +\func{void}{AddAttributeValue}{\param{const wxString\&}{ attribute}, \param{long }{value}} + +Adds an attribute and long integer value pair to the clause. + +\func{void}{AddAttributeValue}{\param{const wxString\&}{ attribute}, \param{wxList* }{value}} + +Adds an attribute and list value pair to the clause, converting the list into +internal form and then deleting {\bf value}. Note that the list should not contain +nested lists (except if in internal {\bf wxExpr} form.) + +\func{void}{AddAttributeValue}{\param{const wxString\&}{ attribute}, \param{wxExpr* }{value}} + +Adds an attribute and wxExpr value pair to the clause. Do not delete\rtfsp +{\it value} once this function has been called. + +\membersection{wxExpr::AddAttributeValueString}\label{wxexpraddattributevaluestring} + +\func{void}{AddAttributeValueString}{\param{const wxString\&}{ attribute}, \param{const wxString\&}{ value}} + +Adds an attribute and string value pair to the clause. + +\membersection{wxExpr::AddAttributeValueStringList}\label{wxexpraddattributevaluestringlist} + +\func{void}{AddAttributeValueStringList}{\param{const wxString\&}{ attribute}, \param{wxList* }{value}} + +Adds an attribute and string list value pair to the clause. + +Note that the list passed to this function is a list of strings, NOT a list +of {\bf wxExpr}s; it gets turned into a list of {\bf wxExpr}s +automatically. This is a convenience function, since lists of strings +are often manipulated in C++. + +\membersection{wxExpr::AddAttributeValueWord}\label{wxexpraddattributevalueword} + +\func{void}{AddAttributeValueWord}{\param{const wxString\&}{ attribute}, \param{const wxString\&}{ value}} + +Adds an attribute and word value pair to the clause. + +\membersection{wxExpr::Append}\label{wxexprappend} + +\func{void}{Append}{\param{wxExpr*}{ value}} + +Append the {\bf value} to the end of the list. `this' must be a list. + +\membersection{wxExpr::Arg}\label{wxexprarg} + +\constfunc{wxExpr* }{Arg}{\param{wxExprType}{ type}, \param{int}{ n}} + +Get nth arg of the given clause (starting from 1). NULL is returned if +the expression is not a clause, or {\it n} is invalid, or the given type +does not match the actual type. See also \helpref{wxExpr::Nth}{wxexprnth}. + +\membersection{wxExpr::Insert}\label{wxexprinsert} + +\func{void}{Insert}{\param{wxExpr* }{value}} + +Insert the {\bf value} at the start of the list. `this' must be a list. + +\membersection{wxExpr::GetAttributeValue}\label{wxexprgetattributevalue} + +These functions are the easiest way to retrieve attribute values, by +passing a pointer to variable. If the attribute is present, the +variable will be filled with the appropriate value. If not, the +existing value is left alone. This style of retrieving attributes +makes it easy to set variables to default values before calling these +functions; no code is necessary to check whether the attribute is +present or not. + +\constfunc{bool}{GetAttributeValue}{\param{const wxString\&}{ attribute}, \param{wxString\&}{ value}} + +Retrieve a string (or word) value. + +\constfunc{bool}{GetAttributeValue}{\param{const wxString\&}{ attribute}, \param{float\& }{value}} + +Retrieve a floating point value. + +\constfunc{bool}{GetAttributeValue}{\param{const wxString\&}{ attribute}, \param{int\& }{value}} + +Retrieve an integer value. + +\constfunc{bool}{GetAttributeValue}{\param{const wxString\&}{ attribute}, \param{long\& }{value}} + +Retrieve a long integer value. + +\constfunc{bool}{GetAttributeValue}{\param{const wxString\&}{ attribute}, \param{wxExpr**}{ value}} + +Retrieve a wxExpr pointer. + +\membersection{wxExpr::GetAttributeValueStringList}\label{wxexprgetattributestringlist} + +\constfunc{void}{GetAttributeValueStringList}{\param{const wxString\&}{attribute}, \param{wxList* }{value}} + +Use this on clauses ONLY. See above for comments on this style of +attribute value retrieval. This function expects to receive a pointer to +a new list (created by the calling application); it will append strings +to the list if the attribute is present in the clause. + +\membersection{wxExpr::AttributeValue}\label{wxexprattributevalue} + +\constfunc{wxExpr*}{AttributeValue}{\param{const wxString\&}{ word}} + +Use this on clauses ONLY. Searches the clause for an attribute +matching {\it word}, and returns the value associated with it. + +\membersection{wxExpr::Copy}\label{wxexprcopy} + +\constfunc{wxExpr*}{Copy}{\void} + +Recursively copies the expression, allocating new storage space. + +\membersection{wxExpr::DeleteAttributeValue}\label{wxexprdeletattributevalue} + +\func{void}{DeleteAttributeValue}{\param{const wxString\&}{ attribute}} + +Use this on clauses only. Deletes the attribute and its value (if any) from the +clause. + +\membersection{wxExpr::Functor}\label{wxexprfunctor} + +\constfunc{wxString}{Functor}{\void} + +Use this on clauses only. Returns the clause's functor (object name). + +\membersection{wxExpr::GetClientData}\label{wxexprgetclientdata} + +\constfunc{wxObject*}{GetClientData}{\void} + +Retrieve arbitrary data stored with this clause. This can be useful when +reading in data for storing a pointer to the C++ object, so when another +clause makes a reference to this clause, its C++ object can be retrieved. +See \helpref{wxExpr::SetClientData}{wxexprsetclientdata}. + +\membersection{wxExpr::GetFirst}\label{wxexprgetfirst} + +\constfunc{wxExpr*}{GetFirst}{\void} + +If this is a list expression (or clause), gets the first element in the list. + +See also \helpref{wxExpr::GetLast}{wxexprgetlast}, \helpref{wxExpr::GetNext}{wxexprgetnext}, \helpref{wxExpr::Nth}{wxexprnth}. + +\membersection{wxExpr::GetLast}\label{wxexprgetlast} + +\constfunc{wxExpr*}{GetLast}{\void} + +If this is a list expression (or clause), gets the last element in the list. + +See also \helpref{wxExpr::GetFirst}{wxexprgetfirst}, \helpref{wxExpr::GetNext}{wxexprgetnext}, \helpref{wxExpr::Nth}{wxexprnth}. + +\membersection{wxExpr::GetNext}\label{wxexprgetnext} + +\constfunc{wxExpr*}{GetNext}{\void} + +If this is a node in a list (any wxExpr may be a node in a list), gets the +next element in the list. + +See also \helpref{wxExpr::GetFirst}{wxexprgetfirst}, \helpref{wxExpr::GetLast}{wxexprgetlast}, \helpref{wxExpr::Nth}{wxexprnth}. + +\membersection{wxExpr::IntegerValue}\label{wxexprintegervalue} + +\constfunc{long}{IntegerValue}{\void} + +Returns the integer value of the expression. + +\membersection{wxExpr::Nth}\label{wxexprnth} + +\constfunc{wxExpr*}{Nth}{\param{int}{ n}} + +Get nth arg of the given list expression (starting from 0). NULL is returned if +the expression is not a list expression, or {\it n} is invalid. See also \helpref{wxExpr::Arg}{wxexprarg}. + +Normally, you would use attribute-value pairs to add and retrieve data +from objects (clauses) in a data file. However, if the data gets complex, +you may need to store attribute values as lists, and pick them apart +yourself. + +\membersection{wxExpr::RealValue}\label{wxexprrealvalue} + +\constfunc{float}{RealValue}{\void} + +Returns the floating point value of the expression. + +\membersection{wxExpr::SetClientData}\label{wxexprsetclientdata} + +\func{void}{SetClientData}{\param{wxObject *}{data}} + +Associate arbitrary data with this clause. This can be useful when +reading in data for storing a pointer to the C++ object, so when another +clause makes a reference to this clause, its C++ object can be retrieved. +See \helpref{wxExpr::GetClientData}{wxexprgetclientdata}. + +\membersection{wxExpr::StringValue}\label{wxexprstringvalue} + +\constfunc{wxString}{StringValue}{\void} + +Returns the string value of the expression. + +\membersection{wxExpr::Type}\label{wxexprtype} + +\constfunc{wxExprType}{Type}{\void} + +Returns the type of the expression. {\bf wxExprType} is defined as follows: + +\begin{verbatim} +typedef enum { + wxExprNull, + wxExprInteger, + wxExprReal, + wxExprWord, + wxExprString, + wxExprList +} wxExprType; +\end{verbatim} + +\membersection{wxExpr::WordValue}\label{wxexprwordvalue} + +\constfunc{wxString}{WordValue}{\void} + +Returns the word value of the expression. + +\membersection{wxExpr::WriteClause}\label{wxexprwriteprologclause} + +\func{void}{WriteClause}{\param{FILE *}{ stream}} + +Writes the clause to the given stream in Prolog format. Not normally needed, since +the whole {\bf wxExprDatabase} will usually be written at once. The format is: +functor, open parenthesis, list of comma-separated expressions, close parenthesis, +full stop. + +\membersection{wxExpr::WriteExpr}\label{wxexprwriteexpr} + +\func{void}{WriteExpr}{\param{FILE *}{ stream}} + +Writes the expression (not clause) to the given stream in Prolog +format. Not normally needed, since the whole {\bf wxExprDatabase} will +usually be written at once. Lists are written in square bracketed, +comma-delimited format. + +\membersection{Functions and macros} + +Below are miscellaneous functions and macros associated with wxExpr objects. + +\func{bool}{wxExprIsFunctor}{\param{wxExpr *}{expr}, \param{const wxString\&}{ functor}} + +Checks that the functor of {\it expr} is {\it functor}. + +\func{void}{wxExprCleanUp}{\void} + +Cleans up the wxExpr system (YACC/LEX buffers) to avoid memory-checking warnings as the program exits. + +\begin{verbatim} +#define wxMakeInteger(x) (new wxExpr((long)x)) +#define wxMakeReal(x) (new wxExpr((float)x)) +#define wxMakeString(x) (new wxExpr(PrologString, x)) +#define wxMakeWord(x) (new wxExpr(PrologWord, x)) +#define wxMake(x) (new wxExpr(x)) +\end{verbatim} + +Macros to help make wxExpr objects. + +\section{\class{wxExprDatabase}}\label{wxexprdatabase} + +The {\bf wxExprDatabase} class represents a database, or list, +of Prolog-like expressions. Instances of this class are used for reading, +writing and creating data files. + +\wxheading{Derived from} + +\helpref{wxList}{wxlist}\\ +\helpref{wxObject}{wxobject} + +\wxheading{See also} + +\helpref{wxExpr overview}{exproverview}, \helpref{wxExpr}{wxexpr} + +\latexignore{\rtfignore{\wxheading{Members}}} + +\membersection{wxExprDatabase::wxExprDatabase}\label{wxexprdatabaseconstr} + +\func{void}{wxExprDatabase}{\param{proioErrorHandler}{ handler = 0}} + +Construct a new, unhashed database, with an optional error handler. The +error handler must be a function returning a bool and taking an integer and a string +argument. When an error occurs when reading or writing a database, this function is +called. The error is given as the first argument (currently one of WXEXPR\_ERROR\_GENERAL, +WXEXPR\_ERROR\_SYNTAX) and an error message is given as the second argument. If false +is returned by the error handler, processing of the wxExpr operation stops. + +Another way of handling errors is simply to call \helpref{wxExprDatabase::GetErrorCount}{wxexprdatabasegeterrorcount} after +the operation, to check whether errors have occurred, instead of installing an error handler. +If the error count is more than zero, \helpref{wxExprDatabase::Write}{wxexprdatabasewrite} and +\rtfsp\helpref{wxExprDatabase::Read}{wxexprdatabaseread} will return false to +the application. + +For example: + +\begin{verbatim} +bool myErrorHandler(int err, chat *msg) +{ + if (err == WXEXPR_ERROR_SYNTAX) + { + wxMessageBox(msg, "Syntax error"); + } + return false; +} + +wxExprDatabase database(myErrorHandler); +\end{verbatim} + +\func{}{wxExprDatabase}{\param{wxExprType}{ type}, \param{const wxString\&}{attribute}, +\rtfsp\param{int}{ size = 500}, \param{proioErrorHandler}{ handler = 0}} + +Construct a new database hashed on a combination of the clause functor and +a named attribute (often an integer identification). + +See above for an explanation of the error handler. + +\membersection{wxExprDatabase::\destruct{wxExprDatabase}} + +\func{}{\destruct{wxExprDatabase}}{\void} + +Delete the database and contents. + +\membersection{wxExprDatabase::Append}\label{wxexprdatabaseappend} + +\func{void}{Append}{\param{wxExpr* }{clause}} + +Append a clause to the end of the database. If the database is hashing, +the functor and a user-specified attribute will be hashed upon, giving the +option of random access in addition to linear traversal of the database. + +\membersection{wxExprDatabase::BeginFind}\label{wxexprdatabasebeginfind} + +\func{void}{BeginFind}{\void} + +Reset the current position to the start of the database. Subsequent +\rtfsp\helpref{wxExprDatabase::FindClause}{wxexprdatabasefindclause} calls will move the pointer. + +\membersection{wxExprDatabase::ClearDatabase}\label{wxexprdatabasecleardatabase} + +\func{void}{ClearDatabase}{\void} + +Clears the contents of the database. + +\membersection{wxExprDatabase::FindClause}\label{wxexprdatabasefindclause} + +Various ways of retrieving clauses from the database. A return +value of NULL indicates no (more) clauses matching the given criteria. +Calling the functions repeatedly retrieves more matching clauses, if any. + +\func{wxExpr* }{FindClause}{\param{long}{ id}} + +Find a clause based on the special ``id'' attribute. + +\func{wxExpr* }{FindClause}{\param{const wxString\&}{ attribute}, \param{const wxString\&}{ value}} + +Find a clause which has the given attribute set to the given string or word value. + +\func{wxExpr*}{FindClause}{\param{const wxString\&}{ attribute}, \param{long}{ value}} + +Find a clause which has the given attribute set to the given integer value. + +\func{wxExpr*}{FindClause}{\param{const wxString\&}{ attribute}, \param{float}{ value}} + +Find a clause which has the given attribute set to the given floating point value. + +\membersection{wxExprDatabase::FindClauseByFunctor}\label{wxexprdatabasefindclausebyfunctor} + +\func{wxExpr*}{FindClauseByFunctor}{\param{const wxString\&}{ functor}} + +Find the next clause with the specified functor. + +\membersection{wxExprDatabase::GetErrorCount}\label{wxexprdatabasegeterrorcount} + +\constfunc{int}{GetErrorCount}{\void} + +Returns the number of errors encountered during the last read or write operation. + +\membersection{wxExprDatabase::HashFind}\label{wxexprdatabasehashfind} + +\constfunc{wxExpr*}{HashFind}{\param{const wxString\&}{ functor}, \param{long}{ value}} + +Finds the clause with the given functor and with the attribute specified +in the database constructor having the given integer value. + +For example, + +\begin{verbatim} +// Hash on a combination of functor and integer "id" attribute when reading in +wxExprDatabase db(wxExprInteger, "id"); + +// Read it in +db.ReadProlog("data"); + +// Retrieve a clause with specified functor and id +wxExpr *clause = db.HashFind("node", 24); +\end{verbatim} + +This would retrieve a clause which is written: {\tt node(id = 24, ..., )}. + +\func{wxExpr*}{HashFind}{\param{const wxString\&}{ functor}, \param{const wxString\&}{ value}} + +Finds the clause with the given functor and with the attribute specified +in the database constructor having the given string value. + +\membersection{wxExprDatabase::Read}\label{wxexprdatabaseread} + +\func{bool}{Read}{\param{const wxString\&}{ filename}} + +Reads in the given file, returning true if successful. + +\membersection{wxExprDatabase::ReadFromString}\label{wxexprdatabasereadfromstring} + +\func{bool}{ReadFromString}{\param{const wxString\&}{ buffer}} + +Reads a Prolog database from the given string buffer, returning true if +successful. + +\membersection{wxExprDatabase::Write}\label{wxexprdatabasewrite} + +\func{bool}{Write}{\param{FILE *}{stream}} + +\func{bool}{Write}{\param{const wxString\&}{ filename}} + +Writes the database as a Prolog-format file. + + diff --git a/contrib/docs/latex/deprecated/function.tex b/contrib/docs/latex/deprecated/function.tex new file mode 100644 index 0000000000..69cbd2b513 --- /dev/null +++ b/contrib/docs/latex/deprecated/function.tex @@ -0,0 +1,338 @@ +\chapter{Functions}\label{functions} +\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}% +\setfooter{\thepage}{}{}{}{}{\thepage} + +Deprecated functions and macros defined in wxWindows are described here: you can +either look up a function using the alphabetical listing of them or find it in +the corresponding topic. + +\section{Alphabetical functions and macros list} + +%\helpref{wxGetResource}{wxgetresource}\\ +%\helpref{wxLoadUserResource}{wxloaduserresource}\\ +%\helpref{wxMakeMetafilePlaceable}{wxmakemetafileplaceable}\\ +%\helpref{wxNewId}{wxnewid}\\ +\helpref{wxResourceAddIdentifier}{wxresourceaddidentifier}\\ +\helpref{wxResourceClear}{wxresourceclear}\\ +\helpref{wxResourceCreateBitmap}{wxresourcecreatebitmap}\\ +\helpref{wxResourceCreateIcon}{wxresourcecreateicon}\\ +\helpref{wxResourceCreateMenuBar}{wxresourcecreatemenubar}\\ +\helpref{wxResourceGetIdentifier}{wxresourcegetidentifier}\\ +\helpref{wxResourceParseData}{wxresourcedata}\\ +\helpref{wxResourceParseFile}{wxresourceparsefile}\\ +\helpref{wxResourceParseString}{wxresourceparsestring}\\ +\helpref{wxResourceRegisterBitmapData}{registerbitmapdata}\\ +\helpref{wxResourceRegisterIconData}{wxresourceregistericondata}\\ +%\helpref{wxSetPrinterCommand}{wxsetprintercommand}\\ +%\helpref{wxSetPrinterFile}{wxsetprinterfile}\\ +%\helpref{wxSetPrinterMode}{wxsetprintermode}\\ +%\helpref{wxSetPrinterOptions}{wxsetprinteroptions}\\ +%\helpref{wxSetPrinterOrientation}{wxsetprinterorientation}\\ +%\helpref{wxSetPrinterPreviewCommand}{wxsetprinterpreviewcommand}\\ +%\helpref{wxSetPrinterScaling}{wxsetprinterscaling}\\ +%\helpref{wxSetPrinterTranslation}{wxsetprintertranslation}\\ + +\section{Printer settings}\label{printersettings} + +{\bf NB:} These routines are obsolete and should no longer be used! + +The following functions are used to control PostScript printing. Under +Windows, PostScript output can only be sent to a file. + +\wxheading{Include files} + + + +\membersection{::wxGetPrinterCommand}\label{wxgetprintercommand} + +\func{wxString}{wxGetPrinterCommand}{\void} + +Gets the printer command used to print a file. The default is {\tt lpr}. + +\membersection{::wxGetPrinterFile}\label{wxgetprinterfile} + +\func{wxString}{wxGetPrinterFile}{\void} + +Gets the PostScript output filename. + +\membersection{::wxGetPrinterMode}\label{wxgetprintermode} + +\func{int}{wxGetPrinterMode}{\void} + +Gets the printing mode controlling where output is sent (PS\_PREVIEW, PS\_FILE or PS\_PRINTER). +The default is PS\_PREVIEW. + +\membersection{::wxGetPrinterOptions}\label{wxgetprinteroptions} + +\func{wxString}{wxGetPrinterOptions}{\void} + +Gets the additional options for the print command (e.g. specific printer). The default is nothing. + +\membersection{::wxGetPrinterOrientation}\label{wxgetprinterorientation} + +\func{int}{wxGetPrinterOrientation}{\void} + +Gets the orientation (PS\_PORTRAIT or PS\_LANDSCAPE). The default is PS\_PORTRAIT. + +\membersection{::wxGetPrinterPreviewCommand}\label{wxgetprinterpreviewcommand} + +\func{wxString}{wxGetPrinterPreviewCommand}{\void} + +Gets the command used to view a PostScript file. The default depends on the platform. + +\membersection{::wxGetPrinterScaling}\label{wxgetprinterscaling} + +\func{void}{wxGetPrinterScaling}{\param{float *}{x}, \param{float *}{y}} + +Gets the scaling factor for PostScript output. The default is 1.0, 1.0. + +\membersection{::wxGetPrinterTranslation}\label{wxgetprintertranslation} + +\func{void}{wxGetPrinterTranslation}{\param{float *}{x}, \param{float *}{y}} + +Gets the translation (from the top left corner) for PostScript output. The default is 0.0, 0.0. + +\membersection{::wxSetPrinterCommand}\label{wxsetprintercommand} + +\func{void}{wxSetPrinterCommand}{\param{const wxString\& }{command}} + +Sets the printer command used to print a file. The default is {\tt lpr}. + +\membersection{::wxSetPrinterFile}\label{wxsetprinterfile} + +\func{void}{wxSetPrinterFile}{\param{const wxString\& }{filename}} + +Sets the PostScript output filename. + +\membersection{::wxSetPrinterMode}\label{wxsetprintermode} + +\func{void}{wxSetPrinterMode}{\param{int }{mode}} + +Sets the printing mode controlling where output is sent (PS\_PREVIEW, PS\_FILE or PS\_PRINTER). +The default is PS\_PREVIEW. + +\membersection{::wxSetPrinterOptions}\label{wxsetprinteroptions} + +\func{void}{wxSetPrinterOptions}{\param{const wxString\& }{options}} + +Sets the additional options for the print command (e.g. specific printer). The default is nothing. + +\membersection{::wxSetPrinterOrientation}\label{wxsetprinterorientation} + +\func{void}{wxSetPrinterOrientation}{\param{int}{ orientation}} + +Sets the orientation (PS\_PORTRAIT or PS\_LANDSCAPE). The default is PS\_PORTRAIT. + +\membersection{::wxSetPrinterPreviewCommand}\label{wxsetprinterpreviewcommand} + +\func{void}{wxSetPrinterPreviewCommand}{\param{const wxString\& }{command}} + +Sets the command used to view a PostScript file. The default depends on the platform. + +\membersection{::wxSetPrinterScaling}\label{wxsetprinterscaling} + +\func{void}{wxSetPrinterScaling}{\param{float }{x}, \param{float }{y}} + +Sets the scaling factor for PostScript output. The default is 1.0, 1.0. + +\membersection{::wxSetPrinterTranslation}\label{wxsetprintertranslation} + +\func{void}{wxSetPrinterTranslation}{\param{float }{x}, \param{float }{y}} + +Sets the translation (from the top left corner) for PostScript output. The default is 0.0, 0.0. + +\section{Resource functions}\label{resourcefunctions} + +\overview{Resource functions}{resourceformats} + +This section details functions for manipulating wxWindows (.WXR) resource +files and loading user interface elements from resources. + +\normalbox{Please note that this use of the word `resource' is different from that used when talking +about initialisation file resource reading and writing, using such functions +as wxWriteResource and wxGetResource. It is just an unfortunate clash of terminology.} + +\helponly{For an overview of the wxWindows resource mechanism, see \helpref{the wxWindows resource system}{resourceformats}.} + +See also \helpref{wxWindow::LoadFromResource}{wxwindowloadfromresource} for +loading from resource data. + +\membersection{::wxResourceAddIdentifier}\label{wxresourceaddidentifier} + +\func{bool}{wxResourceAddIdentifier}{\param{const wxString\& }{name}, \param{int }{value}} + +Used for associating a name with an integer identifier (equivalent to dynamically\rtfsp +{\tt\#}defining a name to an integer). Unlikely to be used by an application except +perhaps for implementing resource functionality for interpreted languages. + +\membersection{::wxResourceClear}\label{wxresourceclear} + +\func{void}{wxResourceClear}{\void} + +Clears the wxWindows resource table. + +\membersection{::wxResourceCreateBitmap}\label{wxresourcecreatebitmap} + +\func{wxBitmap *}{wxResourceCreateBitmap}{\param{const wxString\& }{resource}} + +Creates a new bitmap from a file, static data, or Windows resource, given a valid +wxWindows bitmap resource identifier. For example, if the .WXR file contains +the following: + +\begin{verbatim} +static const wxString\& project_resource = "bitmap(name = 'project_resource',\ + bitmap = ['project', wxBITMAP_TYPE_BMP_RESOURCE, 'WINDOWS'],\ + bitmap = ['project.xpm', wxBITMAP_TYPE_XPM, 'X'])."; +\end{verbatim} + +then this function can be called as follows: + +\begin{verbatim} + wxBitmap *bitmap = wxResourceCreateBitmap("project_resource"); +\end{verbatim} + +\membersection{::wxResourceCreateIcon}\label{wxresourcecreateicon} + +\func{wxIcon *}{wxResourceCreateIcon}{\param{const wxString\& }{resource}} + +Creates a new icon from a file, static data, or Windows resource, given a valid +wxWindows icon resource identifier. For example, if the .WXR file contains +the following: + +\begin{verbatim} +static const wxString\& project_resource = "icon(name = 'project_resource',\ + icon = ['project', wxBITMAP_TYPE_ICO_RESOURCE, 'WINDOWS'],\ + icon = ['project', wxBITMAP_TYPE_XBM_DATA, 'X'])."; +\end{verbatim} + +then this function can be called as follows: + +\begin{verbatim} + wxIcon *icon = wxResourceCreateIcon("project_resource"); +\end{verbatim} + +\membersection{::wxResourceCreateMenuBar}\label{wxresourcecreatemenubar} + +\func{wxMenuBar *}{wxResourceCreateMenuBar}{\param{const wxString\& }{resource}} + +Creates a new menu bar given a valid wxWindows menubar resource +identifier. For example, if the .WXR file contains the following: + +\begin{verbatim} +static const wxString\& menuBar11 = "menu(name = 'menuBar11',\ + menu = \ + [\ + ['&File', 1, '', \ + ['&Open File', 2, 'Open a file'],\ + ['&Save File', 3, 'Save a file'],\ + [],\ + ['E&xit', 4, 'Exit program']\ + ],\ + ['&Help', 5, '', \ + ['&About', 6, 'About this program']\ + ]\ + ])."; +\end{verbatim} + +then this function can be called as follows: + +\begin{verbatim} + wxMenuBar *menuBar = wxResourceCreateMenuBar("menuBar11"); +\end{verbatim} + + +\membersection{::wxResourceGetIdentifier}\label{wxresourcegetidentifier} + +\func{int}{wxResourceGetIdentifier}{\param{const wxString\& }{name}} + +Used for retrieving the integer value associated with an identifier. +A zero value indicates that the identifier was not found. + +See \helpref{wxResourceAddIdentifier}{wxresourceaddidentifier}. + +\membersection{::wxResourceParseData}\label{wxresourcedata} + +\func{bool}{wxResourceParseData}{\param{const wxString\& }{resource}, \param{wxResourceTable *}{table = NULL}} + +Parses a string containing one or more wxWindows resource objects. If +the resource objects are global static data that are included into the +C++ program, then this function must be called for each variable +containing the resource data, to make it known to wxWindows. + +{\it resource} should contain data in the following form: + +\begin{verbatim} +dialog(name = 'dialog1', + style = 'wxCAPTION | wxDEFAULT_DIALOG_STYLE', + title = 'Test dialog box', + x = 312, y = 234, width = 400, height = 300, + modal = 0, + control = [1000, wxStaticBox, 'Groupbox', '0', 'group6', 5, 4, 380, 262, + [11, 'wxSWISS', 'wxNORMAL', 'wxNORMAL', 0]], + control = [1001, wxTextCtrl, '', 'wxTE_MULTILINE', 'text3', + 156, 126, 200, 70, 'wxWindows is a multi-platform, GUI toolkit.', + [11, 'wxSWISS', 'wxNORMAL', 'wxNORMAL', 0], + [11, 'wxSWISS', 'wxNORMAL', 'wxNORMAL', 0]]). +\end{verbatim} + +This function will typically be used after including a {\tt .wxr} file into +a C++ program as follows: + +\begin{verbatim} +#include "dialog1.wxr" +\end{verbatim} + +Each of the contained resources will declare a new C++ variable, and each +of these variables should be passed to wxResourceParseData. + +\membersection{::wxResourceParseFile}\label{wxresourceparsefile} + +\func{bool}{wxResourceParseFile}{\param{const wxString\& }{filename}, \param{wxResourceTable *}{table = NULL}} + +Parses a file containing one or more wxWindows resource objects +in C++-compatible syntax. Use this function to dynamically load +wxWindows resource data. + +\membersection{::wxResourceParseString}\label{wxresourceparsestring} + +\func{bool}{wxResourceParseString}{\param{char *}{s}, \param{wxResourceTable *}{table = NULL}} + +Parses a string containing one or more wxWindows resource objects. If +the resource objects are global static data that are included into the +C++ program, then this function must be called for each variable +containing the resource data, to make it known to wxWindows. + +{\it resource} should contain data with the following form: + +\begin{verbatim} +dialog(name = 'dialog1', + style = 'wxCAPTION | wxDEFAULT_DIALOG_STYLE', + title = 'Test dialog box', + x = 312, y = 234, width = 400, height = 300, + modal = 0, + control = [1000, wxStaticBox, 'Groupbox', '0', 'group6', 5, 4, 380, 262, + [11, 'wxSWISS', 'wxNORMAL', 'wxNORMAL', 0]], + control = [1001, wxTextCtrl, '', 'wxTE_MULTILINE', 'text3', + 156, 126, 200, 70, 'wxWindows is a multi-platform, GUI toolkit.', + [11, 'wxSWISS', 'wxNORMAL', 'wxNORMAL', 0], + [11, 'wxSWISS', 'wxNORMAL', 'wxNORMAL', 0]]). +\end{verbatim} + +This function will typically be used after calling \helpref{wxLoadUserResource}{wxloaduserresource} to +load an entire {\tt .wxr file} into a string. + +\membersection{::wxResourceRegisterBitmapData}\label{registerbitmapdata} + +\func{bool}{wxResourceRegisterBitmapData}{\param{const wxString\& }{name}, \param{char *}{xbm\_data}, \param{int }{width}, +\param{int }{height}, \param{wxResourceTable *}{table = NULL}} + +\func{bool}{wxResourceRegisterBitmapData}{\param{const wxString\& }{name}, \param{char **}{xpm\_data}} + +Makes {\tt\#}included XBM or XPM bitmap data known to the wxWindows resource system. +This is required if other resources will use the bitmap data, since otherwise there +is no connection between names used in resources, and the global bitmap data. + +\membersection{::wxResourceRegisterIconData}\label{wxresourceregistericondata} + +Another name for \helpref{wxResourceRegisterBitmapData}{registerbitmapdata}. + diff --git a/contrib/docs/latex/deprecated/manual.tex b/contrib/docs/latex/deprecated/manual.tex new file mode 100644 index 0000000000..1fc222cf91 --- /dev/null +++ b/contrib/docs/latex/deprecated/manual.tex @@ -0,0 +1,649 @@ +\documentstyle[a4,11pt,makeidx,verbatim,texhelp,fancyheadings,palatino]{report} +% JACS: doesn't make it through Tex2RTF, sorry. I will put it into texhelp.sty +% since Tex2RTF doesn't parse it. +% BTW, style MUST be report for it to work for Tex2RTF. +%KB: +%\addtolength{\textwidth}{1in} +%\addtolength{\oddsidemargin}{-0.5in} +%\addtolength{\topmargin}{-0.5in} +%\addtolength{\textheight}{1in} +%\sloppy +%end of my changes +\newcommand{\indexit}[1]{#1\index{#1}}% +\newcommand{\pipe}[0]{$\|$\ }% +\definecolour{black}{0}{0}{0}% +\definecolour{cyan}{0}{255}{255}% +\definecolour{green}{0}{255}{0}% +\definecolour{magenta}{255}{0}{255}% +\definecolour{red}{255}{0}{0}% +\definecolour{blue}{0}{0}{200}% +\definecolour{yellow}{255}{255}{0}% +\definecolour{white}{255}{255}{255}% +% +\input psbox.tex +\input ltx.tex +% Remove this for processing with dvi2ps instead of dvips +%\special{!/@scaleunit 1 def} +\parskip=10pt +\parindent=0pt +\title{wxWindows Deprecated Classes} +\winhelponly{\author{by Julian Smart et al +%\winhelponly{\\$$\image{1cm;0cm}{wxwin.wmf}$$} +}} +\winhelpignore{\author{Julian Smart, Robert Roebling, Vadim Zeitlin, +Robin Dunn, et al} +\date{April 2003} +} +\makeindex +\begin{document} +\maketitle +\pagestyle{fancyplain} +\bibliographystyle{plain} +\setheader{{\it CONTENTS}}{}{}{}{}{{\it CONTENTS}} +\setfooter{\thepage}{}{}{}{}{\thepage}% +\pagenumbering{roman} +\tableofcontents + +\chapter{Copyright notice} +\setheader{{\it COPYRIGHT}}{}{}{}{}{{\it COPYRIGHT}}% +\setfooter{\thepage}{}{}{}{}{\thepage}% + +\begin{center} +Copyright (c) 1992-2002 Julian Smart, Robert Roebling, Vadim Zeitlin and other +members of the wxWindows team\\ +Portions (c) 1996 Artificial Intelligence Applications Institute\\ +\end{center} + +Please also see the wxWindows license files (preamble.txt, lgpl.txt, gpl.txt, license.txt, +licendoc.txt) for conditions of software and documentation use. + +\section*{wxWindows Library License, Version 3} + +Copyright (c) 1992-2002 Julian Smart, Robert Roebling, Vadim Zeitlin et al. + +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. + +\begin{center} +WXWINDOWS LIBRARY LICENSE\\ +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION +\end{center} + +This library is free software; you can redistribute it and/or modify it +under the terms of the GNU Library General Public License as published by +the Free Software Foundation; either version 2 of the License, or (at +your option) any later version. + +This library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library +General Public License for more details. + +You should have received a copy of the GNU Library General Public License +along with this software, usually in a file named COPYING.LIB. If not, +write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, +Boston, MA~02111-1307 USA. + +EXCEPTION NOTICE + +1. As a special exception, the copyright holders of this library give +permission for additional uses of the text contained in this release of +the library as licensed under the wxWindows Library License, applying +either version 3 of the License, or (at your option) any later version of +the License as published by the copyright holders of version 3 of the +License document. + +2. The exception is that you may create binary object code versions of any +works using this library or based on this library, and use, copy, modify, +link and distribute such binary object code files unrestricted under terms +of your choice. + +3. If you copy code from files distributed under the terms of the GNU +General Public License or the GNU Library General Public License into a +copy of this library, as this license permits, the exception does not +apply to the code that you add in this way. To avoid misleading anyone as +to the status of such modified files, you must delete this exception +notice from such code and/or adjust the licensing conditions notice +accordingly. + +4. If you write modifications of your own for this library, it is your +choice whether to permit this exception to apply to your modifications. +If you do not wish that, you must delete the exception notice from such +code and/or adjust the licensing conditions notice accordingly. + +\section*{GNU Library General Public License, Version 2} + +Copyright (C) 1991 Free Software Foundation, Inc. +675 Mass Ave, Cambridge, MA 02139, USA + +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. + +[This is the first released version of the library GPL. It is +numbered 2 because it goes with version 2 of the ordinary GPL.] + +\wxheading{Preamble} + +The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software -- to make sure the software is free for all its users. + +This license, the Library General Public License, applies to some +specially designated Free Software Foundation software, and to any +other libraries whose authors decide to use it. You can use it for +your libraries, too. + +When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + +To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if +you distribute copies of the library, or if you modify it. + +For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link a program with the library, you must provide +complete object files to the recipients so that they can relink them +with the library, after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + +Our method of protecting your rights has two steps: (1) copyright +the library, and (2) offer you this license which gives you legal +permission to copy, distribute and/or modify the library. + +Also, for each distributor's protection, we want to make certain +that everyone understands that there is no warranty for this free +library. If the library is modified by someone else and passed on, we +want its recipients to know that what they have is not the original +version, so that any problems introduced by others will not reflect on +the original authors' reputations. + +Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that companies distributing free +software will individually obtain patent licenses, thus in effect +transforming the program into proprietary software. To prevent this, +we have made it clear that any patent must be licensed for everyone's +free use or not licensed at all. + +Most GNU software, including some libraries, is covered by the ordinary +GNU General Public License, which was designed for utility programs. This +license, the GNU Library General Public License, applies to certain +designated libraries. This license is quite different from the ordinary +one; be sure to read it in full, and don't assume that anything in it is +the same as in the ordinary license. + +The reason we have a separate public license for some libraries is that +they blur the distinction we usually make between modifying or adding to a +program and simply using it. Linking a program with a library, without +changing the library, is in some sense simply using the library, and is +analogous to running a utility program or application program. However, in +a textual and legal sense, the linked executable is a combined work, a +derivative of the original library, and the ordinary General Public License +treats it as such. + +Because of this blurred distinction, using the ordinary General +Public License for libraries did not effectively promote software +sharing, because most developers did not use the libraries. We +concluded that weaker conditions might promote sharing better. + +However, unrestricted linking of non-free programs would deprive the +users of those programs of all benefit from the free status of the +libraries themselves. This Library General Public License is intended to +permit developers of non-free programs to use free libraries, while +preserving your freedom as a user of such programs to change the free +libraries that are incorporated in them. (We have not seen how to achieve +this as regards changes in header files, but we have achieved it as regards +changes in the actual functions of the Library.) The hope is that this +will lead to faster development of free libraries. + +The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, while the latter only +works together with the library. + +Note that it is possible for a library to be covered by the ordinary +General Public License rather than by this special one. + +\begin{center} + GNU LIBRARY GENERAL PUBLIC LICENSE\\ + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION +\end{center} + +0. This License Agreement applies to any software library which +contains a notice placed by the copyright holder or other authorized +party saying it may be distributed under the terms of this Library +General Public License (also called "this License"). Each licensee is +addressed as "you". + +A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + +The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + +"Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + +1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + +You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + +2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + +\begin{indented}{1cm} +a) The modified work must itself be a software library. + +b) You must cause the files modified to carry prominent notices +stating that you changed the files and the date of any change. + +c) You must cause the whole of the work to be licensed at no +charge to all third parties under the terms of this License. + +d) If a facility in the modified Library refers to a function or a +table of data to be supplied by an application program that uses +the facility, other than as an argument passed when the facility +is invoked, then you must make a good faith effort to ensure that, +in the event an application does not supply such function or +table, the facility still operates, and performs whatever part of +its purpose remains meaningful. + +(For example, a function in a library to compute square roots has +a purpose that is entirely well-defined independent of the +application. Therefore, Subsection 2d requires that any +application-supplied function or table used by this function must +be optional: if the application does not supply it, the square +root function must still compute square roots.) +\end{indented} + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + +3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + +Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + +This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + +4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + +If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + +5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + +However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + +When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + +If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + +Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + +6. As an exception to the Sections above, you may also compile or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + +You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + +\begin{indented}{1cm} +a) Accompany the work with the complete corresponding +machine-readable source code for the Library including whatever +changes were used in the work (which must be distributed under +Sections 1 and 2 above); and, if the work is an executable linked +with the Library, with the complete machine-readable "work that +uses the Library", as object code and/or source code, so that the +user can modify the Library and then relink to produce a modified +executable containing the modified Library. (It is understood +that the user who changes the contents of definitions files in the +Library will not necessarily be able to recompile the application +to use the modified definitions.) + +b) Accompany the work with a written offer, valid for at +least three years, to give the same user the materials +specified in Subsection 6a, above, for a charge no more +than the cost of performing this distribution. + +c) If distribution of the work is made by offering access to copy +from a designated place, offer equivalent access to copy the above +specified materials from the same place. + +d) Verify that the user has already received a copy of these +materials or that you have already sent this user a copy. +\end{indented} + +For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the source code distributed need not include anything that is normally +distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + +It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + +7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + +\begin{indented}{1cm} +a) Accompany the combined library with a copy of the same work +based on the Library, uncombined with any other library +facilities. This must be distributed under the terms of the +Sections above. + +b) Give prominent notice with the combined library of the fact +that part of it is a work based on the Library, and explaining +where to find the accompanying uncombined form of the same work. +\end{indented} + +8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + +9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + +10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + +11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + +12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + +13. The Free Software Foundation may publish revised and/or new +versions of the Library General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + +14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + +\begin{center} +NO WARRANTY +\end{center} + +15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + +\begin{center} +END OF TERMS AND CONDITIONS +\end{center} + +\wxheading{Appendix: How to Apply These Terms to Your New Libraries} + +If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + +To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + +\footnotesize{ +\begin{verbatim} + +Copyright (C) + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with this library; if not, write to the Free +Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +\end{verbatim} +} + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + +\footnotesize{ +\begin{verbatim} +Yoyodyne, Inc., hereby disclaims all copyright interest in the +library `Frob' (a library for tweaking knobs) written by James Random Hacker. + +, 1 April 1990 +Ty Coon, President of Vice +\end{verbatim} +} + +That's all there is to it! + +\chapter{Introduction}\label{introduction} +\pagenumbering{arabic}% +\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}% +\setfooter{\thepage}{}{}{}{}{\thepage}% + +This manual contains documentation for classes that are +now obsolete. + +\input classes.tex +\input function.tex +\input category.tex +\input topics.tex +\input proplist.tex + +\newpage + +% Note: In RTF, the \printindex must come before the +% change of header/footer, since the \printindex inserts +% the RTF \sect command which divides one chapter from +% the next. +\rtfonly{\printindex +\addcontentsline{toc}{chapter}{Index} +\setheader{{\it INDEX}}{}{}{}{}{{\it INDEX}}% +\setfooter{\thepage}{}{}{}{}{\thepage} +} +% In Latex, it must be this way around (I think) +\latexonly{\addcontentsline{toc}{chapter}{Index} +\setheader{{\it INDEX}}{}{}{}{}{{\it INDEX}}% +\setfooter{\thepage}{}{}{}{}{\thepage} +\printindex +} + +\end{document} diff --git a/contrib/docs/latex/deprecated/prop1.bmp b/contrib/docs/latex/deprecated/prop1.bmp new file mode 100644 index 0000000000000000000000000000000000000000..92c6beec8bc0d6a4d69d23cbd914cca994c40b55 GIT binary patch literal 29238 zcmeHQyKdY@6r~dbTc}WwBDJB)P-`HKnjl%gMG)*Sq;ky!K~{wUEnL{@k}h$R!lhaV zNTI^|gnWg7G{P1OtUBhLI}eh}JACX8mn=A|-61b$?mayBlJnq0-~RCR&xxd8@%tR# zubw2yzsR2?Pep$BlVtMq1%CN8=~I&6FZuMzWcbBma(8!^tX3;*$mB1{GA`kZ4@LYL zQM$YyOIjsY%dw;hi|&bumx&jh0bM%9OPH4{GzG(_?UFva)L|Y+n!4uDVtG0rE`2j1 zEH7=#oQ!~%ms^R2%N)xh+sw1gBI9Q>Uu5`$Aj6u7un0-k-IG+dm_v22Y84C0F7Vml zV>2vp4T_NASJr|W0~3`Aek?)C}AT@bogS^9ZP0nupwU3q=cosy8)vCak*}3 zjl47@#7mOQio66X6twN(qoCS+!^$lp(~KWb zfo#2AOUBiM(;8Z+Q!-uKcBlVRz>*OQNMZHEQvnO;R`pe}B#sxs!d(HH!xObwW!zsa zRk55hUL<6aQ+Nw5Uh7pgbzvE`SY^o6q+l`SV%S$LhJ_U@LP89ugl&elRIr2!9zi}~ z(Mg_oY0FFCq^MVqDphKhNQ{rzp4z50Ol<2dh!=DL(6I~F zsA6$N!*yJV*tvqmfM9!lzlCXR8720yyy(*(n`Fz@w9EH^;&yK?HIkT zW(5mdW;w}4KG*TQ85%HJfJeguAcDr))v_uUJDz6UsBHk0g$Az{SQU#IPrJU9hJR0) zaeYl?1&b{mnHP3k8hEZ?apP&`;jU@T-i0=y1&6&!{y6G=_k#wi*BgUHd*4uPj|wL1!@f{3&SEW= z#uGvu3{FcG3s2PSvtyjZ#@d{>ab~a=n9aEOv~K>|=`QEc$tDR?>Y>w26$=_gX{UMN z)Hl~SN4YheJY}tHsd)|c=T&b=G00iba~;W(0W&hXqs4fj9&&rF)dh zSUBk{r)`o2p14(bshz*h?H8Abg|$7`#f`EIETwz505)2ImFa;h2$E?!fU>6_8v zfqj$G>JPB+@(cDZ)OBFI6z^#hUJAN|6uIx}kUhj#-X{i+Ca85qy-+5^_-TQMyb?hT$cZ zWx*o-@qVthU8RT@4GUNy7X}NKxk6qD1NQ;*6FUhOm|-gMVrX%^n6<&Mm=N*D5myZs z-lH$KNgs_D8zLSHBW5Tp;31C}deHF#N-$LE<4SQTUPwcJ91#nW;U%_fyuKh7+6EQg zM-EHljqF}^=Y1?5Wg$aw!6?pOK(YMoHls(Q01+w1Tquj8=Qq#xG`Wj>U#?z)tCYSI35>+hlofrDaSqe|UJfzqq}Ad>LE9inn-r;YqNSZ|{$Rd1Gdxtlo^AW-XV?=qZ zFI~fftV@oneIJu)KQp>c`Jtym+yL1%C1X94yLs1sTT43txl} zXSRppT~fdTufb`S7fd~@K07-*v%0+_#8q?_3^RVrm3`pzSm@2JKC18{gJ*|j`!0KY zc7F4WyNdrWAwg?n*W6klj)7R>8L%XT2*|`PzmL08@ ze`dKW951$PzG0`bvZ`Py#mnnoPOi_NKR>UI function + /rgbdata exch store % call input 'rgbdata' + rgbdata length 3 idiv + /npixls exch store + /rgbindx 0 store + /grays npixls string store % str to hold the result + 0 1 npixls 1 sub { + grays exch + rgbdata rgbindx get 20 mul % Red + rgbdata rgbindx 1 add get 32 mul % Green + rgbdata rgbindx 2 add get 12 mul % Blue + add add 64 idiv % I = .5G + .31R + .18B + put + /rgbindx rgbindx 3 add store + } for + grays + } bind def + + % Utility procedure for colorimage operator. + % This procedure takes two procedures off the + % stack and merges them into a single procedure. + + /mergeprocs { % def + dup length + 3 -1 roll + dup + length + dup + 5 1 roll + 3 -1 roll + add + array cvx + dup + 3 -1 roll + 0 exch + putinterval + dup + 4 2 roll + putinterval + } bind def + + /colorimage { % def + pop pop % remove 'false 3' operands + {colortogray} mergeprocs + image + } bind def + } ifelse % end of 'false' case + + + +% define the colormap +/cmap 42 string def + + +% load up the colormap +currentfile cmap readhexstring +000000 bf0000 00bf00 bfbf00 0000bf 00bfbf c0c0c0 808080 ff0000 00ff00 +ffff00 0000ff 00ffff ffffff +pop pop % lose return values from readhexstring + + +% rlecmapimage expects to have 'w h bits matrix' on stack +/rlecmapimage { + /buffer 1 string def + /rgbval 3 string def + /block 384 string def + + % proc to read a block from file, and return RGB data + { currentfile buffer readhexstring pop + /bcount exch 0 get store + bcount 128 ge + { % it's a non-run block + 0 1 bcount 128 sub + { currentfile buffer readhexstring pop pop + + % look up value in color map + /rgbval cmap buffer 0 get 3 mul 3 getinterval store + + % and put it in position i*3 in block + block exch 3 mul rgbval putinterval + } for + block 0 bcount 127 sub 3 mul getinterval + } + + { % else it's a run block + currentfile buffer readhexstring pop pop + + % look up value in colormap + /rgbval cmap buffer 0 get 3 mul 3 getinterval store + + 0 1 bcount { block exch 3 mul rgbval putinterval } for + + block 0 bcount 1 add 3 mul getinterval + } ifelse + } % end of proc + false 3 colorimage +} bind def + + +278 208 8 % dimensions of data +[278 0 0 -208 0 208] % mapping matrix +rlecmapimage + +7f067f0614060000 +81060d7f0d7f0d110d810700 +82060d067f067f061006810700 +82060d067f067f061006810700 +82060d068106047f047f040c040106810700 +82060d068106048204060d820d060783070d0702010203098102047f047a040106810700 + +82060d068106048704060b060001020781070283020702098109028102047f0446040e0d +81000d0d0d81000481040d0d0d81000481040682060700 +82060d0681060482040806810600820002078507020902070201028109047f044604810d +060b068307000d060b068207000482040d060b068207000481040682060700 +82060d0681060481040685060800040307820702098409020702098109040104050d2d04 +030d0204010d1a04050d6604810d060b068307000d06810600070001068207000482040d +060b068207000481040682060700 +82060d068106048704060b0604000a0789070209020702070209040104010d0204010d1d +04010d0b04010d0104010d0104010d1204010d0704010d1004010d5504810d060b068307 +000d06810600070001068207000482040d06010601000306010001068207000481040682 +060700 +82060d068106048204070681060001000107010286070209020702040104010d0204010d +1d04010d0b04010d0504010d1204010d0704010d1004010d5504810d060b068307000d06 +820600060506810006830607000482040d06020601000106010002068207000481040682 +060700 +82060d0681060485040d0607060d010d8407020002090109820200040104010d0204010d +81040d010d0104030d0104040d0204030d0104020d81040d010d81040d820d040d810d04 +0304010d0504040d0204030d0204030d0104020d0604010d0404030d0204020d0104020d +5404810d060b068307000d06820600060506810006830607000482040d06030603000306 +8207000481040682060700 +82060d068106048104070507010006020204050d0104010d0104010d0104010d81040d81 +0d0481040d820d040d810d0481040d820d040d810d0481040d810d0481040d820d040d81 +0d040404030d0204020d81040d820d040d810d0481040d820d040d810d0481040d820d04 +0d810d040604010d0304010d0104010d81040d820d040d820d040d810d045404810d060b +068307000d06820600060506810006830607000482040d06040601000406820700048104 +0682060700 +82060d068106048104050505010006030204010d0504010d0104010d0104010d81040d81 +0d0481040d820d040d040d81040d810d0481040d810d0481040d820d040d810d04070401 +0d0104010d0104010d81040d040d81040d040d81040d810d040604010d0304050d010401 +0d0204010d5504810d060b068307000d06820600060506810006830607000482040d0603 +06030003068207000481040682060700 +82060d0681060481040c010c8205080c830c05030a020a81030a810a040104010d050401 +0d0104010d0104010d81040d810d0481040d820d040d810d040304010d0104010d010401 +0d81040d810d040704010d0104010d0104010d81040d810d040304010d0404010d070401 +0d0304010d0604010d0104010d5504810d060b068307000d068206000605068100068306 +07000482040d06020601000106010002068207000481040682060700 +82060d068106048c040c05070507050c05030a030a840a03000a040104010d0504010d01 +04010d0104010d81040d810d0481040d820d040d810d0481040d820d040d810d0481040d +810d040104020d0504010d0104010d0104010d0104010d81040d810d0481040d820d040d +810d0481040d820d040d810d040604010d0304010d0104010d81040d820d040d820d040d +810d045404810d060106050003068307000d06820600060506810006830607000482040d +06010601000306010001068207000481040682060700 +82060d0681060482040c08020886070c05030a030a010a82030a040104010d0504010d02 +04030d0104040d0204030d0104010d0204010d0104010d0704030d0204010d0104010d01 +04030d0204030d0204010d0604010d0404030d0204020d0204010d5404810d0601060500 +03068307000d06810600070001068207000482040d060b068207000481040682060700 +82060d0681060482040c080208010c8205030a810a0384030a030a041404010d1404010d +7f041804810d060b068307000d060b068207000482040d060b0682070004810406820607 +00 +82060d0681060482040c080308850c05030a030a010a82000a041404010d1204020d7f04 +1904810d070c0782000d070c0781000482040d070c0781000481040682060700 +82060d0681060483040c05080208850c05030a030a810a0382030a047f0446041f000104 +0f0001040106810700 +82060d0681060481040c050c8205030a050a7f047b040106810700 +82060d068106047f047f040c040106810700 +82060d067f067f061006810700 +82060d067f067f061006810700 +82060d0637067f073907810d061c06810700 +82060d06030616000306160001068107007f00360082060d0681060015000406810700 +82060d06020681000d140d820700068206000d140d8507000607000d7f0d350d84060d06 +000d140d820700060206810700 +82060d06020682000d06120601078100068306000d061206010784000607000d7f0d350d +84060d06000d130d01078100060206810700 +82060d06020682000d06120601078100068306000d061206010784000607000d7f0d350d +84060d06000d810d06110601078100060206810700 +82060d06020682000d06120601078100068306000d061206010784000607000d7f0d350d +84060d06000d810d06110601078100060206810700 +82060d06020682000d0603068100060606810006030601078100068306000d0612060107 +84000607000d820d000d7f0d320d84060d06000d810d06110601078100060206810700 +82060d06020682000d06030683000600060306810006040601078100068306000d061206 +010785000607000d0081000d7f0d320d84060d06000d810d061106010781000602068107 +00 +82060d06020682000d06040683000600060106810006050601078100068306000d060b06 +8100060406010785000607000d000100810d0081000d820d000d810d0081000d810d0002 +007f0d220d84060d06000d810d06110601078100060206810700 +82060d06020682000d06050685000600060006060601078100068306000d060a06830006 +00060306010785000607000d0081000d810d0082000d000100810d0082000d0081000d81 +0d0081000d7f0d200d84060d06000d810d06110601078100060206810700 +82060d06020682000d0606068300060006070601078100068306000d0609068300060006 +0406010785000607000d0081000d810d0082000d000100810d0082000d0081000d810d00 +81000d7f0d200d84060d06000d810d06110601078100060206810700 +82060d06020682000d0607068300060006060601078100068306000d0604068100060106 +83000600060506010785000607000d0081000d010d0200810d000100010d0100010d0100 +7f0d210d84060d06000d810d06110601078100060206810700 +82060d06020682000d06060685000600060006050601078100068306000d060306870006 +0006000600060606010785000607000d0081000d010d0200810d000100010d0100010d01 +007f0d210d84060d06000d810d06110601078100060206810700 +82060d06020682000d06050681000601068300060006040601078100068306000d060406 +850006000600060706010784000607000d810d0081000d810d0081000d010d0100020d03 +007f0d220d84060d06000d810d0603060100810600820006008100060406010781000602 +06810700 +82060d06020682000d06040681000603068300060006030601078100068306000d060506 +83000600060806010784000607000d7f0d350d84060d06000d810d060306010081060082 +000600810006040601078100060206810700 +82060d06020682000d060306010005060100040601078100068306000d06060681000609 +06010784000607000d7f0d350d84060d06000d810d06110601078100060206810700 +82060d06020682000d06120601078100068306000d061206010784000607000d7f0d350d +84060d06000d810d06110601078100060206810700 +82060d06020682000d06120601078100068306000d061206010784000607000d7f0d350d +84060d06000d810d06110601078100060206810700 +82060d06020682000d0714078100068306000d07140784000607000d7f0d350d85060d06 +000d0714078100060206810700 +82060d06020682000d0714078100068306000d07140784000607000d7f0d350d84060d06 +000715078100060206810700 +82060d06030616000306160001068207000d7f0d350d82060d0681060015000406810700 + +82060d0637068107067f063706810d061c06810700 +82060d0637067f0d3a0d1d06810700 +82060d0601067f077f070a07810d060106810700 +82060d0601068107007f007f00070082060d060106810700 +82060d0601068207000d7f0d7f0d060d82060d060106810700 +82060d0601068207000d7f0d7f0d060d82060d060106810700 +82060d0601068207000d7f0d7f0d060d82060d060106810700 +82060d0601068207000d7f0d7f0d060d82060d060106810700 +82060d0601068207000d7f0d7f0d060d82060d060106810700 +82060d0601068207000d010d0300010d0400020d03007f0d720d82060d060106810700 +82060d0601068207000d810d0081000d810d0082000d0081000d810d0082000d0081000d +810d0081000d7f0d700d82060d060106810700 +82060d0601068207000d810d0081000d810d0082000d0081000d810d0082000d0004007f +0d710d82060d060106810700 +82060d0601068207000d810d0081000d810d0082000d0081000d810d0082000d0081000d +7f0d740d82060d060106810700 +82060d0601068207000d810d0081000d810d0082000d0081000d810d0082000d0081000d +810d0081000d7f0d700d82060d060106810700 +82060d0601068207000d010d0300010d0100010d0100010d03007f0d720d82060d060106 +810700 +82060d0601068207000d7f0d7f0d060d82060d060106810700 +82060d0601068207000d7f0d7f0d060d82060d060106810700 +82060d0601068207000d7f0d7f0d060d82060d060106810700 +82060d060106ff0700040a040a040a040a040a040a040a040a040a040a040a040a040a04 +0a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a04 +0a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a04 +0a040a040a040a040a040a040a040a040a040a040a040a040a040aff040a040a040a040a +040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a +040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a +040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a +040a040a040a040a040a040a8c040a040a040a040a040a060d060106810700 +82060d0601068307000a047f047f04050482060d060106810700 +82060d060106820700047f047f040504830a060d060106810700 +82060d0601068307000a0482040d047f047f04020482060d060106810700 +82060d0601068207000481040d810d047f047f040104830a060d060106810700 +82060d0601068307000a0d020d81040d810d0482040d0481040d810d0481040d020d7f04 +720482060d060106810700 +82060d0601068207000481040d810d0481040d820d040d010d81040d820d040d810d0481 +040d810d047f046f04830a060d060106810700 +82060d0601068407000a040d810d0481040d820d040d010d81040d820d040d810d048104 +0d810d047f04700482060d060106810700 +82060d0601068207000481040d810d040104020d81040d010d0104010d0104010d7f0470 +04830a060d060106810700 +82060d0601068407000a040d810d040104020d81040d010d0104010d0104010d7f047104 +82060d060106810700 +82060d060106820700040104010d0104010d0204010d0204030d7f047104830a060d0601 +06810700 +82060d0601068307000a047f047f04050482060d060106810700 +82060d060106820700047f047f040504830a060d060106810700 +82060d060106ff07000a040a040a040a040a040a040a040a040a040a040a040a040a040a +040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a +040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a +040a040a040a040a040a040a040a040a040a040a040a040a040a04ff0a040a040a040a04 +0a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a04 +0a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a04 +0a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a04 +0a040a040a040a040a040a048c0a040a040a040a040a04060d060106810700 +82060d0601068207000d7f0d7f0d060d82060d060106810700 +82060d0601068207000d7f0d7f0d060d82060d060106810700 +82060d0601068207000d7f0d7f0d060d82060d060106810700 +82060d0601068207000d010d81000d810d0081000d7f0d7e0d82060d060106810700 +82060d0601068207000d810d0081000d810d0081000d7f0d7e0d82060d060106810700 +82060d0601068307000d000200810d000300010d0300010d0300020d03007f0d690d8206 +0d060106810700 +82060d0601068207000d810d0081000d810d0081000d810d0082000d0081000d010d0100 +010d0100810d0081000d810d0081000d7f0d670d82060d060106810700 +82060d0601068207000d810d0081000d810d0081000d810d0082000d0081000d010d0500 +810d0004007f0d680d82060d060106810700 +82060d0601068207000d810d0081000d810d0081000d810d0082000d0081000d010d0100 +040d01007f0d6c0d82060d060106810700 +82060d0601068207000d810d0081000d810d0081000d810d0082000d0081000d010d0100 +010d0100810d0081000d810d0081000d7f0d670d82060d060106810700 +82060d0601068207000d010d0100810d0081000d810d0082000d0081000d020d0300020d +03007f0d690d82060d060106810700 +82060d0601068207000d7f0d7f0d060d82060d060106810700 +82060d0601068207000d7f0d7f0d060d82060d060106810700 +82060d0601068207000d7f0d7f0d060d82060d060106810700 +82060d0601068207000d7f0d7f0d060d82060d060106810700 +82060d0601068207000d7f0d7f0d060d82060d060106810700 +82060d0601068207000d7f0d7f0d060d82060d060106810700 +82060d0601068207000d7f0d7f0d060d82060d060106810700 +82060d0601068207000d7f0d7f0d060d82060d060106810700 +82060d0601068207000d7f0d7f0d060d82060d060106810700 +82060d0601068207000d7f0d7f0d060d82060d060106810700 +82060d0601068207000d7f0d7f0d060d82060d060106810700 +82060d0601068207000d7f0d7f0d060d82060d060106810700 +82060d0601068207000d7f0d7f0d060d82060d060106810700 +82060d0601068207000d7f0d7f0d060d82060d060106810700 +82060d0601068207000d7f0d7f0d060d82060d060106810700 +82060d0601068207000d7f0d7f0d060d82060d060106810700 +82060d0601068207000d7f0d7f0d060d82060d060106810700 +82060d0601068107067f067f060806810d060106810700 +82060d0601067f0d7f0d0b0d0206810700 +82060d067f067f061006810700 +82060d067f067f061006810700 +82060d0601067f077f070b070206810700 +82060d0601068107007f007f000800810d060106810700 +82060d0601068207000d7f0d760d0e060100810d060106810700 +82060d0601068207000d7f0d760d81060d0b0d81070082000d060106810700 +82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700 +82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700 +82060d0601068207000d1c0d0100120d01000e0d81000d6b0d0400400d82060d060a0681 +070082000d060106810700 +82060d0601068207000d010d81000d190d81000d120d81000d7b0d85000d000d000d3f0d +82060d060a0681070082000d060106810700 +82060d0601068207000d810d000300030d0200010d0100010d0100020d0100810d008400 +0d000d0081000d090d0300010d82000d0081000d020d0200020d0200040d0300020d0200 +5f0d81000d020d0100810d0082000d0081000d810d0081000d010d02002c0d82060d0603 +06810006040681070082000d060106810700 +82060d0601068207000d010d81000d040d81000d010d81000d820d000d010d81000d820d +000d810d0081000d810d0081000d820d000d070d81000d010d81000d810d0081000d820d +000d820d000d010d81000d020d81000d020d81000d010d81000d820d000d010d81000d5d +0d81000d030d0100030d81000d010d81000d820d000d010d81000d2a0d82060d06020602 +00040681070082000d060106810700 +82060d0601068207000d010d81000d040d81000d010d81000d820d000d010d81000d820d +000d010d81000d820d000d010d81000d070d81000d040d81000d010d81000d820d000d01 +0d81000d020d81000d020d81000d040d04005e0d81000d030d81000d030d81000d010d81 +000d810d0003002b0d82060d0601060400030681070082000d060106810700 +82060d0601068207000d010d81000d010d81000d820d000d010d81000d820d000d810d00 +81000d820d000d010d81000d820d000d010d81000d070d81000d040d81000d010d81000d +820d000d010d81000d020d81000d020d81000d040d81000d610d81000d030d81000d030d +81000d810d0081000d820d000d2e0d82060d068106000500020681070082000d06010681 +0700 +82060d0601068207000d020d0200030d0200030d0100810d0081000d810d000200810d00 +0100810d000100080d0300810d000100810d000100010d0200020d0400020d0300020d03 +005d0d0200020d0300030d0100810d0081000d810d0002002b0d82060d060a0681070082 +000d060106810700 +82060d0601068207000d1a0d81000d7f0d590d82060d060a0681070082000d0601068107 +00 +82060d0601068207000d170d02007f0d5b0d82060d060a0681070082000d060106810700 + +82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700 +82060d0601068207000d7f0d760d8106070c070100810d060106810700 +82060d0601068207000d7f0d760d1000810d060106810700 +82060d0601068207000d7f0d760d92060d060d060d060d060d060d060d060d000d060106 +810700 +82060d0601068207000d7f0d770d91060d060d060d060d060d060d060d06000d06010681 +0700 +82060d0601068207000d030d81000d7f0d2d0d81000d020d0300390d92060d060d060d06 +0d060d060d060d060d000d060106810700 +82060d0601068207000d7f0d320d0100030d81000d3c0d91060d060d060d060d060d060d +060d06000d060106810700 +82060d0601068207000d010d0200040d0200010d0100810d0081000d7f0d1c0d83000d00 +0d020d81000d3b0d92060d060d060d060d060d060d060d060d000d060106810700 +82060d0601068207000d030d81000d020d81000d010d81000d810d0081000d820d000d7f +0d1a0d81000d820d000d020d02003b0d91060d060d060d060d060d060d060d06000d0601 +06810700 +82060d0601068207000d030d81000d030d0300010d81000d010d81000d7f0d1a0d040005 +0d81000d380d92060d060d060d060d060d060d060d060d000d060106810700 +82060d0601068207000d030d81000d020d81000d010d81000d820d000d010d81000d7f0d +1d0d81000d010d81000d010d81000d380d0e060100810d060106810700 +82060d0601068207000d010d0400010d0800810d0001007f0d1c0d0200020d02003a0d81 +060d0b0d81070082000d060106810700 +82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700 +82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700 +82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700 +82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700 +82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700 +82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700 +82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700 +82060d0601068207000d810d0081000d060d81000d030d0100040d01007f0d170d020003 +0d0300390d82060d060a0681070082000d060106810700 +82060d0601068207000d010d81000d0d0d81000d040d81000d7f0d150d81000d010d8100 +0d010d81000d3b0d82060d060a0681070082000d060106810700 +82060d0601068207000d010d82000d0081000d010d0200050d81000d040d81000d7f0d18 +0d81000d020d81000d3b0d82060d060a0681070082000d060106810700 +82060d0601068207000d010d0100010d81000d020d81000d040d81000d040d81000d7f0d +170d81000d030d02003a0d82060d060a0681070082000d060106810700 +82060d0601068207000d010d81000d010d81000d020d81000d040d81000d040d81000d7f +0d160d81000d070d81000d380d82060d060a0681070082000d060106810700 +82060d0601068207000d010d81000d010d81000d020d81000d040d81000d040d81000d7f +0d150d81000d040d81000d010d81000d380d82060d060a0681070082000d060106810700 + +82060d0601068207000d810d000300020d0400010d0400010d04007f0d140d0400020d02 +003a0d82060d060a0681070082000d060106810700 +82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700 +82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700 +82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700 +82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700 +82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700 +82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700 +82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700 +82060d0601068207000d030d81000d0a0d0100050d81000d7f0d5b0d82060d060a068107 +0082000d060106810700 +82060d0601068207000d110d81000d7f0d620d82060d060a0681070082000d0601068107 +00 +82060d0601068207000d010d0300010d0100010d0100030d81000d020d0200040d020001 +0d0100810d0081000d7f0d070d0200010d0100810d0081000d020d0200330d82060d060a +0681070082000d060106810700 +82060d0601068207000d040d81000d010d81000d010d81000d020d81000d040d81000d02 +0d81000d010d81000d810d0081000d820d000d7f0d050d81000d010d81000d810d008100 +0d820d000d820d000d010d81000d310d82060d060a0681070082000d060106810700 +82060d0601068207000d040d81000d010d81000d010d81000d020d81000d040d81000d03 +0d0300010d81000d010d81000d7f0d050d81000d010d81000d820d000d010d81000d810d +000300320d82060d060a0681070082000d060106810700 +82060d0601068207000d040d81000d010d81000d810d0081000d020d81000d040d81000d +020d81000d010d81000d820d000d010d81000d7f0d050d81000d010d81000d820d000d01 +0d81000d820d000d350d82060d060a0681070082000d060106810700 +82060d0601068207000d040d81000d020d0100810d0082000d000300010d0400010d0800 +810d0001007f0d060d0200010d0200810d000100010d0300320d82060d060a0681070082 +000d060106810700 +82060d0601068207000d040d81000d7f0d6f0d82060d060a0681070082000d0601068107 +00 +82060d0601068207000d010d02007f0d710d82060d060a0681070082000d060106810700 + +82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700 +82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700 +82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700 +82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700 +82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700 +82060d0601068207000d810d0081000d060d81000d7f0d690d82060d060a068107008200 +0d060106810700 +82060d0601068207000d010d81000d0b0d81000d7f0d640d82060d060a0681070082000d +060106810700 +82060d0601068207000d010d82000d0081000d010d0200020d0400010d0200820d000d02 +0d0200010d0100810d0081000d7f0d050d0100810d0081000d020d0200010d0100810d00 +81000d020d02002c0d82060d060a0681070082000d060106810700 +82060d0601068207000d010d0100010d81000d020d81000d020d81000d040d85000d000d +000d820d000d010d81000d810d0081000d820d000d7f0d050d0100010d81000d820d000d +010d81000d810d0081000d820d000d820d000d010d81000d2a0d82060d060a0681070082 +000d060106810700 +82060d0601068207000d010d81000d010d81000d020d81000d020d81000d040d85000d00 +0d000d010d0300010d81000d010d81000d7f0d050d81000d010d81000d820d000d010d81 +000d820d000d010d81000d810d0003002b0d82060d060a0681070082000d060106810700 + +82060d0601068207000d010d81000d010d81000d020d81000d020d81000d010d81000d86 +0d000d000d000d820d000d010d81000d820d000d010d81000d7f0d050d81000d010d8100 +0d820d000d010d81000d820d000d010d81000d820d000d2e0d82060d060a068107008200 +0d060106810700 +82060d0601068207000d810d000300020d0400020d0200010d0600810d000400810d0002 +007f0d060d0200810d000100010d0200010d0200810d000100010d03002b0d8106070c07 +0100810d060106810700 +82060d0601068207000d240d81000d7f0d4f0d1000810d060106810700 +82060d0601068207000d230d02007f0d4f0d0e060100810d060106810700 +82060d0601068207000d7f0d760d81060d0b0d81070082000d060106810700 +82060d060106820700047f04760482060d060a0681070082000d060106810700 +82060d060106820700047f04760482060d060a0681070082000d060106810700 +82060d060106820700047f04760482060d060a0681070082000d060106810700 +82060d060106820700047f04760482060d060a0681070082000d060106810700 +82060d060106820700043404810d041304010d7f04290482060d06810600050002068107 +0082000d060106810700 +82060d060106820700041d04810d042b04810d046204810d04430482060d060106040003 +0681070082000d060106810700 +82060d060106820700040204030d0204020d0104010d81040d810d040204030d81040d03 +0d0204010d81040d810d040104020d0204020d0204010d81040d810d040204020d030401 +0d82040d046104040d0104020d81040d010d0104020d330482060d060206020004068107 +0082000d060106810700 +82060d060106820700040104810d040104810d0482040d040104810d0481040d810d0482 +040d0482040d040404810d040504010d0304810d040104810d040204810d040204010d01 +04810d0482040d040104810d0482040d0481040d810d046204810d040404810d04010481 +0d0482040d040104810d04310482060d060306810006040681070082000d060106810700 + +82060d060106820700040104810d040404810d040104810d0482040d040104810d040104 +020d0204810d040504810d040404030d0304810d040204810d040104810d0481040d030d +0104810d040104810d046204810d040404850d040d040d0482040d040104810d04310482 +060d060a0681070082000d060106810700 +82060d060106820700040104810d040404810d040104810d0482040d040104810d040404 +810d0482040d040104810d040104810d040304810d040104810d040204810d040204810d +040104810d0482040d040404810d040104810d046204810d040104810d0486040d040d04 +0d0482040d040104810d04310482060d060a0681070082000d060106810700 +82060d060106820700040204030d0204020d0104020d81040d010d81040d020d0304020d +0204030d0204050d81040d030d81040d010d81040d010d0104030d0204040d6304020d03 +04830d040d040204020d330482060d060a0681070082000d060106810700 +82060d060106820700047f04760482060d060a0681070082000d060106810700 +82060d060106820700047f0476048106070c070100810d060106810700 +82060d060106820700047f0476041000810d060106810700 +82060d0601068107067f0677061000810d060106810700 +82060d0601067f0d7f0d0b0d0206810700 +82060d067f067f061006810700 +82060d067f067f061006810700 +82060d067f067f061006810700 +82060d067f067f061006810700 +82060d067f067f061006810700 +82060d067f067f061006810700 +82060d067f067f061006810700 +82060d067f067f061006810700 +82060d067f067f061006810700 +8106077f077f0712070000 +7f007f001500 + +% +% Compression made this file 6.27% of the uncompressed size. +% + + +showpage + +% stop using temporary dictionary +end + +% restore original state +origstate restore + +%%Trailer diff --git a/contrib/docs/latex/deprecated/prop1.gif b/contrib/docs/latex/deprecated/prop1.gif new file mode 100644 index 0000000000000000000000000000000000000000..a3d724d5708a27544972e834c66f2b4661ef7884 GIT binary patch literal 38958 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 literal 0 HcmV?d00001 diff --git a/contrib/docs/latex/deprecated/prop2.eps b/contrib/docs/latex/deprecated/prop2.eps new file mode 100644 index 0000000000..b233dfce00 --- /dev/null +++ b/contrib/docs/latex/deprecated/prop2.eps @@ -0,0 +1,664 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: prop2.eps +%%Creator: XV Version 2.20 Rev: 4/24/92 - by John Bradley +%%BoundingBox: 167 221 466 500 +%%Pages: 1 +%%DocumentFonts: +%%EndComments +%%EndProlog + +%%Page: 1 1 + +% remember original state +/origstate save def + +% build a temporary dictionary +20 dict begin + +% lower left corner +167 221 translate + +% size of image (on paper, in 1/72inch coords) +299 279 scale + +% define 'colorimage' if it isn't defined +% ('colortogray' and 'mergeprocs' come from xwd2ps +% via xgrab) +/colorimage where % do we know about 'colorimage'? + { pop } % yes: pop off the 'dict' returned + { % no: define one + /colortogray { % define an RGB->I function + /rgbdata exch store % call input 'rgbdata' + rgbdata length 3 idiv + /npixls exch store + /rgbindx 0 store + /grays npixls string store % str to hold the result + 0 1 npixls 1 sub { + grays exch + rgbdata rgbindx get 20 mul % Red + rgbdata rgbindx 1 add get 32 mul % Green + rgbdata rgbindx 2 add get 12 mul % Blue + add add 64 idiv % I = .5G + .31R + .18B + put + /rgbindx rgbindx 3 add store + } for + grays + } bind def + + % Utility procedure for colorimage operator. + % This procedure takes two procedures off the + % stack and merges them into a single procedure. + + /mergeprocs { % def + dup length + 3 -1 roll + dup + length + dup + 5 1 roll + 3 -1 roll + add + array cvx + dup + 3 -1 roll + 0 exch + putinterval + dup + 4 2 roll + putinterval + } bind def + + /colorimage { % def + pop pop % remove 'false 3' operands + {colortogray} mergeprocs + image + } bind def + } ifelse % end of 'false' case + + + +% define the colormap +/cmap 42 string def + + +% load up the colormap +currentfile cmap readhexstring +000000 bf0000 00bf00 bfbf00 0000bf 00bfbf c0c0c0 808080 ff0000 00ff00 +ffff00 0000ff 00ffff ffffff +pop pop % lose return values from readhexstring + + +% rlecmapimage expects to have 'w h bits matrix' on stack +/rlecmapimage { + /buffer 1 string def + /rgbval 3 string def + /block 384 string def + + % proc to read a block from file, and return RGB data + { currentfile buffer readhexstring pop + /bcount exch 0 get store + bcount 128 ge + { % it's a non-run block + 0 1 bcount 128 sub + { currentfile buffer readhexstring pop pop + + % look up value in color map + /rgbval cmap buffer 0 get 3 mul 3 getinterval store + + % and put it in position i*3 in block + block exch 3 mul rgbval putinterval + } for + block 0 bcount 127 sub 3 mul getinterval + } + + { % else it's a run block + currentfile buffer readhexstring pop pop + + % look up value in colormap + /rgbval cmap buffer 0 get 3 mul 3 getinterval store + + 0 1 bcount { block exch 3 mul rgbval putinterval } for + + block 0 bcount 1 add 3 mul getinterval + } ifelse + } % end of proc + false 3 colorimage +} bind def + + +299 279 8 % dimensions of data +[299 0 0 -279 0 279] % mapping matrix +rlecmapimage + +7f0003007f072607 +07077f067f0618068100070707 +070781060d7f0d7f0d150d820700070707 +070782060d067f067f061406820700070707 +070782060d067f067f061406820700070707 +070782060d068106077f077f0710070106820700070707 +070782060d068106078207060d820d060783070d0702010203098102077f077e07010682 +0700070707 +070782060d068106078707060b060001020781070283020702098109028102077f074a07 +0e0d81000d0d0d81000781070d0d0d81000781070683060700070707 +070782060d0681060782070806810600820002078507020902070201028109077f074a07 +810d060b068307000d060b068207000782070d060b068207000781070683060700070707 + +070782060d06810607810706850608000403078207020984090207020981090701070506 +2d070306020701061a0705066a07810d060b068307000d06810600070001068207000782 +070d060b068207000781070683060700070707 +070782060d068106078707060b0604000a07890702090207020702090701070106020701 +061d0701060b07010601070106010701061207010607070106100701065907810d060b06 +8307000d06810600070001068207000782070d0601060100030601000106820700078107 +0683060700070707 +070782060d0681060701070106020001070102860702090207020701070106020701061d +0701060b070106050701061207010607070106100701065907810d060b068307000d0682 +0600060506810006830607000782070d0602060100010601000206820700078107068306 +0700070707 +070782060d0681060785070d0607060d010d840702000209010982020007010701060207 +010681070601060107030601070406020703060107020681070601068107068206070681 +060703070106050704060207030602070306010702060607010604070306020702060107 +02065807810d060b068307000d06820600060506810006830607000782070d0603060300 +03068207000781070683060700070707 +070782060d06810607070701000602020705060107010601070106010701068107068106 +078107068206070681060781070682060706810607810706810607810706820607068106 +070407030602070206810706820607068106078107068206070681060781070682060706 +81060706070106030701060107010681070682060706820607068106075807810d060b06 +8307000d06820600060506810006830607000782070d0604060100040682070007810706 +83060700070707 +070782060d06810607810705050501000603020701060507010601070106010701068107 +068106078107068206070604068107068106078107068106078107068206070681060707 +070106010701060107010681070604068107060406810706810607060701060307050601 +070106020701065907810d060b068307000d06820600060506810006830607000782070d +060306030003068207000781070683060700070707 +070782060d0681060781070c010c8205080c830c05030a020a81030a810a070107010605 +070106010701060107010681070681060781070682060706810607030701060107010601 +070106810706810607070701060107010601070106810706810607030701060407010607 +0701060307010606070106010701065907810d060b068307000d06820600060506810006 +830607000782070d06020601000106010002068207000781070683060700070707 +070782060d068106078c070c05070507050c05030a030a840a03000a0701070106050701 +060107010601070106810706810607810706820607068106078107068206070681060781 +070681060701070206050701060107010601070106010701068107068106078107068206 +070681060781070682060706810607060701060307010601070106810706820607068206 +07068106075807810d060106050003068307000d06820600060506810006830607000782 +070d06010601000306010001068207000781070683060700070707 +070782060d0681060782070c08020886070c05030a030a010a82030a0701070106050701 +060207030601070406020703060107010602070106010701060707030602070106010701 +06010703060207030602070106060701060407030602070206020701065807810d060106 +050003068307000d06810600070001068207000782070d060b0682070007810706830607 +00070707 +070782060d0681060782070c080208010c8205030a810a0384030a030a07140701061407 +01067f071c07810d060b068307000d060b068207000782070d060b068207000781070683 +060700070707 +070782060d0681060782070c080308850c05030a030a010a82000a071407010612070206 +7f071d07810d070c0782000d070c0781000782070d070c07810007810706830607000707 +07 +070782060d0681060783070c05080208850c05030a030a810a0382030a077f074a071f00 +01070f0001070106820700070707 +070782060d0681060781070c050c8205030a050a7f077f070106820700070707 +070782060d068106077f077f0710070106820700070707 +070782060d067f067f061406820700070707 +070782060d067f067f061406820700070707 +070782060d0637067f073d07810d061c06820700070707 +070782060d06030616000306160001068107007f003a0082060d06810600150004068207 +00070707 +070782060d06020681000d140d820700068206000d140d8507000607000d7f0d390d8406 +0d06000d140d820700060206820700070707 +070782060d06020682000d06120601078100068306000d061206010784000607000d7f0d +390d84060d06000d130d01078100060206820700070707 +070782060d06020682000d06120601078100068306000d061206010784000607000d7f0d +390d84060d06000d810d06110601078100060206820700070707 +070782060d06020682000d06120601078100068306000d061206010784000607000d7f0d +390d84060d06000d810d06110601078100060206820700070707 +070782060d06020682000d0603068100060606810006030601078100068306000d061206 +010784000607000d010d0100020d0200020d0200020d02007f0d230d84060d06000d810d +06110601078100060206820700070707 +070782060d06020682000d060306020003060200040601078100068306000d060b068100 +060406010784000607000d810d000100010d0100810d0082000d0082000d0082000d0082 +000d0081000d7f0d210d84060d06000d810d06110601078100060206820700070707 +070782060d06020682000d060406020001060200050601078100068306000d060a060200 +0406010785000607000d000200010d0100810d0082000d0082000d0082000d0082000d00 +81000d7f0d210d84060d06000d810d06110601078100060206820700070707 +070782060d06020682000d0605060500060601078100068306000d060906030004060107 +87000607000d000d0081000d810d0082000d0082000d0082000d0082000d0082000d0081 +000d7f0d210d84060d06000d810d06110601078100060206820700070707 +070782060d06020682000d0606060300070601078100068306000d060806030005060107 +84000607000d010d0100010d0100810d0082000d0082000d0082000d0082000d0081000d +7f0d210d84060d06000d810d06110601078100060206820700070707 +070782060d06020682000d0606060300070601078100068306000d060306010001060300 +0606010784000607000d010d0100010d0100810d0082000d0082000d0082000d0082000d +0081000d7f0d210d84060d06000d810d06110601078100060206820700070707 +070782060d06020682000d0605060500060601078100068306000d060306060007060107 +84000607000d010d0100010d0100810d0082000d0082000d0082000d0082000d0081000d +7f0d210d84060d06000d810d06110601078100060206820700070707 +070782060d06020682000d060406020001060200050601078100068306000d0604060400 +0806010784000607000d010d0100020d0200020d0200020d02007f0d230d84060d06000d +810d060306010781060782070607810706040601078100060206820700070707 +070782060d06020682000d060306020003060200040601078100068306000d0605060200 +0906010784000607000d7f0d390d84060d06000d810d0603060107810607820706078107 +06040601078100060206820700070707 +070782060d06020682000d060306010005060100040601078100068306000d0606068100 +060906010784000607000d7f0d390d84060d06000d810d06110601078100060206820700 +070707 +070782060d06020682000d06120601078100068306000d061206010784000607000d7f0d +390d84060d06000d810d06110601078100060206820700070707 +070782060d06020682000d06120601078100068306000d061206010784000607000d7f0d +390d84060d06000d810d06110601078100060206820700070707 +070782060d06020682000d0714078100068306000d07140784000607000d7f0d390d8506 +0d06000d0714078100060206820700070707 +070782060d06020682000d0714078100068306000d07140784000607000d7f0d390d8406 +0d06000715078100060206820700070707 +070782060d06030616000306160001068207000d7f0d390d82060d068106001500040682 +0700070707 +070782060d0637068107067f063b06810d061c06820700070707 +070782060d0637067f0d3e0d1d06820700070707 +070782060d0601067f077f070e07810d060106820700070707 +070782060d0601068107007f007f000b0082060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d040d0100120d01007f0d150d0200550d82060d0601068207 +00070707 +070782060d0601068207000d030d81000d140d81000d7f0d130d81000d010d81000d530d +82060d060106820700070707 +070782060d0601068207000d020d0300010d0100810d0081000d010d0200030d0100820d +000d7f0d130d81000d010d81000d530d82060d060106820700070707 +070782060d0601068207000d030d81000d030d0100030d81000d010d81000d820d000d81 +0d0081000d7f0d130d81000d010d81000d530d82060d060106820700070707 +070782060d0601068207000d030d81000d030d81000d030d0400010d81000d010d81000d +7f0d130d81000d010d81000d530d82060d060106820700070707 +070782060d0601068207000d030d81000d030d81000d030d81000d040d81000d010d8100 +0d7f0d130d81000d010d81000d530d82060d060106820700070707 +070782060d0601068207000d020d0300010d0300030d0300020d04007f0d140d0200550d +82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d1c0d0100120d01000e0d81000d6b0d0400090d0100480d82 +060d060106820700070707 +070782060d0601068207000d010d81000d190d81000d120d81000d7c0d81000d820d000d +090d81000d470d82060d060106820700070707 +070782060d0601068207000d810d000300030d0200010d0100010d0100020d0100810d00 +84000d000d0081000d090d0300010d82000d0081000d020d0200020d0200040d0300020d +02005e0d83000d000d020d0200040d81000d030d0300020d0200390d82060d0601068207 +00070707 +070782060d0601068207000d010d81000d040d81000d010d81000d820d000d010d81000d +820d000d810d0081000d810d0081000d820d000d070d81000d010d81000d810d0081000d +820d000d820d000d010d81000d020d81000d020d81000d010d81000d820d000d010d8100 +0d5c0d0200020d81000d010d81000d020d81000d020d81000d040d81000d010d81000d37 +0d82060d060106820700070707 +070782060d0601068207000d010d81000d040d81000d010d81000d820d000d010d81000d +820d000d010d81000d820d000d010d81000d070d81000d040d81000d010d81000d820d00 +0d010d81000d020d81000d020d81000d040d04005d0d83000d000d020d0300030d81000d +030d0200020d0400380d82060d060106820700070707 +070782060d0601068207000d010d81000d010d81000d820d000d010d81000d820d000d81 +0d0081000d820d000d010d81000d820d000d010d81000d070d81000d040d81000d010d81 +000d820d000d010d81000d020d81000d020d81000d040d81000d600d81000d030d81000d +010d81000d020d81000d060d81000d820d000d3b0d82060d060106820700070707 +070782060d0601068207000d020d0200030d0200030d0100810d0081000d810d00020081 +0d000100810d000100080d0300810d000100810d000100010d0200020d0400020d030002 +0d03005c0d0200030d0500810d000300010d0300030d0300380d82060d06010682070007 +0707 +070782060d0601068207000d1a0d81000d7f0d6d0d82060d060106820700070707 +070782060d0601068207000d170d02007f0d6f0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d060106820700047f047f040a0482060d060106820700070707 +070782060d060106820700047f047f040a0482060d060106820700070707 +070782060d060106820700047f047f040a0482060d060106820700070707 +070782060d060106820700047f047f040a0482060d060106820700070707 +070782060d060106820700040304810d047f043204010d4f0482060d0601068207000707 +07 +070782060d060106820700047f043904810d044e0482060d060106820700070707 +070782060d060106820700040104020d0404020d0104010d81040d810d047f042404810d +044e0482060d060106820700070707 +070782060d060106820700040304810d040204810d040104810d0481040d810d0482040d +047f041a04040d0304810d044e0482060d060106820700070707 +070782060d060106820700040304810d040304030d0104810d040104810d047f04230481 +0d044e0482060d060106820700070707 +070782060d060106820700040304810d040204810d040104810d0482040d040104810d04 +7f042304810d044e0482060d060106820700070707 +070782060d060106820700040104040d0104080d81040d010d7f042104040d4d0482060d +060106820700070707 +070782060d060106820700047f047f040a0482060d060106820700070707 +070782060d060106820700047f047f040a0482060d060106820700070707 +070782060d060106820700047f047f040a0482060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d810d0081000d060d81000d030d0100040d01007f0d170d02 +00030d03004d0d82060d060106820700070707 +070782060d0601068207000d010d81000d0d0d81000d040d81000d7f0d150d81000d010d +81000d010d81000d4f0d82060d060106820700070707 +070782060d0601068207000d010d82000d0081000d010d0200050d81000d040d81000d7f +0d180d81000d020d81000d4f0d82060d060106820700070707 +070782060d0601068207000d010d0100010d81000d020d81000d040d81000d040d81000d +7f0d170d81000d030d02004e0d82060d060106820700070707 +070782060d0601068207000d010d81000d010d81000d020d81000d040d81000d040d8100 +0d7f0d160d81000d070d81000d4c0d82060d060106820700070707 +070782060d0601068207000d010d81000d010d81000d020d81000d040d81000d040d8100 +0d7f0d150d81000d040d81000d010d81000d4c0d82060d060106820700070707 +070782060d0601068207000d810d000300020d0400010d0400010d04007f0d140d040002 +0d02004e0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d030d81000d0a0d0100050d81000d7f0d6f0d82060d060106 +820700070707 +070782060d0601068207000d110d81000d7f0d760d82060d060106820700070707 +070782060d0601068207000d010d0300010d0100010d0100030d81000d020d0200040d02 +00010d0100810d0081000d7f0d070d0200010d0100810d0081000d020d0200470d82060d +060106820700070707 +070782060d0601068207000d040d81000d010d81000d010d81000d020d81000d040d8100 +0d020d81000d010d81000d810d0081000d820d000d7f0d050d81000d010d81000d810d00 +81000d820d000d820d000d010d81000d450d82060d060106820700070707 +070782060d0601068207000d040d81000d010d81000d010d81000d020d81000d040d8100 +0d030d0300010d81000d010d81000d7f0d050d81000d010d81000d820d000d010d81000d +810d000300460d82060d060106820700070707 +070782060d0601068207000d040d81000d010d81000d810d0081000d020d81000d040d81 +000d020d81000d010d81000d820d000d010d81000d7f0d050d81000d010d81000d820d00 +0d010d81000d820d000d490d82060d060106820700070707 +070782060d0601068207000d040d81000d020d0100810d0082000d000300010d0400010d +0800810d0001007f0d060d0200010d0200810d000100010d0300460d82060d0601068207 +00070707 +070782060d0601068207000d040d81000d7f0d7f0d030d82060d060106820700070707 +070782060d0601068207000d010d02007f0d7f0d050d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d810d0081000d060d81000d7f0d7d0d82060d060106820700 +070707 +070782060d0601068207000d010d81000d0b0d81000d7f0d780d82060d06010682070007 +0707 +070782060d0601068207000d010d82000d0081000d010d0200020d0400010d0200820d00 +0d020d0200010d0100810d0081000d7f0d050d0100810d0081000d020d0200010d010081 +0d0081000d020d0200400d82060d060106820700070707 +070782060d0601068207000d010d0100010d81000d020d81000d020d81000d040d85000d +000d000d820d000d010d81000d810d0081000d820d000d7f0d050d0100010d81000d820d +000d010d81000d810d0081000d820d000d820d000d010d81000d3e0d82060d0601068207 +00070707 +070782060d0601068207000d010d81000d010d81000d020d81000d020d81000d040d8500 +0d000d000d010d0300010d81000d010d81000d7f0d050d81000d010d81000d820d000d01 +0d81000d820d000d010d81000d810d0003003f0d82060d060106820700070707 +070782060d0601068207000d010d81000d010d81000d020d81000d020d81000d010d8100 +0d860d000d000d000d820d000d010d81000d820d000d010d81000d7f0d050d81000d010d +81000d820d000d010d81000d820d000d010d81000d820d000d420d82060d060106820700 +070707 +070782060d0601068207000d810d000300020d0400020d0200010d0600810d000400810d +0002007f0d060d0200810d000100010d0200010d0200810d000100010d03003f0d82060d +060106820700070707 +070782060d0601068207000d240d81000d7f0d630d82060d060106820700070707 +070782060d0601068207000d230d02007f0d630d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d340d81000d130d01007f0d3d0d82060d0601068207000707 +07 +070782060d0601068207000d1d0d81000d2b0d81000d620d81000d570d82060d06010682 +0700070707 +070782060d0601068207000d020d0300020d0200010d0100810d0081000d020d0300810d +000300020d0100810d0081000d010d0200020d0200020d0100810d0081000d020d020003 +0d0100820d000d610d0400010d0200810d000100010d0200470d82060d06010682070007 +0707 +070782060d0601068207000d010d81000d010d81000d820d000d010d81000d810d008100 +0d820d000d820d000d040d81000d050d0100030d81000d010d81000d020d81000d020d01 +00010d81000d820d000d010d81000d820d000d810d0081000d620d81000d040d81000d01 +0d81000d820d000d010d81000d450d82060d060106820700070707 +070782060d0601068207000d010d81000d040d81000d010d81000d820d000d010d81000d +010d0200020d81000d050d81000d040d0300030d81000d020d81000d010d81000d810d00 +0300010d81000d010d81000d620d81000d040d85000d000d000d820d000d010d81000d45 +0d82060d060106820700070707 +070782060d0601068207000d010d81000d040d81000d010d81000d820d000d010d81000d +040d81000d820d000d010d81000d010d81000d030d81000d010d81000d020d81000d020d +81000d010d81000d820d000d040d81000d010d81000d620d81000d010d81000d860d000d +000d000d820d000d010d81000d450d82060d060106820700070707 +070782060d0601068207000d020d0300020d0200010d0200810d000100810d000200030d +0200020d0300020d0500810d000300810d000100810d000100010d0300020d0400630d02 +00030d83000d000d020d0200470d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707 +7f077f0726078100070107 +03077f0d7f0d210d820700070107 +0307820d06077f077f071c07840d060700070107 +0307830d0607047f047f041c0483060700070107 +0307830d0607047f047f041c0483060700070107 +0307830d0607047f047f040a040e0d8100048404060700070107 +0307830d0607047f047f040a04810d060b06820700048404060700070107 +0307830d06070481040d040d3a04010d7f044604810d060b068207000484040607000701 +07 +0307830d06070481040d810d040104010d1d04010d1904010d7f044604810d0601060107 +030601070106820700048404060700070107 +0307830d06070481040d810d040104010d1d04010d1904010d7f044604810d0602060107 +01060107010d83060700048404060700070107 +0307830d06070481040d810d040104010d81040d010d0104030d0104040d0204030d0104 +020d81040d010d81040d820d040d810d040304010d0104010d0104030d0104010d81040d +810d0481040d810d0481040d020d0604030d0104020d81040d010d0104030d0104020d7f +041a04810d0603060307010d0106820700048404060700070107 +0307830d06070481040d040d0104010d0104010d0104010d81040d810d0481040d820d04 +0d810d0481040d820d040d810d0481040d810d0481040d820d040d810d040304010d0104 +010d0404010d81040d820d040d810d0481040d820d040d810d0481040d810d040304010d +0104010d81040d810d0481040d810d0481040d810d0481040d820d040d810d047f041a04 +810d0604060107010d0206820700048404060700070107 +0307830d06070481040d810d040404010d0104010d0104010d81040d810d0481040d820d +040d040d81040d810d0481040d810d0481040d820d040d810d040404030d0204040d8104 +0d820d040d810d0481040d820d040d040d0404050d81040d810d0481040d810d0481040d +810d0481040d820d040d810d047f041a04810d0603060307030682070004840406070007 +0107 +0307830d06070481040d810d040404010d0104010d0104010d81040d810d0481040d820d +040d810d040304010d0104010d0104010d81040d810d040404030d0104010d0104010d81 +040d820d040d810d0481040d820d040d810d040704010d0404010d0104010d0104010d01 +04010d81040d810d047f041a04810d0602060107010d0107020682070004840406070007 +0107 +0307830d06070481040d810d040404010d0104010d0104010d81040d810d0481040d820d +040d810d0481040d820d040d810d0481040d810d040104020d0704010d0204010d010401 +0d81040d820d040d820d040d010d81040d810d0481040d810d040304010d0104010d8104 +0d810d0481040d810d0481040d810d0481040d820d040d810d047f041a04810d06010601 +07010d010601070106820700048404060700070107 +0307830d06070481040d810d040404010d0204030d0104040d0204030d0104010d020401 +0d0104010d0804010d0304040d81040d810d0481040d030d0104030d0604030d0104010d +0104010d0204030d0104010d7f041b04810d060206010d0306010d830607000484040607 +00070107 +0307830d0607041304010d1404010d7f045d04810d060b06820700048404060700070107 + +0307830d0607041304010d1204020d7f045e04810d070c078100048404060700070107 +0307830d0607047f047f040a040f00010483060700070107 +0307830d0607047f047f041c0483060700070107 +0307830d0607047f047f041c0483060700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d06170602037f067f060406820700070107 +0307810d06160681030a830a0600067f067f060206820700070107 +0307810d06150681030a020a83060007067f067f0683060700070107 +0307810d06150681030a030a8100078107067f067f06820700070107 +0307810d06140681030a040a820600078107067f067e06820700070107 +0307810d06140681030a050a8100078107067f067e06820700070107 +0307810d06130681030a060a820600078107067f067d06820700070107 +0307810d06130681030a070a8100078107067f067d06820700070107 +0307810d06120681030a080a820600078107067f067c06820700070107 +0307810d06120681030a010a810600010081060a010a8100078107067f067c0682070007 +0107 +0307810d06110681030a020a0400020a820600078107067f067b06820700070107 +0307810d06110681030a020a0400030a8100078107061606810006030681000605068100 +0627068100061b0681000620068100062c06040001060200140681000602060400010602 +0001068100060a06820700070107 +0307810d06100681030a030a0400030a8206000781070615068100060306810006050681 +000621068100060306810006230681000618068100060906810006200681000603068100 +060106810006120681000602068100060306810006010683000600060a06820700070107 + +0307810d06100681030a030a0400040a8100078107061606810006010681000606068100 +062106810006030681000623068100061806810006090681000620068100060306810006 +0106810006120681000602068100060306810006010683000600060a06820700070107 +0307810d060f0681030a040a0400040a8206000781070615068100060106810006010602 +000106830006000601068100068106000100040602008106008100068206000601068100 +068106008100068106008100060206030002060200050602000106820006008100060306 +840006000600810006810600810006810600010002060300010602000106010003060300 +020602000106010082060006820600068206000681060001000206020001068200060081 +000606060300010681000601068100060306020001068200060081000601060300030603 +000106810006010683000600060a06820700070107 +0307810d060f0681030a040a810300010081030a040a8100078107061506810006010681 +000604068500060006000601068300060006010681000602068100068206000684060006 +000601068300060006840600060006030681000601068300060006010681000606068200 +060081000682060006020682000600810006840600060006820600060106830006000601 +068300060006010683000600060306810006010683000600060106830006000682060006 +820600068406000600060106830006000601068200060081000682060006050681000601 +068300060006010681000606068200060081000684060006000601068100060206810006 +01068300060006010683000600060a06820700070107 +0307810d060e0681030a050a810600010081060a040a8206000781070615068300060006 +020603008406000600060106820006000300030681000682060006840600060006010681 +000682060006010681000603068100060106820006000300040603008206000601068100 +060206830006000601068300060006810600030082060006010682000600030082060006 +030681000601068200060003008206000689060006000600060006000300810600030082 +060006010681000602060100040683000600060106810006030603008206000601068300 +060006010681000606068300060006010683000600060a06820700070107 +0307810d060e0681030a060a0200070a8100078107061506830006000601068100060106 +850006000600060106830006000606068100068206000684060006000601068100060106 +810006820600060306810006010683000600060606810006010683000600060106810006 +020683000600060106830006000682060006030681000601068300060006030681000603 +068100060106830006000603068100068a06000600060006000600060306810006030681 +000601068100060906830006000601068100060206810006010683000600060106830006 +0006010681000606068300060006010683000600060a06820700070107 +0307810d060d0681030a070a830300030a060a8206000781070615068100060206810006 +010685000600060006810600830006000601068100060206810006820600068406000600 +068106008300060006840600060006030681000601068300060006010681000602068100 +060106830006000601068100060206830006000601068300060006820600060106830006 +000601068300060006010683000600060306810006010683000600060106830006000601 +068100060106810006820600060106830006000601068300060006010681000605068100 +060106830006000601068100060206810006010683000600060106830006000601068100 +0602068100060106830006000601068100060c06820700070107 +0307810d060d0681030a070a830600060a070a8100078107061506810006030603008206 +000681060083000600068106000100040681000682060006820600068106008300060006 +810600810006010681000602060300020602000506030082060006010681000602068300 +060006010681000682060006810600010002060300010602000106810006030603000206 +020002068100068206000601068100060106020002060200010681000601068100060606 +020002060200050603008206000601068100068106000200040602000206020001068100 +060a06820700070107 +0307810d060c0681030a090a81000a080a820600078107067c0681000677068207000701 +07 +0307810d060c0681030a150a810007810706780603007906820700070107 +0307810d060b0681030a090a8106008200060a070a820600078107067f06750682070007 +0107 +0307810d060b0681030a090a0300090a8100078107067f067506820700070107 +0307810d060a0681030a0a0a0300090a820600078107067f067406820700070107 +0307810d060a0681030a0a0a8106008200060a090a8100078107067f0674068207000701 +07 +0307810d060a0681030a190a81000701077f067406820700070107 +0307810d060a0681030a180a8206000701077f067406820700070107 +0307810d060b0681030a160a8206000702077f067406820700070107 +0307810d060c06810300160004077f067406820700070107 +0307810d060e061a077f067506820700070107 +0307810d060f0618077f067606820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d066b0648006a06820700070107 +0307810d066a064a006906820700070107 +0307810d066a060100450d8107008100066806820700070107 +0307810d066a060100440d010701006906820700070107 +0307810d066a060100010d18069100060006000600060006000600060006000617060107 +01006906820700070107 +0307810d066a060100010d4206010701006906820700070107 +0307810d066a060100010d18068100060d068100061706010701006906820700070107 +0307810d066a060100010d1b060300020681000601068100061906010701006906820700 +070107 +0307810d066a060100010d18068300060006020681000682060006820600068206000617 +06010701006906820700070107 +0307810d066a060100010d1a0681000602068100068406000600061b0601070100690682 +0700070107 +0307810d066a060100010d18068300060006020681000681060081000602068100061706 +010701006906820700070107 +0307810d066a060100010d1a0681000602068100068106008100061c0601070100690682 +0700070107 +0307810d066a060100010d18068300060006020681000684060006000601068100061706 +010701006906820700070107 +0307810d066a060100010d1a06810006020681000682060006820600061a060107010069 +06820700070107 +0307810d066a060100010d18068300060006020681000682060006010683000600061706 +010701006906820700070107 +0307810d066a060100010d1b060300020681000602068100061806010701006906820700 +070107 +0307810d066a060100010d18068100060d068100061706010701006906820700070107 +0307810d066a060100010d4206010701006906820700070107 +0307810d066a060100010d18069100060006000600060006000600060006000617060107 +01006906820700070107 +0307810d066a060100810d07440701006906820700070107 +0307810d066a060100460701006906820700070107 +0307810d066a064a006906820700070107 +0307810d066b0648006a06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +0307810d067f067f061f06820700070107 +7f077f0726078100070107 +02077f007f0024000207 +7f077f072a07 +7f077f072a07 +7f077f072a07 +7f077f072a07 +7f077f072a07 +7f077f072a07 + +% +% Compression made this file 5.68% of the uncompressed size. +% + + +showpage + +% stop using temporary dictionary +end + +% restore original state +origstate restore + +%%Trailer diff --git a/contrib/docs/latex/deprecated/prop2.gif b/contrib/docs/latex/deprecated/prop2.gif new file mode 100644 index 0000000000000000000000000000000000000000..764f9882b1f3fe8eae402148160b16259235c15d GIT binary patch literal 56166 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