541 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			HTML
		
	
	
	
			
		
		
	
	
			541 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			HTML
		
	
	
	
| <?xml version="1.0" encoding="utf-8" ?>
 | |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 | |
| <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 | |
| <head>
 | |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 | |
| <meta name="generator" content="Docutils 0.6: http://docutils.sourceforge.net/" />
 | |
| <title>shUnit2 2.1.x README</title>
 | |
| <style type="text/css">
 | |
| 
 | |
| /*
 | |
| :Author: David Goodger
 | |
| :Contact: goodger@users.sourceforge.net
 | |
| :Date: $Date: 2007-04-11 11:48:16 +0100 (Wed, 11 Apr 2007) $
 | |
| :Revision: $Revision: 2791 $
 | |
| :Copyright: This stylesheet has been placed in the public domain.
 | |
| :Modified by: Kate Ward <kate.ward@forestent.com>
 | |
| 
 | |
| Default cascading style sheet for the HTML output of Docutils.
 | |
| 
 | |
| See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
 | |
| customize this style sheet.
 | |
| */
 | |
| 
 | |
| /* used to remove borders from tables and images */
 | |
| .borderless, table.borderless td, table.borderless th {
 | |
|   border: 0 }
 | |
| 
 | |
| table.borderless td, table.borderless th {
 | |
|   /* Override padding for "table.docutils td" with "! important".
 | |
|      The right padding separates the table cells. */
 | |
|   padding: 0 0.5em 0 0 ! important }
 | |
| 
 | |
| .first {
 | |
|   /* Override more specific margin styles with "! important". */
 | |
|   margin-top: 0 ! important }
 | |
| 
 | |
| .last, .with-subtitle {
 | |
|   margin-bottom: 0 ! important }
 | |
| 
 | |
| .hidden {
 | |
|   display: none }
 | |
| 
 | |
| a.toc-backref {
 | |
|   text-decoration: none ;
 | |
|   color: black }
 | |
| 
 | |
| blockquote.epigraph {
 | |
|   margin: 2em 5em ; }
 | |
| 
 | |
| dl.docutils dd {
 | |
|   margin-bottom: 0.5em }
 | |
| 
 | |
| /* Uncomment (and remove this text!) to get bold-faced definition list terms
 | |
| dl.docutils dt {
 | |
|   font-weight: bold }
 | |
| */
 | |
| 
 | |
| div.abstract {
 | |
|   margin: 2em 5em }
 | |
| 
 | |
| div.abstract p.topic-title {
 | |
|   font-weight: bold ;
 | |
|   text-align: center }
 | |
| 
 | |
| div.admonition, div.attention, div.caution, div.danger, div.error,
 | |
| div.hint, div.important, div.note, div.tip, div.warning {
 | |
|   margin: 2em ;
 | |
|   border: medium outset ;
 | |
|   padding: 1em }
 | |
| 
 | |
| div.admonition p.admonition-title, div.hint p.admonition-title,
 | |
| div.important p.admonition-title, div.note p.admonition-title,
 | |
| div.tip p.admonition-title {
 | |
|   font-weight: bold ;
 | |
|   font-family: sans-serif }
 | |
| 
 | |
| div.attention p.admonition-title, div.caution p.admonition-title,
 | |
| div.danger p.admonition-title, div.error p.admonition-title,
 | |
| div.warning p.admonition-title {
 | |
|   color: red ;
 | |
|   font-weight: bold ;
 | |
|   font-family: sans-serif }
 | |
| 
 | |
| /* Uncomment (and remove this text!) to get reduced vertical space in
 | |
|    compound paragraphs.
 | |
| div.compound .compound-first, div.compound .compound-middle {
 | |
|   margin-bottom: 0.5em }
 | |
| 
 | |
| div.compound .compound-last, div.compound .compound-middle {
 | |
|   margin-top: 0.5em }
 | |
| */
 | |
| 
 | |
| div.dedication {
 | |
|   margin: 2em 5em ;
 | |
|   text-align: center ;
 | |
|   font-style: italic }
 | |
| 
 | |
| div.dedication p.topic-title {
 | |
|   font-weight: bold ;
 | |
|   font-style: normal }
 | |
