typed arguments complete and ready for typed UDMF fields

This commit is contained in:
codeimp 2008-05-29 21:09:43 +00:00
parent fef9b74ca2
commit 54c8a82517
36 changed files with 2610 additions and 750 deletions

View file

@ -3686,8 +3686,8 @@ enums
{ {
yesno yesno
{ {
0 = "No";
1 = "Yes"; 1 = "Yes";
0 = "No";
} }
noyes noyes
@ -3704,8 +3704,8 @@ enums
offon offon
{ {
0 = "Off";
1 = "On"; 1 = "On";
0 = "Off";
} }
updown updown

View file

@ -6408,8 +6408,8 @@ enums
{ {
yesno yesno
{ {
0 = "No";
1 = "Yes"; 1 = "Yes";
0 = "No";
} }
noyes noyes
@ -6426,8 +6426,8 @@ enums
offon offon
{ {
0 = "Off";
1 = "On"; 1 = "On";
0 = "Off";
} }
updown updown
@ -6450,8 +6450,8 @@ enums
backfront backfront
{ {
0 = "Back";
1 = "Front"; 1 = "Front";
0 = "Back";
} }
keys keys

View file

@ -6393,8 +6393,8 @@ enums
{ {
yesno yesno
{ {
0 = "No";
1 = "Yes"; 1 = "Yes";
0 = "No";
} }
noyes noyes
@ -6411,8 +6411,8 @@ enums
offon offon
{ {
0 = "Off";
1 = "On"; 1 = "On";
0 = "Off";
} }
updown updown
@ -6435,8 +6435,8 @@ enums
backfront backfront
{ {
0 = "Back";
1 = "Front"; 1 = "Front";
0 = "Back";
} }
keys keys

View file

@ -5534,8 +5534,8 @@ enums
{ {
yesno yesno
{ {
0 = "No";
1 = "Yes"; 1 = "Yes";
0 = "No";
} }
noyes noyes
@ -5552,8 +5552,8 @@ enums
offon offon
{ {
0 = "Off";
1 = "On"; 1 = "On";
0 = "Off";
} }
updown updown
@ -5576,8 +5576,8 @@ enums
backfront backfront
{ {
0 = "Back";
1 = "Front"; 1 = "Front";
0 = "Back";
} }
keys keys

View file

@ -6490,8 +6490,8 @@ enums
{ {
yesno yesno
{ {
0 = "No";
1 = "Yes"; 1 = "Yes";
0 = "No";
} }
noyes noyes
@ -6508,8 +6508,8 @@ enums
offon offon
{ {
0 = "Off";
1 = "On"; 1 = "On";
0 = "Off";
} }
updown updown
@ -6532,8 +6532,8 @@ enums
backfront backfront
{ {
0 = "Back";
1 = "Front"; 1 = "Front";
0 = "Back";
} }
keys keys

View file

@ -5944,8 +5944,8 @@ enums
{ {
yesno yesno
{ {
0 = "No";
1 = "Yes"; 1 = "Yes";
0 = "No";
} }
noyes noyes
@ -5962,8 +5962,8 @@ enums
offon offon
{ {
0 = "Off";
1 = "On"; 1 = "On";
0 = "Off";
} }
updown updown
@ -5986,8 +5986,8 @@ enums
backfront backfront
{ {
0 = "Back";
1 = "Front"; 1 = "Front";
0 = "Back";
} }
keys keys

View file

@ -68,6 +68,12 @@
<Compile Include="Actions\EndActionAttribute.cs" /> <Compile Include="Actions\EndActionAttribute.cs" />
<Compile Include="Actions\KeyControl.cs" /> <Compile Include="Actions\KeyControl.cs" />
<Compile Include="Actions\MouseInput.cs" /> <Compile Include="Actions\MouseInput.cs" />
<Compile Include="Controls\ArgumentBox.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Controls\ArgumentBox.Designer.cs">
<DependentUpon>ArgumentBox.cs</DependentUpon>
</Compile>
<Compile Include="Data\DirectoryReader.cs" /> <Compile Include="Data\DirectoryReader.cs" />
<Compile Include="Data\FileImage.cs" /> <Compile Include="Data\FileImage.cs" />
<Compile Include="Data\FlatImage.cs" /> <Compile Include="Data\FlatImage.cs" />
@ -118,9 +124,18 @@
<Compile Include="Data\DataLocationList.cs" /> <Compile Include="Data\DataLocationList.cs" />
<Compile Include="Data\DataManager.cs" /> <Compile Include="Data\DataManager.cs" />
<Compile Include="Data\WADReader.cs" /> <Compile Include="Data\WADReader.cs" />
<Compile Include="Types\BoolHandler.cs" />
<Compile Include="Types\ColorHandler.cs" />
<Compile Include="Types\EnumBitsHandler.cs" />
<Compile Include="Types\EnumOptionHandler.cs" /> <Compile Include="Types\EnumOptionHandler.cs" />
<Compile Include="Types\FlatHandler.cs" />
<Compile Include="Types\FloatHandler.cs" />
<Compile Include="Types\IntegerHandler.cs" /> <Compile Include="Types\IntegerHandler.cs" />
<Compile Include="Types\LinedefTypeHandler.cs" />
<Compile Include="Types\NullHandler.cs" /> <Compile Include="Types\NullHandler.cs" />
<Compile Include="Types\SectorEffectHandler.cs" />
<Compile Include="Types\StringHandler.cs" />
<Compile Include="Types\TextureHandler.cs" />
<Compile Include="Types\TypeHandler.cs" /> <Compile Include="Types\TypeHandler.cs" />
<Compile Include="Types\TypeHandlerAttribute.cs" /> <Compile Include="Types\TypeHandlerAttribute.cs" />
<Compile Include="Types\TypesManager.cs" /> <Compile Include="Types\TypesManager.cs" />
@ -148,7 +163,7 @@
<Compile Include="Controls\AngleControl.Designer.cs"> <Compile Include="Controls\AngleControl.Designer.cs">
<DependentUpon>AngleControl.cs</DependentUpon> <DependentUpon>AngleControl.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Controls\ArgumentBox.cs"> <Compile Include="Controls\BlaBlaBla.cs">
<SubType>Component</SubType> <SubType>Component</SubType>
</Compile> </Compile>
<Compile Include="Controls\AutoSelectTextbox.cs"> <Compile Include="Controls\AutoSelectTextbox.cs">
@ -172,6 +187,12 @@
<Compile Include="Controls\ColorControl.Designer.cs"> <Compile Include="Controls\ColorControl.Designer.cs">
<DependentUpon>ColorControl.cs</DependentUpon> <DependentUpon>ColorControl.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Windows\BitFlagsForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Windows\BitFlagsForm.Designer.cs">
<DependentUpon>BitFlagsForm.cs</DependentUpon>
</Compile>
<Compile Include="Windows\ConfigForm.cs"> <Compile Include="Windows\ConfigForm.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
@ -558,10 +579,18 @@
<SubType>Designer</SubType> <SubType>Designer</SubType>
<DependentUpon>AngleControl.cs</DependentUpon> <DependentUpon>AngleControl.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Controls\ArgumentBox.resx">
<SubType>Designer</SubType>
<DependentUpon>ArgumentBox.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Controls\ClickableNumericTextbox.resx"> <EmbeddedResource Include="Controls\ClickableNumericTextbox.resx">
<SubType>Designer</SubType> <SubType>Designer</SubType>
<DependentUpon>ClickableNumericTextbox.cs</DependentUpon> <DependentUpon>ClickableNumericTextbox.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Windows\BitFlagsForm.resx">
<SubType>Designer</SubType>
<DependentUpon>BitFlagsForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Windows\ThingEditForm.resx"> <EmbeddedResource Include="Windows\ThingEditForm.resx">
<SubType>Designer</SubType> <SubType>Designer</SubType>
<DependentUpon>ThingEditForm.cs</DependentUpon> <DependentUpon>ThingEditForm.cs</DependentUpon>

View file

@ -48,7 +48,7 @@ namespace CodeImp.DoomBuilder.Config
#region ================== Properties #region ================== Properties
public string Title { get { return title; } } public string Title { get { return title; } }
public bool Used { get { return false; } } public bool Used { get { return used; } }
public int Type { get { return type; } } public int Type { get { return type; } }
public EnumList Enum { get { return enumlist; } } public EnumList Enum { get { return enumlist; } }

76
Source/Controls/ArgumentBox.Designer.cs generated Normal file
View file

@ -0,0 +1,76 @@
namespace CodeImp.DoomBuilder.Controls
{
partial class ArgumentBox
{
/// <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 Component 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.combobox = new System.Windows.Forms.ComboBox();
this.button = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// combobox
//
this.combobox.Location = new System.Drawing.Point(0, 1);
this.combobox.Name = "combobox";
this.combobox.Size = new System.Drawing.Size(149, 22);
this.combobox.TabIndex = 0;
this.combobox.Validating += new System.ComponentModel.CancelEventHandler(this.combobox_Validating);
//
// button
//
this.button.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.button.Image = global::CodeImp.DoomBuilder.Properties.Resources.treeview;
this.button.ImageAlign = System.Drawing.ContentAlignment.BottomCenter;
this.button.Location = new System.Drawing.Point(153, 0);
this.button.Name = "button";
this.button.Padding = new System.Windows.Forms.Padding(0, 0, 1, 2);
this.button.Size = new System.Drawing.Size(30, 24);
this.button.TabIndex = 3;
this.button.UseVisualStyleBackColor = true;
this.button.Visible = false;
this.button.Click += new System.EventHandler(this.button_Click);
//
// ArgumentBox
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.Controls.Add(this.button);
this.Controls.Add(this.combobox);
this.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Name = "ArgumentBox";
this.Size = new System.Drawing.Size(268, 64);
this.Layout += new System.Windows.Forms.LayoutEventHandler(this.ArgumentBox_Layout);
this.Resize += new System.EventHandler(this.ArgumentBox_Resize);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.ComboBox combobox;
private System.Windows.Forms.Button button;
}
}

View file

@ -21,113 +21,198 @@ using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Drawing; using System.Drawing;
using System.Text; using System.Text;
using System.Globalization;
using System.Windows.Forms; using System.Windows.Forms;
using CodeImp.DoomBuilder.Actions; using Microsoft.Win32;
using CodeImp.DoomBuilder.Geometry;
using CodeImp.DoomBuilder.Rendering;
using CodeImp.DoomBuilder.Editing;
using System.Drawing.Drawing2D;
using CodeImp.DoomBuilder.Config; using CodeImp.DoomBuilder.Config;
using CodeImp.DoomBuilder.Rendering;
using CodeImp.DoomBuilder.Types;
using System.Globalization;
#endregion #endregion
namespace CodeImp.DoomBuilder.Controls namespace CodeImp.DoomBuilder.Controls
{ {
public class ArgumentBox : ComboBox public partial class ArgumentBox : UserControl
{ {
#region ================== Constants
#endregion
#region ================== Variables #region ================== Variables
private EnumList enums; private TypeHandler typehandler;
#endregion #endregion
#region ================== Properties #region ================== Properties
#endregion #endregion
#region ================== Constructor / Disposer #region ================== Constructor
// Constructor // Constructor
public ArgumentBox() public ArgumentBox()
{ {
this.ImeMode = ImeMode.Off; // Initialize
InitializeComponent();
} }
#endregion #endregion
#region ================== Events
#region ================== Methods // When control resizes
private void ArgumentBox_Resize(object sender, EventArgs e)
// This sets the value
public void SetValue(int v)
{ {
this.SelectedItem = null; if(button.Visible)
this.Text = v.ToString(); combobox.Width = ClientRectangle.Width - button.Width - 2;
else
combobox.Width = ClientRectangle.Width;
button.Left = ClientRectangle.Width - button.Width;
Height = button.Height;
}
// When control layout is aplied
private void ArgumentBox_Layout(object sender, LayoutEventArgs e)
{
ArgumentBox_Resize(sender, e);
}
// When the entered value needs to be validated
private void combobox_Validating(object sender, CancelEventArgs e)
{
string str = combobox.Text.Trim().ToLowerInvariant();
str = str.TrimStart('+', '-');
int num;
// Anything in the box?
if(combobox.Text.Trim().Length > 0)
{
// Prefixed?
if(combobox.Text.Trim().StartsWith("++") ||
combobox.Text.Trim().StartsWith("--"))
{
// Try parsing to number
if(!int.TryParse(str, NumberStyles.Integer, CultureInfo.CurrentCulture, out num))
{
// Invalid relative number
combobox.SelectedItem = null;
combobox.Text = "";
}
}
else
{
// Set the value. The type handler will validate it
// and make the best possible choice.
typehandler.SetValue(combobox.Text);
combobox.SelectedItem = null;
combobox.Text = typehandler.GetStringValue();
}
}
}
// When browse button is clicked
private void button_Click(object sender, EventArgs e)
{
// Browse for a value
typehandler.Browse(this);
combobox.SelectedItem = null;
combobox.Text = typehandler.GetStringValue();
combobox.Focus();
combobox.SelectAll();
} }
// This fills the box with the given enum #endregion
public void SetupEnums(EnumList enumslist)
#region ================== Methods
// This sets up the control for a specific argument
public void Setup(ArgumentInfo arginfo)
{ {
// Keep old value int oldvalue = 0;
int value = this.GetResult(0);
// Find the enums list
if(enumslist != null)
this.DropDownStyle = ComboBoxStyle.DropDown;
else
this.DropDownStyle = ComboBoxStyle.Simple;
// Fill list // Get the original value
this.enums = enumslist; if(typehandler != null) oldvalue = typehandler.GetIntValue();
this.Items.Clear();
if(enumslist != null) this.Items.AddRange(enumslist.ToArray()); // Get the type handler
typehandler = General.Types.GetArgumentHandler(arginfo);
// Clear combobox
combobox.SelectedItem = null;
combobox.Items.Clear();
// Check if this supports enumerated options
if(typehandler.IsEnumerable)
{
// Show the combobox
button.Visible = false;
combobox.DropDownStyle = ComboBoxStyle.DropDown;
combobox.Items.AddRange(typehandler.GetEnumList().ToArray());
}
// Check if browsable
else if(typehandler.IsBrowseable)
{
// Show the button
button.Visible = true;
combobox.DropDownStyle = ComboBoxStyle.Simple;
}
else
{
// Show just a textbox
button.Visible = false;
combobox.DropDownStyle = ComboBoxStyle.Simple;
}
// Setup layout
ArgumentBox_Resize(this, EventArgs.Empty);
// Re-apply value // Re-apply value
this.Text = value.ToString(); SetValue(oldvalue);
OnValidating(new CancelEventArgs()); }
// This sets the value
public void SetValue(int value)
{
typehandler.SetValue(value);
combobox.SelectedItem = null;
combobox.Text = typehandler.GetStringValue();
combobox_Validating(this, new CancelEventArgs());
}
// This clears the value
public void ClearValue()
{
typehandler.SetValue("");
combobox.SelectedItem = null;
combobox.Text = "";
} }
// This returns the selected value // This returns the selected value
public int GetResult(int original) public int GetResult(int original)
{ {
// Strip prefixes // Strip prefixes
string str = this.Text.Trim().ToLowerInvariant(); string str = combobox.Text.Trim().ToLowerInvariant();
str = str.TrimStart('+', '-'); str = str.TrimStart('+', '-');
int num = original; int num = original;
// Anything in the box? // Anything in the box?
if(str.Length > 0) if(combobox.Text.Trim().Length > 0)
{ {
// Enum selected? // Prefixed with ++?
if(this.SelectedItem != null) if(combobox.Text.Trim().StartsWith("++"))
{ {
return (this.SelectedItem as EnumItem).GetIntValue(); // Add number to original
if(!int.TryParse(str, out num)) num = 0;
return original + num;
}
// Prefixed with --?
else if(combobox.Text.Trim().StartsWith("--"))
{
// Subtract number from original
if(!int.TryParse(str, out num)) num = 0;
return original - num;
} }
else else
{ {
// Prefixed with ++? // Return the value
if(this.Text.StartsWith("++")) return typehandler.GetIntValue();
{
// Add number to original
if(!int.TryParse(str, out num)) num = 0;
return original + num;
}
// Prefixed with --?
else if(this.Text.StartsWith("--"))
{
// Subtract number from original
if(!int.TryParse(str, out num)) num = 0;
return original - num;
}
else
{
// Return the new value
if(int.TryParse(this.Text, out num)) return num; else return 0;
}
} }
} }
else else
@ -137,77 +222,6 @@ namespace CodeImp.DoomBuilder.Controls
} }
} }
// This finds the matching enum by number or title and selects it
// Otherwise, if it is a number, keeps the number or sets it to 0
protected override void OnValidating(CancelEventArgs e)
{
// Strip prefixes
string str = this.Text.Trim().ToLowerInvariant();
str = str.TrimStart('+', '-');
int num = 0;
// Prefixed?
if(this.Text.Trim().StartsWith("++") || this.Text.Trim().StartsWith("--"))
{
// Try parsing to number
if(!int.TryParse(str, NumberStyles.Integer, CultureInfo.CurrentCulture, out num))
{
// Invalid relative number
this.SelectedItem = null;
this.Text = "";
}
}
else
{
// Try parsing to number
if(int.TryParse(str, NumberStyles.Integer, CultureInfo.CurrentCulture, out num))
{
// Try selecting this enum
EnumItem item = null;
if(enums != null) item = enums.GetByEnumIndex(num.ToString());
if(item != null)
{
// Select enum
this.SelectedItem = item;
}
}
// Enums available to check?
else if(enums != null)
{
// Try finding the enum by comparing the left part of the string
bool foundmatch = false;
foreach(EnumItem item in enums)
{
// Enum matches?
if(item.ToString().ToLowerInvariant().StartsWith(str))
{
// Select enum
this.SelectedItem = item;
foundmatch = true;
break;
}
}
// Not found anything?
if(!foundmatch)
{
// Null the value
this.SelectedItem = null;
this.Text = "";
}
}
else
{
// Invalid, just zero it
this.SelectedItem = null;
this.Text = "";
}
}
// Validate base
base.OnValidating(e);
}
#endregion #endregion
} }
} }

View file

@ -0,0 +1,129 @@
<?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>
<metadata name="combobox.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="button.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>

View file

@ -0,0 +1,213 @@
#region ================== Copyright (c) 2007 Pascal vd Heiden
/*
* Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com
* This program is released under GNU General Public License
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#endregion
#region ================== Namespaces
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Text;
using System.Globalization;
using System.Windows.Forms;
using CodeImp.DoomBuilder.Actions;
using CodeImp.DoomBuilder.Geometry;
using CodeImp.DoomBuilder.Rendering;
using CodeImp.DoomBuilder.Editing;
using System.Drawing.Drawing2D;
using CodeImp.DoomBuilder.Config;
#endregion
namespace CodeImp.DoomBuilder.Controls
{
public class BlaBlaBla : ComboBox
{
#region ================== Constants
#endregion
#region ================== Variables
private EnumList enums;
#endregion
#region ================== Properties
#endregion
#region ================== Constructor / Disposer
// Constructor
public BlaBlaBla()
{
this.ImeMode = ImeMode.Off;
}
#endregion
#region ================== Methods
// This sets the value
public void SetValue(int v)
{
this.SelectedItem = null;
this.Text = v.ToString();
}
// This fills the box with the given enum
public void SetupEnums(EnumList enumslist)
{
// Keep old value
int value = this.GetResult(0);
// Find the enums list
if(enumslist != null)
this.DropDownStyle = ComboBoxStyle.DropDown;
else
this.DropDownStyle = ComboBoxStyle.Simple;
// Fill list
this.enums = enumslist;
this.Items.Clear();
if(enumslist != null) this.Items.AddRange(enumslist.ToArray());
// Re-apply value
this.Text = value.ToString();
OnValidating(new CancelEventArgs());
}
// This returns the selected value
public int GetResult(int original)
{
// Strip prefixes
string str = this.Text.Trim().ToLowerInvariant();
str = str.TrimStart('+', '-');
int num = original;
// Anything in the box?
if(str.Length > 0)
{
// Enum selected?
if(this.SelectedItem != null)
{
return (this.SelectedItem as EnumItem).GetIntValue();
}
else
{
// Prefixed with ++?
if(this.Text.StartsWith("++"))
{
// Add number to original
if(!int.TryParse(str, out num)) num = 0;
return original + num;
}
// Prefixed with --?
else if(this.Text.StartsWith("--"))
{
// Subtract number from original
if(!int.TryParse(str, out num)) num = 0;
return original - num;
}
else
{
// Return the new value
if(int.TryParse(this.Text, out num)) return num; else return 0;
}
}
}
else
{
// Just return the original
return original;
}
}
// This finds the matching enum by number or title and selects it
// Otherwise, if it is a number, keeps the number or sets it to 0
protected override void OnValidating(CancelEventArgs e)
{
// Strip prefixes
string str = this.Text.Trim().ToLowerInvariant();
str = str.TrimStart('+', '-');
int num = 0;
// Prefixed?
if(this.Text.Trim().StartsWith("++") || this.Text.Trim().StartsWith("--"))
{
// Try parsing to number
if(!int.TryParse(str, NumberStyles.Integer, CultureInfo.CurrentCulture, out num))
{
// Invalid relative number
this.SelectedItem = null;
this.Text = "";
}
}
else
{
// Try parsing to number
if(int.TryParse(str, NumberStyles.Integer, CultureInfo.CurrentCulture, out num))
{
// Try selecting this enum
EnumItem item = null;
if(enums != null) item = enums.GetByEnumIndex(num.ToString());
if(item != null)
{
// Select enum
this.SelectedItem = item;
}
}
// Enums available to check?
else if(enums != null)
{
// Try finding the enum by comparing the left part of the string
bool foundmatch = false;
foreach(EnumItem item in enums)
{
// Enum matches?
if(item.ToString().ToLowerInvariant().StartsWith(str))
{
// Select enum
this.SelectedItem = item;
foundmatch = true;
break;
}
}
// Not found anything?
if(!foundmatch)
{
// Null the value
this.SelectedItem = null;
this.Text = "";
}
}
else
{
// Invalid, just zero it
this.SelectedItem = null;
this.Text = "";
}
}
// Validate base
base.OnValidating(e);
}
#endregion
}
}

View file

@ -89,7 +89,7 @@ namespace CodeImp.DoomBuilder.IO
MemoryStream mem; MemoryStream mem;
BinaryReader reader; BinaryReader reader;
int num, i, tag, z, action, x, y, type, flags; int num, i, tag, z, action, x, y, type, flags;
byte[] args = new byte[Thing.NUM_ARGS]; int[] args = new int[Thing.NUM_ARGS];
float angle; float angle;
Thing t; Thing t;
@ -233,7 +233,7 @@ namespace CodeImp.DoomBuilder.IO
Lump linedefslump, sidedefslump; Lump linedefslump, sidedefslump;
int num, i, offsetx, offsety, v1, v2; int num, i, offsetx, offsety, v1, v2;
int s1, s2, flags, action, sc; int s1, s2, flags, action, sc;
byte[] args = new byte[Linedef.NUM_ARGS]; int[] args = new int[Linedef.NUM_ARGS];
string thigh, tmid, tlow; string thigh, tmid, tlow;
Linedef l; Linedef l;
Sidedef s; Sidedef s;

View file

@ -36,7 +36,7 @@ namespace CodeImp.DoomBuilder.Map
public const float SIDE_POINT_DISTANCE = 0.001f; public const float SIDE_POINT_DISTANCE = 0.001f;
public const int NUM_ARGS = 5; public const int NUM_ARGS = 5;
public static readonly byte[] EMPTY_ARGS = new byte[NUM_ARGS]; public static readonly int[] EMPTY_ARGS = new int[NUM_ARGS];
#endregion #endregion
@ -71,7 +71,7 @@ namespace CodeImp.DoomBuilder.Map
private int flags; private int flags;
private int action; private int action;
private int tag; private int tag;
private byte[] args; private int[] args;
// Additional fields // Additional fields
private SortedList<string, object> fields; private SortedList<string, object> fields;
@ -105,7 +105,7 @@ namespace CodeImp.DoomBuilder.Map
public float Angle { get { return angle; } } public float Angle { get { return angle; } }
public int AngleDeg { get { return (int)(angle * Angle2D.PIDEG); } } public int AngleDeg { get { return (int)(angle * Angle2D.PIDEG); } }
public RectangleF Rect { get { return rect; } } public RectangleF Rect { get { return rect; } }
public byte[] Args { get { return args; } } public int[] Args { get { return args; } }
public SortedList<string, object> Fields { get { return fields; } } public SortedList<string, object> Fields { get { return fields; } }
#endregion #endregion
@ -121,7 +121,7 @@ namespace CodeImp.DoomBuilder.Map
this.start = start; this.start = start;
this.end = end; this.end = end;
this.updateneeded = true; this.updateneeded = true;
this.args = new byte[NUM_ARGS]; this.args = new int[NUM_ARGS];
// Attach to vertices // Attach to vertices
startvertexlistitem = start.AttachLinedef(this); startvertexlistitem = start.AttachLinedef(this);
@ -194,7 +194,7 @@ namespace CodeImp.DoomBuilder.Map
{ {
// Copy properties // Copy properties
l.action = action; l.action = action;
l.args = (byte[])args.Clone(); l.args = (int[])args.Clone();
l.flags = flags; l.flags = flags;
l.tag = tag; l.tag = tag;
l.updateneeded = true; l.updateneeded = true;
@ -753,13 +753,13 @@ namespace CodeImp.DoomBuilder.Map
#region ================== Changes #region ================== Changes
// This updates all properties // This updates all properties
public void Update(int flags, int tag, int action, byte[] args) public void Update(int flags, int tag, int action, int[] args)
{ {
// Apply changes // Apply changes
this.flags = flags; this.flags = flags;
this.tag = tag; this.tag = tag;
this.action = action; this.action = action;
this.args = new byte[NUM_ARGS]; this.args = new int[NUM_ARGS];
args.CopyTo(this.args, 0); args.CopyTo(this.args, 0);
this.updateneeded = true; this.updateneeded = true;
} }

View file

@ -35,7 +35,7 @@ namespace CodeImp.DoomBuilder.Map
#region ================== Constants #region ================== Constants
public const int NUM_ARGS = 5; public const int NUM_ARGS = 5;
public static readonly byte[] EMPTY_ARGS = new byte[NUM_ARGS]; public static readonly int[] EMPTY_ARGS = new int[NUM_ARGS];
#endregion #endregion
@ -58,7 +58,7 @@ namespace CodeImp.DoomBuilder.Map
private int flags; private int flags;
private int tag; private int tag;
private int action; private int action;
private byte[] args; private int[] args;
private int x, y, zoffset; private int x, y, zoffset;
// Configuration // Configuration
@ -88,7 +88,7 @@ namespace CodeImp.DoomBuilder.Map
public int AngleDeg { get { return (int)Angle2D.RadToDeg(angle); } } public int AngleDeg { get { return (int)Angle2D.RadToDeg(angle); } }
public int Flags { get { return flags; } set { flags = value; } } public int Flags { get { return flags; } set { flags = value; } }
public int Action { get { return action; } set { action = value; } } public int Action { get { return action; } set { action = value; } }
public byte[] Args { get { return args; } } public int[] Args { get { return args; } }
public bool Selected { get { return selected; } set { selected = value; } } public bool Selected { get { return selected; } set { selected = value; } }
public bool Marked { get { return marked; } set { marked = value; } } public bool Marked { get { return marked; } set { marked = value; } }
public float Size { get { return size; } } public float Size { get { return size; } }
@ -258,7 +258,7 @@ namespace CodeImp.DoomBuilder.Map
// This updates all properties // This updates all properties
// NOTE: This does not update sector! (call DetermineSector) // NOTE: This does not update sector! (call DetermineSector)
public void Update(int type, int x, int y, int zoffset, float angle, public void Update(int type, int x, int y, int zoffset, float angle,
int flags, int tag, int action, byte[] args) int flags, int tag, int action, int[] args)
{ {
// Apply changes // Apply changes
this.type = type; this.type = type;
@ -266,7 +266,7 @@ namespace CodeImp.DoomBuilder.Map
this.flags = flags; this.flags = flags;
this.tag = tag; this.tag = tag;
this.action = action; this.action = action;
this.args = new byte[NUM_ARGS]; this.args = new int[NUM_ARGS];
args.CopyTo(this.args, 0); args.CopyTo(this.args, 0);
this.Move(x, y, zoffset); this.Move(x, y, zoffset);
} }

101
Source/Types/BoolHandler.cs Normal file
View file

@ -0,0 +1,101 @@
#region ================== Copyright (c) 2007 Pascal vd Heiden
/*
* Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com
* This program is released under GNU General Public License
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#endregion
#region ================== Namespaces
using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.Text;
using CodeImp.DoomBuilder.IO;
using CodeImp.DoomBuilder.Data;
using System.IO;
using System.Diagnostics;
#endregion
namespace CodeImp.DoomBuilder.Types
{
[TypeHandler(3)]
internal class BoolHandler : TypeHandler
{
#region ================== Constants
#endregion
#region ================== Variables
private bool value;
#endregion
#region ================== Properties
public override bool IsCustomType { get { return true; } }
#endregion
#region ================== Methods
public override void SetValue(object value)
{
bool result;
// already bool?
if(value is bool)
{
this.value = (bool)value;
}
// int or float?
else if((value is int) || (value is float))
{
// Set directly
this.value = (Math.Abs((float)value) > 0.0001f);
}
// string?
else if(value is string)
{
// Try parsing as string
if(value.ToString().ToLowerInvariant().StartsWith("t"))
this.value = true;
else
this.value = false;
}
else
{
this.value = false;
}
}
public override object GetValue()
{
return this.value;
}
public override int GetIntValue()
{
if(this.value) return 1; else return 0;
}
public override string GetStringValue()
{
return this.value.ToString();
}
#endregion
}
}

View file

@ -0,0 +1,122 @@
#region ================== Copyright (c) 2007 Pascal vd Heiden
/*
* Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com
* This program is released under GNU General Public License
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#endregion
#region ================== Namespaces
using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.Text;
using CodeImp.DoomBuilder.IO;
using CodeImp.DoomBuilder.Data;
using System.IO;
using System.Diagnostics;
using CodeImp.DoomBuilder.Config;
using CodeImp.DoomBuilder.Windows;
using System.Windows.Forms;
using System.Drawing;
#endregion
namespace CodeImp.DoomBuilder.Types
{
[TypeHandler(10)]
internal class ColorHandler : TypeHandler
{
#region ================== Constants
#endregion
#region ================== Variables
private int value; // XXRRGGBB color
#endregion
#region ================== Properties
public override bool IsBrowseable { get { return true; } }
public override bool IsCustomType { get { return true; } }
#endregion
#region ================== Constructor
#endregion
#region ================== Methods
public override void Browse(IWin32Window parent)
{
ColorDialog dialog = new ColorDialog();
dialog.AllowFullOpen = true;
dialog.AnyColor = true;
dialog.Color = Color.FromArgb((value >> 16) & 0xFF, (value >> 8) & 0xFF, value & 0xFF);
dialog.FullOpen = true;
if(dialog.ShowDialog(parent) == DialogResult.OK)
{
value = dialog.Color.ToArgb() & 0x00FFFFFF;
}
}
public override void SetValue(object value)
{
int result;
// Already an int or float?
if(value is int)
{
// Set directly
this.value = (int)value;
}
// String?
else if(value is string)
{
// Try parsing as string
if(int.TryParse(value.ToString(), NumberStyles.HexNumber, CultureInfo.CurrentCulture, out result))
{
this.value = result;
}
else
{
this.value = 0;
}
}
else
{
this.value = 0;
}
}
public override object GetValue()
{
return this.value;
}
public override int GetIntValue()
{
return this.value;
}
public override string GetStringValue()
{
return this.value.ToString("X6");
}
#endregion
}
}

View file

@ -0,0 +1,117 @@
#region ================== Copyright (c) 2007 Pascal vd Heiden
/*
* Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com
* This program is released under GNU General Public License
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#endregion
#region ================== Namespaces
using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.Text;
using CodeImp.DoomBuilder.IO;
using CodeImp.DoomBuilder.Data;
using System.IO;
using System.Diagnostics;
using CodeImp.DoomBuilder.Config;
using System.Windows.Forms;
using CodeImp.DoomBuilder.Windows;
#endregion
namespace CodeImp.DoomBuilder.Types
{
[TypeHandler(12)]
internal class EnumBitsHandler : TypeHandler
{
#region ================== Constants
#endregion
#region ================== Variables
private EnumList list;
private int value;
#endregion
#region ================== Properties
public override bool IsBrowseable { get { return true; } }
#endregion
#region ================== Constructor
// When set up for an argument
public override void SetupArgument(ArgumentInfo arginfo)
{
base.SetupArgument(arginfo);
// Keep enum list reference
list = arginfo.Enum;
}
#endregion
#region ================== Methods
public override void Browse(IWin32Window parent)
{
value = BitFlagsForm.ShowDialog(parent, list, value);
}
public override void SetValue(object value)
{
int result;
// Already an int?
if(value is int)
{
// Set directly
this.value = (int)value;
}
else
{
// Try parsing as string
if(int.TryParse(value.ToString(), NumberStyles.Integer, CultureInfo.CurrentCulture, out result))
{
this.value = result;
}
else
{
this.value = 0;
}
}
}
public override object GetValue()
{
return this.value;
}
public override int GetIntValue()
{
return this.value;
}
public override string GetStringValue()
{
return this.value.ToString();
}
#endregion
}
}

View file

@ -47,8 +47,8 @@ namespace CodeImp.DoomBuilder.Types
#region ================== Properties #region ================== Properties
public virtual bool IsBrowseable { get { return true; } } public override bool IsBrowseable { get { return true; } }
public virtual bool IsEnumerable { get { return true; } } public override bool IsEnumerable { get { return true; } }
#endregion #endregion
@ -66,22 +66,43 @@ namespace CodeImp.DoomBuilder.Types
#endregion #endregion
#region ================== Methods #region ================== Methods
public override void SetValue(object value) public override void SetValue(object value)
{ {
this.value = null; this.value = null;
// First try to match the value against the enum values // Value is an integer?
foreach(EnumItem item in list) if(value is int)
{ {
// Matching value? int intvalue = (int)value;
if(item.Value == value.ToString())
// First try to match the value against the enum values
foreach(EnumItem item in list)
{ {
// Set this value // Matching value?
this.value = item; if(item.GetIntValue() == intvalue)
{
// Set this value
this.value = item;
}
} }
} }
// No match found yet?
if(this.value == null)
{
// First try to match the value against the enum values
foreach(EnumItem item in list)
{
// Matching value?
if(item.Value == value.ToString())
{
// Set this value
this.value = item;
}
}
}
// No match found yet? // No match found yet?
if(this.value == null) if(this.value == null)
{ {
@ -105,6 +126,11 @@ namespace CodeImp.DoomBuilder.Types
} }
} }
public override object GetValue()
{
return GetIntValue();
}
public override int GetIntValue() public override int GetIntValue()
{ {
if(this.value != null) if(this.value != null)

View file

@ -0,0 +1,79 @@
#region ================== Copyright (c) 2007 Pascal vd Heiden
/*
* Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com
* This program is released under GNU General Public License
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#endregion
#region ================== Namespaces
using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.Text;
using CodeImp.DoomBuilder.IO;
using CodeImp.DoomBuilder.Data;
using System.IO;
using System.Diagnostics;
using System.Windows.Forms;
using CodeImp.DoomBuilder.Windows;
#endregion
namespace CodeImp.DoomBuilder.Types
{
[TypeHandler(7)]
internal class FlatHandler : TypeHandler
{
#region ================== Constants
#endregion
#region ================== Variables
private string value;
#endregion
#region ================== Properties
public override bool IsBrowseable { get { return true; } }
public override bool IsCustomType { get { return true; } }
#endregion
#region ================== Methods
public override void Browse(IWin32Window parent)
{
this.value = FlatBrowserForm.Browse(parent, this.value);
}
public override void SetValue(object value)
{
this.value = value.ToString();
}
public override object GetValue()
{
return this.value;
}
public override string GetStringValue()
{
return this.value;
}
#endregion
}
}

View file

@ -0,0 +1,95 @@
#region ================== Copyright (c) 2007 Pascal vd Heiden
/*
* Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com
* This program is released under GNU General Public License
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#endregion
#region ================== Namespaces
using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.Text;
using CodeImp.DoomBuilder.IO;
using CodeImp.DoomBuilder.Data;
using System.IO;
using System.Diagnostics;
#endregion
namespace CodeImp.DoomBuilder.Types
{
[TypeHandler(1)]
internal class FloatHandler : TypeHandler
{
#region ================== Constants
#endregion
#region ================== Variables
private float value;
#endregion
#region ================== Properties
public override bool IsCustomType { get { return true; } }
#endregion
#region ================== Methods
public override void SetValue(object value)
{
float result;
// Already an int or float?
if((value is int) || (value is float))
{
// Set directly
this.value = (float)value;
}
else
{
// Try parsing as string
if(float.TryParse(value.ToString(), NumberStyles.Float, CultureInfo.CurrentCulture, out result))
{
this.value = result;
}
else
{
this.value = 0.0f;
}
}
}
public override object GetValue()
{
return this.value;
}
public override int GetIntValue()
{
return (int)this.value;
}
public override string GetStringValue()
{
return this.value.ToString();
}
#endregion
}
}

View file

@ -58,7 +58,7 @@ namespace CodeImp.DoomBuilder.Types
// Already an int or float? // Already an int or float?
if((value is int) || (value is float)) if((value is int) || (value is float))
{ {
// Return the same // Set directly
this.value = (int)value; this.value = (int)value;
} }
else else
@ -75,6 +75,11 @@ namespace CodeImp.DoomBuilder.Types
} }
} }
public override object GetValue()
{
return this.value;
}
public override int GetIntValue() public override int GetIntValue()
{ {
return this.value; return this.value;

View file

@ -0,0 +1,108 @@
#region ================== Copyright (c) 2007 Pascal vd Heiden
/*
* Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com
* This program is released under GNU General Public License
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#endregion
#region ================== Namespaces
using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.Text;
using CodeImp.DoomBuilder.IO;
using CodeImp.DoomBuilder.Data;
using System.IO;
using System.Diagnostics;
using CodeImp.DoomBuilder.Config;
using CodeImp.DoomBuilder.Windows;
using System.Windows.Forms;
#endregion
namespace CodeImp.DoomBuilder.Types
{
[TypeHandler(4)]
internal class LinedefTypeHandler : TypeHandler
{
#region ================== Constants
#endregion
#region ================== Variables
private int value;
#endregion
#region ================== Properties
public override bool IsBrowseable { get { return true; } }
public override bool IsCustomType { get { return true; } }
#endregion
#region ================== Constructor
#endregion
#region ================== Methods
public override void Browse(IWin32Window parent)
{
this.value = ActionBrowserForm.BrowseAction(parent, this.value);
}
public override void SetValue(object value)
{
int result;
// Already an int or float?
if((value is int) || (value is float))
{
// Set directly
this.value = (int)value;
}
else
{
// Try parsing as string
if(int.TryParse(value.ToString(), NumberStyles.Integer, CultureInfo.CurrentCulture, out result))
{
this.value = result;
}
else
{
this.value = 0;
}
}
}
public override object GetValue()
{
return this.value;
}
public override int GetIntValue()
{
return this.value;
}
public override string GetStringValue()
{
return this.value.ToString();
}
#endregion
}
}

View file

@ -53,6 +53,18 @@ namespace CodeImp.DoomBuilder.Types
this.value = value; this.value = value;
} }
public override object GetValue()
{
return this.value.ToString();
}
public override int GetIntValue()
{
int result;
if(int.TryParse(this.value.ToString(), out result)) return result;
else return 0;
}
public override string GetStringValue() public override string GetStringValue()
{ {
return this.value.ToString(); return this.value.ToString();

View file

@ -0,0 +1,108 @@
#region ================== Copyright (c) 2007 Pascal vd Heiden
/*
* Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com
* This program is released under GNU General Public License
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#endregion
#region ================== Namespaces
using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.Text;
using CodeImp.DoomBuilder.IO;
using CodeImp.DoomBuilder.Data;
using System.IO;
using System.Diagnostics;
using CodeImp.DoomBuilder.Config;
using CodeImp.DoomBuilder.Windows;
using System.Windows.Forms;
#endregion
namespace CodeImp.DoomBuilder.Types
{
[TypeHandler(5)]
internal class SectorEffectHandler : TypeHandler
{
#region ================== Constants
#endregion
#region ================== Variables
private int value;
#endregion
#region ================== Properties
public override bool IsBrowseable { get { return true; } }
public override bool IsCustomType { get { return true; } }
#endregion
#region ================== Constructor
#endregion
#region ================== Methods
public override void Browse(IWin32Window parent)
{
this.value = EffectBrowserForm.BrowseEffect(parent, this.value);
}
public override void SetValue(object value)
{
int result;
// Already an int or float?
if((value is int) || (value is float))
{
// Set directly
this.value = (int)value;
}
else
{
// Try parsing as string
if(int.TryParse(value.ToString(), NumberStyles.Integer, CultureInfo.CurrentCulture, out result))
{
this.value = result;
}
else
{
this.value = 0;
}
}
}
public override object GetValue()
{
return this.value;
}
public override int GetIntValue()
{
return this.value;
}
public override string GetStringValue()
{
return this.value.ToString();
}
#endregion
}
}

View file

@ -0,0 +1,78 @@
#region ================== Copyright (c) 2007 Pascal vd Heiden
/*
* Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com
* This program is released under GNU General Public License
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#endregion
#region ================== Namespaces
using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.Text;
using CodeImp.DoomBuilder.IO;
using CodeImp.DoomBuilder.Data;
using System.IO;
using System.Diagnostics;
#endregion
namespace CodeImp.DoomBuilder.Types
{
[TypeHandler(2)]
internal class StringHandler : TypeHandler
{
#region ================== Constants
#endregion
#region ================== Variables
private string value;
#endregion
#region ================== Properties
public override bool IsCustomType { get { return true; } }
#endregion
#region ================== Methods
public override void SetValue(object value)
{
this.value = value.ToString();
}
public override object GetValue()
{
return this.value;
}
public override int GetIntValue()
{
int result;
if(int.TryParse(this.value, out result)) return result;
else return 0;
}
public override string GetStringValue()
{
return this.value;
}
#endregion
}
}

View file

@ -0,0 +1,79 @@
#region ================== Copyright (c) 2007 Pascal vd Heiden
/*
* Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com
* This program is released under GNU General Public License
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#endregion
#region ================== Namespaces
using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.Text;
using CodeImp.DoomBuilder.IO;
using CodeImp.DoomBuilder.Data;
using System.IO;
using System.Diagnostics;
using System.Windows.Forms;
using CodeImp.DoomBuilder.Windows;
#endregion
namespace CodeImp.DoomBuilder.Types
{
[TypeHandler(6)]
internal class TextureHandler : TypeHandler
{
#region ================== Constants
#endregion
#region ================== Variables
private string value;
#endregion
#region ================== Properties
public override bool IsBrowseable { get { return true; } }
public override bool IsCustomType { get { return true; } }
#endregion
#region ================== Methods
public override void Browse(IWin32Window parent)
{
this.value = TextureBrowserForm.Browse(parent, this.value);
}
public override void SetValue(object value)
{
this.value = value.ToString();
}
public override object GetValue()
{
return this.value;
}
public override string GetStringValue()
{
return this.value;
}
#endregion
}
}

View file

@ -32,6 +32,10 @@ using CodeImp.DoomBuilder.Config;
namespace CodeImp.DoomBuilder.Types namespace CodeImp.DoomBuilder.Types
{ {
/// <summary>
/// Type Handler base class. A Type Handler takes care of editing, validating and
/// displaying values of different types for UDMF fields and hexen arguments.
/// </summary>
internal abstract class TypeHandler internal abstract class TypeHandler
{ {
#region ================== Constants #region ================== Constants
@ -62,10 +66,16 @@ namespace CodeImp.DoomBuilder.Types
{ {
// Get my attributes // Get my attributes
object[] attrs = this.GetType().GetCustomAttributes(typeof(TypeHandlerAttribute), false); object[] attrs = this.GetType().GetCustomAttributes(typeof(TypeHandlerAttribute), false);
TypeHandlerAttribute attr = (attrs[0] as TypeHandlerAttribute); if(attrs.Length > 0)
{
// Initialize // Set index from attribute
this.index = attr.Index; this.index = (attrs[0] as TypeHandlerAttribute).Index;
}
else
{
// Indexless
this.index = -1;
}
} }
// This sets up the handler for arguments // This sets up the handler for arguments
@ -83,6 +93,10 @@ namespace CodeImp.DoomBuilder.Types
// How the value is actually validated and stored is up to the implementation // How the value is actually validated and stored is up to the implementation
public abstract void SetValue(object value); public abstract void SetValue(object value);
// This must return the value as one of the primitive data types
// supported by UDMF: int, string, float or bool
public abstract object GetValue();
// This must return the value as integer (for arguments) // This must return the value as integer (for arguments)
public virtual int GetIntValue() public virtual int GetIntValue()
{ {
@ -93,9 +107,8 @@ namespace CodeImp.DoomBuilder.Types
public abstract string GetStringValue(); public abstract string GetStringValue();
// This is called when the user presses the browse button // This is called when the user presses the browse button
public virtual object Browse(IWin32Window parent) public virtual void Browse(IWin32Window parent)
{ {
return null;
} }
// This must returns an enum list when IsEnumerable is true // This must returns an enum list when IsEnumerable is true

100
Source/Windows/BitFlagsForm.Designer.cs generated Normal file
View file

@ -0,0 +1,100 @@
namespace CodeImp.DoomBuilder.Windows
{
partial class BitFlagsForm
{
/// <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.options = new CodeImp.DoomBuilder.Controls.CheckboxArrayControl();
this.cancel = new System.Windows.Forms.Button();
this.apply = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// options
//
this.options.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.options.AutoScroll = true;
this.options.Columns = 1;
this.options.Location = new System.Drawing.Point(25, 21);
this.options.Name = "options";
this.options.Size = new System.Drawing.Size(164, 158);
this.options.TabIndex = 0;
//
// cancel
//
this.cancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.cancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.cancel.Location = new System.Drawing.Point(106, 198);
this.cancel.Name = "cancel";
this.cancel.Size = new System.Drawing.Size(91, 25);
this.cancel.TabIndex = 24;
this.cancel.Text = "Cancel";
this.cancel.UseVisualStyleBackColor = true;
this.cancel.Click += new System.EventHandler(this.cancel_Click);
//
// apply
//
this.apply.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.apply.Location = new System.Drawing.Point(9, 198);
this.apply.Name = "apply";
this.apply.Size = new System.Drawing.Size(91, 25);
this.apply.TabIndex = 23;
this.apply.Text = "OK";
this.apply.UseVisualStyleBackColor = true;
this.apply.Click += new System.EventHandler(this.apply_Click);
//
// BitFlagsForm
//
this.AcceptButton = this.apply;
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.CancelButton = this.cancel;
this.ClientSize = new System.Drawing.Size(206, 232);
this.Controls.Add(this.cancel);
this.Controls.Add(this.apply);
this.Controls.Add(this.options);
this.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "BitFlagsForm";
this.Opacity = 0;
this.ShowIcon = false;
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Options";
this.ResumeLayout(false);
}
#endregion
private CodeImp.DoomBuilder.Controls.CheckboxArrayControl options;
private System.Windows.Forms.Button cancel;
private System.Windows.Forms.Button apply;
}
}

View file

@ -0,0 +1,179 @@
#region ================== Copyright (c) 2007 Pascal vd Heiden
/*
* Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com
* This program is released under GNU General Public License
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#endregion
#region ================== Namespaces
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using CodeImp.DoomBuilder.Map;
using CodeImp.DoomBuilder.Data;
using CodeImp.DoomBuilder.IO;
using System.IO;
using CodeImp.DoomBuilder.Config;
using CodeImp.DoomBuilder.Editing;
using CodeImp.DoomBuilder.Controls;
#endregion
namespace CodeImp.DoomBuilder.Windows
{
public partial class BitFlagsForm : DelayedForm
{
#region ================== Variables
private bool setup;
private int value;
#endregion
#region ================== Properties
public int Value { get { return value; } }
#endregion
#region ================== Constructor
// Constructor
public BitFlagsForm()
{
// Initialize
InitializeComponent();
}
#endregion
#region ================== Events
// When a checkbox is clicked
private void box_CheckedChanged(object sender, EventArgs e)
{
if(!setup)
{
// Now setting up
setup = true;
// Get this checkbox
CheckBox thisbox = (sender as CheckBox);
// Checking or unchecking?
if(thisbox.Checked)
{
// Go for all other options
foreach(CheckBox b in options.Checkboxes)
{
// Not the same box?
if(b != sender)
{
// Overlapping bit flags?
if(((int)b.Tag & (int)thisbox.Tag) != 0)
{
// Uncheck the other
b.Checked = false;
}
}
}
}
// Done
setup = false;
}
}
// Cancel clicked
private void cancel_Click(object sender, EventArgs e)
{
// Close
DialogResult = DialogResult.Cancel;
this.Close();
}
// OK clicked
private void apply_Click(object sender, EventArgs e)
{
this.value = 0;
// Go for all checkboxes to make the final value
foreach(CheckBox b in options.Checkboxes)
if(b.Checked) value |= (int)b.Tag;
// Done
DialogResult = DialogResult.OK;
this.Close();
}
#endregion
#region ================== Methods
// Setup from EnumList
public void Setup(EnumList flags, int value)
{
setup = true;
this.value = value;
// Make a checkbox for each item
foreach(EnumItem item in flags)
{
// Make the checkbox
CheckBox box = options.Add(item.Title, item.GetIntValue());
// Bind checking event
box.CheckedChanged += new EventHandler(box_CheckedChanged);
// Checking the box?
if((value & (int)box.Tag) == (int)box.Tag)
{
box.Checked = true;
// Go for all other checkboxes
foreach(CheckBox b in options.Checkboxes)
{
// Not the same box?
if(b != box)
{
// Overlapping bit flags?
if(((int)b.Tag & (int)box.Tag) != 0)
{
// Uncheck the other
b.Checked = false;
}
}
}
}
}
setup = false;
}
// This shows the dialog
// Returns the flags or the same flags when cancelled
public static int ShowDialog(IWin32Window owner, EnumList flags, int value)
{
BitFlagsForm f = new BitFlagsForm();
f.Setup(flags, value);
if(f.ShowDialog(owner) == DialogResult.OK) return value = f.Value;
f.Dispose();
return value;
}
#endregion
}
}

View file

@ -0,0 +1,132 @@
<?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>
<metadata name="options.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="cancel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="apply.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>

View file

@ -50,9 +50,6 @@ namespace CodeImp.DoomBuilder.Windows
this.apply = new System.Windows.Forms.Button(); this.apply = new System.Windows.Forms.Button();
this.actiongroup = new System.Windows.Forms.GroupBox(); this.actiongroup = new System.Windows.Forms.GroupBox();
this.hexenpanel = new System.Windows.Forms.Panel(); this.hexenpanel = new System.Windows.Forms.Panel();
this.arg2 = new CodeImp.DoomBuilder.Controls.ArgumentBox();
this.arg1 = new CodeImp.DoomBuilder.Controls.ArgumentBox();
this.arg0 = new CodeImp.DoomBuilder.Controls.ArgumentBox();
this.arg3 = new CodeImp.DoomBuilder.Controls.ArgumentBox(); this.arg3 = new CodeImp.DoomBuilder.Controls.ArgumentBox();
this.arg4 = new CodeImp.DoomBuilder.Controls.ArgumentBox(); this.arg4 = new CodeImp.DoomBuilder.Controls.ArgumentBox();
this.activation = new System.Windows.Forms.ComboBox(); this.activation = new System.Windows.Forms.ComboBox();
@ -86,6 +83,9 @@ namespace CodeImp.DoomBuilder.Windows
this.frontoffsetx = new CodeImp.DoomBuilder.Controls.NumericTextbox(); this.frontoffsetx = new CodeImp.DoomBuilder.Controls.NumericTextbox();
this.tabcustom = new System.Windows.Forms.TabPage(); this.tabcustom = new System.Windows.Forms.TabPage();
this.fieldslist = new CodeImp.DoomBuilder.Controls.FieldsEditorControl(); this.fieldslist = new CodeImp.DoomBuilder.Controls.FieldsEditorControl();
this.arg0 = new CodeImp.DoomBuilder.Controls.ArgumentBox();
this.arg1 = new CodeImp.DoomBuilder.Controls.ArgumentBox();
this.arg2 = new CodeImp.DoomBuilder.Controls.ArgumentBox();
label2 = new System.Windows.Forms.Label(); label2 = new System.Windows.Forms.Label();
taglabel = new System.Windows.Forms.Label(); taglabel = new System.Windows.Forms.Label();
label3 = new System.Windows.Forms.Label(); label3 = new System.Windows.Forms.Label();
@ -340,52 +340,21 @@ namespace CodeImp.DoomBuilder.Windows
this.hexenpanel.Size = new System.Drawing.Size(505, 132); this.hexenpanel.Size = new System.Drawing.Size(505, 132);
this.hexenpanel.TabIndex = 13; this.hexenpanel.TabIndex = 13;
// //
// arg2
//
this.arg2.FormattingEnabled = true;
this.arg2.ImeMode = System.Windows.Forms.ImeMode.Off;
this.arg2.Location = new System.Drawing.Point(159, 107);
this.arg2.Name = "arg2";
this.arg2.Size = new System.Drawing.Size(93, 22);
this.arg2.TabIndex = 26;
//
// arg1
//
this.arg1.FormattingEnabled = true;
this.arg1.ImeMode = System.Windows.Forms.ImeMode.Off;
this.arg1.Location = new System.Drawing.Point(159, 81);
this.arg1.Name = "arg1";
this.arg1.Size = new System.Drawing.Size(93, 22);
this.arg1.TabIndex = 25;
//
// arg0
//
this.arg0.FormattingEnabled = true;
this.arg0.ImeMode = System.Windows.Forms.ImeMode.Off;
this.arg0.Location = new System.Drawing.Point(159, 55);
this.arg0.Name = "arg0";
this.arg0.Size = new System.Drawing.Size(93, 22);
this.arg0.TabIndex = 24;
//
// arg3 // arg3
// //
this.arg3.FormattingEnabled = true; this.arg3.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.arg3.ImeMode = System.Windows.Forms.ImeMode.Off; this.arg3.Location = new System.Drawing.Point(400, 53);
this.arg3.Location = new System.Drawing.Point(400, 55);
this.arg3.Name = "arg3"; this.arg3.Name = "arg3";
this.arg3.Size = new System.Drawing.Size(93, 22); this.arg3.Size = new System.Drawing.Size(93, 24);
this.arg3.TabIndex = 23; this.arg3.TabIndex = 28;
// //
// arg4 // arg4
// //
this.arg4.DropDownWidth = 200; this.arg4.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.arg4.FormattingEnabled = true; this.arg4.Location = new System.Drawing.Point(400, 79);
this.arg4.ImeMode = System.Windows.Forms.ImeMode.Off;
this.arg4.Location = new System.Drawing.Point(400, 81);
this.arg4.Name = "arg4"; this.arg4.Name = "arg4";
this.arg4.Size = new System.Drawing.Size(93, 22); this.arg4.Size = new System.Drawing.Size(93, 24);
this.arg4.TabIndex = 22; this.arg4.TabIndex = 27;
this.arg4.TextChanged += new System.EventHandler(this.arg4_TextChanged);
// //
// activation // activation
// //
@ -750,6 +719,30 @@ namespace CodeImp.DoomBuilder.Windows
this.fieldslist.Size = new System.Drawing.Size(511, 417); this.fieldslist.Size = new System.Drawing.Size(511, 417);
this.fieldslist.TabIndex = 0; this.fieldslist.TabIndex = 0;
// //
// arg0
//
this.arg0.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.arg0.Location = new System.Drawing.Point(159, 53);
this.arg0.Name = "arg0";
this.arg0.Size = new System.Drawing.Size(93, 24);
this.arg0.TabIndex = 29;
//
// arg1
//
this.arg1.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.arg1.Location = new System.Drawing.Point(159, 79);
this.arg1.Name = "arg1";
this.arg1.Size = new System.Drawing.Size(93, 24);
this.arg1.TabIndex = 30;
//
// arg2
//
this.arg2.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.arg2.Location = new System.Drawing.Point(159, 105);
this.arg2.Name = "arg2";
this.arg2.Size = new System.Drawing.Size(93, 24);
this.arg2.TabIndex = 31;
//
// LinedefEditForm // LinedefEditForm
// //
this.AcceptButton = this.apply; this.AcceptButton = this.apply;
@ -832,9 +825,9 @@ namespace CodeImp.DoomBuilder.Windows
private CodeImp.DoomBuilder.Controls.FieldsEditorControl fieldslist; private CodeImp.DoomBuilder.Controls.FieldsEditorControl fieldslist;
private System.Windows.Forms.GroupBox groupBox1; private System.Windows.Forms.GroupBox groupBox1;
private CodeImp.DoomBuilder.Controls.ArgumentBox arg4; private CodeImp.DoomBuilder.Controls.ArgumentBox arg4;
private CodeImp.DoomBuilder.Controls.ArgumentBox arg3;
private CodeImp.DoomBuilder.Controls.ArgumentBox arg2; private CodeImp.DoomBuilder.Controls.ArgumentBox arg2;
private CodeImp.DoomBuilder.Controls.ArgumentBox arg1; private CodeImp.DoomBuilder.Controls.ArgumentBox arg1;
private CodeImp.DoomBuilder.Controls.ArgumentBox arg0; private CodeImp.DoomBuilder.Controls.ArgumentBox arg0;
private CodeImp.DoomBuilder.Controls.ArgumentBox arg3;
} }
} }

View file

@ -100,11 +100,10 @@ namespace CodeImp.DoomBuilder.Windows
// Action/tags // Action/tags
action.Value = fl.Action; action.Value = fl.Action;
tag.Text = fl.Tag.ToString(); tag.Text = fl.Tag.ToString();
arg0.Text = fl.Args[0].ToString(); arg0.SetValue(fl.Args[0]);
arg1.Text = fl.Args[1].ToString(); arg1.SetValue(fl.Args[1]);
arg2.Text = fl.Args[2].ToString(); arg2.SetValue(fl.Args[2]);
arg3.Text = fl.Args[3].ToString(); arg3.SetValue(fl.Args[3]);
arg4.Text = fl.Args[4].ToString();
arg4.SetValue(fl.Args[4]); arg4.SetValue(fl.Args[4]);
// Front side and back side checkboxes // Front side and back side checkboxes
@ -162,11 +161,11 @@ namespace CodeImp.DoomBuilder.Windows
// Action/tags // Action/tags
if(l.Action != action.Value) action.Empty = true; if(l.Action != action.Value) action.Empty = true;
if(l.Tag.ToString() != tag.Text) tag.Text = ""; if(l.Tag.ToString() != tag.Text) tag.Text = "";
if(l.Args[0].ToString() != arg0.Text) arg0.Text = ""; if(l.Args[0] != arg0.GetResult(-1)) arg0.ClearValue();
if(l.Args[1].ToString() != arg1.Text) arg1.Text = ""; if(l.Args[1] != arg1.GetResult(-1)) arg1.ClearValue();
if(l.Args[2].ToString() != arg2.Text) arg2.Text = ""; if(l.Args[2] != arg2.GetResult(-1)) arg2.ClearValue();
if(l.Args[3].ToString() != arg3.Text) arg3.Text = ""; if(l.Args[3] != arg3.GetResult(-1)) arg3.ClearValue();
if(l.Args[4].ToString() != arg4.Text) arg4.Text = ""; if(l.Args[4] != arg4.GetResult(-1)) arg4.ClearValue();
// Front side checkbox // Front side checkbox
if((l.Front != null) != frontside.Checked) if((l.Front != null) != frontside.Checked)
@ -262,11 +261,11 @@ namespace CodeImp.DoomBuilder.Windows
// Action/tags // Action/tags
if(!action.Empty) l.Action = action.Value; if(!action.Empty) l.Action = action.Value;
l.Tag = tag.GetResult(l.Tag); l.Tag = tag.GetResult(l.Tag);
l.Args[0] = (byte)arg0.GetResult(l.Args[0]); l.Args[0] = arg0.GetResult(l.Args[0]);
l.Args[1] = (byte)arg1.GetResult(l.Args[1]); l.Args[1] = arg1.GetResult(l.Args[1]);
l.Args[2] = (byte)arg2.GetResult(l.Args[2]); l.Args[2] = arg2.GetResult(l.Args[2]);
l.Args[3] = (byte)arg3.GetResult(l.Args[3]); l.Args[3] = arg3.GetResult(l.Args[3]);
l.Args[4] = (byte)arg4.GetResult(l.Args[4]); l.Args[4] = arg4.GetResult(l.Args[4]);
// Remove front side? // Remove front side?
if((l.Front != null) && (frontside.CheckState == CheckState.Unchecked)) if((l.Front != null) && (frontside.CheckState == CheckState.Unchecked))
@ -367,11 +366,11 @@ namespace CodeImp.DoomBuilder.Windows
if(arg2label.Enabled) arg2.ForeColor = SystemColors.WindowText; else arg2.ForeColor = SystemColors.GrayText; if(arg2label.Enabled) arg2.ForeColor = SystemColors.WindowText; else arg2.ForeColor = SystemColors.GrayText;
if(arg3label.Enabled) arg3.ForeColor = SystemColors.WindowText; else arg3.ForeColor = SystemColors.GrayText; if(arg3label.Enabled) arg3.ForeColor = SystemColors.WindowText; else arg3.ForeColor = SystemColors.GrayText;
if(arg4label.Enabled) arg4.ForeColor = SystemColors.WindowText; else arg4.ForeColor = SystemColors.GrayText; if(arg4label.Enabled) arg4.ForeColor = SystemColors.WindowText; else arg4.ForeColor = SystemColors.GrayText;
arg0.SetupEnums(General.Map.Config.LinedefActions[showaction].Args[0].Enum); arg0.Setup(General.Map.Config.LinedefActions[showaction].Args[0]);
arg1.SetupEnums(General.Map.Config.LinedefActions[showaction].Args[1].Enum); arg1.Setup(General.Map.Config.LinedefActions[showaction].Args[1]);
arg2.SetupEnums(General.Map.Config.LinedefActions[showaction].Args[2].Enum); arg2.Setup(General.Map.Config.LinedefActions[showaction].Args[2]);
arg3.SetupEnums(General.Map.Config.LinedefActions[showaction].Args[3].Enum); arg3.Setup(General.Map.Config.LinedefActions[showaction].Args[3]);
arg4.SetupEnums(General.Map.Config.LinedefActions[showaction].Args[4].Enum); arg4.Setup(General.Map.Config.LinedefActions[showaction].Args[4]);
} }
// Browse Action clicked // Browse Action clicked
@ -379,10 +378,5 @@ namespace CodeImp.DoomBuilder.Windows
{ {
action.Value = ActionBrowserForm.BrowseAction(this, action.Value); action.Value = ActionBrowserForm.BrowseAction(this, action.Value);
} }
private void arg4_TextChanged(object sender, EventArgs e)
{
General.WriteLog(arg4.Text);
}
} }
} }

View file

@ -75,9 +75,9 @@ namespace CodeImp.DoomBuilder.Windows
this.apply = new System.Windows.Forms.Button(); this.apply = new System.Windows.Forms.Button();
this.arg4 = new CodeImp.DoomBuilder.Controls.ArgumentBox(); this.arg4 = new CodeImp.DoomBuilder.Controls.ArgumentBox();
this.arg3 = new CodeImp.DoomBuilder.Controls.ArgumentBox(); this.arg3 = new CodeImp.DoomBuilder.Controls.ArgumentBox();
this.arg2 = new CodeImp.DoomBuilder.Controls.ArgumentBox();
this.arg1 = new CodeImp.DoomBuilder.Controls.ArgumentBox();
this.arg0 = new CodeImp.DoomBuilder.Controls.ArgumentBox(); this.arg0 = new CodeImp.DoomBuilder.Controls.ArgumentBox();
this.arg1 = new CodeImp.DoomBuilder.Controls.ArgumentBox();
this.arg2 = new CodeImp.DoomBuilder.Controls.ArgumentBox();
groupBox1 = new System.Windows.Forms.GroupBox(); groupBox1 = new System.Windows.Forms.GroupBox();
label4 = new System.Windows.Forms.Label(); label4 = new System.Windows.Forms.Label();
label3 = new System.Windows.Forms.Label(); label3 = new System.Windows.Forms.Label();
@ -436,9 +436,9 @@ namespace CodeImp.DoomBuilder.Windows
this.hexenpanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.hexenpanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.hexenpanel.Controls.Add(this.arg0);
this.hexenpanel.Controls.Add(this.arg1);
this.hexenpanel.Controls.Add(this.arg2); this.hexenpanel.Controls.Add(this.arg2);
this.hexenpanel.Controls.Add(this.arg1);
this.hexenpanel.Controls.Add(this.arg0);
this.hexenpanel.Controls.Add(this.arg3); this.hexenpanel.Controls.Add(this.arg3);
this.hexenpanel.Controls.Add(this.arg4); this.hexenpanel.Controls.Add(this.arg4);
this.hexenpanel.Controls.Add(this.arg1label); this.hexenpanel.Controls.Add(this.arg1label);
@ -616,48 +616,43 @@ namespace CodeImp.DoomBuilder.Windows
// //
// arg4 // arg4
// //
this.arg4.FormattingEnabled = true; this.arg4.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.arg4.ImeMode = System.Windows.Forms.ImeMode.Off; this.arg4.Location = new System.Drawing.Point(425, 37);
this.arg4.Location = new System.Drawing.Point(425, 39);
this.arg4.Name = "arg4"; this.arg4.Name = "arg4";
this.arg4.Size = new System.Drawing.Size(93, 22); this.arg4.Size = new System.Drawing.Size(93, 24);
this.arg4.TabIndex = 23; this.arg4.TabIndex = 28;
// //
// arg3 // arg3
// //
this.arg3.FormattingEnabled = true; this.arg3.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.arg3.ImeMode = System.Windows.Forms.ImeMode.Off; this.arg3.Location = new System.Drawing.Point(425, 11);
this.arg3.Location = new System.Drawing.Point(425, 13);
this.arg3.Name = "arg3"; this.arg3.Name = "arg3";
this.arg3.Size = new System.Drawing.Size(93, 22); this.arg3.Size = new System.Drawing.Size(93, 24);
this.arg3.TabIndex = 24; this.arg3.TabIndex = 29;
//
// arg2
//
this.arg2.FormattingEnabled = true;
this.arg2.ImeMode = System.Windows.Forms.ImeMode.Off;
this.arg2.Location = new System.Drawing.Point(179, 65);
this.arg2.Name = "arg2";
this.arg2.Size = new System.Drawing.Size(93, 22);
this.arg2.TabIndex = 25;
//
// arg1
//
this.arg1.FormattingEnabled = true;
this.arg1.ImeMode = System.Windows.Forms.ImeMode.Off;
this.arg1.Location = new System.Drawing.Point(179, 39);
this.arg1.Name = "arg1";
this.arg1.Size = new System.Drawing.Size(93, 22);
this.arg1.TabIndex = 26;
// //
// arg0 // arg0
// //
this.arg0.FormattingEnabled = true; this.arg0.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.arg0.ImeMode = System.Windows.Forms.ImeMode.Off; this.arg0.Location = new System.Drawing.Point(179, 11);
this.arg0.Location = new System.Drawing.Point(179, 13);
this.arg0.Name = "arg0"; this.arg0.Name = "arg0";
this.arg0.Size = new System.Drawing.Size(93, 22); this.arg0.Size = new System.Drawing.Size(93, 24);
this.arg0.TabIndex = 27; this.arg0.TabIndex = 30;
//
// arg1
//
this.arg1.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.arg1.Location = new System.Drawing.Point(179, 37);
this.arg1.Name = "arg1";
this.arg1.Size = new System.Drawing.Size(93, 24);
this.arg1.TabIndex = 31;
//
// arg2
//
this.arg2.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.arg2.Location = new System.Drawing.Point(179, 63);
this.arg2.Name = "arg2";
this.arg2.Size = new System.Drawing.Size(93, 24);
this.arg2.TabIndex = 32;
// //
// ThingEditForm // ThingEditForm
// //
@ -731,9 +726,9 @@ namespace CodeImp.DoomBuilder.Windows
private System.Windows.Forms.Button browseaction; private System.Windows.Forms.Button browseaction;
private System.Windows.Forms.Panel doompanel; private System.Windows.Forms.Panel doompanel;
private CodeImp.DoomBuilder.Controls.FieldsEditorControl fieldslist; private CodeImp.DoomBuilder.Controls.FieldsEditorControl fieldslist;
private CodeImp.DoomBuilder.Controls.ArgumentBox arg0;
private CodeImp.DoomBuilder.Controls.ArgumentBox arg1;
private CodeImp.DoomBuilder.Controls.ArgumentBox arg2; private CodeImp.DoomBuilder.Controls.ArgumentBox arg2;
private CodeImp.DoomBuilder.Controls.ArgumentBox arg1;
private CodeImp.DoomBuilder.Controls.ArgumentBox arg0;
private CodeImp.DoomBuilder.Controls.ArgumentBox arg3; private CodeImp.DoomBuilder.Controls.ArgumentBox arg3;
private CodeImp.DoomBuilder.Controls.ArgumentBox arg4; private CodeImp.DoomBuilder.Controls.ArgumentBox arg4;
} }

View file

@ -131,11 +131,11 @@ namespace CodeImp.DoomBuilder.Windows
// Action/tags // Action/tags
action.Value = ft.Action; action.Value = ft.Action;
tag.Text = ft.Tag.ToString(); tag.Text = ft.Tag.ToString();
arg0.Text = ft.Args[0].ToString(); arg0.SetValue(ft.Args[0]);
arg1.Text = ft.Args[1].ToString(); arg1.SetValue(ft.Args[1]);
arg2.Text = ft.Args[2].ToString(); arg2.SetValue(ft.Args[2]);
arg3.Text = ft.Args[3].ToString(); arg3.SetValue(ft.Args[3]);
arg4.Text = ft.Args[4].ToString(); arg4.SetValue(ft.Args[4]);
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
// Now go for all lines and change the options when a setting is different // Now go for all lines and change the options when a setting is different
@ -172,11 +172,11 @@ namespace CodeImp.DoomBuilder.Windows
// Action/tags // Action/tags
if(t.Action != action.Value) action.Empty = true; if(t.Action != action.Value) action.Empty = true;
if(t.Tag.ToString() != tag.Text) tag.Text = ""; if(t.Tag.ToString() != tag.Text) tag.Text = "";
if(t.Args[0].ToString() != arg0.Text) arg0.Text = ""; if(t.Args[0] != arg0.GetResult(-1)) arg0.ClearValue();
if(t.Args[1].ToString() != arg1.Text) arg1.Text = ""; if(t.Args[1] != arg1.GetResult(-1)) arg1.ClearValue();
if(t.Args[2].ToString() != arg2.Text) arg2.Text = ""; if(t.Args[2] != arg2.GetResult(-1)) arg2.ClearValue();
if(t.Args[3].ToString() != arg3.Text) arg3.Text = ""; if(t.Args[3] != arg3.GetResult(-1)) arg3.ClearValue();
if(t.Args[4].ToString() != arg4.Text) arg4.Text = ""; if(t.Args[4] != arg4.GetResult(-1)) arg4.ClearValue();
} }
} }
@ -214,11 +214,11 @@ namespace CodeImp.DoomBuilder.Windows
if(arg2label.Enabled) arg2.ForeColor = SystemColors.WindowText; else arg2.ForeColor = SystemColors.GrayText; if(arg2label.Enabled) arg2.ForeColor = SystemColors.WindowText; else arg2.ForeColor = SystemColors.GrayText;
if(arg3label.Enabled) arg3.ForeColor = SystemColors.WindowText; else arg3.ForeColor = SystemColors.GrayText; if(arg3label.Enabled) arg3.ForeColor = SystemColors.WindowText; else arg3.ForeColor = SystemColors.GrayText;
if(arg4label.Enabled) arg4.ForeColor = SystemColors.WindowText; else arg4.ForeColor = SystemColors.GrayText; if(arg4label.Enabled) arg4.ForeColor = SystemColors.WindowText; else arg4.ForeColor = SystemColors.GrayText;
arg0.SetupEnums(General.Map.Config.LinedefActions[showaction].Args[0].Enum); arg0.Setup(General.Map.Config.LinedefActions[showaction].Args[0]);
arg1.SetupEnums(General.Map.Config.LinedefActions[showaction].Args[1].Enum); arg1.Setup(General.Map.Config.LinedefActions[showaction].Args[1]);
arg2.SetupEnums(General.Map.Config.LinedefActions[showaction].Args[2].Enum); arg2.Setup(General.Map.Config.LinedefActions[showaction].Args[2]);
arg3.SetupEnums(General.Map.Config.LinedefActions[showaction].Args[3].Enum); arg3.Setup(General.Map.Config.LinedefActions[showaction].Args[3]);
arg4.SetupEnums(General.Map.Config.LinedefActions[showaction].Args[4].Enum); arg4.Setup(General.Map.Config.LinedefActions[showaction].Args[4]);
} }
// Browse Action clicked // Browse Action clicked
@ -331,11 +331,11 @@ namespace CodeImp.DoomBuilder.Windows
// Action/tags // Action/tags
if(!action.Empty) t.Action = action.Value; if(!action.Empty) t.Action = action.Value;
t.Tag = tag.GetResult(t.Tag); t.Tag = tag.GetResult(t.Tag);
t.Args[0] = (byte)arg0.GetResult(t.Args[0]); t.Args[0] = arg0.GetResult(t.Args[0]);
t.Args[1] = (byte)arg1.GetResult(t.Args[1]); t.Args[1] = arg1.GetResult(t.Args[1]);
t.Args[2] = (byte)arg2.GetResult(t.Args[2]); t.Args[2] = arg2.GetResult(t.Args[2]);
t.Args[3] = (byte)arg3.GetResult(t.Args[3]); t.Args[3] = arg3.GetResult(t.Args[3]);
t.Args[4] = (byte)arg4.GetResult(t.Args[4]); t.Args[4] = arg4.GetResult(t.Args[4]);
// Update settings // Update settings
t.UpdateConfiguration(); t.UpdateConfiguration();

View file

@ -169,451 +169,451 @@
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAI ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAD+
aAAAAk1TRnQBSQFMAgEBFAEAARgBAAEEAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA ZwAAAk1TRnQBSQFMAgEBFAEAARgBAAEEAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
AwABYAMAAQEBAAEgBgABYP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8AOgABBAIBAQQBFAIB AwABYAMAAQEBAAEgBgABYP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8AOgABBAIBAQQBFAIB
ARkBFAIBARkBFAIBARkBAgMBLAABBAIBAQQBFAIBARkBFAIBARkBFAIBARkBAgMBLAABBAIBAQQBFAIB ARkBFAIBARkBFAIBARkBAgMBLAABBAIBAQQBFAIBARkBFAIBARkBFAIBARkBAgMBLAABBAIBAQQBFAIB
ARkBFAIBARkBFAIBARkBAgMBLAABBAIBAQQBFAIBARkBFAIBARkBFAIBARkBAgMBJAABMAIBAUoBlAGL ARkBFAIBARkBFAIBARkBAgMBLAABBAIBAQQBFAIBARkBFAIBARkBFAIBARkBAgMBJAABMAIBAUoBlAGL
AcUB/wGEAXsBxAH/AYABcgHEAf8BfgFwAcMB/wF8AW4BwQH/AXwBcAG2Af8BMAIBAUoBFAIBARkcAAEw AcUB/wGEAXwBxAH/AYEBcwHEAf8BfwFxAcMB/wF9AW8BwQH/AX0BcQG2Af8BMAIBAUoBFAIBARkcAAEw
AgEBSgEDAVUBlwH/AQMBRgF9Af8BAwE/AXEB/wEDAT0BbgH/AQMBOgFoAf8BAwEzAVsB/wEwAgEBSgEU AgEBSgEEAVYBlwH/AQQBRwF+Af8BBAFAAXIB/wEEAT4BbwH/AQQBOwFpAf8BBAE0AVwB/wEwAgEBSgEU
AgEBGRwAATACAQFKAUkBYgFkAf8BOgFSAVQB/wE0AUoBTAH/ATIBSAFKAf8BMAFEAUYB/wEsAToBOwH/ AgEBGRwAATACAQJKAWMBZQH/ATsBUwFVAf8BNQFLAU0B/wEzAUkBSwH/ATEBRQFHAf8BLQE7ATwB/wEw
ATACAQFKARQCAQEZHAABMAIBAUoBMAFUAWMB/wEkAUYBVAH/AR8BQAFNAf8BHgE/AUwB/wEdATsBRwH/ AgEBSgEUAgEBGRwAATACAQFKATEBVQFkAf8BJQFHAVUB/wEgAUEBTgH/AR8BQAFNAf8BHgE8AUgB/wEe
AR0BMgE6Af8BMAIBAUoBFAIBARkYAAGIAVoBdQHnAZ8BlQHSAf8BngGUAdMB/wGcAZIB0gH/AZsBkQHS ATMBOwH/ATACAQFKARQCAQEZGAABgAFLAWEB5wGfAZUB0gH/AZ4BlAHTAf8BnAGSAdIB/wGbAZEB0gH/
Af8BmQGOAdIB/wGVAYoB0AH/AYsBgQHLAf8BfgFxAcUB/wFqAS0BRwHbARQCAQEZFAABLgE8AW0B5wED AZkBjgHSAf8BlQGKAdAB/wGLAYEBywH/AX8BcgHFAf8BZwEiATUB2wEUAgEBGRQAATkBMQFaAecBBAFn
AWYBtQH/AQMBZgG0Af8BAwFkAbIB/wEDAWMBrwH/AQMBYQGrAf8BAwFdAaQB/wEDAVEBjgH/AQMBPwFx AbUB/wEEAWcBtAH/AQQBZQGyAf8BBAFkAa8B/wEEAWIBqwH/AQQBXgGkAf8BBAFSAY4B/wEEAUABcgH/
Af8BPAETASIB2wEUAgEBGRQAAV0BQwFKAecBVAF4AXsB/wFTAXgBewH/AVIBdwF6Af8BUAF1AXgB/wFO AUcBDgEYAdsBFAIBARkUAAFdATgBPAHnAVUBeQF8Af8BVAF5AXwB/wFTAXgBewH/AVEBdgF5Af8BTwF0
AXMBdgH/AUsBbgFxAf8BQgFfAWIB/wEzAUoBTAH/AUsBEwEUAdsBFAIBARkUAAFOATwBRwHnATMBZwF9 AXcB/wFMAW8BcgH/AUMBYAFjAf8BNAFLAU0B/wFRAg4B2wEUAgEBGRQAAVMBMQE6AecBNAFoAX4B/wEz
Af8BMgFoAX0B/wExAWYBfAH/ATABZQF6Af8BLgFjAXgB/wEsAV4BcwH/AScBUgFjAf8BHwFAAU0B/wFH AWkBfgH/ATIBZwF9Af8BMQFmAXsB/wEvAWQBeQH/AS0BXwF0Af8BKAFTAWQB/wEgAUEBTgH/AU8CDgHb
ARIBEwHbARQCAQEZEAABfgFEAVoB3AGrAaEB4gH/Aa4BowHoAf8BsAGkAewB/wGvAaQB6wH/Aa8BpAHq ARQCAQEZEAABeAE0AUQB3AGrAaEB4gH/Aa4BowHoAf8BsAGkAewB/wGvAaQB6wH/Aa8BpAHqAf8BrwGk
Af8BrwGkAeoB/wGtAaEB6AH/AaoBnwHiAf8BnQGTAdMB/wGDAXkBxgH/AWkBLQFHAdsBFAIBARkMAAE7 AeoB/wGtAaEB6AH/AaoBnwHiAf8BnQGTAdMB/wGDAXoBxgH/AWYBIgE1AdsBFAIBARkMAAFGASQBQgHc
AS8BWAHcAQMBewHbAf8BAwGBAeYB/wEDAYIB7QH/AQMBgQHsAf8BAwGBAeoB/wEDAYEB6gH/AQMBfwHk AQQBfAHbAf8BBAGBAeYB/wEEAYIB7QH/AQQBgQHsAf8BBAGBAeoB/wEEAYEB6gH/AQQBgAHkAf8BBAF7
Af8BAwF6AdkB/wEDAWUBswH/AQMBRgF+Af8BPAETASEB2wEUAgEBGQwAAWECOgHcAV4BkwGYAf8BXgGf AdkB/wEEAWYBswH/AQQBRwF/Af8BRwEOARgB2wEUAgEBGQwAAWICKgHcAV8BkwGYAf8BXwGfAaUB/wFh
AaUB/wFgAaUBqwH/AWABowGpAf8BXwGiAagB/wFfAaIBqAH/AV0BngGjAf8BXAGTAZgB/wFTAXcBewH/ AaUBqwH/AWEBowGpAf8BYAGiAagB/wFgAaIBqAH/AV4BngGjAf8BXQGTAZgB/wFUAXgBfAH/ATsBVAFW
AToBUwFVAf8BSwETARQB2wEUAgEBGQwAAVIBNAE6AdwBMAGBAaAB/wEpAYkBsQH/ASQBkQG9Af8BJQGP Af8BUQIOAdsBFAIBARkMAAFXASgBKgHcATEBgQGgAf8BKgGJAbEB/wElAZEBvQH/ASYBjwG6Af8BJwGN
AboB/wEmAY0BuAH/ASYBjQG4Af8BKAGIAa8B/wEuAYEBoAH/ATEBZwF9Af8BIwFHAVYB/wFHARIBEwHb AbgB/wEnAY0BuAH/ASkBiAGvAf8BLwGBAaAB/wEyAWgBfgH/ASQBSAFXAf8BTwIOAdsBFAIBARkIAAEw
ARQCAQEZCAABMAIBAUoBrAGiAeMB/wGvAaQB6wH/AbUBqgHwAf8BtQGqAfAB/wG1AaoB8AH/AbUBqgHw AgEBSgGsAaIB4wH/Aa8BpAHrAf8BtQGqAfAB/wG1AaoB8AH/AbUBqgHwAf8BtQGqAfAB/wGwAaUB7QH/
Af8BsAGlAe0B/wGxAaYB7wH/Aa0BogHnAf8BlwGNAc8B/wGZAY4B0QH/AYIBeAHGAf8BMAIBAUoIAAEw AbEBpgHvAf8BrQGiAecB/wGXAY0BzwH/AZkBjgHRAf8BggF5AcYB/wEwAgEBSggAATACAQFKAQQBfQHe
AgEBSgEDAXwB3gH/AQMBgQHtAf8BAwGJAfoB/wEDAYkB+gH/AQMBiQH6Af8BAwGJAfoB/wEDAYMB8AH/ Af8BBAGBAe0B/wEEAYkB+gH/AQQBiQH6Af8BBAGJAfoB/wEEAYkB+gH/AQQBgwHwAf8BBAGFAfQB/wEE
AQMBhQH0Af8BAwF/AeQB/wEDAV0BpQH/AQMBYQGrAf8BAwFFAXwB/wEwAgEBSggAATACAQFKAV4BlwGc AYAB5AH/AQQBXgGlAf8BBAFiAasB/wEEAUYBfQH/ATACAQFKCAABMAIBAUoBXwGXAZwB/wFhAaQBqgH/
Af8BYAGkAaoB/wFnAawBsgH/AWcBrAGyAf8BZwGsAbIB/wFnAawBsgH/AWEBpgGsAf8BYgGpAa8B/wFe AWgBrAGyAf8BaAGsAbIB/wFoAawBsgH/AWgBrAGyAf8BYgGmAawB/wFjAakBrwH/AV8BnQGiAf8BTgFv
AZ0BogH/AU0BbgFxAf8BTwFyAXUB/wE5AVEBUwH/ATACAQFKCAABMAIBAUoBLwGCAaQB/wElAY8BvAH/ AXIB/wFQAXMBdgH/AToBUgFUAf8BMAIBAUoIAAEwAgEBSgEwAYIBpAH/ASYBjwG8Af8BIQGbAc0B/wEh
ASABmwHNAf8BIAGbAc0B/wEgAZsBzQH/ASABmwHNAf8BIwGSAcAB/wEgAZYBxgH/ASsBhwGtAf8BLgFf AZsBzQH/ASEBmwHNAf8BIQGbAc0B/wEkAZIBwAH/ASEBlgHGAf8BLAGHAa0B/wEvAWABcwH/ATABYwF4
AXIB/wEvAWIBdwH/ASIBRgFVAf8BMAIBAUoIAAGyAacB6gH/AbUBqwHtAf8BtAGoAfEB/wG1AaoB8AH/ Af8BIwFHAVYB/wEwAgEBSggAAbIBpwHqAf8BtQGrAe0B/wG0AagB8QH/AbUBqgHwAf8BtQGqAfAB/wG1
AbUBqgHwAf8BtQGqAe8B/wGzAagB6wH/AaYBnQHTAf8BggF5AcAB/wFjAVQBrgH/AwMB/wGZAY8B0AH/ AaoB7wH/AbMBqAHrAf8BpgGdAdMB/wGCAXoBwAH/AWQBVQGuAf8DBAH/AZkBjwHQAf8BlQGKAdAB/wGB
AZUBigHQAf8BgQF1Ab0B/wECAwEEAAEDAYIB7wH/AQMBiAH4Af8BAwGJAfoB/wEDAYkB+gH/AQMBiQH6 AXYBvQH/AQIDAQQAAQQBggHvAf8BBAGIAfgB/wEEAYkB+gH/AQQBiQH6Af8BBAGJAfoB/wEEAYgB+gH/
Af8BAwGIAfoB/wEDAYQB8QH/AQMBbQHCAf8BAwFCAXYB/wEDARgBKgH/AwMB/wEDAWABqgH/AQMBXQGk AQQBhAHxAf8BBAFuAcIB/wEEAUMBdwH/AQQBGQErAf8DBAH/AQQBYQGqAf8BBAFeAaQB/wEEAT0BbAH/
Af8BAwE8AWsB/wECAwEEAAFjAaQBqgH/AWgBqQGvAf8BZQGtAbQB/wFnAawBsgH/AWcBrAGyAf8BZwGr AQIDAQQAAWQBpAGqAf8BaQGpAa8B/wFmAa0BtAH/AWgBrAGyAf8BaAGsAbIB/wFoAasBsQH/AWYBpQGq
AbEB/wFlAaUBqgH/AVsBfwGBAf8BNwFMAU4B/wEVAhwB/wMDAf8BTwFyAXUB/wFLAW4BcQH/ATMBRQFH Af8BXAGAAYEB/wE4AU0BTwH/ARYCHQH/AwQB/wFQAXMBdgH/AUwBbwFyAf8BNAFGAUgB/wECAwEEAAEp
Af8BAgMBBAABKAGQAbsB/wElAZcBxgH/ARwBnAHRAf8BIAGbAc0B/wEgAZsBzQH/ASEBmgHLAf8BKAGR AZABuwH/ASYBlwHGAf8BHQGcAdEB/wEhAZsBzQH/ASEBmwHNAf8BIgGaAcsB/wEpAZEBvAH/AToBbgGB
AbwB/wE5AW0BgQH/ASMBQgFOAf8BDgEYARwB/wMDAf8BLwFiAXYB/wEsAV4BcwH/ASEBPAFGAf8BAgMB Af8BJAFDAU8B/wEPARkBHQH/AwQB/wEwAWMBdwH/AS0BXwF0Af8BIgE9AUcB/wECAwEEAAG1AaoB8gH/
BAABtQGqAfIB/wG/AbUB8wH/AbcBrAHwAf8BtQGqAfAB/wGpAaAB2QH/AYkBgQHEAf8BaAFZAbMB/wFi Ab8BtQHzAf8BtwGsAfAB/wG1AaoB8AH/AakBoAHZAf8BiQGBAcQB/wFpAVoBswH/AWMBWgGNAf8DBAH/
AVkBjQH/AwMB/wMDAf8BXgFPAasB/wGtAaIB5QH/AaQBmgHXAf8BiAF+AcgB/wEUAgEBGQQAAQMBigH9 AwQB/wFfAVABqwH/Aa0BogHlAf8BpAGaAdcB/wGIAX8ByAH/ARQCAQEZBAABBAGKAf0B/wETAZIC/wEE
Af8BEgGSAv8BAwGLAf4B/wEDAYkB+gH/AQMBcwHOAf8BAwFLAYMB/wEDASABOAH/AQMBBAEFAf8DAwH/ AYsB/gH/AQQBiQH6Af8BBAF0Ac4B/wEEAUwBgwH/AQQBIQE5Af8BBAEFAQYB/wMEAf8DBAH/AQQBEwEg
AwMB/wEDARIBHwH/AQMBfgHhAf8BAwFuAcQB/wEDAUwBhQH/ARQCAQEZBAABZwGuAbUB/wF1AbUBuwH/ Af8BBAF/AeEB/wEEAW8BxAH/AQQBTQGFAf8BFAIBARkEAAFoAa4BtQH/AXYBtQG7Af8BawGtAbMB/wFo
AWoBrQGzAf8BZwGsAbIB/wFeAYYBigH/AT8BVwFZAf8BGwElASYB/wMEAf8DAwH/AwMB/wEQAhUB/wFe AawBsgH/AV8BhgGKAf8BQAFYAVoB/wEcASYBJwH/AwUB/wMEAf8DBAH/ARECFgH/AV8BmgGgAf8BWgGB
AZoBoAH/AVkBgQGDAf8BPgFZAVsB/wEUAgEBGQQAAR0BngHSAf8BHgGpAeIB/wEhAZ0BzwH/ASABmwHN AYMB/wE/AVoBXAH/ARQCAQEZBAABHgGeAdIB/wEfAakB4gH/ASIBnQHPAf8BIQGbAc0B/wE4AXcBjAH/
Af8BNwF2AYwB/wEnAUsBWQH/AREBIAEmAf8BAwIEAf8DAwH/AwMB/wEKARIBFQH/ASwBhQGqAf8BNAFx ASgBTAFaAf8BEgEhAScB/wEEAgUB/wMEAf8DBAH/AQsBEwEWAf8BLQGFAaoB/wE1AXIBhgH/ASYBTgFe
AYYB/wElAU0BXQH/ARQCAQEZAQsCAQENAb0BswHzAf8BxgG9AfUB/wG6AbAB8AH/AbUBqgHwAf8BlQGK Af8BFAIBARkBCwIBAQ0BvQGzAfMB/wHGAb0B9QH/AboBsAHwAf8BtQGqAfAB/wGVAYoBygH/AX8BcgG8
AcoB/wF+AXEBvAH/AVsBTAGkAf8DAwH/AwMB/wMDAf8BhAF8AcEB/wGyAacB8AH/AakBngHiAf8BjgGC Af8BXAFNAaQB/wMEAf8DBAH/AwQB/wGEAX0BwQH/AbIBpwHwAf8BqQGeAeIB/wGOAYIBzQH/ARQCAQEZ
Ac0B/wEUAgEBGQELAgEBDQEPAZEC/wEfAZgC/wEHAY0C/wEDAYkB+gH/AQMBWAGcAf8BAwE5AWUB/wED AQsCAQENARABkQL/ASABmAL/AQgBjQL/AQQBiQH6Af8BBAFZAZwB/wEEAToBZgH/AQQBDAETAf8DBAH/
AQsBEgH/AwMB/wMDAf8DAwH/AQMBRQF7Af8BAwGGAfYB/wEDAXkB1wH/AQMBVAGUAf8BFAIBARkBCwIB AwQB/wMEAf8BBAFGAXwB/wEEAYYB9gH/AQQBegHXAf8BBAFVAZQB/wEUAgEBGQELAgEBDQFzAbQBugH/
AQ0BcgG0AboB/wF/AboBwAH/AW8BrwG1Af8BZwGsAbIB/wFKAWcBaQH/ATABQQFDAf8BCgEMAQ0B/wMD AYABugHAAf8BcAGvAbUB/wFoAawBsgH/AUsBaAFqAf8BMQFCAUQB/wELAQ0BDgH/AwQB/wMEAf8DBAH/
Af8DAwH/AwMB/wE6AVABUQH/AWMBqwGxAf8BXAGSAZcB/wFEAWQBZgH/ARQCAQEZAQsCAQENAR4BpwHe ATsBUQFSAf8BZAGrAbEB/wFdAZIBlwH/AUUBZQFnAf8BFAIBARkBCwIBAQ0BHwGnAd4B/wEpAa4B5AH/
Af8BKAGuAeQB/wEjAaAB0wH/ASABmwHNAf8BLwFZAWkB/wEfATkBQwH/AQcBCwENAf8DAwH/AwMB/wMD ASQBoAHTAf8BIQGbAc0B/wEwAVoBagH/ASABOgFEAf8BCAEMAQ4B/wMEAf8DBAH/AwQB/wEmAUYBUgH/
Af8BJQFFAVEB/wEfAZgBygH/AS4BgQGfAf8BKQFWAWgB/wEUAgEBGQELAgEBDQHBAbgB9AH/AcoBwgH1 ASABmAHKAf8BLwGBAZ8B/wEqAVcBaQH/ARQCAQEZAQsCAQENAcEBuAH0Af8BygHCAfUB/wG7AbEB8AH/
Af8BuwGxAfAB/wG1AaoB8AH/AbUBqgHvAf8BtQGqAe8B/wFwAWMBtwH/AwMB/wMDAf8BWgFMAZ0B/wGo AbUBqgHwAf8BtQGqAe8B/wG1AaoB7wH/AXEBZAG3Af8DBAH/AwQB/wFbAU0BnQH/AagBnwHXAf8BrwGk
AZ8B1wH/Aa8BpAHrAf8BrQGiAeYB/wGRAYUBzgH/ARQCAQEZAQsCAQENARYBlAL/ASYBmwL/AQcBjQL/ AesB/wGtAaIB5gH/AZEBhQHOAf8BFAIBARkBCwIBAQ0BFwGUAv8BJwGbAv8BCAGNAv8BBAGJAfoB/wEE
AQMBiQH6Af8BAwGIAfoB/wEDAYgB+QH/AQMBKgFKAf8DAwH/AwMB/wEDAQYBCAH/AQMBcgHLAf8BAwGB AYgB+gH/AQQBiAH5Af8BBAErAUsB/wMEAf8DBAH/AQQBBwEJAf8BBAFzAcsB/wEEAYEB7AH/AQQBgAHi
AewB/wEDAX8B4gH/AQMBVwGaAf8BFAIBARkBCwIBAQ0BdwG3Ab0B/wGBAb0BwgH/AW8BrwG0Af8BZwGs Af8BBAFYAZoB/wEUAgEBGQELAgEBDQF4AbcBvQH/AYEBvQHCAf8BcAGvAbQB/wFoAawBsgH/AWgBqwGx
AbIB/wFnAasBsQH/AWcBqwGxAf8BIwEwATIB/wMDAf8DAwH/AQUCBgH/AV0BgwGHAf8BYAGjAakB/wFd Af8BaAGrAbEB/wEkATEBMwH/AwQB/wMEAf8BBgIHAf8BXgGDAYcB/wFhAaMBqQH/AV4BmwGhAf8BSAFo
AZsBoQH/AUcBZwFqAf8BFAIBARkBCwIBAQ0BIQGrAeMB/wEuAbAB5QH/ASQBnwHRAf8BIAGbAc0B/wEh AWsB/wEUAgEBGQELAgEBDQEiAasB4wH/AS8BsAHlAf8BJQGfAdEB/wEhAZsBzQH/ASIBmgHLAf8BIwGZ
AZoBywH/ASIBmQHJAf8BFwEqATIB/wMDAf8DAwH/AQQCBgH/ATgBdAGJAf8BJQGPAboB/wEqAYYBrAH/ AckB/wEYASsBMwH/AwQB/wMEAf8BBQIHAf8BOQF1AYkB/wEmAY8BugH/ASsBhgGsAf8BKwFaAW0B/wEU
ASoBWQFsAf8BFAIBARkEAAHAAbcB9AH/Ac8ByAH2Af8BwAG2AfMB/wG0AakB7AH/AbIBqAHqAf8BeAFr AgEBGQQAAcABtwH0Af8BzwHIAfYB/wHAAbYB8wH/AbQBqQHsAf8BsgGoAeoB/wF5AWwBugH/AT0BIgHE
AboB/wE8ASEBxAH/AYMBewHCAf8BVwFIAaIB/wFwAWMBtwH/AbUBqgHuAf8BtQGqAfAB/wGrAaEB4wH/ Af8BgwF8AcIB/wFYAUkBogH/AXEBZAG3Af8BtQGqAe4B/wG1AaoB8AH/AasBoQHjAf8BkQGGAc0B/wEJ
AZEBhgHNAf8BCQIBAQoEAAEVAZQC/wEwAaAC/wETAZMC/wEDAYUB9AH/AQMBgwHwAf8BAwEyAVkB/wMD AgEBCgQAARYBlAL/ATEBoAL/ARQBkwL/AQQBhQH0Af8BBAGDAfAB/wEEATMBWgH/AwQB/wEEAUUBewH/
Af8BAwFEAXoB/wEDAQYBCQH/AQMBKgFKAf8BAwGIAfgB/wEDAYkB+gH/AQMBfAHdAf8BAwFXAZkB/wEJ AQQBBwEKAf8BBAErAUsB/wEEAYgB+AH/AQQBiQH6Af8BBAF9Ad0B/wEEAVgBmQH/AQkCAQEKBAABdwG2
AgEBCgQAAXYBtgG8Af8BiAHBAcYB/wF2AbUBuwH/AWYBpwGsAf8BZAGkAakB/wEqAToBPAH/AwMB/wE5 AbwB/wGIAcEBxgH/AXcBtQG7Af8BZwGnAawB/wFlAaQBqQH/ASsBOwE9Af8DBAH/AToBUAFSAf8BBwII
AU8BUQH/AQYCBwH/ASMBMAEyAf8BZwGqAbAB/wFnAawBsgH/AV0BlgGbAf8BRwFmAWkB/wEJAgEBCgQA Af8BJAExATMB/wFoAaoBsAH/AWgBrAGyAf8BXgGWAZsB/wFIAWcBagH/AQkCAQEKBAABIQGqAeMB/wE4
ASABqgHjAf8BNwGzAeYB/wEgAakB4QH/AScBlAHAAf8BKQGQAboB/wEbATIBPAH/AwMB/wEkAUQBUQH/ AbMB5gH/ASEBqQHhAf8BKAGUAcAB/wEqAZABugH/ARwBMwE9Af8DBAH/ASUBRQFSAf8BBQEHAQgB/wEY
AQQBBgEHAf8BFwEqATIB/wEjAZgByAH/ASABmwHNAf8BLQGBAaQB/wErAVgBagH/AQkCAQEKBAABvAGx ASsBMwH/ASQBmAHIAf8BIQGbAc0B/wEuAYEBpAH/ASwBWQFrAf8BCQIBAQoEAAG8AbEB8wH/AdMBzAH3
AfMB/wHTAcwB9wH/AcwBxAH2Af8BuwGyAeoB/wF4AWsBugH/AwMB/wGTAYkByQH/AbcBqwHyAf8BbwFh Af8BzAHEAfYB/wG7AbIB6gH/AXkBbAG6Af8DBAH/AZMBiQHJAf8BtwGrAfIB/wFwAWIBtgH/AZUBigHK
AbYB/wGVAYoBygH/AbYBqwHxAf8BtQGqAfAB/wGrAaEB4gH/AZgBjwHMAf8IAAEMAZAC/wE2AaMC/wEq Af8BtgGrAfEB/wG1AaoB8AH/AasBoQHiAf8BmAGPAcwB/wgAAQ0BkAL/ATcBowL/ASsBnQL/AQQBigH9
AZ0C/wEDAYoB/QH/AQMBMgFZAf8DAwH/AQMBVgGXAf8BAwGLAv8BAwEoAUYB/wEDAVgBnAH/AQMBiwH+ Af8BBAEzAVoB/wMEAf8BBAFXAZcB/wEEAYsC/wEEASkBRwH/AQQBWQGcAf8BBAGLAf4B/wEEAYkB+gH/
Af8BAwGJAfoB/wEDAXsB2wH/AQMBXQGkAf8IAAFwAbMBuQH/AY0BwwHIAf8BgwG/AcQB/wFwAagBrQH/ AQQBfAHbAf8BBAFeAaQB/wgAAXEBswG5Af8BjQHDAcgB/wGDAb8BxAH/AXEBqAGtAf8BKwE7AT0B/wME
ASoBOgE8Af8DAwH/AUgBZAFmAf8BaQGvAbUB/wEiAS4BLwH/AUoBZwFpAf8BaQGvAbUB/wFnAawBsgH/ Af8BSQFlAWcB/wFqAa8BtQH/ASMBLwEwAf8BSwFoAWoB/wFqAa8BtQH/AWgBrAGyAf8BXgGUAZgB/wFP
AV0BlAGYAf8BTgFsAW8B/wgAAR4BpQHdAf8BPAG1AeYB/wExAbEB5QH/ATABlgHAAf8BGwEyATwB/wMD AW0BcAH/CAABHwGlAd0B/wE9AbUB5gH/ATIBsQHlAf8BMQGWAcAB/wEcATMBPQH/AwQB/wEvAVcBZwH/
Af8BLgFWAWYB/wEdAZ8B1QH/ARYBKAEvAf8BLwFZAWkB/wEeAZ4B0wH/ASABmwHNAf8BLwGBAaAB/wEx AR4BnwHVAf8BFwEpATAB/wEwAVoBagH/AR8BngHTAf8BIQGbAc0B/wEwAYEBoAH/ATIBXgFwAf8IAAEw
AV0BbwH/CAABMAIBAUoB0wHNAfcB/wHWAdAB9wH/AakBowHMAf8BYgFZAY0B/wGUAYoBygH/AbYBqwHx AgEBSgHTAc0B9wH/AdYB0AH3Af8BqQGjAcwB/wFjAVoBjQH/AZQBigHKAf8BtgGrAfEB/wG1AaoB7gH/
Af8BtQGqAe4B/wGkAZsB0gH/Aa8BpQHkAf8BtQGqAfAB/wG1AaoB8AH/AawBogHkAf8BMAIBAUoIAAEw AaQBmwHSAf8BrwGlAeQB/wG1AaoB8AH/AbUBqgHwAf8BrAGiAeQB/wEwAgEBSggAATACAQFKATkBowL/
AgEBSgE4AaMC/wE8AaUC/wEDAWwBwAH/AQMBBAEFAf8BAwFYAZsB/wEDAYoB/QH/AQMBiAH4Af8BAwFq AT0BpQL/AQQBbQHAAf8BBAEFAQYB/wEEAVkBmwH/AQQBigH9Af8BBAGIAfgB/wEEAWsBvQH/AQQBgAHk
Ab0B/wEDAX8B5AH/AQMBiQH6Af8BAwGJAfoB/wEDAX0B4AH/ATACAQFKCAABMAIBAUoBjgHEAcgB/wGR Af8BBAGJAfoB/wEEAYkB+gH/AQQBfgHgAf8BMAIBAUoIAAEwAgEBSgGOAcQByAH/AZEBxgHKAf8BYAF7
AcYBygH/AV8BegF8Af8DBAH/AUoBZgFpAf8BaAGtAbQB/wFnAaoBsAH/AVkBfAF/Af8BYQGaAZ8B/wFn AX0B/wMFAf8BSwFnAWoB/wFpAa0BtAH/AWgBqgGwAf8BWgF9AYAB/wFiAZoBnwH/AWgBrAGyAf8BaAGs
AawBsgH/AWcBrAGyAf8BXgGZAZ4B/wEwAgEBSggAATACAQFKAT0BtQHnAf8BQQG2AecB/wFBAWgBeAH/ AbIB/wFfAZkBngH/ATACAQFKCAABMAIBAUoBPgG1AecB/wFCAbYB5wH/AUIBaQF5Af8BBAIFAf8BLwFZ
AQMCBAH/AS4BWAFpAf8BHwGdAdAB/wEjAZgByAH/ATgBawF/Af8BMAGFAagB/wEgAZsBzQH/ASABmwHN AWoB/wEgAZ0B0AH/ASQBmAHIAf8BOQFsAYAB/wExAYUBqAH/ASEBmwHNAf8BIQGbAc0B/wEuAYMBpwH/
Af8BLQGDAacB/wEwAgEBSgwAAXkBMAE7AcoB2gHVAfgB/wHCAbsB5gH/AbABqgHVAf8BwQG3AfIB/wG7 ATACAQFKDAABbwEdASYBygHaAdUB+AH/AcIBuwHmAf8BsAGqAdUB/wHBAbcB8gH/AbsBsgHuAf8BuQGv
AbIB7gH/AbkBrwHvAf8BtQGqAfAB/wG1AaoB8AH/AbUBqgHwAf8BtQGqAfAB/wGNAV4BgwHoEAABTwEm Ae8B/wG1AaoB8AH/AbUBqgHwAf8BtQGqAfAB/wG1AaoB8AH/AYQBTwFrAegQAAFVARgBKAHKAUUBqQL/
AT8BygFEAakC/wEIAY4C/wEDAXgB1QH/ARMBkwL/AQYBjQL/AQQBjAL/AQMBiQH6Af8BAwGJAfoB/wED AQkBjgL/AQQBeQHVAf8BFAGTAv8BBwGNAv8BBQGMAv8BBAGJAfoB/wEEAYkB+gH/AQQBiQH6Af8BBAGJ
AYkB+gH/AQMBiQH6Af8BKwFGAYMB6BAAAWYCMAHKAZcByQHNAf8BewGlAakB/wFmAYcBigH/AXcBtAG6 AfoB/wE0ATsBawHoEAABZAIdAcoBlwHJAc0B/wF8AaUBqQH/AWcBhwGKAf8BeAG0AboB/wFxAa0BsgH/
Af8BcAGtAbIB/wFuAa0BsgH/AWcBrAGyAf8BZwGsAbIB/wFnAawBsgH/AWcBrAGyAf8BYAJYAegQAAFR AW8BrQGyAf8BaAGsAbIB/wFoAawBsgH/AWgBrAGyAf8BaAGsAbIB/wFgAkgB6BAAAVUBHQEkAcoBSAG5
ASwBOQHKAUcBuQHoAf8BQQGTAbYB/wFCAXYBiAH/ASQBpwHdAf8BKQGdAcwB/wEmAZwBzQH/ASABmwHN AegB/wFCAZMBtgH/AUMBdwGIAf8BJQGnAd0B/wEqAZ0BzAH/AScBnAHNAf8BIQGbAc0B/wEhAZsBzQH/
Af8BIAGbAc0B/wEgAZsBzQH/ASABmwHNAf8BRAFLAWAB6BQAAXkBMAE9AckB1gHQAfgB/wHTAcwB9wH/ ASEBmwHNAf8BIQGbAc0B/wFKAT0BTwHoFAABbwEfASYByQHWAdAB+AH/AdMBzAH3Af8BzgHHAfYB/wHF
Ac4BxwH2Af8BxQG8AfQB/wG8AbEB8gH/AbcBrQHwAf8BswGoAe4B/wGxAaYB7wH/AYABQgFdAdsYAAFS AbwB9AH/AbwBsQHyAf8BtwGtAfAB/wGzAagB7gH/AbEBpgHvAf8BeQEyAUUB2xgAAVcBGQEmAckBPgGm
ASYBPQHJAT0BpgL/ATcBowL/AS4BnwL/ARwBlwL/AQsBjwL/AQMBiwH+Af8BAwGGAfYB/wEDAYUB9AH/ Av8BOAGjAv8BLwGfAv8BHQGXAv8BDAGPAv8BBAGLAf4B/wEEAYYB9gH/AQQBhQH0Af8BRwEoAUcB2xgA
ATwBNQFfAdsYAAFmAjAByQGSAcYBygH/AY0BxAHIAf8BhgHAAcUB/wF8AbkBvwH/AXABsgG4Af8BawGt AWMCHwHJAZIBxgHKAf8BjQHEAcgB/wGGAcABxQH/AX0BuQG/Af8BcQGyAbgB/wFsAa0BswH/AWYBqQGv
AbMB/wFlAakBrwH/AWIBqQGwAf8BYQFBAUMB2xgAAVMBKwE5AckBQQG3AecB/wE8AbUB5gH/ATUBsgHl Af8BYwGpAbAB/wFhATEBMwHbGAABVwEcASQByQFCAbcB5wH/AT0BtQHmAf8BNgGyAeUB/wEnAawB5AH/
Af8BJgGsAeQB/wEgAaMB2QH/ASIBnAHOAf8BIwGXAcYB/wEfAZYBxwH/AUsBOAFHAdscAAExAgEBSgHD ASEBowHZAf8BIwGcAc4B/wEkAZcBxgH/ASABlgHHAf8BUQEoATUB2xwAATACAQFKAcMBugH0Af8BxwG/
AboB9AH/AccBvwH1Af8BywHDAfUB/wHFAbwB9AH/AbwBsQHzAf8BsQGmAe8B/wEwAgEBSiAAATACAQFK AfUB/wHLAcMB9QH/AcUBvAH0Af8BvAGxAfMB/wGxAaYB7wH/ATACAQFKIAABMAIBAUoBHAGWAv8BIgGZ
ARsBlgL/ASEBmQL/ASgBnAL/ARwBlwL/AQwBkAL/AQMBhQH0Af8BMAIBAUogAAEwAgEBSgF7AbkBvgH/ Av8BKQGcAv8BHQGXAv8BDQGQAv8BBAGFAfQB/wEwAgEBSiAAATACAQFKAXwBuQG+Af8BgQG7AcAB/wGC
AYABuwHAAf8BggG+AcMB/wF8AbkBvwH/AXABswG5Af8BYgGpAa8B/wEwAgEBSiAAATACAQFKASQBrAHk Ab4BwwH/AX0BuQG/Af8BcQGzAbkB/wFjAakBrwH/ATACAQFKIAABMAIBAUoBJQGsAeQB/wErAa4B5AH/
Af8BKgGuAeQB/wEwAbAB5QH/ASYBrAHkAf8BHgGlAd0B/wEgAZYBxgH/ATACAQFKLAABCwIBAQ0BCwIB ATEBsAHlAf8BJwGsAeQB/wEfAaUB3QH/ASEBlgHGAf8BMAIBAUosAAELAgEBDQELAgEBDTgAAQsCAQEN
AQ04AAELAgEBDQELAgEBDTgAAQsCAQENAQsCAQENOAABCwIBAQ0BCwIBAQ00AAEEAgEBBAEUAgEBGQEU
AgEBGQEUAgEBGQECAwEsAAEEAgEBBAEUAgEBGQEUAgEBGQEUAgEBGQECAwEsAAEEAgEBBAEUAgEBGQEU
AgEBGQEUAgEBGQECAwEsAAEEAgEBBAEUAgEBGQEUAgEBGQEUAgEBGQECAwEkAAEwAgEBSgE5AUUBggH/
ASkBNAFyAf8BJAEuAWkB/wEjAS0BZgH/ASEBKwFgAf8BIwEpAU8B/wEwAgEBSgEUAgEBGRwAATACAQFK
AZIBUQGSAf8BgQFAAYEB/wF7AToBewH/AXkBOAF5Af8BcwE3AXMB/wFjATcBYwH/ATACAQFKARQCAQEZ
HAABMAIBAUoBAwKQAf8BAwJ4Af8BAwJtAf8BAwJqAf8BAwJkAf8BAwJXAf8BMAIBAUoBFAIBARkcAAEx
AgEBSgOlAf8DkQH/A4cB/wOFAf8DgQH/A3gB/wEwAgEBSgEUAgEBGRgAAVQBMQFiAecBOgFLAaYB/wE5
AUoBpwH/ATgBSQGlAf8BNwFHAaMB/wE1AUUBoAH/ATMBQgGZAf8BLQE6AYMB/wEjAS0BaQH/AUcBDgEZ
AdsBFAIBARkUAAGQAToBYgHnAbABWAGwAf8BsQFWAbEB/wGwAVQBsAH/Aa8BUgGvAf8BrAFQAawB/wGm
AU0BpgH/AZMBRQGTAf8BewE5AXsB/wFdARYBIwHbARQCAQEZFAABLgJnAecBAwKtAf8BAwKtAf8BAwKr
Af8BAwKoAf8BAwKkAf8BAwKdAf8BAwKIAf8BAwJsAf8BPAIdAdsBFAIBARkUAAGZAm0B5wO7Af8DuwH/
A7gB/wO2Af8DtQH/A68B/wOeAf8DhwH/AWYCLQHbARQCAQEZEAABUwEkAU8B3AE7AVIB0wH/ATwBVQHh
Af8BPQFXAekB/wE9AVcB5wH/ATwBVgHmAf8BPAFWAeYB/wE5AVMB4QH/ATgBUAHVAf8BOQFJAaYB/wEo
ATMBdQH/AUcBDgEZAdsBFAIBARkMAAGIAS8BTwHcAckBbAHJAf8B0wFwAdMB/wHZAXIB2QH/AdgBcwHY
Af8B1wFxAdcB/wHXAXEB1wH/AdIBbQHSAf8BygFqAcoB/wGwAVYBsAH/AYIBPwGCAf8BXQEUASMB2wEU
AgEBGQwAATsCVAHcAQMC0QH/AQMC3AH/AQMC5AH/AQMC4gH/AQMC4QH/AQMC4QH/AQMC2gH/AQMC0AH/
AQMCrAH/AQMCeQH/ATwCHQHbARQCAQEZDAABjgJVAdwD0wH/A9oB/wPfAf8D3gH/A9wB/wPcAf8D2QH/
A9IB/wO6Af8DkgH/AWYCLQHbARQCAQEZCAABMAIBAUoBPQFUAdcB/wE9AVcB6AH/AUUBXwHwAf8BRQFf
AfAB/wFFAV8B8AH/AUUBXwHwAf8BPQFYAesB/wE/AVkB7wH/ATwBVQHeAf8BNQFEAZgB/wE2AUYBnwH/
AScBMgFzAf8BMAIBAUoIAAExAgEBSgHLAW4BywH/AdgBcgHYAf8B4AF8AeAB/wHgAXwB4AH/AeABfAHg
Af8B4AF8AeAB/wHbAXQB2wH/Ad4BdgHeAf8B0QFvAdEB/wGlAU8BpQH/AasBUQGrAf8BgQE+AYEB/wEw
AgEBSggAATACAQFKAQMC1QH/AQMC4wH/AQMC8AH/AQMC8AH/AQMC8AH/AQMC8AH/AQMC5gH/AQMC6QH/
AQMC2gH/AQMCngH/AQMCpAH/AQMCdwH/ATACAQFKCAABMQIBAUoD1QH/A98B/wPmAf8D5gH/A+YB/wPm
Af8D4AH/A+EB/wPZAf8DsAH/A7UB/wOQAf8BMAIBAUoIAAFCAVsB5QH/AUgBYQHrAf8BQQFcAfQB/wFF
AV8B8AH/AUUBXwHwAf8BRQFfAe8B/wFFAV0B5QH/AUIBUwGuAf8BKQEzAWoB/wEQARMBJQH/AwMB/wE3
AUYBnQH/ATMBQgGZAf8BJwEvAV8B/wECAwEEAAHXAXcB1wH/AdwBfQHcAf8B4gF6AeIB/wHgAXwB4AH/
AeABfAHgAf8B3wF8Ad8B/wHYAXkB2AH/AbIBZQGyAf8BewE/AXsB/wE+ASEBPgH/AwMB/wGqAVEBqgH/
AaYBTQGmAf8BcgE8AXIB/wECAwEEAAEDAuUB/wEDAu4B/wEDAvAB/wEDAvAB/wEDAvAB/wEDAu8B/wED
AucB/wEDArkB/wEDAnEB/wEDAigB/wMDAf8BAwKjAf8BAwKdAf8BAwJnAf8BAgMBBAAD3wH/A+QB/wPm
Af8D5gH/A+YB/wPlAf8D4AH/A8MB/wOLAf8DRgH/AwMB/wO0Af8DrwH/A4IB/wECAwEEAAFEAV8B9AH/
AVkBcQH1Af8BSgFjAfAB/wFFAV8B8AH/AT8BUgHAAf8BLgE5AXgB/wEUARkBMwH/AwQB/wMDAf8DAwH/
AQwBDgEcAf8BOwFUAdwB/wE7AU4BuAH/ASsBNwF+Af8BFAIBARkEAAHjAXwB4wH/AeYBiwHmAf8B4AGA
AeAB/wHgAXwB4AH/AbsBagG7Af8BhgFFAYYB/wFKASYBSgH/AR4BFAEeAf8DAwH/AwMB/wE2ARwBNgH/
Ac8BbgHPAf8BuAFhAbgB/wGLAUIBiwH/ARQCAQEZBAABAwLyAf8BBwP/AQMC9AH/AQMC8AH/AQMCxQH/
AQMCgQH/AQMCNgH/AQMCBAH/AwMB/wMDAf8BAwIeAf8BAwLYAf8BAwK8Af8BAwKBAf8BFAIBARkEAAPn
Af8D8gH/A+cB/wPmAf8DyQH/A5gB/wNYAf8DCgH/AwMB/wMDAf8DOgH/A9YB/wPDAf8DmQH/ARQCAQEZ
AQsCAQENAVUBbQH1Af8BaAF+AfYB/wFRAWkB7wH/AUUBXwHwAf8BNgFEAYwB/wEkASwBWgH/AQgBCQER
Af8DAwH/AwMB/wMDAf8BKwE1AW4B/wE/AVoB8QH/ATcBTwHUAf8BLgE9AYoB/wEUAgEBGQELAgEBDQHm
AYcB5gH/AekBlwHpAf8B4QGDAeEB/wHgAXwB4AH/AZoBTwGaAf8BbgE5AW4B/wEsARcBLAH/AwMB/wMD
Af8DAwH/AYABQQGAAf8B3wF3Ad8B/wHJAWkByQH/AZkBSAGZAf8BFAIBARkBCwIBAQ0BAwP/ARMD/wED
AvkB/wEDAvAB/wEDApYB/wEDAmEB/wEDAhIB/wMDAf8DAwH/AwMB/wEDAnYB/wEDAuwB/wEDAs8B/wED
Ao4B/wEUAgEBGQELAgEBDQPwAf8D+QH/A+sB/wPmAf8DqgH/A38B/wMoAf8DAwH/AwMB/wMDAf8DkAH/
A+IB/wPQAf8DpAH/ARQCAQEZAQsCAQENAV4BdQH2Af8BcQGCAfcB/wFSAWoB7gH/AUUBXwHwAf8BRQFf
Ae8B/wFGAWAB7gH/ARoBIAFDAf8DAwH/AwMB/wIFAQgB/wFAAVMBuwH/AT0BVwHnAf8BOgFTAd4B/wEv
AT4BkAH/ARQCAQEZAQsCAQENAecBjgHnAf8B6wGfAesB/wHgAYMB4AH/AeABfAHgAf8B3wF8Ad8B/wHe
AXwB3gH/AVgBLQFYAf8DAwH/AwMB/wEjARMBIwH/AbkBaQG5Af8B2AFzAdgB/wHQAW4B0AH/AZ4BSQGe
Af8BFAIBARkBCwIBAQ0BCwP/ARoD/wEDAvkB/wEDAvAB/wEDAu8B/wEDAu8B/wEDAkcB/wMDAf8DAwH/
AQMCCAH/AQMCwgH/AQMC4gH/AQMC2QH/AQMCkwH/ARQCAQEZAQsCAQENA/QB/wP9Af8D6wH/A+YB/wPl
Af8D5QH/A2oB/wMDAf8DAwH/AxMB/wPIAf8D3gH/A9gB/wOoAf8BFAIBARkEAAFcAXMB9QH/AXwBjAH3
Af8BWwFyAfQB/wFGAV8B5wH/AUQBXQHkAf8BHwEnAVAB/wMDAf8BKgE0AW0B/wIFAQkB/wEaASABQwH/
AUYBYAHtAf8BRQFfAfAB/wE6AVIB2AH/ATEBPwGNAf8BCQIBAQoEAAHnAY0B5wH/Ae0BqQHtAf8B5gGM
AeYB/wHaAXsB2gH/AdcBeAHXAf8BZAE0AWQB/wEmAQoBJgH/AX8BQAF/Af8BJQETASUB/wFYAS0BWAH/
Ad0BewHdAf8B4AF8AeAB/wHMAWwBzAH/AZwBSgGcAf8BCQIBAQoEAAEJA/8BJAP/AQgD/wEDAuoB/wED
AuYB/wEDAlYB/wMDAf8BAwJ1Af8BAwIJAf8BAwJHAf8BAwLuAf8BAwLwAf8BAwLUAf8BAwKTAf8BCQIB
AQoEAAPzAf8EAAPzAf8D4gH/A+AB/wN3Af8DAwH/A44B/wMWAf8DagH/A+QB/wPmAf8D1AH/A6gB/wEJ
AgEBCgQAAVIBawH1Af8BgQGSAfgB/wF1AYYB9wH/AVcBbQHiAf8BHwEnAVAB/wMDAf8BNQFCAYcB/wFG
AWEB9AH/ARkBHwE/Af8BNgFEAYwB/wFHAWEB8wH/AUUBXwHwAf8BOgFSAdQB/wE5AUcBkwH/CAAB5QGE
AeUB/wHuAa8B7gH/AesBowHrAf8B2AGEAdgB/wFkATQBZAH/AwMB/wGWAU4BlgH/AeMBfgHjAf8BVQEs
AVUB/wGaAU8BmgH/AeIBfgHiAf8B4AF8AeAB/wHJAWwByQH/AaEBUwGhAf8IAAEDAv4B/wEqA/8BHgP/
AQMC8wH/AQMCVgH/AwMB/wEDApEB/wEDAvQB/wEDAkQB/wEDApYB/wEDAvQB/wEDAvAB/wEDAtEB/wED
Ap4B/wgAA+4B/wgAA+cB/wN3Af8DAwH/A6YB/wPoAf8DZQH/A6oB/wPnAf8D5gH/A9MB/wOvAf8IAAEw
AgEBSgGCAZMB+AH/AYcBmAH4Af8BTwFbAZ8B/wMEAf8BNgFDAYsB/wFGAWAB8gH/AUYBYAHtAf8BQgFS
AaoB/wFCAVkB2AH/AUUBXwHwAf8BRQFfAfAB/wE7AVMB2gH/ATACAQFKCAABMQIBAUoB7gGwAe4B/wHv
AbUB7wH/AacBbQGnAf8BHgEUAR4B/wGZAU8BmQH/AeEBfQHhAf8B3QF7Ad0B/wGwAWIBsAH/Ac0BcwHN
Af8B4AF8AeAB/wHgAXwB4AH/Ac0BbgHNAf8BMAIBAUoIAAEwAgEBSgErA/8BLwP/AQMCuAH/AQMCBAH/
AQMClQH/AQMC8gH/AQMC7gH/AQMCtQH/AQMC2gH/AQMC8AH/AQMC8AH/AQMC1wH/ATACAQFKCAABMQIB
AUoIAAPCAf8DCgH/A6kB/wPnAf8D5AH/A8EB/wPZAf8D5gH/A+YB/wPVAf8BMQIBAUoMAAFgASEBPwHK
AY8BnwH5Af8BbQF9AdUB/wFSAWEBtgH/AV4BdQHxAf8BVQFsAeoB/wFRAWgB7AH/AUUBXwHwAf8BRQFf
AfAB/wFFAV8B8AH/AUUBXwHwAf8BTgEzAXwB6BAAAX8BJgE7AcoB8QG8AfEB/wHRAZMB0QH/AbYBeQG2
Af8B5AGOAeQB/wHeAYUB3gH/Ad4BgQHeAf8B4AF8AeAB/wHgAXwB4AH/AeABfAHgAf8B4AF8AeAB/wGg
AUEBcwHoEAABTAI/AcoBNwP/AQMC+QH/AQMCzAH/AQgD/wEDAvgB/wEDAvYB/wEDAvAB/wEDAvAB/wED
AvAB/wEDAvAB/wErAnwB6BAAAYUCPwHKBAAD6wH/A88B/wPzAf8D6wH/A+oB/wPmAf8D5gH/A+YB/wPm
Af8BpgJ8AegUAAFjASEBPQHJAYgBmQH4Af8BgQGTAfgB/wF5AYkB9wH/AWUBewH2Af8BUgFrAfMB/wFL
AWQB7wH/AUMBXQHtAf8BPgFZAfAB/wFVASMBXAHbGAABgAEoAToByQHvAbYB7wH/Ae4BrwHuAf8B7AGm
AewB/wHoAZUB6AH/AeQBhAHkAf8B4AGAAeAB/wHdAXkB3QH/Ad4BdQHeAf8BkAEtAVcB2xgAAU8CPQHJ
ATAD/wEqA/8BIgP/ARED/wEDAvwB/wEDAvQB/wEDAuwB/wEDAukB/wE8AlsB2ygAA/cB/wPtAf8D5wH/
A+IB/wPhAf8BkwJaAdscAAEwAgEBSgFjAXkB9gH/AWsBgAH2Af8BcgGEAfcB/wFlAXsB9gH/AVIBawH1
Af8BPwFZAe8B/wEwAgEBSiAAATECAQFKAegBkwHoAf8B6gGaAeoB/wHrAaAB6wH/AegBlQHoAf8B5QGE
AeUB/wHeAXYB3gH/ATECAQFKIAABMAIBAUoBDwP/ARYD/wEcA/8BEQP/AQMC/gH/AQMC6QH/ATACAQFK
IAABMQIBAUoD9wH/A/kB/wP9Af8D9wH/A+4B/wPhAf8BMQIBAUosAAELAgEBDQELAgEBDTgAAQsCAQEN
AQsCAQENOAABCwIBAQ0BCwIBAQ04AAELAgEBDQELAgEBDTQAAQQCAQEEARQCAQEZARQCAQEZARQCAQEZ AQsCAQENOAABCwIBAQ0BCwIBAQ04AAELAgEBDQELAgEBDTQAAQQCAQEEARQCAQEZARQCAQEZARQCAQEZ
AQIDASwAAQQCAQEEARQCAQEZARQCAQEZARQCAQEZAQIDASwAAQQCAQEEARQCAQEZARQCAQEZARQCAQEZ AQIDASwAAQQCAQEEARQCAQEZARQCAQEZARQCAQEZAQIDASwAAQQCAQEEARQCAQEZARQCAQEZARQCAQEZ
AQIDASwAAQQCAQEEARQCAQEZARQCAQEZARQCAQEZAQIDASQAATACAQFKA2MB/wNYAf8DUwH/A1IB/wNQ AQIDASwAAQQCAQEEARQCAQEZARQCAQEZARQCAQEZAQIDASQAATACAQFKAToBRgGCAf8BKgE1AXMB/wEl
Af8DSwH/ATACAQFKARQCAQEZHAABMAIBAUoBkQFuARwB/wF8AVsBFAH/AXEBUgERAf8BbgFQAREB/wFo AS8BagH/ASQBLgFnAf8BIgEsAWEB/wEkASoBUAH/ATACAQFKARQCAQEZHAABMAIBAUoBkgFSAZIB/wGB
AUsBEAH/AVcBQQESAf8BMAIBAUoBFAIBARkcAAEwAgEBSgE2AWABNgH/ASkBUQEpAf8BJAFLASQB/wEj AUEBgQH/AXwBOwF8Af8BegE5AXoB/wF0ATgBdAH/AWQBOAFkAf8BMAIBAUoBFAIBARkcAAEwAgEBSgEE
AUkBIwH/ASIBRAEiAf8BIQE5ASEB/wEwAgEBSgEUAgEBGRwAATACAQFKAp4BTAH/ApYBJwH/ApMBGQH/ ApAB/wEEAnkB/wEEAm4B/wEEAmsB/wEEAmUB/wEEAlgB/wEwAgEBSgEUAgEBGRwAATACAQFKA6UB/wOR
ApIBFgH/Ao0BEwH/AnkBFgH/ATACAQFKARQCAQEZGAABbQJAAecDcAH/A3AB/wNuAf8DbQH/A2wB/wNo Af8DhwH/A4UB/wOBAf8DeQH/ATACAQFKARQCAQEZGAABVgEoAVEB5wE7AUwBpgH/AToBSwGnAf8BOQFK
Af8DXwH/A1MB/wFXAh0B2wEUAgEBGRQAAZgBUAEUAecBtAGCARwB/wG0AYEBGwH/AbIBgQEbAf8BrwGB AaUB/wE4AUgBowH/ATYBRgGgAf8BNAFDAZkB/wEuATsBgwH/ASQBLgFqAf8BTwEKARMB2wEUAgEBGRQA
ARoB/wGsAX8BGQH/AaQBeQEYAf8BjgFqARYB/wFxAVEBEQH/AVsBFgEIAdsBFAIBARkUAAFRAUMBJgHn AYgBMQFRAecBsAFZAbAB/wGxAVcBsQH/AbABVQGwAf8BrwFTAa8B/wGsAVEBrAH/AaYBTgGmAf8BkwFG
ATsBeAE7Af8BOgF5AToB/wE5AXgBOQH/ATgBdgE4Af8BNgF0ATYB/wE0AW4BNAH/AS4BYAEuAf8BJAFK AZMB/wF8AToBfAH/AV8BEQEZAdsBFAIBARkUAAE5AlMB5wEEAq0B/wEEAq0B/wEEAqsB/wEEAqgB/wEE
ASQB/wFHARMBDAHbARQCAQEZFAABkAFlAUIB5wKyAWIB/wK0AWAB/wKyAV0B/wKxAVkB/wKxAVUB/wKt AqQB/wEEAp0B/wEEAogB/wEEAm0B/wFHAhYB2wEUAgEBGRQAAZACWgHnA7sB/wO7Af8DuAH/A7YB/wO1
AU4B/wKiATgB/wKTARcB/wFmASgBCQHbARQCAQEZEAABbQI1AdwDgQH/A4QB/wOJAf8DiAH/A4YB/wOG Af8DrwH/A54B/wOHAf8BZgIiAdsBFAIBARkQAAFYARoBOgHcATwBUwHTAf8BPQFWAeEB/wE+AVgB6QH/
Af8DgwH/A4EB/wNvAf8DWQH/AVcCHQHbARQCAQEZDAABjgE/AQ8B3AHZAZ0BIgH/AeUBpQEjAf8B7QGs AT4BWAHnAf8BPQFXAeYB/wE9AVcB5gH/AToBVAHhAf8BOQFRAdUB/wE6AUoBpgH/ASkBNAF2Af8BTwEK
ASQB/wHrAaoBJAH/AeoBqAEjAf8B6gGoASMB/wHjAaQBIQH/AdkBnAEgAf8BswGBARsB/wF+AVwBEwH/ ARMB2wEUAgEBGQwAAX4BJAE6AdwByQFtAckB/wHTAXEB0wH/AdkBcwHZAf8B2AF0AdgB/wHXAXIB1wH/
AVsBFgEIAdsBFAIBARkMAAFTAToBGgHcATwBmAE8Af8BNwGoATcB/wE0AbMBNAH/ATUBsAE1Af8BNQGu AdcBcgHXAf8B0gFuAdIB/wHKAWsBygH/AbABVwGwAf8BggFAAYIB/wFfAQ4BGQHbARQCAQEZDAABRgI/
ATUB/wE1Aa4BNQH/ATYBpgE2Af8BOgGZAToB/wE6AXgBOgH/ASgBUwEoAf8BRwETAQoB2wEUAgEBGQwA AdwBBALRAf8BBALcAf8BBALkAf8BBALiAf8BBALhAf8BBALhAf8BBALaAf8BBALQAf8BBAKsAf8BBAJ6
AYkBTwE1AdwCywF9Af8C1AGBAf8C2gGDAf8C2AGCAf8C1wGCAf8C1wGCAf8C1AGAAf8CzAF5Af8CtAFe Af8BRwIWAdsBFAIBARkMAAGEAj8B3APTAf8D2gH/A98B/wPeAf8D3AH/A9wB/wPZAf8D0gH/A7oB/wOS
Af8CmQEmAf8BZgEoAQkB2wEUAgEBGQgAATACAQFKA4EB/wOJAf8DkAH/A5AB/wOQAf8DkAH/A4oB/wOM Af8BZgIiAdsBFAIBARkIAAEwAgEBSgE+AVUB1wH/AT4BWAHoAf8BRgFgAfAB/wFGAWAB8AH/AUYBYAHw
Af8DgwH/A2kB/wNsAf8DVwH/ATACAQFKCAABMQIBAUoB3AGgASMB/wHsAaoBJAH/AfYBswEpAf8B9gGz Af8BRgFgAfAB/wE+AVkB6wH/AUABWgHvAf8BPQFWAd4B/wE2AUUBmAH/ATcBRwGfAf8BKAEzAXQB/wEw
ASkB/wH2AbMBKQH/AfYBswEpAf8B7wGtASQB/wHyAbABJQH/AeIBpAEjAf8BpAF6ARoB/wGrAX4BGgH/ AgEBSggAATACAQFKAcsBbwHLAf8B2AFzAdgB/wHgAX0B4AH/AeABfQHgAf8B4AF9AeAB/wHgAX0B4AH/
AXwBWwETAf8BMAIBAUoIAAEwAgEBSgE7AZ0BOwH/ATQBsQE0Af8BMgHAATIB/wEyAcABMgH/ATIBwAEy AdsBdQHbAf8B3gF3Ad4B/wHRAXAB0QH/AaUBUAGlAf8BqwFSAasB/wGBAT8BgQH/ATACAQFKCAABMAIB
Af8BMgHAATIB/wEzAbYBMwH/ATEBuwExAf8BOAGkATgB/wE2AW4BNgH/ATcBcwE3Af8BJwFSAScB/wEw AUoBBALVAf8BBALjAf8BBALwAf8BBALwAf8BBALwAf8BBALwAf8BBALmAf8BBALpAf8BBALaAf8BBAKe
AgEBSggAATECAQFKAs0BgAH/AtgBggH/At8BjQH/At8BjQH/At8BjQH/At8BjQH/AtsBgwH/At0BhwH/ Af8BBAKkAf8BBAJ4Af8BMAIBAUoIAAEwAgEBSgPVAf8D3wH/A+YB/wPmAf8D5gH/A+YB/wPgAf8D4QH/
AtIBgQH/Aq0BUgH/ArABVQH/ApgBIgH/ATACAQFKCAADiQH/A44B/wOQAf8DkAH/A5AB/wOPAf8DiwH/ A9kB/wOwAf8DtQH/A5AB/wEwAgEBSggAAUMBXAHlAf8BSQFiAesB/wFCAV0B9AH/AUYBYAHwAf8BRgFg
A3UB/wNVAf8DMgH/AwMB/wNrAf8DaAH/A1EB/wECAwEEAAHrAawBJwH/AfIBsgEqAf8B+AG0AScB/wH2 AfAB/wFGAWAB7wH/AUYBXgHlAf8BQwFUAa4B/wEqATQBawH/AREBFAEmAf8DBAH/ATgBRwGdAf8BNAFD
AbMBKQH/AfYBswEpAf8B9QGyASkB/wHsAawBKAH/Ab4BigEgAf8BcwFUARQB/wEpAR8BCQH/AwMB/wGq AZkB/wEoATABYAH/AQIDAQQAAdcBeAHXAf8B3AF+AdwB/wHiAXsB4gH/AeABfQHgAf8B4AF9AeAB/wHf
AX4BGgH/AaQBeQEYAf8BaAFOARMB/wECAwEEAAE3AbEBNwH/ATUBuwE1Af8BLgHEAS4B/wEyAcABMgH/ AX0B3wH/AdgBegHYAf8BsgFmAbIB/wF8AUABfAH/AT8BIgE/Af8DBAH/AaoBUgGqAf8BpgFOAaYB/wFz
ATIBwAEyAf8BMgG/ATIB/wE4AbIBOAH/AUEBfgFBAf8BKAFMASgB/wEPARsBDwH/AwMB/wE3AXIBNwH/ AT0BcwH/AQIDAQQAAQQC5QH/AQQC7gH/AQQC8AH/AQQC8AH/AQQC8AH/AQQC7wH/AQQC5wH/AQQCuQH/
ATQBbgE0Af8BJQFEASUB/wECAwEEAALYAYcB/wLcAY8B/wLhAYsB/wLfAY0B/wLfAY0B/wLeAY0B/wLY AQQCcgH/AQQCKQH/AwQB/wEEAqMB/wEEAp0B/wEEAmgB/wECAwEEAAPfAf8D5AH/A+YB/wPmAf8D5gH/
AYoB/wK1AXIB/wKPASQB/wJMAQMB/wMDAf8CrgFVAf8CrQFOAf8CiAEcAf8BAgMBBAADkQH/A5wB/wOR A+UB/wPgAf8DwwH/A4sB/wNHAf8DBAH/A7QB/wOvAf8DggH/AQIDAQQAAUUBYAH0Af8BWgFyAfUB/wFL
Af8DkAH/A3oB/wNcAf8DOwH/AwkB/wMDAf8DAwH/AysB/wOBAf8DdgH/A1wB/wEUAgEBGQQAAfkBtgEo AWQB8AH/AUYBYAHwAf8BQAFTAcAB/wEvAToBeQH/ARUBGgE0Af8DBQH/AwQB/wMEAf8BDQEPAR0B/wE8
Av8BvwE2Af8B+AG3ASsB/wH2AbMBKQH/AcoBkwEiAf8BgQFgARcB/wE3ASkBCwH/AgQBAwH/AwMB/wMD AVUB3AH/ATwBTwG4Af8BLAE4AX8B/wEUAgEBGQQAAeMBfQHjAf8B5gGLAeYB/wHgAYEB4AH/AeABfQHg
Af8BHwEXAQcB/wHgAaMBIgH/AcQBjgEdAf8BhAFiARUB/wEUAgEBGQQAAS8BxgEvAf8BNQHRATUB/wEz Af8BuwFrAbsB/wGGAUYBhgH/AUsBJwFLAf8BHwEVAR8B/wMEAf8DBAH/ATcBHQE3Af8BzwFvAc8B/wG4
AcMBMwH/ATIBwAEyAf8BQQGHAUEB/wEtAVYBLQH/ARQBJQEUAf8DAwH/AwMB/wMDAf8BDAEVAQwB/wE5 AWIBuAH/AYsBQwGLAf8BFAIBARkEAAEEAvIB/wEIA/8BBAL0Af8BBALwAf8BBALFAf8BBAKBAf8BBAI3
AaEBOQH/AT0BgQE9Af8BKwFZASsB/wEUAgEBGQQAAuIBjQH/AuUBoQH/At8BkgH/At8BjQH/Ar8BeQH/ Af8BBAIFAf8DBAH/AwQB/wEEAh8B/wEEAtgB/wEEArwB/wEEAoEB/wEUAgEBGQQAA+cB/wPyAf8D5wH/
ApgBMwH/Al0BAwH/AhwBAwH/AwMB/wMDAf8CQwEDAf8C0QGAAf8CuwFvAf8CngEwAf8BFAIBARkBCwIB A+YB/wPJAf8DmAH/A1kB/wMLAf8DBAH/AwQB/wM7Af8D1gH/A8MB/wOZAf8BFAIBARkBCwIBAQ0BVgFu
AQ0DmgH/A6YB/wOVAf8DkAH/A2YB/wNOAf8DHwH/AwMB/wMDAf8DAwH/A1cB/wONAf8DgAH/A2IB/wEU AfUB/wFpAX8B9gH/AVIBagHvAf8BRgFgAfAB/wE3AUUBjAH/ASUBLQFbAf8BCQEKARIB/wMEAf8DBAH/
AgEBGQELAgEBDQH/Ab4BMgL/AcUBRQH/AfoBugEvAf8B9gGzASkB/wGZAXIBGwH/AWMBSAESAf8BEgEO AwQB/wEsATYBbwH/AUABWwHxAf8BOAFQAdQB/wEvAT4BigH/ARQCAQEZAQsCAQENAeYBhwHmAf8B6QGX
AQUB/wMDAf8DAwH/AwMB/wF4AVgBFQH/AfQBsQEmAf8B2AGbAR8B/wGVAW4BFgH/ARQCAQEZAQsCAQEN AekB/wHhAYMB4QH/AeABfQHgAf8BmgFQAZoB/wFvAToBbwH/AS0BGAEtAf8DBAH/AwQB/wMEAf8BgQFC
ATIB0AEyAf8BPwHTAT8B/wE1AcYBNQH/ATIBwAEyAf8BNQFmATUB/wEjAUEBIwH/AQgBDQEIAf8DAwH/ AYEB/wHfAXgB3wH/AckBagHJAf8BmQFJAZkB/wEUAgEBGQELAgEBDQEEA/8BFAP/AQQC+QH/AQQC8AH/
AwMB/wMDAf8BKgFPASoB/wEwAb4BMAH/AToBlwE6Af8BMAFkATAB/wEUAgEBGQELAgEBDQLlAZwB/wLo AQQClgH/AQQCYgH/AQQCEwH/AwQB/wMEAf8DBAH/AQQCdwH/AQQC7AH/AQQCzwH/AQQCjgH/ARQCAQEZ
Aa0B/wLhAZgB/wLfAY0B/wKkAUwB/wKFARYB/wI3AQMB/wMDAf8DAwH/AwMB/wKSASkB/wLeAYgB/wLL AQsCAQENA/AB/wP5Af8D6wH/A+YB/wOqAf8DgAH/AykB/wMEAf8DBAH/AwQB/wOQAf8D4gH/A9AB/wOk
AXkB/wKlAT4B/wEUAgEBGQELAgEBDQOfAf8DqgH/A5UB/wOQAf8DjwH/A48B/wNEAf8DAwH/AwMB/wMR Af8BFAIBARkBCwIBAQ0BXwF2AfYB/wFyAYIB9wH/AVMBawHuAf8BRgFgAfAB/wFGAWAB7wH/AUcBYQHu
Af8DeQH/A4gB/wOCAf8DZAH/ARQCAQEZAQsCAQENAf8BwQE7Av8ByAFNAf8B+QG5ATAB/wH2AbMBKQH/ Af8BGwEhAUQB/wMEAf8DBAH/AgYBCQH/AUEBVAG7Af8BPgFYAecB/wE7AVQB3gH/ATABPwGQAf8BFAIB
AfUBsgEpAf8B9AGyASkB/wFJATYBDgH/AwMB/wMDAf8BCAEHAQMB/wHHAZEBIgH/AesBqgEkAf8B4gGj ARkBCwIBAQ0B5wGOAecB/wHrAZ8B6wH/AeABgwHgAf8B4AF9AeAB/wHfAX0B3wH/Ad4BfQHeAf8BWQEu
ASIB/wGaAXIBFwH/ARQCAQEZAQsCAQENATgB0gE4Af8BRAHVAUQB/wE2AcUBNgH/ATIBwAEyAf8BMgG/ AVkB/wMEAf8DBAH/ASQBFAEkAf8BuQFqAbkB/wHYAXQB2AH/AdABbwHQAf8BngFKAZ4B/wEUAgEBGQEL
ATIB/wEzAb4BMwH/ARoBMAEaAf8DAwH/AwMB/wEFAQYBBQH/AUEBhAFBAf8BNQGwATUB/wE4AaMBOAH/ AgEBDQEMA/8BGwP/AQQC+QH/AQQC8AH/AQQC7wH/AQQC7wH/AQQCSAH/AwQB/wMEAf8BBAIJAf8BBALC
ATEBaAExAf8BFAIBARkBCwIBAQ0C5gGkAf8C6wG0Af8C4QGYAf8C3wGNAf8C3gGNAf8C3gGNAf8CbwEJ Af8BBALiAf8BBALZAf8BBAKTAf8BFAIBARkBCwIBAQ0D9AH/A/0B/wPrAf8D5gH/A+UB/wPlAf8DawH/
Af8DAwH/AwMB/wIsAQMB/wK9AXgB/wLYAYIB/wLRAYAB/wKoAUMB/wEUAgEBGQQAA54B/wOxAf8DngH/ AwQB/wMEAf8DFAH/A8gB/wPeAf8D2AH/A6gB/wEUAgEBGQQAAV0BdAH1Af8BfQGMAfcB/wFcAXMB9AH/
A40B/wOKAf8DSwH/AwMB/wNXAf8DEwH/A0QB/wOOAf8DkAH/A4EB/wNkAf8BCQIBAQoEAAH/AcABOQL/ AUcBYAHnAf8BRQFeAeQB/wEgASgBUQH/AwQB/wErATUBbgH/AgYBCgH/ARsBIQFEAf8BRwFhAe0B/wFG
AcwBWAL/AcEBOAH/Ae8BrwEpAf8B6wGrAScB/wFYAUABEAH/AwMB/wF3AVcBFQH/AQkBBwEDAf8BSQE2 AWAB8AH/ATsBUwHYAf8BMgFAAY0B/wEJAgEBCgQAAecBjQHnAf8B7QGpAe0B/wHmAYwB5gH/AdoBfAHa
AQ4B/wHzAbEBKQH/AfYBswEpAf8B3AGfASEB/wGZAXIBGAH/AQkCAQEKBAABNgHSATYB/wFMAdYBTAH/ Af8B1wF5AdcB/wFlATUBZQH/AScBCwEnAf8BgAFBAYAB/wEmARQBJgH/AVkBLgFZAf8B3QF8Ad0B/wHg
ATYB0AE2Af8BNwG2ATcB/wE4AbABOAH/AR8BOgEfAf8DAwH/ASkBTgEpAf8BBQEHAQUB/wEaATABGgH/ AX0B4AH/AcwBbQHMAf8BnAFLAZwB/wEJAgEBCgQAAQoD/wElA/8BCQP/AQQC6gH/AQQC5gH/AQQCVwH/
ATQBvQE0Af8BMgHAATIB/wE6AZwBOgH/ATIBZwEyAf8BCQIBAQoEAALmAaIB/wLtAb0B/wLlAaIB/wLb AwQB/wEEAnYB/wEEAgoB/wEEAkgB/wEEAu4B/wEEAvAB/wEEAtQB/wEEApMB/wEJAgEBCgQAA/MB/wQA
AYsB/wLYAYgB/wJ9ARAB/wJMAQMB/wKSAScB/wIwAQMB/wJvAQkB/wLdAY0B/wLfAY0B/wLNAX0B/wKn A/MB/wPiAf8D4AH/A3gB/wMEAf8DjgH/AxcB/wNrAf8D5AH/A+YB/wPUAf8DqAH/AQkCAQEKBAABUwFs
AUUB/wEJAgEBCgQAA5kB/wO2Af8DrQH/A5EB/wNLAf8DAwH/A2QB/wOTAf8DQgH/A2YB/wORAf8DkAH/ AfUB/wGBAZIB+AH/AXYBhgH3Af8BWAFuAeIB/wEgASgBUQH/AwQB/wE2AUMBhwH/AUcBYgH0Af8BGgEg
A4EB/wNoAf8IAAH/AbwBMAL/Ac4BXwL/AckBUQH/AfEBtAEyAf8BWAFAARAB/wMDAf8BlAFvARoB/wH6 AUAB/wE3AUUBjAH/AUgBYgHzAf8BRgFgAfAB/wE7AVMB1AH/AToBSAGTAf8IAAHlAYQB5QH/Ae4BrwHu
AbYBKgH/AUUBMwENAf8BmQFyARsB/wH5AbUBKgH/AfYBswEpAf8B2QGdASEB/wGhAXkBHAH/CAABMQHP Af8B6wGjAesB/wHYAYQB2AH/AWUBNQFlAf8DBAH/AZYBTwGWAf8B4wF/AeMB/wFWAS0BVgH/AZoBUAGa
ATEB/wFRAdcBUQH/AUcB1QFHAf8BPwG2AT8B/wEfAToBHwH/AwMB/wE0AWMBNAH/AS8BxwEvAf8BGQEu Af8B4gF/AeIB/wHgAX0B4AH/AckBbQHJAf8BoQFUAaEB/wgAAQQC/gH/ASsD/wEfA/8BBALzAf8BBAJX
ARkB/wE1AWYBNQH/ATABxgEwAf8BMgHAATIB/wE7AZkBOwH/ATgBbAE4Af8IAALkAZkB/wLuAcIB/wLs Af8DBAH/AQQCkQH/AQQC9AH/AQQCRQH/AQQClgH/AQQC9AH/AQQC8AH/AQQC0QH/AQQCngH/CAAD7gH/
AbgB/wLaAZgB/wJ9ARAB/wMDAf8CoQFIAf8C4gGQAf8CawEHAf8CpAFMAf8C4QGQAf8C3wGNAf8CzAF9 CAAD5wH/A3gB/wMEAf8DpgH/A+gB/wNmAf8DqgH/A+cB/wPmAf8D0wH/A68B/wgAATACAQFKAYIBkwH4
Af8CqAFTAf8IAAEwAgEBSgO4Af8DuwH/A3QB/wMJAf8DZQH/A5EB/wOOAf8DdAH/A4MB/wOQAf8DkAH/ Af8BhwGYAfgB/wFQAVwBnwH/AwUB/wE3AUQBiwH/AUcBYQHyAf8BRwFhAe0B/wFDAVMBqgH/AUMBWgHY
A4EB/wEwAgEBSggAATECAQFKAf8BzgFgAv8B0AFlAf8BtQGJAScB/wIEAQMB/wGYAXIBGwH/AfgBtAEp Af8BRgFgAfAB/wFGAWAB8AH/ATwBVAHaAf8BMAIBAUoIAAEwAgEBSgHuAbAB7gH/Ae8BtQHvAf8BpwFu
Af8B8wGxASkB/wG6AYcBIAH/Ad8BogEmAf8B9gGzASkB/wH2AbMBKQH/Ad8BoQEiAf8BMAIBAUoIAAEw AacB/wEfARUBHwH/AZkBUAGZAf8B4QF+AeEB/wHdAXwB3QH/AbABYwGwAf8BzQF0Ac0B/wHgAX0B4AH/
AgEBSgFSAdgBUgH/AVUB2AFVAf8BSAF2AUgB/wMDAf8BNQFmATUB/wExAcQBMQH/ATQBvQE0Af8BQAF7 AeABfQHgAf8BzQFvAc0B/wEwAgEBSggAATACAQFKASwD/wEwA/8BBAK4Af8BBAIFAf8BBAKVAf8BBALy
AUAB/wE8AaABPAH/ATIBwAEyAf8BMgHAATIB/wE6AZ8BOgH/ATACAQFKCAABMQIBAUoC7wHEAf8C8AHI Af8BBALuAf8BBAK1Af8BBALaAf8BBALwAf8BBALwAf8BBALXAf8BMAIBAUoIAAEwAgEBSggAA8IB/wML
Af8CrgF5Af8CHAEDAf8CpAFMAf8C4QGPAf8C3QGNAf8CtAFvAf8C0AGCAf8C3wGNAf8C3wGNAf8CzwGA Af8DqQH/A+cB/wPkAf8DwQH/A9kB/wPmAf8D5gH/A9UB/wEwAgEBSgwAAV4BFQEoAcoBjwGfAfkB/wFu
Af8BMAIBAUoMAAFwAikBygPAAf8DlQH/A38B/wOeAf8DlQH/A5QB/wOQAf8DkAH/A5AB/wOQAf8BdwJI AX4B1QH/AVMBYgG2Af8BXwF2AfEB/wFWAW0B6gH/AVIBaQHsAf8BRgFgAfAB/wFGAWAB8AH/AUYBYAHw
AegQAAGGATIBEgHKAf8B0wFuAf8B7QG4ATwB/wHHAZgBLQH/Af4BwAE5Af8B9wG5ATEB/wH3AbcBLwH/ Af8BRgFgAfAB/wFTASoBZwHoEAABcwEYASYBygHxAbwB8QH/AdEBkwHRAf8BtgF6AbYB/wHkAY4B5AH/
AfYBswEpAf8B9gGzASkB/wH2AbMBKQH/AfYBswEpAf8BqQFdARUB6BAAAVcBNgERAcoBWwHaAVsB/wFO Ad4BhQHeAf8B3gGBAd4B/wHgAX0B4AH/AeABfQHgAf8B4AF9AeAB/wHgAX0B4AH/AZcBNQFgAegQAAFS
Aa4BTgH/AUsBhAFLAf8BOgHNAToB/wE5AcEBOQH/ATcBwQE3Af8BMgHAATIB/wEyAcABMgH/ATIBwAEy AigBygE4A/8BBAL5Af8BBALMAf8BCQP/AQQC+AH/AQQC9gH/AQQC8AH/AQQC8AH/AQQC8AH/AQQC8AH/
Af8BMgHAATIB/wFMAVkBIQHoEAABfwE7ASwBygLxAc8B/wLWAaUB/wK8AYUB/wLkAaQB/wLeAZkB/wLf ATQCZwHoEAABdwIoAcoEAAPrAf8DzwH/A/MB/wPrAf8D6gH/A+YB/wPmAf8D5gH/A+YB/wGZAmcB6BQA
AZYB/wLfAY0B/wLfAY0B/wLfAY0B/wLfAY0B/wGgAXQBSAHoFAABcgIrAckDuwH/A7YB/wOuAf8DowH/ AWABFAEmAckBiAGZAfgB/wGBAZMB+AH/AXoBiQH3Af8BZgF8AfYB/wFTAWwB8wH/AUwBZQHvAf8BRAFe
A5cB/wORAf8DjQH/A4wB/wFwAjYB2xgAAYMBMQEUAckB/wHQAWYC/wHNAV8C/wHLAVUC/wHDAUIB/wH9 Ae0B/wE/AVoB8AH/AVcBGQFDAdsYAAF0ARoBJQHJAe8BtgHvAf8B7gGvAe4B/wHsAaYB7AH/AegBlQHo
AbsBMAH/AfcBtwEsAf8B8gGxAScB/wHyAa8BJQH/AZYBQwEOAdsYAAFXATQBEQHJAVYB2QFWAf8BUQHY Af8B5AGEAeQB/wHgAYEB4AH/Ad0BegHdAf8B3gF2Ad4B/wGFASIBQQHbGAABVAImAckBMQP/ASsD/wEj
AVEB/wFKAdYBSgH/AT0B0wE9Af8BMwHMATMB/wE0AcIBNAH/ATMBuwEzAf8BMAG7ATAB/wFRAUUBFgHb A/8BEgP/AQQC/AH/AQQC9AH/AQQC7AH/AQQC6QH/AUcCQgHbKAAD9wH/A+0B/wPnAf8D4gH/A+EB/wGG
GAABgAE6AS4ByQLwAcgB/wLvAcMB/wLtAbsB/wLoAaoB/wLjAZkB/wLfAZIB/wLdAYoB/wLdAYcB/wGQ AkIB2xwAATACAQFKAWQBegH2Af8BbAGBAfYB/wFzAYQB9wH/AWYBfAH2Af8BUwFsAfUB/wFAAVoB7wH/
AVcBNQHbHAABMAIBAUoDogH/A6YB/wOqAf8DowH/A5kB/wOMAf8BMAIBAUogAAExAgEBSgH/AcMBQAL/ ATACAQFKIAABMAIBAUoB6AGTAegB/wHqAZoB6gH/AesBoAHrAf8B6AGVAegB/wHlAYQB5QH/Ad4BdwHe
AcYBSAL/AckBTwL/AcIBQgL/Ab0BMAH/AfIBrwElAf8BMQIBAUogAAEwAgEBSgE7AdMBOwH/AUEB1AFB Af8BMAIBAUogAAEwAgEBSgEQA/8BFwP/AR0D/wESA/8BBAL+Af8BBALpAf8BMAIBAUogAAEwAgEBSgP3
Af8BRQHVAUUB/wE9AdMBPQH/ATEBzwExAf8BMQG7ATEB/wEwAgEBSiAAATECAQFKAucBqAH/AuoBsAH/ Af8D+QH/A/0B/wP3Af8D7gH/A+EB/wEwAgEBSiwAAQsCAQENAQsCAQENOAABCwIBAQ0BCwIBAQ04AAEL
AusBtQH/AugBqgH/AuQBmQH/At0BhwH/ATECAQFKLAABCwIBAQ0BCwIBAQ04AAELAgEBDQELAgEBDTgA AgEBDQELAgEBDTgAAQsCAQENAQsCAQENNAABBAIBAQQBFAIBARkBFAIBARkBFAIBARkBAgMBLAABBAIB
AQsCAQENAQsCAQENOAABCwIBAQ0BCwIBAQ00AAEEAgEBBAEUAgEBGQEUAgEBGQEUAgEBGQECAwEsAAEE AQQBFAIBARkBFAIBARkBFAIBARkBAgMBLAABBAIBAQQBFAIBARkBFAIBARkBFAIBARkBAgMBLAABBAIB
AgEBBAEUAgEBGQEUAgEBGQEUAgEBGQECAwEsAAEEAgEBBAEUAgEBGQEUAgEBGQEUAgEBGQECAwEsAAEE AQQBFAIBARkBFAIBARkBFAIBARkBAgMBJAABMAIBAUoDZAH/A1kB/wNUAf8DUwH/A1EB/wNMAf8BMAIB
AgEBBAEUAgEBGQEUAgEBGQEUAgEBGQECAwEkAAEwAgEBSgIrAVMB/wIhAUYB/wIdAUEB/wIcAT8B/wIb AUoBFAIBARkcAAEwAgEBSgGRAW8BHQH/AX0BXAEVAf8BcgFTARIB/wFvAVEBEgH/AWkBTAERAf8BWAFC
ATwB/wIbATEB/wEwAgEBSgEUAgEBGRwAATACAQFKAXsBAwFWAf8BZAEDAUcB/wFaAQMBQAH/AVgBAwE+ ARMB/wEwAgEBSgEUAgEBGRwAATACAQFKATcBYQE3Af8BKgFSASoB/wElAUwBJQH/ASQBSgEkAf8BIwFF
Af8BUwEDATsB/wFJAQMBNAH/ATACAQFKARQCAQEZHAABMAIBAUoBIgFEAVEB/wEZATkBRgH/ARUBNAFB ASMB/wEiAToBIgH/ATACAQFKARQCAQEZHAABMAIBAUoCngFNAf8ClgEoAf8CkwEaAf8CkgEXAf8CjQEU
Af8BFQEzAT8B/wEUATABOwH/ARUBKQEwAf8BMAIBAUoBFAIBARkcAAEwAgEBSgOFAf8DdgH/A24B/wNs Af8CegEXAf8BMAIBAUoBFAIBARkYAAFsAjUB5wNxAf8DcQH/A28B/wNuAf8DbQH/A2kB/wNgAf8DVAH/
Af8DaAH/A18B/wEwAgEBSgEUAgEBGRgAAUoBHwE6AecCLgFoAf8CLQFoAf8CLQFnAf8CLAFmAf8CKwFj AVsCFgHbARQCAQEZFAABkAFCAQ8B5wG0AYIBHQH/AbQBgQEcAf8BsgGBARwB/wGvAYEBGwH/AawBgAEa
Af8CKQFfAf8CJAFSAf8CHAFBAf8BRQEKAREB2wEUAgEBGRQAAYABAwE+AecBjwEDAWcB/wGPAQMBZwH/ Af8BpAF6ARkB/wGOAWsBFwH/AXIBUgESAf8BXAERAQcB2wEUAgEBGRQAAVQBOAEgAecBPAF5ATwB/wE7
AY0BAwFmAf8BiwEDAWQB/wGIAQMBYgH/AYIBAwFeAf8BdAEDAVEB/wFaAQMBPwH/AVUBAwETAdsBFAIB AXoBOwH/AToBeQE6Af8BOQF3ATkB/wE3AXUBNwH/ATUBbwE1Af8BLwFhAS8B/wElAUsBJQH/AU8BDgEJ
ARkUAAFDATEBOgHnASMBUwFnAf8BIQFUAWgB/wEhAVIBZwH/ASABUQFlAf8BHwFQAWMB/wEeAUwBXwH/ AdsBFAIBARkUAAGIAVMBNwHnArIBYwH/ArQBYQH/ArIBXgH/ArEBWgH/ArEBVgH/Aq0BTwH/AqIBOQH/
ARsBQgFSAf8BFQE0AUEB/wFCAQ4BEQHbARQCAQEZFAABhwJaAecDlwH/A5cB/wOVAf8DkwH/A5IB/wON ApMBGAH/AWYBHQEIAdsBFAIBARkQAAFpAikB3AOBAf8DhAH/A4kB/wOIAf8DhgH/A4YB/wODAf8DgQH/
Af8DgQH/A24B/wFcAiIB2wEUAgEBGRAAAU0BFAE0AdwCLQGEAf8CKAGRAf8CJQGbAf8CJgGZAf8CJgGY A3AB/wNaAf8BWwIWAdsBFAIBARkMAAGEAS8BDAHcAdkBnQEjAf8B5QGlASQB/wHtAawBJQH/AesBqgEl
Af8CJgGYAf8CKAGQAf8CLAGEAf8CLQFoAf8CIAFIAf8BQgEJAREB2wEUAgEBGQwAAX4BAwEyAdwBrQED Af8B6gGoASQB/wHqAagBJAH/AeMBpAEiAf8B2QGcASEB/wGzAYEBHAH/AX8BXQEUAf8BXAERAQcB2wEU
AXwB/wG2AQMBgQH/AbwBAwGDAf8BuwEDAYMB/wG6AQMBggH/AboBAwGCAf8BtAEDAYEB/wGsAQMBewH/ AgEBGQwAAVgBKgEUAdwBPQGYAT0B/wE4AagBOAH/ATUBswE1Af8BNgGwATYB/wE2Aa4BNgH/ATYBrgE2
AY4BAwFmAf8BZQEDAUcB/wFVAQMBEwHbARQCAQEZDAABRwEpATQB3AEdAWkBhQH/ARYBcgGUAf8BEQF4 Af8BNwGmATcB/wE7AZkBOwH/ATsBeQE7Af8BKQFUASkB/wFPAQ4BCQHbARQCAQEZDAABfgE6ASkB3ALL
AZ8B/wESAXcBnQH/ARMBdgGbAf8BEwF2AZsB/wEWAXEBkwH/ARsBaQGGAf8BIQFTAWgB/wEYAToBRwH/ AX4B/wLUAYEB/wLaAYMB/wLYAYIB/wLXAYIB/wLXAYIB/wLUAYEB/wLMAXoB/wK0AV8B/wKZAScB/wFm
AUIBDgERAdsBFAIBARkMAAF+AkcB3AOsAf8DsgH/A7YB/wO1Af8DtAH/A7QB/wOxAf8DqwH/A5YB/wN3 AR0BCAHbARQCAQEZCAABMAIBAUoDgQH/A4kB/wOQAf8DkAH/A5AB/wOQAf8DigH/A4wB/wODAf8DagH/
Af8BXAIiAdsBFAIBARkIAAEwAgEBSgItAYcB/wIlAZoB/wIiAagB/wIiAagB/wIiAagB/wIiAagB/wIk A20B/wNYAf8BMAIBAUoIAAEwAgEBSgHcAaABJAH/AewBqgElAf8B9gGzASoB/wH2AbMBKgH/AfYBswEq
AZ4B/wIiAaMB/wIqAY8B/wIqAV8B/wIrAWMB/wIfAUYB/wEwAgEBSggAATACAQFKAbABAwF+Af8BvAED Af8B9gGzASoB/wHvAa0BJQH/AfIBsAEmAf8B4gGkASQB/wGkAXsBGwH/AasBfwEbAf8BfQFcARQB/wEw
AYMB/wHGAQMBigH/AcYBAwGKAf8BxgEDAYoB/wHGAQMBigH/Ab4BAwGFAf8BwQEDAYcB/wG0AQMBgQH/ AgEBSggAATACAQFKATwBnQE8Af8BNQGxATUB/wEzAcABMwH/ATMBwAEzAf8BMwHAATMB/wEzAcABMwH/
AYMBAwFeAf8BiAEDAWIB/wFjAQMBRgH/ATACAQFKCAABMAIBAUoBHAFsAYkB/wERAXcBngH/AQwBgQGt ATQBtgE0Af8BMgG7ATIB/wE5AaQBOQH/ATcBbwE3Af8BOAF0ATgB/wEoAVMBKAH/ATACAQFKCAABMAIB
Af8BDAGBAa0B/wEMAYEBrQH/AQwBgQGtAf8BDwF6AaMB/wENAX0BpwH/ARgBcAGRAf8BIAFNAV8B/wEg AUoCzQGBAf8C2AGCAf8C3wGNAf8C3wGNAf8C3wGNAf8C3wGNAf8C2wGDAf8C3QGHAf8C0gGBAf8CrQFT
AU8BYwH/ARcBOQFGAf8BMAIBAUoIAAEwAgEBSgOuAf8DtgH/A70B/wO9Af8DvQH/A70B/wO3Af8DuQH/ Af8CsAFWAf8CmAEjAf8BMAIBAUoIAAOJAf8DjgH/A5AB/wOQAf8DkAH/A48B/wOLAf8DdgH/A1YB/wMz
A7EB/wOOAf8DkgH/A3UB/wEwAgEBSggAAigBmQH/AiYBogH/Ah8BqwH/AiIBqAH/AiIBqAH/AiMBpwH/ Af8DBAH/A2wB/wNpAf8DUgH/AQIDAQQAAesBrAEoAf8B8gGyASsB/wH4AbQBKAH/AfYBswEqAf8B9gGz
AigBmwH/AjMBbQH/AiABQQH/Ag0BGAH/AwMB/wIrAWIB/wIpAV8B/wIeATsB/wECAwEEAAG9AQMBhAH/ ASoB/wH1AbIBKgH/AewBrAEpAf8BvgGKASEB/wF0AVUBFQH/ASoBIAEKAf8DBAH/AaoBfwEbAf8BpAF6
AcUBAwGJAf8BxgEDAYoB/wHGAQMBigH/AcYBAwGKAf8BxgEDAYoB/wG/AQMBhQH/AZkBAwFuAf8BXgED ARkB/wFpAU8BFAH/AQIDAQQAATgBsQE4Af8BNgG7ATYB/wEvAcQBLwH/ATMBwAEzAf8BMwHAATMB/wEz
AUIB/wEiAQMBGAH/AwMB/wGHAQMBYQH/AYIBAwFeAf8BVgEDAT0B/wECAwEEAAEUAXgBnQH/AREBfgGn Ab8BMwH/ATkBsgE5Af8BQgF/AUIB/wEpAU0BKQH/ARABHAEQAf8DBAH/ATgBcwE4Af8BNQFvATUB/wEm
Af8BCQGBAbEB/wEMAYEBrQH/AQwBgQGtAf8BDQGAAasB/wEVAXkBngH/AScBWAFsAf8BGQE1AUEB/wEK AUUBJgH/AQIDAQQAAtgBhwH/AtwBjwH/AuEBiwH/At8BjQH/At8BjQH/At4BjQH/AtgBigH/ArUBcwH/
ARQBGAH/AwMB/wEgAU8BYgH/AR4BTAFfAf8BFwEwAToB/wECAwEEAAO2Af8DuwH/A70B/wO9Af8DvQH/ Ao8BJQH/Ak0BBAH/AwQB/wKuAVYB/wKtAU8B/wKIAR0B/wECAwEEAAORAf8DnAH/A5EB/wOQAf8DewH/
A7wB/wO4Af8DngH/A3EB/wM2Af8DAwH/A5EB/wONAf8DagH/AQIDAQQAAh8BrQH/AiIBuQH/AiMBqgH/ A10B/wM8Af8DCgH/AwQB/wMEAf8DLAH/A4EB/wN3Af8DXQH/ARQCAQEZBAAB+QG2ASkC/wG/ATcB/wH4
AiIBqAH/AjMBdwH/AiQBSgH/AhABIAH/AwMB/wMDAf8DAwH/AgoBEgH/AioBjAH/AjABcgH/AiIBTQH/ AbcBLAH/AfYBswEqAf8BygGTASMB/wGBAWEBGAH/ATgBKgEMAf8CBQEEAf8DBAH/AwQB/wEgARgBCAH/
ARQCAQEZBAAByAEDAYwB/wHXAQMBlgH/AckBAwGMAf8BxgEDAYoB/wGjAQMBdQH/AWsBAwFMAf8BLQED AeABowEjAf8BxAGOAR4B/wGEAWMBFgH/ARQCAQEZBAABMAHGATAB/wE2AdEBNgH/ATQBwwE0Af8BMwHA
ASAB/wEEAQMBBAH/AwMB/wMDAf8BGQEDARIB/wGzAQMBgAH/AZsBAwFvAf8BbAEDAUwB/wEUAgEBGQQA ATMB/wFCAYcBQgH/AS4BVwEuAf8BFQEmARUB/wMEAf8DBAH/AwQB/wENARYBDQH/AToBoQE6Af8BPgGB
AQkBgQGzAf8BCQGKAb8B/wENAYEBrwH/AQwBgQGtAf8BJQFfAXcB/wEcAT0BSgH/AQ0BGgEgAf8DAwH/ AT4B/wEsAVoBLAH/ARQCAQEZBAAC4gGNAf8C5QGhAf8C3wGSAf8C3wGNAf8CvwF6Af8CmAE0Af8CXgEE
AwMB/wMDAf8BCAEPARIB/wEZAW8BjgH/ASMBWwFyAf8BGgE+AU0B/wEUAgEBGQQAA74B/wPHAf8DvgH/ Af8CHQEEAf8DBAH/AwQB/wJEAQQB/wLRAYEB/wK7AXAB/wKeATEB/wEUAgEBGQELAgEBDQOaAf8DpgH/
A70B/wOkAf8DfAH/A0QB/wMIAf8DAwH/AwMB/wMsAf8DrwH/A58B/wN9Af8BFAIBARkBCwIBAQ0CIQG3 A5UB/wOQAf8DZwH/A08B/wMgAf8DBAH/AwQB/wMEAf8DWAH/A40B/wOBAf8DYwH/ARQCAQEZAQsCAQEN
Af8CIwHCAf8CJQGtAf8CIgGoAf8CKgFYAf8CHAE4Af8CBgELAf8DAwH/AwMB/wMDAf8CIQFEAf8CIQGm Af8BvgEzAv8BxQFGAf8B+gG6ATAB/wH2AbMBKgH/AZkBcwEcAf8BZAFJARMB/wETAQ8BBgH/AwQB/wME
Af8CLAGDAf8CJQFXAf8BFAIBARkBCwIBAQ0B1AEDAZQB/wHhAQMBnQH/Ac4BAwGPAf8BxgEDAYoB/wF/ Af8DBAH/AXkBWQEWAf8B9AGxAScB/wHYAZsBIAH/AZUBbwEXAf8BFAIBARkBCwIBAQ0BMwHQATMB/wFA
AQMBWQH/AVEBAwE5Af8BDwEDAQsB/wMDAf8DAwH/AwMB/wFiAQMBRQH/AcMBAwGIAf8BqwEDAXoB/wF5 AdMBQAH/ATYBxgE2Af8BMwHAATMB/wE2AWcBNgH/ASQBQgEkAf8BCQEOAQkB/wMEAf8DBAH/AwQB/wEr
AQMBVQH/ARQCAQEZAQsCAQENAQkBiAG9Af8BCQGQAcgB/wEOAYIBsgH/AQwBgQGtAf8BIAFHAVcB/wEW AVABKwH/ATEBvgExAf8BOwGXATsB/wExAWUBMQH/ARQCAQEZAQsCAQENAuUBnAH/AugBrQH/AuEBmAH/
AS4BOAH/AQUBCQELAf8DAwH/AwMB/wMDAf8BGgE3AUMB/wELAX8BqwH/ARwBaAGEAf8BGwFGAVcB/wEU At8BjQH/AqQBTQH/AoUBFwH/AjgBBAH/AwQB/wMEAf8DBAH/ApIBKgH/At4BiAH/AssBegH/AqUBPwH/
AgEBGQELAgEBDQPFAf8DzgH/A8EB/wO9Af8DiQH/A2UB/wMeAf8DAwH/AwMB/wMDAf8DdQH/A7oB/wOq ARQCAQEZAQsCAQENA58B/wOqAf8DlQH/A5AB/wOPAf8DjwH/A0UB/wMEAf8DBAH/AxIB/wN6Af8DiAH/
Af8DhAH/ARQCAQEZAQsCAQENAiIBvAH/AiQBxwH/AiYBrAH/AiIBqAH/AiMBpwH/AiQBpQH/AhUBKgH/ A4IB/wNlAf8BFAIBARkBCwIBAQ0B/wHBATwC/wHIAU4B/wH5AbkBMQH/AfYBswEqAf8B9QGyASoB/wH0
AwMB/wMDAf8CBAEGAf8CMwF1Af8CJgGZAf8CKQGNAf8CJgFaAf8BFAIBARkBCwIBAQ0B2gEDAZgB/wHn AbIBKgH/AUoBNwEPAf8DBAH/AwQB/wEJAQgBBAH/AccBkQEjAf8B6wGqASUB/wHiAaMBIwH/AZoBcwEY
AQMBoQH/Ac4BAwGPAf8BxgEDAYoB/wHGAQMBigH/AcUBAwGKAf8BOwEDASoB/wMDAf8DAwH/AQcBAwEG Af8BFAIBARkBCwIBAQ0BOQHSATkB/wFFAdUBRQH/ATcBxQE3Af8BMwHAATMB/wEzAb8BMwH/ATQBvgE0
Af8BoQEDAXMB/wG7AQMBgwH/AbMBAwGAAf8BfQEDAVgB/wEUAgEBGQELAgEBDQEJAYwBwgH/AQoBlAHN Af8BGwExARsB/wMEAf8DBAH/AQYBBwEGAf8BQgGEAUIB/wE2AbABNgH/ATkBowE5Af8BMgFpATIB/wEU
Af8BDwGBAbEB/wEMAYEBrQH/AQ0BgAGrAf8BDgF/AaoB/wEQASIBKQH/AwMB/wMDAf8BBAEFAQYB/wEl AgEBGQELAgEBDQLmAaQB/wLrAbQB/wLhAZgB/wLfAY0B/wLeAY0B/wLeAY0B/wJwAQoB/wMEAf8DBAH/
AV0BdAH/ARIBdwGdAf8BFwFwAZAB/wEcAUgBWgH/ARQCAQEZAQsCAQENA8kB/wPRAf8DwQH/A70B/wO8 Ai0BBAH/Ar0BeQH/AtgBggH/AtEBgQH/AqgBRAH/ARQCAQEZBAADngH/A7EB/wOeAf8DjQH/A4oB/wNM
Af8DvAH/A1MB/wMDAf8DAwH/Aw8B/wOjAf8DtQH/A7AB/wOHAf8BFAIBARkEAAIiAbsB/wIlAc4B/wIj Af8DBAH/A1gB/wMUAf8DRQH/A44B/wOQAf8DgQH/A2UB/wEJAgEBCgQAAf8BwAE6Av8BzAFZAv8BwQE5
AbkB/wInAZ4B/wIpAZkB/wIZATIB/wMDAf8CIQFDAf8CBAEGAf8CFQEqAf8CJAGkAf8CIgGoAf8CLAGH Af8B7wGvASoB/wHrAasBKAH/AVkBQQERAf8DBAH/AXgBWAEWAf8BCgEIAQQB/wFKATcBDwH/AfMBsQEq
Af8CJwFYAf8BCQIBAQoEAAHZAQMBlwH/Ae4BAwGmAf8B1wEDAZYB/wHCAQMBhwH/Ab4BAwGFAf8BRwED Af8B9gGzASoB/wHcAZ8BIgH/AZkBcwEZAf8BCQIBAQoEAAE3AdIBNwH/AU0B1gFNAf8BNwHQATcB/wE4
ATIB/wMDAf8BYQEDAUQB/wEIAQMBBgH/ATsBAwEqAf8BxQEDAYkB/wHGAQMBigH/Aa8BAwF9Af8BfQED AbYBOAH/ATkBsAE5Af8BIAE7ASAB/wMEAf8BKgFPASoB/wEGAQgBBgH/ARsBMQEbAf8BNQG9ATUB/wEz
AVgB/wEJAgEBCgQAAQkBiwHBAf8BCgGZAdQB/wEKAYkBvgH/ARMBewGiAf8BFQF4AZ0B/wETASkBMgH/ AcABMwH/ATsBnAE7Af8BMwFoATMB/wEJAgEBCgQAAuYBogH/Au0BvQH/AuUBogH/AtsBiwH/AtgBiAH/
AwMB/wEZATcBQwH/AQQCBgH/ARABIgEpAf8BDwF+AakB/wEMAYEBrQH/ARsBawGJAf8BHQFHAVgB/wEJ An4BEQH/Ak0BBAH/ApIBKAH/AjEBBAH/AnABCgH/At0BjQH/At8BjQH/As0BfgH/AqcBRgH/AQkCAQEK
AgEBCgQAA8gB/wPWAf8DyAH/A7oB/wO3Af8DXgH/AwMB/wN0Af8DEQH/A1MB/wO7Af8DvQH/A60B/wOH BAADmQH/A7YB/wOtAf8DkQH/A0wB/wMEAf8DZQH/A5MB/wNDAf8DZwH/A5EB/wOQAf8DgQH/A2kB/wgA
Af8BCQIBAQoEAAIhAbUB/wImAdEB/wIkAckB/wIvAZ4B/wIZATIB/wMDAf8CKQFVAf8CIAGuAf8CFAEn Af8BvAExAv8BzgFgAv8ByQFSAf8B8QG0ATMB/wFZAUEBEQH/AwQB/wGUAXABGwH/AfoBtgErAf8BRgE0
Af8CKgFYAf8CIAGtAf8CIgGoAf8CLQGEAf8CLAFdAf8IAAHSAQMBkgH/AfMBAwGqAf8B6gEDAaMB/wHJ AQ4B/wGZAXMBHAH/AfkBtQErAf8B9gGzASoB/wHZAZ0BIgH/AaEBegEdAf8IAAEyAc8BMgH/AVIB1wFS
AQMBjAH/AUcBAwEyAf8DAwH/AXsBAwFXAf8BygEDAY0B/wE4AQMBKAH/AX8BAwFZAf8ByQEDAYwB/wHG Af8BSAHVAUgB/wFAAbYBQAH/ASABOwEgAf8DBAH/ATUBZAE1Af8BMAHHATAB/wEaAS8BGgH/ATYBZwE2
AQMBigH/Aa0BAwF8Af8BggEDAV4B/wgAAQkBhwG7Af8BCgGcAdkB/wEKAZYB0AH/ARsBfAGhAf8BEwEp Af8BMQHGATEB/wEzAcABMwH/ATwBmQE8Af8BOQFtATkB/wgAAuQBmQH/Au4BwgH/AuwBuAH/AtoBmAH/
ATIB/wMDAf8BIAFFAVUB/wEJAYIBtAH/ARABIAEnAf8BIAFHAVcB/wEKAYEBswH/AQwBgQGtAf8BHAFq An4BEQH/AwQB/wKhAUkB/wLiAZAB/wJsAQgB/wKkAU0B/wLhAZAB/wLfAY0B/wLMAX4B/wKoAVQB/wgA
AYYB/wEiAUsBXAH/CAADxAH/A9kB/wPTAf8DvgH/A14B/wMDAf8DhgH/A78B/wNPAf8DiQH/A74B/wO9 ATACAQFKA7gB/wO7Af8DdQH/AwoB/wNmAf8DkQH/A44B/wN1Af8DgwH/A5AB/wOQAf8DgQH/ATACAQFK
Af8DrAH/A40B/wgAATACAQFKAiYB0wH/AiYB1gH/AjoBZQH/AwMB/wIqAVcB/wIhAasB/wIkAaQB/wIz CAABMAIBAUoB/wHOAWEC/wHQAWYB/wG1AYkBKAH/AgUBBAH/AZgBcwEcAf8B+AG0ASoB/wHzAbEBKgH/
AWoB/wItAYsB/wIiAagB/wIiAagB/wIrAYoB/wEwAgEBSggAATECAQFKAfQBAwGqAf8B+AEDAa0B/wGY AboBhwEhAf8B3wGiAScB/wH2AbMBKgH/AfYBswEqAf8B3wGhASMB/wEwAgEBSggAATACAQFKAVMB2AFT
AQMBbQH/AQQBAwEEAf8BfgEDAVkB/wHIAQMBjAH/AcUBAwGJAf8BlgEDAWwB/wG0AQMBgQH/AcYBAwGK Af8BVgHYAVYB/wFJAXcBSQH/AwQB/wE2AWcBNgH/ATIBxAEyAf8BNQG9ATUB/wFBAXwBQQH/AT0BoAE9
Af8BxgEDAYoB/wGxAQMBfwH/ATACAQFKCAABMAIBAUoBCgGdAdkB/wEKAZ8B3QH/AS8BVAFiAf8DAwH/ Af8BMwHAATMB/wEzAcABMwH/ATsBnwE7Af8BMAIBAUoIAAEwAgEBSgLvAcQB/wLwAcgB/wKuAXoB/wId
ASABRwFXAf8BCwGBAbEB/wEPAX4BqQH/AScBVgFpAf8BHAFuAYwB/wEMAYEBrQH/AQwBgQGtAf8BGgFt AQQB/wKkAU0B/wLhAY8B/wLdAY0B/wK0AXAB/wLQAYIB/wLfAY0B/wLfAY0B/wLPAYEB/wEwAgEBSgwA
AYwB/wEwAgEBSggAATECAQFKA9oB/wPcAf8DnQH/AwgB/wOIAf8DvgH/A7sB/wOcAf8DsQH/A70B/wO9 AWoCGgHKA8AB/wOVAf8DgAH/A54B/wOVAf8DlAH/A5AB/wOQAf8DkAH/A5AB/wFyAj0B6BAAAXcBIQEL
Af8DrgH/ATACAQFKDAABTwEJATIBygIoAdoB/wI8AZYB/wI8AXQB/wImAbYB/wIpAagB/wInAagB/wIi AcoB/wHTAW8B/wHtAbgBPQH/AccBmAEuAf8B/gHAAToB/wH3AbkBMgH/AfcBtwEwAf8B9gGzASoB/wH2
AagB/wIiAagB/wIiAagB/wIiAagB/wFDARgBTwHoEAABfgEDASgBygH+AQMBsQH/Ac4BAwGQAf8BqQED AbMBKgH/AfYBswEqAf8B9gGzASoB/wGeAU4BEAHoEAABWgEjAQsBygFcAdoBXAH/AU8BrgFPAf8BTAGE
AXkB/wHXAQMBlgH/Ac0BAwGPAf8BywEDAY4B/wHGAQMBigH/AcYBAwGKAf8BxgEDAYoB/wHGAQMBigH/ AUwB/wE7Ac0BOwH/AToBwQE6Af8BOAHBATgB/wEzAcABMwH/ATMBwAEzAf8BMwHAATMB/wEzAcABMwH/
AZMBAwFIAegQAAFKASYBMwHKAQoBowHiAf8BKgF5AZYB/wEvAV8BcwH/AQ4BiAG7Af8BEwGBAawB/wER AU8BSgEaAegQAAFzASYBHQHKAvEBzwH/AtYBpQH/ArwBhQH/AuQBpAH/At4BmQH/At8BlgH/At8BjQH/
AYEBrQH/AQwBgQGtAf8BDAGBAa0B/wEMAYEBrQH/AQwBgQGtAf8BOwE9AU8B6BAAAXoCMwHKA98B/wPB At8BjQH/At8BjQH/At8BjQH/AZcBYQE9AegUAAFrAhwByQO7Af8DtgH/A64B/wOjAf8DlwH/A5EB/wON
Af8DqQH/A8gB/wPBAf8DwAH/A70B/wO9Af8DvQH/A70B/wGNAmYB6BQAAU8BCAExAckCJgHWAf8CJgHS Af8DjAH/AWsCKAHbGAABdAEgAQ4ByQH/AdABZwL/Ac0BYAL/AcsBVgL/AcMBQwH/Af0BuwExAf8B9wG3
Af8CJQHMAf8CIwG/Af8CIwGyAf8CJAGpAf8CJAGjAf8CIQGjAf8BSwERAT0B2xgAAYABAwEoAckB+QED AS0B/wHyAbEBKAH/AfIBrwEmAf8BiQEzAQoB2xgAAVsBIQELAckBVwHZAVcB/wFSAdgBUgH/AUsB1gFL
Aa0B/wH0AQMBqgH/Ae0BAwGlAf8B3wEDAZsB/wHRAQMBkgH/AckBAwGMAf8BwwEDAYgB/wHBAQMBhwH/ Af8BPgHTAT4B/wE0AcwBNAH/ATUBwgE1Af8BNAG7ATQB/wExAbsBMQH/AVcBMwERAdsYAAF0ASUBHAHJ
AYYBAwE1AdsYAAFJASUBMwHJAQoBnwHdAf8BCgGcAdkB/wEKAZgB0wH/AQkBjwHGAf8BCwGFAbgB/wEO AvAByAH/Au8BwwH/Au0BuwH/AugBqgH/AuMBmQH/At8BkgH/At0BigH/At0BhwH/AYUBQQEoAdscAAEw
AYEBrwH/AQ8BfQGnAf8BDAF9AagB/wFCAS0BPQHbGAABewIzAckD3AH/A9kB/wPUAf8DzAH/A8MB/wO+ AgEBSgOiAf8DpgH/A6oB/wOjAf8DmQH/A4wB/wEwAgEBSiAAATACAQFKAf8BwwFBAv8BxgFJAv8ByQFQ
Af8DugH/A7kB/wGFAkcB2xwAATACAQFKAiIBvwH/AiMBwwH/AiQByAH/AiMBvwH/AiEBtQH/AiIBowH/ Av8BwgFDAv8BvQExAf8B8gGvASYB/wEwAgEBSiAAATACAQFKATwB0wE8Af8BQgHUAUIB/wFGAdUBRgH/
ATACAQFKIAABMQIBAUoB3QEDAZoB/wHjAQMBngH/AegBAwGiAf8B3wEDAZsB/wHSAQMBkgH/AcEBAwGH AT4B0wE+Af8BMgHPATIB/wEyAbsBMgH/ATACAQFKIAABMAIBAUoC5wGoAf8C6gGwAf8C6wG1Af8C6AGq
Af8BMAIBAUogAAEwAgEBSgEJAY4BxQH/AQkBkQHKAf8BCgGVAc4B/wEJAY8BxgH/AQkBhwG7Af8BDQF9 Af8C5AGZAf8C3QGHAf8BMAIBAUosAAELAgEBDQELAgEBDTgAAQsCAQENAQsCAQENOAABCwIBAQ0BCwIB
AacB/wEwAgEBSiAAATECAQFKA8sB/wPOAf8D0QH/A8wB/wPEAf8DuQH/ATACAQFKLAABCwIBAQ0BCwIB AQ04AAELAgEBDQELAgEBDTQAAQQCAQEEARQCAQEZARQCAQEZARQCAQEZAQIDASwAAQQCAQEEARQCAQEZ
AQ04AAELAgEBDQELAgEBDTgAAQsCAQENAQsCAQENOAABCwIBAQ0BCwIBAQ00AAEEAgEBBAEUAgEBGQEU ARQCAQEZARQCAQEZAQIDASwAAQQCAQEEARQCAQEZARQCAQEZARQCAQEZAQIDASwAAQQCAQEEARQCAQEZ
AgEBGQEUAgEBGQECAwEsAAEEAgEBBAEUAgEBGQEUAgEBGQEUAgEBGQECAwEsAAEEAgEBBAEUAgEBGQEU ARQCAQEZARQCAQEZAQIDASQAATACAQFKAiwBVAH/AiIBRwH/Ah4BQgH/Ah0BQAH/AhwBPQH/AhwBMgH/
AgEBGQEUAgEBGQECAwEsAAEEAgEBBAEUAgEBGQEUAgEBGQEUAgEBGQECAwEkAAEwAgEBSgNAAf8DOQH/ ATACAQFKARQCAQEZHAABMAIBAUoBfAEEAVcB/wFlAQQBSAH/AVsBBAFBAf8BWQEEAT8B/wFUAQQBPAH/
AzcB/wM2Af8DNQH/AzMB/wEwAgEBSgEUAgEBGRwAATACAQFKAW8BSQE8Af8BXgE5AS0B/wFWATMBKAH/ AUoBBAE1Af8BMAIBAUoBFAIBARkcAAEwAgEBSgEjAUUBUgH/ARoBOgFHAf8BFgE1AUIB/wEWATQBQAH/
AVQBMgEnAf8BTwEwASUB/wFBASwBJAH/ATACAQFKARQCAQEZHAABMAIBAUoBJgFCASYB/wEdATgBHQH/ ARUBMQE8Af8BFgEqATEB/wEwAgEBSgEUAgEBGRwAATACAQFKA4UB/wN3Af8DbwH/A20B/wNpAf8DYAH/
ARkBNAEZAf8BGQEyARkB/wEYAS8BGAH/ARcBKAEXAf8BMAIBAUoBFAIBARkcAAEwAgEBSgFQAVIBKwH/ ATACAQFKARQCAQEZGAABTgEYATEB5wIvAWkB/wIuAWkB/wIuAWgB/wItAWcB/wIsAWQB/wIqAWAB/wIl
AUQBRgEgAf8BPgFBARwB/wE9AT8BGwH/AToBPAEaAf8BMAExARoB/wEwAgEBSgEUAgEBGRgAAVcCLQHn AVMB/wIdAUIB/wFMAQkBDgHbARQCAQEZFAABfAEEATIB5wGPAQQBaAH/AY8BBAFoAf8BjQEEAWcB/wGL
A0oB/wNKAf8DSQH/A0gB/wNHAf8DRAH/Az4B/wM3Af8BTwITAdsBFAIBARkUAAF8ATIBKAHnAYcBUwFB AQQBZQH/AYgBBAFjAf8BggEEAV8B/wF1AQQBUgH/AVsBBAFAAf8BVwEEAQ4B2wEUAgEBGRQAAUoBKAEx
Af8BiAFTAUAB/wGGAVIBPwH/AYQBUAE+Af8BggFOATwB/wF/AUsBOQH/AW4BQQEzAf8BVgEzAScB/wFR AecBJAFUAWgB/wEiAVUBaQH/ASIBUwFoAf8BIQFSAWYB/wEgAVEBZAH/AR8BTQFgAf8BHAFDAVMB/wEW
Ag4B2wEUAgEBGRQAAUgBMQEbAecBKQFTASkB/wEoAVMBKAH/ASgBUgEoAf8BJwFRAScB/wEmAVABJgH/ ATUBQgH/AUsBCgEOAdsBFAIBARkUAAF/AksB5wOXAf8DlwH/A5UB/wOTAf8DkgH/A40B/wOBAf8DbwH/
ASQBTAEkAf8BIAFCASAB/wEZATQBGQH/AUIBDgEJAdsBFAIBARkUAAFlAToBHAHnAWQBaAEtAf8BZQFo AV0CGAHbARQCAQEZEAABUwEPASgB3AIuAYQB/wIpAZEB/wImAZsB/wInAZkB/wInAZgB/wInAZgB/wIp
ASwB/wFkAWcBLAH/AWIBZgErAf8BYAFkASoB/wFcAWABKAH/AVABUwEjAf8BPgFBARwB/wFLAREBCgHb AZAB/wItAYQB/wIuAWkB/wIhAUkB/wFLAQgBDgHbARQCAQEZDAABeAEEASQB3AGtAQQBfQH/AbYBBAGB
ARQCAQEZEAABXgIkAdwDXAH/A2IB/wNnAf8DZgH/A2QB/wNkAf8DYQH/A1sB/wNKAf8DOgH/AU8CEwHb Af8BvAEEAYMB/wG7AQQBgwH/AboBBAGCAf8BugEEAYIB/wG0AQQBgQH/AawBBAF8Af8BjgEEAWcB/wFm
ARQCAQEZDAABfAEpAR8B3AGwAV4BQQH/AcIBXgE7Af8BzQFfATkB/wHKAV8BOgH/AckBXgE5Af8ByQFe AQQBSAH/AVcBBAEOAdsBFAIBARkMAAFNAR8BKAHcAR4BagGFAf8BFwFzAZQB/wESAXkBnwH/ARMBeAGd
ATkB/wHBAV0BOgH/AbEBXAE/Af8BhwFSAUAB/wFgATkBLAH/AVECDgHbARQCAQEZDAABSwEpARQB3AEq Af8BFAF3AZsB/wEUAXcBmwH/ARcBcgGTAf8BHAFqAYYB/wEiAVQBaQH/ARkBOwFIAf8BSwEKAQ4B2wEU
AWsBKgH/ASYBdgEmAf8BJAF9ASQB/wElAXsBJQH/ASUBegElAf8BJQF6ASUB/wEmAXQBJgH/ASgBawEo AgEBGQwAAXgCNQHcA6wB/wOyAf8DtgH/A7UB/wO0Af8DtAH/A7EB/wOrAf8DlgH/A3gB/wFdAhgB2wEU
Af8BKAFTASgB/wEcATkBHAH/AUIBDgEJAdsBFAIBARkMAAFoATQBFAHcAYEBhAEsAf8BiwGSAScB/wGU AgEBGQgAATACAQFKAi4BhwH/AiYBmgH/AiMBqAH/AiMBqAH/AiMBqAH/AiMBqAH/AiUBngH/AiMBowH/
AZwBIwH/AZIBmQEkAf8BkQGYASUB/wGRAZgBJQH/AYoBkAEmAf8BgQGEASoB/wFkAWgBLAH/AUYBSAEf AisBjwH/AisBYAH/AiwBZAH/AiABRwH/ATACAQFKCAABMAIBAUoBsAEEAX8B/wG8AQQBgwH/AcYBBAGK
Af8BSwERAQkB2wEUAgEBGQgAATACAQFKA14B/wNnAf8DcAH/A3AB/wNwAf8DcAH/A2gB/wNqAf8DYQH/ Af8BxgEEAYoB/wHGAQQBigH/AcYBBAGKAf8BvgEEAYUB/wHBAQQBhwH/AbQBBAGBAf8BgwEEAV8B/wGI
A0UB/wNHAf8DOQH/ATACAQFKCAABMAIBAUoBtQFeAUAB/wHLAV8BOgH/AdQBZgFAAf8B1AFmAUAB/wHU AQQBYwH/AWQBBAFHAf8BMAIBAUoIAAEwAgEBSgEdAW0BiQH/ARIBeAGeAf8BDQGBAa0B/wENAYEBrQH/
AWYBQAH/AdQBZgFAAf8BzwFgAToB/wHSAWEBOwH/Ab4BXgE9Af8BfwFMATsB/wGBAU4BPAH/AV4BOAEr AQ0BgQGtAf8BDQGBAa0B/wEQAXsBowH/AQ4BfgGnAf8BGQFxAZEB/wEhAU4BYAH/ASEBUAFkAf8BGAE6
Af8BMAIBAUoIAAEwAgEBSgEpAW4BKQH/ASQBfAEkAf8BIwGDASMB/wEjAYMBIwH/ASMBgwEjAf8BIwGD AUcB/wEwAgEBSggAATACAQFKA64B/wO2Af8DvQH/A70B/wO9Af8DvQH/A7cB/wO5Af8DsQH/A44B/wOS
ASMB/wEjAX8BIwH/ASIBgQEiAf8BJwFzAScB/wEmAUwBJgH/ASYBTwEmAf8BHAE5ARwB/wEwAgEBSggA Af8DdgH/ATACAQFKCAACKQGZAf8CJwGiAf8CIAGrAf8CIwGoAf8CIwGoAf8CJAGnAf8CKQGbAf8CNAFu
ATACAQFKAYIBiAErAf8BkwGbASQB/wGgAagBIQH/AaABqAEhAf8BoAGoASEB/wGgAagBIQH/AZcBnwEi Af8CIQFCAf8CDgEZAf8DBAH/AiwBYwH/AioBYAH/Ah8BPAH/AQIDAQQAAb0BBAGEAf8BxQEEAYkB/wHG
Af8BmwGjASEB/wGIAY4BKAH/AVwBXwEpAf8BYAFjASoB/wFEAUcBHgH/ATACAQFKCAADZwH/A20B/wNw AQQBigH/AcYBBAGKAf8BxgEEAYoB/wHGAQQBigH/Ab8BBAGFAf8BmQEEAW8B/wFfAQQBQwH/ASMBBAEZ
Af8DcAH/A3AB/wNuAf8DaQH/A08B/wM4Af8DJwH/AwMB/wNHAf8DRAH/AzYB/wECAwEEAAHJAWIBPgH/ Af8DBAH/AYcBBAFiAf8BggEEAV8B/wFXAQQBPgH/AQIDAQQAARUBeQGdAf8BEgF/AacB/wEKAYEBsQH/
Ac8BZgFCAf8B1wFkAT0B/wHUAWYBQAH/AdQBZgFAAf8B0wFmAUAB/wHKAWQBQAH/AY4BWgFIAf8BVwE3 AQ0BgQGtAf8BDQGBAa0B/wEOAYEBqwH/ARYBegGeAf8BKAFZAW0B/wEaATYBQgH/AQsBFQEZAf8DBAH/
ASwB/wEfARQBEQH/AwMB/wGBAU4BPQH/AX8BSwE5Af8BTgEyASkB/wECAwEEAAEmAXwBJgH/ASUBgQEl ASEBUAFjAf8BHwFNAWAB/wEYATEBOwH/AQIDAQQAA7YB/wO7Af8DvQH/A70B/wO9Af8DvAH/A7gB/wOe
Af8BIAGFASAB/wEjAYMBIwH/ASMBgwEjAf8BIwGCASMB/wEnAX0BJwH/AS0BVwEtAf8BHAE0ARwB/wEL Af8DcgH/AzcB/wMEAf8DkQH/A40B/wNrAf8BAgMBBAACIAGtAf8CIwG5Af8CJAGqAf8CIwGoAf8CNAF4
ARMBCwH/AwMB/wEmAU8BJgH/ASQBTAEkAf8BGgEvARoB/wECAwEEAAGTAZoBJgH/AZsBowEkAf8BowGr Af8CJQFLAf8CEQEhAf8DBAH/AwQB/wMEAf8CCwETAf8CKwGMAf8CMQFzAf8CIwFOAf8BFAIBARkEAAHI
AR0B/wGgAagBIQH/AaABqAEhAf8BnwGnASEB/wGUAZsBJwH/AWkBbQEyAf8BPwFBAR8B/wEXARgBDAH/ AQQBjAH/AdcBBAGWAf8ByQEEAYwB/wHGAQQBigH/AaMBBAF2Af8BbAEEAU0B/wEuAQQBIQH/AQUBBAEF
AwMB/wFfAWIBKwH/AVwBYAEoAf8BOQE7AR0B/wECAwEEAANxAf8DfgH/A3EB/wNwAf8DVAH/AzsB/wMs Af8DBAH/AwQB/wEaAQQBEwH/AbMBBAGBAf8BmwEEAXAB/wFtAQQBTQH/ARQCAQEZBAABCgGBAbMB/wEK
Af8DCAH/AwMB/wMDAf8DIgH/A18B/wNQAf8DPAH/ARQCAQEZBAAB2AFmAT8B/wHbAXMBTwH/AdQBaQFD AYoBvwH/AQ4BgQGvAf8BDQGBAa0B/wEmAWABeAH/AR0BPgFLAf8BDgEbASEB/wMEAf8DBAH/AwQB/wEJ
Af8B1AFmAUAB/wGcAV0BRwH/AWMBPgEyAf8BKgEbARYB/wIEAQMB/wMDAf8DAwH/ARgBDwENAf8BuwFe ARABEwH/ARoBcAGOAf8BJAFcAXMB/wEbAT8BTgH/ARQCAQEZBAADvgH/A8cB/wO+Af8DvQH/A6QB/wN9
AT4B/wGVAVkBQwH/AWcBPgEwAf8BFAIBARkEAAEhAYcBIQH/ASMBkAEjAf8BIwGFASMB/wEjAYMBIwH/ Af8DRQH/AwkB/wMEAf8DBAH/Ay0B/wOvAf8DnwH/A34B/wEUAgEBGQELAgEBDQIiAbcB/wIkAcIB/wIm
AS0BXwEtAf8BIAE8ASAB/wEOARoBDgH/AwMB/wMDAf8DAwH/AQkBDwEJAf8BKAFxASgB/wErAVsBKwH/ Aa0B/wIjAagB/wIrAVkB/wIdATkB/wIHAQwB/wMEAf8DBAH/AwQB/wIiAUUB/wIiAaYB/wItAYMB/wIm
AR4BPgEeAf8BFAIBARkEAAGkAa0BHgH/AbABugEgAf8BogGqASEB/wGgAagBIQH/AXMBdwExAf8BSAFK AVgB/wEUAgEBGQELAgEBDQHUAQQBlAH/AeEBBAGdAf8BzgEEAY8B/wHGAQQBigH/AYABBAFaAf8BUgEE
ASMB/wEfASABEAH/AwMB/wMDAf8DAwH/AhIBCgH/AYYBjAEpAf8BbgFyAS8B/wFKAU0BIgH/ARQCAQEZ AToB/wEQAQQBDAH/AwQB/wMEAf8DBAH/AWMBBAFGAf8BwwEEAYgB/wGrAQQBewH/AXoBBAFWAf8BFAIB
AQsCAQENA3sB/wOHAf8DdQH/A3AB/wNCAf8DNAH/AxoB/wMDAf8DAwH/AwMB/wM5Af8DbAH/A1oB/wNA ARkBCwIBAQ0BCgGIAb0B/wEKAZAByAH/AQ8BggGyAf8BDQGBAa0B/wEhAUgBWAH/ARcBLwE5Af8BBgEK
Af8BFAIBARkBCwIBAQ0B2gFwAUsB/wHdAXwBWwH/AdUBbQFJAf8B1AFmAUAB/wF2AUoBOwH/AUoBLwEm AQwB/wMEAf8DBAH/AwQB/wEbATgBRAH/AQwBgAGrAf8BHQFpAYQB/wEcAUcBWAH/ARQCAQEZAQsCAQEN
Af8BDgEKAQgB/wMDAf8DAwH/AwMB/wFaATkBLgH/AdQBYgE7Af8BrwFcAT8B/wF0AUQBNAH/ARQCAQEZ A8UB/wPOAf8DwQH/A70B/wOJAf8DZgH/Ax8B/wMEAf8DBAH/AwQB/wN2Af8DugH/A6oB/wOEAf8BFAIB
AQsCAQENASIBjgEiAf8BJAGXASQB/wElAYcBJQH/ASMBgwEjAf8BJQFGASUB/wEYAS0BGAH/AQYBCQEG ARkBCwIBAQ0CIwG8Af8CJQHHAf8CJwGsAf8CIwGoAf8CJAGnAf8CJQGlAf8CFgErAf8DBAH/AwQB/wIF
Af8DAwH/AwMB/wMDAf8BHQE3AR0B/wEiAYEBIgH/ASgBagEoAf8BIQFFASEB/wEUAgEBGQELAgEBDQGu AQcB/wI0AXYB/wInAZkB/wIqAY0B/wInAVsB/wEUAgEBGQELAgEBDQHaAQQBmAH/AecBBAGhAf8BzgEE
AbcBHwH/AbkBwgEhAf8BpQGtASMB/wGgAagBIQH/AVUBWAEpAf8BNgE4ARsB/wILAQYB/wMDAf8DAwH/ AY8B/wHGAQQBigH/AcYBBAGKAf8BxQEEAYoB/wE8AQQBKwH/AwQB/wMEAf8BCAEEAQcB/wGhAQQBdAH/
AwMB/wFCAUQBIQH/AZ4BpgEfAf8BgQGDASoB/wFUAVcBJQH/ARQCAQEZAQsCAQENA4EB/wOMAf8DdQH/ AbsBBAGDAf8BswEEAYEB/wF+AQQBWQH/ARQCAQEZAQsCAQENAQoBjAHCAf8BCwGUAc0B/wEQAYEBsQH/
A3AB/wNuAf8DbgH/AzAB/wMDAf8DAwH/Aw8B/wNTAf8DZgH/A2AB/wNBAf8BFAIBARkBCwIBAQ0B3AF2 AQ0BgQGtAf8BDgGBAasB/wEPAYABqgH/AREBIwEqAf8DBAH/AwQB/wEFAQYBBwH/ASYBXgF1Af8BEwF4
AVIB/wHfAYEBYQH/AdQBbQFKAf8B1AFmAUAB/wHTAWYBQAH/AdIBZgFBAf8BNwEjARwB/wMDAf8DAwH/ AZ0B/wEYAXEBkAH/AR0BSQFbAf8BFAIBARkBCwIBAQ0DyQH/A9EB/wPBAf8DvQH/A7wB/wO8Af8DVAH/
AQcCBQH/AZkBXQFHAf8BygFfAToB/wG9AV0BPAH/AXgBRgE2Af8BFAIBARkBCwIBAQ0BIwGSASMB/wEl AwQB/wMEAf8DEAH/A6MB/wO1Af8DsAH/A4cB/wEUAgEBGQQAAiMBuwH/AiYBzgH/AiQBuQH/AigBngH/
AZsBJQH/ASUBhgElAf8BIwGDASMB/wEjAYIBIwH/ASQBgQEkAf8BEgEhARIB/wMDAf8DAwH/AQQBBQEE AioBmQH/AhoBMwH/AwQB/wIiAUQB/wIFAQcB/wIWASsB/wIlAaQB/wIjAagB/wItAYcB/wIoAVkB/wEJ
Af8BLQFdAS0B/wElAXsBJQH/AScBcgEnAf8BIgFIASIB/wEUAgEBGQELAgEBDQGzAbwBIAH/Ab0BxwEi AgEBCgQAAdkBBAGXAf8B7gEEAaYB/wHXAQQBlgH/AcIBBAGHAf8BvgEEAYUB/wFIAQQBMwH/AwQB/wFi
Af8BpAGsASQB/wGgAagBIQH/AZ8BpwEhAf8BngGmASIB/wEoASkBFAH/AwMB/wMDAf8CBgEEAf8BcQF1 AQQBRQH/AQkBBAEHAf8BPAEEASsB/wHFAQQBiQH/AcYBBAGKAf8BrwEEAX4B/wF+AQQBWQH/AQkCAQEK
ATIB/wGSAZkBJAH/AYgBjgEoAf8BVwFaASYB/wEUAgEBGQQAA4AB/wOWAf8DgAH/A2wB/wNoAf8DMwH/ BAABCgGLAcEB/wELAZkB1AH/AQsBiQG+Af8BFAF8AaIB/wEWAXkBnQH/ARQBKgEzAf8DBAH/ARoBOAFE
AwMB/wM5Af8DEQH/AzAB/wNtAf8DcAH/A10B/wNBAf8BCQIBAQoEAAHcAXUBUQH/AeEBhgFqAf8B2gF0 Af8BBQIHAf8BEQEjASoB/wEQAX8BqQH/AQ0BgQGtAf8BHAFsAYkB/wEeAUgBWQH/AQkCAQEKBAADyAH/
AVAB/wHMAWUBQgH/AckBYwFAAf8BQgEqASIB/wMDAf8BWgE4AS0B/wEHAQYBBQH/ATcBIwEcAf8B0QFm A9YB/wPIAf8DugH/A7cB/wNfAf8DBAH/A3UB/wMSAf8DVAH/A7sB/wO9Af8DrQH/A4cB/wEJAgEBCgQA
AUEB/wHUAWYBQAH/AbUBXQE/Af8BdgFHATcB/wEJAgEBCgQAASMBkgEjAf8BJgGgASYB/wEkAZABJAH/ AiIBtQH/AicB0QH/AiUByQH/AjABngH/AhoBMwH/AwQB/wIqAVYB/wIhAa4B/wIVASgB/wIrAVkB/wIh
ASYBfwEmAf8BJwF7AScB/wEWASgBFgH/AwMB/wEdATYBHQH/AQQBBQEEAf8BEgEhARIB/wEkAYEBJAH/ Aa0B/wIjAagB/wIuAYQB/wItAV4B/wgAAdIBBAGSAf8B8wEEAaoB/wHqAQQBowH/AckBBAGMAf8BSAEE
ASMBgwEjAf8BKAFuASgB/wEjAUcBIwH/AQkCAQEKBAABsgG7ASAB/wHEAc4BIwH/AbABuQEhAf8BlwGe ATMB/wMEAf8BfAEEAVgB/wHKAQQBjQH/ATkBBAEpAf8BgAEEAVoB/wHJAQQBjAH/AcYBBAGKAf8BrQEE
ASYB/wGTAZoBJwH/ATABMgEYAf8DAwH/AUEBQwEgAf8CBgEEAf8BKAEpARQB/wGdAaQBIwH/AaABqAEh AX0B/wGCAQQBXwH/CAABCgGHAbsB/wELAZwB2QH/AQsBlgHQAf8BHAF9AaEB/wEUASoBMwH/AwQB/wEh
Af8BggGHASoB/wFWAVkBJgH/AQkCAQEKBAADegH/A5sB/wOQAf8DcQH/AzMB/wMDAf8DQQH/A3IB/wMv AUYBVgH/AQoBggG0Af8BEQEhASgB/wEhAUgBWAH/AQsBgQGzAf8BDQGBAa0B/wEdAWsBhgH/ASMBTAFd
Af8DQgH/A3EB/wNwAf8DXAH/A0QB/wgAAdoBbgFJAf8B4gGKAXAB/wHfAYEBZQH/AcgBbgFPAf8BQgEq Af8IAAPEAf8D2QH/A9MB/wO+Af8DXwH/AwQB/wOGAf8DvwH/A1AB/wOJAf8DvgH/A70B/wOsAf8DjQH/
ASIB/wMDAf8BcgFIATkB/wHYAWgBQQH/ATQBIQEbAf8BdgFKATsB/wHXAWcBQQH/AdQBZgFAAf8BsQFd CAABMAIBAUoCJwHTAf8CJwHWAf8COwFmAf8DBAH/AisBWAH/AiIBqwH/AiUBpAH/AjQBawH/Ai4BiwH/
AUAB/wF8AU0BPgH/CAABIgGNASIB/wEnAaQBJwH/ASYBnQEmAf8BLAF/ASwB/wEWASgBFgH/AwMB/wEk AiMBqAH/AiMBqAH/AiwBigH/ATACAQFKCAABMAIBAUoB9AEEAaoB/wH4AQQBrQH/AZgBBAFuAf8BBQEE
AUQBJAH/ASEBiAEhAf8BEgEgARIB/wElAUYBJQH/ASEBhwEhAf8BIwGDASMB/wEpAWsBKQH/AScBSgEn AQUB/wF/AQQBWgH/AcgBBAGMAf8BxQEEAYkB/wGWAQQBbQH/AbQBBAGBAf8BxgEEAYoB/wHGAQQBigH/
Af8IAAGsAbUBHwH/AcgB0gEjAf8BwAHKASIB/wGYAZ4BLQH/ATABMgEYAf8DAwH/AVMBVQEoAf8BpgGv AbEBBAGAAf8BMAIBAUoIAAEwAgEBSgELAZ0B2QH/AQsBnwHdAf8BMAFVAWMB/wMEAf8BIQFIAVgB/wEM
AR4B/wEmAScBEwH/AVUBWAEpAf8BpQGtAR8B/wGgAagBIQH/AYEBhAErAf8BWgFcASwB/wgAATACAQFK AYEBsQH/ARABfwGpAf8BKAFXAWoB/wEdAW8BjAH/AQ0BgQGtAf8BDQGBAa0B/wEbAW4BjAH/ATACAQFK
A54B/wOiAf8DTwH/AwgB/wNCAf8DcQH/A20B/wNOAf8DYQH/A3AB/wNwAf8DXgH/ATACAQFKCAABMQIB CAABMAIBAUoD2gH/A9wB/wOdAf8DCQH/A4gB/wO+Af8DuwH/A5wB/wOxAf8DvQH/A70B/wOuAf8BMAIB
AUoB4gGLAXEB/wHjAY8BdQH/AYQBXgFQAf8CBAEDAf8BdQFJATsB/wHWAWcBQQH/AdEBZgFBAf8BiwFZ AUoMAAFVAQYBIQHKAikB2gH/Aj0BlgH/Aj0BdQH/AicBtgH/AioBqAH/AigBqAH/AiMBqAH/AiMBqAH/
AUcB/wG6AWABQgH/AdQBZgFAAf8B1AFmAUAB/wG5AV4BPwH/ATACAQFKCAABMAIBAUoBJwGkAScB/wEo AiMBqAH/AiMBqAH/AUoBFQFCAegQAAFzAQMBGgHKAf4BBAGxAf8BzgEEAZAB/wGpAQQBegH/AdcBBAGW
AacBKAH/ATIBUQEyAf8DAwH/ASUBRgElAf8BIgGFASIB/wEkAYEBJAH/AS0BVQEtAf8BKgFwASoB/wEj Af8BzQEEAY8B/wHLAQQBjgH/AcYBBAGKAf8BxgEEAYoB/wHGAQQBigH/AcYBBAGKAf8BjAEEAT0B6BAA
AYMBIwH/ASMBgwEjAf8BKAFwASgB/wEwAgEBSggAATACAQFKAcgB0wEkAf8BzAHWASQB/wFiAWQBOQH/ AVIBGAEhAcoBCwGjAeIB/wErAXoBlgH/ATABYAF0Af8BDwGIAbsB/wEUAYEBrAH/ARIBgQGtAf8BDQGB
AwMB/wFVAVcBKQH/AaMBqwEfAf8BnQGkASMB/wFnAWoBMgH/AYUBiwEsAf8BoAGoASEB/wGgAagBIQH/ Aa0B/wENAYEBrQH/AQ0BgQGtAf8BDQGBAa0B/wFDATMBQgHoEAABcAIhAcoD3wH/A8EB/wOpAf8DyAH/
AYQBigEqAf8BMAIBAUoMAAFoAiMBygOoAf8DdQH/A1kB/wOAAf8DdQH/A3QB/wNwAf8DcAH/A3AB/wNw A8EB/wPAAf8DvQH/A70B/wO9Af8DvQH/AYQCVQHoFAABVAEGASAByQInAdYB/wInAdIB/wImAcwB/wIk
Af8BYAI2AegQAAF+ASEBGAHKAeQBlAF8Af8BvQF5AWEB/wGYAWUBUwH/AdcBdQFTAf8B0AFvAU0B/wHR Ab8B/wIkAbIB/wIlAakB/wIlAaMB/wIiAaMB/wFRAQ4BLQHbGAABdAEDARoByQH5AQQBrQH/AfQBBAGq
AWwBSQH/AdQBZgFAAf8B1AFmAUAB/wHUAWYBQAH/AdQBZgFAAf8BlgE1ASIB6BAAAU8BJgEJAcoBKQGr Af8B7QEEAaUB/wHfAQQBmwH/AdEBBAGSAf8ByQEEAYwB/wHDAQQBiAH/AcEBBAGHAf8BewEEASgB2xgA
ASkB/wE2AXoBNgH/ATQBXQE0Af8BJgGOASYB/wEoAYMBKAH/ASYBhAEmAf8BIwGDASMB/wEjAYMBIwH/ AVIBFwEgAckBCwGfAd0B/wELAZwB2QH/AQsBmAHTAf8BCgGPAcYB/wEMAYUBuAH/AQ8BgQGvAf8BEAF+
ASMBgwEjAf8BIwGDASMB/wFDAT0BFwHoEAABdQEyAQkBygHRAdwBJQH/AZABlgE7Af8BcAF0ATsB/wGt AacB/wENAX4BqAH/AUsBIgEtAdsYAAFwAiAByQPcAf8D2QH/A9QB/wPMAf8DwwH/A74B/wO6Af8DuQH/
AbYBJAH/AaEBqAEnAf8BoQGpASUB/wGgAagBIQH/AaABqAEhAf8BoAGoASEB/wGgAagBIQH/AXgBTwEY AXsCNQHbHAABMAIBAUoCIwG/Af8CJAHDAf8CJQHIAf8CJAG/Af8CIgG1Af8CIwGjAf8BMAIBAUogAAEw
AegUAAFrAiUByQOiAf8DmwH/A5IB/wODAf8DeAH/A3EB/wNsAf8DagH/AWECKAHbGAABfgEgARkByQHj AgEBSgHdAQQBmgH/AeMBBAGeAf8B6AEEAaIB/wHfAQQBmwH/AdIBBAGSAf8BwQEEAYcB/wEwAgEBSiAA
AY8BdgH/AeIBiwFwAf8B4AGEAWgB/wHdAXoBWAH/AdgBbgFKAf8B1AFpAUQB/wHQAWQBPwH/AdMBYQE6 ATACAQFKAQoBjgHFAf8BCgGRAcoB/wELAZUBzgH/AQoBjwHGAf8BCgGHAbsB/wEOAX4BpwH/ATACAQFK
Af8BiwEnARgB2xgAAVEBJgEIAckBKAGnASgB/wEnAaQBJwH/ASYBnwEmAf8BJAGWASQB/wEjAYsBIwH/ IAABMAIBAUoDywH/A84B/wPRAf8DzAH/A8QB/wO5Af8BMAIBAUosAAELAgEBDQELAgEBDTgAAQsCAQEN
ASQBhAEkAf8BJAGBASQB/wEiAYEBIgH/AUsBMQEOAdsYAAF0ATEBCAHJAcwB1wEkAf8ByAHSASQB/wHC AQsCAQENOAABCwIBAQ0BCwIBAQ04AAELAgEBDQELAgEBDTQAAQQCAQEEARQCAQEZARQCAQEZARQCAQEZ
AcwBIwH/AbcBwAEhAf8BqgGzASEB/wGhAaoBIgH/AZsBowEiAf8BnAGkASAB/wF1AT0BDgHbHAABMAIB AQIDASwAAQQCAQEEARQCAQEZARQCAQEZARQCAQEZAQIDASwAAQQCAQEEARQCAQEZARQCAQEZARQCAQEZ
AUoDggH/A4cB/wOMAf8DgwH/A3oB/wNqAf8BMAIBAUogAAExAgEBSgHdAXkBVwH/Ad4BfgFdAf8B3wGB AQIDASwAAQQCAQEEARQCAQEZARQCAQEZARQCAQEZAQIDASQAATACAQFKA0EB/wM6Af8DOAH/AzcB/wM2
AWMB/wHdAXoBWAH/AdoBbgFJAf8B0gFhATsB/wEwAgEBSiAAATACAQFKASQBlQEkAf8BJQGZASUB/wEl Af8DNAH/ATACAQFKARQCAQEZHAABMAIBAUoBcAFKAT0B/wFfAToBLgH/AVcBNAEpAf8BVQEzASgB/wFQ
AZwBJQH/ASQBlgEkAf8BIgGNASIB/wEiAYEBIgH/ATACAQFKIAABMAIBAUoBtgG/ASAB/wG6AcQBIQH/ ATEBJgH/AUIBLQElAf8BMAIBAUoBFAIBARkcAAEwAgEBSgEnAUMBJwH/AR4BOQEeAf8BGgE1ARoB/wEa
Ab4ByAEiAf8BtwHAASEB/wGsAbUBHwH/AZsBowEhAf8BMAIBAUosAAELAgEBDQELAgEBDTgAAQsCAQEN ATMBGgH/ARkBMAEZAf8BGAEpARgB/wEwAgEBSgEUAgEBGRwAATACAQFKAVEBUwEsAf8BRQFHASEB/wE/
AQsCAQENOAABCwIBAQ0BCwIBAQ04AAELAgEBDQELAgEBDRwAAUIBTQE+BwABPgMAASgDAAFAAwABYAMA AUIBHQH/AT4BQAEcAf8BOwE9ARsB/wExATIBGwH/ATACAQFKARQCAQEZGAABWgImAecDSwH/A0sB/wNK
AQEBAAEBBgABAxYAA/+BAAH8AR8B/AEfAfwBHwH8AR8B8AEHAfABBwHwAQcB8AEHAeABAwHgAQMB4AED Af8DSQH/A0gB/wNFAf8DPwH/AzgB/wFVAg4B2wEUAgEBGRQAAXcBKAEgAecBhwFUAUIB/wGIAVQBQQH/
AeABAwHAAQEBwAEBAcABAQHAAQEBgAEBAYABAQGAAQEBgAEBAYABAAGAAQABgAEAAYABAAGAAQABgAEA AYYBUwFAAf8BhAFRAT8B/wGCAU8BPQH/AYABTAE6Af8BbwFCATQB/wFXATQBKAH/AVcCCgHbARQCAQEZ
AYABAAGAEQABgAEAAYABAAGAAQABgAEAAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBwAED FAABTAEoARcB5wEqAVQBKgH/ASkBVAEpAf8BKQFTASkB/wEoAVIBKAH/AScBUQEnAf8BJQFNASUB/wEh
AcABAwHAAQMBwAEDAeABBwHgAQcB4AEHAeABBwHwAQ8B8AEPAfABDwHwAQ8B/gF/Af4BfwH+AX8B/gF/ AUMBIQH/ARoBNQEaAf8BSwEKAQgB2wEUAgEBGRQAAWUBMQEXAecBZQFpAS4B/wFmAWkBLQH/AWUBaAEt
AfwBHwH8AR8B/AEfAfwBHwHwAQcB8AEHAfABBwHwAQcB4AEDAeABAwHgAQMB4AEDAcABAQHAAQEBwAEB Af8BYwFnASwB/wFhAWUBKwH/AV0BYQEpAf8BUQFUASQB/wE/AUIBHQH/AVEBDgEJAdsBFAIBARkQAAFe
AcABAQGAAQEBgAEBAYABAQGAAQEBgAEAAYABAAGAAQABgAEAAYABAAGAAQABgAEAAYARAAGAAQABgAEA AhoB3ANdAf8DYwH/A2gB/wNnAf8DZQH/A2UB/wNiAf8DXAH/A0sB/wM7Af8BVQIOAdsBFAIBARkMAAF2
AYABAAGgAQABgAEBAYABAQGAAQEBsAEBAYABAQGAAQEBgAEBAbABAQHAAQMBwAEDAcABAwHQAQMB4AEH AR8BGAHcAbABXwFCAf8BwgFfATwB/wHNAWABOgH/AcoBYAE7Af8ByQFfAToB/wHJAV8BOgH/AcEBXgE7
AeABBwHgAQcB/gEHAfABDwHwAQ8B8AEPAfABDwH+AX8B/gF/Af4BfwH+AX8B/AEfAfwBHwH8AR8B/AEf Af8BsQFdAUAB/wGHAVMBQQH/AWEBOgEtAf8BVwIKAdsBFAIBARkMAAFSAR8BDwHcASsBbAErAf8BJwF3
AfABBwHwAQcB8AEHAfABBwHgAQMB4AEDAeABAwHgAQMBwAEBAcABAQHAAQEBwAEBAYABAQGAAQEBgAEB AScB/wElAX4BJQH/ASYBfAEmAf8BJgF7ASYB/wEmAXsBJgH/AScBdQEnAf8BKQFsASkB/wEpAVQBKQH/
AYABAQGAAQABgAEAAYABAAGAAQABgAEAAYABAAGAAQABgBEAAYABAAGAAQABgAEAAYABAAGAAQEBgAEB AR0BOgEdAf8BSwEKAQgB2wEUAgEBGQwAAWcBKAEPAdwBgQGEAS0B/wGLAZIBKAH/AZQBnAEkAf8BkgGZ
AYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAcABAwHAAQMBwAEDAcABAwHgAQcB4AEHAeABBwHgAQcB8AEP ASUB/wGRAZgBJgH/AZEBmAEmAf8BigGQAScB/wGBAYQBKwH/AWUBaQEtAf8BRwFJASAB/wFRAQ4BCAHb
AfABDwHwAQ8B8AEPAf4BfwH+AX8B/gF/Af4BfwH8AR8B/AEfAfwBHwH8AR8B8AEHAfABBwHwAQcB8AEH ARQCAQEZCAABMAIBAUoDXwH/A2gB/wNxAf8DcQH/A3EB/wNxAf8DaQH/A2sB/wNiAf8DRgH/A0gB/wM6
AeABAwHgAQMB4AEDAeABAwHAAQEBwAEBAcABAQHAAQEBgAEBAYABAQGAAQEBgAEBAYABAAGAAQABgAEA Af8BMAIBAUoIAAEwAgEBSgG1AV8BQQH/AcsBYAE7Af8B1AFnAUEB/wHUAWcBQQH/AdQBZwFBAf8B1AFn
AYABAAGAAQABgAEAAYABAAGAEQABgAEAAYABAAGAAQABgAEAAYABAQGAAQEBgAEBAYABAQGAAQEBgAEB AUEB/wHPAWEBOwH/AdIBYgE8Af8BvgFfAT4B/wGAAU0BPAH/AYEBTwE9Af8BXwE5ASwB/wEwAgEBSggA
AYABAQGAAQEBwAEDAcABAwHAAQMBwAEDAeABBwHgAQcB4AEHAeABBwHwAQ8B8AEPAfABDwHwAQ8B/gF/ ATACAQFKASoBbwEqAf8BJQF9ASUB/wEkAYMBJAH/ASQBgwEkAf8BJAGDASQB/wEkAYMBJAH/ASQBgAEk
Af4BfwH+AX8B/gF/AfwBHwH8AR8B/AEfAfwBHwHwAQcB8AEHAfABBwHwAQcB4AEDAeABAwHgAQMB4AED Af8BIwGBASMB/wEoAXQBKAH/AScBTQEnAf8BJwFQAScB/wEdAToBHQH/ATACAQFKCAABMAIBAUoBggGI
AcABAQHAAQEBwAEBAcABAQGAAQEBgAEBAYABAQGAAQEBgAEAAYABAAGAAQABgAEAAYABAAGAAQABgAEA ASwB/wGTAZsBJQH/AaABqAEiAf8BoAGoASIB/wGgAagBIgH/AaABqAEiAf8BlwGfASMB/wGbAaMBIgH/
AYARAAGAAQABgAEAAYABAAGAAQABgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQHAAQMBwAED AYgBjgEpAf8BXQFgASoB/wFhAWQBKwH/AUUBSAEfAf8BMAIBAUoIAANoAf8DbgH/A3EB/wNxAf8DcQH/
AcABAwHAAQMB4AEHAeABBwHgAQcB4AEHAfABDwHwAQ8B8AEPAfABDwH+AX8B/gF/Af4BfwH+AX8L A28B/wNqAf8DUAH/AzkB/wMoAf8DBAH/A0gB/wNFAf8DNwH/AQIDAQQAAckBYwE/Af8BzwFnAUMB/wHX
AWUBPgH/AdQBZwFBAf8B1AFnAUEB/wHTAWcBQQH/AcoBZQFBAf8BjgFbAUkB/wFYATgBLQH/ASABFQES
Af8DBAH/AYEBTwE+Af8BgAFMAToB/wFPATMBKgH/AQIDAQQAAScBfQEnAf8BJgGBASYB/wEhAYUBIQH/
ASQBgwEkAf8BJAGDASQB/wEkAYIBJAH/ASgBfgEoAf8BLgFYAS4B/wEdATUBHQH/AQwBFAEMAf8DBAH/
AScBUAEnAf8BJQFNASUB/wEbATABGwH/AQIDAQQAAZMBmgEnAf8BmwGjASUB/wGjAasBHgH/AaABqAEi
Af8BoAGoASIB/wGfAacBIgH/AZQBmwEoAf8BagFuATMB/wFAAUIBIAH/ARgBGQENAf8DBAH/AWABYwEs
Af8BXQFhASkB/wE6ATwBHgH/AQIDAQQAA3IB/wN/Af8DcgH/A3EB/wNVAf8DPAH/Ay0B/wMJAf8DBAH/
AwQB/wMjAf8DYAH/A1EB/wM9Af8BFAIBARkEAAHYAWcBQAH/AdsBdAFQAf8B1AFqAUQB/wHUAWcBQQH/
AZwBXgFIAf8BZAE/ATMB/wErARwBFwH/AgUBBAH/AwQB/wMEAf8BGQEQAQ4B/wG7AV8BPwH/AZUBWgFE
Af8BaAE/ATEB/wEUAgEBGQQAASIBhwEiAf8BJAGQASQB/wEkAYUBJAH/ASQBgwEkAf8BLgFgAS4B/wEh
AT0BIQH/AQ8BGwEPAf8DBAH/AwQB/wMEAf8BCgEQAQoB/wEpAXIBKQH/ASwBXAEsAf8BHwE/AR8B/wEU
AgEBGQQAAaQBrQEfAf8BsAG6ASEB/wGiAaoBIgH/AaABqAEiAf8BdAF4ATIB/wFJAUsBJAH/ASABIQER
Af8DBAH/AwQB/wMEAf8CEwELAf8BhgGMASoB/wFvAXMBMAH/AUsBTgEjAf8BFAIBARkBCwIBAQ0DfAH/
A4cB/wN2Af8DcQH/A0MB/wM1Af8DGwH/AwQB/wMEAf8DBAH/AzoB/wNtAf8DWwH/A0EB/wEUAgEBGQEL
AgEBDQHaAXEBTAH/Ad0BfQFcAf8B1QFuAUoB/wHUAWcBQQH/AXcBSwE8Af8BSwEwAScB/wEPAQsBCQH/
AwQB/wMEAf8DBAH/AVsBOgEvAf8B1AFjATwB/wGvAV0BQAH/AXUBRQE1Af8BFAIBARkBCwIBAQ0BIwGO
ASMB/wElAZcBJQH/ASYBhwEmAf8BJAGDASQB/wEmAUcBJgH/ARkBLgEZAf8BBwEKAQcB/wMEAf8DBAH/
AwQB/wEeATgBHgH/ASMBgQEjAf8BKQFrASkB/wEiAUYBIgH/ARQCAQEZAQsCAQENAa4BtwEgAf8BuQHC
ASIB/wGlAa0BJAH/AaABqAEiAf8BVgFZASoB/wE3ATkBHAH/AgwBBwH/AwQB/wMEAf8DBAH/AUMBRQEi
Af8BngGmASAB/wGBAYMBKwH/AVUBWAEmAf8BFAIBARkBCwIBAQ0DgQH/A4wB/wN2Af8DcQH/A28B/wNv
Af8DMQH/AwQB/wMEAf8DEAH/A1QB/wNnAf8DYQH/A0IB/wEUAgEBGQELAgEBDQHcAXcBUwH/Ad8BgQFi
Af8B1AFuAUsB/wHUAWcBQQH/AdMBZwFBAf8B0gFnAUIB/wE4ASQBHQH/AwQB/wMEAf8BCAIGAf8BmQFe
AUgB/wHKAWABOwH/Ab0BXgE9Af8BeQFHATcB/wEUAgEBGQELAgEBDQEkAZIBJAH/ASYBmwEmAf8BJgGG
ASYB/wEkAYMBJAH/ASQBggEkAf8BJQGBASUB/wETASIBEwH/AwQB/wMEAf8BBQEGAQUB/wEuAV4BLgH/
ASYBfAEmAf8BKAFzASgB/wEjAUkBIwH/ARQCAQEZAQsCAQENAbMBvAEhAf8BvQHHASMB/wGkAawBJQH/
AaABqAEiAf8BnwGnASIB/wGeAaYBIwH/ASkBKgEVAf8DBAH/AwQB/wIHAQUB/wFyAXYBMwH/AZIBmQEl
Af8BiAGOASkB/wFYAVsBJwH/ARQCAQEZBAADgQH/A5YB/wOBAf8DbQH/A2kB/wM0Af8DBAH/AzoB/wMS
Af8DMQH/A24B/wNxAf8DXgH/A0IB/wEJAgEBCgQAAdwBdgFSAf8B4QGGAWsB/wHaAXUBUQH/AcwBZgFD
Af8ByQFkAUEB/wFDASsBIwH/AwQB/wFbATkBLgH/AQgBBwEGAf8BOAEkAR0B/wHRAWcBQgH/AdQBZwFB
Af8BtQFeAUAB/wF3AUgBOAH/AQkCAQEKBAABJAGSASQB/wEnAaABJwH/ASUBkAElAf8BJwGAAScB/wEo
AXwBKAH/ARcBKQEXAf8DBAH/AR4BNwEeAf8BBQEGAQUB/wETASIBEwH/ASUBgQElAf8BJAGDASQB/wEp
AW8BKQH/ASQBSAEkAf8BCQIBAQoEAAGyAbsBIQH/AcQBzgEkAf8BsAG5ASIB/wGXAZ4BJwH/AZMBmgEo
Af8BMQEzARkB/wMEAf8BQgFEASEB/wIHAQUB/wEpASoBFQH/AZ0BpAEkAf8BoAGoASIB/wGCAYcBKwH/
AVcBWgEnAf8BCQIBAQoEAAN7Af8DmwH/A5AB/wNyAf8DNAH/AwQB/wNCAf8DcwH/AzAB/wNDAf8DcgH/
A3EB/wNdAf8DRQH/CAAB2gFvAUoB/wHiAYoBcQH/Ad8BgQFmAf8ByAFvAVAB/wFDASsBIwH/AwQB/wFz
AUkBOgH/AdgBaQFCAf8BNQEiARwB/wF3AUsBPAH/AdcBaAFCAf8B1AFnAUEB/wGxAV4BQQH/AX0BTgE/
Af8IAAEjAY0BIwH/ASgBpAEoAf8BJwGdAScB/wEtAYABLQH/ARcBKQEXAf8DBAH/ASUBRQElAf8BIgGI
ASIB/wETASEBEwH/ASYBRwEmAf8BIgGHASIB/wEkAYMBJAH/ASoBbAEqAf8BKAFLASgB/wgAAawBtQEg
Af8ByAHSASQB/wHAAcoBIwH/AZgBngEuAf8BMQEzARkB/wMEAf8BVAFWASkB/wGmAa8BHwH/AScBKAEU
Af8BVgFZASoB/wGlAa0BIAH/AaABqAEiAf8BgQGEASwB/wFbAV0BLQH/CAABMAIBAUoDngH/A6IB/wNQ
Af8DCQH/A0MB/wNyAf8DbgH/A08B/wNiAf8DcQH/A3EB/wNfAf8BMAIBAUoIAAEwAgEBSgHiAYsBcgH/
AeMBjwF2Af8BhAFfAVEB/wIFAQQB/wF2AUoBPAH/AdYBaAFCAf8B0QFnAUIB/wGLAVoBSAH/AboBYQFD
Af8B1AFnAUEB/wHUAWcBQQH/AbkBXwFAAf8BMAIBAUoIAAEwAgEBSgEoAaQBKAH/ASkBpwEpAf8BMwFS
ATMB/wMEAf8BJgFHASYB/wEjAYUBIwH/ASUBgQElAf8BLgFWAS4B/wErAXEBKwH/ASQBgwEkAf8BJAGD
ASQB/wEpAXEBKQH/ATACAQFKCAABMAIBAUoByAHTASUB/wHMAdYBJQH/AWMBZQE6Af8DBAH/AVYBWAEq
Af8BowGrASAB/wGdAaQBJAH/AWgBawEzAf8BhQGLAS0B/wGgAagBIgH/AaABqAEiAf8BhAGKASsB/wEw
AgEBSgwAAWQCFwHKA6gB/wN2Af8DWgH/A4EB/wN2Af8DdQH/A3EB/wNxAf8DcQH/A3EB/wFgAiwB6BAA
AXMBFQEOAcoB5AGUAX0B/wG9AXoBYgH/AZgBZgFUAf8B1wF2AVQB/wHQAXABTgH/AdEBbQFKAf8B1AFn
AUEB/wHUAWcBQQH/AdQBZwFBAf8B1AFnAUEB/wGNASsBHQHoEAABVQEYAQYBygEqAasBKgH/ATcBewE3
Af8BNQFeATUB/wEnAY4BJwH/ASkBgwEpAf8BJwGEAScB/wEkAYMBJAH/ASQBgwEkAf8BJAGDASQB/wEk
AYMBJAH/AUoBMwEUAegQAAFtASEBBgHKAdEB3AEmAf8BkAGWATwB/wFxAXUBPAH/Aa0BtgElAf8BoQGo
ASgB/wGhAakBJgH/AaABqAEiAf8BoAGoASIB/wGgAagBIgH/AaABqAEiAf8BcwFCARUB6BQAAWYCFwHJ
A6IB/wObAf8DkgH/A4MB/wN5Af8DcgH/A20B/wNrAf8BYQIdAdsYAAFyARQBEQHJAeMBjwF3Af8B4gGL
AXEB/wHgAYQBaQH/Ad0BewFZAf8B2AFvAUsB/wHUAWoBRQH/AdABZQFAAf8B0wFiATsB/wGAAR0BEwHb
GAABVwEZAQYByQEpAacBKQH/ASgBpAEoAf8BJwGfAScB/wElAZYBJQH/ASQBiwEkAf8BJQGEASUB/wEl
AYEBJQH/ASMBgQEjAf8BUQEjAQoB2xgAAWwBIAEGAckBzAHXASUB/wHIAdIBJQH/AcIBzAEkAf8BtwHA
ASIB/wGqAbMBIgH/AaEBqgEjAf8BmwGjASMB/wGcAaQBIQH/AXABLQEKAdscAAEwAgEBSgOCAf8DhwH/
A4wB/wODAf8DewH/A2sB/wEwAgEBSiAAATACAQFKAd0BegFYAf8B3gF/AV4B/wHfAYEBZAH/Ad0BewFZ
Af8B2gFvAUoB/wHSAWIBPAH/ATACAQFKIAABMAIBAUoBJQGVASUB/wEmAZkBJgH/ASYBnAEmAf8BJQGW
ASUB/wEjAY0BIwH/ASMBgQEjAf8BMAIBAUogAAEwAgEBSgG2Ab8BIQH/AboBxAEiAf8BvgHIASMB/wG3
AcABIgH/AawBtQEgAf8BmwGjASIB/wEwAgEBSiwAAQsCAQENAQsCAQENOAABCwIBAQ0BCwIBAQ04AAEL
AgEBDQELAgEBDTgAAQsCAQENAQsCAQENHAABQgFNAT4HAAE+AwABKAMAAUADAAFgAwABAQEAAQEGAAED
FgAD/4EAAfwBHwH8AR8B/AEfAfwBHwHwAQcB8AEHAfABBwHwAQcB4AEDAeABAwHgAQMB4AEDAcABAQHA
AQEBwAEBAcABAQGAAQEBgAEBAYABAQGAAQEBgAEAAYABAAGAAQABgAEAAYABAAGAAQABgAEAAYARAAGA
AQABgAEAAYABAAGAAQABgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQHAAQMBwAEDAcABAwHA
AQMB4AEHAeABBwHgAQcB4AEHAfABDwHwAQ8B8AEPAfABDwH+AX8B/gF/Af4BfwH+AX8B/AEfAfwBHwH8
AR8B/AEfAfABBwHwAQcB8AEHAfABBwHgAQMB4AEDAeABAwHgAQMBwAEBAcABAQHAAQEBwAEBAYABAQGA
AQEBgAEBAYABAQGAAQABgAEAAYABAAGAAQABgAEAAYABAAGAAQABgBEAAYABAAGAAQABgAEAAaABAAGA
AQEBgAEBAYABAQGwAQEBgAEBAYABAQGAAQEBsAEBAcABAwHAAQMBwAEDAdABAwHgAQcB4AEHAeABBwH+
AQcB8AEPAfABDwHwAQ8B8AEPAf4BfwH+AX8B/gF/Af4BfwH8AR8B/AEfAfwBHwH8AR8B8AEHAfABBwHw
AQcB8AEHAeABAwHgAQMB4AEDAeABAwHAAQEBwAEBAcABAQHAAQEBgAEBAYABAQGAAQEBgAEBAYABAAGA
AQABgAEAAYABAAGAAQABgAEAAYABAAGAEQABgAEAAYABAAGAAQABgAEAAYABAQGAAQEBgAEBAYABAQGA
AQEBgAEBAYABAQGAAQEBwAEDAcABAwHAAQMBwAEDAeABBwHgAQcB4AEHAeABBwHwAQ8B8AEPAfABDwHw
AQ8B/gF/Af4BfwH+AX8B/gF/AfwBHwH8AR8B/AEfAfwBHwHwAQcB8AEHAfABBwHwAQcB4AEDAeABAwHg
AQMB4AEDAcABAQHAAQEBwAEBAcABAQGAAQEBgAEBAYABAQGAAQEBgAEAAYABAAGAAQABgAEAAYABAAGA
AQABgAEAAYARAAGAAQABgAEAAYABAAGAAQABgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQHA
AQMBwAEDAcABAwHAAQMB4AEHAeABBwHgAQcB4AEHAfABDwHwAQ8B8AEPAfABDwH+AX8B/gF/Af4BfwH+
AX8B/AEfAfwBHwH8AR8B/AEfAfABBwHwAQcB8AEHAfABBwHgAQMB4AEDAeABAwHgAQMBwAEBAcABAQHA
AQEBwAEBAYABAQGAAQEBgAEBAYABAQGAAQABgAEAAYABAAGAAQABgAEAAYABAAGAAQABgBEAAYABAAGA
AQABgAEAAYABAAGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAcABAwHAAQMBwAEDAcABAwHg
AQcB4AEHAeABBwHgAQcB8AEPAfABDwHwAQ8B8AEPAf4BfwH+AX8B/gF/Af4Bfws=
</value> </value>
</data> </data>
<metadata name="groupBox2.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="groupBox2.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
@ -643,9 +643,15 @@
<metadata name="anglecontrol.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="anglecontrol.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="taglabel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="taglabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="taglabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="label7.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="label7.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label7.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
@ -667,9 +673,66 @@
<metadata name="tabeffects.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="tabeffects.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="actiongroup.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="hexenpanel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="arg2.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="arg1.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="arg0.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="arg3.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="arg4.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="arg1label.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="arg0label.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="arg3label.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="arg2label.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="arg4label.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="action.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="browseaction.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="doompanel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="groupBox3.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="tag.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="newtag.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="tabcustom.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="tabcustom.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="fieldslist.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="cancel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="cancel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>