<html manifest="manifest-for-appcache.manifest">
<head>
<script>
function complete() {
	document.write('Cache found');
	cleanup();
}

function error() {
	document.write('Cache not found');
	cleanup();
}

function cleanup() {
	top.postMessage('done', '*');
}

try {
	applicationCache.addEventListener('noupdate', complete, false);
	applicationCache.addEventListener('cached', complete, false);
	applicationCache.addEventListener('error', error, false);
} catch (e) {
	document.write('Cache not found');
	cleanup();
}
</script>
</head>
<body>
<img src="abe.png">
</body>
</head>