| 
 | |
| div.figure {
 | |
|   margin-left: 2em ;
 | |
|   margin-right: 2em }
 | |
| 
 | |
| div.footer, div.header {
 | |
|   clear: both;
 | |
|   font-size: smaller }
 | |
| 
 | |
| div.line-block {
 | |
|   display: block ;
 | |
|   margin-top: 1em ;
 | |
|   margin-bottom: 1em }
 | |
| 
 | |
| div.line-block div.line-block {
 | |
|   margin-top: 0 ;
 | |
|   margin-bottom: 0 ;
 | |
|   margin-left: 1.5em }
 | |
| 
 | |
| div.sidebar {
 | |
|   margin-left: 1em ;
 | |
|   border: medium outset ;
 | |
|   padding: 1em ;
 | |
|   background-color: #ffffee ;
 | |
|   width: 40% ;
 | |
|   float: right ;
 | |
|   clear: right }
 | |
| 
 | |
| div.sidebar p.rubric {
 | |
|   font-family: sans-serif ;
 | |
|   font-size: medium }
 | |
| 
 | |
| div.system-messages {
 | |
|   margin: 5em }
 | |
| 
 | |
| div.system-messages h1 {
 | |
|   color: red }
 | |
| 
 | |
| div.system-message {
 | |
|   border: medium outset ;
 | |
|   padding: 1em }
 | |
| 
 | |
| div.system-message p.system-message-title {
 | |
|   color: red ;
 | |
|   font-weight: bold }
 | |
| 
 | |
| div.topic {
 | |
|   margin: 2em }
 | |
| 
 | |
| h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
 | |
| h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
 | |
|   margin-top: 0.4em }
 | |
| 
 | |
| h1.title {
 | |
|   text-align: center }
 | |
| 
 | |
| h2.subtitle {
 | |
|   text-align: center }
 | |
| 
 | |
| hr.docutils {
 | |
|   width: 75% }
 | |
| 
 | |
| img.align-left {
 | |
|   clear: left }
 | |
| 
 | |
| img.align-right {
 | |
|   clear: right }
 | |
| 
 | |
| ol.simple, ul.simple {
 | |
|   margin-bottom: 1em }
 | |
| 
 | |
| ol.arabic {
 | |
|   list-style: decimal }
 | |
| 
 | |
| ol.loweralpha {
 | |
|   list-style: lower-alpha }
 | |
| 
 | |
| ol.upperalpha {
 | |
|   list-style: upper-alpha }
 | |
| 
 | |
| ol.lowerroman {
 | |
|   list-style: lower-roman }
 | |
| 
 | |
| ol.upperroman {
 | |
|   list-style: upper-roman }
 | |
| 
 | |
| p.attribution {
 | |
|   text-align: right ;
 | |
|   margin-left: 50% }
 | |
| 
 | |
| p.caption {
 | |
|   font-style: italic }
 | |
| 
 | |
| p.credits {
 | |
|   font-style: italic ;
 | |
|   font-size: smaller }
 | |
| 
 | |
| p.label {
 | |
|   white-space: nowrap }
 | |
| 
 | |
| p.rubric {
 | |
|   font-weight: bold ;
 | |
|   font-size: larger ;
 | |
|   color: maroon ;
 | |
|   text-align: center }
 | |
| 
 | |
| p.sidebar-title {
 | |
|   font-family: sans-serif ;
 | |
|   font-weight: bold ;
 | |
|   font-size: larger }
 | |
| 
 | |
| p.sidebar-subtitle {
 | |
|   font-family: sans-serif ;
 | |
|   font-weight: bold }
 | |
| 
 | |
| p.topic-title {
 | |
|   font-weight: bold }
 | |
| 
 | |
| pre.address {
 | |
|   margin-bottom: 0 ;
 | |
|   margin-top: 0 ;
 | |
|   font-family: serif ;
 | |
|   font-size: 100% }
 | |
| 
 | |
