###############################################################################
#  Copyright (c) 2000, 2009 IBM Corporation and others.
#  All rights reserved. This program and the accompanying materials
#  are made available under the terms of the Eclipse Public License v1.0
#  which accompanies this distribution, and is available at
#  http://www.eclipse.org/legal/epl-v10.html
# 
#  Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################

# ==============================================
# Universal Welcome plugin.xml properties file
# ==============================================

plugin_name = Universal Welcome
provider_name = Eclipse.org

theme.name.circles = Circles
theme.name.purpleMesh = Purple Mesh (Classic Eclipse)
theme.name.slate = Slate