<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en">
	<head>
		<title>
			{% block title %}{{ headers.title }}{% endblock %}
		</title>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
		<meta property="og:image" content="http://www.apache.org/images/asf_logo.gif">
		<link href="css/hdt.css" rel="stylesheet" type="text/css">
		<link rel="alternate" href="{{%20headers.atom.url%20}}" type="application/atom+xml" title="{{ headers.atom.title }}">
		<base href="{{%20headers.base%20}}">
	</head>
	<body>
		<p>
			{% if headers.atom %} {% endif %} {% if headers.base %}{% endif %} {% if headers.notice %}<!-- {{ headers.notice }} -->{% endif %}
		</p>
		<div id="banner">
			&nbsp;
		</div>
		<div id="navigation">
			{% filter markdown %}{% include "sidenav.mdtext" %}{% endfilter %}
		</div>
		<div id="bannertext">
			<img id="logo" alt="Apache Hadoop Development Tools" src="images/hadoop-logo.jpg" name="logo">™
		</div>
		<div id="content">
			<h1 class="title">
				{% block title %}{{ headers.title }}{% endblock %}
			</h1>{% block content %}{{ content|markdown }}{% endblock %}
		</div>
		<div id="copyright" class="container_16">
			<p>
				Copyright © 2011 The Apache Software Foundation, Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br>
				Apache and the Apache feather logo are trademarks of The Apache Software Foundation.
			</p>
		</div>
	</body>
</html>