| pre.literal-block, pre.doctest-block {
 | |
|   margin-left: 2em ;
 | |
|   margin-right: 2em ;
 | |
|   background-color: #eeeeee }
 | |
| 
 | |
| span.classifier {
 | |
|   font-family: sans-serif ;
 | |
|   font-style: oblique }
 | |
| 
 | |
| span.classifier-delimiter {
 | |
|   font-family: sans-serif ;
 | |
|   font-weight: bold }
 | |
| 
 | |
| span.interpreted {
 | |
|   font-family: sans-serif }
 | |
| 
 | |
| span.option {
 | |
|   white-space: nowrap }
 | |
| 
 | |
| span.pre {
 | |
|   white-space: pre }
 | |
| 
 | |
| span.problematic {
 | |
|   color: red }
 | |
| 
 | |
| span.section-subtitle {
 | |
|   /* font-size relative to parent (h1..h6 element) */
 | |
|   font-size: 80% }
 | |
| 
 | |
| table.citation {
 | |
|   border-left: solid 1px gray;
 | |
|   margin-left: 1px }
 | |
| 
 | |
| table.docinfo {
 | |
|   margin: 2em 4em }
 | |
| 
 | |
| /*
 | |
| table.docutils {
 | |
|   margin-top: 0.5em ;
 | |
|   margin-bottom: 0.5em }
 | |
| */
 | |
| 
 | |
| table.footnote {
 | |
|   border-left: solid 1px black;
 | |
|   margin-left: 1px ;
 | |
|   font-size: 80% }
 | |
|   }
 | |
| 
 | |
| table.docutils td, table.docutils th,
 | |
| table.docinfo td, table.docinfo th {
 | |
|   padding-left: 0.5em ;
 | |
|   padding-right: 0.5em ;
 | |
|   vertical-align: top }
 | |
| 
 | |
| table.docutils th.field-name, table.docinfo th.docinfo-name {
 | |
|   font-weight: bold ;
 | |
|   text-align: left ;
 | |
|   white-space: nowrap ;
 | |
|   padding-left: 0 }
 | |
| 
 | |
| h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
 | |
| h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
 | |
|   font-size: 100% }
 | |
| 
 | |
| /*
 | |
| tt.docutils {
 | |
|   background-color: #eeeeee }
 | |
| */
 | |
| 
 | |
| ul.auto-toc {
 | |
|   list-style-type: none }
 | |
| 
 | |
| /* customizations by kward */
 | |
| 
 | |
