← Back to team overview

openstreetmap team mailing list archive

[Merge] lp:~thor-peter/josm/fix-for-bug-817749 into lp:josm

 

Peter Thor has proposed merging lp:~thor-peter/josm/fix-for-bug-817749 into lp:josm.

Requested reviews:
  OpenStreetMap (openstreetmap)

For more details, see:
https://code.launchpad.net/~thor-peter/josm/fix-for-bug-817749/+merge/72412

Altered debian/josm.desktop to only include Geography category.
-- 
The attached diff has been truncated due to its size.
https://code.launchpad.net/~thor-peter/josm/fix-for-bug-817749/+merge/72412
Your team OpenStreetMap is requested to review the proposed merge of lp:~thor-peter/josm/fix-for-bug-817749 into lp:josm.
=== added file '.classpath'
--- .classpath	1970-01-01 00:00:00 +0000
+++ .classpath	2011-08-22 12:04:26 +0000
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="src" path="test/unit"/>
+	<classpathentry kind="src" path="test/functional"/>
+	<classpathentry excluding="build/|data_nodist/|dist/|doc/|lib/|macosx/|src/|test/|test/build/|test/functional/|test/performance/|test/unit/|tools/|utils/" kind="src" path=""/>
+	<classpathentry kind="src" path="test/performance"/>
+	<classpathentry kind="lib" path="lib/metadata-extractor-2.3.1-nosun.jar"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
+	<classpathentry kind="lib" path="test/lib/fest/debug-1.0.jar"/>
+	<classpathentry kind="lib" path="test/lib/fest/fest-assert-1.0.jar"/>
+	<classpathentry kind="lib" path="test/lib/fest/fest-reflect-1.1.jar"/>
+	<classpathentry kind="lib" path="test/lib/fest/fest-swing-1.1.jar"/>
+	<classpathentry kind="lib" path="test/lib/fest/fest-util-1.0.jar"/>
+	<classpathentry kind="lib" path="test/lib/fest/jcip-annotations-1.0.jar"/>
+	<classpathentry kind="lib" path="test/lib/fest/MRJToolkitStubs-1.0.jar"/>
+	<classpathentry kind="lib" path="test/lib/jfcunit.jar"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry exported="true" kind="con" path="GROOVY_SUPPORT"/>
+	<classpathentry kind="lib" path="lib/signpost-core-1.2.1.1.jar"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>

=== renamed file '.classpath' => '.classpath.moved'
=== added directory '.externalToolBuilders'
=== renamed directory '.externalToolBuilders' => '.externalToolBuilders.moved'
=== added file '.externalToolBuilders/revision.launch'
--- .externalToolBuilders/revision.launch	1970-01-01 00:00:00 +0000
+++ .externalToolBuilders/revision.launch	2011-08-22 12:04:26 +0000
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
+<stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_AFTER_CLEAN_TARGETS" value="create-revision-eclipse,"/>
+<stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_MANUAL_TARGETS" value="create-revision-eclipse,"/>
+<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
+<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"/>
+<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
+<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value=""/>
+<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_BUILDER_ENABLED" value="true"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${build_project}/build.xml"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,"/>
+<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${build_project}"/>
+<stringAttribute key="process_factory_id" value="org.eclipse.ant.ui.remoteAntProcessFactory"/>
+</launchConfiguration>

=== added directory '.pc'
=== added file '.pc/.version'
--- .pc/.version	1970-01-01 00:00:00 +0000
+++ .pc/.version	2011-08-22 12:04:26 +0000
@@ -0,0 +1,1 @@
+2

=== added directory '.pc/10-build.patch'
=== added file '.pc/10-build.patch/build.xml'
--- .pc/10-build.patch/build.xml	1970-01-01 00:00:00 +0000
+++ .pc/10-build.patch/build.xml	2011-08-22 12:04:26 +0000
@@ -0,0 +1,320 @@
+<!-- ** build.xml - main ant file for JOSM
+**
+** To build run
+**    ant clean
+**    ant dist
+** This will create 'josm-custom.jar'  in directory 'dist'. See also
+**   https://josm.openstreetmap.de/wiki/CreateBuild
+**
+**
+-->
+<project name="josm" default="dist" basedir="." xmlns:as="antlib:org.codehaus.mojo.animal_sniffer">
+	<property name="test.dir" value="test" />
+	<property name="src.dir" value="src" />
+	<property name="build.dir" value="build"/>
+	<!-- build parameter: compression level (ant -Dclevel=N)
+             N ranges from 0 (no compression) to 9 (maximum compression)
+             default: 9 -->
+	<condition property="clevel" value="${clevel}" else="9">
+		<isset property="clevel" />
+	</condition>
+
+	<!-- Java classpath addition (all jar files to compile tests with this) -->
+	<path id="classpath">
+		<fileset dir="lib">
+			<include name="**/*.jar"/>
+		</fileset>
+	</path>
+
+
+	<!--
+	  ** Used by Eclipse ant builder for updating
+	  ** the REVISION file used by JOSM
+	-->
+	<target name="create-revision-eclipse">
+		<property name="revision.dir" value="bin"/>
+		<antcall target="create-revision" />
+	</target>
+
+	<!--
+	  ** Creates the REVISION file to be included in the distribution
+	  -->
+	<target name="create-revision">
+		<property name="revision.dir" value="${build.dir}"/>
+		<exec append="false" output="REVISION.XML" executable="svn" failifexecutionfails="false">
+			<env key="LANG" value="C"/>
+			<arg value="info"/>
+			<arg value="--xml"/>
+			<arg value="."/>
+		</exec>
+		<xmlproperty file="REVISION.XML" prefix="version" keepRoot="false" collapseAttributes="true"/>
+		<delete file="REVISION.XML" />
+		<tstamp>
+			<format property="build.tstamp" pattern="yyyy-MM-dd HH:mm:ss"/>
+		</tstamp>
+
+		<property name="version.entry.commit.revision" value="UNKNOWN"/>
+		<mkdir dir="${revision.dir}" />
+		<echo file="${revision.dir}/REVISION">
+# automatically generated by JOSM build.xml - do not edit
+Revision: ${version.entry.commit.revision}
+Is-Local-Build: true
+Build-Date: ${build.tstamp}
+</echo>
+	</target>
+
+
+	<target name="dist" depends="compile,create-revision">
+
+		<exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
+			<env key="LANG" value="C"/>
+			<arg value="info"/>
+			<arg value="--xml"/>
+			<arg value="."/>
+		</exec>
+		<xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
+		<delete file="REVISION"/>
+		<property name="version.entry.commit.revision" value="UNKNOWN"/>
+		<property name="version.entry.commit.date" value="UNKNOWN"/>
+		<echo>Revision ${version.entry.commit.revision}</echo>
+		<copy file="CONTRIBUTION" todir="build"/>
+		<copy file="README" todir="build"/>
+		<copy file="LICENSE" todir="build"/>
+
+		<!-- create josm-custom.jar -->
+		<delete file="dist/josm-custom.jar"/>
+		<jar destfile="dist/josm-custom.jar" basedir="build" level="${clevel}">
+			<!-- add attribute excludes="**/*BZip2*,**/*Bzip2*" to create a non-bzip2 supporting jar -->
+			<manifest>
+				<attribute name="Main-class" value="JOSM" />
+				<attribute name="Main-Version" value="${version.entry.commit.revision} SVN"/>
+				<attribute name="Main-Date" value="${version.entry.commit.date}"/>
+			</manifest>
+			<zipfileset dir="images" prefix="images" />
+			<zipfileset dir="data" prefix="data" />
+			<zipfileset dir="styles" prefix="styles" />
+			<zipfileset dir="src/org/openstreetmap/gui/jmapviewer/images" prefix="org/openstreetmap/gui/jmapviewer/images" />
+
+			<!-- All jar files necessary to run only JOSM (no tests) -->
+			<zipfileset src="lib/metadata-extractor-2.3.1-nosun.jar" />
+			<zipfileset src="lib/signpost-core-1.2.1.1.jar" />
+		</jar>
+	</target>
+
+	<target name="distmac" depends="dist">
+		<!-- modify MacOS X Info.plist file to hold the SVN version number -->
+		<copy file="macosx/JOSM.app/Contents/Info.plist" todir="build"/>
+		<replace file="build/Info.plist" token="@SVNVersion@" value="${version.entry.commit.revision}"/>
+		<!-- create ZIP file with MacOS X application bundle -->
+		<zip destfile="dist/josm-custom-macosx.zip" update="true">
+			<zipfileset dir="build" includes="CONTRIBUTION README LICENSE"/>
+			<zipfileset dir="macosx" includes="JOSM.app/Contents JOSM.app/Contents/MacOS JOSM.app/Contents/Resources JOSM.app/Contents/Resources/Java JOSM.app/Contents/PkgInfo JOSM.app/Contents/Resources/JOSM.icns"/>
+			<zipfileset dir="build" includes="Info.plist" prefix="JOSM.app/Contents"/>
+			<zipfileset dir="dist" includes="josm-custom.jar" prefix="JOSM.app/Contents/Resources/Java"/>
+			<zipfileset dir="macosx" includes="JOSM.app/Contents/MacOS/JOSM" filemode="755"/>
+		</zip>
+	</target>
+
+	<target name="compile" depends="init">
+		<javac srcdir="src" classpathref="classpath" destdir="build"
+				target="1.5" source="1.5" debug="on" encoding="UTF-8">
+			<compilerarg value="-Xlint:deprecation"/>
+			<compilerarg value="-Xlint:unchecked"/>
+		</javac>
+	</target>
+
+	<target name="init">
+		<mkdir dir="build" />
+		<mkdir dir="dist" />
+	</target>
+
+	<target name="clean">
+		<delete dir="build" />
+		<delete dir="dist" />
+	</target>
+
+	<target name="javacc">
+		<exec executable="javacc">
+			<arg value="-debug_parser=false"/>
+			<arg value="-debug_lookahead=false"/>
+			<arg value="-debug_token_manager=false"/>
+			<arg value="-output_directory=${src.dir}/org/openstreetmap/josm/gui/mappaint/mapcss/parser"/>
+			<arg value="${src.dir}/org/openstreetmap/josm/gui/mappaint/mapcss/parser/MapCSSParser.jj"/>
+		</exec>
+	</target>
+
+	<path id="test.classpath">
+		<fileset dir="${test.dir}/lib">
+			<include name="**/*.jar"/>
+		</fileset>
+		<fileset dir="lib">
+			<include name="**/*.jar"/>
+		</fileset>
+		<pathelement path="dist/josm-custom.jar"/>
+	</path>
+
+	<target name="test-init">
+		<mkdir dir="${test.dir}/${build.dir}" />
+		<mkdir dir="${test.dir}/report" />
+	</target>
+
+	<target name="test-clean">
+		<delete dir="${test.dir}/${build.dir}"/>
+		<delete dir="${test.dir}/report"/>
+	</target>
+
+	<target name="test-compile" depends="test-init,dist">
+		<javac srcdir="${test.dir}/unit" classpathref="test.classpath" destdir="${test.dir}/${build.dir}"
+				target="1.5" source="1.5" debug="on" encoding="UTF-8">
+			<compilerarg value="-Xlint:deprecation"/>
+			<compilerarg value="-Xlint:unchecked"/>
+		</javac>
+		<javac srcdir="${test.dir}/functional" classpathref="test.classpath" destdir="${test.dir}/${build.dir}"
+						target="1.5" source="1.5" debug="on" encoding="UTF-8">
+			<compilerarg value="-Xlint:deprecation"/>
+			<compilerarg value="-Xlint:unchecked"/>
+		</javac>
+	</target>
+
+	<target name="test" depends="test-compile">
+		<junit printsummary="yes">
+			<sysproperty key="josm.home" value="${test.dir}/config/unit-josm.home"/>
+			<sysproperty key="java.awt.headless" value="true"/>
+			<classpath>
+				<path refid="test.classpath"/>
+				<pathelement path="${test.dir}/${build.dir}"/>
+				<pathelement path="${test.dir}/config"/>
+			</classpath>
+			<formatter type="plain"/>
+			<formatter type="xml"/>
+			<batchtest fork="yes" todir="${test.dir}/report">
+				<fileset dir="${test.dir}/unit" includes="**/*.java"/>
+			</batchtest>
+		</junit>
+	</target>
+
+	<target name="test-html" depends="test" description="Generate HTML test reports">
+		<!-- May require additional ant dependencies like ant-trax package -->
+		<junitreport todir="${test.dir}/report">
+			<fileset dir="${test.dir}/report">
+				<include name="TEST-*.xml"/>
+			</fileset>
+			<report todir="${test.dir}/report/html"/>
+		</junitreport>
+	</target>
+
+	<target name="dist-optimized" depends="dist">
+		<taskdef resource="proguard/ant/task.properties" classpath="tools/proguard.jar" />
+		<proguard>
+	 	-injars dist/josm-custom.jar
+	 	-outjars dist/josm-custom-optimized.jar
+
+	 	-libraryjars ${java.home}/lib/rt.jar
+	 	-libraryjars ${java.home}/lib/jce.jar
+
+	 	-dontoptimize
+	 	-dontobfuscate
+
+	 	-dontskipnonpubliclibraryclasses
+
+	 	-keepclasseswithmembers public class org.openstreetmap.josm.gui.MainApplication {
+	 	    public static void main(java.lang.String[]);
+	 	}
+
+		-keep class JOSM
+	 	-keep class * extends org.openstreetmap.josm.io.FileImporter
+	 	-keep class * extends org.openstreetmap.josm.io.FileExporter
+	 	-keep class org.openstreetmap.josm.actions.search.SearchCompiler$Never
+
+	 	-keepclassmembers enum  * {
+	 	    public static **[] values();
+	 	    public static ** valueOf(java.lang.String);
+	 	}
+
+	 	-keepclassmembers class * {
+	 	    public protected *;
+	 	}
+		</proguard>
+	</target>
+
+	<target name="check-plugins" depends="dist-optimized">
+		<echo message="Check of plugins binary compatibility (needs ant 1.8)"/>
+
+		<local name="dir"/>
+		<local name="plugins"/>
+
+		<property name="dir" value="plugin-check"/>
+
+		<typedef uri="antlib:org.codehaus.mojo.animal_sniffer">
+			<classpath path="tools/animal-sniffer-ant-tasks-1.5.jar" />
+		</typedef>
+
+		<delete dir="${dir}"/>
+
+		<mkdir dir="${dir}"/>
+
+		<as:build-signatures destfile="${dir}/api.sig">
+			<path>
+				<fileset file="dist/josm-custom-optimized.jar" />
+				<fileset file="${java.home}/lib/rt.jar" />
+				<fileset file="${java.home}/lib/jce.jar" />
+			</path>
+		</as:build-signatures>
+		
+		<!-- List of deprecated plugins -->
+		<loadfile property="deprecated-plugins" srcFile="src/org/openstreetmap/josm/plugins/PluginHandler.java">
+			<filterchain>
+				<linecontains>
+					<contains value="new DeprecatedPlugin("/>
+				</linecontains>
+				<tokenfilter>
+					<replaceregex pattern='.*new DeprecatedPlugin\("(.+?)".*' replace="\1|" flags="gi"/>
+				</tokenfilter>
+				<striplinebreaks/>				
+				<tokenfilter>
+					<replaceregex pattern='\|$' replace="" flags="gi"/>
+				</tokenfilter>
+			</filterchain>
+		</loadfile>
+		
+		<!-- Download plugins -->
+		<loadresource property="plugins">
+			<url url="http://josm.openstreetmap.de/plugin"/>
+			<filterchain>
+				<linecontainsregexp negate="true">
+					<regexp pattern="^\t.*"/>
+				</linecontainsregexp>
+				<linecontainsregexp negate="true">
+					<regexp pattern="${deprecated-plugins}"/>
+				</linecontainsregexp>
+				<tokenfilter>
+					<replaceregex pattern="^.*;" replace="" flags="gi"/>
+				</tokenfilter>
+			</filterchain>
+		</loadresource>
+
+		<copy todir="${dir}" flatten="true">
+			<resourcelist>
+				<string value="${plugins}"/>
+			</resourcelist>
+		</copy>
+
+		<!-- Check plugins -->
+		<as:check-signature signature="${dir}/api.sig">
+			<ignore classname="org.jgraph.*"/>
+			<ignore classname="com.touchgraph.*"/>
+			<ignore classname="com.sun.xml.fastinfoset.*"/>
+			<ignore classname="javax.jms.*"/>
+			<ignore classname="org.jvnet.staxex.*"/>
+			<ignore classname="javax.mail.*"/>
+			<ignore classname="com.sun.jdmk.*"/>
+			<ignore classname="org.apache.avalon.framework.logger.Logger"/>
+			<ignore classname="org.apache.log.*"/>
+			<ignore classname="junit.*"/>
+			<path path="${dir}"/>
+		</as:check-signature>
+
+	</target>
+
+
+</project>

=== added directory '.pc/10-build.patch/i18n'
=== added file '.pc/10-build.patch/i18n/build.xml'
--- .pc/10-build.patch/i18n/build.xml	1970-01-01 00:00:00 +0000
+++ .pc/10-build.patch/i18n/build.xml	2011-08-22 12:04:26 +0000
@@ -0,0 +1,139 @@
+<project name="JOSM i18n" default="build" basedir=".">
+
+  <!-- compilation properties -->
+  <property name="josm.build.dir"    value="../core"/>
+  <property name="josm.presets"      value="${josm.build.dir}/data/defaultpresets.xml"/>
+  <property name="josm.style"        value="${josm.build.dir}/styles/standard/elemstyles.xml"/>
+  <property name="plugin.dir"        value="../plugins"/>
+  <property name="validator.tagfile" value="${josm.build.dir}/data/tagchecker.cfg"/>
+  <property name="wms.srcfile"       value="http://josm.openstreetmap.de/maps"/>
+  <property name="surveyor.srcfile"  value="${plugin.dir}/surveyor/resources/surveyor.xml"/>
+  <property name="i18n.build.dir"    value="build"/>
+  <property name="i18n.install.dir"  value="${josm.build.dir}/data"/>
+  <property name="i18n.oldinstall.dir" value="${josm.build.dir}/lib"/>
+  <property name="i18n.name"         value="josm-translation"/>
+  <property name="i18n.jar"          value="${i18n.oldinstall.dir}/${i18n.name}.jar"/>
+
+  <property name="ant.build.javac.target" value="1.5"/>
+
+  <property name="gettexttasks.jar" value="lib/gettext-ant-tasks-0.9.7.jar"/>
+
+  <target name="init.gettext" description="Loads the Ant gettext tasks">
+    <taskdef name="gettext-extract" classname="org.xnap.commons.ant.gettext.GettextExtractKeysTask" classpath="${gettexttasks.jar}"/>
+    <taskdef name="gettext-merge" classname="org.xnap.commons.ant.gettext.GettextMergeKeysTask" classpath="${gettexttasks.jar}"/>
+    <taskdef name="gettext-dist" classname="org.xnap.commons.ant.gettext.GettextDistTask" classpath="${gettexttasks.jar}"/>
+  </target>
+
+  <target name="trans_.java">
+    <mkdir dir="${i18n.build.dir}"/>
+    <exec executable="perl" failonerror="true" output="${i18n.build.dir}/trans_presets.java">
+      <arg line="convpreset.pl ${josm.presets}"/>
+    </exec>
+    <exec executable="perl" output="${i18n.build.dir}/trans_style.java">
+      <arg line="convstyle.pl ${josm.style}"/>
+    </exec>
+    <exec executable="perl" output="${i18n.build.dir}/trans_validator.java">
+      <arg line="convvalidator.pl ${validator.tagfile}"/>
+    </exec>
+    <exec executable="perl" output="${i18n.build.dir}/trans_wms.java">
+      <arg line="convwms.pl ${wms.srcfile}"/>
+    </exec>
+    <exec executable="perl" output="${i18n.build.dir}/trans_surveyor.java">
+      <arg line="convsurveyor.pl ${surveyor.srcfile}"/>
+    </exec>
+    <exec executable="perl" output="${i18n.build.dir}/trans_plugins.java">
+      <arg line="convplugins.pl ${plugin.dir}/*/build.xml"/>
+    </exec>
+    <copy file="specialmessages.java" todir="${i18n.build.dir}" />
+  </target>
+
+  <target name="po/josm.pot"
+          description="Extracts message keys from the source code"
+          depends="trans_.java,init.gettext">
+    <gettext-extract keysFile="josm.pot" poDirectory="po"
+                     keywords="-k -ktrc:1c,2 -kmarktrc:1c,2 -ktr -kmarktr -ktrn:1,2 -ktrnc:1c,2,3">
+      <fileset dir="${josm.build.dir}/src" includes="**/*.java"/>
+      <fileset dir="${plugin.dir}" includes="**/*.java"/>
+      <fileset dir="${i18n.build.dir}" includes="specialmessages.java"/>
+      <fileset dir="${i18n.build.dir}" includes="trans_*.java"/>
+    </gettext-extract>
+  </target>
+
+  <target name="prebuild" depends="po/josm.pot,init.gettext">
+    <gettext-merge keysFile="josm.pot" poDirectory="po"/>
+  </target>
+
+  <target name="build" depends="prebuild">
+    <exec executable="perl">
+      <arg line="i18n.pl ${i18n.install.dir}/ po/*.po"/>
+    </exec>
+  </target>
+
+  <target name="buildold" depends="prebuild">
+    <copy file="i18n.properties" todir="build/org/openstreetmap/josm" />
+
+    <!--<gettext-dist targetBundle="org.openstreetmap.josm.i18n.Translation"
+                  poDirectory="po" outputDirectory="build"/>-->
+    <ant target="build-lang"><property name="language" value="ar"/></ant>
+    <ant target="build-lang"><property name="language" value="bg"/></ant>
+    <ant target="build-lang"><property name="language" value="cs"/></ant>
+    <ant target="build-lang"><property name="language" value="da"/></ant>
+    <ant target="build-lang"><property name="language" value="de"/></ant>
+    <ant target="build-lang"><property name="language" value="el"/></ant>
+    <ant target="build-lang"><property name="language" value="en_AU"/></ant>
+    <ant target="build-lang"><property name="language" value="en_GB"/></ant>
+    <ant target="build-lang"><property name="language" value="es"/></ant>
+    <ant target="build-lang"><property name="language" value="et"/></ant>
+    <ant target="build-lang"><property name="language" value="fi"/></ant>
+    <ant target="build-lang"><property name="language" value="fr"/></ant>
+    <ant target="build-lang"><property name="language" value="gl"/></ant>
+    <ant target="build-lang"><property name="language" value="he"/><property name="jlanguage" value="iw_IL"/></ant>
+    <ant target="build-lang"><property name="language" value="ja"/></ant>
+    <ant target="build-lang"><property name="language" value="is"/></ant>
+    <ant target="build-lang"><property name="language" value="it"/></ant>
+    <ant target="build-lang"><property name="language" value="nb"/></ant>
+    <ant target="build-lang"><property name="language" value="nl"/></ant>
+    <ant target="build-lang"><property name="language" value="pl"/></ant>
+    <ant target="build-lang"><property name="language" value="pt_BR"/></ant>
+    <ant target="build-lang"><property name="language" value="ro"/></ant>
+    <ant target="build-lang"><property name="language" value="ru"/></ant>
+    <ant target="build-lang"><property name="language" value="sk"/></ant>
+    <ant target="build-lang"><property name="language" value="sl"/></ant>
+    <ant target="build-lang"><property name="language" value="sv"/></ant>
+    <ant target="build-lang"><property name="language" value="tr"/></ant>
+    <ant target="build-lang"><property name="language" value="zh_TW"/></ant>
+
+    <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
+      <env key="LANG" value="C"/>
+      <arg value="info"/>
+      <arg value="--xml"/>
+      <arg value="po"/>
+    </exec>
+    <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
+    <delete file="REVISION"/>
+
+    <jar destfile="${i18n.jar}" basedir="build" excludes="**/*.java">
+      <manifest>
+        <attribute name="Extension-Name" value="JOSM Translation into various languages" />
+        <attribute name="Translation-Version" value="${version.entry.commit.revision}"/>
+        <attribute name="Translation-Date" value="${version.entry.commit.date}"/>
+      </manifest>
+    </jar>
+  </target>
+
+  <target name="build-lang">
+    <property name="jlanguage" value="${language}"/>
+    <exec executable="msgfmt">
+      <arg line="--verbose --java2 -dbuild -rorg.openstreetmap.josm.i18n.Translation -l${jlanguage} po/${language}.po"/>
+    </exec>
+  </target>
+
+  <target name="clean">
+    <delete dir="${i18n.build.dir}" />
+    <delete file="po/josm.pot"/>
+    <delete>
+      <fileset dir="po" includes="*.*~" defaultexcludes="false"/>
+    </delete>
+  </target>
+
+</project>

=== added directory '.pc/20-bts.patch'
=== added directory '.pc/20-bts.patch/src'
=== added directory '.pc/20-bts.patch/src/org'
=== added directory '.pc/20-bts.patch/src/org/openstreetmap'
=== added directory '.pc/20-bts.patch/src/org/openstreetmap/josm'
=== added directory '.pc/20-bts.patch/src/org/openstreetmap/josm/actions'
=== added file '.pc/20-bts.patch/src/org/openstreetmap/josm/actions/AboutAction.java'
--- .pc/20-bts.patch/src/org/openstreetmap/josm/actions/AboutAction.java	1970-01-01 00:00:00 +0000
+++ .pc/20-bts.patch/src/org/openstreetmap/josm/actions/AboutAction.java	2011-08-22 12:04:26 +0000
@@ -0,0 +1,99 @@
+//License: GPL. Copyright 2007 by Immanuel Scholz and others
+package org.openstreetmap.josm.actions;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import java.awt.Dimension;
+import java.awt.Font;
+import java.awt.GridBagLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.KeyEvent;
+
+import javax.swing.BorderFactory;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTabbedPane;
+import javax.swing.JTextArea;
+
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.data.Version;
+import org.openstreetmap.josm.plugins.PluginHandler;
+import org.openstreetmap.josm.tools.GBC;
+import org.openstreetmap.josm.tools.ImageProvider;
+import org.openstreetmap.josm.tools.Shortcut;
+import org.openstreetmap.josm.tools.UrlLabel;
+
+/**
+ * Nice about screen. I guess every application need one these days.. *sigh*
+ *
+ * The REVISION resource is read and if present, it shows the revision
+ * information of the jar-file.
+ *
+ * @author imi
+ */
+public class AboutAction extends JosmAction {
+
+    public AboutAction() {
+        super(tr("About"), "about", tr("Display the about screen."), Shortcut.registerShortcut("system:about", tr("About"), KeyEvent.VK_F1, Shortcut.GROUP_DIRECT, Shortcut.SHIFT_DEFAULT), true);
+    }
+
+    public void actionPerformed(ActionEvent e) {
+        JTabbedPane about = new JTabbedPane();
+
+        JTextArea readme = new JTextArea();
+        readme.setEditable(false);
+        readme.setText(Version.loadResourceFile(Main.class.getResource("/README")));
+
+        JTextArea contribution = new JTextArea();
+        contribution.setEditable(false);
+        contribution.setText(Version.loadResourceFile(Main.class.getResource("/CONTRIBUTION")));
+
+        JTextArea license = new JTextArea();
+        license.setEditable(false);
+        license.setText(Version.loadResourceFile(Main.class.getResource("/LICENSE")));
+
+        Version version = Version.getInstance();
+
+        JPanel info = new JPanel(new GridBagLayout());
+        JLabel caption = new JLabel("JOSM - " + tr("Java OpenStreetMap Editor"));
+        caption.setFont(new Font("Helvetica", Font.BOLD, 20));
+        info.add(caption, GBC.eol().fill(GBC.HORIZONTAL).insets(10,0,0,0));
+        info.add(GBC.glue(0,10), GBC.eol());
+        info.add(new JLabel(tr("Version {0}", version.getVersionString())), GBC.eol().fill(GBC.HORIZONTAL).insets(10,0,0,0));
+        info.add(GBC.glue(0,5), GBC.eol());
+        info.add(new JLabel(tr("Last change at {0}",version.getTime())), GBC.eol().fill(GBC.HORIZONTAL).insets(10,0,0,0));
+        info.add(GBC.glue(0,5), GBC.eol());
+        info.add(new JLabel(tr("Java Version {0}",System.getProperty("java.version"))), GBC.eol().fill(GBC.HORIZONTAL).insets(10,0,0,0));
+        info.add(GBC.glue(0,10), GBC.eol());
+        info.add(new JLabel(tr("Homepage")), GBC.std().insets(10,0,10,0));
+        info.add(new UrlLabel("http://josm.openstreetmap.de";), GBC.eol().fill(GBC.HORIZONTAL));
+        info.add(new JLabel(tr("Bug Reports")), GBC.std().insets(10,0,10,0));
+        info.add(new UrlLabel("http://josm.openstreetmap.de/newticket";), GBC.eol().fill(GBC.HORIZONTAL));
+
+        JTextArea revision = new JTextArea();
+        revision.setEditable(false);
+        revision.setText(version.getReleaseAttributes());
+        about.addTab(tr("Info"), info);
+        about.addTab(tr("Readme"), createScrollPane(readme));
+        about.addTab(tr("Revision"), createScrollPane(revision));
+        about.addTab(tr("Contribution"), createScrollPane(contribution));
+        about.addTab(tr("License"), createScrollPane(license));
+        about.addTab(tr("Plugins"), new JScrollPane(PluginHandler.getInfoPanel()));
+
+        about.setPreferredSize(new Dimension(500,300));
+
+        JOptionPane.showMessageDialog(Main.parent, about, tr("About JOSM..."),
+                JOptionPane.INFORMATION_MESSAGE, ImageProvider.get("logo"));
+    }
+
+    private JScrollPane createScrollPane(JTextArea area) {
+        area.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+        area.setOpaque(false);
+        JScrollPane sp = new JScrollPane(area);
+        sp.setBorder(null);
+        sp.setOpaque(false);
+        return sp;
+    }
+}

=== added directory '.pc/20-bts.patch/src/org/openstreetmap/josm/data'
=== added file '.pc/20-bts.patch/src/org/openstreetmap/josm/data/Version.java'
--- .pc/20-bts.patch/src/org/openstreetmap/josm/data/Version.java	1970-01-01 00:00:00 +0000
+++ .pc/20-bts.patch/src/org/openstreetmap/josm/data/Version.java	2011-08-22 12:04:26 +0000
@@ -0,0 +1,207 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.data;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Map.Entry;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.tools.LanguageInfo;
+
+/**
+ * Provides basic information about the currently used JOSM build.
+ *
+ */
+public class Version {
+    /** constant to indicate that the currnt build isn't assigned a JOSM version number */
+    static public final int JOSM_UNKNOWN_VERSION = 0;
+
+    /** the unique instance */
+    private static Version instance;
+
+    /**
+     * Load the specified resource as string.
+     *
+     * @param resource the resource url to load
+     * @return  the content of the resource file; null, if an error occurred
+     */
+    static public String loadResourceFile(URL resource) {
+        if (resource == null) return null;
+        BufferedReader in;
+        String s = null;
+        try {
+            in = new BufferedReader(new InputStreamReader(resource.openStream()));
+            StringBuffer sb = new StringBuffer();
+            for (String line = in.readLine(); line != null; line = in.readLine()) {
+                sb.append(line).append("\n");
+            }
+            s = sb.toString();
+        } catch (IOException e) {
+            System.err.println(tr("Failed to load resource ''{0}'', error is {1}.", resource.toString(), e.toString()));
+            e.printStackTrace();
+        }
+        return s;
+    }
+
+    /**
+     * Replies the unique instance of the version information
+     *
+     * @return the unique instance of the version information
+     */
+
+    static public Version getInstance() {
+        if (instance == null) {
+            instance = new Version();
+            instance.init();
+        }
+        return instance;
+    }
+
+    private int version;
+    private String revision;
+    private String time;
+    private boolean isLocalBuild;
+
+    protected HashMap<String, String> parseManifestStyleFormattedString(String content) {
+        HashMap<String, String> properties = new HashMap<String, String>();
+        if (content == null) return properties;
+        Pattern p = Pattern.compile("^([^:]+):(.*)$");
+        for (String line: content.split("\n")) {
+            if (line == null || line.trim().equals("")) {
+                continue;
+            }
+            if (line.matches("^\\s*#.*$")) {
+                continue;
+            }
+            Matcher m = p.matcher(line);
+            if (m.matches()) {
+                properties.put(m.group(1), m.group(2));
+            }
+        }
+        return properties;
+    }
+
+    /**
+     * Initializes the version infos from the revision resource file
+     *
+     * @param revisionInfo the revision info loaded from a revision resource file
+     */
+    protected void initFromRevisionInfo(String revisionInfo) {
+        if (revisionInfo == null) {
+            this.revision = tr("UNKNOWN");
+            this.version = JOSM_UNKNOWN_VERSION;
+            this.time = null;
+            return;
+        }
+
+        HashMap<String, String> properties = parseManifestStyleFormattedString(revisionInfo);
+        String value = properties.get("Revision");
+        if (value != null) {
+            value = value.trim();
+            try {
+                version = Integer.parseInt(value);
+            } catch(NumberFormatException e) {
+                version = 0;
+                System.err.println(tr("Warning: unexpected JOSM version number in revison file, value is ''{0}''", value));
+            }
+        } else {
+            version = JOSM_UNKNOWN_VERSION;
+        }
+
+        // the last changed data
+        //
+        time = properties.get("Last Changed Date");
+        if (time == null) {
+            time = properties.get("Build-Date");
+        }
+
+        // is this a local build ?
+        //
+        isLocalBuild = false;
+        value = properties.get("Is-Local-Build");
+        if (value != null && value.trim().toLowerCase().equals("true"))  {
+            isLocalBuild = true;
+        }
+
+        // the revision info
+        //
+        StringBuffer sb = new StringBuffer();
+        for(Entry<String,String> property: properties.entrySet()) {
+            sb.append(property.getKey()).append(":").append(property.getValue()).append("\n");
+        }
+        revision = sb.toString();
+    }
+
+    public void init() {
+        URL u = Main.class.getResource("/REVISION");
+        if (u == null) {
+            System.err.println(tr("Warning: the revision file ''/REVISION'' is missing."));
+            version = 0;
+            revision = "";
+            return;
+        }
+        initFromRevisionInfo(loadResourceFile(u));
+        System.out.println(revision);
+    }
+
+    /**
+     * Replies the version string. Either the SVN revision "1234" (as string) or the
+     * the I18n equivalent of "UNKNOWN".
+     *
+     * @return the JOSM version
+     */
+    public String getVersionString() {
+        return  version == 0 ? tr("UNKNOWN") : Integer.toString(version);
+    }
+
+    /**
+     * Replies a text with the release attributes
+     *
+     * @return a text with the release attributes
+     */
+    public String getReleaseAttributes() {
+        return revision;
+    }
+
+    /**
+     * Replies the build date as string
+     *
+     * @return the build date as string
+     */
+    public String getTime() {
+        return time;
+    }
+
+    /**
+     * Replies the JOSM version. Replies {@see #JOSM_UNKNOWN_VERSION} if the version isn't known.
+     * @return the JOSM version
+     */
+    public int getVersion() {
+        return version;
+    }
+
+    /**
+     * Replies true if this is a local build, i.e. an inofficial development build.
+     *
+     * @return true if this is a local build, i.e. an inofficial development build.
+     */
+    public boolean isLocalBuild() {
+        return isLocalBuild;
+    }
+
+    public String getAgentString() {
+        int v = getVersion();
+        String s = (v == JOSM_UNKNOWN_VERSION) ? "UNKNOWN" : Integer.toString(v);
+        if (isLocalBuild() && v != JOSM_UNKNOWN_VERSION) {
+            s += " SVN";
+        }
+        return "JOSM/1.5 ("+ s+" "+LanguageInfo.getJOSMLocaleCode()+")";
+    }
+}

=== added directory '.pc/20-bts.patch/src/org/openstreetmap/josm/tools'
=== added file '.pc/20-bts.patch/src/org/openstreetmap/josm/tools/BugReportExceptionHandler.java'
--- .pc/20-bts.patch/src/org/openstreetmap/josm/tools/BugReportExceptionHandler.java	1970-01-01 00:00:00 +0000
+++ .pc/20-bts.patch/src/org/openstreetmap/josm/tools/BugReportExceptionHandler.java	2011-08-22 12:04:26 +0000
@@ -0,0 +1,160 @@
+// License: GPL. Copyright 2007 by Immanuel Scholz and others
+package org.openstreetmap.josm.tools;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import java.awt.Component;
+import java.awt.GridBagLayout;
+import java.awt.Toolkit;
+import java.awt.datatransfer.Clipboard;
+import java.awt.datatransfer.ClipboardOwner;
+import java.awt.datatransfer.StringSelection;
+import java.awt.datatransfer.Transferable;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.net.URL;
+import java.nio.ByteBuffer;
+
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextArea;
+
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.actions.ShowStatusReportAction;
+import org.openstreetmap.josm.gui.JMultilineLabel;
+import org.openstreetmap.josm.plugins.PluginHandler;
+
+/**
+ * An exception handler that asks the user to send a bug report.
+ *
+ * @author imi
+ */
+public final class BugReportExceptionHandler implements Thread.UncaughtExceptionHandler {
+
+    private static boolean handlingInProgress = false;
+
+    public void uncaughtException(Thread t, Throwable e) {
+        handleException(e);
+    }
+
+    //http://stuffthathappens.com/blog/2007/10/15/one-more-note-on-uncaught-exception-handlers/
+    public void handle(Throwable t) {
+        handleException(t);
+    }
+
+    public static void handleException(Throwable e) {
+        if (handlingInProgress)
+            return;                  // we do not handle secondary exceptions, this gets too messy
+        handlingInProgress = true;
+        try {
+            e.printStackTrace();
+            if (Main.parent != null) {
+                if (e instanceof OutOfMemoryError) {
+                    // do not translate the string, as translation may raise an exception
+                    JOptionPane.showMessageDialog(Main.parent, "JOSM is out of memory. " +
+                            "Strange things may happen.\nPlease restart JOSM with the -Xmx###M option,\n" +
+                            "where ### is the number of MB assigned to JOSM (e.g. 256).\n" +
+                            "Currently, " + Runtime.getRuntime().maxMemory()/1024/1024 + " MB are available to JOSM.",
+                            "Error",
+                            JOptionPane.ERROR_MESSAGE
+                    );
+                    return;
+                }
+
+                // Give the user a chance to deactivate the plugin which threw the exception (if it
+                // was thrown from a plugin)
+                //
+                PluginHandler.disablePluginAfterException(e);
+
+                // Then ask for submitting a bug report, for exceptions thrown from a plugin too
+                //
+                Object[] options = new String[]{tr("Do nothing"), tr("Report Bug")};
+                int answer = JOptionPane.showOptionDialog(
+                        Main.parent,
+                        "<html>"
+                        + tr("An unexpected exception occurred.<br>" +
+                                "This is always a coding error. If you are running the latest<br>" +
+                                "version of JOSM, please consider being kind and file a bug report."
+                        )
+                        + "</html>",
+                        tr("Unexpected Exception"),
+                        JOptionPane.YES_NO_OPTION,
+                        JOptionPane.ERROR_MESSAGE,
+                        null,
+                        options, options[0]
+                );
+                if (answer != 1)  return;
+
+                try {
+                    final int maxlen = 6000;
+                    StringWriter stack = new StringWriter();
+                    e.printStackTrace(new PrintWriter(stack));
+
+                    String text = ShowStatusReportAction.getReportHeader()
+                    + stack.getBuffer().toString();
+                    String urltext = text.replaceAll("\r",""); /* strip useless return chars */
+                    if(urltext.length() > maxlen)
+                    {
+                        urltext = urltext.substring(0,maxlen);
+                        int idx = urltext.lastIndexOf("\n");
+                        /* cut whole line when not loosing too much */
+                        if(maxlen-idx < 200) {
+                            urltext = urltext.substring(0,idx+1);
+                        }
+                        urltext += "...<snip>...\n";
+                    }
+
+                    URL url = new URL("http://josm.openstreetmap.de/josmticket?"; +
+                            "tdata="+Base64.encode(ByteBuffer.wrap(urltext.getBytes("UTF8")), true));
+
+                    JPanel p = new JPanel(new GridBagLayout());
+                    p.add(new JMultilineLabel(
+                            tr("You have encountered an error in JOSM. Before you file a bug report " +
+                            "make sure you have updated to the latest version of JOSM here:")), GBC.eol());
+                    p.add(new UrlLabel("http://josm.openstreetmap.de/#Download";), GBC.eop().insets(8,0,0,0));
+                    p.add(new JMultilineLabel(
+                            tr("You should also update your plugins. If neither of those help please " +
+                            "file a bug report in our bugtracker using this link:")), GBC.eol());
+                    p.add(new UrlLabel(url.toString(), "http://josm.openstreetmap.de/josmticket?...";), GBC.eop().insets(8,0,0,0));
+                    p.add(new JMultilineLabel(
+                            tr("There the error information provided below should already be " +
+                                    "filled in for you. Please include information on how to reproduce " +
+                            "the error and try to supply as much detail as possible.")), GBC.eop());
+                    p.add(new JMultilineLabel(
+                            tr("Alternatively, if that does not work you can manually fill in the information " +
+                            "below at this URL:")), GBC.eol());
+                    p.add(new UrlLabel("http://josm.openstreetmap.de/newticket";), GBC.eop().insets(8,0,0,0));
+                    try {
+                        Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new StringSelection(text), new ClipboardOwner(){
+                            public void lostOwnership(Clipboard clipboard, Transferable contents) {}
+                        });
+                        p.add(new JLabel(tr("(The text has already been copied to your clipboard.)")), GBC.eop());
+                    }
+                    catch (RuntimeException x) {}
+
+                    JTextArea info = new JTextArea(text, 20, 60);
+                    info.setCaretPosition(0);
+                    info.setEditable(false);
+                    p.add(new JScrollPane(info), GBC.eop());
+
+                    for (Component c: p.getComponents()) {
+                        if (c instanceof JMultilineLabel) {
+                            ((JMultilineLabel)c).setMaxWidth(400);
+                        }
+                    }
+
+                    JOptionPane.showMessageDialog(Main.parent, p, tr("You have encountered a bug in JOSM"), JOptionPane.ERROR_MESSAGE);
+                } catch (Exception e1) {
+                    e1.printStackTrace();
+                }
+            }
+        } finally {
+            handlingInProgress = false;
+        }
+    }
+    public static boolean exceptionHandlingInProgress() {
+        return handlingInProgress;
+    }
+}

=== added directory '.pc/40-elemstyles.patch'
=== added directory '.pc/40-elemstyles.patch/src'
=== added directory '.pc/40-elemstyles.patch/src/org'
=== added directory '.pc/40-elemstyles.patch/src/org/openstreetmap'
=== added directory '.pc/40-elemstyles.patch/src/org/openstreetmap/josm'
=== added directory '.pc/40-elemstyles.patch/src/org/openstreetmap/josm/gui'
=== added directory '.pc/40-elemstyles.patch/src/org/openstreetmap/josm/gui/mappaint'
=== added file '.pc/40-elemstyles.patch/src/org/openstreetmap/josm/gui/mappaint/MapPaintStyles.java'
--- .pc/40-elemstyles.patch/src/org/openstreetmap/josm/gui/mappaint/MapPaintStyles.java	1970-01-01 00:00:00 +0000
+++ .pc/40-elemstyles.patch/src/org/openstreetmap/josm/gui/mappaint/MapPaintStyles.java	2011-08-22 12:04:26 +0000
@@ -0,0 +1,360 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.gui.mappaint;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
+
+import javax.swing.ImageIcon;
+import javax.swing.SwingUtilities;
+
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.gui.PleaseWaitRunnable;
+import org.openstreetmap.josm.gui.mappaint.mapcss.MapCSSStyleSource;
+import org.openstreetmap.josm.gui.mappaint.xml.XmlStyleSource;
+import org.openstreetmap.josm.gui.preferences.MapPaintPreference.MapPaintPrefMigration;
+import org.openstreetmap.josm.gui.preferences.SourceEntry;
+import org.openstreetmap.josm.gui.progress.ProgressMonitor;
+import org.openstreetmap.josm.io.MirroredInputStream;
+import org.openstreetmap.josm.tools.ImageProvider;
+
+/**
+ * This class manages the ElemStyles instance. The object you get with
+ * getStyles() is read only, any manipulation happens via one of
+ * the wrapper methods here. (readFromPreferences, moveStyles, ...)
+ *
+ * On change, mapPaintSylesUpdated() is fired for all listeners.
+ */
+public class MapPaintStyles {
+
+    private static ElemStyles styles = new ElemStyles();
+
+    public static ElemStyles getStyles()
+    {
+        return styles;
+    }
+
+    /**
+     * Value holder for a reference to a tag name. A style instruction
+     * <pre>
+     *    text: a_tag_name;
+     * </pre>
+     * results in a tag reference for the tag <tt>a_tag_name</tt> in the
+     * style cascade.
+     */
+    public static class TagKeyReference {
+        public final String key;
+        public TagKeyReference(String key){
+            this.key = key;
+        }
+
+        @Override
+        public String toString() {
+            return "TagKeyReference{" + "key='" + key + "'}";
+        }
+    }
+
+    public static class IconReference {
+
+        public final String iconName;
+        public final StyleSource source;
+
+        public IconReference(String iconName, StyleSource source) {
+            this.iconName = iconName;
+            this.source = source;
+        }
+
+        @Override
+        public String toString() {
+            return "IconReference{" + "iconName='" + iconName + "' source='" + source.getDisplayString() + "'}";
+        }
+    }
+
+    public static ImageIcon getIcon(IconReference ref, boolean sanitize) {
+        String namespace = ref.source.getPrefName();
+        ImageIcon i = ImageProvider.getIfAvailable(getIconSourceDirs(ref.source), "mappaint."+namespace, null, ref.iconName, ref.source.zipIcons, sanitize);
+        if(i == null)
+        {
+            System.out.println("Mappaint style \""+namespace+"\" icon \"" + ref.iconName + "\" not found.");
+            return null;
+        }
+        return i;
+    }
+
+    /**
+     * No icon with the given name was found, show a dummy icon instead
+     * @return the icon misc/no_icon.png, in descending priority:
+     *   - relative to source file
+     *   - from user icon paths
+     *   - josm's default icon
+     *  can be null if the defaults are turned off by user
+     */
+    public static ImageIcon getNoIcon_Icon(StyleSource source, boolean sanitize) {
+        return ImageProvider.getIfAvailable(getIconSourceDirs(source), "mappaint."+source.getPrefName(), null, "misc/no_icon.png", source.zipIcons, sanitize);
+    }
+
+    private static List<String> getIconSourceDirs(StyleSource source) {
+        List<String> dirs = new LinkedList<String>();
+
+        String sourceDir = source.getLocalSourceDir();
+        if (sourceDir != null) {
+            dirs.add(sourceDir);
+        }
+
+        Collection<String> prefIconDirs = Main.pref.getCollection("mappaint.icon.sources");
+        for(String fileset : prefIconDirs)
+        {
+            String[] a;
+            if(fileset.indexOf("=") >= 0) {
+                a = fileset.split("=", 2);
+            } else {
+                a = new String[] {"", fileset};
+            }
+
+            /* non-prefixed path is generic path, always take it */
+            if(a[0].length() == 0 || source.getPrefName().equals(a[0])) {
+                dirs.add(a[1]);
+            }
+        }
+
+        if (Main.pref.getBoolean("mappaint.icon.enable-defaults", true)) {
+            /* don't prefix icon path, as it should be generic */
+            dirs.add("resource://images/styles/standard/");
+            dirs.add("resource://images/styles/");
+        }
+
+        return dirs;
+    }
+
+    public static void readFromPreferences() {
+        styles.clear();
+
+        Collection<? extends SourceEntry> sourceEntries = MapPaintPrefMigration.INSTANCE.get();
+
+        for (SourceEntry entry : sourceEntries) {
+            StyleSource source = fromSourceEntry(entry);
+            if (source != null) {
+                styles.add(source);
+            }
+        }
+        for (StyleSource source : styles.getStyleSources()) {
+            source.loadStyleSource();
+        }
+
+        fireMapPaintSylesUpdated();
+    }
+
+    private static StyleSource fromSourceEntry(SourceEntry entry) {
+        MirroredInputStream in = null;
+        try {
+            in = new MirroredInputStream(entry.url);
+            InputStream zip = in.getZipEntry("xml", "style");
+            if (zip != null)
+                return new XmlStyleSource(entry);
+            zip = in.getZipEntry("mapcss", "style");
+            if (zip != null)
+                return new MapCSSStyleSource(entry);
+            if (entry.url.toLowerCase().endsWith(".mapcss"))
+                return new MapCSSStyleSource(entry);
+            if (entry.url.toLowerCase().endsWith(".xml"))
+                return new XmlStyleSource(entry);
+            else {
+                InputStreamReader reader = new InputStreamReader(in);
+                WHILE: while (true) {
+                    int c = reader.read();
+                    switch (c) {
+                        case -1:
+                            break WHILE;
+                        case ' ':
+                        case '\t':
+                        case '\n':
+                        case '\r':
+                            continue;
+                        case '<':
+                            return new XmlStyleSource(entry);
+                        default:
+                            return new MapCSSStyleSource(entry);
+                    }
+                }
+                System.err.println("Warning: Could not detect style type. Using default (xml).");
+                return new XmlStyleSource(entry);
+            }
+        } catch (IOException e) {
+            System.err.println(tr("Warning: failed to load Mappaint styles from ''{0}''. Exception was: {1}", entry.url, e.toString()));
+            e.printStackTrace();
+        } finally {
+            try {
+                if (in != null) {
+                    in.close();
+                }
+            } catch (IOException ex) {
+            }
+        }
+        return null;
+    }
+
+    /**
+     * reload styles
+     * preferences are the same, but the file source may have changed
+     * @param sel the indices of styles to reload
+     */
+    public static void reloadStyles(final int... sel) {
+        List<StyleSource> toReload = new ArrayList<StyleSource>();
+        List<StyleSource> data = styles.getStyleSources();
+        for (int i : sel) {
+            toReload.add(data.get(i));
+        }
+        Main.worker.submit(new MapPaintStyleLoader(toReload));
+    }
+
+    public static class MapPaintStyleLoader extends PleaseWaitRunnable {
+        private boolean canceled;
+        private List<StyleSource> sources;
+
+        public MapPaintStyleLoader(List<StyleSource> sources) {
+            super(tr("Reloading style sources"));
+            this.sources = sources;
+        }
+
+        @Override
+        protected void cancel() {
+            canceled = true;
+        }
+
+        @Override
+        protected void finish() {
+            SwingUtilities.invokeLater(new Runnable() {
+                @Override
+                public void run() {
+                    fireMapPaintSylesUpdated();
+                    styles.clearCached();
+                    Main.map.mapView.preferenceChanged(null);
+                    Main.map.mapView.repaint();
+                }
+            });
+        }
+
+        @Override
+        protected void realRun() {
+            ProgressMonitor monitor = getProgressMonitor();
+            monitor.setTicksCount(sources.size());
+            for (StyleSource s : sources) {
+                if (canceled)
+                    return;
+                monitor.subTask(tr("loading style ''{0}''...", s.getDisplayString()));
+                s.loadStyleSource();
+                monitor.worked(1);
+            }
+        }
+    }
+
+    /**
+     * Move position of entries in the current list of StyleSources
+     * @param sele The indices of styles to be moved.
+     * @param delta The number of lines it should move. positive int moves
+     *      down and negative moves up.
+     */
+    public static void moveStyles(int[] sel, int delta) {
+        if (!canMoveStyles(sel, delta))
+            return;
+        int[] selSorted = Arrays.copyOf(sel, sel.length);
+        Arrays.sort(selSorted);
+        List<StyleSource> data = new ArrayList<StyleSource>(styles.getStyleSources());
+        for (int row: selSorted) {
+            StyleSource t1 = data.get(row);
+            StyleSource t2 = data.get(row + delta);
+            data.set(row, t2);
+            data.set(row + delta, t1);
+        }
+        styles.setStyleSources(data);
+        MapPaintPrefMigration.INSTANCE.put(data);
+        fireMapPaintSylesUpdated();
+        styles.clearCached();
+        Main.map.mapView.repaint();
+    }
+
+    public static boolean canMoveStyles(int[] sel, int i) {
+        if (sel.length == 0)
+            return false;
+        int[] selSorted = Arrays.copyOf(sel, sel.length);
+        Arrays.sort(selSorted);
+
+        if (i < 0) // Up
+            return selSorted[0] >= -i;
+        else if (i > 0) // Down
+            return selSorted[selSorted.length-1] <= styles.getStyleSources().size() - 1 - i;
+        else
+            return true;
+    }
+
+    public static void toggleStyleActive(int... sel) {
+        List<StyleSource> data = styles.getStyleSources();
+        for (int p : sel) {
+            StyleSource s = data.get(p);
+            s.active = !s.active;
+        }
+        MapPaintPrefMigration.INSTANCE.put(data);
+        if (sel.length == 1) {
+            fireMapPaintStyleEntryUpdated(sel[0]);
+        } else {
+            fireMapPaintSylesUpdated();
+        }
+        styles.clearCached();
+        Main.map.mapView.repaint();
+    }
+
+    public static void addStyle(SourceEntry entry) {
+        StyleSource source = fromSourceEntry(entry);
+        if (source != null) {
+            styles.add(source);
+            source.loadStyleSource();
+            MapPaintPrefMigration.INSTANCE.put(styles.getStyleSources());
+            fireMapPaintSylesUpdated();
+            styles.clearCached();
+            Main.map.mapView.repaint();
+        }
+    }
+
+    /***********************************
+     * MapPaintSylesUpdateListener & related code
+     *  (get informed when the list of MapPaint StyleSources changes)
+     */
+
+    public interface MapPaintSylesUpdateListener {
+        public void mapPaintStylesUpdated();
+        public void mapPaintStyleEntryUpdated(int idx);
+    }
+
+    protected static final CopyOnWriteArrayList<MapPaintSylesUpdateListener> listeners
+            = new CopyOnWriteArrayList<MapPaintSylesUpdateListener>();
+
+    public static void addMapPaintSylesUpdateListener(MapPaintSylesUpdateListener listener) {
+        if (listener != null) {
+            listeners.addIfAbsent(listener);
+        }
+    }
+
+    public static void removeMapPaintSylesUpdateListener(MapPaintSylesUpdateListener listener) {
+        listeners.remove(listener);
+    }
+
+    public static void fireMapPaintSylesUpdated() {
+        for (MapPaintSylesUpdateListener l : listeners) {
+            l.mapPaintStylesUpdated();
+        }
+    }
+
+    public static void fireMapPaintStyleEntryUpdated(int idx) {
+        for (MapPaintSylesUpdateListener l : listeners) {
+            l.mapPaintStyleEntryUpdated(idx);
+        }
+    }
+}

=== added directory '.pc/40-elemstyles.patch/src/org/openstreetmap/josm/gui/tagging'
=== added file '.pc/40-elemstyles.patch/src/org/openstreetmap/josm/gui/tagging/TaggingPreset.java'
--- .pc/40-elemstyles.patch/src/org/openstreetmap/josm/gui/tagging/TaggingPreset.java	1970-01-01 00:00:00 +0000
+++ .pc/40-elemstyles.patch/src/org/openstreetmap/josm/gui/tagging/TaggingPreset.java	2011-08-22 12:04:26 +0000
@@ -0,0 +1,1522 @@
+// License: GPL. Copyright 2007 by Immanuel Scholz and others
+package org.openstreetmap.josm.gui.tagging;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.tools.I18n.trc;
+import static org.openstreetmap.josm.tools.I18n.trn;
+
+import java.awt.Component;
+import java.awt.Dimension;
+import java.awt.GridBagLayout;
+import java.awt.Image;
+import java.awt.Insets;
+import java.awt.event.ActionEvent;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.io.UnsupportedEncodingException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.EnumSet;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeSet;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+import javax.swing.ImageIcon;
+import javax.swing.JComboBox;
+import javax.swing.JComponent;
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextField;
+import javax.swing.ListCellRenderer;
+import javax.swing.ListModel;
+import javax.swing.SwingUtilities;
+
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.command.ChangePropertyCommand;
+import org.openstreetmap.josm.command.Command;
+import org.openstreetmap.josm.command.SequenceCommand;
+import org.openstreetmap.josm.data.osm.Node;
+import org.openstreetmap.josm.data.osm.OsmPrimitive;
+import org.openstreetmap.josm.data.osm.OsmUtils;
+import org.openstreetmap.josm.data.osm.Relation;
+import org.openstreetmap.josm.data.osm.RelationMember;
+import org.openstreetmap.josm.data.osm.Tag;
+import org.openstreetmap.josm.data.osm.Way;
+import org.openstreetmap.josm.data.preferences.BooleanProperty;
+import org.openstreetmap.josm.gui.ExtendedDialog;
+import org.openstreetmap.josm.gui.MapView;
+import org.openstreetmap.josm.gui.QuadStateCheckBox;
+import org.openstreetmap.josm.gui.dialogs.relation.RelationEditor;
+import org.openstreetmap.josm.gui.layer.Layer;
+import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.gui.preferences.SourceEntry;
+import org.openstreetmap.josm.gui.preferences.TaggingPresetPreference.PresetPrefMigration;
+import org.openstreetmap.josm.gui.tagging.ac.AutoCompletingTextField;
+import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionItemPritority;
+import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionList;
+import org.openstreetmap.josm.gui.util.GuiHelper;
+import org.openstreetmap.josm.gui.widgets.HtmlPanel;
+import org.openstreetmap.josm.io.MirroredInputStream;
+import org.openstreetmap.josm.tools.GBC;
+import org.openstreetmap.josm.tools.ImageProvider;
+import org.openstreetmap.josm.tools.UrlLabel;
+import org.openstreetmap.josm.tools.XmlObjectParser;
+import org.xml.sax.SAXException;
+
+/**
+ * This class read encapsulate one tagging preset. A class method can
+ * read in all predefined presets, either shipped with JOSM or that are
+ * in the config directory.
+ *
+ * It is also able to construct dialogs out of preset definitions.
+ */
+public class TaggingPreset extends AbstractAction implements MapView.LayerChangeListener {
+
+    public enum PresetType {
+        NODE("Mf_node"), WAY("Mf_way"), RELATION("Mf_relation"), CLOSEDWAY("Mf_closedway");
+
+        private final String iconName;
+
+        PresetType(String iconName) {
+            this.iconName = iconName;
+        }
+
+        public String getIconName() {
+            return iconName;
+        }
+
+        public String getName() {
+            return name().toLowerCase();
+        }
+    }
+
+    public static final int DIALOG_ANSWER_APPLY = 1;
+    public static final int DIALOG_ANSWER_NEW_RELATION = 2;
+    public static final int DIALOG_ANSWER_CANCEL = 3;
+
+    public TaggingPresetMenu group = null;
+    public String name;
+    public String name_context;
+    public String locale_name;
+    public final static String OPTIONAL_TOOLTIP_TEXT = "Optional tooltip text";
+    private static File zipIcons = null;
+    private static final BooleanProperty PROP_FILL_DEFAULT = new BooleanProperty("taggingpreset.fill-default-for-tagged-primitives", false);
+
+    public static abstract class Item {
+        protected void initAutoCompletionField(AutoCompletingTextField field, String key) {
+            OsmDataLayer layer = Main.main.getEditLayer();
+            if (layer == null) return;
+            AutoCompletionList list  = new AutoCompletionList();
+            Main.main.getEditLayer().data.getAutoCompletionManager().populateWithTagValues(list, key);
+            field.setAutoCompletionList(list);
+        }
+
+        abstract boolean addToPanel(JPanel p, Collection<OsmPrimitive> sel);
+        abstract void addCommands(List<Tag> changedTags);
+        boolean requestFocusInWindow() {return false;}
+    }
+
+    public static class Usage {
+        TreeSet<String> values;
+        boolean hadKeys = false;
+        boolean hadEmpty = false;
+        public boolean hasUniqueValue() {
+            return values.size() == 1 && !hadEmpty;
+        }
+
+        public boolean unused() {
+            return values.size() == 0;
+        }
+        public String getFirst() {
+            return values.first();
+        }
+
+        public boolean hadKeys() {
+            return hadKeys;
+        }
+    }
+
+    public static final String DIFFERENT = tr("<different>");
+
+    static Usage determineTextUsage(Collection<OsmPrimitive> sel, String key) {
+        Usage returnValue = new Usage();
+        returnValue.values = new TreeSet<String>();
+        for (OsmPrimitive s : sel) {
+            String v = s.get(key);
+            if (v != null) {
+                returnValue.values.add(v);
+            } else {
+                returnValue.hadEmpty = true;
+            }
+            if(s.hasKeys()) {
+                returnValue.hadKeys = true;
+            }
+        }
+        return returnValue;
+    }
+
+    static Usage determineBooleanUsage(Collection<OsmPrimitive> sel, String key) {
+
+        Usage returnValue = new Usage();
+        returnValue.values = new TreeSet<String>();
+        for (OsmPrimitive s : sel) {
+            String booleanValue = OsmUtils.getNamedOsmBoolean(s.get(key));
+            if (booleanValue != null) {
+                returnValue.values.add(booleanValue);
+            }
+        }
+        return returnValue;
+    }
+
+    protected static class PresetListEntry {
+        String value;
+        String display_value;
+        String short_description;
+
+        public String getListDisplay() {
+            if (value.equals(DIFFERENT))
+                return "<b>"+DIFFERENT.replaceAll("<", "&lt;").replaceAll(">", "&gt;")+"</b>";
+
+            if (value.equals(""))
+                return "&nbsp;";
+
+            StringBuilder res = new StringBuilder("<b>");
+            if (display_value != null) {
+                res.append(display_value);
+            } else {
+                res.append(value);
+            }
+            res.append("</b>");
+            if (short_description != null) {
+                // wrap in table to restrict the text width
+                res.append("<br><table><td width='232'>(").append(short_description).append(")</td></table>");
+            }
+            return res.toString();
+        }
+
+        public PresetListEntry(String value) {
+            this.value = value;
+            this.display_value = value;
+        }
+
+        public PresetListEntry(String value, String display_value) {
+            this.value = value;
+            this.display_value = display_value;
+        }
+
+        // toString is mainly used to initialize the Editor
+        @Override
+        public String toString() {
+            if (value.equals(DIFFERENT))
+                return DIFFERENT;
+            return display_value.replaceAll("<.*>", ""); // remove additional markup, e.g. <br>
+        }
+    }
+
+    public static class Text extends Item {
+
+        public String key;
+        public String text;
+        public String locale_text;
+        public String text_context;
+        public String default_;
+        public String originalValue;
+        public boolean use_last_as_default = false;
+        public boolean delete_if_empty = false;
+        public boolean required = false;
+
+        private JComponent value;
+
+        @Override public boolean addToPanel(JPanel p, Collection<OsmPrimitive> sel) {
+
+            // find out if our key is already used in the selection.
+            Usage usage = determineTextUsage(sel, key);
+            AutoCompletingTextField textField = new AutoCompletingTextField();
+            initAutoCompletionField(textField, key);
+            if (usage.unused()){
+                if (!usage.hadKeys() || PROP_FILL_DEFAULT.get()) {
+                    // selected osm primitives are untagged or filling default values feature is enabled
+                    if (use_last_as_default && lastValue.containsKey(key)) {
+                        textField.setText(lastValue.get(key));
+                    } else {
+                        textField.setText(default_);
+                    }
+                } else {
+                    // selected osm primitives are tagged and filling default values feature is disabled
+                    textField.setText("");
+                }
+                value = textField;
+                originalValue = null;
+            } else if (usage.hasUniqueValue()) {
+                // all objects use the same value
+                textField.setText(usage.getFirst());
+                value = textField;
+                originalValue = usage.getFirst();
+            } else {
+                // the objects have different values
+                JComboBox comboBox = new JComboBox(usage.values.toArray());
+                comboBox.setEditable(true);
+                comboBox.setEditor(textField);
+                comboBox.getEditor().setItem(DIFFERENT);
+                value=comboBox;
+                originalValue = DIFFERENT;
+            }
+            if(locale_text == null) {
+                if (text != null) {
+                    if(text_context != null) {
+                        locale_text = trc(text_context, text);
+                    } else {
+                        locale_text = tr(text);
+                    }
+                }
+            }
+            p.add(new JLabel(locale_text+":"), GBC.std().insets(0,0,10,0));
+            p.add(value, GBC.eol().fill(GBC.HORIZONTAL));
+            return true;
+        }
+
+        @Override public void addCommands(List<Tag> changedTags) {
+
+            // return if unchanged
+            String v = (value instanceof JComboBox) ?
+                    ((JComboBox)value).getEditor().getItem().toString() :
+                        ((JTextField)value).getText();
+
+                    if (use_last_as_default) {
+                        lastValue.put(key, v);
+                    }
+                    if (v.equals(originalValue) || (originalValue == null && v.length() == 0)) return;
+
+                    if (delete_if_empty && v.length() == 0) {
+                        v = null;
+                    }
+                    changedTags.add(new Tag(key, v));
+        }
+        @Override boolean requestFocusInWindow() {return value.requestFocusInWindow();}
+    }
+
+    public static class Check extends Item {
+
+        public String key;
+        public String text;
+        public String text_context;
+        public String locale_text;
+        public String value_on = OsmUtils.trueval;
+        public String value_off = OsmUtils.falseval;
+        public boolean default_ = false; // only used for tagless objects
+        public boolean use_last_as_default = false;
+        public boolean required = false;
+
+        private QuadStateCheckBox check;
+        private QuadStateCheckBox.State initialState;
+        private boolean def;
+
+        @Override public boolean addToPanel(JPanel p, Collection<OsmPrimitive> sel) {
+
+            // find out if our key is already used in the selection.
+            Usage usage = determineBooleanUsage(sel, key);
+            def = default_;
+
+            if(locale_text == null) {
+                if(text_context != null) {
+                    locale_text = trc(text_context, text);
+                } else {
+                    locale_text = tr(text);
+                }
+            }
+
+            String oneValue = null;
+            for (String s : usage.values) {
+                oneValue = s;
+            }
+            if (usage.values.size() < 2 && (oneValue == null || value_on.equals(oneValue) || value_off.equals(oneValue))) {
+                if (def && !PROP_FILL_DEFAULT.get()) {
+                    // default is set and filling default values feature is disabled - check if all primitives are untagged
+                    for (OsmPrimitive s : sel)
+                        if(s.hasKeys()) {
+                            def = false;
+                        }
+                }
+
+                // all selected objects share the same value which is either true or false or unset,
+                // we can display a standard check box.
+                initialState = value_on.equals(oneValue) ?
+                        QuadStateCheckBox.State.SELECTED :
+                            value_off.equals(oneValue) ?
+                                    QuadStateCheckBox.State.NOT_SELECTED :
+                                        def ? QuadStateCheckBox.State.SELECTED
+                                                : QuadStateCheckBox.State.UNSET;
+                check = new QuadStateCheckBox(locale_text, initialState,
+                        new QuadStateCheckBox.State[] {
+                        QuadStateCheckBox.State.SELECTED,
+                        QuadStateCheckBox.State.NOT_SELECTED,
+                        QuadStateCheckBox.State.UNSET });
+            } else {
+                def = false;
+                // the objects have different values, or one or more objects have something
+                // else than true/false. we display a quad-state check box
+                // in "partial" state.
+                initialState = QuadStateCheckBox.State.PARTIAL;
+                check = new QuadStateCheckBox(locale_text, QuadStateCheckBox.State.PARTIAL,
+                        new QuadStateCheckBox.State[] {
+                        QuadStateCheckBox.State.PARTIAL,
+                        QuadStateCheckBox.State.SELECTED,
+                        QuadStateCheckBox.State.NOT_SELECTED,
+                        QuadStateCheckBox.State.UNSET });
+            }
+            p.add(check, GBC.eol().fill(GBC.HORIZONTAL));
+            return true;
+        }
+
+        @Override public void addCommands(List<Tag> changedTags) {
+            // if the user hasn't changed anything, don't create a command.
+            if (check.getState() == initialState && !def) return;
+
+            // otherwise change things according to the selected value.
+            changedTags.add(new Tag(key,
+                    check.getState() == QuadStateCheckBox.State.SELECTED ? value_on :
+                        check.getState() == QuadStateCheckBox.State.NOT_SELECTED ? value_off :
+                            null));
+        }
+        @Override boolean requestFocusInWindow() {return check.requestFocusInWindow();}
+    }
+
+    public static class Combo extends Item {
+
+        public String key;
+        public String text;
+        public String text_context;
+        public String locale_text;
+        public String values;
+        public String values_context;
+        public String display_values;
+        public String locale_display_values;
+        public String short_descriptions;
+        public String locale_short_descriptions;
+        public String default_;
+        public boolean delete_if_empty = false;
+        public boolean editable = true;
+        public boolean use_last_as_default = false;
+        public boolean required = false;
+
+        private List<String> short_description_list;
+        private JComboBox combo;
+        private Map<String, PresetListEntry> lhm;
+        private Usage usage;
+        private PresetListEntry originalValue;
+
+        @Override public boolean addToPanel(JPanel p, Collection<OsmPrimitive> sel) {
+
+            // find out if our key is already used in the selection.
+            usage = determineTextUsage(sel, key);
+            String def = default_;
+
+            String[] value_array = splitEscaped(',', values);
+            String[] display_array;
+            String[] short_descriptions_array = null;
+
+            if(locale_display_values != null) {
+                display_array = splitEscaped(',', locale_display_values);
+            } else if (display_values != null) {
+                display_array = splitEscaped(',', display_values);
+            } else {
+                display_array = value_array;
+            }
+
+            if (locale_short_descriptions != null) {
+                short_descriptions_array = splitEscaped(',', locale_short_descriptions);
+            } else if (short_descriptions != null) {
+                short_descriptions_array = splitEscaped(',', short_descriptions);
+            } else if (short_description_list != null) {
+                short_descriptions_array = short_description_list.toArray(new String[0]);
+            }
+
+            if (use_last_as_default && def == null && lastValue.containsKey(key)) {
+                def = lastValue.get(key);
+            }
+
+            if (display_array.length != value_array.length) {
+                System.err.println(tr("Broken tagging preset \"{0}-{1}\" - number of items in ''display_values'' must be the same as in ''values''", key, text));
+                display_array = value_array;
+            }
+
+            if (short_descriptions_array != null && short_descriptions_array.length != value_array.length) {
+                System.err.println(tr("Broken tagging preset \"{0}-{1}\" - number of items in ''short_descriptions'' must be the same as in ''values''", key, text));
+                short_descriptions_array = null;
+            }
+
+            lhm = new LinkedHashMap<String, PresetListEntry>();
+            if (!usage.hasUniqueValue() && !usage.unused()) {
+                lhm.put(DIFFERENT, new PresetListEntry(DIFFERENT));
+            }
+            for (int i=0; i<value_array.length; i++) {
+                PresetListEntry e = new PresetListEntry(value_array[i]);
+                e.display_value = (locale_display_values == null)
+                ? (values_context == null ? tr(display_array[i])
+                        : trc(values_context, display_array[i])) : display_array[i];
+                if (short_descriptions_array != null) {
+                    e.short_description = locale_short_descriptions == null ? tr(short_descriptions_array[i])
+                            : short_descriptions_array[i];
+                }
+                lhm.put(value_array[i], e);
+            }
+            if(!usage.unused()){
+                for (String s : usage.values) {
+                    if (!lhm.containsKey(s)) {
+                        lhm.put(s, new PresetListEntry(s));
+                    }
+                }
+            }
+            if (def != null && !lhm.containsKey(def)) {
+                lhm.put(def, new PresetListEntry(def));
+            }
+            lhm.put("", new PresetListEntry(""));
+
+            combo = new JComboBox(lhm.values().toArray());
+            combo.setRenderer(new PresetComboListCellRenderer());
+            combo.setEditable(editable);
+            combo.setMaximumRowCount(13);
+            AutoCompletingTextField tf = new AutoCompletingTextField();
+            initAutoCompletionField(tf, key);
+            tf.getAutoCompletionList().add(Arrays.asList(display_array), AutoCompletionItemPritority.IS_IN_STANDARD);
+            combo.setEditor(tf);
+
+            if (usage.hasUniqueValue()) {
+                // all items have the same value (and there were no unset items)
+                originalValue=lhm.get(usage.getFirst());
+                combo.setSelectedItem(originalValue);
+            }
+            else if (def != null && usage.unused()) {
+                // default is set and all items were unset
+                if (!usage.hadKeys() || PROP_FILL_DEFAULT.get()) {
+                    // selected osm primitives are untagged or filling default feature is enabled
+                    combo.setSelectedItem(def);
+                } else {
+                    // selected osm primitives are tagged and filling default feature is disabled
+                    combo.setSelectedItem("");
+                }
+                originalValue=lhm.get(DIFFERENT);
+            }
+            else if (usage.unused()) {
+                // all items were unset (and so is default)
+                originalValue=lhm.get("");
+                combo.setSelectedItem(originalValue);
+            }
+            else {
+                originalValue=lhm.get(DIFFERENT);
+                combo.setSelectedItem(originalValue);
+            }
+
+            if(locale_text == null) {
+                if(text_context != null) {
+                    locale_text = trc(text_context, text);
+                } else {
+                    locale_text = tr(text);
+                }
+            }
+            p.add(new JLabel(locale_text+":"), GBC.std().insets(0,0,10,0));
+            p.add(combo, GBC.eol().fill(GBC.HORIZONTAL));
+            return true;
+        }
+
+
+        private static class PresetComboListCellRenderer implements ListCellRenderer {
+
+            HtmlPanel lbl;
+            JComponent dummy = new JComponent() {};
+
+            public PresetComboListCellRenderer() {
+                lbl = new HtmlPanel();
+            }
+
+            public Component getListCellRendererComponent(
+                    JList list,
+                    Object value,
+                    int index,
+                    boolean isSelected,
+                    boolean cellHasFocus)
+            {
+                if (isSelected) {
+                    lbl.setBackground(list.getSelectionBackground());
+                    lbl.setForeground(list.getSelectionForeground());
+                } else {
+                    lbl.setBackground(list.getBackground());
+                    lbl.setForeground(list.getForeground());
+                }
+
+                PresetListEntry item = (PresetListEntry) value;
+                String s = item.getListDisplay();
+                lbl.setText(s);
+                // We do not want the editor to have the maximum height of all
+                // entries. Return a dummy with bogus height.
+                if (index == -1) {
+                    dummy.setPreferredSize(new Dimension(lbl.getPreferredSize().width, 10));
+                    return dummy;
+                }
+                return lbl;
+            }
+        }
+
+        @Override public void addCommands(List<Tag> changedTags) {
+            Object obj = combo.getSelectedItem();
+            String display = (obj == null) ? null : obj.toString();
+            String value = null;
+            if(display == null && combo.isEditable()) {
+                display = combo.getEditor().getItem().toString();
+            }
+
+            if (display != null)
+            {
+                for (String key : lhm.keySet()) {
+                    String k = lhm.get(key).toString();
+                    if (k != null && k.equals(display)) {
+                        value=key;
+                    }
+                }
+                if(value == null) {
+                    value = display;
+                }
+            } else {
+                value = "";
+            }
+
+            // no change if same as before
+            if (originalValue == null) {
+                if (value.length() == 0)
+                    return;
+            } else if (value.equals(originalValue.toString()))
+                return;
+
+            if (delete_if_empty && value.length() == 0) {
+                value = null;
+            }
+            if (use_last_as_default) {
+                lastValue.put(key, value);
+            }
+            changedTags.add(new Tag(key, value));
+        }
+
+        public void setShort_description(String s) {
+            if (short_description_list == null) {
+                short_description_list = new ArrayList<String>();
+            }
+            short_description_list.add(tr(s));
+        }
+
+        @Override boolean requestFocusInWindow() {return combo.requestFocusInWindow();}
+    }
+
+    /**
+     * Class that allows list values to be assigned and retrived as a comma-delimited
+     * string.
+     */
+    public static class ConcatenatingJList extends JList {
+        private String delimiter;
+        public ConcatenatingJList(String del, Object[] o) {
+            super(o);
+            delimiter = del;
+        }
+        public void setSelectedItem(Object o) {
+            if (o == null) {
+                clearSelection();
+            } else {
+                String s = o.toString();
+                HashSet<String> parts = new HashSet<String>(Arrays.asList(s.split(delimiter)));
+                ListModel lm = getModel();
+                int[] intParts = new int[lm.getSize()];
+                int j = 0;
+                for (int i = 0; i < lm.getSize(); i++) {
+                    if (parts.contains((((PresetListEntry)lm.getElementAt(i)).value))) {
+                        intParts[j++]=i;
+                    }
+                }
+                setSelectedIndices(Arrays.copyOf(intParts, j));
+                // check if we have acutally managed to represent the full
+                // value with our presets. if not, cop out; we will not offer
+                // a selection list that threatens to ruin the value.
+                setEnabled(s.equals(getSelectedItem()));
+            }
+        }
+        public String getSelectedItem() {
+            ListModel lm = getModel();
+            int[] si = getSelectedIndices();
+            StringBuilder builder = new StringBuilder();
+            for (int i=0; i<si.length; i++) {
+                if (i>0) {
+                    builder.append(delimiter);
+                }
+                builder.append(((PresetListEntry)lm.getElementAt(si[i])).value);
+            }
+            return builder.toString();
+        }
+    }
+
+    public static class MultiSelect extends Item {
+
+        public String key;
+        public String text;
+        public String text_context;
+        public String locale_text;
+        public String values;
+        public String values_context;
+        public String display_values;
+        public String locale_display_values;
+        public String short_descriptions;
+        public String locale_short_descriptions;
+        public String default_;
+        public String delimiter = ";";
+        public boolean delete_if_empty = false;
+        public boolean use_last_as_default = false;
+        public boolean required = false;
+        public long rows = -1;
+
+        private List<String> short_description_list;
+        private ConcatenatingJList list;
+        private Map<String, PresetListEntry> lhm;
+        private Usage usage;
+        private String originalValue;
+
+        @Override public boolean addToPanel(JPanel p, Collection<OsmPrimitive> sel) {
+
+            // find out if our key is already used in the selection.
+            usage = determineTextUsage(sel, key);
+            String def = default_;
+
+            char delChar = ';';
+            if (delimiter.length() > 0) {
+                delChar = delimiter.charAt(0);
+            }
+
+            String[] value_array = splitEscaped(delChar, values);
+            String[] display_array;
+            String[] short_descriptions_array = null;
+
+            if (locale_display_values != null) {
+                display_array = splitEscaped(delChar, locale_display_values);
+            } else if (display_values != null) {
+                display_array = splitEscaped(delChar, display_values);
+            } else {
+                display_array = value_array;
+            }
+
+            if (locale_short_descriptions != null) {
+                short_descriptions_array = splitEscaped(delChar, locale_short_descriptions);
+            } else if (short_descriptions != null) {
+                short_descriptions_array = splitEscaped(delChar, short_descriptions);
+            } else if (short_description_list != null) {
+                short_descriptions_array = short_description_list.toArray(new String[0]);
+            }
+
+            if (use_last_as_default && def == null && lastValue.containsKey(key)) {
+                def = lastValue.get(key);
+            }
+
+            if (display_array.length != value_array.length) {
+                System.err.println(tr("Broken tagging preset \"{0}-{1}\" - number of items in ''display_values'' must be the same as in ''values''", key, text));
+                display_array = value_array;
+            }
+
+            if (short_descriptions_array != null && short_descriptions_array.length != value_array.length) {
+                System.err.println(tr("Broken tagging preset \"{0}-{1}\" - number of items in ''short_descriptions'' must be the same as in ''values''", key, text));
+                short_descriptions_array = null;
+            }
+
+            lhm = new LinkedHashMap<String, PresetListEntry>();
+            if (!usage.hasUniqueValue() && !usage.unused()) {
+                lhm.put(DIFFERENT, new PresetListEntry(DIFFERENT));
+            }
+            for (int i=0; i<value_array.length; i++) {
+                PresetListEntry e = new PresetListEntry(value_array[i]);
+                e.display_value = (locale_display_values == null)
+                ? (values_context == null ? tr(display_array[i])
+                        : trc(values_context, display_array[i])) : display_array[i];
+                if (short_descriptions_array != null) {
+                    e.short_description = locale_short_descriptions == null ? tr(short_descriptions_array[i])
+                            : short_descriptions_array[i];
+                }
+                lhm.put(value_array[i], e);
+            }
+
+            list = new ConcatenatingJList(delimiter, lhm.values().toArray());
+            PresetListCellRenderer renderer = new PresetListCellRenderer();
+            list.setCellRenderer(renderer);
+
+            if (usage.hasUniqueValue() && !usage.unused()) {
+                originalValue=usage.getFirst();
+            }
+            else if (def != null && !usage.hadKeys()) {
+                originalValue=def;
+            }
+            else if (usage.unused()) {
+                originalValue=null;
+            }
+            else {
+                originalValue=DIFFERENT;
+            }
+            list.setSelectedItem(originalValue);
+
+            if (locale_text == null) {
+                if(text_context != null) {
+                    locale_text = trc(text_context, text);
+                } else {
+                    locale_text = tr(text);
+                }
+            }
+            p.add(new JLabel(locale_text+":"), GBC.std().insets(0,0,10,0));
+            JScrollPane sp = new JScrollPane(list);
+            // if a number of rows has been specified in the preset,
+            // modify preferred height of scroll pane to match that row count.
+            if (rows != -1)
+            {
+                double height = renderer.getListCellRendererComponent(list, 
+                    new PresetListEntry("x"), 0, false, false).getPreferredSize().getHeight() * rows;
+                sp.setPreferredSize(new Dimension((int) sp.getPreferredSize().getWidth(), (int) height));
+            }
+            p.add(sp, GBC.eol().fill(GBC.HORIZONTAL));
+            return true;
+        }
+
+        private static class PresetListCellRenderer implements ListCellRenderer {
+
+            HtmlPanel lbl;
+            JComponent dummy = new JComponent() {};
+
+            public PresetListCellRenderer() {
+                lbl = new HtmlPanel();
+            }
+
+            public Component getListCellRendererComponent(
+                    JList list,
+                    Object value,
+                    int index,
+                    boolean isSelected,
+                    boolean cellHasFocus)
+            {
+                if (isSelected) {
+                    lbl.setBackground(list.getSelectionBackground());
+                    lbl.setForeground(list.getSelectionForeground());
+                } else {
+                    lbl.setBackground(list.getBackground());
+                    lbl.setForeground(list.getForeground());
+                }
+
+                PresetListEntry item = (PresetListEntry) value;
+                String s = item.getListDisplay();
+                lbl.setText(s);
+                lbl.setEnabled(list.isEnabled());
+                // We do not want the editor to have the maximum height of all
+                // entries. Return a dummy with bogus height.
+                if (index == -1) {
+                    dummy.setPreferredSize(new Dimension(lbl.getPreferredSize().width, 10));
+                    return dummy;
+                }
+                return lbl;
+            }
+        }
+
+        @Override public void addCommands(List<Tag> changedTags) {
+            Object obj = list.getSelectedItem();
+            String display = (obj == null) ? null : obj.toString();
+            String value = null;
+
+            if (display != null)
+            {
+                for (String key : lhm.keySet()) {
+                    String k = lhm.get(key).toString();
+                    if (k != null && k.equals(display)) {
+                        value=key;
+                    }
+                }
+                if (value == null) {
+                    value = display;
+                }
+            } else {
+                value = "";
+            }
+
+            // no change if same as before
+            if (originalValue == null) {
+                if (value.length() == 0)
+                    return;
+            } else if (value.equals(originalValue.toString()))
+                return;
+
+            if (delete_if_empty && value.length() == 0) {
+                value = null;
+            }
+            if (use_last_as_default) {
+                lastValue.put(key, value);
+            }
+            changedTags.add(new Tag(key, value));
+        }
+
+        public void setShort_description(String s) {
+            if (short_description_list == null) {
+                short_description_list = new ArrayList<String>();
+            }
+            short_description_list.add(tr(s));
+        }
+
+        @Override boolean requestFocusInWindow() {return list.requestFocusInWindow();}
+    }
+
+    /**
+     * allow escaped comma in comma separated list:
+     * "A\, B\, C,one\, two" --> ["A, B, C", "one, two"]
+     * @param delimiter the delimiter, e.g. a comma. separates the entries and
+     *      must be escaped within one entry
+     * @param s the string
+     */
+    private static String[] splitEscaped(char delemiter, String s) {
+        List<String> result = new ArrayList<String>();
+        boolean backslash = false;
+        StringBuilder item = new StringBuilder();
+        for (int i=0; i<s.length(); i++) {
+            char ch = s.charAt(i);
+            if (backslash) {
+                item.append(ch);
+                backslash = false;
+            } else if (ch == '\\') {
+                backslash = true;
+            } else if (ch == delemiter) {
+                result.add(item.toString());
+                item.setLength(0);
+            } else {
+                item.append(ch);
+            }
+        }
+        if (item.length() > 0) {
+            result.add(item.toString());
+        }
+        return result.toArray(new String[result.size()]);
+    }
+
+    public static class Label extends Item {
+        public String text;
+        public String text_context;
+        public String locale_text;
+
+        @Override public boolean addToPanel(JPanel p, Collection<OsmPrimitive> sel) {
+            if(locale_text == null) {
+                if(text_context != null) {
+                    locale_text = trc(text_context, text);
+                } else {
+                    locale_text = tr(text);
+                }
+            }
+            p.add(new JLabel(locale_text), GBC.eol());
+            return false;
+        }
+        @Override public void addCommands(List<Tag> changedTags) {}
+    }
+
+    public static class Link extends Item {
+        public String href;
+        public String text;
+        public String text_context;
+        public String locale_text;
+        public String locale_href;
+
+        @Override public boolean addToPanel(JPanel p, Collection<OsmPrimitive> sel) {
+            if(locale_text == null) {
+                if(text == null) {
+                    locale_text = tr("More information about this feature");
+                } else if(text_context != null) {
+                    locale_text = trc(text_context, text);
+                } else {
+                    locale_text = tr(text);
+                }
+            }
+            String url = locale_href;
+            if (url == null) {
+                url = href;
+            }
+            if (url != null) {
+                p.add(new UrlLabel(url, locale_text), GBC.eol().anchor(GBC.WEST));
+            }
+            return false;
+        }
+        @Override public void addCommands(List<Tag> changedTags) {}
+    }
+
+    public static class Role {
+        public EnumSet<PresetType> types;
+        public String key;
+        public String text;
+        public String text_context;
+        public String locale_text;
+
+        public boolean required=false;
+        public long count = 0;
+
+        public void setType(String types) throws SAXException {
+            this.types = TaggingPreset.getType(types);
+        }
+
+        public void setRequisite(String str) throws SAXException {
+            if("required".equals(str)) {
+                required = true;
+            } else if(!"optional".equals(str))
+                throw new SAXException(tr("Unknown requisite: {0}", str));
+        }
+
+        /* return either argument, the highest possible value or the lowest
+           allowed value */
+        public long getValidCount(long c)
+        {
+            if(count > 0 && !required)
+                return c != 0 ? count : 0;
+            else if(count > 0)
+                return count;
+            else if(!required)
+                return c != 0  ? c : 0;
+            else
+                return c != 0  ? c : 1;
+        }
+        public boolean addToPanel(JPanel p, Collection<OsmPrimitive> sel) {
+            String cstring;
+            if(count > 0 && !required) {
+                cstring = "0,"+String.valueOf(count);
+            } else if(count > 0) {
+                cstring = String.valueOf(count);
+            } else if(!required) {
+                cstring = "0-...";
+            } else {
+                cstring = "1-...";
+            }
+            if(locale_text == null) {
+                if (text != null) {
+                    if(text_context != null) {
+                        locale_text = trc(text_context, text);
+                    } else {
+                        locale_text = tr(text);
+                    }
+                }
+            }
+            p.add(new JLabel(locale_text+":"), GBC.std().insets(0,0,10,0));
+            p.add(new JLabel(key), GBC.std().insets(0,0,10,0));
+            p.add(new JLabel(cstring), types == null ? GBC.eol() : GBC.std().insets(0,0,10,0));
+            if(types != null){
+                JPanel pp = new JPanel();
+                for(PresetType t : types) {
+                    pp.add(new JLabel(ImageProvider.get(t.getIconName())));
+                }
+                p.add(pp, GBC.eol());
+            }
+            return true;
+        }
+    }
+
+    public static class Roles extends Item {
+        public List<Role> roles = new LinkedList<Role>();
+        @Override public boolean addToPanel(JPanel p, Collection<OsmPrimitive> sel) {
+            p.add(new JLabel(" "), GBC.eol()); // space
+            if(roles.size() > 0)
+            {
+                JPanel proles = new JPanel(new GridBagLayout());
+                proles.add(new JLabel(tr("Available roles")), GBC.std().insets(0,0,10,0));
+                proles.add(new JLabel(tr("role")), GBC.std().insets(0,0,10,0));
+                proles.add(new JLabel(tr("count")), GBC.std().insets(0,0,10,0));
+                proles.add(new JLabel(tr("elements")), GBC.eol());
+                for (Role i : roles) {
+                    i.addToPanel(proles, sel);
+                }
+                p.add(proles, GBC.eol());
+            }
+            return false;
+        }
+        @Override public void addCommands(List<Tag> changedTags) {}
+    }
+
+    public static class Optional extends Item {
+        // TODO: Draw a box around optional stuff
+        @Override public boolean addToPanel(JPanel p, Collection<OsmPrimitive> sel) {
+            p.add(new JLabel(" "), GBC.eol()); // space
+            p.add(new JLabel(tr("Optional Attributes:")), GBC.eol());
+            p.add(new JLabel(" "), GBC.eol()); // space
+            return false;
+        }
+        @Override public void addCommands(List<Tag> changedTags) {}
+    }
+
+    public static class Space extends Item {
+        @Override public boolean addToPanel(JPanel p, Collection<OsmPrimitive> sel) {
+            p.add(new JLabel(" "), GBC.eol()); // space
+            return false;
+        }
+        @Override public void addCommands(List<Tag> changedTags) {}
+    }
+
+    public static class Key extends Item {
+        public String key;
+        public String value;
+
+        @Override public boolean addToPanel(JPanel p, Collection<OsmPrimitive> sel) { return false; }
+        @Override public void addCommands(List<Tag> changedTags) {
+            changedTags.add(new Tag(key, value != null && !value.equals("") ? value : null));
+        }
+    }
+
+    /**
+     * The types as preparsed collection.
+     */
+    public EnumSet<PresetType> types;
+    public List<Item> data = new LinkedList<Item>();
+    private static HashMap<String,String> lastValue = new HashMap<String,String>();
+
+    /**
+     * Create an empty tagging preset. This will not have any items and
+     * will be an empty string as text. createPanel will return null.
+     * Use this as default item for "do not select anything".
+     */
+    public TaggingPreset() {
+        MapView.addLayerChangeListener(this);
+        updateEnabledState();
+    }
+
+    /**
+     * Change the display name without changing the toolbar value.
+     */
+    public void setDisplayName() {
+        putValue(Action.NAME, getName());
+        putValue("toolbar", "tagging_" + getRawName());
+        putValue(OPTIONAL_TOOLTIP_TEXT, (group != null ?
+            tr("Use preset ''{0}'' of group ''{1}''", getLocaleName(), group.getName()) :
+            tr("Use preset ''{0}''", getLocaleName())));
+   }
+
+    public String getLocaleName() {
+        if(locale_name == null) {
+            if(name_context != null) {
+                locale_name = trc(name_context, name);
+            } else {
+                locale_name = tr(name);
+            }
+        }
+        return locale_name;
+    }
+
+    public String getName() {
+        return group != null ? group.getName() + "/" + getLocaleName() : getLocaleName();
+    }
+    public String getRawName() {
+        return group != null ? group.getRawName() + "/" + name : name;
+    }
+    /**
+     * Called from the XML parser to set the icon
+     *
+     * FIXME for Java 1.6 - use 24x24 icons for LARGE_ICON_KEY (button bar)
+     * and the 16x16 icons for SMALL_ICON.
+     */
+    public void setIcon(String iconName) {
+        Collection<String> s = Main.pref.getCollection("taggingpreset.icon.sources", null);
+        ImageIcon icon = ImageProvider.getIfAvailable(s, "presets", null, iconName, zipIcons);
+        if (icon == null)
+        {
+            System.out.println("Could not get presets icon " + iconName);
+            icon = new ImageIcon(iconName);
+        }
+        if (Math.max(icon.getIconHeight(), icon.getIconWidth()) != 16) {
+            icon = new ImageIcon(icon.getImage().getScaledInstance(16, 16, Image.SCALE_SMOOTH));
+        }
+        putValue(Action.SMALL_ICON, icon);
+    }
+
+    /**
+     * Called from the XML parser to set the types this preset affects
+     */
+
+    static public EnumSet<PresetType> getType(String types) throws SAXException {
+        EnumSet<PresetType> result = EnumSet.noneOf(PresetType.class);
+        for (String type : Arrays.asList(types.split(","))) {
+            try {
+                PresetType presetType = PresetType.valueOf(type.toUpperCase());
+                result.add(presetType);
+            } catch (IllegalArgumentException e) {
+                throw new SAXException(tr("Unknown type: {0}", type));
+            }
+        }
+        return result;
+    }
+
+    public void setType(String types) throws SAXException {
+        this.types = getType(types);
+    }
+
+    public static List<TaggingPreset> readAll(Reader in, boolean validate) throws SAXException {
+        XmlObjectParser parser = new XmlObjectParser();
+        parser.mapOnStart("item", TaggingPreset.class);
+        parser.mapOnStart("separator", TaggingPresetSeparator.class);
+        parser.mapBoth("group", TaggingPresetMenu.class);
+        parser.map("text", Text.class);
+        parser.map("link", Link.class);
+        parser.mapOnStart("optional", Optional.class);
+        parser.mapOnStart("roles", Roles.class);
+        parser.map("role", Role.class);
+        parser.map("check", Check.class);
+        parser.map("combo", Combo.class);
+        parser.map("multiselect", MultiSelect.class);
+        parser.map("label", Label.class);
+        parser.map("space", Space.class);
+        parser.map("key", Key.class);
+        LinkedList<TaggingPreset> all = new LinkedList<TaggingPreset>();
+        TaggingPresetMenu lastmenu = null;
+        Roles lastrole = null;
+
+        if (validate) {
+            parser.startWithValidation(in, "http://josm.openstreetmap.de/tagging-preset-1.0";, "resource://data/tagging-preset.xsd");
+        } else {
+            parser.start(in);
+        }
+        while(parser.hasNext()) {
+            Object o = parser.next();
+            if (o instanceof TaggingPresetMenu) {
+                TaggingPresetMenu tp = (TaggingPresetMenu) o;
+                if(tp == lastmenu) {
+                    lastmenu = tp.group;
+                } else
+                {
+                    tp.group = lastmenu;
+                    tp.setDisplayName();
+                    lastmenu = tp;
+                    all.add(tp);
+
+                }
+                lastrole = null;
+            } else if (o instanceof TaggingPresetSeparator) {
+                TaggingPresetSeparator tp = (TaggingPresetSeparator) o;
+                tp.group = lastmenu;
+                all.add(tp);
+                lastrole = null;
+            } else if (o instanceof TaggingPreset) {
+                TaggingPreset tp = (TaggingPreset) o;
+                tp.group = lastmenu;
+                tp.setDisplayName();
+                all.add(tp);
+                lastrole = null;
+            } else {
+                if(all.size() != 0) {
+                    if(o instanceof Roles) {
+                        all.getLast().data.add((Item)o);
+                        lastrole = (Roles) o;
+                    }
+                    else if(o instanceof Role) {
+                        if(lastrole == null)
+                            throw new SAXException(tr("Preset role element without parent"));
+                        lastrole.roles.add((Role) o);
+                    }
+                    else {
+                        all.getLast().data.add((Item)o);
+                        lastrole = null;
+                    }
+                } else
+                    throw new SAXException(tr("Preset sub element without parent"));
+            }
+        }
+        return all;
+    }
+
+    public static Collection<TaggingPreset> readAll(String source, boolean validate) throws SAXException, IOException {
+        MirroredInputStream s = new MirroredInputStream(source);
+        InputStream zip = s.getZipEntry("xml","preset");
+        if(zip != null) {
+            zipIcons = s.getFile();
+        }
+        InputStreamReader r;
+        try
+        {
+            r = new InputStreamReader(zip == null ? s : zip, "UTF-8");
+        }
+        catch (UnsupportedEncodingException e)
+        {
+            r = new InputStreamReader(zip == null ? s: zip);
+        }
+        return TaggingPreset.readAll(new BufferedReader(r), validate);
+    }
+
+    public static Collection<TaggingPreset> readAll(Collection<String> sources, boolean validate) {
+        LinkedList<TaggingPreset> allPresets = new LinkedList<TaggingPreset>();
+        for(String source : sources)  {
+            try {
+                allPresets.addAll(TaggingPreset.readAll(source, validate));
+            } catch (IOException e) {
+                e.printStackTrace();
+                JOptionPane.showMessageDialog(
+                        Main.parent,
+                        tr("Could not read tagging preset source: {0}",source),
+                        tr("Error"),
+                        JOptionPane.ERROR_MESSAGE
+                );
+            } catch (SAXException e) {
+                System.err.println(e.getMessage());
+                System.err.println(source);
+                e.printStackTrace();
+                JOptionPane.showMessageDialog(
+                        Main.parent,
+                        tr("Error parsing {0}: ", source)+e.getMessage(),
+                        tr("Error"),
+                        JOptionPane.ERROR_MESSAGE
+                );
+            }
+            zipIcons = null;
+        }
+        return allPresets;
+    }
+
+    public static LinkedList<String> getPresetSources() {
+        LinkedList<String> sources = new LinkedList<String>();
+
+        for (SourceEntry e : (new PresetPrefMigration()).get()) {
+            sources.add(e.url);
+        }
+
+        return sources;
+    }
+
+    public static Collection<TaggingPreset> readFromPreferences(boolean validate) {
+        return readAll(getPresetSources(), validate);
+    }
+
+    private static class PresetPanel extends JPanel {
+        boolean hasElements = false;
+        PresetPanel()
+        {
+            super(new GridBagLayout());
+        }
+    }
+
+    public PresetPanel createPanel(Collection<OsmPrimitive> selected) {
+        if (data == null)
+            return null;
+        PresetPanel p = new PresetPanel();
+        LinkedList<Item> l = new LinkedList<Item>();
+        if(types != null){
+            JPanel pp = new JPanel();
+            for(PresetType t : types){
+                JLabel la = new JLabel(ImageProvider.get(t.getIconName()));
+                la.setToolTipText(tr("Elements of type {0} are supported.", tr(t.getName())));
+                pp.add(la);
+            }
+            p.add(pp, GBC.eol());
+        }
+
+        JPanel items = new JPanel(new GridBagLayout());
+        for (Item i : data){
+            if(i instanceof Link) {
+                l.add(i);
+            } else {
+                if(i.addToPanel(items, selected)) {
+                    p.hasElements = true;
+                }
+            }
+        }
+        p.add(items, GBC.eol().fill());
+        if (selected.size() == 0 && !supportsRelation()) {
+            GuiHelper.setEnabledRec(items, false);
+        }
+
+        for(Item link : l) {
+            link.addToPanel(p, selected);
+        }
+
+        return p;
+    }
+
+    public boolean isShowable()
+    {
+        for(Item i : data)
+        {
+            if(!(i instanceof Optional || i instanceof Space || i instanceof Key))
+                return true;
+        }
+        return false;
+    }
+
+    public void actionPerformed(ActionEvent e) {
+        if (Main.main == null) return;
+        if (Main.main.getCurrentDataSet() == null) return;
+
+        Collection<OsmPrimitive> sel = Main.main.getCurrentDataSet().getSelected();
+        int answer = showDialog(sel, supportsRelation());
+
+        if (sel.size() != 0 && answer == DIALOG_ANSWER_APPLY) {
+            Command cmd = createCommand(sel, getChangedTags());
+            if (cmd != null) {
+                Main.main.undoRedo.add(cmd);
+            }
+        } else if (answer == DIALOG_ANSWER_NEW_RELATION) {
+            List<Command> cmds = new ArrayList<Command>(2);
+            final Relation r = new Relation();
+            final Collection<RelationMember> members = new HashSet<RelationMember>();
+            for(Tag t : getChangedTags()) {
+                r.put(t.getKey(), t.getValue());
+            }
+            for(OsmPrimitive osm : sel) {
+                RelationMember rm = new RelationMember("", osm);
+                r.addMember(rm);
+                members.add(rm);
+            }
+            SwingUtilities.invokeLater(new Runnable() {
+                @Override
+                public void run() {
+                    RelationEditor.getEditor(Main.main.getEditLayer(), r, members).setVisible(true);
+                }
+            });
+        }
+        Main.main.getCurrentDataSet().setSelected(Main.main.getCurrentDataSet().getSelected()); // force update
+
+    }
+
+    public int showDialog(Collection<OsmPrimitive> selection, final boolean showNewRelation) {
+        Collection<OsmPrimitive> sel = createSelection(selection);
+        PresetPanel p = createPanel(sel);
+        if (p == null)
+            return DIALOG_ANSWER_CANCEL;
+
+        int answer = 1;
+        if (p.getComponentCount() != 0 && (sel.size() == 0 || p.hasElements)) {
+            String title = trn("Change {0} object", "Change {0} objects", sel.size(), sel.size());
+            if(sel.size() == 0) {
+                if(originalSelectionEmpty) {
+                    title = tr("Nothing selected!");
+                } else {
+                    title = tr("Selection unsuitable!");
+                }
+            }
+
+            class PresetDialog extends ExtendedDialog {
+                public PresetDialog(Component content, String title, boolean disableApply) {
+                    super(Main.parent,
+                            title,
+                            showNewRelation?
+                                    new String[] { tr("Apply Preset"), tr("New relation"), tr("Cancel") }:
+                                        new String[] { tr("Apply Preset"), tr("Cancel") },
+                                        true);
+                    contentInsets = new Insets(10,5,0,5);
+                    if (showNewRelation) {
+                        setButtonIcons(new String[] {"ok.png", "dialogs/addrelation.png", "cancel.png" });
+                    } else {
+                        setButtonIcons(new String[] {"ok.png", "cancel.png" });
+                    }
+                    setContent(content);
+                    setDefaultButton(1);
+                    setupDialog();
+                    buttons.get(0).setEnabled(!disableApply);
+                    buttons.get(0).setToolTipText(title);
+                    showDialog();
+                }
+            }
+
+            answer = new PresetDialog(p, title, (sel.size() == 0)).getValue();
+        }
+        if (!showNewRelation && answer == 2)
+            return DIALOG_ANSWER_CANCEL;
+        else
+            return answer;
+    }
+
+    /**
+     * True whenever the original selection given into createSelection was empty
+     */
+    private boolean originalSelectionEmpty = false;
+
+    /**
+     * Removes all unsuitable OsmPrimitives from the given list
+     * @param participants List of possibile OsmPrimitives to tag
+     * @return Cleaned list with suitable OsmPrimitives only
+     */
+    private Collection<OsmPrimitive> createSelection(Collection<OsmPrimitive> participants) {
+        originalSelectionEmpty = participants.size() == 0;
+        Collection<OsmPrimitive> sel = new LinkedList<OsmPrimitive>();
+        for (OsmPrimitive osm : participants)
+        {
+            if (types != null)
+            {
+                if(osm instanceof Relation)
+                {
+                    if(!types.contains(PresetType.RELATION)) {
+                        continue;
+                    }
+                }
+                else if(osm instanceof Node)
+                {
+                    if(!types.contains(PresetType.NODE)) {
+                        continue;
+                    }
+                }
+                else if(osm instanceof Way)
+                {
+                    if(!types.contains(PresetType.WAY) &&
+                            !(types.contains(PresetType.CLOSEDWAY) && ((Way)osm).isClosed())) {
+                        continue;
+                    }
+                }
+            }
+            sel.add(osm);
+        }
+        return sel;
+    }
+
+    public List<Tag> getChangedTags() {
+        List<Tag> result = new ArrayList<Tag>();
+        for (Item i: data) {
+            i.addCommands(result);
+        }
+        return result;
+    }
+
+    public static Command createCommand(Collection<OsmPrimitive> sel, List<Tag> changedTags) {
+        List<Command> cmds = new ArrayList<Command>();
+        for (Tag tag: changedTags) {
+            if (!tag.getValue().isEmpty()) {
+                cmds.add(new ChangePropertyCommand(sel, tag.getKey(), tag.getValue()));
+            }
+        }
+
+        if (cmds.size() == 0)
+            return null;
+        else if (cmds.size() == 1)
+            return cmds.get(0);
+        else
+            return new SequenceCommand(tr("Change Properties"), cmds);
+    }
+
+    private boolean supportsRelation() {
+        return types == null || types.contains(PresetType.RELATION);
+    }
+
+    protected void updateEnabledState() {
+        setEnabled(Main.main != null && Main.main.getCurrentDataSet() != null);
+    }
+
+    public void activeLayerChange(Layer oldLayer, Layer newLayer) {
+        updateEnabledState();
+    }
+
+    public void layerAdded(Layer newLayer) {
+        updateEnabledState();
+    }
+
+    public void layerRemoved(Layer oldLayer) {
+        updateEnabledState();
+    }
+
+    @Override
+    public String toString() {
+        return (types == null?"":types) + " " + name;
+    }
+}

=== added directory '.pc/50-preferences_world_readable.patch'
=== added directory '.pc/50-preferences_world_readable.patch/src'
=== added directory '.pc/50-preferences_world_readable.patch/src/org'
=== added directory '.pc/50-preferences_world_readable.patch/src/org/openstreetmap'
=== added directory '.pc/50-preferences_world_readable.patch/src/org/openstreetmap/josm'
=== added directory '.pc/50-preferences_world_readable.patch/src/org/openstreetmap/josm/data'
=== added file '.pc/50-preferences_world_readable.patch/src/org/openstreetmap/josm/data/Preferences.java'
--- .pc/50-preferences_world_readable.patch/src/org/openstreetmap/josm/data/Preferences.java	1970-01-01 00:00:00 +0000
+++ .pc/50-preferences_world_readable.patch/src/org/openstreetmap/josm/data/Preferences.java	2011-08-22 12:04:26 +0000
@@ -0,0 +1,1001 @@
+// License: GPL. Copyright 2007 by Immanuel Scholz and others
+package org.openstreetmap.josm.data;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import java.awt.Color;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
+import java.io.Reader;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.reflect.Field;
+import java.nio.channels.FileChannel;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.SortedMap;
+import java.util.TreeMap;
+import java.util.Map.Entry;
+import java.util.concurrent.CopyOnWriteArrayList;
+
+import javax.swing.JOptionPane;
+
+import org.openstreetmap.josm.io.XmlWriter;
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.tools.ColorHelper;
+import org.openstreetmap.josm.tools.Utils;
+import org.openstreetmap.josm.tools.XmlObjectParser;
+import org.xml.sax.SAXException;
+
+/**
+ * This class holds all preferences for JOSM.
+ *
+ * Other classes can register their beloved properties here. All properties will be
+ * saved upon set-access.
+ *
+ * Each property is a simple key=value pair of Strings.
+ * In addition, each key has a unique default value that is set when the value is first
+ * accessed using one of the get...() methods. You can use the same preference
+ * key in different parts of the code, but the default value must be the same
+ * everywhere. null is a legitimate default value.
+ *
+ * At the moment, there is no such thing as an empty value.
+ * If you put "" or null as value, the property is removed.
+ *
+ * @author imi
+ */
+public class Preferences {
+    //static private final Logger logger = Logger.getLogger(Preferences.class.getName());
+
+    /**
+     * Internal storage for the preference directory.
+     * Do not access this variable directly!
+     * @see #getPreferencesDirFile()
+     */
+    private File preferencesDirFile = null;
+
+    /**
+     * Map the property name to the property object. Does not contain null or "" values.
+     */
+    protected final SortedMap<String, String> properties = new TreeMap<String, String>();
+    protected final SortedMap<String, String> defaults = new TreeMap<String, String>();
+
+    public interface PreferenceChangeEvent{
+        String getKey();
+        String getOldValue();
+        String getNewValue();
+    }
+
+    public interface PreferenceChangedListener {
+        void preferenceChanged(PreferenceChangeEvent e);
+    }
+
+    private static class DefaultPreferenceChangeEvent implements PreferenceChangeEvent {
+        private final String key;
+        private final String oldValue;
+        private final String newValue;
+
+        public DefaultPreferenceChangeEvent(String key, String oldValue, String newValue) {
+            this.key = key;
+            this.oldValue = oldValue;
+            this.newValue = newValue;
+        }
+
+        public String getKey() {
+            return key;
+        }
+        public String getOldValue() {
+            return oldValue;
+        }
+        public String getNewValue() {
+            return newValue;
+        }
+    }
+
+    public interface ColorKey {
+        String getColorName();
+        String getSpecialName();
+        Color getDefault();
+    }
+
+    private final CopyOnWriteArrayList<PreferenceChangedListener> listeners = new CopyOnWriteArrayList<PreferenceChangedListener>();
+
+    public void addPreferenceChangeListener(PreferenceChangedListener listener) {
+        if (listener != null) {
+            listeners.addIfAbsent(listener);
+        }
+    }
+
+    public void removePreferenceChangeListener(PreferenceChangedListener listener) {
+        listeners.remove(listener);
+    }
+
+    protected void firePreferenceChanged(String key, String oldValue, String newValue) {
+        PreferenceChangeEvent evt = new DefaultPreferenceChangeEvent(key, oldValue, newValue);
+        for (PreferenceChangedListener l : listeners) {
+            l.preferenceChanged(evt);
+        }
+    }
+
+    /**
+     * Return the location of the user defined preferences file
+     */
+    public String getPreferencesDir() {
+        final String path = getPreferencesDirFile().getPath();
+        if (path.endsWith(File.separator))
+            return path;
+        return path + File.separator;
+    }
+
+    public File getPreferencesDirFile() {
+        if (preferencesDirFile != null)
+            return preferencesDirFile;
+        String path;
+        path = System.getProperty("josm.home");
+        if (path != null) {
+            preferencesDirFile = new File(path);
+        } else {
+            path = System.getenv("APPDATA");
+            if (path != null) {
+                preferencesDirFile = new File(path, "JOSM");
+            } else {
+                preferencesDirFile = new File(System.getProperty("user.home"), ".josm");
+            }
+        }
+        return preferencesDirFile;
+    }
+
+    public File getPreferenceFile() {
+        return new File(getPreferencesDirFile(), "preferences");
+    }
+
+    public File getPluginsDirectory() {
+        return new File(getPreferencesDirFile(), "plugins");
+    }
+
+    /**
+     * @return A list of all existing directories where resources could be stored.
+     */
+    public Collection<String> getAllPossiblePreferenceDirs() {
+        LinkedList<String> locations = new LinkedList<String>();
+        locations.add(Main.pref.getPreferencesDir());
+        String s;
+        if ((s = System.getenv("JOSM_RESOURCES")) != null) {
+            if (!s.endsWith(File.separator)) {
+                s = s + File.separator;
+            }
+            locations.add(s);
+        }
+        if ((s = System.getProperty("josm.resources")) != null) {
+            if (!s.endsWith(File.separator)) {
+                s = s + File.separator;
+            }
+            locations.add(s);
+        }
+        String appdata = System.getenv("APPDATA");
+        if (System.getenv("ALLUSERSPROFILE") != null && appdata != null
+                && appdata.lastIndexOf(File.separator) != -1) {
+            appdata = appdata.substring(appdata.lastIndexOf(File.separator));
+            locations.add(new File(new File(System.getenv("ALLUSERSPROFILE"),
+                    appdata), "JOSM").getPath());
+        }
+        locations.add("/usr/local/share/josm/");
+        locations.add("/usr/local/lib/josm/");
+        locations.add("/usr/share/josm/");
+        locations.add("/usr/lib/josm/");
+        return locations;
+    }
+
+    synchronized public boolean hasKey(final String key) {
+        return properties.containsKey(key);
+    }
+
+    /**
+     * Get settings value for a certain key.
+     * @param key the identifier for the setting
+     * @return "" if there is nothing set for the preference key,
+     *  the corresponding value otherwise. The result is not null.
+     */
+    synchronized public String get(final String key) {
+        putDefault(key, null);
+        if (!properties.containsKey(key))
+            return "";
+        return properties.get(key);
+    }
+
+    /**
+     * Get settings value for a certain key and provide default a value.
+     * @param key the identifier for the setting
+     * @param def the default value. For each call of get() with a given key, the
+     *  default value must be the same.
+     * @return the corresponding value if the property has been set before,
+     *  def otherwise
+     */
+    synchronized public String get(final String key, final String def) {
+        putDefault(key, def);
+        final String prop = properties.get(key);
+        if (prop == null || prop.equals(""))
+            return def;
+        return prop;
+    }
+
+    synchronized public Map<String, String> getAllPrefix(final String prefix) {
+        final Map<String,String> all = new TreeMap<String,String>();
+        for (final Entry<String,String> e : properties.entrySet()) {
+            if (e.getKey().startsWith(prefix)) {
+                all.put(e.getKey(), e.getValue());
+            }
+        }
+        return all;
+    }
+
+    synchronized private Map<String, String> getAllPrefixDefault(final String prefix) {
+        final Map<String,String> all = new TreeMap<String,String>();
+        for (final Entry<String,String> e : defaults.entrySet()) {
+            if (e.getKey().startsWith(prefix)) {
+                all.put(e.getKey(), e.getValue());
+            }
+        }
+        return all;
+    }
+
+    synchronized public TreeMap<String, String> getAllColors() {
+        final TreeMap<String,String> all = new TreeMap<String,String>();
+        for (final Entry<String,String> e : defaults.entrySet()) {
+            if (e.getKey().startsWith("color.") && e.getValue() != null) {
+                all.put(e.getKey().substring(6), e.getValue());
+            }
+        }
+        for (final Entry<String,String> e : properties.entrySet()) {
+            if (e.getKey().startsWith("color.")) {
+                all.put(e.getKey().substring(6), e.getValue());
+            }
+        }
+        return all;
+    }
+
+    synchronized public Map<String, String> getDefaults() {
+        return defaults;
+    }
+
+    synchronized public void putDefault(final String key, final String def) {
+        if(!defaults.containsKey(key) || defaults.get(key) == null) {
+            defaults.put(key, def);
+        } else if(def != null && !defaults.get(key).equals(def)) {
+            System.out.println("Defaults for " + key + " differ: " + def + " != " + defaults.get(key));
+        }
+    }
+
+    synchronized public boolean getBoolean(final String key) {
+        putDefault(key, null);
+        return properties.containsKey(key) ? Boolean.parseBoolean(properties.get(key)) : false;
+    }
+
+    synchronized public boolean getBoolean(final String key, final boolean def) {
+        putDefault(key, Boolean.toString(def));
+        return properties.containsKey(key) ? Boolean.parseBoolean(properties.get(key)) : def;
+    }
+
+    /**
+     * Set a value for a certain setting. The changed setting is saved
+     * to the preference file immediately. Due to caching mechanisms on modern
+     * operating systems and hardware, this shouldn't be a performance problem.
+     * @param key the unique identifier for the setting
+     * @param value the value of the setting. Can be null or "" wich both removes
+     *  the key-value entry.
+     * @return if true, something has changed (i.e. value is different than before)
+     */
+    public boolean put(final String key, String value) {
+        boolean changed = false;
+        String oldValue = null;
+
+        synchronized (this) {
+            oldValue = properties.get(key);
+            if(value != null && value.length() == 0) {
+                value = null;
+            }
+            // value is the same as before - no need to save anything
+            boolean equalValue = oldValue != null && oldValue.equals(value);
+            // The setting was previously unset and we are supposed to put a
+            // value that equals the default value. This is not necessary because
+            // the default value is the same throughout josm. In addition we like
+            // to have the possibility to change the default value from version
+            // to version, which would not work if we wrote it to the preference file.
+            boolean unsetIsDefault = oldValue == null && (value == null || value.equals(defaults.get(key)));
+
+            if (!(equalValue || unsetIsDefault)) {
+                if (value == null) {
+                    properties.remove(key);
+                } else {
+                    properties.put(key, value);
+                }
+                try {
+                    save();
+                } catch(IOException e){
+                    System.out.println(tr("Warning: failed to persist preferences to ''{0}''", getPreferenceFile().getAbsoluteFile()));
+                }
+                changed = true;
+            }
+        }
+        if (changed) {
+            // Call outside of synchronized section in case some listener wait for other thread that wait for preference lock
+            firePreferenceChanged(key, oldValue, value);
+        }
+        return changed;
+    }
+
+    public boolean put(final String key, final boolean value) {
+        return put(key, Boolean.toString(value));
+    }
+
+    public boolean putInteger(final String key, final Integer value) {
+        return put(key, Integer.toString(value));
+    }
+
+    public boolean putDouble(final String key, final Double value) {
+        return put(key, Double.toString(value));
+    }
+
+    public boolean putLong(final String key, final Long value) {
+        return put(key, Long.toString(value));
+    }
+
+    /**
+     * Called after every put. In case of a problem, do nothing but output the error
+     * in log.
+     */
+    public void save() throws IOException {
+        /* currently unused, but may help to fix configuration issues in future */
+        putInteger("josm.version", Version.getInstance().getVersion());
+
+        updateSystemProperties();
+        if(Main.applet)
+            return;
+        File prefFile = new File(getPreferencesDirFile(), "preferences");
+
+        // Backup old preferences if there are old preferences
+        if(prefFile.exists()) {
+            copyFile(prefFile, new File(prefFile + "_backup"));
+        }
+
+        final PrintWriter out = new PrintWriter(new OutputStreamWriter(
+                new FileOutputStream(prefFile + "_tmp"), "utf-8"), false);
+        for (final Entry<String, String> e : properties.entrySet()) {
+            String s = defaults.get(e.getKey());
+            /* don't save default values */
+            if(s == null || !s.equals(e.getValue())) {
+                out.println(e.getKey() + "=" + e.getValue());
+            }
+        }
+        out.close();
+
+        File tmpFile = new File(prefFile + "_tmp");
+        copyFile(tmpFile, prefFile);
+        tmpFile.delete();
+    }
+
+    /**
+     * Simple file copy function that will overwrite the target file
+     * Taken from http://www.rgagnon.com/javadetails/java-0064.html (CC-NC-BY-SA)
+     * @param in
+     * @param out
+     * @throws IOException
+     */
+    public static void copyFile(File in, File out) throws IOException  {
+        FileChannel inChannel = new FileInputStream(in).getChannel();
+        FileChannel outChannel = new FileOutputStream(out).getChannel();
+        try {
+            inChannel.transferTo(0, inChannel.size(),
+                    outChannel);
+        }
+        catch (IOException e) {
+            throw e;
+        }
+        finally {
+            if (inChannel != null) {
+                inChannel.close();
+            }
+            if (outChannel != null) {
+                outChannel.close();
+            }
+        }
+    }
+
+    public void load() throws IOException {
+        properties.clear();
+        if(!Main.applet) {
+            final BufferedReader in = new BufferedReader(new InputStreamReader(
+                    new FileInputStream(getPreferencesDir()+"preferences"), "utf-8"));
+            int lineNumber = 0;
+            ArrayList<Integer> errLines = new ArrayList<Integer>();
+            for (String line = in.readLine(); line != null; line = in.readLine(), lineNumber++) {
+                final int i = line.indexOf('=');
+                if (i == -1 || i == 0) {
+                    errLines.add(lineNumber);
+                    continue;
+                }
+                String key = line.substring(0,i);
+                String value = line.substring(i+1);
+                if (!value.isEmpty()) {
+                    properties.put(key, value);
+                }
+            }
+            if (!errLines.isEmpty())
+                throw new IOException(tr("Malformed config file at lines {0}", errLines));
+        }
+        updateSystemProperties();
+    }
+
+    public void init(boolean reset){
+        if(Main.applet)
+            return;
+        // get the preferences.
+        File prefDir = getPreferencesDirFile();
+        if (prefDir.exists()) {
+            if(!prefDir.isDirectory()) {
+                System.err.println(tr("Warning: Failed to initialize preferences. Preference directory ''{0}'' is not a directory.", prefDir.getAbsoluteFile()));
+                JOptionPane.showMessageDialog(
+                        Main.parent,
+                        tr("<html>Failed to initialize preferences.<br>Preference directory ''{0}'' is not a directory.</html>", prefDir.getAbsoluteFile()),
+                        tr("Error"),
+                        JOptionPane.ERROR_MESSAGE
+                );
+                return;
+            }
+        } else {
+            if (! prefDir.mkdirs()) {
+                System.err.println(tr("Warning: Failed to initialize preferences. Failed to create missing preference directory: {0}", prefDir.getAbsoluteFile()));
+                JOptionPane.showMessageDialog(
+                        Main.parent,
+                        tr("<html>Failed to initialize preferences.<br>Failed to create missing preference directory: {0}</html>",prefDir.getAbsoluteFile()),
+                        tr("Error"),
+                        JOptionPane.ERROR_MESSAGE
+                );
+                return;
+            }
+        }
+
+        File preferenceFile = getPreferenceFile();
+        try {
+            if (!preferenceFile.exists()) {
+                System.out.println(tr("Warning: Missing preference file ''{0}''. Creating a default preference file.", preferenceFile.getAbsoluteFile()));
+                resetToDefault();
+                save();
+            } else if (reset) {
+                System.out.println(tr("Warning: Replacing existing preference file ''{0}'' with default preference file.", preferenceFile.getAbsoluteFile()));
+                resetToDefault();
+                save();
+            }
+        } catch(IOException e) {
+            e.printStackTrace();
+            JOptionPane.showMessageDialog(
+                    Main.parent,
+                    tr("<html>Failed to initialize preferences.<br>Failed to reset preference file to default: {0}</html>",getPreferenceFile().getAbsoluteFile()),
+                    tr("Error"),
+                    JOptionPane.ERROR_MESSAGE
+            );
+            return;
+        }
+        try {
+            load();
+        } catch (IOException e) {
+            e.printStackTrace();
+            File backupFile = new File(prefDir,"preferences.bak");
+            JOptionPane.showMessageDialog(
+                    Main.parent,
+                    tr("<html>Preferences file had errors.<br> Making backup of old one to <br>{0}<br> and creating a new default preference file.</html>", backupFile.getAbsoluteFile()),
+                    tr("Error"),
+                    JOptionPane.ERROR_MESSAGE
+            );
+            preferenceFile.renameTo(backupFile);
+            try {
+                resetToDefault();
+                save();
+            } catch(IOException e1) {
+                e1.printStackTrace();
+                System.err.println(tr("Warning: Failed to initialize preferences.Failed to reset preference file to default: {0}", getPreferenceFile()));
+            }
+        }
+    }
+
+    public final void resetToDefault(){
+        properties.clear();
+    }
+
+    /**
+     * Convenience method for accessing colour preferences.
+     *
+     * @param colName name of the colour
+     * @param def default value
+     * @return a Color object for the configured colour, or the default value if none configured.
+     */
+    synchronized public Color getColor(String colName, Color def) {
+        return getColor(colName, null, def);
+    }
+
+    public Color getColor(ColorKey key) {
+        return getColor(key.getColorName(), key.getSpecialName(), key.getDefault());
+    }
+
+    /**
+     * Convenience method for accessing colour preferences.
+     *
+     * @param colName name of the colour
+     * @param specName name of the special colour settings
+     * @param def default value
+     * @return a Color object for the configured colour, or the default value if none configured.
+     */
+    synchronized public Color getColor(String colName, String specName, Color def) {
+        putDefault("color."+colName, ColorHelper.color2html(def));
+        String colStr = specName != null ? get("color."+specName) : "";
+        if(colStr.equals("")) {
+            colStr = get("color."+colName);
+        }
+        return colStr.equals("") ? def : ColorHelper.html2color(colStr);
+    }
+
+    synchronized public Color getDefaultColor(String colName) {
+        String colStr = defaults.get("color."+colName);
+        return colStr == null || "".equals(colStr) ? null : ColorHelper.html2color(colStr);
+    }
+
+    synchronized public boolean putColor(String colName, Color val) {
+        return put("color."+colName, val != null ? ColorHelper.color2html(val) : null);
+    }
+
+    synchronized public int getInteger(String key, int def) {
+        putDefault(key, Integer.toString(def));
+        String v = get(key);
+        if(null == v)
+            return def;
+
+        try {
+            return Integer.parseInt(v);
+        } catch(NumberFormatException e) {
+            // fall out
+        }
+        return def;
+    }
+
+    synchronized public long getLong(String key, long def) {
+        putDefault(key, Long.toString(def));
+        String v = get(key);
+        if(null == v)
+            return def;
+
+        try {
+            return Long.parseLong(v);
+        } catch(NumberFormatException e) {
+            // fall out
+        }
+        return def;
+    }
+
+    synchronized public double getDouble(String key, double def) {
+        putDefault(key, Double.toString(def));
+        String v = get(key);
+        if(null == v)
+            return def;
+
+        try {
+            return Double.parseDouble(v);
+        } catch(NumberFormatException e) {
+            // fall out
+        }
+        return def;
+    }
+
+    synchronized public double getDouble(String key, String def) {
+        putDefault(key, def);
+        String v = get(key);
+        if(v != null && v.length() != 0) {
+            try { return Double.parseDouble(v); } catch(NumberFormatException e) {}
+        }
+        try { return Double.parseDouble(def); } catch(NumberFormatException e) {}
+        return 0.0;
+    }
+
+    synchronized public String getCollectionAsString(final String key) {
+        String s = get(key);
+        if(s != null && s.length() != 0) {
+            s = s.replaceAll("\u001e",",");
+        }
+        return s;
+    }
+
+    public boolean isCollection(String key, boolean def) {
+        String s = get(key);
+        if (s != null && s.length() != 0)
+            return s.indexOf("\u001e") >= 0;
+            else
+                return def;
+    }
+
+    /**
+     * Get a list of values for a certain key
+     * @param key the identifier for the setting
+     * @param def the default value.
+     * @return the corresponding value if the property has been set before,
+     *  def otherwise
+     */
+    synchronized public Collection<String> getCollection(String key, Collection<String> def) {
+        putCollectionDefault(key, def);
+        String s = get(key);
+        if(s != null && s.length() != 0)
+            return Arrays.asList(s.split("\u001e", -1));
+        return def;
+    }
+
+    /**
+     * Get a list of values for a certain key
+     * @param key the identifier for the setting
+     * @return the corresponding value if the property has been set before,
+     *  an empty Collection otherwise.
+     */
+    synchronized public Collection<String> getCollection(String key) {
+        putCollectionDefault(key, null);
+        String s = get(key);
+        if (s != null && s.length() != 0)
+            return Arrays.asList(s.split("\u001e", -1));
+        return Collections.emptyList();
+    }
+
+    /* old style conversion, replace by above call after some transition time */
+    /* remove this function, when no more old-style preference collections in the code */
+    @Deprecated
+    synchronized public Collection<String> getCollectionOld(String key, String sep) {
+        putCollectionDefault(key, null);
+        String s = get(key);
+        if (s != null && s.length() != 0) {
+            if(!s.contains("\u001e") && s.contains(sep)) {
+                s = s.replace(sep, "\u001e");
+                put(key, s);
+            }
+            return Arrays.asList(s.split("\u001e", -1));
+        }
+        return Collections.emptyList();
+    }
+
+    synchronized public void removeFromCollection(String key, String value) {
+        List<String> a = new ArrayList<String>(getCollection(key, Collections.<String>emptyList()));
+        a.remove(value);
+        putCollection(key, a);
+    }
+
+    synchronized public boolean putCollection(String key, Collection<String> val) {
+        return put(key, Utils.join("\u001e", val));
+    }
+
+    synchronized private void putCollectionDefault(String key, Collection<String> val) {
+        putDefault(key, Utils.join("\u001e", val));
+    }
+
+    /**
+     * Used to read a 2-dimensional array of strings from the preference file.
+     * If not a single entry could be found, def is returned.
+     */ 
+    synchronized public Collection<Collection<String>> getArray(String key,
+            Collection<Collection<String>> def)
+    {
+        if(def != null)
+            putArrayDefault(key, def);
+        key += ".";
+        int num = 0;
+        Collection<Collection<String>> col = new LinkedList<Collection<String>>();
+        while(properties.containsKey(key+num)) {
+            col.add(getCollection(key+num++, null));
+        }
+        return num == 0 ? def : col;
+    }
+    
+    synchronized public boolean putArray(String key, Collection<Collection<String>> val) {
+        boolean changed = false;
+        key += ".";
+        Collection<String> keys = getAllPrefix(key).keySet();
+        if(val != null) {
+            int num = 0;
+            for(Collection<String> c : val) {
+                keys.remove(key+num);
+                changed |= putCollection(key+num++, c);
+            }
+        }
+        int l = key.length();
+        for(String k : keys) {
+            try {
+                Integer.valueOf(k.substring(l));
+                changed |= put(k, null);
+            } catch(NumberFormatException e) {
+                /* everything which does not end with a number should not be deleted */
+            }
+        }
+        return changed;
+    }
+
+    synchronized private void putArrayDefault(String key, Collection<Collection<String>> val) {
+        key += ".";
+        Collection<String> keys = getAllPrefixDefault(key).keySet();
+        int num = 0;
+        for(Collection<String> c : val) {
+            keys.remove(key+num);
+            putCollectionDefault(key+num++, c);
+        }
+        int l = key.length();
+        for(String k : keys) {
+            try {
+                Integer.valueOf(k.substring(l));
+                defaults.remove(k);
+            } catch(Exception e) {
+                /* everything which does not end with a number should not be deleted */
+            }
+        }
+    }
+
+    @Retention(RetentionPolicy.RUNTIME) public @interface pref { }
+    @Retention(RetentionPolicy.RUNTIME) public @interface writeExplicitly { }
+
+    /**
+     * Get a list of hashes which are represented by a struct-like class.
+     * It reads lines of the form
+     *  > key.0=prop:val \u001e prop:val \u001e ... \u001e prop:val
+     *  > ...
+     *  > key.N=prop:val \u001e prop:val \u001e ... \u001e prop:val
+     * Possible properties are given by fields of the class klass that have
+     * the @pref annotation.
+     * Default constructor is used to initialize the struct objects, properties
+     * then override some of these default values.
+     * @param key main preference key
+     * @param klass The struct class
+     * @return a list of objects of type T or an empty list if nothing was found
+     */
+    public <T> List<T> getListOfStructs(String key, Class<T> klass) {
+        List<T> r = getListOfStructs(key, null, klass);
+        if (r == null)
+            return Collections.emptyList();
+        else
+            return r;
+    }
+
+    /**
+     * same as above, but returns def if nothing was found
+     */
+    public <T> List<T> getListOfStructs(String key, Collection<T> def, Class<T> klass) {
+        Collection<Collection<String>> array =
+                getArray(key, def == null ? null : serializeListOfStructs(def, klass));
+        if (array == null)
+            return def == null ? null : new ArrayList<T>(def);
+        List<T> lst = new ArrayList<T>();
+        for (Collection<String> entries : array) {
+            T struct = deserializeStruct(entries, klass);
+            lst.add(struct);
+        }
+        return lst;
+    }
+
+    /**
+     * Save a list of hashes represented by a struct-like class.
+     * Considers only fields that have the @pref annotation.
+     * In addition it does not write fields with null values. (Thus they are cleared)
+     * Default values are given by the field values after default constructor has
+     * been called.
+     * Fields equal to the default value are not written unless the field has
+     * the @writeExplicitly annotation.
+     * @param key main preference key
+     * @param val the list that is supposed to be saved
+     * @param klass The struct class
+     * @return true if something has changed
+     */
+    public <T> boolean putListOfStructs(String key, Collection<T> val, Class<T> klass) {
+        return putArray(key, serializeListOfStructs(val, klass));
+    }
+
+    private <T> Collection<Collection<String>> serializeListOfStructs(Collection<T> l, Class<T> klass) {
+        if (l == null)
+            return null;
+        Collection<Collection<String>> vals = new ArrayList<Collection<String>>();
+        for (T struct : l) {
+            if (struct == null)
+                continue;
+            vals.add(serializeStruct(struct, klass));
+        }
+        return vals;
+    }
+
+    private <T> Collection<String> serializeStruct(T struct, Class<T> klass) {
+        T structPrototype;
+        try {
+            structPrototype = klass.newInstance();
+        } catch (InstantiationException ex) {
+            throw new RuntimeException();
+        } catch (IllegalAccessException ex) {
+            throw new RuntimeException();
+        }
+
+        Collection<String> hash = new ArrayList<String>();
+        for (Field f : klass.getDeclaredFields()) {
+            if (f.getAnnotation(pref.class) == null) {
+                continue;
+            }
+            f.setAccessible(true);
+            try {
+                Object fieldValue = f.get(struct);
+                Object defaultFieldValue = f.get(structPrototype);
+                if (fieldValue != null) {
+                    if (f.getAnnotation(writeExplicitly.class) != null || !Utils.equal(fieldValue, defaultFieldValue)) {
+                        hash.add(String.format("%s:%s", f.getName().replace("_", "-"), fieldValue.toString()));
+                    }
+                }
+            } catch (IllegalArgumentException ex) {
+                throw new RuntimeException();
+            } catch (IllegalAccessException ex) {
+                throw new RuntimeException();
+            }
+        }
+        return hash;
+    }
+
+    private <T> T deserializeStruct(Collection<String> hash, Class<T> klass) {
+        T struct = null;
+        try {
+            struct = klass.newInstance();
+        } catch (InstantiationException ex) {
+            throw new RuntimeException();
+        } catch (IllegalAccessException ex) {
+            throw new RuntimeException();
+        }
+        for (String key_value : hash) {
+            final int i = key_value.indexOf(':');
+            if (i == -1 || i == 0) {
+                continue;
+            }
+            String key = key_value.substring(0,i);
+            String valueString = key_value.substring(i+1);
+
+            Object value = null;
+            Field f;
+            try {
+                f = klass.getDeclaredField(key.replace("-", "_"));
+            } catch (NoSuchFieldException ex) {
+                continue;
+            } catch (SecurityException ex) {
+                throw new RuntimeException();
+            }
+            if (f.getAnnotation(pref.class) == null) {
+                continue;
+            }
+            f.setAccessible(true);
+            if (f.getType() == Boolean.class || f.getType() == boolean.class) {
+                value = Boolean.parseBoolean(valueString);
+            } else if (f.getType() == Integer.class || f.getType() == int.class) {
+                try {
+                    value = Integer.parseInt(valueString);
+                } catch (NumberFormatException nfe) {
+                    continue;
+                }
+            } else  if (f.getType() == String.class) {
+                value = valueString;
+            } else
+                throw new RuntimeException("unsupported preference primitive type");
+
+            try {
+                f.set(struct, value);
+            } catch (IllegalArgumentException ex) {
+                throw new AssertionError();
+            } catch (IllegalAccessException ex) {
+                throw new RuntimeException();
+            }
+        }
+        return struct;
+    }
+
+    /**
+     * Updates system properties with the current values in the preferences.
+     *
+     */
+    public void updateSystemProperties() {
+        Properties sysProp = System.getProperties();
+        sysProp.put("http.agent", Version.getInstance().getAgentString());
+        System.setProperties(sysProp);
+    }
+
+    /**
+     * The default plugin site
+     */
+    private final static String[] DEFAULT_PLUGIN_SITE = {
+        "http://josm.openstreetmap.de/plugin%<?plugins=>"};
+
+    /**
+     * Replies the collection of plugin site URLs from where plugin lists can be downloaded
+     *
+     * @return
+     */
+    public Collection<String> getPluginSites() {
+        return getCollection("pluginmanager.sites", Arrays.asList(DEFAULT_PLUGIN_SITE));
+    }
+
+    /**
+     * Sets the collection of plugin site URLs.
+     *
+     * @param sites the site URLs
+     */
+    public void setPluginSites(Collection<String> sites) {
+        putCollection("pluginmanager.sites", sites);
+    }
+
+    public static class XMLTag {
+        public String key;
+        public String value;
+    }
+    public static class XMLCollection {
+        public String key;
+    }
+    public static class XMLEntry {
+        public String value;
+    }
+    public void fromXML(Reader in) throws SAXException {
+        XmlObjectParser parser = new XmlObjectParser();
+        parser.map("tag", XMLTag.class);
+        parser.map("entry", XMLEntry.class);
+        parser.map("collection", XMLCollection.class);
+        parser.startWithValidation(in,
+        "http://josm.openstreetmap.de/preferences-1.0";, "resource://data/preferences.xsd");
+        LinkedList<String> vals = new LinkedList<String>();
+        while(parser.hasNext()) {
+            Object o = parser.next();
+            if(o instanceof XMLTag) {
+                properties.put(((XMLTag)o).key, ((XMLTag)o).value);
+            } else if (o instanceof XMLEntry) {
+                vals.add(((XMLEntry)o).value);
+            } else if (o instanceof XMLCollection) {
+                properties.put(((XMLCollection)o).key, Utils.join("\u001e", vals));
+                vals = new LinkedList<String>();
+            }
+        }
+    }
+
+    public String toXML(boolean nopass) {
+        StringBuilder b = new StringBuilder(
+        "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
+        "<preferences xmlns=\"http://josm.openstreetmap.de/preferences-1.0\";>\n");
+        for (Entry<String, String> p : properties.entrySet()) {
+            if (nopass && p.getKey().equals("osm-server.password")) {
+                continue; // do not store plain password.
+            }
+            String r = p.getValue();
+            if(r.contains("\u001e"))
+            {
+                b.append(" <collection key='");
+                b.append(XmlWriter.encode(p.getKey()));
+                b.append("'>\n");
+                for (String val : r.split("\u001e", -1))
+                {
+                    b.append("  <entry value='");
+                    b.append(XmlWriter.encode(val));
+                    b.append("' />\n");
+                }
+                b.append(" </collection>\n");
+            }
+            else
+            {
+                b.append(" <tag key='");
+                b.append(XmlWriter.encode(p.getKey()));
+                b.append("' value='");
+                b.append(XmlWriter.encode(p.getValue()));
+                b.append("' />\n");
+            }
+        }
+        b.append("</preferences>");
+        return b.toString();
+    }
+}

=== added directory '.pc/70-default_look_and_feel.patch'
=== added directory '.pc/70-default_look_and_feel.patch/src'
=== added directory '.pc/70-default_look_and_feel.patch/src/org'
=== added directory '.pc/70-default_look_and_feel.patch/src/org/openstreetmap'
=== added directory '.pc/70-default_look_and_feel.patch/src/org/openstreetmap/josm'
=== added directory '.pc/70-default_look_and_feel.patch/src/org/openstreetmap/josm/tools'
=== added file '.pc/70-default_look_and_feel.patch/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java'
--- .pc/70-default_look_and_feel.patch/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java	1970-01-01 00:00:00 +0000
+++ .pc/70-default_look_and_feel.patch/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java	2011-08-22 12:04:26 +0000
@@ -0,0 +1,80 @@
+// License: GPL. Copyright 2007 by Immanuel Scholz and others
+package org.openstreetmap.josm.tools;
+
+import java.awt.event.KeyEvent;
+import java.io.IOException;
+
+import org.openstreetmap.josm.Main;
+
+/**
+ * see PlatformHook.java
+ *
+ * BTW: THIS IS A STUB. See comments below for details.
+ */
+public class PlatformHookUnixoid implements PlatformHook {
+    public void preStartupHook(){
+    }
+    public void startupHook() {
+    }
+    public void openUrl(String url) throws IOException {
+        String[] programs = {"gnome-open", "kfmclient openURL", "firefox"};
+        for (String program : programs) {
+            try {
+                Runtime.getRuntime().exec(program+" "+url);
+                return;
+            } catch (IOException e) {
+            }
+        }
+    }
+    public void initShortcutGroups() {
+        // This is the Windows list. Someone should look over it and make it more "*nix"...
+        Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_NONE),    Integer.toString(-1));
+        Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_HOTKEY),  Integer.toString(KeyEvent.CTRL_DOWN_MASK));
+        Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_MENU),    Integer.toString(KeyEvent.CTRL_DOWN_MASK));
+        Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_EDIT),    Integer.toString(0));
+        Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_LAYER),   Integer.toString(KeyEvent.ALT_DOWN_MASK));
+        Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_DIRECT),  Integer.toString(0));
+        Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_MNEMONIC),Integer.toString(KeyEvent.ALT_DOWN_MASK));
+
+        Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1+Shortcut.GROUP_NONE),       Integer.toString(-1));
+        Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1+Shortcut.GROUP_HOTKEY),     Integer.toString(KeyEvent.CTRL_DOWN_MASK | KeyEvent.SHIFT_DOWN_MASK));
+        Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1+Shortcut.GROUP_MENU),       Integer.toString(KeyEvent.CTRL_DOWN_MASK | KeyEvent.SHIFT_DOWN_MASK));
+        Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1+Shortcut.GROUP_EDIT),       Integer.toString(KeyEvent.SHIFT_DOWN_MASK));
+        Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1+Shortcut.GROUP_LAYER),      Integer.toString(KeyEvent.ALT_DOWN_MASK  | KeyEvent.SHIFT_DOWN_MASK));
+        Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1+Shortcut.GROUP_DIRECT),     Integer.toString(KeyEvent.SHIFT_DOWN_MASK));
+        Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1+Shortcut.GROUP_MNEMONIC),   Integer.toString(KeyEvent.ALT_DOWN_MASK));
+
+        Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2+Shortcut.GROUP_NONE),       Integer.toString(-1));
+        Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2+Shortcut.GROUP_HOTKEY),     Integer.toString(KeyEvent.CTRL_DOWN_MASK | KeyEvent.ALT_DOWN_MASK));
+        Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2+Shortcut.GROUP_MENU),       Integer.toString(KeyEvent.CTRL_DOWN_MASK | KeyEvent.ALT_DOWN_MASK));
+        Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2+Shortcut.GROUP_EDIT),       Integer.toString(KeyEvent.ALT_DOWN_MASK  | KeyEvent.SHIFT_DOWN_MASK));
+        Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2+Shortcut.GROUP_LAYER),      Integer.toString(KeyEvent.ALT_DOWN_MASK));
+        Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2+Shortcut.GROUP_DIRECT),     Integer.toString(KeyEvent.CTRL_DOWN_MASK));
+        Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2+Shortcut.GROUP_MNEMONIC),   Integer.toString(KeyEvent.ALT_DOWN_MASK));
+    }
+    public void initSystemShortcuts() {
+        // TODO: Insert system shortcuts here. See Windows and espacially OSX to see how to.
+    }
+    /**
+     * This should work for all platforms. Yeah, should.
+     * See PlatformHook.java for a list of reasons why
+     * this is implemented here...
+     */
+    public String makeTooltip(String name, Shortcut sc) {
+        String result = "";
+        result += "<html>";
+        result += name;
+        if (sc != null && sc.getKeyText().length() != 0) {
+            result += " ";
+            result += "<font size='-2'>";
+            result += "("+sc.getKeyText()+")";
+            result += "</font>";
+        }
+        result += "&nbsp;</html>";
+        return result;
+    }
+
+    public String getDefaultStyle() {
+        return "javax.swing.plaf.metal.MetalLookAndFeel";
+    }
+}

=== added directory '.pc/80-fix_images.patch'
=== added directory '.pc/80-fix_images.patch/data'
=== added file '.pc/80-fix_images.patch/data/defaultpresets.xml'
--- .pc/80-fix_images.patch/data/defaultpresets.xml	1970-01-01 00:00:00 +0000
+++ .pc/80-fix_images.patch/data/defaultpresets.xml	2011-08-22 12:04:26 +0000
@@ -0,0 +1,4183 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<presets xmlns="http://josm.openstreetmap.de/tagging-preset-1.0";>
+<!--
+    Pics have been derived from
+    http://de.wikipedia.org/wiki/Bildtafel_der_Verkehrszeichen_in_Deutschland (german street sign SVGs)
+    http://commons.wikimedia.org/wiki/Image:National_Park_Service_sample_pictographs.svg (various monochrome pictograms)
+    http://www.kde.org
+    http://openclipart.org/media/view/media/clip_art
+    http://www.sjjb.co.uk/mapicons/ (meanwhile in osm svn)
+-->
+<!--
+item:
+  name: the text to display
+  icon: the icon to display
+  - relative to the icon path
+  - URL's are also supported to allow remote icons (are cached locally)
+  type: the data types - way,node,relation,closedway (separated by comma)
+
+link: link to the relating map features website
+
+label: simple static text label
+  text: the text to display
+
+key: fixed key/value pair to be set
+  key: key to set
+  value: value to set
+
+text: text box
+  key: key to set
+  text: fixed label to display
+  default: default string to display
+  delete_if_empty: true/false
+  use_last_as_default: true/false
+
+combo: combo box, with multiple choices and possible to enter free form text
+  key: key to set
+  text: fixed label to display
+  values: comma separated list of values
+  display_values: comma separated list of values to be displayed instead of the
+                  database values, order and number must be equal to values
+  short_description: comma separated list of texts to be displayed below each
+                    display_value. (Only if it is not possible to describe 
+                    the entry in 2-3 words.) Instead of comma separeted list, you can
+                    also write it in the following form: 
+                        <short_description>first description</short_description>
+                                ...
+                        <short_description>last description</short_description>
+  default: default string to display
+  delete_if_empty: true/false
+  use_last_as_default: true/false
+
+multiselect: list of values from which zero or more can be selected
+  key: key to set
+  text: fixed label to display
+  delimiter: character that separates values (default: semicolon) - this
+             will also be used to separate selected values in the tag.
+  values: delimiter-separated list of values (delimiter can be escaped with backslash)
+  display_values: delimiter-separated list of values to be displayed instead of the
+                  database values, order and number must be equal to values
+  short_description: delimiter-separated list of texts to be displayed below each
+                    display_value. (Only if it is not possible to describe 
+                    the entry in 2-3 words.) Instead of a separated list, you can
+                    also write it in the following form: 
+                        <short_description>first description</short_description>
+                                ...
+                        <short_description>last description</short_description>
+  default: default string to display
+  delete_if_empty: true/false
+  use_last_as_default: true/false
+
+check: checkbox
+  key: key to set
+  text: fixed label to display
+  default: ticked on/off
+  delete_if_empty: true/false
+  value_on: the value to set when checked (default is "yes")
+  value_off: the value to set when unchecked (default is 'no')
+
+role: type to specify possible roles in relations
+  key: the role name used in relation
+  text: fixed label to display
+  requisite: "optional" or "required" (default is optional)
+  count: how often can the role occur (if not given unlimited number is assumed)
+  type: the data types - way,node,relation,closedway (separated by comma)
+
+For external files the <presets> should have following elements:
+- author           the author of the preset
+- version          a version number of some sort (e.g. creation date)
+- description      what is your preset meant to be
+- shortdescription very short description
+- link             a link to a helpful website (optional)
+- The fields description, shortdescription and link may also be localized (e.g. de.link)
+
+See also http://josm.openstreetmap.de/wiki/TaggingPresets.
+
+The fields "name", "text", "display_values" may also be localized (e.g. de.name).
+When translations of equal words but different meanings may conflict, a translation
+context should be specified. Use "name_context", "text_context" or "values_context"
+for this. The context should be a meaningful short description to help translators.
+
+In JOSM internally all "name", "text" and "display_values" are translated when
+no specific translation has been given in XML file. When no "display_values"
+are supplied, then "values" will be treated as "display_values" and translated instead.
+-->
+  <group name="Highways" icon="presets/way_secondary.png">
+    <group name="Streets" icon="presets/way_secondary.png">
+        <item name="Motorway" icon="presets/motorway.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=motorway";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:highway=motorway"; />
+            <label text="Edit Motorway" />
+            <space />
+            <key key="highway" value="motorway" />
+            <text key="ref" text="Reference" default="" delete_if_empty="true" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+                <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="" delete_if_empty="true" />
+                <combo key="lanes" text="Lanes" values="1,2,3,4,5" default="2" delete_if_empty="true" />
+                <text key="maxspeed" text="Max. speed (km/h)" default="" delete_if_empty="true" />
+                <check key="oneway" text="Oneway" default="on" delete_if_empty="true" />
+                <check key="bridge" text="Bridge" default="off" delete_if_empty="true" />
+                <check key="tunnel" text="Tunnel" default="off" delete_if_empty="true" />
+                <check key="cutting" text="Cutting" default="off" delete_if_empty="true" />
+                <check key="embankment" text="Embankment" default="off" delete_if_empty="true" />
+                <check key="lit" text="Lit" default="off" delete_if_empty="true" /> 
+            </optional>
+        </item>
+        <item name="Motorway Link" icon="presets/motorway.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=motorway_link";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:highway=motorway_link"; />
+            <label text="Edit Motorway Link" />
+            <space />
+            <key key="highway" value="motorway_link" />
+            <optional>
+                <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="" delete_if_empty="true" />
+                <combo key="lanes" text="Lanes" values="1,2,3,4,5" default="2" delete_if_empty="true" />
+                <text key="maxspeed" text="Max. speed (km/h)" default="" delete_if_empty="true" />
+                <check key="oneway" text="Oneway" default="on" delete_if_empty="true" />
+                <check key="bridge" text="Bridge" default="off" delete_if_empty="true" />
+                <check key="tunnel" text="Tunnel" default="off" delete_if_empty="true" />
+                <check key="cutting" text="Cutting" default="off" delete_if_empty="true" />
+                <check key="embankment" text="Embankment" default="off" delete_if_empty="true" />
+                <check key="lit" text="Lit" default="off" delete_if_empty="true" /> 
+            </optional>
+        </item>
+        <item name="Trunk" icon="presets/trunk.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=trunk";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:highway=trunk"; />
+            <label text="Edit Trunk" />
+            <space />
+            <key key="highway" value="trunk" />
+            <text key="ref" text="Reference" default="" delete_if_empty="true" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+                <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="" delete_if_empty="true" />
+                <combo key="lanes" text="Lanes" values="1,2,3,4,5" default="2" delete_if_empty="true" />
+                <text key="maxspeed" text="Max. speed (km/h)" default="" delete_if_empty="true" />
+                <check key="oneway" text="Oneway" default="on" delete_if_empty="true" />
+                <check key="motorroad" text="Motorroad" default="on" delete_if_empty="false" />
+                <check key="bridge" text="Bridge" default="off" delete_if_empty="true" />
+                <check key="tunnel" text="Tunnel" default="off" delete_if_empty="true" />
+                <check key="cutting" text="Cutting" default="off" delete_if_empty="true" />
+                <check key="embankment" text="Embankment" default="off" delete_if_empty="true" />
+                <check key="lit" text="Lit" default="off" delete_if_empty="true" /> 
+            </optional>
+        </item>
+        <item name="Trunk Link" icon="presets/trunk.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=trunk_link";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:highway=trunk_link"/>
+            <label text="Edit Trunk Link" />
+            <space />
+            <key key="highway" value="trunk_link" />
+            <text key="ref" text="Reference" default="" delete_if_empty="true" />
+            <optional>
+                <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="" delete_if_empty="true" />
+                <combo key="lanes" text="Lanes" values="1,2,3,4,5" default="1" delete_if_empty="true" />
+                <text key="maxspeed" text="Max. speed (km/h)" default="" delete_if_empty="true" />
+                <check key="oneway" text="Oneway" default="on" delete_if_empty="true" />
+                <check key="motorroad" text="Motorroad" default="on" delete_if_empty="false" />
+                <check key="bridge" text="Bridge" default="off" delete_if_empty="true" />
+                <check key="tunnel" text="Tunnel" default="off" delete_if_empty="true" />
+                <check key="cutting" text="Cutting" default="off" delete_if_empty="true" />
+                <check key="embankment" text="Embankment" default="off" delete_if_empty="true" />
+                <check key="lit" text="Lit" default="off" delete_if_empty="true" /> 
+            </optional>
+        </item>
+        <separator/>
+        <item name="Primary" icon="presets/way_primary.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=primary";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:highway=primary"; />
+            <label text="Edit Primary Road" />
+            <space />
+            <key key="highway" value="primary" />
+            <text key="ref" text="Reference" default="" delete_if_empty="true" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+                <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="" delete_if_empty="true" />
+                <combo key="lanes" text="Lanes" values="1,2,3,4,5" default="" delete_if_empty="true" />
+                <text key="maxspeed" text="Max. speed (km/h)" default="" delete_if_empty="true" />
+                <check key="oneway" text="Oneway" default="off" delete_if_empty="true" />
+                <check key="motorroad" text="Motorroad" default="off" delete_if_empty="false" />
+                <check key="bridge" text="Bridge" default="off" delete_if_empty="true" />
+                <check key="tunnel" text="Tunnel" default="off" delete_if_empty="true" />
+                <check key="cutting" text="Cutting" default="off" delete_if_empty="true" />
+                <check key="embankment" text="Embankment" default="off" delete_if_empty="true" />
+                <check key="lit" text="Lit" default="off" delete_if_empty="true" /> 
+            </optional>
+        </item>
+        <item name="Primary Link" icon="presets/way_primary.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=primary_link"; />
+            <label text="Edit Primary Link" />
+            <space />
+            <key key="highway" value="primary_link" />
+            <optional>
+                <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="" delete_if_empty="true" />
+                <combo key="lanes" text="Lanes" values="1,2,3,4,5" default="" delete_if_empty="true" />
+                <text key="maxspeed" text="Max. speed (km/h)" default="" delete_if_empty="true" />
+                <check key="oneway" text="Oneway" default="off" delete_if_empty="true" />
+                <check key="motorroad" text="Motorroad" default="off" delete_if_empty="false" />
+                <check key="bridge" text="Bridge" default="off" delete_if_empty="true" />
+                <check key="tunnel" text="Tunnel" default="off" delete_if_empty="true" />
+                <check key="cutting" text="Cutting" default="off" delete_if_empty="true" />
+                <check key="embankment" text="Embankment" default="off" delete_if_empty="true" />
+                <check key="lit" text="Lit" default="off" delete_if_empty="true" /> 
+            </optional>
+        </item>
+        <item name="Secondary" icon="presets/way_secondary.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=secondary";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:highway=secondary";
+                  fi.href="http://wiki.openstreetmap.org/wiki/Fi:Tag:highway=secondary"; />
+            <label text="Edit Secondary Road" />
+            <space />
+            <key key="highway" value="secondary" />
+            <text key="ref" text="Reference" default="" delete_if_empty="true" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+                <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="" delete_if_empty="true" />
+                <combo key="lanes" text="Lanes" values="1,2,3,4,5" default="" delete_if_empty="true" />
+                <text key="maxspeed" text="Max. speed (km/h)" default="" delete_if_empty="true" />
+                <check key="oneway" text="Oneway" default="off" delete_if_empty="true" />
+                <check key="bridge" text="Bridge" default="off" delete_if_empty="true" />
+                <check key="tunnel" text="Tunnel" default="off" delete_if_empty="true" />
+                <check key="cutting" text="Cutting" default="off" delete_if_empty="true" />
+                <check key="embankment" text="Embankment" default="off" delete_if_empty="true" />
+                <check key="lit" text="Lit" default="off" delete_if_empty="true" /> 
+            </optional>
+        </item>
+        <item name="Tertiary" icon="presets/way_tertiary.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=tertiary";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:highway=tertiary";
+                  fi.href="http://wiki.openstreetmap.org/wiki/Fi:Tag:highway=tertiary"; />
+            <label text="Edit Tertiary Road" />
+            <space />
+            <key key="highway" value="tertiary" />
+            <text key="ref" text="Reference" default="" delete_if_empty="true" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+                <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="" delete_if_empty="true" />
+                <combo key="lanes" text="Lanes" values="1,2,3,4,5" default="" delete_if_empty="true" />
+                <text key="maxspeed" text="Max. speed (km/h)" default="" delete_if_empty="true" />
+                <check key="oneway" text="Oneway" default="off" delete_if_empty="true" />
+                <check key="bridge" text="Bridge" default="off" delete_if_empty="true" />
+                <check key="tunnel" text="Tunnel" default="off" delete_if_empty="true" />
+                <check key="cutting" text="Cutting" default="off" delete_if_empty="true" />
+                <check key="embankment" text="Embankment" default="off" delete_if_empty="true" />
+                <check key="lit" text="Lit" default="off" delete_if_empty="true" /> 
+            </optional>
+        </item>
+        <item name="Unclassified" icon="presets/way_unclassified.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=unclassified";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:highway=unclassified";
+                  fi.href="http://wiki.openstreetmap.org/wiki/Fi:Tag:highway=unclassified"; />
+            <label text="Edit Unclassified Road" />
+            <space />
+            <key key="highway" value="unclassified" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+                <check key="oneway" text="Oneway" default="off" delete_if_empty="true" />
+                <check key="bridge" text="Bridge" default="off" delete_if_empty="true" />
+                <check key="tunnel" text="Tunnel" default="off" delete_if_empty="true" />
+                <check key="cutting" text="Cutting" default="off" delete_if_empty="true" />
+                <check key="embankment" text="Embankment" default="off" delete_if_empty="true" />
+                <check key="lit" text="Lit" default="off" delete_if_empty="true" /> 
+                <check key="passing_places" text="Passing Places" default="off" delete_if_empty="true" />
+                <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="" delete_if_empty="true" />
+                <combo key="lanes" text="Lanes" values="1,2,3,4,5" default="" delete_if_empty="true" />
+                <text key="maxspeed" text="Max. speed (km/h)" default="" delete_if_empty="true" />
+                <text key="width" text="Width (meters)" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Residential" icon="presets/residential.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=residential";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:highway=residential"; />
+            <label text="Edit Residential Street" />
+            <space />
+            <key key="highway" value="residential" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <optional>
+                <check key="oneway" text="Oneway" default="off" delete_if_empty="true" />
+                <check key="bridge" text="Bridge" default="off" delete_if_empty="true" />
+                <check key="tunnel" text="Tunnel" default="off" delete_if_empty="true" />
+                <check key="cutting" text="Cutting" default="off" delete_if_empty="true" />
+                <check key="embankment" text="Embankment" default="off" delete_if_empty="true" />
+                <check key="lit" text="Lit" default="off" delete_if_empty="true" /> 
+                <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="" delete_if_empty="true" />
+                <combo key="lanes" text="Lanes" values="1,2,3,4,5" default="" delete_if_empty="true" />
+                <text key="maxspeed" text="Max. speed (km/h)" default="" delete_if_empty="true" />
+                <combo key="surface" text="Surface" values="paved,unpaved,asphalt,concrete,metal,wood,paving_stones,cobblestone,gravel,pebblestone,compacted,grass_paver,grass,sand,ground" default="" delete_if_empty="true" />
+                <text key="width" text="Width (meters)" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Living Street" icon="presets/living_street.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=living_street";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:highway=living_street"; />
+            <label text="Edit Living Street" />
+            <space />
+            <key key="highway" value="living_street" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <optional>
+                <check key="oneway" text="Oneway" default="off" delete_if_empty="true" />
+                <check key="bridge" text="Bridge" default="off" delete_if_empty="true" />
+                <check key="tunnel" text="Tunnel" default="off" delete_if_empty="true" />
+                <check key="cutting" text="Cutting" default="off" delete_if_empty="true" />
+                <check key="embankment" text="Embankment" default="off" delete_if_empty="true" />
+                <check key="lit" text="Lit" default="off" delete_if_empty="true" /> 
+                <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="" delete_if_empty="true" />
+                <combo key="surface" text="Surface" values="paved,unpaved,asphalt,concrete,metal,wood,paving_stones,cobblestone,gravel,pebblestone,compacted,grass_paver,grass,sand,ground" default="" delete_if_empty="true" />
+                <text key="width" text="Width (meters)" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Pedestrian" icon="presets/pedestrian.png" type="way,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=pedestrian";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:highway=pedestrian"; />
+            <label text="Edit Pedestrian Street" />
+            <space />
+            <key key="highway" value="pedestrian" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <optional>
+                <check key="oneway" text="Oneway" default="off" delete_if_empty="true" />
+                <check key="bridge" text="Bridge" default="off" delete_if_empty="true" />
+                <check key="tunnel" text="Tunnel" default="off" delete_if_empty="true" />
+                <check key="cutting" text="Cutting" default="off" delete_if_empty="true" />
+                <check key="embankment" text="Embankment" default="off" delete_if_empty="true" />
+                <check key="lit" text="Lit" default="off" delete_if_empty="true" /> 
+                <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="" delete_if_empty="true" />
+                <combo key="surface" text="Surface" values="paved,unpaved,asphalt,concrete,metal,wood,paving_stones,cobblestone,gravel,pebblestone,compacted,grass_paver,grass,sand,ground" default="" delete_if_empty="true" />
+                <text key="width" text="Width (meters)" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Service" icon="presets/way_unclassified.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=service";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:highway=service"; />
+            <label text="Edit Serviceway" />
+            <space />
+            <key key="highway" value="service" />
+            <optional>
+                <combo key="service" text="Serviceway type" values="alley,driveway,parking_aisle" default="" delete_if_empty="true" />
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+                <check key="oneway" text="Oneway" default="off" delete_if_empty="true" />
+                <check key="bridge" text="Bridge" default="off" delete_if_empty="true" />
+                <check key="tunnel" text="Tunnel" default="off" delete_if_empty="true" />
+                <check key="cutting" text="Cutting" default="off" delete_if_empty="true" />
+                <check key="embankment" text="Embankment" default="off" delete_if_empty="true" />
+                <check key="lit" text="Lit" default="off" delete_if_empty="true" /> 
+                <check key="passing_places" text="Passing Places" default="off" delete_if_empty="true" />
+                <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="" delete_if_empty="true" />
+                <combo key="surface" text="Surface" values="paved,unpaved,asphalt,concrete,metal,wood,paving_stones,cobblestone,gravel,pebblestone,compacted,grass_paver,grass,sand,ground" default="" delete_if_empty="true" />
+                <text key="maxspeed" text="Max. speed (km/h)" default="" delete_if_empty="true" />
+                <text key="width" text="Width (meters)" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Parking Aisle" icon="presets/way_unclassified.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:service=parking_aisle";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:service=parking_aisle";
+                  fi.href="http://wiki.openstreetmap.org/wiki/Fi:Tag:service=parking_aisle"; />
+            <label text="Edit Parking Aisle" />
+            <space />
+            <key key="highway" value="service" />
+            <key key="service" value="parking_aisle" />
+            <optional>
+                <check key="oneway" text="Oneway" default="off" delete_if_empty="true" />
+                <combo key="surface" text="Surface" values="paved,unpaved,asphalt,concrete,metal,wood,paving_stones,cobblestone,gravel,pebblestone,compacted,grass_paver,grass,sand,ground" default="" delete_if_empty="true" />
+                <check key="lit" text="Lit" default="off" delete_if_empty="true" /> 
+            </optional>
+        </item>
+        <item name="Road (Unknown Type)" icon="presets/way_unclassified.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=road";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:highway=road"; />
+            <label text="Edit Road of unknown type" />
+            <space />
+            <key key="highway" value="road" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+                <check key="oneway" text="Oneway" default="off" delete_if_empty="true" />
+                <check key="bridge" text="Bridge" default="off" delete_if_empty="true" />
+                <check key="tunnel" text="Tunnel" default="off" delete_if_empty="true" />
+                <check key="cutting" text="Cutting" default="off" delete_if_empty="true" />
+                <check key="embankment" text="Embankment" default="off" delete_if_empty="true" />
+                <check key="lit" text="Lit" default="off" delete_if_empty="true" /> 
+                <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="" delete_if_empty="true" />
+                <combo key="surface" text="Surface" values="paved,unpaved,asphalt,concrete,metal,wood,paving_stones,cobblestone,gravel,pebblestone,compacted,grass_paver,grass,sand,ground" default="" delete_if_empty="true" />
+                <text key="maxspeed" text="Max. speed (km/h)" default="" delete_if_empty="true" />
+                <text key="width" text="Width (meters)" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Construction" icon="presets/construction.png" type="way">
+            <label text="Edit Highway Under Construction" />
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=construction";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:highway=construction"; />
+            <space />
+            <key key="highway" value="construction" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+                <check key="oneway" text="Oneway" default="off" delete_if_empty="true" />
+                <check key="bridge" text="Bridge" default="off" delete_if_empty="true" />
+                <check key="tunnel" text="Tunnel" default="off" delete_if_empty="true" />
+                <check key="cutting" text="Cutting" default="off" delete_if_empty="true" />
+                <check key="embankment" text="Embankment" default="off" delete_if_empty="true" />
+                <check key="lit" text="Lit" default="off" delete_if_empty="true" /> 
+                <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="" delete_if_empty="true" />
+                <combo key="surface" text="Surface" values="paved,unpaved,asphalt,concrete,metal,wood,paving_stones,cobblestone,gravel,pebblestone,compacted,grass_paver,grass,sand,ground" default="" delete_if_empty="true" />
+                <combo key="junction" text="Junction" values="roundabout" default="" delete_if_empty="true" />
+                <text key="maxspeed" text="Max. speed (km/h)" default="" delete_if_empty="true" />
+                <text key="width" text="Width (meters)" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <separator/>
+        <item name="Road Restrictions" icon="presets/restrictions.png" type="node,way">
+            <link href="http://wiki.openstreetmap.org/wiki/Key:access";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Key:access"; />
+            <label text="Edit Road Restrictions" />
+            <check key="oneway" text="Oneway" default="off" delete_if_empty="true" />
+            <check key="toll" text="Toll" default="off" delete_if_empty="true"  />
+            <check key="noexit" text="No exit (cul-de-sac)" default="off" delete_if_empty="true"  />
+            <label text="Transport mode restrictions" />
+            <combo key="access" text="General Access" values="yes,destination,delivery,permissive,private,agricultural,forestry,no" default="" delete_if_empty="true" />
+            <combo key="foot" text="Foot" values="yes,official,designated,permissive,destination,delivery,private,no" default="" delete_if_empty="true" />
+            <combo key="horse" text="Horse" values="yes,official,designated,permissive,destination,delivery,private,no" default="" delete_if_empty="true" />
+            <label text="Vehicles per type" />
+            <combo key="vehicle" text="All vehicles" values="yes,destination,delivery,permissive,private,agricultural,forestry,no" default="" delete_if_empty="true"  />
+            <combo key="bicycle" text="Bicycle" values="yes,official,designated,permissive,destination,delivery,private,no" default="" delete_if_empty="true"  />
+            <combo key="motor_vehicle" text="Motor vehicles" values="yes,destination,delivery,permissive,private,agricultural,forestry,no" default="" delete_if_empty="true"  />
+            <combo key="motorcycle" text="Motorcycle" values="yes,official,designated,destination,delivery,permissive,private,agricultural,forestry,no" default="" delete_if_empty="true" />
+            <combo key="motorcar" text="Motorcar" values="yes,official,designated,destination,delivery,permissive,private,agricultural,forestry,no" default="" delete_if_empty="true" />
+            <combo key="goods" text="Light Commercial Vehicles (goods)" values="yes,official,designated,destination,delivery,permissive,private,agricultural,forestry,no" default="" delete_if_empty="true" />
+            <combo key="hgv" text="Heavy Goods Vehicles (hgv)" values="yes,official,designated,destination,delivery,permissive,private,agricultural,forestry,no" default="" delete_if_empty="true" />
+            <label text="Vehicles per use" />
+            <combo key="agricultural" text="Agricultural" values="yes,official,designated,destination,permissive,private,no" default="" delete_if_empty="true" />
+            <combo key="emergency" text="Emergency vehicles"  values="yes,official,designated,destination,permissive,private,no" default="" delete_if_empty="true" />
+            <combo key="hov" text="High-occupancy vehicles (hov)"  values="yes,official,designated,destination,permissive,private,no" default="" delete_if_empty="true" />
+            <combo key="psv" text="Public Service Vehicles (psv)"   values="yes,official,designated,destination,permissive,private,no" default="" delete_if_empty="true" />
+            <text key="maxspeed" text="Max. speed (km/h)" default="" delete_if_empty="true" />
+            <text key="minspeed" text="Min. speed (km/h)" default="" delete_if_empty="true" />
+            <text key="maxweight" text="Max. weight (tonnes)" default="" delete_if_empty="true" />
+            <text key="maxaxleload" text="Max. axleload (tonnes)" default="" delete_if_empty="true" />
+            <text key="maxheight" text="Max. height (meters)" default="" delete_if_empty="true" />
+            <text key="maxwidth" text="Max. width (meters)" default="" delete_if_empty="true" />
+            <text key="maxlength" text="Max. length (meters)" default="" delete_if_empty="true" />
+        </item>
+        <separator/>
+        <item name="Roundabout" icon="presets/roundabout.png" type="closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:junction=roundabout";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:junction=roundabout";
+                  it.href="http://wiki.openstreetmap.org/wiki/IT:Tag:junction=roundabout";
+                  ro.href="http://wiki.openstreetmap.org/wiki/Ro:Tag:junction=roundabout"; />
+            <label text="Edit Junction" />
+            <space />
+            <key key="junction" value="roundabout" />
+            <combo key="highway" text="Type" values="motorway,motorway_link,trunk,trunk_link,primary,primary_link,secondary,tertiary,unclassified,residential,living_street,service,bus_guideway,construction" delete_if_empty="true" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+                <check key="oneway" text="Oneway" default="off" delete_if_empty="true" />
+                <check key="bridge" text="Bridge" default="off" delete_if_empty="true" />
+                <check key="tunnel" text="Tunnel" default="off" delete_if_empty="true" />
+                <check key="cutting" text="Cutting" default="off" delete_if_empty="true" />
+                <check key="embankment" text="Embankment" default="off" delete_if_empty="true" />
+                <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="" delete_if_empty="true" />
+                <combo key="lanes" text="Lanes" values="1,2,3,4,5" default="" delete_if_empty="true" />
+                <text key="width" text="Width (meters)" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Bridge" icon="presets/bridge.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Key:bridge";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Key:bridge";
+                  fi.href="http://wiki.openstreetmap.org/wiki/Fi:Key:bridge";
+                  fr.href="http://wiki.openstreetmap.org/wiki/FR:Key:bridge"; />
+            <label text="Edit Bridge" />
+            <space />
+            <combo key="bridge" text="Bridge" values="yes,viaduct,swing,aqueduct" required="true" default="yes" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+                <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="1" delete_if_empty="true" />
+                <text key="maxspeed" text="Max. speed (km/h)" default="" delete_if_empty="true" />
+                <text key="maxweight" text="Max. weight (tonnes)" default="" delete_if_empty="true" />
+                <text key="width" text="Width (meters)" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Tunnel" icon="presets/tunnel.png" type="way">
+            <label text="Edit Tunnel"/>
+            <link href="http://wiki.openstreetmap.org/wiki/Key:tunnel";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Key:tunnel";
+                  fi.href="http://wiki.openstreetmap.org/wiki/Fi:Key:tunnel"; />
+            <space />
+            <key key="tunnel" value="yes" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+                <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="-1" delete_if_empty="true" />
+                <text key="maxspeed" text="Max. speed (km/h)" default="" delete_if_empty="true" />
+                <text key="width" text="Width (meters)" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+    </group> <!-- Streets -->
+    <group name="Ways" icon="presets/way_unclassified.png">
+        <item name="Track" icon="presets/track1.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=track";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:highway=track"; />
+            <label text="Edit Track" />
+            <space />
+            <key key="highway" value="track" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+                <combo key="tracktype" text="Tracktype" values="grade1,grade2,grade3,grade4,grade5" default="" delete_if_empty="true" />
+                <combo key="surface" text="Surface" values="paved,concrete,cobblestone,gravel,ground,grass,sand" default="" delete_if_empty="true" />
+                <combo key="mtb:scale" text="MTB Scale" values="0,1,2,3,4,5" default="" delete_if_empty="true" />
+                <check key="bridge" text="Bridge" default="off" delete_if_empty="true" />
+                <check key="tunnel" text="Tunnel" default="off" delete_if_empty="true" />
+                <check key="cutting" text="Cutting" default="off" delete_if_empty="true" />
+                <check key="embankment" text="Embankment" default="off" delete_if_empty="true" />
+                <check key="lit" text="Lit" default="off" delete_if_empty="true" /> 
+                <check key="oneway" text="Oneway" default="off" delete_if_empty="true" />
+                <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="" delete_if_empty="true" />
+                <combo key="access" text="General access" values="yes,official,designated,destination,delivery,permissive,private,agricultural,forestry,no" default="" delete_if_empty="true" />
+                <combo key="motor_vehicle" text="Motor vehicles" values="yes,official,designated,destination,delivery,permissive,private,agricultural,forestry,no" default="" delete_if_empty="true" />
+                <combo key="motorcycle" text="Motorcycle" values="yes,official,designated,destination,delivery,permissive,private,agricultural,forestry,no" default="" delete_if_empty="true" />
+                <combo key="motorcar" text="Motorcar" values="yes,official,designated,destination,delivery,permissive,private,agricultural,forestry,no" default="" delete_if_empty="true" />
+                <text key="width" text="Width (meters)" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Path" icon="presets/path.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=path";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:highway=path"; />
+            <label text="Edit Path" />
+            <space />
+            <key key="highway" value="path" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+                <combo key="sac_scale" text="SAC Scale" values="hiking,mountain_hiking,demanding_mountain_hiking,alpine_hiking,demanding_alpine_hiking,difficult_alpine_hiking" default="" delete_if_empty="true" display_values="T1 - hiking trail,T2 - mountain hiking trail,T3 - difficult\, exposed hiking trail,T4 - difficult\, exposed\, steep alpine trail,T5 - difficult alpine trail with climbing,T6 - hazardous alpine trail with climbing">
+                    <short_description>Trail well cleared. Area flat or slightly sloped, no fall hazard</short_description>
+                    <short_description>Trail with continuous line and balanced ascent. Terrain partially steep, fall hazard possible</short_description>
+                    <short_description>exposed sites may be secured with ropes or chains, possible need to use hands for balance. Partly exposed sites with fall hazard, scree, pathless jagged rocks</short_description>
+                    <short_description>sometimes need for hand use to get ahead. Terrain quite exposed, precarious grassy acclivities, jagged rocks, facile snow-free glaciers.</short_description>
+                    <short_description>single plainly climbing up to second grade. Exposed, demanding terrain, jagged rocks, few dangerous glacier and snow</short_description>
+                    <short_description>climbing up to second grade. Often very exposed, precarious jagged rocks, glacier with danger to slip and fall</short_description>
+                </combo>
+                <combo key="mtb:scale" text="MTB Scale" values="0,1,2,3,4,5" default="" delete_if_empty="true" />
+                <combo key="surface" text="Surface" values="paved,unpaved,asphalt,concrete,metal,wood,paving_stones,cobblestone,gravel,pebblestone,compacted,grass_paver,grass,sand,ground" default="" delete_if_empty="true" />
+                <combo key="trail_visibility" text="Visibility" values="excellent,good,intermediate,bad,horrible,no" default="" delete_if_empty="true" />
+                <check key="bridge" text="Bridge" default="off" delete_if_empty="true" />
+                <check key="tunnel" text="Tunnel" default="off" delete_if_empty="true" />
+                <check key="cutting" text="Cutting" default="off" delete_if_empty="true" />
+                <check key="embankment" text="Embankment" default="off" delete_if_empty="true" />
+                <check key="lit" text="Lit" default="off" delete_if_empty="true" /> 
+                <check key="oneway" text="Oneway" default="off" delete_if_empty="true" />
+                <combo key="foot" text="Foot" values="yes,official,designated,permissive,destination,delivery,private,no" default="" delete_if_empty="true" />
+                <combo key="bicycle" text="Bicycle" values="yes,official,designated,permissive,destination,delivery,private,no" default="" delete_if_empty="true" />
+                <combo key="horse" text="Horse" values="yes,official,designated,permissive,destination,delivery,private,no" default="" delete_if_empty="true" />
+                <combo key="wheelchair" text="Wheelchairs" values="unknown,yes,official,no" default="" delete_if_empty="true" />
+                <combo key="ski" text="Ski" values="yes,official,designated,permissive,private,no" default="" delete_if_empty="true" />
+                <combo key="snowmobile" text="Snowmobile" values="yes,official,designated,permissive,destination,delivery,private,no" default="" delete_if_empty="true" />
+                <!-- <combo key="motorcar" text="Motorcar" values="yes,designated,no" default="no" delete_if_empty="true" /> -->
+                <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="" delete_if_empty="true" />
+                <text key="maxspeed" text="Max. speed (km/h)" default="" delete_if_empty="true" />
+                <text key="width" text="Width (meters)" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <separator/>
+        <item name="Dedicated Bridleway" icon="presets/equestrian.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=bridleway"; />
+            <label text="Edit Bridleway" />
+            <space />
+            <key key="highway" value="bridleway" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+                <combo key="surface" text="Surface" values="paved,unpaved,asphalt,concrete,metal,wood,paving_stones,cobblestone,gravel,pebblestone,compacted,grass_paver,grass,sand,ground" default="" delete_if_empty="true" />
+                <check key="oneway" text="Oneway" default="off" delete_if_empty="true" />
+                <check key="bridge" text="Bridge" default="off" delete_if_empty="true" />
+                <check key="tunnel" text="Tunnel" default="off" delete_if_empty="true" />
+                <check key="cutting" text="Cutting" default="off" delete_if_empty="true" />
+                <check key="embankment" text="Embankment" default="off" delete_if_empty="true" />
+                <check key="lit" text="Lit" default="off" delete_if_empty="true" /> 
+                <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="" delete_if_empty="true" />
+                <text key="maxspeed" text="Max. speed (km/h)" default="" delete_if_empty="true" />
+                <text key="width" text="Width (meters)" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Dedicated Cycleway" icon="presets/cycleway.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=cycleway";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:highway=cycleway";
+                  it.href="http://wiki.openstreetmap.org/wiki/IT:Tag:highway=cycleway"; />
+            <label text="Edit Cycleway" />
+            <space />
+            <key key="highway" value="cycleway" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+                <combo key="surface" text="Surface" values="paved,unpaved,asphalt,concrete,metal,wood,paving_stones,cobblestone,gravel,pebblestone,compacted,grass_paver,grass,sand,ground" default="" delete_if_empty="true" />
+                <check key="oneway" text="Oneway" default="off" delete_if_empty="true" />
+                <check key="bridge" text="Bridge" default="off" delete_if_empty="true" />
+                <check key="tunnel" text="Tunnel" default="off" delete_if_empty="true" />
+                <check key="cutting" text="Cutting" default="off" delete_if_empty="true" />
+                <check key="embankment" text="Embankment" default="off" delete_if_empty="true" />
+                <check key="lit" text="Lit" default="off" delete_if_empty="true" /> 
+                <combo key="foot" text="Pedestrians" values="unknown,yes,no" default="" delete_if_empty="true" />
+                <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="" delete_if_empty="true" />
+                <text key="width" text="Width (meters)" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Segregated Foot- and Cycleway" icon="presets/foot_and_cycleway_segregated.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=cycleway";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:highway=cycleway";
+                  it.href="http://wiki.openstreetmap.org/wiki/IT:Tag:highway=cycleway"; />
+            <label text="Edit Cycleway" />
+            <space />
+            <key key="highway" value="path" />
+            <key key="bicycle" value="designated" />
+            <key key="foot" value="designated" />
+            <key key="segregated" value="yes" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+                <combo key="surface" text="Surface" values="paved,unpaved,asphalt,concrete,metal,wood,paving_stones,cobblestone,gravel,pebblestone,compacted,grass_paver,grass,sand,ground" default="" delete_if_empty="true" />
+                <check key="oneway" text="Oneway" default="off" delete_if_empty="true" />
+                <check key="bridge" text="Bridge" default="off" delete_if_empty="true" />
+                <check key="tunnel" text="Tunnel" default="off" delete_if_empty="true" />
+                <check key="cutting" text="Cutting" default="off" delete_if_empty="true" />
+                <check key="embankment" text="Embankment" default="off" delete_if_empty="true" />
+                <check key="lit" text="Lit" default="off" delete_if_empty="true" /> 
+                <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="" delete_if_empty="true" />
+                <text key="width" text="Width (meters)" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Combined Foot- and Cycleway" icon="presets/foot_and_cycleway_combined.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=cycleway";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:highway=cycleway";
+                  it.href="http://wiki.openstreetmap.org/wiki/IT:Tag:highway=cycleway"; />
+            <label text="Edit Cycleway" />
+            <space />
+            <key key="highway" value="path" />
+            <key key="bicycle" value="designated" />
+            <key key="foot" value="designated" />
+            <key key="segregated" value="no" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+                <combo key="surface" text="Surface" values="paved,unpaved,asphalt,concrete,metal,wood,paving_stones,cobblestone,gravel,pebblestone,compacted,grass_paver,grass,sand,ground" default="" delete_if_empty="true" />
+                <check key="oneway" text="Oneway" default="off" delete_if_empty="true" />
+                <check key="bridge" text="Bridge" default="off" delete_if_empty="true" />
+                <check key="tunnel" text="Tunnel" default="off" delete_if_empty="true" />
+                <check key="cutting" text="Cutting" default="off" delete_if_empty="true" />
+                <check key="embankment" text="Embankment" default="off" delete_if_empty="true" />
+                <check key="lit" text="Lit" default="off" delete_if_empty="true" /> 
+                <check key="passing_places" text="Passing Places" default="off" delete_if_empty="true" />
+                <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="" delete_if_empty="true" />
+                <text key="width" text="Width (meters)" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Dedicated Footway" icon="presets/footway.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=footway";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:highway=footway"; />
+            <label text="Edit Footway" />
+            <space />
+            <key key="highway" value="footway" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+                <combo key="surface" text="Surface" values="paved,unpaved,asphalt,concrete,metal,wood,paving_stones,cobblestone,gravel,pebblestone,compacted,grass_paver,grass,sand,ground" default="" delete_if_empty="true" />
+                <check key="bridge" text="Bridge" default="off" delete_if_empty="true" />
+                <check key="tunnel" text="Tunnel" default="off" delete_if_empty="true" />
+                <check key="cutting" text="Cutting" default="off" delete_if_empty="true" />
+                <check key="embankment" text="Embankment" default="off" delete_if_empty="true" />
+                <check key="lit" text="Lit" default="off" delete_if_empty="true" /> 
+                <check key="passing_places" text="Passing Places" default="off" delete_if_empty="true" />
+                <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="" delete_if_empty="true" />
+                <text key="width" text="Width (meters)" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Steps" icon="presets/steps.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=steps";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:highway=steps";
+                  fi.href="http://wiki.openstreetmap.org/wiki/Fi:Tag:highway=steps"; />
+            <label text="Edit Flight of Steps" />
+            <space />
+            <key key="highway" value="steps" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+                <combo key="surface" text="Surface" values="paved,unpaved,asphalt,concrete,metal,wood,paving_stones,cobblestone,gravel,pebblestone,compacted,grass_paver,grass,sand,ground" default="" delete_if_empty="true" />
+                <check key="oneway" text="Oneway" default="off" delete_if_empty="true" />
+                <check key="bridge" text="Bridge" default="off" delete_if_empty="true" />
+                <check key="tunnel" text="Tunnel" default="off" delete_if_empty="true" />
+                <check key="cutting" text="Cutting" default="off" delete_if_empty="true" />
+                <check key="embankment" text="Embankment" default="off" delete_if_empty="true" />
+                <check key="lit" text="Lit" default="off" delete_if_empty="true" /> 
+                <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="" delete_if_empty="true" />
+                <text key="width" text="Width (meters)" default="" delete_if_empty="true" />
+                <text key="step_count" text="Amount of Steps" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+    </group> <!-- Ways -->
+    <group name="Waypoints" icon="presets/waypoints.png">
+        <item name="Motorway Junction" icon="presets/motorway_exit.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=motorway_junction"; />
+            <label text="Edit Motorway Junction" />
+            <space />
+            <key key="highway" value="motorway_junction" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="ref" text="Number" default="" delete_if_empty="true" />
+            <text key="exit_to" text="Exit to" default="" delete_if_empty="true" />
+        </item>
+        <item name="Services" icon="styles/standard/vehicle/services.png" type="node,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=services"; />
+            <label text="Edit Service Station" />
+            <space />
+            <key key="highway" value="services" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+                <text key="operator" text="Operator" default="" delete_if_empty="true" />
+                <check key="toilets" text="Toilets" default="off" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Rest Area" icon="presets/parking.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=rest_area"; />
+            <label text="Edit Rest Area" />
+            <space />
+            <key key="highway" value="rest_area" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+                <check key="toilets" text="Toilets" default="off" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Emergency Phone" icon="presets/telephone.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Proposed_features/emergency_phone"; />
+            <key key="amenity" value="emergency_phone" />
+        </item>
+        <separator/>
+        <item name="Traffic Signal" icon="presets/traffic-light.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=traffic_signals"; />
+            <key key="highway" value="traffic_signals" />
+            <optional>
+                 <combo key="crossing" text="Pedestrian crossing type" values="uncontrolled,traffic_signals,island,unmarked,no,unknown" default="" delete_if_empty="true" />
+                 <check key="horse" text="Cross on horseback" default="off" delete_if_empty="true" />
+                 <check key="bicycle" text="Cross by bicycle" default="off" delete_if_empty="true" />
+                 <check key="supervised" text="Crossing attendant" default="off" delete_if_empty="true" />
+                 <combo key="crossing_ref" text="Crossing type name (UK)" values="zebra,pelican,toucan,puffin,pegasus,tiger" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Stop" icon="presets/Stop.png" type="node">
+            <key key="highway" value="stop" />
+        </item>
+        <item name="Mini-roundabout" icon="presets/roundabout_left.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=mini_roundabout";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:highway=mini_roundabout";
+                  it.href="http://wiki.openstreetmap.org/wiki/IT:Tag:highway=mini_roundabout"; />
+            <key key="highway" value="mini_roundabout" />
+            <combo key="direction" text="Direction" values="clockwise" default="" delete_if_empty="true" />
+        </item>
+        <item name="Pedestrian Crossing" icon="styles/standard/vehicle/zebra_crossing.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Key:crossing";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:highway=crossing"; />
+            <label text="Edit Crossing" />
+            <key key="highway" value="crossing" />
+            <combo key="crossing" text="Type" values="uncontrolled,traffic_signals,island,unmarked,no,unknown" default="" delete_if_empty="true" />
+            <check key="bicycle" text="Cross by bicycle" default="off" delete_if_empty="true" />
+            <check key="horse" text="Cross on horseback" default="off" delete_if_empty="true" />
+            <check key="supervised" text="Crossing attendant" default="off" delete_if_empty="true" />
+            <combo key="crossing_ref" text="Type name (UK)" values="zebra,pelican,toucan,puffin,pegasus,tiger" default="" delete_if_empty="true" />
+        </item>
+        <item name="Traffic Calming" icon="presets/chicane.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Key:traffic_calming"/>
+            <label text="Edit Traffic Calming" />
+            <combo key="traffic_calming" text="Type" values="yes,bump,chicane,choker,cushion,hump,table" default="" delete_if_empty="true" />
+        </item>
+        <item name="Passing Place" icon="presets/passingplace.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=passing_place"/>
+            <label text="Edit Passing Place" />
+            <key key="highway" value="passing_place" />
+        </item>
+        <item name="Turning Circle" icon="presets/turning_circle.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=turning_circle";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:highway=turning_circle"; />
+            <key key="highway" value="turning_circle" />
+        </item>
+        <item name="City Limit" icon="presets/citylimit.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:traffic_sign%3Dcity_limit"; />
+            <label text="Edit City Limit Sign" />
+            <space />
+            <key key="traffic_sign" value="city_limit" />
+            <space />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="alt_name" text="Second Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Speed Camera" icon="presets/speed_camera.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway%3Dspeed_camera"; />
+            <key key="highway" value="speed_camera" />
+        </item>
+        <separator/>
+        <item name="Incline" icon="presets/incline.png" type="node,way">
+            <key key="highway" value="incline" />
+        </item>
+        <item name="Incline Steep" icon="presets/incline_steep.png" type="node,way">
+            <key key="highway" value="incline_steep" />
+        </item>
+        <item name="Grit Bin" icon="styles/standard/misc/grit_bin.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity%3Dgrit_bin"; />
+            <key key="amenity" value="grit_bin" />
+        </item>
+        <separator/>
+        <item name="Ford" icon="presets/ford.png" type="node,way">
+            <label text="Edit Ford" />
+            <space />
+            <key key="highway" value="ford" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Mountain Pass" icon="presets/mountain_pass.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Key:mountain_pass"; />
+            <label text="Edit Mountain Pass" />
+            <space />
+            <key key="mountain_pass" value="yes" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+                <text key="ele" text="Elevation" default="" delete_if_empty="true" />
+                <text key="wikipedia" text="Wikipedia" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+    </group> <!-- Waypoints -->
+    <group name="Barriers" icon="presets/barrier.png">
+
+        <!-- *** node barriers *** -->
+        <item name="Bollard" icon="presets/bollard.png" type="node,way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:barrier=bollard"; />
+            <label text="Edit Bollard" />
+            <space />
+            <key key="barrier" value="bollard" />
+            <label text="Allowed traffic:" />
+            <space />
+            <check key="foot" text="Foot" default="on" delete_if_empty="true" />
+            <check key="bicycle" text="Bicycle" default="on" delete_if_empty="true" />
+            <check key="horse" text="Horse" default="off" delete_if_empty="true" />
+            <check key="motorcycle" text="Motorcycle" default="off" delete_if_empty="true" />
+        </item> <!-- bollard -->
+        <item name="Cycle Barrier" icon="styles/standard/vehicle/cycle_barrier.png" type="node">
+            <link href="http://de.wikipedia.org/wiki/Umlaufgitter"; />
+            <key key="barrier" value="cycle_barrier" />
+        </item> <!-- cycle_barrier -->
+        <item name="Block" icon="presets/block.png" type="node,way,closedway">
+            <key key="barrier" value="block" />
+        </item> <!-- block -->
+        <item name="Cattle Grid" icon="presets/cattle_grid.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=cattle_grid"; />
+            <label text="Edit Cattle Grid" />
+            <space />
+            <key key="barrier" value="cattle_grid" />
+            <label text="Allowed traffic:" />
+            <space />
+            <check key="foot" text="Foot" default="on" delete_if_empty="true" />
+            <check key="bicycle" text="Bicycle" default="on" delete_if_empty="true" />
+            <check key="motorcycle" text="Motorcycle" default="off" delete_if_empty="true" />
+            <check key="motorcar" text="Motorcar" default="off" delete_if_empty="true" />
+        </item> <!-- cattle_grid -->
+        <item name="Bus Trap" icon="presets/empty.png" type="node">
+            <key key="barrier" value="bus_trap" />
+        </item> <!-- bus_trap -->
+        <item name="Spikes" icon="presets/empty.png" type="node">
+            <label text="Edit Spikes" />
+            <space />
+            <key key="barrier" value="spikes" />
+            <label text="Allowed traffic:" />
+            <space />
+            <check key="foot" text="Foot" default="on" delete_if_empty="true" />
+            <check key="bicycle" text="Bicycle" default="on" delete_if_empty="true" />
+            <check key="horse" text="Horse" default="off" delete_if_empty="true" />
+            <check key="motorcycle" text="Motorcycle" default="off" delete_if_empty="true" />
+            <check key="motorcar" text="Motorcar" default="off" delete_if_empty="true" />
+        </item> <!-- spikes -->
+        <item name="Toll Booth" icon="presets/toll_station.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:barrier=toll_booth"; />
+            <label text="Edit Toll Booth" />
+            <space />
+            <key key="barrier" value="toll_booth" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+                <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            </optional>
+        </item> <!-- toll_booth -->
+        <item name="Border Control" icon="presets/douane.png" type="node">
+            <label text="Edit Border Control" />
+            <space />
+            <key key="barrier" value="border_control" />
+            <label text="Allowed traffic:" />
+            <space />
+            <check key="foot" text="Foot" default="on" delete_if_empty="true" />
+            <check key="bicycle" text="Bicycle" default="on" delete_if_empty="true" />
+            <check key="horse" text="Horse" default="off" delete_if_empty="true" />
+            <check key="motorcycle" text="Motorcycle" default="off" delete_if_empty="true" />
+            <check key="motorcar" text="Motorcar" default="off" delete_if_empty="true" />
+        </item> <!-- border_control -->
+        <separator/>
+
+        <!-- *** linear barriers *** -->
+        <item name="Hedge" icon="presets/hedge.png" type="way,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:barrier=hedge"; />
+            <key key="barrier" value="hedge" />
+        </item> <!-- hedge -->
+        <item name="Fence" icon="presets/fence.png" type="way,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:barrier=fence"; />
+            <combo key="barrier" text="Fence" values="fence,wood_fence,wire_fence" default="" delete_if_empty="true" />
+        </item> <!-- fence -->
+        <item name="Wall" icon="presets/wall.png" type="way,closedway">
+            <key key="barrier" value="wall" />
+        </item> <!-- wall -->
+        <item name="City Wall" icon="presets/city_wall.png" type="way,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:barrier=city_wall"; />
+            <key key="barrier" value="city_wall" />
+        </item> <!-- city_wall -->
+        <item name="Retaining Wall" icon="presets/retaining_wall.png" type="way,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:barrier=retaining_wall"; />
+            <key key="barrier" value="retaining_wall" />
+        </item> <!-- retaining_wall -->
+        <separator/>
+
+        <!-- *** access *** -->
+        <item name="Entrance" icon="styles/standard/vehicle/entrance.png" type="node">
+            <label text="Edit Entrance" />
+            <space />
+            <key key="barrier" value="entrance" />
+            <label text="Allowed traffic:" />
+            <space />
+            <check key="foot" text="Foot" default="on" delete_if_empty="true" />
+            <check key="bicycle" text="Bicycle" default="on" delete_if_empty="true" />
+            <check key="horse" text="Horse" default="off" delete_if_empty="true" />
+            <check key="motorcycle" text="Motorcycle" default="off" delete_if_empty="true" />
+            <check key="motorcar" text="Motorcar" default="off" delete_if_empty="true" />
+        </item> <!-- entrance -->
+        <item name="Gate" icon="presets/gate.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:barrier=gate"; />
+            <label text="Edit Gate" />
+            <space />
+            <key key="barrier" value="gate" />
+            <label text="Allowed traffic:" />
+            <space />
+            <check key="foot" text="Foot" default="on" delete_if_empty="true" />
+            <check key="bicycle" text="Bicycle" default="on" delete_if_empty="true" />
+            <check key="horse" text="Horse" default="off" delete_if_empty="true" />
+            <check key="motorcycle" text="Motorcycle" default="off" delete_if_empty="true" />
+            <check key="motorcar" text="Motorcar" default="off" delete_if_empty="true" />
+        </item> <!-- gate -->
+        <item name="Lift Gate" icon="presets/lift_gate.png" type="node">
+            <label text="Edit Lift Gate" />
+            <space />
+            <key key="barrier" value="lift_gate" />
+            <label text="Allowed traffic:" />
+            <space />
+            <check key="foot" text="Foot" default="on" delete_if_empty="true" />
+            <check key="bicycle" text="Bicycle" default="on" delete_if_empty="true" />
+            <check key="horse" text="Horse" default="off" delete_if_empty="true" />
+            <check key="motorcycle" text="Motorcycle" default="off" delete_if_empty="true" />
+            <check key="motorcar" text="Motorcar" default="off" delete_if_empty="true" />
+        </item> <!-- lift_gate -->
+        <item name="Hampshire Gate" icon="presets/empty.png" type="node">
+            <label text="Edit Hampshire Gate" />
+            <space />
+            <key key="barrier" value="hampshire_gate" />
+            <label text="Allowed traffic:" />
+            <space />
+            <check key="foot" text="Foot" default="on" delete_if_empty="true" />
+            <check key="bicycle" text="Bicycle" default="on" delete_if_empty="true" />
+            <check key="horse" text="Horse" default="off" delete_if_empty="true" />
+            <check key="motorcycle" text="Motorcycle" default="off" delete_if_empty="true" />
+            <check key="motorcar" text="Motorcar" default="off" delete_if_empty="true" />
+        </item> <!-- hampshire_gate -->
+        <item name="Bump Gate" icon="presets/empty.png" type="node">
+            <label text="Edit Bump Gate" />
+            <space />
+            <key key="barrier" value="bump_gate" />
+            <label text="Allowed traffic:" />
+            <space />
+            <check key="foot" text="Foot" default="on" delete_if_empty="true" />
+            <check key="bicycle" text="Bicycle" default="on" delete_if_empty="true" />
+            <check key="horse" text="Horse" default="off" delete_if_empty="true" />
+            <check key="motorcycle" text="Motorcycle" default="off" delete_if_empty="true" />
+            <check key="motorcar" text="Motorcar" default="off" delete_if_empty="true" />
+        </item> <!-- bump_gate -->
+        <item name="Kissing Gate" icon="presets/empty.png" type="node">
+            <label text="Edit Kissing Gate" />
+            <space />
+            <key key="barrier" value="kissing_gate" />
+            <label text="Allowed traffic:" />
+            <space />
+            <check key="foot" text="Foot" default="on" delete_if_empty="true" />
+            <check key="bicycle" text="Bicycle" default="off" delete_if_empty="true" />
+        </item> <!-- kissing_gate -->
+        <item name="Stile" icon="presets/stile.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=stile"; />
+            <label text="Edit Stile" />
+            <space />
+            <key key="barrier" value="stile" />
+            <label text="Allowed traffic:" />
+            <space />
+            <check key="foot" text="Foot" default="on" delete_if_empty="true" />
+            <check key="bicycle" text="Bicycle" default="off" delete_if_empty="true" />
+        </item> <!-- stile -->
+        <item name="Turnstile" icon="styles/standard/vehicle/turnstile.png" type="node">
+            <label text="Edit Turnstile" />
+            <space />
+            <key key="barrier" value="turnstile" />
+            <label text="Allowed traffic:" />
+            <space />
+            <check key="foot" text="Foot" default="on" delete_if_empty="true" />
+            <check key="bicycle" text="Bicycle" default="off" delete_if_empty="true" />
+        </item> <!-- turnstile -->
+        <item name="Sally Port" icon="styles/standard/vehicle/sally_port.png" type="node">
+            <label text="Edit Sally Port" />
+            <space />
+            <key key="barrier" value="sally_port" />
+            <label text="Allowed traffic:" />
+            <space />
+            <check key="foot" text="Foot" default="on" delete_if_empty="true" />
+            <check key="bicycle" text="Bicycle" default="on" delete_if_empty="true" />
+            <check key="horse" text="Horse" default="off" delete_if_empty="true" />
+            <check key="motorcycle" text="Motorcycle" default="off" delete_if_empty="true" />
+            <check key="motorcar" text="Motorcar" default="off" delete_if_empty="true" />
+        </item> <!-- sally_port -->
+
+    </group> <!-- Barriers -->
+  </group>
+  <group name="Water" icon="presets/waterway.png">
+    <group name="Water" icon="presets/waterway.png">
+        <separator/>
+        <item name="Drain" icon="presets/waterway.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:waterway=drain"; />
+            <label text="Edit Drain" />
+            <space />
+            <key key="waterway" value="drain" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="" delete_if_empty="true" />
+        </item>
+        <item name="Ditch" icon="presets/waterway.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:waterway=ditch"; />
+            <label text="Edit Ditch" />
+            <space />
+            <key key="waterway" value="ditch" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="" delete_if_empty="true" />
+        </item>
+        <item name="Stream" icon="presets/waterway.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:waterway=stream"; />
+            <label text="Edit Stream" />
+            <space />
+            <key key="waterway" value="stream" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="" delete_if_empty="true" />
+        </item>
+        <item name="Canal" icon="presets/waterway.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:waterway=canal"; />
+            <label text="Edit Canal" />
+            <space />
+            <key key="waterway" value="canal" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="" delete_if_empty="true" />
+            <text key="wikipedia" text="Wikipedia" default="" delete_if_empty="true" />
+        </item>
+        <item name="River" icon="presets/river.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:waterway=river";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:waterway=river";
+                  fi.href="http://wiki.openstreetmap.org/wiki/Fi:Tag:waterway=river"; />
+            <label text="Edit River" />
+            <space />
+            <key key="waterway" value="river" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="" delete_if_empty="true" />
+            <text key="wikipedia" text="Wikipedia" default="" delete_if_empty="true" />
+        </item>
+        <separator/>
+        <item name="Spring" icon="presets/spring.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:natural=spring"; />
+            <label text="Edit Spring" />
+            <key key="natural" value="spring" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Waterfall" icon="presets/waterfall.png" type="node,way">
+            <label text="Edit Waterfall" />
+            <space />
+            <key key="waterway" value="waterfall" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="wikipedia" text="Wikipedia" default="" delete_if_empty="true" />
+        </item>
+        <item name="Weir" icon="presets/weir.png" type="node,way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:waterway=weir"; />
+            <label text="Edit Weir" />
+            <space />
+            <key key="waterway" value="weir" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Dam" icon="presets/dam.png" type="node,way,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:waterway=dam"; />
+            <label text="Edit Dam" />
+            <space />
+            <key key="waterway" value="dam" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="wikipedia" text="Wikipedia" default="" delete_if_empty="true" />
+        </item>
+         <item name="Groyne" icon="presets/groyne.png" type="node,way,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:man_made%3Dgroyne"; />
+            <label text="Edit Groyne" />
+            <space />            
+            <key key="man_made" value="groyne" />                               
+        </item>
+        <separator/>
+        <item name="Basin" icon="presets/landuse_water.png" type="node,closedway,relation">
+            <label text="Edit Basin Landuse" />
+            <space />
+            <key key="landuse" value="basin" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Reservoir" icon="presets/landuse_water.png" type="node,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:landuse=reservoir"; />
+            <label text="Edit Reservoir Landuse" />
+            <space />
+            <key key="landuse" value="reservoir" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Covered Reservoir" icon="presets/reservoir_covered.png" type="node,closedway,relation">
+            <label text="Edit Covered Reservoir" />
+            <key key="man_made" value="reservoir_covered" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <separator/>
+        <item name="Water" icon="presets/water.png" type="node,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:natural=water"; />
+            <label text="Edit Water" />
+            <key key="natural" value="water" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Land" icon="presets/landuse.png" type="node,closedway,relation">
+            <label text="Edit Land" />
+            <key key="natural" value="land" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Coastline" icon="presets/coastline.png" type="node,way,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:natural=coastline"; />
+            <label text="Edit Coastline" />
+            <key key="natural" value="coastline" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Riverbank" icon="presets/waterway.png" type="closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:waterway=riverbank";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:waterway=riverbank"; />
+            <label text="Edit Riverbank" />
+            <key key="waterway" value="riverbank" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <separator/>
+        <item name="Wetland" icon="presets/empty.png" type="node,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:natural=wetland";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:natural=wetland";
+                  pt.href="http://wiki.openstreetmap.org/wiki/Pt:Tag:natural=wetland";
+                  pt_BR.href="http://wiki.openstreetmap.org/wiki/Pt_br:Tag:natural=wetland"; />
+            <label text="Edit Wetland" />
+            <key key="natural" value="wetland" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="wetland" text="Type" values="swamp,bog,marsh,reedbed,saltmarsh,tidalflat,mangrove" default="" delete_if_empty="true" />
+        </item>
+        <item name="Mud" icon="presets/mud.png" type="node,closedway,relation">
+            <label text="Edit Mud" />
+            <key key="natural" value="mud" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Beach" icon="presets/beach.png" type="node,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:natural=beach"; />
+            <label text="Edit Beach" />
+            <key key="natural" value="beach" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Bay" icon="presets/bay.png" type="node,closedway,relation">
+            <label text="Edit Bay" />
+            <key key="natural" value="bay" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Cliff" icon="presets/cliff.png" type="node,way,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:natural=cliff"; />
+            <label text="Edit Cliff" />
+            <key key="natural" value="cliff" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+      </group> <!-- Water -->
+    <group name="Shipping" icon="presets/ferry.png">
+        <item name="Ferry Terminal" icon="presets/ferry.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=ferry_terminal"; />
+            <label text="Edit Ferry Terminal" />
+            <key key="amenity" value="ferry_terminal" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="cargo" text="Cargo" values="passengers,vehicle,bicycle,hgv,passengers;vehicle" default="" delete_if_empty="true" />
+        </item>
+        <item name="Ferry Route" icon="presets/ferry.png" type="way,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:route=ferry"; />
+            <label text="Edit Ferry" />
+            <space />
+            <key key="route" value="ferry" />
+            <optional>
+              <text key="name" text="Name" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <separator/>
+        <item name="Marina" icon="presets/marina.png" type="node,closedway">
+            <label text="Edit Marina" />
+            <key key="leisure" value="marina" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Pier" icon="presets/pier.png" type="way,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:man_made=pier"; />
+            <label text="Edit Pier" />
+            <key key="man_made" value="pier" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Lock Gate" icon="presets/lock_gate.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:waterway=lock_gate"; />
+            <key key="waterway" value="lock_gate" />
+        </item>
+        <item name="Turning Point" icon="presets/turning.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:waterway=turning_point"; />
+            <key key="waterway" value="turning_point" />
+        </item>
+        <separator/>
+        <item name="Slipway" icon="styles/standard/nautical/slipway.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:leisure=slipway";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:leisure=slipway";
+                  fi.href="http://wiki.openstreetmap.org/wiki/Fi:Tag:leisure=slipway"; />
+            <label text="Edit Slipway" />
+            <key key="leisure" value="slipway" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Boatyard" icon="presets/boatyard.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:waterway=boatyard"; />
+            <label text="Edit Boatyard" />
+            <space />
+            <key key="waterway" value="boatyard" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Dock" icon="presets/boatyard.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:waterway=dock"; />
+            <label text="Edit Dock" />
+            <space />
+            <key key="waterway" value="dock" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+    </group> <!-- Shipping -->
+  </group>
+  <group name="Transport" icon="presets/railway.png">
+    <group name="Railway" icon="presets/railway.png">
+        <item name="Rail" icon="presets/railway.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:railway=rail"; />
+            <label text="Edit Rail" />
+            <space />
+            <key key="railway" value="rail" />
+            <optional>
+                <combo key="gauge" text="Gauge (mm)" values="1668,1676,1674,1600,1524,1520,1495,1435,1067,1000,914,762,760,750" default="" delete_if_empty="true" />
+                <combo key="service" text="Types" values="yard,siding,spur" default="" delete_if_empty="true" />
+                <combo key="electrified" text="Electrified" values="contact_line,no,yes,rail" default="" delete_if_empty="true" />
+                <combo key="voltage" text="Voltage" values="600,650,750,1500,3000,15000,25000" default="" delete_if_empty="true" />
+                <combo key="frequency" text="Frequency (Hz)" values="0,16.7,50,60" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Narrow Gauge Rail" icon="presets/railway.png" type="way">
+            <label text="Edit Narrow Gauge Rail" />
+            <space />
+            <key key="railway" value="narrow_gauge" />
+            <optional>
+                <combo key="gauge" text="Gauge (mm)" values="1668,1676,1674,1600,1524,1520,1495,1435,1067,1000,914,762,760,750" default="" delete_if_empty="true" />
+                <combo key="service" text="Types" values="yard,siding,spur" default="" delete_if_empty="true" />
+                <combo key="electrified" text="Electrified" values="contact_line,no,yes,rail" default="" delete_if_empty="true" />
+                <combo key="voltage" text="Voltage" values="600,650,750,1500,3000,15000,25000" default="" delete_if_empty="true" />
+                <combo key="frequency" text="Frequency (Hz)" values="0,16.7,50,60" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Monorail" icon="presets/railway.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:railway=monorail"; />
+            <label text="Edit Monorail" />
+            <space />
+            <key key="railway" value="monorail" />
+            <optional>
+                <combo key="service" text="Types" values="yard,siding,spur" default="" delete_if_empty="true" />
+                <combo key="electrified" text="Electrified" values="contact_line,no,yes,rail" default="" delete_if_empty="true" />
+                <combo key="voltage" text="Voltage" values="600,650,750,1500,3000,15000,25000" default="" delete_if_empty="true" />
+                <combo key="frequency" text="Frequency (Hz)" values="0,16.7,50,60" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Preserved" icon="presets/rail_preserved.png" type="way">
+            <label text="Edit Preserved Railway" />
+            <space />
+            <key key="railway" value="preserved" />
+            <optional>
+                <combo key="gauge" text="Gauge (mm)" values="1668,1676,1674,1600,1524,1520,1495,1435,1067,1000,914,762,760,750" default="" delete_if_empty="true" />
+                <combo key="service" text="Types" values="yard,siding,spur" default="" delete_if_empty="true" />
+                <combo key="electrified" text="Electrified" values="contact_line,no,yes,rail" default="" delete_if_empty="true" />
+                <combo key="voltage" text="Voltage" values="600,650,750,1500,3000,15000,25000" default="" delete_if_empty="true" />
+                <combo key="frequency" text="Frequency (Hz)" values="0,16.7,50,60" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Light Rail" icon="presets/rail_light.png" type="way">
+            <label text="Edit Light Rail" />
+            <space />
+            <key key="railway" value="light_rail" />
+            <optional>
+                <combo key="gauge" text="Gauge (mm)" values="1668,1676,1674,1600,1524,1520,1495,1435,1067,1000,914,762,760,750" default="" delete_if_empty="true" />
+                <combo key="service" text="Types" values="yard,siding,spur" default="" delete_if_empty="true" />
+                <combo key="electrified" text="Electrified" values="contact_line,no,yes,rail" default="" delete_if_empty="true" />
+                <combo key="voltage" text="Voltage" values="600,650,750,1500,3000,15000,25000" default="" delete_if_empty="true" />
+                <combo key="frequency" text="Frequency (Hz)" values="0,16.7,50,60" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Subway" icon="presets/rail_light.png" type="way">
+            <label text="Edit Subway" />
+            <space />
+            <key key="railway" value="subway" />
+            <optional>
+                <combo key="gauge" text="Gauge (mm)" values="1668,1676,1674,1600,1524,1520,1495,1435,1067,1000,914,762,760,750" default="" delete_if_empty="true" />
+                <combo key="service" text="Types" values="yard,siding,spur" default="" delete_if_empty="true" />
+                <combo key="electrified" text="Electrified" values="contact_line,no,yes,rail" default="" delete_if_empty="true" />
+                <combo key="voltage" text="Voltage" values="600,650,750,1500,3000,15000,25000" default="" delete_if_empty="true" />
+                <combo key="frequency" text="Frequency (Hz)" values="0,16.7,50,60" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Tram" icon="presets/tram.png" type="way">
+            <label text="Edit Tram" />
+            <space />
+            <key key="railway" value="tram" />
+            <optional>
+                <combo key="gauge" text="Gauge (mm)" values="1668,1676,1674,1600,1524,1520,1495,1435,1067,1000,914,762,760,750" default="" delete_if_empty="true" />
+                <combo key="service" text="Types" values="yard,siding,spur" default="" delete_if_empty="true" />
+                <combo key="electrified" text="Electrified" values="contact_line,no,yes,rail" default="" delete_if_empty="true" />
+                <combo key="voltage" text="Voltage" values="600,650,750,1500,3000,15000,25000" default="" delete_if_empty="true" />
+                <combo key="frequency" text="Frequency (Hz)" values="0,16.7,50,60" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Bus Guideway" icon="presets/busway.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=bus_guideway"; />
+            <label text="Edit Bus Guideway" />
+            <space />
+            <key key="highway" value="bus_guideway" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+                <check key="oneway" text="Oneway" default="off" delete_if_empty="true" />
+                <check key="bridge" text="Bridge" default="off" delete_if_empty="true" />
+                <check key="tunnel" text="Tunnel" default="off" delete_if_empty="true" />
+                <check key="cutting" text="Cutting" default="off" delete_if_empty="true" />
+                <check key="embankment" text="Embankment" default="off" delete_if_empty="true" />
+                <combo key="layer" text="Layer" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="" delete_if_empty="true" />
+                <combo key="surface" text="Surface" values="paved,unpaved,asphalt,concrete,metal,wood,paving_stones,cobblestone,gravel,pebblestone,compacted,grass_paver,grass,sand,ground" default="" delete_if_empty="true" />
+                <text key="maxspeed" text="Max. speed (km/h)" default="" delete_if_empty="true" />
+                <text key="width" text="Width (meters)" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <separator/>
+        <item name="Disused Rail" icon="presets/railway.png" type="way">
+            <label text="Edit Disused Railway" />
+            <space />
+            <key key="railway" value="disused" />
+            <combo key="service" text="Optional Types" values="yard,siding,spur" default="" delete_if_empty="true" />
+        </item>
+        <item name="Abandoned Rail" icon="presets/railway.png" type="way">
+            <key key="railway" value="abandoned" />
+        </item>
+        <separator/>
+        <item name="Level Crossing" icon="presets/level_crossing.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:railway=level_crossing"; />
+            <key key="railway" value="level_crossing" />
+        </item>
+        <item name="Crossing" icon="presets/crossing.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Key:crossing"; />
+            <key key="railway" value="crossing" />
+            <optional>
+                 <combo key="crossing" text="Crossing type" values="uncontrolled,traffic_signals,island,unmarked,no,unknown" default="" delete_if_empty="true" />
+                 <check key="horse" text="Cross on horseback" default="off" delete_if_empty="true" />
+                 <check key="bicycle" text="Cross by bicycle" default="off" delete_if_empty="true" />
+                 <check key="supervised" text="Crossing attendant" default="off" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Turntable" icon="presets/turntable.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:railway=turntable"; />
+            <key key="railway" value="turntable" />
+        </item>
+        <item name="Buffer Stop" icon="styles/standard/transport/buffer_stop.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:railway%3Dbuffer_stop"; />
+            <key key="railway" value="buffer_stop" />
+        </item>
+    </group> <!-- Railway -->
+    <group name="Aerialway" icon="presets/aerialway.png">
+        <item name="Chair Lift" icon="presets/chair_lift.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:aerialway=chair_lift"; />
+            <label text="Edit Chair Lift" />
+            <key key="aerialway" value="chair_lift" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Drag Lift" icon="presets/drag_lift.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:aerialway=drag_lift"; />
+            <label text="Edit Drag Lift" />
+            <key key="aerialway" value="drag_lift" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Cable Car" icon="presets/cable_car.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:aerialway=cable_car"; />
+            <label text="Edit Cable Car" />
+            <key key="aerialway" value="cable_car" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Gondola" icon="presets/gondola.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Proposed_features/Piste_Maps#aerialway"; />
+            <label text="Edit Gondola" />
+            <key key="aerialway" value="gondola" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <separator/>
+        <item name="Station" name_context="aerialway" icon="presets/aerialway_station.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Proposed_features/Piste_Maps#aerialway"; />
+            <label text="Edit Station" text_context="aerialway" />
+            <key key="aerialway" value="station" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Pylon" name_context="aerialway" icon="presets/power_tower.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Proposed_features/Piste_Maps#aerialway"; />
+            <label text="Edit Pylon" text_context="aerialway" />
+            <key key="aerialway" value="pylon" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Goods" name_context="aerialway" icon="presets/goods.png" type="node">
+            <label text="Edit Goods" text_context="aerialway" />
+            <key key="aerialway" value="goods" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+    </group> <!-- Aerialway -->
+    <separator/>
+    <group name="Car" icon="presets/car.png">
+        <item name="Parking" icon="presets/parking.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=parking";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:amenity=parking"; />
+            <label text="Edit Parking" />
+            <key key="amenity" value="parking" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="ref" text="Reference number" default="" delete_if_empty="true" />
+            <combo key="parking" text="Type" values="multi-storey,surface,underground" default="surface" delete_if_empty="true" />
+            <combo key="park_ride" text="Park and Ride" values="yes,no" default="" delete_if_empty="true" />
+            <combo key="fee" text="Fee" values="yes,no" default="" delete_if_empty="true" />
+            <space />
+            <text key="capacity" text="Capacity (overall)" default="" delete_if_empty="true" />
+            <combo key="capacity:disabled" text="Spaces for Disabled" values="yes,no,unknown,1,2,3" default="" delete_if_empty="true" />
+            <combo key="capacity:women" text="Spaces for Women" values="yes,no,unknown,1,2,3" default="" delete_if_empty="true" />
+            <combo key="capacity:parent" text="Spaces for Parents" values="yes,no,unknown,1,2,3" default="" delete_if_empty="true" />
+            <label text="See the Wiki for other capacity:[types]=*." />
+        </item>
+        <separator/>
+        <item name="Fuel" icon="presets/fuel.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=fuel";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:amenity=fuel";
+                  fi.href="http://wiki.openstreetmap.org/wiki/Fi:Tag:amenity=fuel"; />
+            <label text="Edit Fuel" />
+            <key key="amenity" value="fuel" />
+            <combo key="brand" text="Brand" values="Agip,Aral,Avia,BP,Chevron,Citgo,Esso,Exxon,Gulf,Mobil,OMV,Petro-Canada,Pioneer,Q8,Repsol,Shell,Sunoco,Statoil,Tamoil,Texaco,Total,Independent" default="" delete_if_empty="true" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+                <text key="operator" text="Operator" default="" delete_if_empty="true" />
+                <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+                <combo key="shop" text="With shop" values="yes,convenience,kiosk,no" default="" delete_if_empty="true" />
+                <label text="Fuel types:" />
+                <check key="fuel:diesel" text="Diesel" default="off" delete_if_empty="true" />
+                <check key="fuel:biodiesel" text="Bio Diesel" default="off" delete_if_empty="true" />
+                <check key="fuel:GTL_diesel" text="Diesel (Gas To Liquid - ultimate diesel)" default="off" delete_if_empty="true" />
+                <check key="fuel:HGV_diesel" text="Diesel for Heavy Good Vehicles" default="off" delete_if_empty="true" />
+                <check key="fuel:octane_91" text="Octane 91" default="off" delete_if_empty="true" />
+                <check key="fuel:octane_95" text="Octane 95" default="off" delete_if_empty="true" />
+                <check key="fuel:octane_98" text="Octane 98" default="off" delete_if_empty="true" />
+                <check key="fuel:octane_100" text="Octane 100" default="off" delete_if_empty="true" />
+                <check key="fuel:e10" text="E10 (10% Ethanol mix)" default="off" delete_if_empty="true" />
+                <check key="fuel:e85" text="E85 (85% Ethanol mix)" default="off" delete_if_empty="true" />
+                <check key="fuel:lpg" text="LPG (Liquefied petroleum gas)" default="off" delete_if_empty="true" />
+                <check key="fuel:cng" text="CNG (Compressed Natural Gas)" default="off" delete_if_empty="true" />
+                <check key="fuel:1_25" text="1/25 mix (mofa/moped)" default="off" delete_if_empty="true" />
+                <check key="fuel:1_50" text="1/50 mix (mofa/moped)" default="off" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Charging Station" icon="styles/standard/accommodation/camping/hookup.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=fuel"/>
+            <label text="Edit Charging Station (for electric cars)" />
+            <key key="amenity" value="charging_station" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <text key="voltage" text="Voltage" default="" delete_if_empty="true" />
+            <text key="amperage" text="Amperage" default="" delete_if_empty="true" />
+        </item>            
+        <item name="Wash" icon="presets/car_wash.png" type="node,closedway">
+            <label text="Edit Car Wash" />
+            <key key="amenity" value="car_wash" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="brand" text="Brand" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <separator/>
+        <item name="Car Dealer" icon="presets/car.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop=car"; />
+            <label text="Edit Car Shop" />
+            <key key="shop" value="car" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+        </item>
+        <item name="Repair" icon="presets/car_repair.png" type="node,closedway">
+            <label text="Edit Car Repair" />
+            <key key="shop" value="car_repair" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="brand" text="Brand" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Tyres" icon="presets/tyres.png" type="node,closedway">
+            <label text="Edit Tyres" />
+            <key key="shop" value="tyres" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="brand" text="Brand" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+            <label text="Contact:" />
+                <text key="phone" text="Phone Number" default="" delete_if_empty="true" />
+                <text key="fax" text="Fax Number" default="" delete_if_empty="true" />
+                <text key="website" text="Website" default="" delete_if_empty="true" />
+                <text key="email" text="Email Address" default="" delete_if_empty="true" />
+         </item>
+        <separator/>
+        <item name="Rental" icon="presets/car_rental.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=car_rental";
+                  fi.href="http://wiki.openstreetmap.org/wiki/Fi:Tag:amenity=car_rental";  />
+            <label text="Edit Car Rental" />
+            <key key="amenity" value="car_rental" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="brand" text="Brand" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Sharing" icon="presets/car_sharing.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=car_sharing"; />
+            <label text="Edit Car Sharing" />
+            <key key="amenity" value="car_sharing" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="brand" text="Brand" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+    </group> <!-- Car -->
+    <group name="Motorcycle" icon="presets/motorbike.png">
+        <item name="Parking" icon="styles/standard/vehicle/parking/motorbike.png" type="node,closedway">
+            <label text="Edit Motorcycle Parking" />
+            <key key="amenity" value="motorcycle_parking" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="capacity" text="Capacity" default="" delete_if_empty="true" />
+            <combo key="parking" text="Type" values="multi-storey,surface,underground" default="surface" delete_if_empty="true" />
+            <combo key="fee" text="Fee" values="yes,no" default="" delete_if_empty="true" />
+        </item>
+        <item name="Motorcycle Dealer" icon="presets/motorbike.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop=motorcycle"/>
+            <label text="Edit Shop Motorcycle" />
+            <key key="shop" value="motorcycle" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="brand" text="Brand" values="independent" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+            <label text="Services:" />
+                <combo key="sale" text="Sale" values="yes,brand,used,no" values_context="motorcycle" default="" delete_if_empty="true" />
+                <combo key="rental" text="Rental" values="yes,brand,no" default="" delete_if_empty="true" />
+                <combo key="repair" text="Repair" values="yes,brand,oldtimer,no" default="" delete_if_empty="true" />
+                <combo key="safety_inspection" text="Safety inspection" values="yes,DEKRA,GTÜ,MOT,TÜV,no" default="" delete_if_empty="true" />
+                <combo key="parts" text="Parts" values="yes,brand,oldtimer,no" default="" delete_if_empty="true" />
+                <combo key="clothes" text="Clothes" values="yes,brand,no" default="" delete_if_empty="true" />
+                <text key="services" text="Other" default="" delete_if_empty="true" />
+            <label text="Contact:" />
+                <text key="phone" text="Phone Number" default="" delete_if_empty="true" />
+                <text key="fax" text="Fax Number" default="" delete_if_empty="true" />
+                <text key="website" text="Website" default="" delete_if_empty="true" />
+                <text key="email" text="Email Address" default="" delete_if_empty="true" />
+        </item>
+    </group> <!-- Motorcycle -->
+    <group name="Bicycle" icon="presets/bike.png">
+        <item name="Parking" icon="styles/standard/vehicle/parking/bicycle.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=bicycle_parking"; />
+            <label text="Edit Bicycle Parking" />
+            <key key="amenity" value="bicycle_parking" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="capacity" text="Capacity" default="" delete_if_empty="true" />
+        </item>
+        <item name="Bike Dealer" icon="presets/bike.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop=bicycle";
+                  fi.href="http://wiki.openstreetmap.org/wiki/Fi:Tag:shop=bicycle"; />
+            <label text="Edit Bicycle Shop" />
+            <key key="shop" value="bicycle" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Rental" icon="presets/bicycle_rental.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=bicycle_rental";
+                  it.href="http://wiki.openstreetmap.org/wiki/IT:Tag:bicycle_rental"; />
+            <label text="Edit Bicycle Rental" />
+            <key key="amenity" value="bicycle_rental" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+    </group> <!-- Bicycle -->
+    <group name="Public Transport" icon="presets/bus.png">
+        <item name="Station" name_context="railway" icon="styles/standard/transport/railway_station.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:railway=station";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:railway=station"; />
+            <label text="Edit Station" text_context="railway" />
+            <space />
+            <key key="railway" value="station" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+                <text key="uic_ref" text="UIC-Reference" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Railway Halt" icon="presets/station.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:railway=halt"; />
+            <label text="Edit Halt" />
+            <space />
+            <key key="railway" value="halt" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Tram Stop" icon="presets/tram.png" type="node">
+           <link href="http://wiki.openstreetmap.org/wiki/Tag:railway=tram_stop";
+                 de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:railway=tram_stop"; />
+            <label text="Edit Tram Stop" />
+            <space />
+            <key key="railway" value="tram_stop" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Railway Platform" icon="presets/platform_rail.png" type="way,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:railway=platform";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:railway=platform"; />
+            <label text="Edit Railway Platform" />
+            <key key="railway" value="platform" />
+            <space />
+            <text key="ref" text="Reference (track number)" default="" delete_if_empty="true" />
+            <text key="width" text="Width (meters)" default="" delete_if_empty="true" />
+            <check key="area" text="Area" default="off" delete_if_empty="true" />
+        </item>
+        <item name="Subway Entrance" icon="presets/underground.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:railway=subway_entrance";
+                  fr.href="http://wiki.openstreetmap.org/wiki/FR:Tag:railway=subway_entrance"; />
+            <label text="Edit Subway Entrance" />
+            <space />
+            <key key="railway" value="subway_entrance" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+                <check key="wheelchair" text="Wheelchair" default="off" delete_if_empty="true" />
+                <check key="bicycle" text="Bicycle" default="off" delete_if_empty="true" />
+            </optional>
+        </item>
+        <separator/>
+        <item name="Bus Station" icon="presets/bus.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=bus_station";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:amenity=bus_station"; />
+            <label text="Edit Bus Station" />
+            <key key="amenity" value="bus_station" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Bus Stop" icon="presets/bus_small.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=bus_stop";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:highway=bus_stop";
+                  fr.href="http://wiki.openstreetmap.org/wiki/FR:Tag:highway=bus_stop"; />
+            <label text="Edit Bus Stop" />
+            <space />
+            <key key="highway" value="bus_stop" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+                <combo key="shelter" text="Shelter" values="yes,no" default="" delete_if_empty="true" />
+                <combo key="bench" text="Bench" values="yes,no" default="" delete_if_empty="true" />
+                <combo key="tactile_paving" text="Tactile Paving" values="yes,no" default="" delete_if_empty="true" />
+
+            </optional>
+        </item>
+        <item name="Bus Platform" icon="presets/platform_bus.png" type="node,closedway">
+            <label text="Edit Bus Platform" />
+            <key key="highway" value="platform" />
+            <space />
+            <text key="ref" text="Reference (track number)" default="" delete_if_empty="true" />
+            <text key="width" text="Width (meters)" default="" delete_if_empty="true" />
+            <check key="area" text="Area" default="off" delete_if_empty="true" />
+        </item>
+        <separator/>
+        <item name="Ticket Machine" de.name="Fahrausweisautomat" icon="presets/vending_machine.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity%3Dvending_machine"; de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:amenity%3Dvending_machine"/>
+            <key key="amenity" value="vending_machine"/>
+            <key key="vending" value="public_transport_tickets"/>
+            <text key="name" text="Name" default="" delete_if_empty="true"/>
+            <text key="operator" text="Operator" default="" delete_if_empty="true"/>
+            <text key="ref" text="Reference Number" default="" delete_if_empty="true"/>
+            <check key="payment:coins" text="Coins" default="off" delete_if_empty="true" />
+            <check key="payment:notes" text="Notes" default="off" delete_if_empty="true" />
+            <check key="payment:electronic_purses" text="Electronic purses and Charge cards" default="off" delete_if_empty="true" />
+            <check key="payment:debit_cards" text="Debit cards" default="off" delete_if_empty="true" />
+            <check key="payment:credit_cards" text="Credit cards" default="off" delete_if_empty="true" />
+            <check key="payment:account_cards" text="Account or loyalty cards" default="off" delete_if_empty="true" />
+        </item>
+    </group> <!-- Public Transport -->
+    <item name="Taxi" icon="presets/taxi.png" type="node,closedway">
+        <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=taxi"; />
+        <label text="Edit Taxi station" />
+        <key key="amenity" value="taxi" />
+        <text key="name" text="Name" default="" delete_if_empty="true" />
+    </item>
+    <separator/>
+    <group name="Airport" icon="presets/plane.png">
+        <item name="Airport Ground" icon="presets/plane.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:aeroway=aerodrome"; />
+            <label text="Edit Airport Ground" />
+            <key key="aeroway" value="aerodrome" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <optional>
+                <text key="iata" text="IATA" default="" delete_if_empty="true" />
+                <text key="icao" text="ICAO" default="" delete_if_empty="true" />
+                <text key="wikipedia" text="Wikipedia" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <separator/>
+        <item name="Runway" icon="presets/runway.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:aeroway=runway"; />
+            <label text="Edit Runway" />
+            <key key="aeroway" value="runway" />
+            <optional>
+                <text key="ref" text="Reference" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Taxiway" icon="presets/taxiway.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:aeroway=taxiway"; />
+            <label text="Edit Taxiway" />
+            <key key="aeroway" value="taxiway" />
+            <optional>
+                <text key="ref" text="Reference" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Helipad" icon="styles/standard/transport/airport/helipad.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:aeroway=helipad"; />
+            <label text="Edit Helipad" />
+            <key key="aeroway" value="helipad" />
+            <optional>
+                <text key="ref" text="Reference" default="" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Apron" icon="presets/apron.png" type="closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:aeroway=apron"; />
+            <label text="Apron" />
+            <key key="aeroway" value="apron" />
+        </item>
+        <item name="Hangar" icon="presets/hangar.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:aeroway=hangar"; />
+            <label text="Hangar" />
+            <key key="building" value="hangar" />
+        </item>
+        <item name="Beacon" icon="styles/standard/misc/landmark/beacon.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:man_made%3Dbeacon"; />
+            <label text="Beacon" />
+            <key key="man_made" value="beacon" />
+        </item>
+        <item name="Windsock" icon="styles/standard/transport/airport/windsock.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:aeroway=windsock"; />
+            <label text="Windsock" />
+            <key key="aeroway" value="windsock" />
+        </item>
+        <separator/>
+        <item name="Terminal" icon="styles/standard/transport/airport/terminal.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:aeroway=terminal"; />
+            <label text="Edit Terminal" />
+            <key key="aeroway" value="terminal" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Gate" name_context="airport" icon="presets/aeroway_gate.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:aeroway=gate"; />
+            <label text="Edit Terminal Gate" />
+            <key key="aeroway" value="gate" />
+            <text key="ref" text="Reference" default="" delete_if_empty="true" />
+        </item>
+    </group> <!-- Aeroway -->
+  </group>
+  <group name="Facilities" icon="presets/bed.png">
+    <group name="Accommodation" icon="presets/bed.png">
+        <item name="Hotel" icon="presets/bed.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:tourism=hotel";
+                  fi.href="http://wiki.openstreetmap.org/wiki/Fi:Tag:tourism=hotel"; />
+            <label text="Edit Hotel" />
+            <key key="tourism" value="hotel" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="stars" text="Stars" values="1,2,3,4,5,6,7" default="" delete_if_empty="true" />
+            <space />
+            <combo key="internet_access" text="Internet access" values="yes,wlan,wired,terminal,no" default="" delete_if_empty="true" />
+            <combo key="internet_access:fee" text="Internet access fee" values="yes,no" default="" delete_if_empty="true" />
+            <combo key="smoking" text="Smoking" values="yes,dedicated,separated,isolated,no" default="" delete_if_empty="true" />
+            <combo key="wheelchair" text="Wheelchairs" values="yes,no" default="" delete_if_empty="true" />
+            <space />
+            <text key="phone" text="Phone Number" default="" delete_if_empty="true" />
+            <text key="fax" text="Fax Number" default="" delete_if_empty="true" />
+            <text key="website" text="Website" default="" delete_if_empty="true" />
+            <text key="email" text="Email Address" default="" delete_if_empty="true" />
+        </item>
+        <item name="Motel" icon="styles/standard/accommodation/motel.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:tourism=motel"; />
+            <label text="Edit Motel" />
+            <key key="tourism" value="motel" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="stars" text="Stars" values="1,2,3,4,5,6,7" default="" delete_if_empty="true" />
+            <space />
+            <combo key="internet_access" text="Internet access" values="yes,wlan,wired,terminal,no" default="" delete_if_empty="true" />
+            <combo key="internet_access:fee" text="Internet access fee" values="yes,no" default="" delete_if_empty="true" />
+            <combo key="smoking" text="Smoking" values="yes,dedicated,separated,isolated,no" default="" delete_if_empty="true" />
+            <combo key="wheelchair" text="Wheelchairs" values="yes,no" default="" delete_if_empty="true" />
+            <space />
+            <text key="phone" text="Phone Number" default="" delete_if_empty="true" />
+            <text key="fax" text="Fax Number" default="" delete_if_empty="true" />
+            <text key="website" text="Website" default="" delete_if_empty="true" />
+            <text key="email" text="Email Address" default="" delete_if_empty="true" />
+        </item>
+        <item name="Guest House" icon="styles/standard/accommodation/guest_house.png" type="node,closedway">
+            <label text="Edit Guest House" />
+            <key key="tourism" value="guest_house" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="stars" text="Stars" values="1,2,3,4,5,6,7" default="" delete_if_empty="true" />
+            <space />
+            <combo key="internet_access" text="Internet access" values="yes,wlan,wired,terminal,no" default="" delete_if_empty="true" />
+            <combo key="internet_access:fee" text="Internet access fee" values="yes,no" default="" delete_if_empty="true" />
+            <combo key="smoking" text="Smoking" values="yes,dedicated,separated,isolated,no" default="" delete_if_empty="true" />
+            <combo key="wheelchair" text="Wheelchairs" values="yes,no" default="" delete_if_empty="true" />
+            <space />
+            <text key="phone" text="Phone Number" default="" delete_if_empty="true" />
+            <text key="fax" text="Fax Number" default="" delete_if_empty="true" />
+            <text key="website" text="Website" default="" delete_if_empty="true" />
+            <text key="email" text="Email Address" default="" delete_if_empty="true" />
+        </item>
+        <item name="Chalet" icon="styles/standard/accommodation/chalet.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:tourism=chalet"; />
+            <label text="Edit Chalet" />
+            <key key="tourism" value="chalet" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="stars" text="Stars" values="1,2,3,4,5,6,7" default="" delete_if_empty="true" />
+            <space />
+            <combo key="internet_access" text="Internet access" values="yes,wlan,wired,terminal,no" default="" delete_if_empty="true" />
+            <combo key="internet_access:fee" text="Internet access fee" values="yes,no" default="" delete_if_empty="true" />
+            <combo key="smoking" text="Smoking" values="yes,dedicated,separated,isolated,no" default="" delete_if_empty="true" />
+            <combo key="wheelchair" text="Wheelchairs" values="yes,no" default="" delete_if_empty="true" />
+            <space />
+            <text key="phone" text="Phone Number" default="" delete_if_empty="true" />
+            <text key="fax" text="Fax Number" default="" delete_if_empty="true" />
+            <text key="website" text="Website" default="" delete_if_empty="true" />
+            <text key="email" text="Email Address" default="" delete_if_empty="true" />
+        </item>
+        <item name="Hostel" icon="presets/hostel.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:tourism=hostel"; />
+            <label text="Edit Hostel" />
+            <key key="tourism" value="hostel" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="stars" text="Stars" values="1,2,3,4,5,6,7" default="" delete_if_empty="true" />
+            <space />
+            <combo key="internet_access" text="Internet access" values="yes,wlan,wired,terminal,no" default="" delete_if_empty="true" />
+            <combo key="internet_access:fee" text="Internet access fee" values="yes,no" default="" delete_if_empty="true" />
+            <combo key="smoking" text="Smoking" values="yes,dedicated,separated,isolated,no" default="" delete_if_empty="true" />
+            <combo key="wheelchair" text="Wheelchairs" values="yes,no" default="" delete_if_empty="true" />
+            <space />
+            <text key="phone" text="Phone Number" default="" delete_if_empty="true" />
+            <text key="fax" text="Fax Number" default="" delete_if_empty="true" />
+            <text key="website" text="Website" default="" delete_if_empty="true" />
+            <text key="email" text="Email Address" default="" delete_if_empty="true" />
+        </item>
+        <item name="Alpine Hut" icon="styles/standard/accommodation/alpine_hut.png" type="node,closedway">
+            <label text="Edit Alpine Hut" />
+            <key key="tourism" value="alpine_hut" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <text key="ele" text="Elevation" default="" delete_if_empty="true" />
+            <space />
+            <combo key="internet_access" text="Internet access" values="yes,wlan,wired,terminal,no" default="" delete_if_empty="true" />
+            <combo key="internet_access:fee" text="Internet access fee" values="yes,no" default="" delete_if_empty="true" />
+            <combo key="smoking" text="Smoking" values="yes,dedicated,separated,isolated,no" default="" delete_if_empty="true" />
+            <combo key="wheelchair" text="Wheelchairs" values="yes,no" default="" delete_if_empty="true" />
+            <space />
+            <text key="phone" text="Phone Number" default="" delete_if_empty="true" />
+            <text key="fax" text="Fax Number" default="" delete_if_empty="true" />
+            <text key="website" text="Website" default="" delete_if_empty="true" />
+            <text key="email" text="Email Address" default="" delete_if_empty="true" />
+        </item>
+        <separator/>
+        <item name="Caravan Site" icon="presets/caravan2.png" type="node,closedway">
+            <label text="Edit Caravan Site" />
+            <key key="tourism" value="caravan_site" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="stars" text="Stars" values="1,2,3,4,5,6,7" default="" delete_if_empty="true" />
+            <space />
+            <combo key="internet_access" text="Internet access" values="yes,wlan,wired,terminal,no" default="" delete_if_empty="true" />
+            <combo key="internet_access:fee" text="Internet access fee" values="yes,no" default="" delete_if_empty="true" />
+            <combo key="smoking" text="Smoking" values="yes,dedicated,separated,isolated,no" default="" delete_if_empty="true" />
+            <combo key="wheelchair" text="Wheelchairs" values="yes,no" default="" delete_if_empty="true" />
+            <space />
+            <text key="capacity" text="Number of places" default="" delete_if_empty="true" />
+            <combo key="fee" text="Requires a fee" values="yes,no,interval" delete_if_empty="true" />
+            <check key="power_supply" text="Power supply" default="off" delete_if_empty="true" />
+            <check key="tents" text="Tents allowed" default="off" delete_if_empty="true" />
+            <space />
+            <text key="phone" text="Phone Number" default="" delete_if_empty="true" />
+            <text key="fax" text="Fax Number" default="" delete_if_empty="true" />
+            <text key="website" text="Website" default="" delete_if_empty="true" />
+            <text key="email" text="Email Address" default="" delete_if_empty="true" />
+        </item>
+        <item name="Camping Site" icon="presets/tent.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:tourism=camp_site"; />
+            <label text="Edit Camping Site" />
+            <key key="tourism" value="camp_site" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="stars" text="Stars" values="1,2,3,4,5,6,7" default="" delete_if_empty="true" />
+            <space />
+            <combo key="internet_access" text="Internet access" values="yes,wlan,wired,terminal,no" default="" delete_if_empty="true" />
+            <combo key="internet_access:fee" text="Internet access fee" values="yes,no" default="" delete_if_empty="true" />
+            <combo key="smoking" text="Smoking" values="yes,dedicated,separated,isolated,no" default="" delete_if_empty="true" />
+            <combo key="wheelchair" text="Wheelchairs" values="yes,no" default="" delete_if_empty="true" />
+            <space />
+            <text key="phone" text="Phone Number" default="" delete_if_empty="true" />
+            <text key="fax" text="Fax Number" default="" delete_if_empty="true" />
+            <text key="website" text="Website" default="" delete_if_empty="true" />
+            <text key="email" text="Email Address" default="" delete_if_empty="true" />
+        </item>
+    </group> <!-- Accomodation -->
+    <group name="Food+Drinks" icon="presets/restaurant.png">
+        <item name="Restaurant" icon="presets/restaurant.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=restaurant"; />
+            <label text="Edit Restaurant" />
+            <key key="amenity" value="restaurant" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <multiselect key="cuisine" text="Cuisine" values="italian;chinese;pizza;burger;greek;german;indian;regional;kebab;turkish;asian;thai;mexican;japanese;french;sandwich;sushi" default=""/>
+            <check key="microbrewery" text="Microbrewery" default="off" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+            <combo key="stars" text="Stars" values="1,2,3,4,5,6,7" default="" delete_if_empty="true" />
+            <space />
+            <combo key="internet_access" text="Internet access" values="yes,wlan,wired,terminal,no" default="" delete_if_empty="true" />
+            <combo key="internet_access:fee" text="Internet access fee" values="yes,no" default="" delete_if_empty="true" />
+            <combo key="smoking" text="Smoking" values="yes,dedicated,separated,isolated,no" default="" delete_if_empty="true" />
+            <combo key="wheelchair" text="Wheelchairs" values="yes,no" default="" delete_if_empty="true" />
+            <space />
+            <text key="phone" text="Phone Number" default="" delete_if_empty="true" />
+            <text key="fax" text="Fax Number" default="" delete_if_empty="true" />
+            <text key="website" text="Website" default="" delete_if_empty="true" />
+            <text key="email" text="Email Address" default="" delete_if_empty="true" />
+        </item>
+        <item name="Fast Food" icon="presets/fastfood.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=fast_food"; />
+            <label text="Edit Fast Food Restaurant" />
+            <key key="amenity" value="fast_food" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="cuisine" text="Cuisine" values="italian,chinese,pizza,burger,greek,german,indian,regional,kebab,turkish,asian,thai,mexican,japanese,french,sandwich,sushi,fish_and_chips,chicken" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+            <space />
+            <combo key="internet_access" text="Internet access" values="yes,wlan,wired,terminal,no" default="" delete_if_empty="true" />
+            <combo key="internet_access:fee" text="Internet access fee" values="yes,no" default="" delete_if_empty="true" />
+            <combo key="smoking" text="Smoking" values="yes,dedicated,separated,isolated,no" default="" delete_if_empty="true" />
+            <combo key="wheelchair" text="Wheelchairs" values="yes,no" default="" delete_if_empty="true" />
+            <space />
+            <text key="phone" text="Phone Number" default="" delete_if_empty="true" />
+            <text key="fax" text="Fax Number" default="" delete_if_empty="true" />
+            <text key="website" text="Website" default="" delete_if_empty="true" />
+            <text key="email" text="Email Address" default="" delete_if_empty="true" />
+        </item>
+        <item name="Food Court" icon="presets/fastfood.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=food_court"; />
+            <label text="Edit Food Court" />
+            <key key="amenity" value="food_court" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+            <space />
+            <combo key="internet_access" text="Internet access" values="yes,wlan,wired,terminal,no" default="" delete_if_empty="true" />
+            <combo key="internet_access:fee" text="Internet access fee" values="yes,no" default="" delete_if_empty="true" />
+            <combo key="smoking" text="Smoking" values="yes,dedicated,separated,isolated,no" default="" delete_if_empty="true" />
+            <combo key="wheelchair" text="Wheelchairs" values="yes,no" default="" delete_if_empty="true" />
+            <space />
+            <text key="phone" text="Phone Number" default="" delete_if_empty="true" />
+            <text key="fax" text="Fax Number" default="" delete_if_empty="true" />
+            <text key="website" text="Website" default="" delete_if_empty="true" />
+            <text key="email" text="Email Address" default="" delete_if_empty="true" />
+        </item>
+        <item name="Cafe" icon="presets/cafe.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=cafe"; />
+            <label text="Edit Cafe" />
+            <key key="amenity" value="cafe" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="cuisine" text="Cuisine" values="ice_cream" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+            <space />
+            <combo key="internet_access" text="Internet access" values="yes,wlan,wired,terminal,no" default="" delete_if_empty="true" />
+            <combo key="internet_access:fee" text="Internet access fee" values="yes,no" default="" delete_if_empty="true" />
+            <combo key="smoking" text="Smoking" values="yes,dedicated,separated,isolated,no" default="" delete_if_empty="true" />
+            <combo key="wheelchair" text="Wheelchairs" values="yes,no" default="" delete_if_empty="true" />
+            <space />
+            <text key="phone" text="Phone Number" default="" delete_if_empty="true" />
+            <text key="fax" text="Fax Number" default="" delete_if_empty="true" />
+            <text key="website" text="Website" default="" delete_if_empty="true" />
+            <text key="email" text="Email Address" default="" delete_if_empty="true" />
+        </item>
+        <item name="Pub" icon="presets/pub.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=pub"; />
+            <label text="Edit Pub" />
+            <key key="amenity" value="pub" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <check key="microbrewery" text="Microbrewery" default="off" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+            <space />
+            <combo key="internet_access" text="Internet access" values="yes,wlan,wired,terminal,no" default="" delete_if_empty="true" />
+            <combo key="internet_access:fee" text="Internet access fee" values="yes,no" default="" delete_if_empty="true" />
+            <combo key="smoking" text="Smoking" values="yes,dedicated,separated,isolated,no" default="" delete_if_empty="true" />
+            <combo key="wheelchair" text="Wheelchairs" values="yes,no" default="" delete_if_empty="true" />
+            <space />
+            <text key="phone" text="Phone Number" default="" delete_if_empty="true" />
+            <text key="fax" text="Fax Number" default="" delete_if_empty="true" />
+            <text key="website" text="Website" default="" delete_if_empty="true" />
+            <text key="email" text="Email Address" default="" delete_if_empty="true" />
+        </item>
+        <item name="Biergarten" icon="presets/biergarten.png" type="node,closedway">
+            <label text="Edit Biergarten" />
+            <key key="amenity" value="biergarten" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+            <space />
+            <combo key="internet_access" text="Internet access" values="yes,wlan,wired,terminal,no" default="" delete_if_empty="true" />
+            <combo key="internet_access:fee" text="Internet access fee" values="yes,no" default="" delete_if_empty="true" />
+            <combo key="smoking" text="Smoking" values="yes,dedicated,separated,isolated,no" default="" delete_if_empty="true" />
+            <combo key="wheelchair" text="Wheelchairs" values="yes,no" default="" delete_if_empty="true" />
+            <space />
+            <text key="phone" text="Phone Number" default="" delete_if_empty="true" />
+            <text key="fax" text="Fax Number" default="" delete_if_empty="true" />
+            <text key="website" text="Website" default="" delete_if_empty="true" />
+            <text key="email" text="Email Address" default="" delete_if_empty="true" />
+        </item>
+        <item name="Bar" icon="presets/bar.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=bar"; />
+            <label text="Edit Bar" />
+            <key key="amenity" value="bar" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+            <space />
+            <combo key="internet_access" text="Internet access" values="yes,wlan,wired,terminal,no" default="" delete_if_empty="true" />
+            <combo key="internet_access:fee" text="Internet access fee" values="yes,no" default="" delete_if_empty="true" />
+            <combo key="smoking" text="Smoking" values="yes,dedicated,separated,isolated,no" default="" delete_if_empty="true" />
+            <combo key="wheelchair" text="Wheelchairs" values="yes,no" default="" delete_if_empty="true" />
+            <space />
+            <text key="phone" text="Phone Number" default="" delete_if_empty="true" />
+            <text key="fax" text="Fax Number" default="" delete_if_empty="true" />
+            <text key="website" text="Website" default="" delete_if_empty="true" />
+            <text key="email" text="Email Address" default="" delete_if_empty="true" />
+        </item>
+        <item name="Nightclub" icon="presets/bar.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=nightclub"; />
+            <label text="Edit Nightclub" />
+            <key key="amenity" value="nightclub" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+            <space />
+            <combo key="smoking" text="Smoking" values="yes,dedicated,separated,isolated,no" default="" delete_if_empty="true" />
+            <combo key="wheelchair" text="Wheelchairs" values="yes,no" default="" delete_if_empty="true" />
+            <space />
+            <text key="phone" text="Phone Number" default="" delete_if_empty="true" />
+            <text key="fax" text="Fax Number" default="" delete_if_empty="true" />
+            <text key="website" text="Website" default="" delete_if_empty="true" />
+            <text key="email" text="Email Address" default="" delete_if_empty="true" />
+        </item>
+    </group> <!-- Food+Drinks -->
+    <group name="Tourism" icon="presets/sightseeing.png">
+        <item name="Attraction" icon="presets/sightseeing.png" type="node,closedway">
+            <label text="Edit Attraction" />
+            <key key="tourism" value="attraction" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="opening_hours" text="Opening Hours" default="" delete_if_empty="true" />
+        </item>
+        <item name="Viewpoint" icon="presets/viewpoint.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:tourism=viewpoint"; />
+            <label text="Edit Viewpoint" />
+            <key key="tourism" value="viewpoint" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+<!--<check key="man_made" value="tower" text="Look-Out Tower" default="off" delete_if_empty="true" />-->
+        </item>
+        <separator/>
+        <item name="Information Office" icon="presets/informationoffice.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Key:information"; />
+            <key key="tourism" value="information" />
+            <key key="information" value="office" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Map" icon="presets/map.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Key:information"; />
+            <key key="tourism" value="information" />
+            <key key="information" value="map" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="map_type" text="Detail Grade" values="topo,street,scheme" default="" delete_if_empty="true" />
+            <combo key="map_size" text="Shown Area" values="site,city,region" default="" delete_if_empty="true" />
+            <text key="description" text="Closer Description" default="" delete_if_empty="true" />
+            <space />
+            <label text="Routes shown for:" />
+            <check key="hiking" text="Hiking" default="off" delete_if_empty="true" />
+            <check key="bicycle" text="Cycling" default="off" delete_if_empty="true" />
+            <check key="mtb" text="Mountainbiking" default="off" delete_if_empty="true" />
+            <check key="ski" text="Skiing" default="off" delete_if_empty="true" />
+            <check key="horse" text="Riding" default="off" delete_if_empty="true" />
+            <label text="... other transportation modes possible" />
+        </item>
+        <item name="Information Board" icon="presets/board.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:information%3Dboard"; />
+            <key key="tourism" value="information" />
+            <key key="information" value="board" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="board_type" text="Board Content" values="notice,history,nature,wildlife,plants" default="board" delete_if_empty="true" />
+            <text key="description" text="Closer Description" default="" delete_if_empty="true" />
+        </item>
+        <item name="Guidepost" icon="presets/guidepost.png" type="node">
+            <link href="http://wiki.openstreetmap.org/index.php/Proposed_features/Guidepost"; />
+            <key key="tourism" value="information" />
+            <key key="information" value="guidepost" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="ele" text="Elevation" default="" delete_if_empty="true" />
+            <space />
+            <label text="Routes shown for:" />
+            <check key="hiking" text="Hiking" default="off" delete_if_empty="true" />
+            <check key="bicycle" text="Cycling" default="off" delete_if_empty="true" />
+            <check key="mtb" text="Mountainbiking" default="off" delete_if_empty="true" />
+            <check key="ski" text="Skiing" default="off" delete_if_empty="true" />
+            <check key="horse" text="Riding" default="off" delete_if_empty="true" />
+            <label text="... other transportation modes possible" />
+        </item>
+        <item name="Information Terminal" icon="presets/information.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Key:information"; />
+            <key key="tourism" value="information" />
+            <key key="information" value="terminal" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="description" text="Closer description" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <text key="ref" text="Reference number" default="" delete_if_empty="true" />
+            <combo key="fee" text="Fee" values="yes,no" default="" delete_if_empty="true" />
+        </item>
+        <item name="Audioguide" icon="presets/information.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Key:information"; />
+            <key key="tourism" value="information" />
+            <key key="information" value="audioguide" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="description" text="Closer description" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <text key="ref" text="Reference number" default="" delete_if_empty="true" />
+            <combo key="fee" text="Fee" values="yes,no" default="" delete_if_empty="true" />
+            <space />
+            <label text="Audioguide via mobile phone?" />
+            <text key="phone" text="Phone number" default="" delete_if_empty="true" />
+        </item>
+        <item name="Other Information Points" icon="presets/information.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:tourism%3Dinformation"; />
+            <key key="tourism" value="information" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="description" text="Closer Description" default="" delete_if_empty="true" />
+        </item>
+    </group> <!-- Tourism -->
+    <group name="Leisure" icon="presets/theme_park.png">
+        <item name="Cinema" icon="presets/cinema.png" type="node,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=cinema";
+                  fi.href="http://wiki.openstreetmap.org/wiki/Fi:Tag:amenity=cinema"; />
+            <label text="Edit Cinema" />
+            <key key="amenity" value="cinema" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Zoo" icon="presets/zoo.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:tourism=zoo";
+                  fi.href="http://wiki.openstreetmap.org/wiki/Fi:Tag:tourism=zook"; />
+            <label text="Edit Zoo" />
+            <key key="tourism" value="zoo" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+            <text key="wikipedia" text="Wikipedia" default="" delete_if_empty="true" />
+        </item>
+        <item name="Dog Park" icon="presets/dogpark.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:leisure=dog_park";
+                  it.href="http://wiki.openstreetmap.org/wiki/IT:Tag:leisure=dog_park"; />
+            <label text="Edit Dog Park" />
+            <key key="leisure" value="dog_park" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <check key="area" text="Area" default="off" delete_if_empty="true" />
+            <combo key="barrier" text="Barrier" values="fence,wall" default="" delete_if_empty="true" />  
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+            <check key="lit" text="Lit" default="off" delete_if_empty="true" />
+        </item>  
+        <item name="Theme Park" icon="presets/theme_park.png" type="node,closedway">
+            <label text="Edit Theme Park" />
+            <key key="tourism" value="theme_park" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Water Park" icon="presets/swimming.png" type="node,closedway">
+            <label text="Edit Water Park" />
+            <key key="leisure" value="water_park" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Sauna" de.name="Sauna" icon="presets/sauna.png" type="node,closedway">
+            <label text="Edit Sauna" />
+            <space />         	
+            <link href="http://wiki.openstreetmap.org/wiki/Proposed_features/Sauna"; />
+            <label text="Edit Sauna" de.text="bearbeite Sauna" />
+            <space />            
+            <key key="leisure" value="sauna" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />            
+            <text key="operator" text="Operator" de.text="Betreiber" default="" delete_if_empty="true" />            
+            <combo key="opening_hours" text="Opening Hours" de.text="Öffnungszeiten" values="Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00; Sa 08:00-12:00" default="" delete_if_empty="true" /> 
+            <combo key="access" text="Access" values="yes,permissive,private,unknown" default="" delete_if_empty="true" />                                           
+        </item> 
+        <separator/>
+        <item name="Playground" icon="styles/standard/leisure/playground.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:leisure=playground"; />
+            <label text="Edit Playground" />
+            <key key="leisure" value="playground" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Picnic Site" icon="presets/picnic.png" type="node,closedway">
+            <label text="Edit Picnic Site" />
+            <key key="tourism" value="picnic_site" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <check key="fireplace" text="Fireplace" default="off" delete_if_empty="true" />
+        </item>
+        <item name="Public Grill" icon="presets/bbq.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbbq"; />
+            <label text="Edit Public Grill"/>
+            <space />            
+            <key key="amenity" value="bbq" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="covered" text="Covered" values="yes,no" default="" delete_if_empty="true" />                               
+            <combo key="fuel" text="Fuel" text_context="grill" values="charcoal,electric,wood" default="" delete_if_empty="true" />                               
+        </item>     	
+        <item name="Fishing" icon="presets/fishing.png" type="node,closedway">
+            <label text="Edit Fishing" />
+            <key key="leisure" value="fishing" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+    </group> <!-- Leisure -->
+    <group name="Culture" icon="presets/theater.png">
+        <item name="Museum" icon="presets/State_Public.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:tourism=museum"; />
+            <label text="Edit Museum" />
+            <key key="tourism" value="museum" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+            <text key="wikipedia" text="Wikipedia" default="" delete_if_empty="true" />
+        </item>
+        <item name="Theatre" icon="presets/theater.png" type="node,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=theatre";
+                  fi.href="http://wiki.openstreetmap.org/wiki/Fi:Tag:amenity=theatre"; />
+            <label text="Edit Theatre" />
+            <key key="amenity" value="theatre" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Library" icon="styles/standard/shop/rental/library.png" type="node,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=library";
+                  fi.href="http://wiki.openstreetmap.org/wiki/Fi:Tag:amenity=library"; />
+            <label text="Edit Library" />
+            <key key="amenity" value="library" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Arts Centre" icon="presets/arts_centre.png" type="node,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=arts_centre"; />
+            <label text="Edit Arts Centre" />
+            <key key="amenity" value="arts_centre" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Artwork" icon="presets/arts_centre.png" type="node,way,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:tourism=artwork"; />
+            <label text="Edit Artwork" />
+            <key key="tourism" value="artwork" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Place of Worship" icon="presets/church.png" type="node,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=place_of_worship";
+                  it.href="http://wiki.openstreetmap.org/wiki/IT:Tag:amenity=place_of_worship";
+                  sv.href="http://wiki.openstreetmap.org/wiki/Sv:Tag:amenity=place_of_worship"; />
+            <label text="Edit Place of Worship" />
+            <key key="amenity" value="place_of_worship" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="religion" text="Religion" values="bahai,buddhist,christian,hindu,jain,jewish,muslim,sikh,spiritualist,taoist,unitarian,zoroastrian" default="" delete_if_empty="true" />
+            <combo key="denomination" text="Denomination" values="anglican,baptist,catholic,evangelical,jehovahs_witness,lutheran,methodist,mormon,orthodox,pentecostal,presbyterian,protestant,quaker,shia,sunni" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Recording Studio" icon="presets/studio.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity%3Dstudio"; />
+            <label text="Edit Studio" />
+            <space />            
+            <key key="amenity" value="studio" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />            
+            <combo key="type" text="Type" values="audio,video" default="" delete_if_empty="true" />
+            <text key="phone" text="Phone Number" default="" delete_if_empty="true" />
+            <text key="website" text="Website" default="" delete_if_empty="true" />                          
+        </item>        
+    </group> <!-- Culture -->
+    <group name="Public Building" icon="presets/townhall.png">
+        <item name="Public Building" icon="styles/standard/service.png" type="node,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=public_building"; />
+            <label text="Edit Public Building" />
+            <key key="amenity" value="public_building" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Town hall" icon="presets/townhall.png" type="node,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=townhall"; />
+            <label text="Edit Town hall" />
+            <key key="amenity" value="townhall" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Community Centre" icon="presets/community_centre.png" type="node,closedway">      	
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity%3Dcommunity_centre"; />
+            <label text="Community Centre" />
+            <space />            
+            <key key="amenity" value="community_centre" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" /> 
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00; Sa 08:00-12:00" default="" delete_if_empty="true" />                      
+        </item>       	
+        <item name="Embassy" icon="presets/embassy.png" type="node,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=embassy"; />
+            <label text="Edit Embassy" />
+            <key key="amenity" value="embassy" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Courthouse" icon="presets/JusticeScales.png" type="node,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=courthouse";
+                  fi.href="http://wiki.openstreetmap.org/wiki/Fi:Tag:amenity=courthouse"; />
+            <label text="Edit Courthouse" />
+            <key key="amenity" value="courthouse" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Prison" icon="presets/prison.png" type="node,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=prison";
+                  fi.href="http://wiki.openstreetmap.org/wiki/Fi:Tag:amenity=prison"; />
+            <label text="Edit Prison" />
+            <key key="amenity" value="prison" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Police" icon="styles/standard/service/police.png" type="node,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=police";
+                  fi.href="http://wiki.openstreetmap.org/wiki/Fi:Tag:amenity=police";
+                  it.href="http://wiki.openstreetmap.org/wiki/IT:Tag:amenity=police"; />
+            <label text="Edit Police" />
+            <key key="amenity" value="police" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Fire Station" icon="presets/firebrigade.png" type="node,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=fire_station";
+                  fi.href="http://wiki.openstreetmap.org/wiki/Fi:Tag:fire_station"; />
+            <label text="Edit Fire Station" />
+            <key key="amenity" value="fire_station" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Post Office" icon="styles/standard/service/post_office.png" type="node,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=post_office"; />
+            <label text="Edit Post Office" />
+            <key key="amenity" value="post_office" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        <text key="operator" text="Operator" default="" delete_if_empty="true" />
+        </item>
+    </group> <!-- Public Buildings -->
+    <group name="Education" icon="presets/school.png">
+        <item name="Kindergarten" icon="presets/kindergarten.png" type="node,closedway,relation">
+            <label text="Edit Kindergarten" />
+            <key key="amenity" value="kindergarten" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="School" icon="presets/school.png" type="node,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=school"; />
+            <label text="Edit School" />
+            <key key="amenity" value="school" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="University" icon="styles/standard/education/university.png" type="node,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=university"; />
+            <label text="Edit University" />
+            <key key="amenity" value="university" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="College" icon="styles/standard/education/college.png" type="node,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=college"; />
+            <label text="Edit College" />
+            <key key="amenity" value="college" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+         <item name="Driving School" icon="styles/standard/education/driving_school.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Proposed_features/driving_school"; />
+            <label text="Edit Driving School"/>
+            <space />
+            <key key="amenity" value="driving_school" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <text key="license_classes" text="License Classes" values="A1;A;B;BE;C" default="" delete_if_empty="true" />
+        </item>
+    </group> <!-- Education -->
+    <group name="Health" icon="presets/pharmacy.png">
+        <item name="Doctors" icon="styles/standard/health/doctor.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=doctors"; />
+            <label text="Edit Doctors" />
+            <key key="amenity" value="doctors" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Dentist" icon="styles/standard/health/dentist.png" type="node,closedway">
+            <label text="Edit Dentist" />
+            <key key="amenity" value="dentist" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Pharmacy" icon="presets/pharmacy.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=pharmacy"; />
+            <label text="Edit Pharmacy" />
+            <key key="amenity" value="pharmacy" />
+            <combo key="dispensing" text="Dispensing" values="yes,no" default="no" delete_if_empty="true" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Hearing Aids" icon="presets/hearing_aids.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop%3Dhearing_aids"/>
+            <label text="Edit Hearing Aids" />
+            <space />            
+            <key key="shop" value="hearing_aids" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />            
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00; Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>             
+        <item name="Hospital" icon="styles/standard/health/hospital.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=hospital"; />
+            <label text="Edit Hospital" />
+            <key key="amenity" value="hospital" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Baby Hatch" icon="presets/baby_hatch.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=baby_hatch"; />
+            <label text="Edit Baby Hatch" />
+            <key key="amenity" value="baby_hatch" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <text key="opening_hours" text="Opening Hours" default="" delete_if_empty="true" />
+        </item>
+        <item name="Emergency Access Point" icon="styles/standard/service/emergency_access_point.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=emergency_access_point";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:highway=emergency_access_point"; />
+            <label text="Edit Emergency Access Point" />
+            <space />
+            <key key="highway" value="emergency_access_point" />
+            <text key="ref" text="Point Number" default="" delete_if_empty="true" />
+            <text key="name" text="Point Name" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <text key="phone" text="Phone Number" default="" delete_if_empty="true" />
+            <label text="(Use international code, like +12-345-67890)" />
+            <space />
+        </item>
+        <item name="Veterinary" icon="styles/standard/health/veterinary.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=veterinary";
+                  fi.href="http://wiki.openstreetmap.org/wiki/Fi:Tag:amenity=veterinary"; />
+            <label text="Edit Veterinary" />
+            <key key="amenity" value="veterinary" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+    </group> <!-- Health -->
+    <group name="Facilities" icon="presets/telephone.png">
+        <item name="Toilets" icon="presets/toilet.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=toilets";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:amenity=toilets"; />
+            <key key="amenity" value="toilets" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <text key="ref" text="Reference number" default="" delete_if_empty="true" />
+            <combo key="fee" text="Fee" values="yes,no" default="" delete_if_empty="true" />
+            <combo key="wheelchair" text="Wheelchair" values="no,limited,yes" default="" delete_if_empty="true" />
+            <text key="note" text="Note" default="" delete_if_empty="true" />
+        </item>
+        <item name="Post Box" icon="styles/standard/service/post_box.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=post_box"; />
+            <key key="amenity" value="post_box" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+        </item>
+        <item name="Telephone" icon="presets/telephone.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=telephone";
+                  fi.href="http://wiki.openstreetmap.org/wiki/Fi:Tag:amenity=telephone"; />
+            <label text="Edit Telephone" />
+            <key key="amenity" value="telephone" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <check key="payment:coins" text="Coins" default="off" delete_if_empty="true" />
+            <check key="payment:notes" text="Notes" default="off" delete_if_empty="true" />
+            <check key="payment:electronic_purses" text="Electronic purses and Charge cards" default="off" delete_if_empty="true" />
+            <check key="payment:debit_cards" text="Debit cards" default="off" delete_if_empty="true" />
+            <check key="payment:credit_cards" text="Credit cards" default="off" delete_if_empty="true" />
+            <check key="payment:telephone_cards" text="Telephone cards" default="off" delete_if_empty="true" />
+        </item>
+        <item name="Clock" icon="styles/standard/service/clock.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=clock";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:amenity=clock"; />
+            <label text="Edit Clock" />
+            <key key="amenity" value="clock" />
+            <optional>
+                <combo key="display" text="Display" values="analog,digital,sundial,unorthodox" default="" delete_if_empty="true" />
+                <combo key="support" text="Support" values="pole,wall_mounted,billboard,ground" default="" delete_if_empty="true" />
+                <combo key="visibility" text="Visibility/readability" values="house,street,area" display_values="(up to 5m),(up to 20m),(more than 20m)" default="" delete_if_empty="true" />
+                <check key="date" text="Shows current date" default="off" delete_if_empty="true" />
+                <check key="thermometer" text="Shows temperature" default="off" delete_if_empty="true" />
+                <check key="barometer" text="Shows barometric pressure" default="off" delete_if_empty="true" />
+                <check key="hygrometer" text="Shows humidity" default="off" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Recycling" icon="presets/recycling.png" type="node,closedway">
+           <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=recycling";
+                 fi.href="http://wiki.openstreetmap.org/wiki/Fi:Tag:amenity=recycling"; />
+            <label text="Edit Recycling station" />
+            <key key="amenity" value="recycling" />
+            <check key="recycling:batteries" text="Batteries" default="off" delete_if_empty="true" />
+            <check key="recycling:cans" text="Cans" default="off" delete_if_empty="true" />
+            <check key="recycling:clothes" text="Clothes" default="off" delete_if_empty="true" />
+            <check key="recycling:glass" text="Glass" default="off" delete_if_empty="true" />
+            <check key="recycling:paper" text="Paper" default="off" delete_if_empty="true" />
+            <check key="recycling:scrap_metal" text="Scrap Metal" default="off" delete_if_empty="true" />
+        </item>
+        <item name="Waste Basket" icon="styles/standard/service/recycling/trash-bin.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity%3Dwaste_basket"; />
+            <label text="Edit Waste Basket" />
+            <key key="amenity" value="waste_basket" />
+        </item>
+        <separator/>
+        <item name="Bench" icon="presets/bench.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=bench"; />
+            <key key="amenity" value="bench" />
+            <combo key="backrest" text="Backrest" values="yes,no" default="" delete_if_empty="true" />
+            <combo key="material" text="Material" values="stone,metal,wood,plastic" default="" delete_if_empty="true" />
+            <combo key="colour" text="Colour" values="black,brown,green,red,blue,gray,white" default="" delete_if_empty="true" />
+            <combo key="seats" text="Amount of Seats" values="2,3,4,5,6,7,8,9,10" default="" delete_if_empty="true" />
+        </item>
+        <item name="Shelter" icon="presets/shelter.png" type="node,closedway">
+            <label text="Edit Shelter" />
+            <key key="amenity" value="shelter" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <check key="fireplace" text="Fireplace" default="off" delete_if_empty="true" />
+        </item>
+        <item name="Hunting Stand" icon="presets/hunting_stand.png" type="node">
+            <label text="Edit Hunting Stand" />
+            <key key="amenity" value="hunting_stand" />
+            <combo key="height" text="Height" values="low,half,full,5,10,15,20" default="" delete_if_empty="true" />
+            <combo key="shelter" text="Shelter" values="yes,no,unknown" default="" delete_if_empty="true" />
+            <combo key="hide" text="Hide" values="yes,no,unknown" default="" delete_if_empty="true" />
+            <combo key="lock" text="Lock" values="yes,no,unknown" default="" delete_if_empty="true" />
+        </item>
+        <separator/>
+        <item name="Drinking Water" icon="presets/drinking_water.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=drinking_water";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:amenity=drinking_water"; />
+            <label text="Edit Drinking Water" />
+            <key key="amenity" value="drinking_water" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Fire Hydrant" icon="presets/fire_hydrant.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:emergency=fire_hydrant";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:emergency=fire_hydrant"; />
+            <label text="Edit Fire Hydrant" />
+            <key key="emergency" value="fire_hydrant" />
+            <combo key="fire_hydrant:type" text="Type" values="underground,pillar,wall,pond" values_context="pipeline" default="pillar" delete_if_empty="true" />
+            <combo key="fire_hydrant:diameter" text="Diameter" values="50,80,100,150,200,250,300,400" default="" delete_if_empty="true" />
+            <space />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="ref" text="Reference" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <space />
+            <combo key="fire_hydrant:position" text="Position" values="lane,parking_lot,sidewalk,green" default="" delete_if_empty="true" />
+            <combo key="fire_hydrant:pressure" text="Pressure" values="xx l/min,suction" default="" delete_if_empty="true" />
+            <text key="fire_hydrant:count" text="Count" values="" default="" delete_if_empty="true" />
+        </item>
+    </group> <!-- Facilities -->
+  </group>  <!-- Facilities -->
+  <group name="Sports" icon="presets/soccer.png">
+    <group name="Sport Facilities" icon="presets/stadium.png">
+        <item name="Stadium" icon="presets/stadium.png" type="node,closedway">
+            <label text="Edit Stadium" />
+            <key key="leisure" value="stadium" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <space />
+            <label text="select sport:" />
+            <space />
+            <combo key="sport" text="sport" values="multi,archery,athletics,american_football,australian_football,baseball,basketball,boules,bowls,canadian_football,canoe,climbing,cricket,cricket_nets,croquet,cycling,dog_racing,equestrian,gaelic_football,golf,gymnastics,hockey,horse_racing,motor,pelota,racquet,rugby_league,rugby_union,shooting,skateboard,skating,skiing,soccer,swimming,table_tennis,tennis" default="" delete_if_empty="true" />
+        </item>
+        <item name="Sports Centre" icon="presets/sports_centre.png" type="node,closedway">
+            <label text="Edit Sports Centre" />
+            <key key="leisure" value="sports_centre" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <space />
+            <label text="select sport:" />
+            <space />
+            <combo key="sport" text="sport" values="multi,archery,athletics,american_football,australian_football,baseball,basketball,boules,bowls,canadian_football,canoe,climbing,cricket,cricket_nets,croquet,cycling,dog_racing,equestrian,gaelic_football,golf,gymnastics,hockey,horse_racing,motor,pelota,racquet,rugby_league,rugby_union,shooting,skateboard,skating,skiing,soccer,swimming,table_tennis,tennis" default="" delete_if_empty="true" />
+        </item>
+        <item name="Pitch" icon="presets/pitch.png" type="node,closedway">
+            <label text="Edit Pitch" />
+            <key key="leisure" value="pitch" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <space />
+            <label text="select sport:" />
+            <space />
+            <combo key="sport" text="sport" values="multi,archery,athletics,american_football,australian_football,baseball,basketball,boules,bowls,canadian_football,canoe,climbing,cricket,cricket_nets,croquet,cycling,dog_racing,equestrian,gaelic_football,golf,gymnastics,hockey,horse_racing,motor,pelota,racquet,rugby_league,rugby_union,shooting,skateboard,skating,skiing,soccer,swimming,table_tennis,tennis" default="" delete_if_empty="true" />
+        </item>
+        <item name="Racetrack" icon="presets/stadium.png" type="node,way,closedway,relation">
+            <label text="Edit Racetrack" />
+            <key key="leisure" value="track" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <space />
+            <label text="select sport:" />
+            <space />
+            <combo key="sport" text="sport" values="multi,archery,athletics,american_football,australian_football,baseball,basketball,boules,bowls,canadian_football,canoe,climbing,cricket,cricket_nets,croquet,cycling,dog_racing,equestrian,gaelic_football,golf,gymnastics,hockey,horse_racing,motor,pelota,racquet,rugby_league,rugby_union,shooting,skateboard,skating,skiing,soccer,swimming,table_tennis,tennis" default="" delete_if_empty="true" />
+        </item>
+        <item name="Golf Course" icon="presets/golf.png" type="node,closedway">
+            <label text="Edit Golf Course" />
+            <key key="leisure" value="golf_course" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Miniature Golf" icon="presets/golf.png" type="node,closedway">
+            <label text="Edit Miniature Golf" />
+            <key key="leisure" value="miniature_golf" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+    </group> <!-- Sport facilities -->
+    <group name="Sport" icon="presets/rowing.png">
+        <item name="Multi" icon="styles/standard/sport/multi.png" type="node,closedway">
+            <label text="Edit Multi" />
+            <key key="sport" value="multi" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="10pin" icon="styles/standard/sport/10pin.png" type="node,closedway">
+            <label text="Edit 10pin" />
+            <key key="sport" value="10pin" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Athletics" icon="presets/athletics.png" type="node,closedway">
+            <label text="Edit Athletics" />
+            <key key="sport" value="athletics" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Archery" icon="styles/standard/sport/archery.png" type="node,closedway">
+            <label text="Edit Archery" />
+            <key key="sport" value="archery" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Climbing" icon="styles/standard/sport/climbing.png" type="node,closedway">
+            <label text="Edit Climbing" />
+            <key key="sport" value="climbing" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Canoeing" icon="presets/canoe.png" type="node,way,closedway">
+            <label text="Edit Canoeing" />
+            <key key="sport" value="canoe" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Cycling" icon="presets/cycling.png" type="node,closedway">
+            <label text="Edit Cycling" />
+            <key key="sport" value="cycling" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Dog Racing" icon="styles/standard/leisure/dog.png" type="node,closedway">
+            <label text="Edit Dog Racing" />
+            <key key="sport" value="dog_racing" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Equestrian" icon="presets/equestrian.png" type="node,closedway">
+            <label text="Edit Equestrian" />
+            <key key="sport" value="equestrian" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Horse Racing" icon="presets/equestrian.png" type="node,closedway">
+            <label text="Edit Horse Racing" />
+            <key key="sport" value="horse_racing" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Gymnastics" icon="presets/gymnastics.png" type="node,closedway">
+            <label text="Edit Gymnastics" />
+            <key key="sport" value="gymnastics" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Skating" icon="presets/skating.png" type="node,closedway">
+            <label text="Edit Skating" />
+            <key key="sport" value="skating" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Skateboard" icon="styles/standard/sport/skateboard.png" type="node,closedway">
+            <label text="Edit Skateboard" />
+            <key key="sport" value="skateboard" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Swimming" icon="presets/swimming.png" type="node,closedway">
+            <label text="Edit Swimming" />
+            <key key="sport" value="swimming" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Skiing" icon="presets/skiing_downhill.png" type="node,way,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Proposed_features/Piste_Maps"/>
+            <label text="Edit Skiing" />
+            <key key="sport" value="skiing" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="piste:type" text="Piste type" values="downhill,nordic,snow_park" default="" delete_if_empty="true" />
+            <combo key="piste:difficulty" text="Difficulty" values="novice,easy,intermediate,advanced,expert,freeride" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Shooting" icon="presets/range.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:sport=shooting"; />
+            <label text="Edit Shooting" />
+            <key key="sport" value="shooting" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+    </group> <!-- Sport -->
+    <group name="Sport (Ball)" icon="presets/soccer.png">
+        <item name="Soccer" icon="presets/soccer.png" type="node,closedway">
+            <label text="Edit Soccer" />
+            <key key="sport" value="soccer" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Australian Football" icon="presets/soccer.png" type="node,closedway">
+            <label text="Edit Australian Football" />
+            <key key="sport" value="australian_football" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="American Football" icon="presets/football.png" type="node,closedway">
+            <label text="Edit American Football" />
+            <key key="sport" value="american_football" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Canadian Football" icon="presets/football.png" type="node,closedway">
+            <label text="Edit Canadian Football" />
+            <key key="sport" value="canadian_football" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Gaelic Football" icon="presets/soccer.png" type="node,closedway">
+            <label text="Edit Gaelic Football" />
+            <key key="sport" value="gaelic_football" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Rugby League" icon="presets/football.png" type="node,closedway">
+            <label text="Edit Rugby League" />
+            <key key="sport" value="rugby_league" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Rugby Union" icon="presets/football.png" type="node,closedway">
+            <label text="Edit Rugby Union" />
+            <key key="sport" value="rugby_union" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Baseball" icon="presets/baseball.png" type="node,closedway">
+            <label text="Edit Baseball" />
+            <key key="sport" value="baseball" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Basketball" icon="presets/basketball.png" type="node,closedway">
+            <label text="Edit Basketball" />
+            <key key="sport" value="basketball" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Volleyball" icon="styles/standard/sport/volleyball.png" type="node">         	
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:sport%3Dvolleyball"; />
+            <label text="Edit Volleyball" />
+            <space />            
+            <key key="sport" value="volleyball" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" /> 
+            <combo key="leisure" text="Type" values="stadium,pitch,sports_centre" default="" delete_if_empty="true" />
+        </item> 
+        <item name="Beachvolleyball" icon="presets/beachvolleyball.png" type="node">         	
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:sport%3Dbeachvolleyball"; />
+            <label text="Edit Beachvolleyball" />
+            <space />            
+            <key key="sport" value="beachvolleyball" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" /> 
+            <combo key="leisure" text="Type" values="stadium,pitch,sports_centre" default="" delete_if_empty="true" />
+        </item> 
+        <item name="Golf" icon="presets/golf.png" type="node,closedway">
+            <label text="Edit Golf" />
+            <key key="sport" value="golf" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="golf_course,pitch,sports_centre,stadium,track" default="golf_course" delete_if_empty="true" />
+        </item>
+        <item name="Boule" icon="presets/boule.png" type="node,closedway">
+            <label text="Edit Boule" />
+            <key key="sport" value="boules" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Bowls" icon="presets/boule.png" type="node,closedway">
+            <label text="Edit Bowls" />
+            <key key="sport" value="bowls" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Cricket" icon="presets/cricket.png" type="node,closedway">
+            <label text="Edit Cricket" />
+            <key key="sport" value="cricket" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Cricket Nets" icon="presets/cricket.png" type="node,closedway">
+            <label text="Edit Cricket Nets" />
+            <key key="sport" value="cricket_nets" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Croquet" icon="styles/standard/sport/croquet.png" type="node,closedway">
+            <label text="Edit Croquet" />
+            <key key="sport" value="croquet" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Hockey" icon="presets/Hockey.png" type="node,closedway">
+            <label text="Edit Hockey" />
+            <key key="sport" value="hockey" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Pelota" icon="presets/pelota.png" type="node,closedway">
+            <label text="Edit Pelota" />
+            <key key="sport" value="pelota" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Racquet" icon="presets/racquetball.png" type="node,closedway">
+            <label text="Edit Racquet" />
+            <key key="sport" value="racquet" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Table Tennis" icon="presets/table_tennis.png" type="node,closedway">
+            <label text="Edit Table Tennis" />
+            <key key="sport" value="table_tennis" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Tennis" icon="presets/tennis.png" type="node,closedway">
+            <label text="Edit Tennis" />
+            <key key="sport" value="tennis" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+    </group> <!-- Sport (Ball) -->
+    <group name="Motorsport" icon="presets/motorbike.png">
+        <item name="Motorsport" icon="styles/standard/sport/motor.png" type="node,closedway">
+            <label text="Edit Motorsport" />
+            <key key="sport" value="motor" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,stadium,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Karting" icon="presets/karting.png" type="node,closedway">
+            <label text="Edit Karting" />
+            <key key="sport" value="karting" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Motocross" icon="styles/standard/sport/motocross.png" type="node,closedway">
+            <label text="Edit Motocross" />
+            <key key="sport" value="motocross" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="Safety Training" icon="presets/safety_training.png" type="node,closedway">
+            <label text="Edit Safety Training" />
+            <key key="sport" value="safety_training" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,track" default="" delete_if_empty="true" />
+        </item>
+        <separator/>
+        <item name="Model Aerodrome" icon="presets/plane.png" type="node,closedway">
+            <label text="Edit Model Aerodrome" />
+            <key key="sport" value="model_aerodrome" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,track" default="" delete_if_empty="true" />
+        </item>
+        <item name="RC Car" icon="presets/car.png" type="node,closedway">
+            <label text="Edit RC Car" />
+            <key key="sport" value="rc_car" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="leisure" text="type" values="pitch,sports_centre,track" default="" delete_if_empty="true" />
+        </item>
+    </group> <!-- Motorsport -->
+  </group> <!-- Sports -->
+  <group name="Man Made" icon="presets/works.png">
+    <group name="Man Made" icon="presets/works.png">
+        <item name="Building" icon="styles/standard/misc/landmark/building.png" type="node,closedway,relation">
+            <key key="building" value="yes" />
+        </item>
+        <item name="Tower" icon="presets/tower.png" type="node,closedway">
+            <label text="Edit Tower" />
+            <key key="man_made" value="tower" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="tower:type" text="Tower type" values="communication,observation" />
+            <optional>
+                <text key="height" text="Height (meters)" delete_if_empty="true" />
+                <text key="operator" text="Operator" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Flagpole" icon="presets/flag.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Proposed_features/flagpole"; />
+            <key key="man_made" value="flagpole" />
+        </item>
+        <separator/>
+        <item name="Works" icon="presets/works.png" type="node,closedway">
+            <label text="Edit Works" />
+            <key key="man_made" value="works" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Chimney" icon="presets/chimney.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Proposed_features/Chimney"; />
+            <label text="Edit Chimney" />
+            <space />            
+            <key key="man_made" value="chimney" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />            
+            <text key="height" text="Height (meters)" default="" delete_if_empty="true" />            
+        </item>
+        <item name="Windmill" icon="presets/windmill.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:man_made=windmill"; />
+            <label text="Edit Windmill" />
+            <key key="man_made" value="windmill" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Gasometer" icon="presets/gasometer.png" type="node,closedway">
+            <label text="Edit Gasometer" />
+            <key key="man_made" value="gasometer" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Pipeline" icon="presets/path.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:man_made=pipeline";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:man_made=pipeline"/>
+            <label text="Edit Pipeline" />
+            <key key="man_made" value="pipeline" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="type" text="Type" values="water,gas,heat,oil,sewage" default="" delete_if_empty="true" />
+            <combo key="location" text="Location" values="underground,underwater,overground" values_context="pipeline" default="" delete_if_empty="true" />
+        </item>
+        <item name="Crane" icon="presets/crane.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:man_made=crane"; />
+            <label text="Edit Crane" />
+            <key key="man_made" value="crane" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Mineshaft" icon="presets/mineshaft.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:man_made%3Dmineshaft";
+                de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:man_made%3Dmineshaft"; />
+            <label text="Edit Mineshaft" />
+            <key key="man_made" value="mineshaft" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="mineshaft_type" text="Function" values="winding,air" default="" delete_if_empty="true" />
+            <text key="depth" text="Depth in meters" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="resource" text="Resource" values="aggregate,bauxite,coal,copper,dimension_stone,gold,ilmenite,iron_ore,lead,limestone,nickel,rutile,salt,silver,tin,zinc,zircon" default="" delete_if_empty="true" />
+            <combo key="headframe" text="Visible Headframe" values="yes,no" default="" delete_if_empty="true" />  
+            <check key="disused" text="Disused" default="off" delete_if_empty="true" />                                                             
+        </item>
+        <item name="Adit" icon="presets/adit.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:man_made%3Dadit"; />
+            <label text="Edit Adit" />
+            <key key="man_made" value="adit" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="length" text="Length in meters" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="resource" text="Resource" values="aggregate,bauxite,coal,copper,dimension_stone,gold,ilmenite,iron_ore,lead,limestone,nickel,rutile,salt,silver,tin,zinc,zircon" default="" delete_if_empty="true" />
+            <check key="disused" text="Disused" default="off" delete_if_empty="true" />                                                             
+        </item>
+        <separator/>
+        <item name="Water Tower" icon="presets/water_tower.png" type="node,closedway">
+            <label text="Edit Water Tower" />
+            <key key="man_made" value="water_tower" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Water Works" icon="presets/water_works.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:man_made%3Dwater_works"; />
+            <label text="Edit Water Works" />
+            <space />            
+            <key key="man_made" value="water_works" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />            
+        </item>              
+        <item name="Wastewater Plant" icon="presets/wastewater_plant.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:man_made=wastewater_plant";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:man_made=wastewater_plant";
+                  fi.href="http://wiki.openstreetmap.org/wiki/Fi:Tag:man_made=wastewater_plant"; />
+            <label text="Edit Wastewater Plant" />
+            <key key="man_made" value="wastewater_plant" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Watermill" icon="styles/standard/misc/landmark/watermill.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:man_made%3Dwatermill"; />
+            <label text="Edit Watermill"/>
+            <space />            
+            <key key="man_made" value="watermill" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>       
+        <item name="Fountain" icon="presets/spring.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=fountain";
+                  fi.href="http://wiki.openstreetmap.org/wiki/Fi:Tag:amenity=fountain"; />
+            <label text="Edit Fountain" />
+            <key key="amenity" value="fountain" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Water Well" icon="presets/water_well.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:man_made%3Dwater_well"; />
+            <label text="Edit Water Well" />
+            <key key="man_made" value="water_well" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <separator/>
+        <item name="Lighthouse" icon="styles/standard/misc/landmark/lighthouse.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:man_made=lighthouse"; />
+            <label text="Edit Lighthouse" />
+            <key key="man_made" value="lighthouse" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Beacon" icon="styles/standard/misc/landmark/beacon.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:man_made=beacon"; />
+            <label text="Edit Beacon" />
+            <key key="man_made" value="beacon" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Street Lamp" icon="styles/standard/misc/streetlamp.png" type="node">         	
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway%3Dstreet_lamp"; />
+            <label text="Edit Street Lamp" />
+            <space />            
+            <key key="highway" value="street_lamp" />
+            <combo key="opening_hours" text="Operation times" values="Mo-Fr 22:00-05:00" default="" delete_if_empty="true" />                                                                                        
+        </item> 
+        <item name="Measurement Station" icon="presets/measurement_station.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Proposed_features/measurement_station"; />
+            <label text="Edit Measurement Station" />
+            <space />            
+            <key key="man_made" value="measurement_station" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />             
+            <combo key="measurement" text="Measurement" values="particulate_matter,seismic,water_level,weather" default="" delete_if_empty="true" />
+            <combo key="recording" text="Recording" values="manually,automated,remote,no" default="" delete_if_empty="true" />  
+            <combo key="display" text="Display" values="analog,digital,no" default="" delete_if_empty="true" />                                     
+       </item>                	
+        <item name="Survey Point" icon="presets/survey_point.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:man_made=survey_point"; />
+            <label text="Edit Survey Point" />
+            <key key="man_made" value="survey_point" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Surveillance" icon="presets/surveillance.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:man_made=surveillance"; />
+            <label text="Edit Surveillance Camera" />
+            <key key="man_made" value="surveillance" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="surveillance" text="Type" values="indoor,outdoor,public" default="" />
+        </item>
+    </group> <!-- Man Made -->
+    <group name="Power" icon="presets/power.png">
+        <item name="Power Generator" icon="presets/power.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:power=generator";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:power=generator";
+                  fr.href="http://wiki.openstreetmap.org/wiki/FR:Tag:power=generator"; />
+            <label text="Edit Power Generator" />
+            <key key="power" value="generator" />
+            <combo key="power_source" text="Type" values="wind,hydro,fossil,nuclear,coal,photovoltaic,gas" default="" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Power Station" icon="presets/power.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:power=line";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:power=line"; />
+            <label text="Edit Power Station" />
+            <key key="power" value="station" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <text key="ref" text="Reference" default="" delete_if_empty="true" />
+        </item>
+        <item name="Power Sub Station" icon="presets/power.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:power=sub_station";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:power=sub_station"; />
+            <label text="Edit Power Sub Station" />
+            <key key="power" value="sub_station" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <text key="ref" text="Line reference" default="" delete_if_empty="true" />
+        </item>
+        <item name="Cable Distribution Cabinet" icon="presets/power.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:power%3Dcable_distribution_cabinet";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:power%3Dcable_distribution_cabinet"; />
+            <label text="Edit Cable Distribution Cabinet" />
+            <key key="power" value="cable_distribution_cabinet" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <text key="ref" text="Reference" default="" delete_if_empty="true" />
+        </item>
+        <separator/>
+        <item name="Power Tower" icon="presets/power_tower.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:power=tower";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:power=tower";
+                  fi.href="http://wiki.openstreetmap.org/wiki/Fi:Tag:power=tower";
+                  fr.href="http://wiki.openstreetmap.org/wiki/FR:Tag:power=tower"; />
+            <label text="Edit Power Tower" />
+            <key key="power" value="tower" />
+            <text key="ref" text="Tower reference" default="" delete_if_empty="true" />
+        </item>
+        <item name="Pole" icon="styles/standard/misc/landmark/power/pole.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:power%3Dpole";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:power%3Dpole"; />
+            <label text="Edit Power Pole" />
+            <key key="power" value="pole" />
+            <text key="ref" text="Pole reference" default="" delete_if_empty="true" />
+        </item>
+        <item name="Power Line" icon="presets/power.png" type="way">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:power=line";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:power=line"; />
+            <label text="Edit Power Line" />
+            <combo key="power" text="Line type" values_context="Power Line" values="line,minor_line" default="line" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <text key="ref" text="Line reference" default="" delete_if_empty="true" />
+            <!-- TODO: voltage values used are a mixture of power lines and railways - needs cleanup -->
+            <combo key="voltage" text="Voltage" values="3000,10000,15000,20000,25000,110000,220000,380000" default="" delete_if_empty="true" />
+            <text key="cables" text="Amount of Cables" default="" delete_if_empty="true" />
+            <combo key="wires" text="Number of wires (better: conductors) per power cable" values="single,double,triple,quad" default="" delete_if_empty="true" />
+        </item>
+    </group> <!-- Power -->
+    <group name="Historic Places" icon="presets/State_Tourist.png">
+        <item name="Castle" icon="presets/State_Tourist.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:historic=castle";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:historic=castle"; />
+            <label text="Edit Castle" />
+            <key key="historic" value="castle" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="wikipedia" text="Wikipedia" default="" delete_if_empty="true" />
+        </item>
+        <item name="Ruins" icon="presets/ruins.png" type="node,closedway">
+            <label text="Edit Ruins" />
+            <key key="historic" value="ruins" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Archaeological Site" icon="styles/standard/sightseeing/archaeological.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:historic=archaeological_site";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:historic=archaeological_site"; />
+            <label text="Edit Archaeological Site" />
+            <key key="historic" value="archaeological_site" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Battlefield" icon="presets/battlefield.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:historic=battlefield"; />
+            <label text="Edit Battlefield" />
+            <key key="historic" value="battlefield" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Palaeontological Site" icon="presets/palaeontological_site.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:geological"; />
+            <label text="Edit Palaeontological Site" />
+            <key key="geological" value="palaeontological_site" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <separator/>
+        <item name="Monument" icon="presets/monument.png" type="node,closedway">
+            <label text="Edit Monument" />
+            <key key="historic" value="monument" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Memorial" icon="presets/memorial.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:historic=memorial"; />
+            <label text="Edit Memorial" />
+            <key key="historic" value="memorial" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Wayside Cross" icon="presets/wayside_cross.png" type="node,closedway">
+            <label text="Edit Wayside Cross" />
+            <key key="historic" value="wayside_cross" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Wayside Shrine" icon="presets/wayside_shrine.png" type="node,closedway">
+            <label text="Edit Wayside Shrine" />
+            <key key="historic" value="wayside_shrine" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Boundary Stone" icon="styles/standard/historic/boundary_stone.png" type="node,closedway">
+            <label text="Edit Boundary Stone" />
+            <key key="historic" value="boundary_stone" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+    </group> <!-- Historic Places -->
+  </group> <!-- Structures -->
+  <group name="Shops" icon="styles/standard/shop/mall.png">
+    <group name="Food" icon="styles/standard/shop/supermarket.png">
+        <item name="Supermarket" icon="styles/standard/shop/supermarket.png" type="node,closedway">
+            <label text="Edit Supermarket" />
+            <key key="shop" value="supermarket" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Convenience Store" icon="presets/convenience.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop=convenience"; />
+            <label text="Edit Convenience Store" />
+            <key key="shop" value="convenience" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Kiosk" icon="presets/kiosk.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop=kiosk"; />
+            <label text="Edit Kiosk" />
+            <key key="shop" value="kiosk" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <separator/>
+        <item name="Baker" icon="presets/baker.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop=bakery"; />
+            <label text="Edit Baker" />
+            <key key="shop" value="bakery" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Butcher" icon="presets/cow.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop=butcher"; />
+            <label text="Edit Butcher" />
+            <key key="shop" value="butcher" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Seafood" icon="presets/seafood.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop%3Dseafood"/>
+            <label text="Edit Seafood" />
+            <space />            
+            <key key="shop" value="seafood" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />            
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00; Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Deli (Fine Food)" icon="presets/deli.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop%3Ddeli"/>
+            <label text="Edit Deli (Fine Food)" />
+            <space />            
+            <key key="shop" value="deli" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />            
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00; Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>                     
+        <item name="Confectionery" icon="presets/confectionery.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop%3Dconfectionery"; />
+            <label text="Edit Confectionery" />
+            <key key="shop" value="confectionery" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <separator/>
+        <item name="Marketplace" icon="styles/standard/place/marketplace.png" type="node,way,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity%3Dmarketplace"; />
+            <label text="Edit Marketplace" />
+            <space />            
+            <key key="amenity" value="marketplace" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00; Sa 08:00-12:00" default="" delete_if_empty="true" />                      
+        </item>     	
+        <item name="Greengrocer" icon="presets/greengrocer.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop%3Dgreengrocer"/>
+            <label text="Edit Greengrocer" />
+            <space />            
+            <key key="shop" value="greengrocer" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />            
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00; Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Organic" icon="presets/fruits.png" type="node,closedway">
+            <label text="Edit Organic Shop" />
+            <key key="shop" value="organic" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <separator/>
+        <item name="Alcohol" icon="styles/standard/shop/beverages.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop=alcohol"; />
+            <label text="Edit Alcohol Shop" />
+            <key key="shop" value="alcohol" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Beverages" icon="styles/standard/shop/beverages.png" type="node,closedway">
+            <label text="Edit Beverages Shop" />
+            <key key="shop" value="beverages" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+    </group> <!-- Food -->
+    <group name="Clothes" icon="styles/standard/shop/clothes.png">
+        <item name="Clothes" icon="styles/standard/shop/clothes.png" type="node,closedway">
+            <label text="Edit Clothes Shop" />
+            <key key="shop" value="clothes" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Boutique" icon="presets/boutique.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop%3Dboutique"/>
+            <label text="Edit Boutique" />
+            <space />            
+            <key key="shop" value="boutique" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />            
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00; Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>            
+         <item name="Shoes" icon="styles/standard/shop/shoes.png" type="node,closedway">
+            <label text="Edit Shoe Shop" />
+            <key key="shop" value="shoes" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Outdoor" icon="presets/tent.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop=outdoor"; />
+            <label text="Edit Outdoor Shop" />
+            <key key="shop" value="outdoor" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Sports" icon="presets/rowing.png" type="node,closedway">
+            <label text="Edit Sports Shop" />
+            <key key="shop" value="sports" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <separator/>
+        <item name="Dry Cleaning" icon="presets/laundry.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop=dry_cleaning"; />
+            <label text="Edit Dry Cleaning" />
+            <key key="shop" value="dry_cleaning" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Laundry" icon="presets/laundry.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Proposed_features/Laundry"; />
+            <label text="Edit Laundry" />
+            <key key="shop" value="laundry" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Tailor" icon="styles/standard/shop/tailor.png" type="node,closedway">
+            <label text="Edit Tailor" />
+            <key key="shop" value="tailor" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Fabric" icon="presets/fabric.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop%3Dfabric"/>
+            <label text="Edit Fabric" />
+            <space />            
+            <key key="shop" value="fabric" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />            
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00; Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>                                                
+    </group> <!-- Clothes -->
+    <group name="Electronic" icon="styles/standard/shop/electronics.png">
+        <item name="Computer" icon="styles/standard/shop/computer.png" type="node,closedway">
+            <label text="Edit Computer Shop" />
+            <key key="shop" value="computer" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Electronics" icon="styles/standard/shop/electronics.png" type="node,closedway">
+            <label text="Edit Electronics Shop" />
+            <key key="shop" value="electronics" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Mobile Phone" icon="presets/mobile_phone.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop%3Dmobile_phone"/>
+            <label text="Edit Mobile Phone" />
+            <space />            
+            <key key="shop" value="mobile_phone" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />            
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00; Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>                                     
+        <item name="Vacuum Cleaner" icon="presets/vacuum_cleaner.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop%3Dvacuum_cleaner"/>
+            <label text="Edit Vacuum Cleaner" />
+            <space />            
+            <key key="shop" value="vacuum_cleaner" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />            
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00; Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>        
+        <item name="Hifi" icon="styles/standard/shop/hifi.png" type="node,closedway">
+            <label text="Edit Hifi Shop" />
+            <key key="shop" value="hifi" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Video" icon="styles/standard/shop/video.png" type="node,closedway">
+            <label text="Edit Video Shop" />
+            <key key="shop" value="video" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+    </group> <!-- Electronic -->
+    <group name="Cash" icon="presets/dollar.png">
+        <item name="Bank" icon="styles/standard/money/bank.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=bank"; />
+            <label text="Edit Bank" />
+            <key key="amenity" value="bank" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+            <check key="atm" text="Automated Teller Machine" default="on" delete_if_empty="true" />
+        </item>
+        <item name="Money Exchange" icon="styles/standard/money/exchange.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=bureau_de_change"; />
+            <label text="Edit Money Exchange" />
+            <key key="amenity" value="bureau_de_change" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Automated Teller Machine" icon="styles/standard/money/atm.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=atm"; />
+            <label text="Edit Automated Teller Machine" />
+            <key key="amenity" value="atm" />
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+        </item>
+    </group> <!-- Cash -->
+    <group name="Other" icon="styles/standard/shop/mall.png">
+        <item name="Department Store" icon="styles/standard/shop/mall.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop%3Ddepartment_store"/>
+            <label text="Edit Department Store" />
+            <space />            
+            <key key="shop" value="department_store" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />            
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00; Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>                                  
+        <item name="Mall" icon="styles/standard/shop/mall.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop%3Dmall"/>
+            <label text="Edit Mall" />
+            <space />            
+            <key key="shop" value="mall" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />            
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00; Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>                                  
+        <separator/>
+        <item name="Chemist" icon="styles/standard/shop/chemist.png" type="node,closedway">
+            <label text="Edit Chemist" />
+            <key key="shop" value="chemist" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Hairdresser" icon="styles/standard/shop/hairdresser.png" type="node,closedway">
+            <label text="Edit Hairdresser" />
+            <key key="shop" value="hairdresser" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Optician" icon="styles/standard/shop/optician.png" type="node,closedway">
+            <label text="Edit Optician" />
+            <key key="shop" value="optician" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Jewelry" icon="styles/standard/shop/jewelry.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop%3Djewelry"/>
+            <label text="Edit Jewelry" />
+            <space />            
+            <key key="shop" value="jewelry" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />            
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00; Sa 08:00-12:00" default="" delete_if_empty="true" /> 
+        </item>                               
+        <item name="Erotic" icon="presets/erotic.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop%3Derotic"/>
+            <label text="Edit Erotic" />
+            <space />            
+            <key key="shop" value="erotic" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />            
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00; Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>                    
+        <separator/>
+        <item name="Florist" icon="styles/standard/shop/florist.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop=florist"; />
+            <label text="Edit Florist" />
+            <key key="shop" value="florist" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Garden Centre" icon="styles/standard/shop/garden_centre.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop=garden_centre"; />
+            <label text="Edit Garden Centre" />
+            <key key="shop" value="garden_centre" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <separator/>
+        <item name="Do-it-yourself-store" icon="presets/diy_store.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop=doityourself"; />
+            <label text="Edit Do-it-yourself-store" />
+            <key key="shop" value="doityourself" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Hardware" icon="presets/hardware.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop=hardware"; />
+            <label text="Edit Hardware Store" />
+            <key key="shop" value="hardware" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Paint" icon="presets/paint.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop%3Dpaint"/>
+            <label text="Edit Paint" />
+            <space />            
+            <key key="shop" value="paint" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />            
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00; Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>                                       
+        <separator/>
+        <item name="Furniture" icon="styles/standard/shop/furniture.png" type="node,closedway">
+            <label text="Edit Furniture Shop" />
+            <key key="shop" value="furniture" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Kitchen" icon="presets/kitchen.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop%3Dkitchen"/>
+            <label text="Edit Kitchen" />
+            <space />            
+            <key key="shop" value="kitchen" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />            
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00; Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>                   
+        <item name="Curtain" icon="presets/curtain.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop%3Dcurtain"/>
+            <label text="Edit Curtain" />
+            <space />            
+            <key key="shop" value="curtain" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />            
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00; Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>                     
+        <item name="Frame" icon="presets/frame.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop%3Dframe"/>
+            <label text="Edit Frames" />
+            <space />            
+            <key key="shop" value="frame" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />            
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00; Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>                             
+        <separator/>
+        <item name="Stationery" icon="presets/stationery.png" type="node,closedway">
+            <label text="Edit Stationery Shop" />
+            <key key="shop" value="stationery" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Copyshop" icon="presets/copyshop.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop%3Dcopyshop"/>
+            <label text="Edit Copyshop" />
+            <space />            
+            <key key="shop" value="copyshop" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />            
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00; Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Book Store" icon="presets/book.png" type="node,closedway">
+            <label text="Edit Book Store" />
+            <key key="shop" value="books" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <separator/>
+        <item name="Travel Agency" icon="presets/travel.png" type="node,closedway">
+            <label text="Edit Travel Agency" />
+            <key key="shop" value="travel_agency" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Musical Instrument" icon="presets/musical_instrument.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop%3Dmusical_instrument"/>
+            <label text="Edit Musical Instruments" />
+            <space />            
+            <key key="shop" value="musical_instrument" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />            
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00; Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>                                    
+        <item name="Toys" icon="styles/standard/shop/toys.png" type="node,closedway">
+            <label text="Edit Toy Shop" />
+            <key key="shop" value="toys" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00;Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+        <item name="Variety Store" icon="presets/variety_store.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:shop%3Dvariety_store"/>
+            <label text="Edit Variety Store" />
+            <space />            
+            <key key="shop" value="variety_store" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />            
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            <combo key="opening_hours" text="Opening Hours" values="24/7,Mo-Fr 08:30-20:00,Tu-Su 08:00-15:00; Sa 08:00-12:00" default="" delete_if_empty="true" />
+        </item>
+    </group> <!-- Other -->
+    <item name="Vending machine" icon="presets/vending_machine.png" type="node">
+        <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=vending_machine"; />
+        <label text="Edit Vending machine" />
+        <key key="amenity" value="vending_machine" />
+        <multiselect key="vending" text="Vending products" values="public_transport_tickets;public_transport_plans;parking_tickets;food;drinks;sweets;cigarettes;photos;animal_food;news_papers;toys;stamps;SIM-cards;telephone_vouchers;vouchers;bicycle_tube;condoms;tampons;excrement_bags" default="" />
+        <text key="operator" text="Operator" default="" delete_if_empty="true" />
+        <text key="ref" text="Reference number" default="" delete_if_empty="true" />
+        <text key="note" text="Note" default="" delete_if_empty="true" />
+        <check key="payment:coins" text="Coins" default="off" delete_if_empty="true" />
+        <check key="payment:notes" text="Notes" default="off" delete_if_empty="true" />
+        <check key="payment:electronic_purses" text="Electronic purses and Charge cards" default="off" delete_if_empty="true" />
+        <check key="payment:debit_cards" text="Debit cards" default="off" delete_if_empty="true" />
+        <check key="payment:credit_cards" text="Credit cards" default="off" delete_if_empty="true" />
+        <check key="payment:account_cards" text="Account or loyalty cards" default="off" delete_if_empty="true" />
+    </item>
+  </group> <!-- Shops -->
+  <group name="Geography" icon="presets/peak.png">
+    <group name="Boundaries" icon="presets/boundaries.png">
+        <item name="National" icon="presets/boundaries.png" type="closedway,relation">
+            <label text="Edit National Boundary" />
+            <space />
+            <key key="boundary" value="national" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Administrative" icon="presets/boundaries.png" type="closedway,relation">
+            <label text="Edit Administrative Boundary" />
+            <space />
+            <key key="boundary" value="administrative" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Civil" icon="presets/boundaries.png" type="closedway,relation">
+            <label text="Edit Civil Boundary" />
+            <space />
+            <key key="boundary" value="civil" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Political" icon="presets/boundaries.png" type="closedway,relation">
+            <label text="Edit Political Boundary" />
+            <space />
+            <key key="boundary" value="political" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="National park" icon="presets/boundaries.png" type="closedway,relation">
+            <label text="Edit National Park Boundary" />
+            <space />
+            <key key="boundary" value="national_park" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+    </group> <!-- Boundaries -->
+    <group name="Places" icon="presets/places.png">
+        <item name="Continent" icon="presets/places.png" type="node,closedway">
+            <label text="Edit Continent" />
+            <space />
+            <key key="place" value="continent" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="wikipedia" text="Wikipedia" default="" delete_if_empty="true" />
+        </item>
+        <item name="Country" icon="presets/places.png" type="node,closedway">
+            <label text="Edit Country" />
+            <space />
+            <key key="place" value="country" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="wikipedia" text="Wikipedia" default="" delete_if_empty="true" />
+        </item>
+        <item name="State" icon="presets/places.png" type="node,closedway">
+            <label text="Edit State" />
+            <space />
+            <key key="place" value="state" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="wikipedia" text="Wikipedia" default="" delete_if_empty="true" />
+        </item>
+        <item name="Region" icon="presets/places.png" type="node,closedway">
+            <label text="Edit Region" />
+            <space />
+            <key key="place" value="region" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="wikipedia" text="Wikipedia" default="" delete_if_empty="true" />
+        </item>
+        <item name="County" icon="presets/places.png" type="node,closedway">
+            <label text="Edit County" />
+            <space />
+            <key key="place" value="county" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="wikipedia" text="Wikipedia" default="" delete_if_empty="true" />
+        </item>
+        <separator/>
+        <item name="City" icon="presets/places.png" type="node,closedway">
+            <label text="Edit City" />
+            <space />
+            <key key="place" value="city" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="wikipedia" text="Wikipedia" default="" delete_if_empty="true" />
+        </item>
+        <item name="Town" icon="presets/places.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:place=town"; />
+            <label text="Edit Town" />
+            <space />
+            <key key="place" value="town" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="wikipedia" text="Wikipedia" default="" delete_if_empty="true" />
+        </item>
+        <item name="Suburb" icon="presets/places.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:place=suburb"; />
+            <label text="Edit Suburb" />
+            <space />
+            <key key="place" value="suburb" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="wikipedia" text="Wikipedia" default="" delete_if_empty="true" />
+        </item>
+        <item name="Village" icon="presets/places.png" type="node,closedway">
+            <label text="Edit Village" />
+            <space />
+            <key key="place" value="village" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="wikipedia" text="Wikipedia" default="" delete_if_empty="true" />
+        </item>
+        <item name="Hamlet" icon="presets/places.png" type="node,closedway">
+            <label text="Edit Hamlet" />
+            <space />
+            <key key="place" value="hamlet" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="wikipedia" text="Wikipedia" default="" delete_if_empty="true" />
+        </item>
+        <separator/>
+        <item name="Locality" icon="presets/locality.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:place=locality"; />
+            <label text="Edit Locality" />
+            <space />
+            <key key="place" value="locality" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="wikipedia" text="Wikipedia" default="" delete_if_empty="true" />
+        </item>
+    </group> <!-- Places -->
+    <group name="Geography" icon="presets/peak.png">
+        <item name="Peak" icon="presets/peak.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:natural=peak"; />
+            <label text="Edit Peak" />
+            <key key="natural" value="peak" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="ele" text="Elevation" default="" delete_if_empty="true" />
+            <text key="wikipedia" text="Wikipedia" default="" delete_if_empty="true" />
+        </item>
+        <item name="Glacier" icon="presets/glacier.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:natural=glacier"; />
+            <label text="Edit Glacier" />
+            <key key="natural" value="glacier" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="ele" text="Elevation" default="" delete_if_empty="true" />
+            <text key="wikipedia" text="Wikipedia" default="" delete_if_empty="true" />
+        </item>
+        <item name="Volcano" icon="presets/volcano.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:natural=volcano"; />
+            <label text="Edit Volcano" />
+            <key key="natural" value="volcano" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="ele" text="Elevation" default="" delete_if_empty="true" />
+            <text key="wikipedia" text="Wikipedia" default="" delete_if_empty="true" />
+        </item>
+        <item name="Cave Entrance" icon="presets/cave_entrance.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:natural=cave_entrance"; />
+            <label text="Edit Cave Entrance" />
+            <key key="natural" value="cave_entrance" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="wikipedia" text="Wikipedia" default="" delete_if_empty="true" />
+        </item>
+        <separator/>
+        <item name="Island" icon="presets/island.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:place=island"; />
+            <label text="Edit Island" />
+            <space />
+            <key key="place" value="island" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="wikipedia" text="Wikipedia" default="" delete_if_empty="true" />
+        </item>
+        <item name="Islet" icon="presets/islet.png" type="node,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:place=islet"; />
+            <label text="Edit Islet" />
+            <space />
+            <key key="place" value="islet" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="wikipedia" text="Wikipedia" default="" delete_if_empty="true" />
+        </item>
+    </group> <!-- Geography -->
+    <group name="Nature" icon="presets/tree.png">
+        <item name="Tree" icon="presets/tree.png" type="node">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:natural=tree";
+                  fi.href="http://wiki.openstreetmap.org/wiki/Fi:Tag:natural=tree";  />
+            <label text="Edit Tree" />
+            <key key="natural" value="tree" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="type" text="Type" default="" delete_if_empty="true" />
+            <text key="height" text="Height" default="" delete_if_empty="true" />
+            <text key="name:botanical" text="Botanical Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Wood" icon="presets/landuse.png" type="node,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:natural=wood";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:natural=wood"; />
+            <label text="Edit Wood" />
+            <key key="natural" value="wood" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="wood" text="Type" values="coniferous,deciduous,mixed" default="" delete_if_empty="true" />
+        </item>
+        <item name="Forest" icon="presets/landuse.png" type="node,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:landuse=forest";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:landuse=forest"; />
+            <label text="Edit Forest Landuse" />
+            <space />
+            <key key="landuse" value="forest" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="wood" text="Type" values="coniferous,deciduous,mixed" default="" delete_if_empty="true" />
+        </item>
+        <item name="Nature Reserve" icon="styles/standard/leisure/nature_reserve.png" type="node,closedway,relation">
+            <label text="Edit Nature Reserve" />
+            <key key="leisure" value="nature_reserve" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <separator/>
+        <item name="Scree" icon="presets/empty.png" type="node,closedway,relation">
+            <label text="Edit Scree" />
+            <key key="natural" value="scree" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Fell" icon="presets/empty.png" type="node,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:natural=fell"; />
+            <label text="Edit Fell" />
+            <key key="natural" value="fell" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Scrub" icon="presets/empty.png" type="node,closedway,relation">
+            <label text="Edit Scrub" />
+            <key key="natural" value="scrub" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Heath" icon="presets/empty.png" type="node,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:natural=heath"; />
+            <label text="Edit Heath" />
+            <key key="natural" value="heath" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+    </group> <!-- Nature -->
+    <group name="Land use" icon="presets/landuse.png">
+        <item name="Farmyard" icon="presets/landuse.png" type="closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:landuse=farmyard";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:landuse=farmyard"; />
+            <label text="Edit Farmyard Landuse" />
+            <space />
+            <key key="landuse" value="farmyard" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Farmland" icon="presets/landuse.png" type="closedway,relation">
+            <label text="Edit Farmland Landuse" />
+            <space />
+            <key key="landuse" value="farmland" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Meadow" icon="presets/landuse.png" type="node,closedway,relation">
+            <label text="Edit Meadow Landuse" />
+            <space />
+            <key key="landuse" value="meadow" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Vineyard" icon="presets/fruits.png" type="node,closedway,relation">
+            <label text="Edit Vineyard Landuse" />
+            <space />
+            <key key="landuse" value="vineyard" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Greenhouse Horticulture" icon="presets/greenhouse_horticulture.png" type="closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:landuse%3Dgreenhouse_horticulture"; />
+            <label text="Edit Greenhouse Horticulture" />
+            <space />            
+            <key key="landuse" value="greenhouse_horticulture" />
+            <text key="name" text="Name" default="" delete_if_empty="true" /> 
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />                                                                
+        </item>        
+        <item name="Allotments" icon="presets/landuse.png" type="node,closedway,relation">
+            <label text="Edit Allotments Landuse" />
+            <space />
+            <key key="landuse" value="allotments" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <separator/>
+        <item name="Garden" icon="presets/empty.png" type="node,closedway,relation">
+            <label text="Edit Garden" />
+            <key key="leisure" value="garden" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Grass" icon="presets/landuse.png" type="node,closedway,relation">
+            <label text="Edit Grass Landuse" />
+            <space />
+            <key key="landuse" value="grass" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Village Green" icon="presets/landuse.png" type="node,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:landuse=village_green"; />
+            <label text="Edit Village Green Landuse" />
+            <space />
+            <key key="landuse" value="village_green" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Common" icon="presets/empty.png" type="node,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:leisure=common"; />
+            <label text="Edit Common" />
+            <key key="leisure" value="common" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Park" icon="presets/empty.png" type="node,closedway,relation">
+            <label text="Edit Park" />
+            <key key="leisure" value="park" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Recreation Ground" icon="presets/landuse.png" type="node,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:landuse=recreation_ground"; />
+            <label text="Edit Recreation Ground Landuse" />
+            <space />
+            <key key="landuse" value="recreation_ground" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <separator/>
+        <item name="Residential area" icon="styles/standard/misc/landmark/building.png" type="closedway,relation">
+            <label text="Edit Residential Landuse" />
+            <space />
+            <key key="landuse" value="residential" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Graveyard" icon="presets/graveyard.png" type="node,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=grave_yard"; />
+            <label text="Edit Graveyard" />
+            <key key="amenity" value="grave_yard" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="religion" text="Religion" values="bahai,buddhist,christian,hindu,jain,jewish,muslim,sikh,spiritualist,taoist,unitarian,zoroastrian" default="" delete_if_empty="true" />
+            <combo key="denomination" text="Denomination" values="anglican,baptist,catholic,evangelical,jehovahs_witness,lutheran,methodist,mormon,orthodox,pentecostal,presbyterian,protestant,quaker,shia,sunni" default="" delete_if_empty="true" />
+        </item>
+        <item name="Cemetery" icon="presets/cemetery.png" type="node,closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:landuse=cemetery"; />
+            <label text="Edit Cemetery Landuse" />
+            <space />
+            <key key="landuse" value="cemetery" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <combo key="religion" text="Religion" values="bahai,buddhist,christian,hindu,jain,jewish,muslim,sikh,spiritualist,taoist,unitarian,zoroastrian" default="" delete_if_empty="true" />
+            <combo key="denomination" text="Denomination" values="anglican,baptist,catholic,evangelical,jehovahs_witness,lutheran,methodist,mormon,orthodox,pentecostal,presbyterian,protestant,quaker,shia,sunni" default="" delete_if_empty="true" />
+        </item>
+        <item name="Retail" icon="styles/standard/shop/supermarket.png" type="node,closedway,relation">
+            <label text="Edit Retail Landuse" />
+            <space />
+            <key key="landuse" value="retail" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Commercial" icon="presets/empty.png" type="node,closedway,relation">
+            <label text="Edit Commercial Landuse" />
+            <space />
+            <key key="landuse" value="commercial" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Industrial" icon="presets/works.png" type="node,closedway,relation">
+            <label text="Edit Industrial Landuse" />
+            <space />
+            <key key="landuse" value="industrial" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Garages" icon="presets/garages.png" type="closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/DE:Tag:landuse%3Dgarages"; />
+            <label text="Edit Garages" />
+            <space />            
+            <key key="landuse" value="garages" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />                                                    
+            <text key="operator" text="Operator" default="" delete_if_empty="true" />
+        </item> 
+        <item name="Railway land" icon="presets/rail_light.png" type="closedway,relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:landuse=railway"; />
+            <label text="Edit Railway Landuse" />
+            <space />
+            <key key="landuse" value="railway" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Military" icon="presets/military.png" type="node,closedway,relation">
+            <label text="Edit Military Landuse" />
+            <space />
+            <key key="landuse" value="military" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <separator/>
+        <item name="Construction area" icon="presets/construction.png" type="node,closedway,relation">
+            <label text="Edit Construction Landuse" />
+            <space />
+            <key key="landuse" value="construction" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Brownfield" icon="presets/landuse.png" type="node,closedway,relation">
+            <label text="Edit Brownfield Landuse" />
+            <space />
+            <key key="landuse" value="brownfield" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Greenfield" icon="presets/landuse.png" type="node,closedway,relation">
+            <label text="Edit Greenfield Landuse" />
+            <space />
+            <key key="landuse" value="greenfield" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Landfill" icon="presets/landuse.png" type="node,closedway,relation">
+            <label text="Edit Landfill Landuse" />
+            <space />
+            <key key="landuse" value="landfill" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+        <item name="Quarry" icon="presets/mine.png" type="node,closedway,relation">
+            <label text="Edit Quarry Landuse" />
+            <space />
+            <key key="landuse" value="quarry" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+        </item>
+    </group> <!-- Landuse -->
+  </group>
+    <group name="Annotation" icon="presets/addresses.png">
+        <item name="Addresses" icon="presets/addresses.png" type="node,way,closedway">
+            <link href="http://wiki.openstreetmap.org/wiki/Proposed_features/House_numbers/Karlsruhe_Schema";
+                  de.href="http://wiki.openstreetmap.org/wiki/Proposed_features/De:Hausnummern"; />
+            <label text="Edit Address Information" />
+            <space />
+            <text key="addr:housenumber" text="House number" default="" delete_if_empty="true" />
+            <optional>
+                <text key="addr:housename" text="House name" default="" delete_if_empty="true" />
+                <text key="addr:street" text="Street name" use_last_as_default="true" delete_if_empty="true" />
+                <text key="addr:city" text="City name" use_last_as_default="true" delete_if_empty="true" />
+                <text key="addr:postcode" text="Post code" use_last_as_default="true" delete_if_empty="true" />
+                <combo key="addr:country" text="Country code" values="AT,CH,DE,FR,GB,IT,US" use_last_as_default="true" delete_if_empty="true" />
+            </optional>
+        </item>
+        <item name="Address Interpolation" icon="presets/interpolation.png" type="way">
+           <link href="http://wiki.openstreetmap.org/wiki/Proposed_features/House_numbers/Karlsruhe_Schema";
+                 de.href="http://wiki.openstreetmap.org/wiki/Proposed_features/De:Hausnummern"; />
+            <label text="Edit Address Interpolation" />
+            <space />
+            <combo key="addr:interpolation" text="Numbering scheme" values="odd,even,all,alphabetic" default="odd" />
+        </item>
+        <item name="Contact" icon="presets/contact.png" type="node,way,closedway,relation">
+            <label text="Edit Contact information" />
+            <space />
+            <text key="phone" text="Phone Number" default="" delete_if_empty="true" />
+            <text key="fax" text="Fax Number" default="" delete_if_empty="true" />
+            <space />
+            <text key="website" text="Website" default="" delete_if_empty="true" />
+            <text key="email" text="Email Address" default="" delete_if_empty="true" />
+            <space />
+            <text key="wikipedia" text="Wikipedia" default="" delete_if_empty="true" />
+            <text key="image" text="Image" default="" delete_if_empty="true" />
+        </item>
+    </group> <!-- Annotation -->
+    <group name="Relations" icon="presets/relations.png">
+        <item name="Multipolygon" icon="presets/multipolygon.png" type="relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Relation:multipolygon";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Relation:multipolygon";
+                  fr.href="http://wiki.openstreetmap.org/wiki/FR:Relation:multipolygon"; />
+            <label text="Edit Multipolygon" />
+            <key key="type" value="multipolygon" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+            </optional>
+            <roles>
+                <role key="outer" text="outer segment" requisite="required" type="way" />
+                <role key="inner" text="inner segment" requisite="optional" type="way" />
+            </roles>
+        </item>
+        <item name="Boundary" icon="presets/boundaries.png" type="relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Relation:boundary";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Relation:boundary";
+                  es.href="http://wiki.openstreetmap.org/wiki/ES:Relation:boundary";
+                  fr.href="http://wiki.openstreetmap.org/wiki/FR:Relation:boundary"; />
+            <label text="Edit Boundary" />
+            <key key="type" value="boundary" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <optional>
+                <combo key="boundary" text="Boundary type" values="administrative,national,civil,political" default="" delete_if_empty="true" />
+                <combo key="admin_level" text="Administrative level" values="1,2,3,4,5,6,7,8,9,10" default="" delete_if_empty="true" />
+            </optional>
+            <roles>
+                <role key="outer" text="outer segment" requisite="required" type="way" />
+                <role key="inner" text="inner segment" requisite="optional" type="way" />
+                <role key="subarea" text="Sub area" requisite="optional" type="relation" />
+                <role key="admin_centre" text="Administration centre" requisite="optional" type="node" />
+            </roles>
+        </item>
+        <item name="Turn restriction" icon="styles/standard/vehicle/restriction/turn_restrictions/no_u_turn.png" type="relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Relation:restriction";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Relation:restriction"/>
+            <label text="Edit Turn Restriction" />
+            <key key="type" value="restriction" />
+            <combo key="restriction" text="Restriction" values="no_left_turn,no_right_turn,no_straight_on,no_u_turn,only_right_turn,only_left_turn,only_straight_on" default="" delete_if_empty="true" />
+            <optional>
+                <text key="name" text="Name" default="" delete_if_empty="true" />
+            </optional>
+            <roles>
+                <role key="from" text="from way" requisite="required" count="1" type="way" />
+                <role key="via" text="via node or way" requisite="required" count="1" type="way,node" />
+                <role key="to" text="to way" requisite="required" count="1" type="way" />
+            </roles>
+        </item>
+        <item name="Route" icon="presets/path.png" type="relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Relation:route";
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Relation:route"/>
+            <label text="Edit Route" />
+            <key key="type" value="route" />
+            <combo key="route" text="Route type" values="bicycle,bus,road,ferry,ski,foot,hiking,tram,detour,railway,subway" default="" delete_if_empty="true" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <text key="ref" text="Reference" default="" delete_if_empty="true" />
+            <text key="symbol" text="Symbol description" default="" delete_if_empty="true" />
+            <text key="description" text="Description" default="" delete_if_empty="true" />
+            <optional>
+                <text key="network" text="Network" default="" delete_if_empty="true" />
+                <text key="operator" text="Operator" default="" delete_if_empty="true" />
+                <combo key="state" text="Route state" values="proposed,alternate,temporary,connection" default="" delete_if_empty="true" />
+                <text key="color" text="Color (hex)" default="" delete_if_empty="true" />
+            </optional>
+            <roles>
+                <role key="" text="route segment" requisite="optional" type="way" />
+                <role key="forward" text="forward segment" requisite="optional" type="way" />
+                <role key="backward" text="backward segment" requisite="optional" type="way" />
+                <role key="stop" text="halt point" requisite="optional" type="node" />
+                <role key="forward_stop" text="forward halt point" requisite="optional" type="node" />
+                <role key="backward_stop" text="backward halt point" requisite="optional" type="node" />
+            </roles>
+        </item>
+        <item name="Route network" icon="presets/path.png" type="relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Relations/Proposed/Network"/>
+            <label text="Edit route network" />
+            <key key="type" value="network" />
+            <text key="name" text="Name" default="" delete_if_empty="true" />
+            <optional>
+                <text key="network" text="Network" default="" delete_if_empty="true" />
+                <text key="operator" text="Operator" default="" delete_if_empty="true" />
+            </optional>
+            <roles>
+                <role key="" text="member" requisite="required" type="relation" />
+            </roles>
+        </item>
+        <item name="Associated street" icon="presets/addresses.png" type="relation">
+            <link href="http://wiki.openstreetmap.org/wiki/Relation:associatedStreet"/>
+            <label text="Edit associated street" />
+            <key key="type" value="associatedStreet" />
+            <text key="name" text="Street name" default="" delete_if_empty="true" />
+            <roles>
+                <role key="street" text="street" requisite="required" count="1" type="way" />
+                <role key="house" text="house" requisite="required" type="node,closedway" />
+            </roles>
+        </item>
+    </group> <!-- Relations -->
+</presets>

=== added directory '.pc/90-fix_version.patch'
=== added file '.pc/90-fix_version.patch/build.xml'
--- .pc/90-fix_version.patch/build.xml	1970-01-01 00:00:00 +0000
+++ .pc/90-fix_version.patch/build.xml	2011-08-22 12:04:26 +0000
@@ -0,0 +1,308 @@
+<!-- ** build.xml - main ant file for JOSM
+**
+** To build run
+**    ant clean
+**    ant dist
+** This will create 'josm-custom.jar'  in directory 'dist'. See also
+**   https://josm.openstreetmap.de/wiki/CreateBuild
+**
+**
+-->
+<project name="josm" default="dist" basedir="." xmlns:as="antlib:org.codehaus.mojo.animal_sniffer">
+	<property name="test.dir" value="test" />
+	<property name="src.dir" value="src" />
+	<property name="build.dir" value="build"/>
+	<!-- build parameter: compression level (ant -Dclevel=N)
+             N ranges from 0 (no compression) to 9 (maximum compression)
+             default: 9 -->
+	<condition property="clevel" value="${clevel}" else="9">
+		<isset property="clevel" />
+	</condition>
+
+	<!-- Java classpath addition (all jar files to compile tests with this) -->
+	<path id="classpath">
+		<fileset dir="/usr/share/java">
+			<include name="gettext-commons.jar"/>
+			<include name="metadata-extractor.jar"/>
+		</fileset>
+	</path>
+
+
+	<!--
+	  ** Used by Eclipse ant builder for updating
+	  ** the REVISION file used by JOSM
+	-->
+	<target name="create-revision-eclipse">
+		<property name="revision.dir" value="bin"/>
+		<antcall target="create-revision" />
+	</target>
+
+	<!--
+	  ** Creates the REVISION file to be included in the distribution
+	  -->
+	<target name="create-revision">
+		<property name="revision.dir" value="${build.dir}"/>
+		<xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
+		<tstamp>
+			<format property="build.tstamp" pattern="yyyy-MM-dd HH:mm:ss"/>
+		</tstamp>
+
+		<property name="version.entry.commit.revision" value="UNKNOWN"/>
+		<mkdir dir="${revision.dir}" />
+		<echo file="${revision.dir}/REVISION">
+# automatically generated by JOSM build.xml - do not edit
+Revision: ${version.entry.commit.revision}
+Is-Local-Build: true
+Build-Date: ${build.tstamp}
+Debian-Release: ${debian.version}
+</echo>
+	</target>
+
+
+	<target name="dist" depends="compile,create-revision">
+		<xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
+		<property name="version.entry.commit.revision" value="UNKNOWN"/>
+		<property name="version.entry.commit.date" value="UNKNOWN"/>
+		<echo>Revision ${version.entry.commit.revision}</echo>
+		<copy file="CONTRIBUTION" todir="build"/>
+		<copy file="README" todir="build"/>
+		<copy file="LICENSE" todir="build"/>
+
+		<ant target="dist" dir="i18n"/>
+
+		<!-- create josm-custom.jar -->
+		<jar destfile="dist/josm-custom.jar" basedir="build" level="${clevel}">
+			<!-- add attribute excludes="**/*BZip2*,**/*Bzip2*" to create a non-bzip2 supporting jar -->
+			<manifest>
+				<attribute name="Main-class" value="JOSM" />
+				<attribute name="Main-Version" value="${version.entry.commit.revision} SVN"/>
+				<attribute name="Main-Date" value="${version.entry.commit.date}"/>
+				<attribute name="Debian-Release" value="${debian.version}"/>
+				<attribute name="Class-Path" value="/usr/share/java/gettext-commons.jar /usr/share/java/metadata-extractor.jar /usr/share/java/signpost-core.jar"/>
+			</manifest>
+			<zipfileset dir="images" prefix="images" />
+			<zipfileset dir="data" prefix="data" />
+			<zipfileset dir="styles" prefix="styles" />
+			<zipfileset dir="src/org/openstreetmap/gui/jmapviewer/images" prefix="org/openstreetmap/gui/jmapviewer/images" />
+		</jar>
+	</target>
+
+	<target name="distmac" depends="dist">
+		<!-- modify MacOS X Info.plist file to hold the SVN version number -->
+		<copy file="macosx/JOSM.app/Contents/Info.plist" todir="build"/>
+		<replace file="build/Info.plist" token="@SVNVersion@" value="${version.entry.commit.revision}"/>
+		<!-- create ZIP file with MacOS X application bundle -->
+		<zip destfile="dist/josm-custom-macosx.zip" update="true">
+			<zipfileset dir="build" includes="CONTRIBUTION README LICENSE"/>
+			<zipfileset dir="macosx" includes="JOSM.app/Contents JOSM.app/Contents/MacOS JOSM.app/Contents/Resources JOSM.app/Contents/Resources/Java JOSM.app/Contents/PkgInfo JOSM.app/Contents/Resources/JOSM.icns"/>
+			<zipfileset dir="build" includes="Info.plist" prefix="JOSM.app/Contents"/>
+			<zipfileset dir="dist" includes="josm-custom.jar" prefix="JOSM.app/Contents/Resources/Java"/>
+			<zipfileset dir="macosx" includes="JOSM.app/Contents/MacOS/JOSM" filemode="755"/>
+		</zip>
+	</target>
+
+	<target name="compile" depends="init">
+		<javac srcdir="src" classpathref="classpath" destdir="build"
+				target="1.5" source="1.5" debug="on" encoding="UTF-8">
+			<compilerarg value="-Xlint:deprecation"/>
+			<compilerarg value="-Xlint:unchecked"/>
+		</javac>
+		<ant target="build" dir="i18n"/>
+	</target>
+
+	<target name="init">
+		<mkdir dir="build" />
+		<mkdir dir="dist" />
+	</target>
+
+	<target name="clean">
+		<delete dir="build" />
+		<delete dir="dist" />
+		<ant target="clean" dir="i18n"/>
+	</target>
+
+	<target name="javacc">
+		<exec executable="javacc">
+			<arg value="-debug_parser=false"/>
+			<arg value="-debug_lookahead=false"/>
+			<arg value="-debug_token_manager=false"/>
+			<arg value="-output_directory=${src.dir}/org/openstreetmap/josm/gui/mappaint/mapcss/parser"/>
+			<arg value="${src.dir}/org/openstreetmap/josm/gui/mappaint/mapcss/parser/MapCSSParser.jj"/>
+		</exec>
+	</target>
+
+	<path id="test.classpath">
+		<fileset dir="${test.dir}/lib">
+			<include name="**/*.jar"/>
+		</fileset>
+		<fileset dir="lib">
+			<include name="**/*.jar"/>
+		</fileset>
+		<pathelement path="dist/josm-custom.jar"/>
+	</path>
+
+	<target name="test-init">
+		<mkdir dir="${test.dir}/${build.dir}" />
+		<mkdir dir="${test.dir}/report" />
+	</target>
+
+	<target name="test-clean">
+		<delete dir="${test.dir}/${build.dir}"/>
+		<delete dir="${test.dir}/report"/>
+	</target>
+
+	<target name="test-compile" depends="test-init,dist">
+		<javac srcdir="${test.dir}/unit" classpathref="test.classpath" destdir="${test.dir}/${build.dir}"
+				target="1.5" source="1.5" debug="on" encoding="UTF-8">
+			<compilerarg value="-Xlint:deprecation"/>
+			<compilerarg value="-Xlint:unchecked"/>
+		</javac>
+		<javac srcdir="${test.dir}/functional" classpathref="test.classpath" destdir="${test.dir}/${build.dir}"
+						target="1.5" source="1.5" debug="on" encoding="UTF-8">
+			<compilerarg value="-Xlint:deprecation"/>
+			<compilerarg value="-Xlint:unchecked"/>
+		</javac>
+	</target>
+
+	<target name="test" depends="test-compile">
+		<junit printsummary="yes">
+			<sysproperty key="josm.home" value="${test.dir}/config/unit-josm.home"/>
+			<sysproperty key="java.awt.headless" value="true"/>
+			<classpath>
+				<path refid="test.classpath"/>
+				<pathelement path="${test.dir}/${build.dir}"/>
+				<pathelement path="${test.dir}/config"/>
+			</classpath>
+			<formatter type="plain"/>
+			<formatter type="xml"/>
+			<batchtest fork="yes" todir="${test.dir}/report">
+				<fileset dir="${test.dir}/unit" includes="**/*.java"/>
+			</batchtest>
+		</junit>
+	</target>
+
+	<target name="test-html" depends="test" description="Generate HTML test reports">
+		<!-- May require additional ant dependencies like ant-trax package -->
+		<junitreport todir="${test.dir}/report">
+			<fileset dir="${test.dir}/report">
+				<include name="TEST-*.xml"/>
+			</fileset>
+			<report todir="${test.dir}/report/html"/>
+		</junitreport>
+	</target>
+
+	<target name="dist-optimized" depends="dist">
+		<taskdef resource="proguard/ant/task.properties" classpath="tools/proguard.jar" />
+		<proguard>
+	 	-injars dist/josm-custom.jar
+	 	-outjars dist/josm-custom-optimized.jar
+
+	 	-libraryjars ${java.home}/lib/rt.jar
+	 	-libraryjars ${java.home}/lib/jce.jar
+
+	 	-dontoptimize
+	 	-dontobfuscate
+
+	 	-dontskipnonpubliclibraryclasses
+
+	 	-keepclasseswithmembers public class org.openstreetmap.josm.gui.MainApplication {
+	 	    public static void main(java.lang.String[]);
+	 	}
+
+		-keep class JOSM
+	 	-keep class * extends org.openstreetmap.josm.io.FileImporter
+	 	-keep class * extends org.openstreetmap.josm.io.FileExporter
+	 	-keep class org.openstreetmap.josm.actions.search.SearchCompiler$Never
+
+	 	-keepclassmembers enum  * {
+	 	    public static **[] values();
+	 	    public static ** valueOf(java.lang.String);
+	 	}
+
+	 	-keepclassmembers class * {
+	 	    public protected *;
+	 	}
+		</proguard>
+	</target>
+
+	<target name="check-plugins" depends="dist-optimized">
+		<echo message="Check of plugins binary compatibility (needs ant 1.8)"/>
+
+		<local name="dir"/>
+		<local name="plugins"/>
+
+		<property name="dir" value="plugin-check"/>
+
+		<typedef uri="antlib:org.codehaus.mojo.animal_sniffer">
+			<classpath path="tools/animal-sniffer-ant-tasks-1.5.jar" />
+		</typedef>
+
+		<delete dir="${dir}"/>
+
+		<mkdir dir="${dir}"/>
+
+		<as:build-signatures destfile="${dir}/api.sig">
+			<path>
+				<fileset file="dist/josm-custom-optimized.jar" />
+				<fileset file="${java.home}/lib/rt.jar" />
+				<fileset file="${java.home}/lib/jce.jar" />
+			</path>
+		</as:build-signatures>
+		
+		<!-- List of deprecated plugins -->
+		<loadfile property="deprecated-plugins" srcFile="src/org/openstreetmap/josm/plugins/PluginHandler.java">
+			<filterchain>
+				<linecontains>
+					<contains value="new DeprecatedPlugin("/>
+				</linecontains>
+				<tokenfilter>
+					<replaceregex pattern='.*new DeprecatedPlugin\("(.+?)".*' replace="\1|" flags="gi"/>
+				</tokenfilter>
+				<striplinebreaks/>				
+				<tokenfilter>
+					<replaceregex pattern='\|$' replace="" flags="gi"/>
+				</tokenfilter>
+			</filterchain>
+		</loadfile>
+		
+		<!-- Download plugins -->
+		<loadresource property="plugins">
+			<url url="http://josm.openstreetmap.de/plugin"/>
+			<filterchain>
+				<linecontainsregexp negate="true">
+					<regexp pattern="^\t.*"/>
+				</linecontainsregexp>
+				<linecontainsregexp negate="true">
+					<regexp pattern="${deprecated-plugins}"/>
+				</linecontainsregexp>
+				<tokenfilter>
+					<replaceregex pattern="^.*;" replace="" flags="gi"/>
+				</tokenfilter>
+			</filterchain>
+		</loadresource>
+
+		<copy todir="${dir}" flatten="true">
+			<resourcelist>
+				<string value="${plugins}"/>
+			</resourcelist>
+		</copy>
+
+		<!-- Check plugins -->
+		<as:check-signature signature="${dir}/api.sig">
+			<ignore classname="org.jgraph.*"/>
+			<ignore classname="com.touchgraph.*"/>
+			<ignore classname="com.sun.xml.fastinfoset.*"/>
+			<ignore classname="javax.jms.*"/>
+			<ignore classname="org.jvnet.staxex.*"/>
+			<ignore classname="javax.mail.*"/>
+			<ignore classname="com.sun.jdmk.*"/>
+			<ignore classname="org.apache.avalon.framework.logger.Logger"/>
+			<ignore classname="org.apache.log.*"/>
+			<ignore classname="junit.*"/>
+			<path path="${dir}"/>
+		</as:check-signature>
+
+	</target>
+
+
+</project>

=== added directory '.pc/90-fix_version.patch/src'
=== added directory '.pc/90-fix_version.patch/src/org'
=== added directory '.pc/90-fix_version.patch/src/org/openstreetmap'
=== added directory '.pc/90-fix_version.patch/src/org/openstreetmap/josm'
=== added directory '.pc/90-fix_version.patch/src/org/openstreetmap/josm/data'
=== added file '.pc/90-fix_version.patch/src/org/openstreetmap/josm/data/Version.java'
--- .pc/90-fix_version.patch/src/org/openstreetmap/josm/data/Version.java	1970-01-01 00:00:00 +0000
+++ .pc/90-fix_version.patch/src/org/openstreetmap/josm/data/Version.java	2011-08-22 12:04:26 +0000
@@ -0,0 +1,214 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.data;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Map.Entry;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.tools.LanguageInfo;
+
+/**
+ * Provides basic information about the currently used JOSM build.
+ *
+ */
+public class Version {
+    /** constant to indicate that the currnt build isn't assigned a JOSM version number */
+    static public final int JOSM_UNKNOWN_VERSION = 0;
+
+    /** the unique instance */
+    private static Version instance;
+
+    /**
+     * Load the specified resource as string.
+     *
+     * @param resource the resource url to load
+     * @return  the content of the resource file; null, if an error occurred
+     */
+    static public String loadResourceFile(URL resource) {
+        if (resource == null) return null;
+        BufferedReader in;
+        String s = null;
+        try {
+            in = new BufferedReader(new InputStreamReader(resource.openStream()));
+            StringBuffer sb = new StringBuffer();
+            for (String line = in.readLine(); line != null; line = in.readLine()) {
+                sb.append(line).append("\n");
+            }
+            s = sb.toString();
+        } catch (IOException e) {
+            System.err.println(tr("Failed to load resource ''{0}'', error is {1}.", resource.toString(), e.toString()));
+            e.printStackTrace();
+        }
+        return s;
+    }
+
+    /**
+     * Replies the unique instance of the version information
+     *
+     * @return the unique instance of the version information
+     */
+
+    static public Version getInstance() {
+        if (instance == null) {
+            instance = new Version();
+            instance.init();
+        }
+        return instance;
+    }
+
+    private int version;
+    private String revision;
+    private String debianVersion;
+    private String time;
+    private boolean isLocalBuild;
+
+    protected HashMap<String, String> parseManifestStyleFormattedString(String content) {
+        HashMap<String, String> properties = new HashMap<String, String>();
+        if (content == null) return properties;
+        Pattern p = Pattern.compile("^([^:]+):(.*)$");
+        for (String line: content.split("\n")) {
+            if (line == null || line.trim().equals("")) {
+                continue;
+            }
+            if (line.matches("^\\s*#.*$")) {
+                continue;
+            }
+            Matcher m = p.matcher(line);
+            if (m.matches()) {
+                properties.put(m.group(1), m.group(2));
+            }
+        }
+        return properties;
+    }
+
+    /**
+     * Initializes the version infos from the revision resource file
+     *
+     * @param revisionInfo the revision info loaded from a revision resource file
+     */
+    protected void initFromRevisionInfo(String revisionInfo) {
+        if (revisionInfo == null) {
+            this.revision = tr("UNKNOWN");
+            this.version = JOSM_UNKNOWN_VERSION;
+            this.time = null;
+            return;
+        }
+
+        HashMap<String, String> properties = parseManifestStyleFormattedString(revisionInfo);
+        String value = properties.get("Revision");
+        if (value != null) {
+            value = value.trim();
+            try {
+                version = Integer.parseInt(value);
+            } catch(NumberFormatException e) {
+                version = 0;
+                System.err.println(tr("Warning: unexpected JOSM version number in revison file, value is ''{0}''", value));
+            }
+        } else {
+            version = JOSM_UNKNOWN_VERSION;
+        }
+
+        debianVersion = properties.get("Debian-Release");
+
+        // the last changed data
+        //
+        time = properties.get("Last Changed Date");
+        if (time == null) {
+            time = properties.get("Build-Date");
+        }
+
+        // is this a local build ?
+        //
+        isLocalBuild = false;
+        value = properties.get("Is-Local-Build");
+        if (value != null && value.trim().toLowerCase().equals("true"))  {
+            isLocalBuild = true;
+        }
+
+        // the revision info
+        //
+        StringBuffer sb = new StringBuffer();
+        for(Entry<String,String> property: properties.entrySet()) {
+            sb.append(property.getKey()).append(":").append(property.getValue()).append("\n");
+        }
+        revision = sb.toString();
+    }
+
+    public void init() {
+        URL u = Main.class.getResource("/REVISION");
+        if (u == null) {
+            System.err.println(tr("Warning: the revision file ''/REVISION'' is missing."));
+            version = 0;
+            revision = "";
+            return;
+        }
+        initFromRevisionInfo(loadResourceFile(u));
+        System.out.println(revision);
+    }
+
+    /**
+     * Replies the version string. Either the SVN revision "1234" (as string) or the
+     * the I18n equivalent of "UNKNOWN".
+     *
+     * @return the JOSM version
+     */
+    public String getVersionString() {
+        return  version == 0 ? tr("UNKNOWN") : Integer.toString(version);
+    }
+
+    public String getDebianVersionString() {
+        return  debianVersion;
+    }
+
+    /**
+     * Replies a text with the release attributes
+     *
+     * @return a text with the release attributes
+     */
+    public String getReleaseAttributes() {
+        return revision;
+    }
+
+    /**
+     * Replies the build date as string
+     *
+     * @return the build date as string
+     */
+    public String getTime() {
+        return time;
+    }
+
+    /**
+     * Replies the JOSM version. Replies {@see #JOSM_UNKNOWN_VERSION} if the version isn't known.
+     * @return the JOSM version
+     */
+    public int getVersion() {
+        return version;
+    }
+
+    /**
+     * Replies true if this is a local build, i.e. an inofficial development build.
+     *
+     * @return true if this is a local build, i.e. an inofficial development build.
+     */
+    public boolean isLocalBuild() {
+        return isLocalBuild;
+    }
+
+    public String getAgentString() {
+        int v = getVersion();
+        String s = (v == JOSM_UNKNOWN_VERSION) ? "UNKNOWN" : Integer.toString(v);
+        if (isLocalBuild() && v != JOSM_UNKNOWN_VERSION) {
+            s += " SVN";
+        }
+        return "JOSM/1.5 ("+ s+" "+LanguageInfo.getJOSMLocaleCode()+")";
+    }
+}

=== added file '.pc/applied-patches'
--- .pc/applied-patches	1970-01-01 00:00:00 +0000
+++ .pc/applied-patches	2011-08-22 12:04:26 +0000
@@ -0,0 +1,7 @@
+10-build.patch
+20-bts.patch
+40-elemstyles.patch
+50-preferences_world_readable.patch
+70-default_look_and_feel.patch
+80-fix_images.patch
+90-fix_version.patch

=== added file '.project'
--- .project	1970-01-01 00:00:00 +0000
+++ .project	2011-08-22 12:04:26 +0000
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>JOSM</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
+			<triggers>full,incremental,</triggers>
+			<arguments>
+				<dictionary>
+					<key>LaunchConfigHandle</key>
+					<value>&lt;project&gt;/.externalToolBuilders/revision.launch</value>
+				</dictionary>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.groovy.core.groovyNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>

=== renamed file '.project' => '.project.moved'
=== added directory '.settings'
=== renamed directory '.settings' => '.settings.moved'
=== added file '.settings/org.eclipse.jdt.core.prefs'
--- .settings/org.eclipse.jdt.core.prefs	1970-01-01 00:00:00 +0000
+++ .settings/org.eclipse.jdt.core.prefs	2011-08-22 12:04:26 +0000
@@ -0,0 +1,335 @@
+#Sun May 23 17:35:27 CEST 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=false
+org.eclipse.jdt.core.formatter.comment.format_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=false
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
+org.eclipse.jdt.core.formatter.comment.format_line_comments=false
+org.eclipse.jdt.core.formatter.comment.format_source_code=false
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=do not insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=100
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=true
+org.eclipse.jdt.core.formatter.join_wrapped_lines=true
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=space
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true

=== added file '.settings/org.eclipse.jdt.ui.prefs'
--- .settings/org.eclipse.jdt.ui.prefs	1970-01-01 00:00:00 +0000
+++ .settings/org.eclipse.jdt.ui.prefs	2011-08-22 12:04:26 +0000
@@ -0,0 +1,59 @@
+#Wed Jan 27 11:53:40 EST 2010
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_josm
+formatter_settings_version=11
+org.eclipse.jdt.ui.javadoc=false
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">// License\: GPL. \r\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author ${user}\r\n *\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\r\n * \r\n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="false" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">// License\: GPL. For details, see LICENSE file.\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\r\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter function" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter function" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created JavaScript files" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.filecomment" name\="filecomment">/**\r\n * \r\n */</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author ${user}\r\n *\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for vars" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\r\n * \r\n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding function" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding functions" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Jsdoc)\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate functions" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\r\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created function stubs" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated function stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=false
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=true
+sp_cleanup.format_source_code=false
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.make_local_variable_final=false
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=false
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=false
+sp_cleanup.remove_unused_imports=false
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true

=== added file 'CONTRIBUTION'
--- CONTRIBUTION	1970-01-01 00:00:00 +0000
+++ CONTRIBUTION	2011-08-22 12:04:26 +0000
@@ -0,0 +1,44 @@
+JOSM was originally designed and coded by Immanuel Scholz,
+and is now maintained by the OpenStreetMap community.
+
+The current JOSM maintainer is Dirk Stöcker.
+A lot of administration work is done by Sebastian Klein.
+
+Major code contributions from (in alphabetical order):
+
+Stefan Breunig
+David Earl
+Gabriel Ebner
+Dave Hansen
+Karl Guggisberg
+Matthias Julius
+Sebastian Klein
+Jiri Klement
+Ulf Lamping
+Raphael Mack
+Upliner Mikhalych
+Frederik Ramm
+Dirk Stöcker
+
+Many minor contributions and patches by others; see SVN history
+at http://josm.openstreetmap.de/svn/ for details. Use
+"josm-dev AT openstreetmap.org" to contact still active authors.
+
+Copyright rests with the contributors.
+
+The jpeg metadata extraction code is from Drew Noakes
+(http://drewnoakes.com/code/exif).
+
+Most icons have been nicked from GNOME and the GIMP, both
+under GPL. Some are originally LGPL but redistributed here under 
+GPL. The world image is from onearth.pl.
+
+The gettext-commons-0.9.jar is from Felix Berger and Steffen 
+Pingel (http://xnap-commons.sourceforge.net/gettext-commons/).
+The jar file is licensed under LGPL.
+
+The Bzip2 code is from Keiron Liddle (Apache project) and licensed
+with Apache license version 2.0.
+
+The signpost code (http://code.google.com/p/oauth-signpost/)
+is from Matthias Käppler and licensed with the Apache License 2.0.

=== renamed file 'CONTRIBUTION' => 'CONTRIBUTION.moved'
=== added file 'LICENSE'
--- LICENSE	1970-01-01 00:00:00 +0000
+++ LICENSE	2011-08-22 12:04:26 +0000
@@ -0,0 +1,19 @@
+JOSM License
+============
+
+JOSM, and all its integral parts, are released under the GNU General 
+Public License v2 or later.
+
+The GPL v3 is accessible here:
+http://www.gnu.org/licenses/gpl.html
+
+The GPL v2 is accessible here:
+http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+
+When compiled with Bzip2 support code included the whole software is licensed
+GPL v3 or later.
+
+
+
+Note: This is not valid for JOSM plugins. These are not considered
+an integral part of JOSM and may be under any license.

=== renamed file 'LICENSE' => 'LICENSE.moved'
=== added file 'README'
--- README	1970-01-01 00:00:00 +0000
+++ README	2011-08-22 12:04:26 +0000
@@ -0,0 +1,50 @@
+This is a readme.txt to the Java OpenStreetMap Editor
+
+
+Install Notes
+-------------
+
+To run JOSM, you need:
+
+* The jar file (e.g. josm.jar)
+* The latest Java Runtime Environment 1.6. 
+
+
+How to get Java
+---------------
+
+You need at least Version 1.6 (called Java6). 
+
+Microsoft Windows people should just visit java.sun.com and
+download the latest Java6 executable. 
+
+To get Java under linux, either download the environment 
+directly from Sun at http://java.sun.com (there is a linux 
+binary installer which you have to execute from a console) or
+use the mechanisms of your distributions packaging system.
+
+How to launch
+-------------
+
+Microsoft Windows people launch by double clicking on the jar file.
+If this does not help, open a command shell and type 
+"java -jar josm-latest.jar" in the directory that holds the file.
+(Please replace josm-latest.jar with the name of your jar file, if
+you don't used the latest version.)
+
+Under Linux open a shell, go to the file directory and type
+"java -jar josm-latest.jar" to launch. If this don't help, try to set
+you JAVA_HOME variable to the java location (the root location, not
+the bin)
+
+MacOS people just click on the jar-file.
+
+
+How to get the Source
+---------------------
+
+Download it directly from the subversion at 
+https://josm.openstreetmap.de/svn/trunk. To use the command line
+subverion client, type
+
+svn co https://josm.openstreetmap.de/svn/trunk

=== renamed file 'README' => 'README.moved'
=== added file 'REVISION'
--- REVISION	1970-01-01 00:00:00 +0000
+++ REVISION	2011-08-22 12:04:26 +0000
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<info>
+<entry
+   kind="dir"
+   path="trunk"
+   revision="4064">
+<url>http://josm.openstreetmap.de/svn/trunk</url>
+<repository>
+<root>http://josm.openstreetmap.de/svn</root>
+<uuid>0c6e7542-c601-0410-84e7-c038aed88b3b</uuid>
+</repository>
+<commit
+   revision="4064">
+<author>bastiK</author>
+<date>2011-04-25T18:32:26.424951Z</date>
+</commit>
+</entry>
+</info>

=== added file 'build.xml'
--- build.xml	1970-01-01 00:00:00 +0000
+++ build.xml	2011-08-22 12:04:26 +0000
@@ -0,0 +1,308 @@
+<!-- ** build.xml - main ant file for JOSM
+**
+** To build run
+**    ant clean
+**    ant dist
+** This will create 'josm-custom.jar'  in directory 'dist'. See also
+**   https://josm.openstreetmap.de/wiki/CreateBuild
+**
+**
+-->
+<project name="josm" default="dist" basedir="." xmlns:as="antlib:org.codehaus.mojo.animal_sniffer">
+	<property name="test.dir" value="test" />
+	<property name="src.dir" value="src" />
+	<property name="build.dir" value="build"/>
+	<!-- build parameter: compression level (ant -Dclevel=N)
+             N ranges from 0 (no compression) to 9 (maximum compression)
+             default: 9 -->
+	<condition property="clevel" value="${clevel}" else="9">
+		<isset property="clevel" />
+	</condition>
+
+	<!-- Java classpath addition (all jar files to compile tests with this) -->
+	<path id="classpath">
+		<fileset dir="/usr/share/java">
+			<include name="gettext-commons.jar"/>
+			<include name="metadata-extractor.jar"/>
+		</fileset>
+	</path>
+
+
+	<!--
+	  ** Used by Eclipse ant builder for updating
+	  ** the REVISION file used by JOSM
+	-->
+	<target name="create-revision-eclipse">
+		<property name="revision.dir" value="bin"/>
+		<antcall target="create-revision" />
+	</target>
+
+	<!--
+	  ** Creates the REVISION file to be included in the distribution
+	  -->
+	<target name="create-revision">
+		<property name="revision.dir" value="${build.dir}"/>
+		<xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
+		<tstamp>
+			<format property="build.tstamp" pattern="yyyy-MM-dd HH:mm:ss"/>
+		</tstamp>
+
+		<property name="version.entry.commit.revision" value="UNKNOWN"/>
+		<mkdir dir="${revision.dir}" />
+		<echo file="${revision.dir}/REVISION">
+# automatically generated by JOSM build.xml - do not edit
+Revision: ${version.entry.commit.revision}
+Is-Local-Build: true
+Build-Date: ${build.tstamp}
+Debian-Release: ${debian.version}
+</echo>
+	</target>
+
+
+	<target name="dist" depends="compile,create-revision">
+		<xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
+		<property name="version.entry.commit.revision" value="UNKNOWN"/>
+		<property name="version.entry.commit.date" value="UNKNOWN"/>
+		<echo>Revision ${version.entry.commit.revision}</echo>
+		<copy file="CONTRIBUTION" todir="build"/>
+		<copy file="README" todir="build"/>
+		<copy file="LICENSE" todir="build"/>
+
+		<ant target="dist" dir="i18n"/>
+
+		<!-- create josm-custom.jar -->
+		<jar destfile="dist/josm-custom.jar" basedir="build" level="${clevel}">
+			<!-- add attribute excludes="**/*BZip2*,**/*Bzip2*" to create a non-bzip2 supporting jar -->
+			<manifest>
+				<attribute name="Main-class" value="JOSM" />
+				<attribute name="Main-Version" value="${version.entry.commit.revision}"/>
+				<attribute name="Main-Date" value="${version.entry.commit.date}"/>
+				<attribute name="Debian-Release" value="${debian.version}"/>
+				<attribute name="Class-Path" value="/usr/share/java/gettext-commons.jar /usr/share/java/metadata-extractor.jar /usr/share/java/signpost-core.jar"/>
+			</manifest>
+			<zipfileset dir="images" prefix="images" />
+			<zipfileset dir="data" prefix="data" />
+			<zipfileset dir="styles" prefix="styles" />
+			<zipfileset dir="src/org/openstreetmap/gui/jmapviewer/images" prefix="org/openstreetmap/gui/jmapviewer/images" />
+		</jar>
+	</target>
+
+	<target name="distmac" depends="dist">
+		<!-- modify MacOS X Info.plist file to hold the SVN version number -->
+		<copy file="macosx/JOSM.app/Contents/Info.plist" todir="build"/>
+		<replace file="build/Info.plist" token="@SVNVersion@" value="${version.entry.commit.revision}"/>
+		<!-- create ZIP file with MacOS X application bundle -->
+		<zip destfile="dist/josm-custom-macosx.zip" update="true">
+			<zipfileset dir="build" includes="CONTRIBUTION README LICENSE"/>
+			<zipfileset dir="macosx" includes="JOSM.app/Contents JOSM.app/Contents/MacOS JOSM.app/Contents/Resources JOSM.app/Contents/Resources/Java JOSM.app/Contents/PkgInfo JOSM.app/Contents/Resources/JOSM.icns"/>
+			<zipfileset dir="build" includes="Info.plist" prefix="JOSM.app/Contents"/>
+			<zipfileset dir="dist" includes="josm-custom.jar" prefix="JOSM.app/Contents/Resources/Java"/>
+			<zipfileset dir="macosx" includes="JOSM.app/Contents/MacOS/JOSM" filemode="755"/>
+		</zip>
+	</target>
+
+	<target name="compile" depends="init">
+		<javac srcdir="src" classpathref="classpath" destdir="build"
+				target="1.5" source="1.5" debug="on" encoding="UTF-8">
+			<compilerarg value="-Xlint:deprecation"/>
+			<compilerarg value="-Xlint:unchecked"/>
+		</javac>
+		<ant target="build" dir="i18n"/>
+	</target>
+
+	<target name="init">
+		<mkdir dir="build" />
+		<mkdir dir="dist" />
+	</target>
+
+	<target name="clean">
+		<delete dir="build" />
+		<delete dir="dist" />
+		<ant target="clean" dir="i18n"/>
+	</target>
+
+	<target name="javacc">
+		<exec executable="javacc">
+			<arg value="-debug_parser=false"/>
+			<arg value="-debug_lookahead=false"/>
+			<arg value="-debug_token_manager=false"/>
+			<arg value="-output_directory=${src.dir}/org/openstreetmap/josm/gui/mappaint/mapcss/parser"/>
+			<arg value="${src.dir}/org/openstreetmap/josm/gui/mappaint/mapcss/parser/MapCSSParser.jj"/>
+		</exec>
+	</target>
+
+	<path id="test.classpath">
+		<fileset dir="${test.dir}/lib">
+			<include name="**/*.jar"/>
+		</fileset>
+		<fileset dir="lib">
+			<include name="**/*.jar"/>
+		</fileset>
+		<pathelement path="dist/josm-custom.jar"/>
+	</path>
+
+	<target name="test-init">
+		<mkdir dir="${test.dir}/${build.dir}" />
+		<mkdir dir="${test.dir}/report" />
+	</target>
+
+	<target name="test-clean">
+		<delete dir="${test.dir}/${build.dir}"/>
+		<delete dir="${test.dir}/report"/>
+	</target>
+
+	<target name="test-compile" depends="test-init,dist">
+		<javac srcdir="${test.dir}/unit" classpathref="test.classpath" destdir="${test.dir}/${build.dir}"
+				target="1.5" source="1.5" debug="on" encoding="UTF-8">
+			<compilerarg value="-Xlint:deprecation"/>
+			<compilerarg value="-Xlint:unchecked"/>
+		</javac>
+		<javac srcdir="${test.dir}/functional" classpathref="test.classpath" destdir="${test.dir}/${build.dir}"
+						target="1.5" source="1.5" debug="on" encoding="UTF-8">
+			<compilerarg value="-Xlint:deprecation"/>
+			<compilerarg value="-Xlint:unchecked"/>
+		</javac>
+	</target>
+
+	<target name="test" depends="test-compile">
+		<junit printsummary="yes">
+			<syspropert