<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Not Found</title>
    <meta name="author" content="Christopher Guindon"/>
    <meta name="keywords" content="eclipse.org, Eclipse Foundation"/>
    <link rel="shortcut icon" href="/eclipse.org-common/themes/solstice/public/images/favicon.ico"/>
    <base href="http://download.eclipse.org/" />
    <link href="//fonts.googleapis.com/css?family=Open+Sans:400,700,300,600,100" rel="stylesheet" type="text/css">
    <link rel="stylesheet" href="/eclipse.org-common/themes/solstice/public/stylesheets/styles.min.css">
    <meta property="og:description" content="Eclipse is probably best known as a Java IDE, but it is more: it is an IDE framework, a tools framework, an open source project, a community, an eco-system, and a foundation."/>
    <meta property="og:image" content="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/images/logo/eclipse-200x200.png"/>
    <meta property="og:title" content="HTML Template"/>
    <meta property="og:image:width" content="200"/>
    <meta property="og:image:height" content="200"/>
    <meta itemprop="name" content="HTML Template"/>
    <meta itemprop="description" content="Eclipse is probably best known as a Java IDE, but it is more: it is an IDE framework, a tools framework, an open source project, a community, an eco-system, and a foundation."/>
    <meta itemprop="image" content="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/images/logo/eclipse-400x400.png"/>
    <meta name="twitter:site" content="@EclipseFdn"/>
    <meta name="twitter:card" content="summary"/>
    <meta name="twitter:title" content="HTML Template"/>
    <meta name="twitter:url" content="http://www.eclipse.org/eclipse.org-common/themes/solstice/html_template/index.php?theme=solstice&layout=default"/>
    <meta name="twitter:description" content="Eclipse is probably best known as a Java IDE, but it is more: it is an IDE framework, a tools framework, an open source project, a community, an eco-system, and a foundation."/>
    <meta name="twitter:image" content="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/images/logo/eclipse-400x400.png"/>
    <script> var eclipse_org_common = {"settings":{"cookies_class":{"name":"eclipse_settings","enabled":1}}}</script>
  </head>
  <body id="body_solstice">
    <a class="sr-only" href="#content">Skip to main content</a>
    <!--
      <div class="clearfix toolbar-container-wrapper">
        <div class="container">
          <div class="text-right toolbar-row row hidden-print">
            <div class="col-md-24 row-toolbar-col">
              <ul class="list-inline">
                <li><a href="https://dev.eclipse.org/site_login/createaccount.php"><i class="fa fa-user fa-fw"></i> Create account</a></li>
                <li><a href="https://dev.eclipse.org/site_login/?takemeback=http://www.eclipse.org//eclipse.org-common/themes/solstice/html_template/index.php?theme=solstice&layout=default"><i class="fa fa-sign-in fa-fw"></i> Log in</a></li>
              </ul>
            </div>
          </div>
        </div>
      </div>
      -->
    <header role="banner" id="header-wrapper">
      <div class="container">
        <div class="row" id="header-row">
          <div class="hidden-xs col-sm-8 col-md-6 col-lg-5" id="header-left">
            <div class="wrapper-logo-default"><a href="http://www.eclipse.org/"><img class="logo-eclipse-default img-responsive hidden-xs" alt="logo" src="/eclipse.org-common/themes/solstice/public/images/logo/eclipse-426x100.png"/></a></div>
          </div>
          <div class="col-sm-10 col-md-8 col-lg-5 hidden-print hidden-xs pull-right" id="header-right">
            <div class="row">
              <div class="col-md-24">
                <div id="custom-search-form" class="reset-box-sizing">
                  <script>
                    (function() {
                      var cx = '011805775785170369411:15ipmpflp-0';
                      var gcse = document.createElement('script');
                      gcse.type = 'text/javascript';
                      gcse.async = true;
                      gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
                      '//cse.google.com/cse.js?cx=' + cx;
                      var s = document.getElementsByTagName('script')[0];
                      s.parentNode.insertBefore(gcse, s);
                    })();
                  </script>
                  <gcse:searchbox-only></gcse:searchbox-only>
                </div>
              </div>
            </div>
            <div id="btn-call-for-action"><a href="https://www.eclipse.org/donate/" class="btn btn-huge btn-info"><i class="fa fa-star"></i> Donate</a></div>
          </div>
          <div class="col-sm-14 col-md-16 col-lg-19 reset" id="main-menu-wrapper">
            <div class="navbar yamm" id="main-menu">
              <div id="navbar-collapse-1" class="navbar-collapse collapse">
                <ul class="nav navbar-nav">
                  <li class="visible-thin"><a href="http://www.eclipse.org/downloads/" target="_self">Download</a></li>
                  <li><a href="http://www.eclipse.org/users/" target="_self">Getting Started</a></li>
                  <li><a href="http://www.eclipse.org/membership/" target="_self">Members</a></li>
                  <li><a href="http://www.eclipse.org/projects/" target="_self">Projects</a></li>
                  <li class="dropdown visible-xs">
                    <a href="#" data-toggle="dropdown" class="dropdown-toggle">Community <b class="caret"></b></a>
                    <ul class="dropdown-menu">
                      <li><a href="http://marketplace.eclipse.org">Marketplace</a></li>
                      <li><a href="http://events.eclipse.org">Events</a></li>
                      <li><a href="http://www.planeteclipse.org/">Planet Eclipse</a></li>
                      <li><a href="http://www.eclipse.org/community/eclipse_newsletter/">Newsletter</a></li>
                      <li><a href="https://www.youtube.com/user/EclipseFdn">Videos</a></li>
                    </ul>
                  </li>
                  <li class="dropdown visible-xs">
                    <a href="#" data-toggle="dropdown" class="dropdown-toggle">Participate <b class="caret"></b></a>
                    <ul class="dropdown-menu">
                      <li><a href="https://bugs.eclipse.org/bugs/">Report a Bug</a></li>
                      <li><a href="http://www.eclipse.org/forums/">Forums</a></li>
                      <li><a href="http://www.eclipse.org/mail/">Mailing Lists</a></li>
                      <li><a href="https://wiki.eclipse.org/">Wiki</a></li>
                      <li><a href="https://wiki.eclipse.org/IRC">IRC</a></li>
                      <li><a href="http://www.eclipse.org/contribute/">How to Contribute</a></li>
                    </ul>
                  </li>
                  <li class="dropdown visible-xs">
                    <a href="#" data-toggle="dropdown" class="dropdown-toggle">Working Groups <b class="caret"></b></a>
                    <ul class="dropdown-menu">
                      <li><a href="http://wiki.eclipse.org/Auto_IWG">Automotive</a></li>
                      <li><a href="http://iot.eclipse.org">Internet of Things</a></li>
                      <li><a href="http://locationtech.org">LocationTech</a></li>
                      <li><a href="http://lts.eclipse.org">Long-Term Support</a></li>
                      <li><a href="http://polarsys.org">PolarSys</a></li>
                      <li><a href="http://science.eclipse.org">Science</a></li>
                      <li><a href="http://www.openmdm.org">OpenMDM</a></li>
                    </ul>
                  </li>
                  <!-- More -->
                  <li class="dropdown eclipse-more hidden-xs">
                    <a data-toggle="dropdown" class="dropdown-toggle">More<b class="caret"></b></a>
                    <ul class="dropdown-menu">
                      <li>
                        <!-- Content container to add padding -->
                        <div class="yamm-content">
                          <div class="row">
                            <ul class="col-sm-8 list-unstyled">
                              <li>
                                <p><strong>Community</strong></p>
                              </li>
                              <li><a href="http://marketplace.eclipse.org">Marketplace</a></li>
                              <li><a href="http://events.eclipse.org">Events</a></li>
                              <li><a href="http://www.planeteclipse.org/">Planet Eclipse</a></li>
                              <li><a href="http://www.eclipse.org/community/eclipse_newsletter/">Newsletter</a></li>
                              <li><a href="https://www.youtube.com/user/EclipseFdn">Videos</a></li>
                            </ul>
                            <ul class="col-sm-8 list-unstyled">
                              <li>
                                <p><strong>Participate</strong></p>
                              </li>
                              <li><a href="https://bugs.eclipse.org/bugs/">Report a Bug</a></li>
                              <li><a href="http://www.eclipse.org/forums/">Forums</a></li>
                              <li><a href="http://www.eclipse.org/mail/">Mailing Lists</a></li>
                              <li><a href="https://wiki.eclipse.org/">Wiki</a></li>
                              <li><a href="https://wiki.eclipse.org/IRC">IRC</a></li>
                              <li><a href="http://www.eclipse.org/contribute/">How to Contribute</a></li>
                            </ul>
                            <ul class="col-sm-8 list-unstyled">
                              <li>
                                <p><strong>Working Groups</strong></p>
                              </li>
                              <li><a href="http://wiki.eclipse.org/Auto_IWG">Automotive</a></li>
                              <li><a href="http://iot.eclipse.org">Internet of Things</a></li>
                              <li><a href="http://locationtech.org">LocationTech</a></li>
                              <li><a href="http://lts.eclipse.org">Long-Term Support</a></li>
                              <li><a href="http://polarsys.org">PolarSys</a></li>
                              <li><a href="http://science.eclipse.org">Science</a></li>
                              <li><a href="http://www.openmdm.org">OpenMDM</a></li>
                            </ul>
                          </div>
                        </div>
                      </li>
                    </ul>
                  </li>
                </ul>
              </div>
              <div class="navbar-header">
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse-1">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                </button>
                <div class="wrapper-logo-mobile"><a class="navbar-brand visible-xs" href="http://www.eclipse.org/"><img class="logo-eclipse-default-mobile img-responsive" alt="logo" src="/eclipse.org-common/themes/solstice/public/images/logo/eclipse-800x188.png"/></a></div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </header>
    <section class="hidden-print default-breadcrumbs" id="breadcrumb">
      <div class="container">
        <h3 class="sr-only">Breadcrumbs</h3>
        <div class="col-xs-24">
          <ol class="breadcrumb">
            <li><a href="https://www.eclipse.org/">Home</a></li>
            <li><a href="http://www.eclipse.org/downloads/">Downloads</a></li>
            <li class="active">Not Found</li>
          </ol>
        </div>
      </div>
    </section>
    <!-- /#breadcrumb -->
    <main class="no-promo">
      <div class="novaContent container" id="novaContent">
        <div id="midcolumn">
          <!-- DNR:FILE -->
          <h2>Other useful links</h2>
          <ul>
            <li><a href="//eclipse.org">Eclipse home</a> | <a href="//eclipse.org/downloads">Downloads Home</a></li>
            <li><a href="mailto:webmaster@eclipse.org">Email the webmaster</a></li>
          </ul>
        </div>
        <div class="col-md-6">
          <div class="sideitem">
            <h6>Useful links</h6>
            <ul>
              <li><a href="//archive.eclipse.org">Eclipse project archives</a></li>
              <li><a href="//download.eclipse.org/eclipse/downloads">Eclipse project downloads</a></li>
            </ul>
          </div>
        </div>
        <!-- End of content area -->
      </div>
    </main>
    <p id="back-to-top">
      <a class="visible-xs" href="#top">Back to the top</a>
    </p>
    <footer role="contentinfo" id="solstice-footer">
      <div class="container">
        <div class="row">
          <section class="col-sm-offset-1 col-xs-11 col-sm-7 col-md-6 col-md-offset-0 hidden-print" id="footer-eclipse-foundation">
            <h2 class="section-title">Eclipse Foundation</h2>
            <ul class="nav">
              <li><a href="http://www.eclipse.org/org/">About us</a></li>
              <li><a href="http://www.eclipse.org/org/foundation/contact.php">Contact Us</a></li>
              <li><a href="http://www.eclipse.org/donate">Donate</a></li>
              <li><a href="http://www.eclipse.org/org/documents/">Governance</a></li>
              <li><a href="http://www.eclipse.org/artwork/">Logo and Artwork</a></li>
              <li><a href="http://www.eclipse.org/org/foundation/directors.php">Board of Directors</a></li>
            </ul>
          </section>
          <section class="col-sm-offset-1 col-xs-11 col-sm-7 col-md-6 col-md-offset-0 hidden-print" id="footer-legal">
            <h2 class="section-title">Legal</h2>
            <ul class="nav">
              <li><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
              <li><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li>
              <li><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li>
              <li><a href="http://www.eclipse.org/org/documents/epl-v10.php">Eclipse Public License </a></li>
              <li><a href="http://www.eclipse.org/legal/">Legal Resources </a></li>
            </ul>
          </section>
          <section class="col-sm-offset-1 col-xs-11 col-sm-7 col-md-6 col-md-offset-0 hidden-print" id="footer-useful-links">
            <h2 class="section-title">Useful Links</h2>
            <ul class="nav">
              <li><a href="https://bugs.eclipse.org/bugs/">Report a Bug</a></li>
              <li><a href="//help.eclipse.org/">Documentation</a></li>
              <li><a href="http://www.eclipse.org/contribute/">How to Contribute</a></li>
              <li><a href="http://www.eclipse.org/mail/">Mailing Lists</a></li>
              <li><a href="http://www.eclipse.org/forums/">Forums</a></li>
              <li><a href="//marketplace.eclipse.org">Marketplace</a></li>
            </ul>
          </section>
          <section class="col-sm-offset-1 col-xs-11 col-sm-7 col-md-6 col-md-offset-0 hidden-print" id="footer-other">
            <h2 class="section-title">Other</h2>
            <ul class="nav">
              <li><a href="http://www.eclipse.org/ide/">IDE and Tools</a></li>
              <li><a href="http://www.eclipse.org/projects">Community of Projects</a></li>
              <li><a href="http://www.eclipse.org/org/workinggroups/">Working Groups</a></li>
            </ul>
            <ul class="list-inline social-media">
              <li><a href="https://twitter.com/EclipseFdn"><i class="fa fa-twitter-square"></i></a></li>
              <li><a href="https://plus.google.com/+Eclipse"><i class="fa fa-google-plus-square"></i></a></li>
              <li><a href="https://www.facebook.com/eclipse.org"><i class="fa fa-facebook-square"></i> </a></li>
              <li><a href="https://www.youtube.com/user/EclipseFdn"><i class="fa fa-youtube-square"></i></a></li>
            </ul>
          </section>
          <div id="copyright" class="col-sm-offset-1 col-sm-14 col-md-24 col-md-offset-0">
            <span class="hidden-print">
              <div class="wrapper-logo-eclipse-white"><a href="http://www.eclipse.org"><img class="logo-eclipse-white img-responsive" alt="logo" src="/eclipse.org-common/themes/solstice/public/images/logo/eclipse-logo-bw-332x78.png"/></a></div>
            </span>
            <p id="copyright-text">Copyright © 2016 The Eclipse Foundation. All Rights Reserved.</p>
          </div>
          <a href="#" class="scrollup">Back to the top</a>
        </div>
      </div>
    </footer>
    <!-- Placed at the end of the document so the pages load faster -->
    <script src="/eclipse.org-common/themes/solstice/public/javascript/main.min.js"></script>
    <script type="text/javascript">
      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-910670-2']);
      _gaq.push(['_trackPageview']);

      (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
      })();

    </script>
  </body>
</html>