| h1 { font-size: 133%; border-top:1px solid #CCCCFF; }
 | |
| h1.title { font-size: 150%; border-top:0px; padding-top: 1em; }
 | |
| /* div.document { font-size: 90% } */
 | |
| 
 | |
| </style>
 | |
| </head>
 | |
| <body>
 | |
| <div class="document" id="shunit2-2-1-x-readme">
 | |
| <h1 class="title">shUnit2 2.1.x README</h1>
 | |
| 
 | |
| <div class="section" id="code-google-com">
 | |
| <h1>code.google.com</h1>
 | |
| <p>This project is stored on code.google.com as <a class="reference external" href="http://code.google.com/p/shunit2/">http://code.google.com/p/shunit2/</a>.
 | |
| All releases as of 2.1.4 and full source are available there. Documentation is
 | |
| included as part of the source and each release. Source code is stored in
 | |
| Subversion and can be accessed using the following information.</p>
 | |
| <p>Browse the code in a web browser:</p>
 | |
| <ul class="simple">
 | |
| <li><a class="reference external" href="http://code.google.com/p/shunit2/source/browse">http://code.google.com/p/shunit2/source/browse</a></li>
 | |
| <li>svn > trunk > source > 2.1</li>
 | |
| </ul>
 | |
| <p>Check out the code locally</p>
 | |
| <pre class="literal-block">
 | |
| $ svn checkout http://shunit2.googlecode.com/svn/trunk/ shflags-read-only
 | |
| </pre>
 | |
| </div>
 | |
| <div class="section" id="sourceforge">
 | |
| <h1>SourceForge</h1>
 | |
| <p>DEPRECATED</p>
 | |
| <p>This project is stored on SourceForge as <a class="reference external" href="http://sf.net/projects/shunit2">http://sf.net/projects/shunit2</a>. The
 | |
| source code is stored in Subversion and can be accessed using the following
 | |
| information.</p>
 | |
| <p>Check out the code locally</p>
 | |
| <pre class="literal-block">
 | |
| $ svn co https://shunit2.svn.sourceforge.net/svnroot/shunit2/trunk/source/2.1 shunit2
 | |
| </pre>
 | |
| <p>Browse the code in a web browser:</p>
 | |
| <ul class="simple">
 | |
| <li><a class="reference external" href="http://shunit2.svn.sourceforge.net/viewvc/shunit2/trunk/source/2.1/">http://shunit2.svn.sourceforge.net/viewvc/shunit2/trunk/source/2.1/</a></li>
 | |
| <li><a class="reference external" href="http://shunit2.svn.sourceforge.net/svnroot/shunit2/trunk/source/2.1/">http://shunit2.svn.sourceforge.net/svnroot/shunit2/trunk/source/2.1/</a></li>
 | |
| </ul>
 | |
| </div>
 | |
| <div class="section" id="making-a-release">
 | |
| <h1>Making a release</h1>
 | |
| <p>For these steps, it is assumed we are working with release 2.0.0.</p>
 | |
| <p>Steps:</p>
 | |
| <ul class="simple">
 | |
| <li>write release notes</li>
 | |
| <li>update version</li>
 | |
| <li>finish changelog</li>
 | |
| <li>check all the code in</li>
 | |
| <li>tag the release</li>
 | |
| <li>export the release</li>
 | |
| <li>create tarball</li>
 | |
| <li>md5sum the tarball and sign with gpg</li>
 | |
| <li>update website</li>
 | |
| <li>post to SourceForge and Freshmeat</li>
 | |
| </ul>
 | |
| <div class="section" id="write-release-notes">
 | |
| <h2>Write Release Notes</h2>
 | |
| <p>This should be pretty self explanatory. Use one of the release notes from a
 | |
| previous release as an example.</p>
 | |
| <p>The versions of the various platforms and shells are included when the
 | |
| master unit test script is run, or when <tt class="docutils literal">bin/gen_test_results.sh</tt> is
 | |
| used. To determine the versions of the installed shells by hand, use the
 | |
| <tt class="docutils literal">lib/versions</tt> script.</p>
 | |
| <p>Alternatively, do the following:</p>
 | |
| <table border="1" class="docutils">
 | |
| <colgroup>
 | |
| <col width="9%" />
 | |
| <col width="12%" />
 | |
| <col width="79%" />
 | |
| </colgroup>
 | |
| <thead valign="bottom">
 | |
| <tr><th class="head">Shell</th>
 | |
| <th class="head">OS</th>
 | |
| <th class="head">Notes</th>
 | |
| </tr>
 | |
| </thead>
 | |
| <tbody valign="top">
 | |
| <tr><td>bash</td>
 | |
| <td> </td>
 | |
| <td><tt class="docutils literal">$ bash <span class="pre">--version</span></tt></td>
 | |
| </tr>
 | |
| <tr><td>dash</td>
 | |
| <td>Linux</td>
 | |
| <td><tt class="docutils literal">$ dpkg <span class="pre">-l</span> |grep dash</tt></td>
 | |
| </tr>
 | |
| <tr><td rowspan="3">ksh</td>
 | |
| <td> </td>
 | |
| <td><tt class="docutils literal">$ ksh <span class="pre">--version</span></tt>
 | |
| -or-
 | |
| <tt class="docutils literal">$ echo 'echo $KSH_VERSION' |ksh</tt></td>
 | |
| </tr>
 | |
| <tr><td>Cygwin</td>
 | |
| <td>see pdksh</td>
 | |
| </tr>
 | |
| <tr><td>Solaris</td>
 | |
| <td><tt class="docutils literal">$ strings /usr/bin/ksh |grep 'Version'</tt></td>
 | |
| </tr>
 | |
| <tr><td rowspan="2">pdksh</td>
 | |
| <td> </td>
 | |
| <td><tt class="docutils literal">$ strings /bin/pdksh |grep 'PD KSH'</tt></td>
 | |
| </tr>
 | |
| <tr><td>Cygwin</td>
 | |
| <td>look in the downloaded Cygwin directory</td>
 | |
| </tr>
 | |
| <tr><td>sh</td>
 | |
| <td>Solaris</td>
 | |
| <td>not possible</td>
 | |
| </tr>
 | |
| <tr><td>zsh</td>
 | |
| <td> </td>
 | |
| <td><tt class="docutils literal">$ zsh <span class="pre">--version</span></tt></td>
 | |
| </tr>
 | |
| </tbody>
 | |
| </table>
 | |
| </div>
 | |
| <div class="section" id="update-version">
 | |
| <h2>Update Version</h2>
 | |
| <p>Edit <tt class="docutils literal">src/shell/shunit2</tt> and change the version number in the comment, as well
 | |
| as in the <tt class="docutils literal">SHUNIT_VERSION</tt> variable.</p>
 | |
| </div>
 | |
| <div class="section" id="finish-documentation">
 | |
| <h2>Finish Documentation</h2>
 | |
| <p>Make sure that any remaining changes get put into the <tt class="docutils literal"><span class="pre">CHANGES-X.X.txt</span></tt> file.</p>
 | |
| <p>Finish writing the <tt class="docutils literal"><span class="pre">RELEASE_NOTES-X.X.X.txt</span></tt>. If necessary, run it
 | |
| through the <strong>fmt</strong> command to make it pretty (hopefully it is already).</p>
 | |
| <pre class="literal-block">
 | |
| $ fmt -w 80 RELEASE_NOTES-2.0.0.txt >RELEASE_NOTES-2.0.0.txt.new
 | |
| $ mv RELEASE_NOTES-2.0.0.txt.new RELEASE_NOTES-2.0.0.txt
 | |
| </pre>
 | |
| <p>We want to have an up-to-date version of the documentation in the release, so
 | |
| we'd better build it.</p>
 | |
| <pre class="literal-block">
 | |
| $ pwd
 | |
| .../shunit2/source/2.1
 | |
| $ cd doc
 | |
| $ RST2HTML_OPTS='--stylesheet-path=rst2html.css'
 | |
| $ rst2html ${RST2HTML_OPTS} shunit2.txt >shunit2.html
 | |
| $ rst2html ${RST2HTML_OPTS} README.txt >README.html
 | |
| </pre>
 | |
| </div>
 | |
| <div class="section" id="check-in-all-the-code">
 | |
| <h2>Check In All the Code</h2>
 | |
| <p>This step is pretty self-explanatory</p>
 | |
| <pre class="literal-block">
 | |
| $ pwd
 | |
| .../shunit2/source/2.0
 | |
| $ svn ci -m "finalizing release"
 | |
| </pre>
 | |
| </div>
 | |
| <div class="section" id="tag-the-release">
 | |
| <h2>Tag the Release</h2>
 | |
| <pre class="literal-block">
 | |
| $ pwd
 | |
| .../shunit2/source
 | |
| $ ls
 | |
| 2.0  2.1
 | |
| $ svn cp -m "Release 2.0.0" 2.0 https://shunit2.googlecode.com/svn/tags/source/2.0.0
 | |
| </pre>
 | |
| </div>
 | |
| <div class="section" id="export-the-release">
 | |
| <h2>Export the Release</h2>
 | |
| <pre class="literal-block">
 | |
| $ pwd
 | |
| .../shunit2/builds
 | |
| $ svn export https://shunit2.googlecode.com/svn/tags/source/2.0.0 shunit2-2.0.0
 | |
| </pre>
 | |
| </div>
 | |
| <div class="section" id="create-tarball">
 | |
| <h2>Create Tarball</h2>
 | |
| <pre class="literal-block">
 | |
| $ tar cfz ../releases/shunit2-2.0.0.tgz shunit2-2.0.0
 | |
| </pre>
 | |
| </div>
 | |
| <div class="section" id="sign-the-tarball-with-gpg">
 | |
| <h2>Sign the Tarball with gpg</h2>
 | |
| <pre class="literal-block">
 | |
| $ cd ../releases
 | |
| $ gpg --default-key kate.ward@forestent.com --detach-sign shunit2-2.0.0.tgz
 | |
| </pre>
 | |
| </div>
 | |
| <div class="section" id="update-website">
 | |
| <h2>Update Website</h2>
 | |
| <p>Again, pretty self-explanatory. Make sure to copy the GPG signature file. Once
 | |
| that is done, make sure to tag the website so we can go back in time if needed.</p>
 | |
| <pre class="literal-block">
 | |
| $ pwd
 | |
| .../shunit2
 | |
| $ ls
 | |
| source  website
 | |
| $ svn cp -m "Release 2.0.0" \
 | |
| website https://shunit2.googlecode.com/svn/tags/website/20060916
 | |
| </pre>
 | |
| <p>Now, update the website. It too is held in Subversion, so <strong>ssh</strong> into the web
 | |
| server and use <tt class="docutils literal">svn up</tt> to grab the latest version.</p>
 | |
| </div>
 | |
| <div class="section" id="post-to-code-google-com-and-freshmeat">
 | |
| <h2>Post to code.google.com and Freshmeat</h2>
 | |
| <ul class="simple">
 | |
| <li><a class="reference external" href="http://code.google.com/p/shunit2/">http://code.google.com/p/shunit2/</a></li>
 | |
| <li><a class="reference external" href="http://freshmeat.net/">http://freshmeat.net/</a></li>
 | |
| </ul>
 | |
| </div>
 | |
| </div>
 | |
| <div class="section" id="related-documentation">
 | |
| <h1>Related Documentation</h1>
 | |
| <dl class="docutils">
 | |
| <dt>Docbook:</dt>
 | |
| <dd><a class="reference external" href="http://www.docbook.org/">http://www.docbook.org/</a></dd>
 | |
| <dt>Docbook XML</dt>
 | |
| <dd><dl class="first last docutils">
 | |
| <dt>docbook-xml-4.4.zip:</dt>
 | |
| <dd><a class="reference external" href="http://www.docbook.org/xml/4.4/docbook-xml-4.4.zip">http://www.docbook.org/xml/4.4/docbook-xml-4.4.zip</a>
 | |
| <a class="reference external" href="http://www.oasis-open.org/docbook/xml/4.4/docbook-xml-4.4.zip">http://www.oasis-open.org/docbook/xml/4.4/docbook-xml-4.4.zip</a></dd>
 | |
| <dt>docbook-xml-4.5.zip:</dt>
 | |
| <dd><a class="reference external" href="http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip">http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip</a></dd>
 | |
| </dl>
 | |
| </dd>
 | |
| <dt>Docbook XSL</dt>
 | |
| <dd><dl class="first last docutils">
 | |
| <dt>docbook-xsl-1.71.0.tar.bz2:</dt>
 | |
| <dd><a class="reference external" href="http://prdownloads.sourceforge.net/docbook/docbook-xsl-1.71.0.tar.bz2?download">http://prdownloads.sourceforge.net/docbook/docbook-xsl-1.71.0.tar.bz2?download</a></dd>
 | |
| <dt>docbook-xsl-1.71.1.tar.bz2:</dt>
 | |
| <dd><a class="reference external" href="http://downloads.sourceforge.net/docbook/docbook-xsl-1.71.1.tar.bz2?use_mirror=puzzle">http://downloads.sourceforge.net/docbook/docbook-xsl-1.71.1.tar.bz2?use_mirror=puzzle</a></dd>
 | |
| </dl>
 | |
| </dd>
 | |
| <dt>JUnit:</dt>
 | |
| <dd><a class="reference external" href="http://www.junit.org/">http://www.junit.org/</a></dd>
 | |
| <dt>reStructuredText:</dt>
 | |
| <dd><a class="reference external" href="http://docutils.sourceforge.net/docs/user/rst/quickstart.html">http://docutils.sourceforge.net/docs/user/rst/quickstart.html</a></dd>
 | |
| </dl>
 | |
| <!-- generate HTML using rst2html from Docutils of -->
 | |
| <!-- http://docutils.sourceforge.net/ -->
 | |
| <!--  -->
 | |
| <!-- vim:fileencoding=latin1:ft=rst:spell:tw=80 -->
 | |
| <!-- $Revision: 286 $ -->
 | |
| </div>
 | |
| </div>
 | |
| </body>
 | |
| </html>
 |