Index: trunk/sources/HeuristicLab.Visualization.Test/LegendForm.cs
===================================================================
--- trunk/sources/HeuristicLab.Visualization.Test/LegendForm.cs	(revision 1194)
+++ trunk/sources/HeuristicLab.Visualization.Test/LegendForm.cs	(revision 1195)
@@ -14,5 +14,5 @@
     private void CreateLegendShape() {
       WorldShape mainShape = canvasUI.MainCanvas.WorldShape;
-      LegendShape ls = new LegendShape(0, 0, 100, 100, 0, Color.White);
+      LegendShape ls = new LegendShape();
       ls.AddLegendItem(new LegendItem("test", Color.Black, 5));
       ls.AddLegendItem(new LegendItem("test2", Color.Red, 5));
Index: trunk/sources/HeuristicLab.Visualization/HeuristicLab.Visualization.csproj
===================================================================
--- trunk/sources/HeuristicLab.Visualization/HeuristicLab.Visualization.csproj	(revision 1194)
+++ trunk/sources/HeuristicLab.Visualization/HeuristicLab.Visualization.csproj	(revision 1195)
@@ -87,8 +87,8 @@
     <Compile Include="LabelProvider\ILabelProvider.cs" />
     <Compile Include="IMouseEventListener.cs" />
-    <Compile Include="OptionsDialog.cs">
+    <Compile Include="Options\OptionsDialog.cs">
       <SubType>Form</SubType>
     </Compile>
-    <Compile Include="OptionsDialog.Designer.cs">
+    <Compile Include="Options\OptionsDialog.Designer.cs">
       <DependentUpon>OptionsDialog.cs</DependentUpon>
     </Compile>
@@ -147,5 +147,5 @@
       <SubType>Designer</SubType>
     </EmbeddedResource>
-    <EmbeddedResource Include="OptionsDialog.resx">
+    <EmbeddedResource Include="Options\OptionsDialog.resx">
       <DependentUpon>OptionsDialog.cs</DependentUpon>
     </EmbeddedResource>
Index: trunk/sources/HeuristicLab.Visualization/LegendShape.cs
===================================================================
--- trunk/sources/HeuristicLab.Visualization/LegendShape.cs	(revision 1194)
+++ trunk/sources/HeuristicLab.Visualization/LegendShape.cs	(revision 1195)
@@ -16,26 +16,14 @@
 
 
-  public class LegendShape : CompositeShape {
-    private RectangleD boundingBox;
-    private Color color;
-
+  public class LegendShape : WorldShape {
     private readonly IList<LegendItem> legendItems = new List<LegendItem>();
-
-    public LegendShape(double x1, double y1, double x2, double y2, double z, Color color) {
-      boundingBox = new RectangleD(x1, y1, x2, y2);
-      Z = z;
-      this.color = color;
+    
+    public LegendShape() {
       CreateLegend();
     }
 
-    public double Z { get; set; }
-
-    public RectangleD BoundingBox {
-      get { return boundingBox; }
-      set { boundingBox = value; }
-    }
-
     public void CreateLegend() {
-      double y = boundingBox.Y2;
+      shapes.Clear();
+      double y = BoundingBox.Y2;
       foreach (LegendItem item in legendItems) {
         AddShape(new LineShape(10, y - 10, 30, y - 10, 0, item.Color, item.Thickness, DrawingStyle.Solid));
Index: trunk/sources/HeuristicLab.Visualization/LineChart.cs
===================================================================
--- trunk/sources/HeuristicLab.Visualization/LineChart.cs	(revision 1194)
+++ trunk/sources/HeuristicLab.Visualization/LineChart.cs	(revision 1195)
@@ -5,4 +5,5 @@
 using System.Windows.Forms;
 using HeuristicLab.Core;
+using HeuristicLab.Visualization.Options;
 
 namespace HeuristicLab.Visualization {
@@ -55,10 +56,4 @@
       root.AddShape(linesShape);
 
-      legendShape = new LegendShape(0, 0, 0, 0, 0, Color.Black);
-      //legendShape.AddLegendItem(new LegendItem("test", Color.Red, 5));
-      //legendShape.AddLegendItem(new LegendItem("test1", Color.Blue, 5));
-      //legendShape.AddLegendItem(new LegendItem("test2", Color.Pink, 5));
-      root.AddShape(legendShape);
-
       xAxis = new XAxis();
       root.AddShape(xAxis);
@@ -72,7 +67,11 @@
       minMaxLineShape = new MinMaxLineShape(this.minDataValue, this.maxDataValue, 0, Color.Yellow, 4, DrawingStyle.Solid);
       root.AddShape(minMaxLineShape);
+
+      legendShape = new LegendShape();
+      root.AddShape(legendShape);
+
       canvas.MainCanvas.WorldShape = root;
       canvas.Resize += delegate { UpdateLayout(); };
-
+      
       UpdateLayout();
       maxDataRowCount = 0;
@@ -117,4 +116,6 @@
 
       legendShape.BoundingBox = new RectangleD(10, 10, 110, canvas.Height - 50);
+      legendShape.ClippingArea = new RectangleD(0, 0, legendShape.BoundingBox.Width,
+                                                legendShape.BoundingBox.Height);
     }
 
Index: trunk/sources/HeuristicLab.Visualization/Options/OptionsDialog.Designer.cs
===================================================================
--- trunk/sources/HeuristicLab.Visualization/Options/OptionsDialog.Designer.cs	(revision 1195)
+++ trunk/sources/HeuristicLab.Visualization/Options/OptionsDialog.Designer.cs	(revision 1195)
@@ -0,0 +1,265 @@
+﻿namespace HeuristicLab.Visualization.Options {
+  partial class OptionsDialog {
+    /// <summary>
+    /// Required designer variable.
+    /// </summary>
+    private System.ComponentModel.IContainer components = null;
+
+    /// <summary>
+    /// Clean up any resources being used.
+    /// </summary>
+    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+    protected override void Dispose(bool disposing) {
+      if (disposing && (components != null)) {
+        components.Dispose();
+      }
+      base.Dispose(disposing);
+    }
+
+    #region Windows Form Designer generated code
+
+    /// <summary>
+    /// Required method for Designer support - do not modify
+    /// the contents of this method with the code editor.
+    /// </summary>
+    private void InitializeComponent() {
+      this.Optionstabs = new System.Windows.Forms.TabControl();
+      this.tabPage1 = new System.Windows.Forms.TabPage();
+      this.OptionsDialogSelectColorBt = new System.Windows.Forms.Button();
+      this.ColorPreviewTB = new System.Windows.Forms.TextBox();
+      this.label2 = new System.Windows.Forms.Label();
+      this.LinestyleCB = new System.Windows.Forms.ComboBox();
+      this.label1 = new System.Windows.Forms.Label();
+      this.LineSelectCB = new System.Windows.Forms.ComboBox();
+      this.groupBox1 = new System.Windows.Forms.GroupBox();
+      this.label4 = new System.Windows.Forms.Label();
+      this.LineThicknessCB = new System.Windows.Forms.ComboBox();
+      this.label3 = new System.Windows.Forms.Label();
+      this.tabPage2 = new System.Windows.Forms.TabPage();
+      this.cbLabelPosition = new System.Windows.Forms.ComboBox();
+      this.OptionsDialogCancelButton = new System.Windows.Forms.Button();
+      this.OptionsDialogOkButton = new System.Windows.Forms.Button();
+      this.labelposition = new System.Windows.Forms.Label();
+      this.Optionstabs.SuspendLayout();
+      this.tabPage1.SuspendLayout();
+      this.groupBox1.SuspendLayout();
+      this.tabPage2.SuspendLayout();
+      this.SuspendLayout();
+      // 
+      // Optionstabs
+      // 
+      this.Optionstabs.Controls.Add(this.tabPage1);
+      this.Optionstabs.Controls.Add(this.tabPage2);
+      this.Optionstabs.Location = new System.Drawing.Point(0, 1);
+      this.Optionstabs.Name = "Optionstabs";
+      this.Optionstabs.SelectedIndex = 0;
+      this.Optionstabs.Size = new System.Drawing.Size(292, 225);
+      this.Optionstabs.TabIndex = 0;
+      // 
+      // tabPage1
+      // 
+      this.tabPage1.Controls.Add(this.OptionsDialogSelectColorBt);
+      this.tabPage1.Controls.Add(this.ColorPreviewTB);
+      this.tabPage1.Controls.Add(this.label2);
+      this.tabPage1.Controls.Add(this.LinestyleCB);
+      this.tabPage1.Controls.Add(this.label1);
+      this.tabPage1.Controls.Add(this.LineSelectCB);
+      this.tabPage1.Controls.Add(this.groupBox1);
+      this.tabPage1.Location = new System.Drawing.Point(4, 22);
+      this.tabPage1.Name = "tabPage1";
+      this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
+      this.tabPage1.Size = new System.Drawing.Size(284, 199);
+      this.tabPage1.TabIndex = 0;
+      this.tabPage1.Text = "Linestyle";
+      this.tabPage1.UseVisualStyleBackColor = true;
+      // 
+      // OptionsDialogSelectColorBt
+      // 
+      this.OptionsDialogSelectColorBt.Location = new System.Drawing.Point(217, 126);
+      this.OptionsDialogSelectColorBt.Name = "OptionsDialogSelectColorBt";
+      this.OptionsDialogSelectColorBt.Size = new System.Drawing.Size(50, 23);
+      this.OptionsDialogSelectColorBt.TabIndex = 7;
+      this.OptionsDialogSelectColorBt.Text = "Select";
+      this.OptionsDialogSelectColorBt.UseVisualStyleBackColor = true;
+      this.OptionsDialogSelectColorBt.Click += new System.EventHandler(this.button1_Click);
+      // 
+      // ColorPreviewTB
+      // 
+      this.ColorPreviewTB.Location = new System.Drawing.Point(146, 127);
+      this.ColorPreviewTB.Name = "ColorPreviewTB";
+      this.ColorPreviewTB.ReadOnly = true;
+      this.ColorPreviewTB.Size = new System.Drawing.Size(64, 20);
+      this.ColorPreviewTB.TabIndex = 6;
+      // 
+      // label2
+      // 
+      this.label2.AutoSize = true;
+      this.label2.Location = new System.Drawing.Point(36, 80);
+      this.label2.Name = "label2";
+      this.label2.Size = new System.Drawing.Size(30, 13);
+      this.label2.TabIndex = 3;
+      this.label2.Text = "Style";
+      // 
+      // LinestyleCB
+      // 
+      this.LinestyleCB.FormattingEnabled = true;
+      this.LinestyleCB.Location = new System.Drawing.Point(146, 73);
+      this.LinestyleCB.Name = "LinestyleCB";
+      this.LinestyleCB.Size = new System.Drawing.Size(121, 21);
+      this.LinestyleCB.TabIndex = 2;
+      // 
+      // label1
+      // 
+      this.label1.AutoSize = true;
+      this.label1.Location = new System.Drawing.Point(7, 37);
+      this.label1.Name = "label1";
+      this.label1.Size = new System.Drawing.Size(72, 13);
+      this.label1.TabIndex = 1;
+      this.label1.Text = "Selected Line";
+      // 
+      // LineSelectCB
+      // 
+      this.LineSelectCB.FormattingEnabled = true;
+      this.LineSelectCB.Location = new System.Drawing.Point(146, 30);
+      this.LineSelectCB.Name = "LineSelectCB";
+      this.LineSelectCB.Size = new System.Drawing.Size(121, 21);
+      this.LineSelectCB.TabIndex = 0;
+      this.LineSelectCB.SelectedIndexChanged += new System.EventHandler(this.LineSelectCB_SelectedIndexChanged);
+      // 
+      // groupBox1
+      // 
+      this.groupBox1.Controls.Add(this.label4);
+      this.groupBox1.Controls.Add(this.LineThicknessCB);
+      this.groupBox1.Controls.Add(this.label3);
+      this.groupBox1.Location = new System.Drawing.Point(4, 54);
+      this.groupBox1.Name = "groupBox1";
+      this.groupBox1.Size = new System.Drawing.Size(274, 129);
+      this.groupBox1.TabIndex = 9;
+      this.groupBox1.TabStop = false;
+      this.groupBox1.Text = "Details";
+      // 
+      // label4
+      // 
+      this.label4.AutoSize = true;
+      this.label4.Location = new System.Drawing.Point(33, 77);
+      this.label4.Name = "label4";
+      this.label4.Size = new System.Drawing.Size(31, 13);
+      this.label4.TabIndex = 8;
+      this.label4.Text = "Color";
+      // 
+      // LineThicknessCB
+      // 
+      this.LineThicknessCB.FormattingEnabled = true;
+      this.LineThicknessCB.Location = new System.Drawing.Point(142, 46);
+      this.LineThicknessCB.Name = "LineThicknessCB";
+      this.LineThicknessCB.Size = new System.Drawing.Size(121, 21);
+      this.LineThicknessCB.TabIndex = 4;
+      // 
+      // label3
+      // 
+      this.label3.AutoSize = true;
+      this.label3.Location = new System.Drawing.Point(32, 52);
+      this.label3.Name = "label3";
+      this.label3.Size = new System.Drawing.Size(56, 13);
+      this.label3.TabIndex = 5;
+      this.label3.Text = "Thickness";
+      // 
+      // tabPage2
+      // 
+      this.tabPage2.Controls.Add(this.labelposition);
+      this.tabPage2.Controls.Add(this.cbLabelPosition);
+      this.tabPage2.Location = new System.Drawing.Point(4, 22);
+      this.tabPage2.Name = "tabPage2";
+      this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
+      this.tabPage2.Size = new System.Drawing.Size(284, 199);
+      this.tabPage2.TabIndex = 1;
+      this.tabPage2.Text = "Legend";
+      this.tabPage2.UseVisualStyleBackColor = true;
+      // 
+      // cbLabelPosition
+      // 
+      this.cbLabelPosition.FormattingEnabled = true;
+      this.cbLabelPosition.Items.AddRange(new object[] {
+            "left",
+            "right",
+            "top",
+            "bottom"});
+      this.cbLabelPosition.Location = new System.Drawing.Point(86, 34);
+      this.cbLabelPosition.Name = "cbLabelPosition";
+      this.cbLabelPosition.Size = new System.Drawing.Size(121, 21);
+      this.cbLabelPosition.TabIndex = 0;
+      // 
+      // OptionsDialogCancelButton
+      // 
+      this.OptionsDialogCancelButton.Location = new System.Drawing.Point(213, 232);
+      this.OptionsDialogCancelButton.Name = "OptionsDialogCancelButton";
+      this.OptionsDialogCancelButton.Size = new System.Drawing.Size(75, 23);
+      this.OptionsDialogCancelButton.TabIndex = 1;
+      this.OptionsDialogCancelButton.Text = "Cancel";
+      this.OptionsDialogCancelButton.UseVisualStyleBackColor = true;
+      this.OptionsDialogCancelButton.Click += new System.EventHandler(this.OptionsDialogCancelButton_Click);
+      // 
+      // OptionsDialogOkButton
+      // 
+      this.OptionsDialogOkButton.Location = new System.Drawing.Point(132, 232);
+      this.OptionsDialogOkButton.Name = "OptionsDialogOkButton";
+      this.OptionsDialogOkButton.Size = new System.Drawing.Size(75, 23);
+      this.OptionsDialogOkButton.TabIndex = 2;
+      this.OptionsDialogOkButton.Text = "OK";
+      this.OptionsDialogOkButton.UseVisualStyleBackColor = true;
+      this.OptionsDialogOkButton.Click += new System.EventHandler(this.OptionsDialogOkButton_Click);
+      // 
+      // labelposition
+      // 
+      this.labelposition.AutoSize = true;
+      this.labelposition.Location = new System.Drawing.Point(8, 38);
+      this.labelposition.Name = "labelposition";
+      this.labelposition.Size = new System.Drawing.Size(72, 13);
+      this.labelposition.TabIndex = 1;
+      this.labelposition.Text = "Labelposition:";
+      // 
+      // OptionsDialog
+      // 
+      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+      this.ClientSize = new System.Drawing.Size(292, 266);
+      this.Controls.Add(this.OptionsDialogOkButton);
+      this.Controls.Add(this.OptionsDialogCancelButton);
+      this.Controls.Add(this.Optionstabs);
+      this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+      this.MaximizeBox = false;
+      this.Name = "OptionsDialog";
+      this.Text = "OptionsDialog";
+      this.Load += new System.EventHandler(this.OptionsDialog_Load);
+      this.Optionstabs.ResumeLayout(false);
+      this.tabPage1.ResumeLayout(false);
+      this.tabPage1.PerformLayout();
+      this.groupBox1.ResumeLayout(false);
+      this.groupBox1.PerformLayout();
+      this.tabPage2.ResumeLayout(false);
+      this.tabPage2.PerformLayout();
+      this.ResumeLayout(false);
+
+    }
+
+    #endregion
+
+    private System.Windows.Forms.TabControl Optionstabs;
+    private System.Windows.Forms.TabPage tabPage1;
+    private System.Windows.Forms.TabPage tabPage2;
+    private System.Windows.Forms.Label label1;
+    private System.Windows.Forms.ComboBox LineSelectCB;
+    private System.Windows.Forms.Button OptionsDialogSelectColorBt;
+    private System.Windows.Forms.TextBox ColorPreviewTB;
+    private System.Windows.Forms.Label label3;
+    private System.Windows.Forms.ComboBox LineThicknessCB;
+    private System.Windows.Forms.Label label2;
+    private System.Windows.Forms.ComboBox LinestyleCB;
+    private System.Windows.Forms.Label label4;
+    private System.Windows.Forms.GroupBox groupBox1;
+    private System.Windows.Forms.Button OptionsDialogCancelButton;
+    private System.Windows.Forms.Button OptionsDialogOkButton;
+    private System.Windows.Forms.ComboBox cbLabelPosition;
+    private System.Windows.Forms.Label labelposition;
+  }
+}
Index: trunk/sources/HeuristicLab.Visualization/Options/OptionsDialog.cs
===================================================================
--- trunk/sources/HeuristicLab.Visualization/Options/OptionsDialog.cs	(revision 1195)
+++ trunk/sources/HeuristicLab.Visualization/Options/OptionsDialog.cs	(revision 1195)
@@ -0,0 +1,65 @@
+﻿using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace HeuristicLab.Visualization.Options {
+  public partial class OptionsDialog : Form {
+
+    private LineChart lc;
+
+    public OptionsDialog(LineChart lc) {
+      InitializeComponent();
+      this.lc = lc;
+    }
+
+
+    private void button1_Click(object sender, EventArgs e) {
+      var dlg = new ColorDialog();
+      dlg.ShowDialog();
+      this.ColorPreviewTB.BackColor = dlg.Color;
+    }
+
+    public IList<int> GetThicknesses() {
+      return new List<int>() {0, 1, 2, 3, 4, 5, 6, 7, 8};
+    }
+
+    public IList<DrawingStyle> GetStyles() {
+      return new List<DrawingStyle>() {DrawingStyle.Solid, DrawingStyle.Dashed};
+    }
+
+    private void OptionsDialog_Load(object sender, EventArgs e) {
+      this.LineSelectCB.DataSource = lc.GetRows();
+      this.LineSelectCB.DisplayMember = "Label";
+
+      LineThicknessCB.DataSource = GetThicknesses();
+      LinestyleCB.DataSource = GetStyles();
+      LineSelectCB.SelectedIndex = 0;
+      LineSelectCB_SelectedIndexChanged(this, null);
+    }
+
+    private void LineSelectCB_SelectedIndexChanged(object sender, EventArgs e) {
+      int index = this.LineThicknessCB.FindStringExact(((IDataRow) this.LineSelectCB.SelectedValue).Thickness.ToString());
+      this.LineThicknessCB.SelectedIndex = index;
+      index = this.LinestyleCB.FindStringExact(((IDataRow) this.LineSelectCB.SelectedValue).Style.ToString());
+      LinestyleCB.SelectedIndex = index;
+      this.ColorPreviewTB.BackColor = ((IDataRow) this.LineSelectCB.SelectedValue).Color;
+    }
+
+    private void OptionsDialogCancelButton_Click(object sender, EventArgs e) {
+      this.Close();
+    }
+
+    private void OptionsDialogOkButton_Click(object sender, EventArgs e) {
+      ((IDataRow) this.LineSelectCB.SelectedValue).Thickness = (int) this.LineThicknessCB.SelectedItem;
+      ((IDataRow) this.LineSelectCB.SelectedValue).Color = this.ColorPreviewTB.BackColor;
+      ((IDataRow) this.LineSelectCB.SelectedValue).Style = (DrawingStyle) this.LineThicknessCB.SelectedItem;
+      this.lc.ApplyChangesToRow((IDataRow) this.LineSelectCB.SelectedValue);
+      this.Close();
+    }
+  }
+}
Index: trunk/sources/HeuristicLab.Visualization/Options/OptionsDialog.resx
===================================================================
--- trunk/sources/HeuristicLab.Visualization/Options/OptionsDialog.resx	(revision 1195)
+++ trunk/sources/HeuristicLab.Visualization/Options/OptionsDialog.resx	(revision 1195)
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>
