<html>

   <head>
      <title>Google Web Toolkit @GWT_VERSION@</title>
      <style>
         body {
            background-color: white;
            color: black;
            font-family: Arial, sans-serif;
            font-size: 10pt;
            margin: 20px;
            overflow: hidden;
         }

         #title {
            font-size: 14pt;
            font-weight: bold;
         }

         #title a {
            text-decoration: none;
         }

         #version {
            font-size: 8pt;
            font-weight: bold;
            text-align: right;
         }
         
         #intro {
            margin: 10px 0px 10px 0px ;
         }
         
         #attribs {
         }
         
      </style>
   </head>

   <body>
      <table align="center">
         <tr>
            <td id="title"><a href="http://code.google.com/webtoolkit/">Google Web Toolkit</a></td>
         </tr>
         <tr>
            <td id="version">Version @GWT_VERSION@</td>
         </tr>
      </table>

      <hr/>

      <div id="intro">
         Copyright &copy; 2007 <a href="http://www.google.com/">Google Inc.</a>
         All rights reserved.  
         All other product, service names, brands, or trademarks, are the property of their respective owners.
      </div>

      <div id="attribs">
         This product includes software developed by
         <ul>
            <li>
                The <a href="http://www.apache.org/">Apache Software Foundation</a>
                <ul>
                    <li><a href="http://tomcat.apache.org/">Tomcat</a> (with modifications)</li>
                    <li><a href="http://xerces.apache.org/">Xerces</a></li>
                    <li><a href="http://tapestry.apache.org/">Tapestry</a></li>
                </ul
            </li>
            <li>
                The <a href="http://www.eclipse.org/">Eclipse Foundation</a>
                <ul>
                    <li><a href="http://www.eclipse.org/jdt/">Java Development Tools</a></li>
                    <li><a href="http://www.eclipse.org/swt/">Standard Widget Toolkit</a> (with modifications)</li>
                </ul
            </li>
            <li>The <a href="http://www.jfree.org/jfreechart/">JFreeChart Project</a></li>
            <li>
                The <a href="http://www.mozilla.org/">Mozilla Foundation</a>
                <ul>
                    <li><a href="http://www.mozilla.org/releases/mozilla1.7.12/">Mozilla 1.7.12</a></li>
                    <li><a href="http://www.mozilla.org/rhino/">Rhino</a> (with modifications)</li>
                </ul
            </li>
            <li>The <a href="http://www.saxproject.org/">SAX project</a></li>
            <li>The <a href="http://www.webkit.org/">WebKit Open Source Project</a></li>
            <li>The <a href="http://www.w3.org/">W3C consortium</a></li>
         </ul>
         For source availability and license information see COPYING.html.

      </div>
      
   </body>

</html>
