<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; 2008 <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://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://openqa.org/">OpenQA Project</a>
              <ul>
                <li><a href="http://selenium-rc.openqa.org/">Selenium-RC</a> </li>
              </ul>
            </li>
            <li>The <a href="http://www.webkit.org/">WebKit Open Source Project</a></li>
         </ul>
         For source availability and license information see COPYING.html.

      </div>
      
   </body>

</html>
