<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at
  
      http://www.apache.org/licenses/LICENSE-2.0
    	  
  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.
  
-->
<html xmlns:wicket="http://wicket.apache.org">
<wicket:panel>
	<div wicket:id="buttons"></div>
	<table style="width: 100%; height: 100%">
		<tr>
			<td rowspan="2">
				<fieldset class="ui-widget-content">
					<legend class="ui-widget-header">
						<wicket:message key="143" />
					</legend>
					<form wicket:id="general"></form>
				</fieldset>
			</td>
			<td>
				<div wicket:id="img"></div>
			</td>
		</tr>
		<tr>
			<td>
				<fieldset class="ui-widget-content">
					<legend class="ui-widget-header">
						<wicket:message key="1159" />
					</legend>
					<form wicket:id="comunity"></form>
				</fieldset>
			</td>
		</tr>
	</table>
</wicket:panel>
</html>
