C# compiler error?

  • Thread starter Thread starter Andy
  • Start date Start date
A

Andy

Hi all,

Found something weird. If you have a code file for a windows form like
so, the resources are tied to SomeClass, not MyForm. If you move
SomeClass below the code for the form (but in the same file), the
complier links everything correctly.

namespace ResourceWeirdness {
public class SomeClass { }

public partial class MyForm : Form {
// Form code
}
}

Just wanted to warn people in case they come across this. The designer
won't work like this either.

Andy
 
Andy said:
Found something weird. If you have a code file for a windows form like
so, the resources are tied to SomeClass, not MyForm. If you move
SomeClass below the code for the form (but in the same file), the
complier links everything correctly.

namespace ResourceWeirdness {
public class SomeClass { }

public partial class MyForm : Form {
// Form code
}
}

Just wanted to warn people in case they come across this. The designer
won't work like this either.

I don't think is so much a compiler error as an IDE error. It sounds to
me like VS is doing the wrong thing. Do you have a complete example
which fails at the command line?

Note that having two classes like this in the same source file is
probably a bad idea anyway.
 
Andy,

That has been requirements of VS.NET since the begining (VS2002). there is a
KB article about this. The form or user control class has to be the first
type declared in the file. otherwise VS fails to handle corresponding resx
file. If you want to have more declaration in the file move them after the
declaration of the form or user control class.
 
Its definatly a compiler error, because my build script which uses
MsBuild generated an assembly with the same problem.

Just create a blank Windows solution and add the SomeClass definition
to the Form1.cs file. You'll also have to add a resource... so before
adding the SomeClass definition set the Forms Icon property using the
designer. You can then use .net Reflector to see that the resource is
for SomeClass and NOT the form.

Usually I wouldn't put code for another class in with the forms .cs
files, but in this case the other class was an EventArgs class I
created to use in conjunction with a custom event and delegate I added
to the form.

Andy
 
Andy said:
Its definatly a compiler error, because my build script which uses
MsBuild generated an assembly with the same problem.

So presumably that means you can give a short but complete program
which demonstrates the problem, right? There should be no need to
involve the IDE at all if it's just a compiler issue.
 
Test.csproj
---------------------------------

<Project DefaultTargets="Build"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == ''
">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{F856BCAE-421E-469A-B75F-E41E5BA7F160}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>WindowsControlLibrary1</RootNamespace>
<AssemblyName>WindowsControlLibrary1</AssemblyName>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' ==
'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' ==
'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Service Include="{94E38DFF-614B-4cbd-B67C-F211BB35CE8B}" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Form1.resx">
<SubType>Designer</SubType>
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the
targets below and uncomment it.
Other similar extension points exist, see
Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>


Form1.cs
--------------------------------
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsControlLibrary1 {
public class SomeClass {
}


public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
}

}

Form1.Designer.cs
------------------------------------------------
namespace WindowsControlLibrary1 {
partial class Form1 {
/// <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() {
System.ComponentModel.ComponentResourceManager resources =
new System.ComponentModel.ComponentResourceManager( typeof( Form1 ) );
this.SuspendLayout();
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF( 6F,
13F );
this.AutoScaleMode =
System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size( 292, 266 );
this.Icon = ( (System.Drawing.Icon)( resources.GetObject(
"$this.Icon" ) ) );
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout( false );

}

#endregion
}
}


Form1.resx
-------------------------------------
<?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>
<assembly alias="System.Drawing" name="System.Drawing,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing"
mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>

AAABAAkAMDAQAAEABABoBgAAlgAAACAgEAABAAQA6AIAAP4GAAAQEBAAAQAEACgBAADmCQAAMDAAAAEA

CACoDgAADgsAACAgAAABAAgAqAgAALYZAAAQEAAAAQAIAGgFAABeIgAAMDAAAAEAIACoJQAAxicAACAg

AAABACAAqBAAAG5NAAAQEAAAAQAgAGgEAAAWXgAAKAAAADAAAABgAAAAAQAEAAAAAACABAAAAAAAAAAA

AAAAAAAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA/wAA/wAAAP//AP8A

AAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcHBwcHBwcHBwcHcAAAAA

AAAAAAAAAAAId3d3d3d3d3d3d3eAAAAAAAAAAAAAAAB3d3d3d3d3d3d3d3dwAAAAAAAAAAAAAAB3AHAA

AAAAAAcAAAcAAAAAAAAAAAAAAAAHf//3Bw/3cA//8HcAAAAAAAAAAAAAAAdyWACPAA/4AA8HiAcAAAAA

AAAAAAAAAHdHPwYPB4iPcHgAfwd4AAAAAAAAAAAAB4c3TwEPd4cPcH9wf3cPgAAAAAAAAAAAeIdHPwZ/

B/gY9hhhf3cP/wAAAAAAAAAHh3c3f3ePePdn9393iGd//4AAAAAAAAAIeHdHf/+HeId3iH//h3d///gA

AAAAAACId4d3d3d3d3d3h4eHh4h///+AAAAAAAeHh3d3eHiIiIiIiIiIiHh/+Pj3AAAAAAiIiId3d3d3

d3d3d3d3d4f4+PiIAAAAAIiIh4eHeHiIiI//////////j4j/cAAAAIiIiIh4d4ePiIj///////j4iPj4

gAAACIiIiIiHh3h4iP+P//////iPj4+/iAAACI+IiIiIh4eIj4j4+P//+I+Pj4/4iAAACIeIiIiIiHd4

+PiPj4//j4+Pj4iIiAAAeHiIiIiIiIiPj4j4iPiPj4/4+IiLiAAAh3d3eIiIiIiPiI+I+I+Pj4+IiIiI

eIAAeHh4d3eIiI+PiPAAiPiP+IiIiHd3eHAAh4eHh4d3eH+IjwAAD4+IiIeHd4eHeHAAiHh4eHh4eH+P

gAAACIj4h3d3h3d4d4AAiIeIh4iIiIj48AAACPj4d4eHd4eHeHAAiIiIiIiIeIj4iAAACIj4eHd4eHd3

h4AAiIiIiIiIh4iPjwAAiPj4h3h3d3h3eHAAiIiIh4d35uiPiPiI+PiIiIeHeHeHh4AAiIh4eKhoaHiI

+I+Ij4+HeI2Ih3d3eAAAiLO6uoqGh3iI/4+P+PiId3h4iIh4eAAAC6urq3d4eIiIiPj4j4iIh4d3eNiH

hwAACLq7eoeHiHiIiIiI+P+IiHh4d3iIiAAACLurh4eIeIiI+P////+IiIeHeHd3gAAAAHt3h4h4iIiI

///////4iIh4d4d4gAAAAIh4eHiIiIiPj4//////iIiIh3h4AAAAAAiHiIeIiIj4////////+IiIiIeH

AAAAAAiIeIiIiIiPj///////j4iIeHiAAAAAAACIh4iIiI+P+P///////4+IiIiAAAAAAAAIiIiIiIj4

/////////4+IiIgAAAAAAAAAiIiIiPj/j/////////j4iIAAAAAAAAAACIiIiI+P//////////j4+AAA

AAAAAAAAAIiIj4+Pj/////////+PgAAAAAAAAAAAAAj4+Pj////////////wAAAAAAAAAAAAAAAI+Pj4

//////////gAAAAAAAAAAAAAAAAACP//////////iAAAAAAAAAAAAAAAAAAAAAiP//////iIAAAAAAAA

AAAAAAAAAAAAAAAACIiIgAAAAAAAAAAAAAD///////8AAP/4AAAP/wAA//AAAAf/AAD/8AAAB/8AAP/w

AAAH/wAA//AAAAf/AAD/4AAAB/8AAP/AAAAD/wAA/4AAAAH/AAD/AAAAAP8AAP4AAAAAfwAA/gAAAAA/

AAD8AAAAAB8AAPgAAAAADwAA+AAAAAAPAADwAAAAAAcAAPAAAAAABwAA4AAAAAADAADgAAAAAAMAAOAA

AAAAAwAAwAAAAAADAADAAAAAAAEAAMAAAcAAAQAAwAAD4AABAADAAAfgAAEAAMAAB+AAAQAAwAAD4AAB

AADAAAPAAAEAAMAAAAAAAQAAwAAAAAADAADAAAAAAAMAAOAAAAAAAwAA4AAAAAADAADgAAAAAAcAAPAA

AAAABwAA8AAAAAAPAAD4AAAAAA8AAPgAAAAAHwAA/AAAAAAfAAD+AAAAAD8AAP8AAAAAfwAA/4AAAAD/

AAD/wAAAAf8AAP/gAAAH/wAA//gAAA//AAD//gAAP/8AAP//gAD//wAA///4H///AAAoAAAAIAAAAEAA

AAABAAQAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICA

gADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAAAAd3d3d3d3d3cAAAAAAAAABwcHBwcHBw

cHcAAAAAAAAABwdwcHBwdwcAAAAAAAAAAAf4hwCIAPiHcAAAAAAAAAAHgHcHeHCAD3AAAAAAAAAAB4AI

CHB3gAhwgAAAAAAABweHeA8Hh4d4cIgAAAAAAId3iId4cIeIh3f3gAAAAAiHB3d3d3d3d3d3j4gAAAAI

h3d3cHd3d3d3d/j3AAAAiIiHd4iIiP////j4+IAAAIiIeHd4iP////j4j49wAACIiIiIeIiI+P+Pj/iI

iAAIiIiIiHj/j4j4+Pj4iIgACHeHiIiIiIj4j/j4iIeIAAiHeHeIj/AAD4iIeHd3iAAIeIeIeIiAAAj4

d3d4eHgACIiIiIiPgAAIiIeHh3eIAAiIiIeGiPgAj4iHh3eHeAAIiHd354iP+PiIiHiHd4gAAIurqHh4

iI+PiHeHiIh4AACLqHh4iIj4j4iHd3eIgAAAh7eHiIj////4iIh3eIAAAAiHiIiI+P///4iIh4gAAAAI

iIiIj4/////4iHiIAAAAAIh4iPj/////+IiIgAAAAAAIiIj4//////+PiAAAAAAAAIj4/4//////+IAA

AAAAAAAIiI//////+IgAAAAAAAAAAAiI////iIgAAAAAAAAAAAAAAIiIiIAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAA/gAB//wAAP/8AAD//AAA//wAAP/8AAB/+AAAP/AAAB/gAAAP4AAAD8AAAAfAAAAHwAAAA4AA

AAOAAAADgAeAA4AHgAOAB4ADgAMAA4AAAAPAAAADwAAAB8AAAAfgAAAP4AAAD/AAAB/4AAA//AAAf/4A

AP//gAP///Af//////8oAAAAEAAAACAAAAABAAQAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

gAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAA

AAAAAAAAAAAIeIgAAAAACHiIj4gAAAB4iIj//4AACId4iP/4iAAIeHeIiPiIAIiIeID4iIiAd3eIAAiI

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

GhkZGRkaGR8fHx4PGgAAAAAAAAAAAAAaBxoaGRkZFxYYGhkbGhoaGxobGhobGxsbGxsbGxsbGh4fHh4e

HhkAAAAAAAAAAAAcGxoaGhkZCBkICAgIGBgYGBgYGRkZGRkZGRkZGRkaHB8eHh0dHQcAAAAAAAAAABod

GxsbGhoaGRkZGRkbHRwHHB0dHh4PDw8PDw8PDw8fHh4dHR0dHU8aAAAAAAAAABwHBwcHGxsaGhkZGRkZ

Bx0HBx0dHg8PDw8PDw8PDx8eHh0dHR1HT08dAAAAAAAAGh4HBxsHBwcaGxoZGRkZGh0dGx0eHx4fDw8P

Dw8PHx4eHR0dP0dPT09PGgAAAAAAG9f37xwHBwcHGxsaGRkZGRscHh0dHR4eHx8PDw8fHR0dHR4/H08f

T08fGgAAAAAAGxkaBxzvHRwHBxsHGhoZGQcdHR4dHR0dHR0eDx4eHR4dHh4eTx9PT09PHAAAAAAZGhoZ

GhoaG/fvHRwHBxsaBx0eHR0cHB0dHR4cHh4d7x7vHh4eHj8eNxwHGwAAAAAaGRkZGRkaGRoaB+/vHQcH

HR4dHB0dHR0dHB0eHB0f5x4e7z83HAcbGhkZGhkAAAAaGRkZGRkZGRkZGRkaHO8cHh0cHR0AAAAdHR2n

HR3fHu//BxsaGRkZGBkYGhoAAAAaGhkZGRkZGRkZGRkZGRodHh0dpwAAAAAAHRwdHhwcGxoZGRkZGBkY

GRkZGRoAAAAbGhoaGhkaGRkZGRkZGRodHhwdAAAAAAAAHB0dHh0ZGRkZGBkZGBkZGRgZGRkAAAAbGhoa

GhsaGxobGxsbGgcdHh0dAAAAAAAAHB0dHRwZGRgZGRgZGRgZGBkZGRoAAAAHBxsHGxsHGwcbBxsHBxun

Hh0dBwAAAAAABx0dHh0ZGBkZGRkYGRkYGRkYGRkAAAAHHAcHBwcHBwcHGxuuGaUcHh0dHQAAAAAcHR0d

pxwaGRgYGBkZGRgZGRgZGRoAAAAHxwcHBxsbGxp2GYWSpZIbHR4dHR0cHB0dHB0eHRv3BxsaGRgYGRkY

GRkZGhoAAAAaHBtmGmZdbmUYfReSGRkaHB6nHR0dHR0dHR4dHBkYGe4H7hsZGBgZGRgZGQAAAAAaXl1d

VFxlUnV1gnYZGRkaGxweHh4dHR4dHh2vGxoZGBgZGhv3BxoZGBkYGgAAAAAAVVNTU1NcZWUYGRkZGhob

GwccHR0eHqceHRwcBxsaGhkYGBgZGu4cGxoZGgAAAAAAZlNTU1xcZRhuGRoaGhsbHBwcHBwcHBwdHR8f

HAcbGhoZGRkYGBgZ9vfvGwAAAAAAGlRTU1xdGBkZGhoaGxsHHKcdHh8eHx8fDx8fHhwcGxoaGhkZGRkZ

CAgbAAAAAAAAAFVcXRkZGRoaGhsbGwccHB0eHh8fHx8PDw8PHx0cHAcaGhoZGRkYGRkaAAAAAAAAABsa

GRkaGhoaGxsbBxwcHR0eHh8fHw8PDw8PDx4dHQcHGxoaGRkZGRoAAAAAAAAAAAAHGhoaGhobGxsbBxwd

HR0eHh8fDw8PDw8PDx8dHRwHBxsaGhoZGhoAAAAAAAAAAAAHGxoaGxsbGxscHBwdHR4eHx8PDw8PDw8P

Dw8eHh0cBwcbGxoaBwAAAAAAAAAAAAAAGxsaGxsbGwccHB0dHR4eHh8PDw8PDw8PDw8PHR0dHBwbGxoH

GwAAAAAAAAAAAAAAABwbGxsbBxwcHR0dHR4eHx8PDw8PDw8PDw8PHx4dHRwcGxwHAAAAAAAAAAAAAAAA

AAAcBxsHHBwcHR0dHh4eHx8PDw8PDw8PDw8PHx4dHR0cHRwAAAAAAAAAAAAAAAAAAAAAHBwcHBxfHR0d

Hh4fHx8PDw8PDw8PDw8PDx8eHR0eHAAAAAAAAAAAAAAAAAAAAAAAABwdHB0dHR0eHh4fHw8PDw8PDw8P

Dw8PDx8fHh8HAAAAAAAAAAAAAAAAAAAAAAAAAAAcHR0dHR0eHh4fHw8PDw8PDw8PDw8PDw8PHgAAAAAA

AAAAAAAAAAAAAAAAAAAAAAAAABweHh0eHh8fHw8PDw8PDw8PDw8PDw8cAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAHR4fHx8fHw8PDw8PDw8PDw8fHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd

HR4fDw8PDw8PDw8eHRwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHBwcHB0cAAAA

AAAAAAAAAAAAAAAAAAAAAAAA////////AAD/+AAAD/8AAP/wAAAH/wAA//AAAAf/AAD/8AAAB/8AAP/w

AAAH/wAA/+AAAAf/AAD/wAAAA/8AAP+AAAAB/wAA/wAAAAD/AAD+AAAAAH8AAP4AAAAAPwAA/AAAAAAf

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

Gv8cHBwdHhwdHR0dHB3nHvcdHBsaGRobAAAAGxkZGRkYGBoaHR0dAAAAAB0dHRwHGhkZGBgYGhsAAAAb

GhoaGhoaGRocHh0AAAAAHR0cGRgYGRgZGRkZGwAAABsbGxsbBxsHGwfPHQAAAAAcHRwYGRgZGBkYGRob

AAAABxwHBwcbGqUZrh0eHAAAHB0dHBoaGRkYGRkZGhsAAAAdG2YaZXaKGJIaHB0eHR4dHRwaGhobGhoZ

GBgaGwAAAABeU1xbZRh2GhobHB0dHR0dHBoZGRn2GhoaGhocAAAAABpTXGUZGRoaBwccHB0cHR4eHBsZ

GQgZGfYHGgAAAAAAHV0ZGRoaGxsHHR4eHx8fHx8dHBsaGRkYGBsHAAAAAAAAGxkaGhsbBxwdHR8fHw8f

Dx4dHBsaGhkaGgAAAAAAAAAcGxobGwccHR0eHx8PDw8PHx4cHAcaGhsHAAAAAAAAAAAbGxsbHB0dHh4f

Dw8PDw8PHx0dBwcHGwAAAAAAAAAAAAAHBwcdHR0eHg8PDw8PDw8PHh0dHRsAAAAAAAAAAAAAAAAcHBwd

HR4fHw8PDw8PDw8fHxwbAAAAAAAAAAAAAAAAAAAdBx0eHh8PDw8PDw8PDx4HBwAAAAAAAAAAAAAAAAAA

AAAAHAcdHh4PDw8eHh0bGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdBxsbGwcdAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAB//wAAP/8AAD//AgA//wAAP/8AAB/+AAAP/AA

AB/gAAAP4AAAD8AAAAfAAAAHwAAAA4AAAAOAAAADgAeAA4AHgAOAB4ADgAMAA4AAAAPAAAADwAAAB8AA

AAfgAAAP4AAAD/AAAB/4AAA//AAAf/4AAP//gAP///Af//////8oAAAAEAAAACAAAAABAAgAAAAAAAAB

AAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAMDAwACAgIAAAAD/AAD/

AAAA//8A/wAAAP8A/wD//wAA////AAgICAAXFxcAJycnADc3NwBHR0cAV1dXAGdnZwB3d3cAh4eHAJeX

lwCnp6cAt7e3AMfHxwDX19cA5+fnAPf39wAAAEwAAAB/AAAAsgAAAOUAGRn/AExM/gB/f/8AsrL/AAAQ

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

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpRzExMeGJiYn/XV1d/1tb

W/9bW1v/XFxc/15eXv9fX1//X19f/19fX/9fX1//X19f/1xcXP9eXl7/X19f/19fX/9eXl7/W1tb/1tb

W/9cXFz/X19f/19fX/9fX1//iYmJ/3Z2dvoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKCgoVi4u

Lt1xcXH+NjY2+kVFRftMTEz9RkZG/jQ0NP83Nzf/Ozs7/zw7O/88PDz/Ozs7/0JCQv89PT3/Ozs7/zs7

O/9AQED/TExM/1BQUP9CQkL+LCws/DMzM/o2Njb5cXFx/ktLS/cAAAAEAAAAAQAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

AAIAAAAKIyMjYywsLONra2v8RUVF/f7+/v/6+vr/+vr6/+Li4v8wMDD/Hx8f/xsbG/8fHx//z8/P//n5

+f9+fn7/GBgY/xkZGf8ZGRn//v7+//r6+v/6+vr/yMjI/yUlJf4YGBj7a2tr/DAwMPYAAAAVAAAABwAA

AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAwAAAA4AAAAkHx8flTY2NvRkZ2X+SEpJ/+np6f8bGxv/IyMj/9XV1f/s7Oz/FRUV/yMj

I/8XFxf/8/Pz//f39//Gxsb/GRkZ/xoaGv8bGxv/6enp/yEhIf9LS0v/7u7u/8XFxf8aGhr/Z2dn/iMj

I/oAAABNAAAAGwAAAAoAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAAAAAAAAAEAAAADwAAADE3NTSFeXZ160ZFRf9pbWv/R05L/+fn5/8bGxv/HR0d/x4e

Hv/8/Pz/ODg4/zk5Of+enp7/vb29/729vf/j4+P/SUlJ/ycnJ/8oKCj/6Ojo/ycnJ/8mJib/W1tb//b2

9v8+Pj7/cHBw/zExMf+lpKTLFRUVaQAAACQAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAPAAAANUtLSpWurKrvgoKC/0RDRP9ub2//TVNR/+jo

6P8lJCT/JiYm/yoqKv/39/f/Xl5e/19fX//e3t7/l5eX/zU1Nf/19fX/iIiI/zY2Nv84ODj/6enp/zU1

Nf8zMzP/NDQ0//j4+P9lZWX/eHh4/zc3N///////z87L2ysrKnoAAAAlAAAACwAAAAIAAAAAAAAAAAAA

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAA0AAAA0V1VUnKysqfSen5//enp6/0RE

RP90c3P/UlVU/+jp6P8vMC//MTEx/1FRUf/7+/v/UVFR/4yMjP/5+fn/l5eX/z8/P//Y2Nj/5eXl/0ND

Q/9FRUX/6urq/0ZGRv9DQ0P/gICA//Pz8/9cXFz/gICA/zs7O////////////+fl4+YwLy17AAAAIQAA

AAkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAACgAAAClNS0uVqKal85eX

lv+Xl5j/eXl5/0ZGRv+FhYX/amlq//T09P+HiYj/m5ub/87Ozv/r6+v/R0dH/9LS0v/o6Oj/dnZ2/1NT

U/99fX3/+Pj4/3h4eP95eXn/9fX1/46Ojv+CgoL/wsLC/8/Pz/9XV1f/kpKS/1ZWVv//////////////

///e3NnjIiIhbwAAABsAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAGzY2

Nn6sq6nwmJeX/5KSkv+UlJT/fn5+/0FBQf+Wlpb/fHx8//b29v/s7Oz/7+/v/+Hh4f+Kior/a2tr/9DQ

0P/f39//enp6/3d3d/92dnb/5eXl/7a2tv+cnJz/8/Pz/+3t7f/u7u7/2dnZ/42Njf97e3v/pKSk/3Z2

dv///////v7+//r6/P//////vLm21Q0ODlkAAAASAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

AAIAAAAQExMSWKCenN6pqan/mpqa/5eXl/+SkpL/j4+P/11dXf+hoaH/ioqK/4uLi/+ZmZn/lpaW/4WF

hf+Dg4P/iYmJ/46Ojv+Tk5P/j4+P/5KSkv+UlJT/l5eX/5+fn/+cnJz/pKSk/6ampv+hoaH/mJiY/5eX

l/+ampr/sLCw/4+Pj//4+Pj/+fn5//Hx8//u7e7//vr6/oyJiLwAAAA3AAAACwAAAAEAAAAAAAAAAAAA

AAAAAAAAAAAAAAAAAAgAAAAufn16tsC+vf+lpaf/o6Oj/56env+Xl5f/j4+P/3R0dP9hYWH/jY2N/5yc

nP+ioqL/rKys/6ioqP+mpqb/qKio/6qqqv+rq6v/rq6u/7CwsP+ysrL/s7Oz/7W1tf+1tbX/tLS0/7S0

tP+0tLT/tbW1/7W1tf+1tbX/tra2/6Ojo//x8fH/8fHx/+zs6//k5eX/4+Pk/+7l4/tKR0WLAAAAGwAA

AAQAAAAAAAAAAAAAAAAAAAAAAAAAAgAAABI3NTV5yMjG9LW0tf+vr6//qqqq/6Wlpf+goKD/mJiY/4iI

iP+RkZH/g4OD/319ff98fHz/hoaG/4yMjP+Dg4P/jIyM/4iIiP+Kior/jY2N/4+Pj/+SkpL/lZWV/5eX

l/+ZmZn/mZmZ/5mZmf+ZmZn/mZmZ/5mZmf+ZmZn/oKCg/8zMzP/w8PD/6enp/+Pj4//d3Nz/1tXV/97f

3/+1tbPeDQsLTwAAAAsAAAABAAAAAAAAAAAAAAAAAAAABwAAADCYlZTE0dLP/7q6u/+2tbX/srKy/6+v

r/+oqKj/oaGh/5qamv+SkpL/lJSU/5ubm/+fn5//qKio/9vb2//Kysr/urq6/8fGxv/S0tL/3Nzc/+Xl

5f/x8fH//Pz8///////////////////////////////////////+/v7/9vb2/+/v7//n5+f/39/f/9rY

2P/T1dT/zdfX/8nk5v/T////W15dmgAAABsAAAAEAAAAAAAAAAAAAAABAAAADjAxLm/Hy8P4vsK9/8LC

wv/BwMH/u7u7/7a2tv+xsbH/q6ur/6SkpP+bm5v/kpKS/5SUlP+bm5v/nJyc/7u7u//e3t7/vLy8/8LC

w//R0tL/3d3e/+np6f/39/f///////////////////////////////////////7+/v/09PT/7Ozs/+Tk

4//c29v/1dbX/9HV1//L3eL/xevx/77///++////pNPS3g4KCkcAAAAIAAAAAAAAAAAAAAADAAAAIYh9

i67tzuz/wrvG/7q9uP+8vrv/wMLA/8DAwP+7u7v/tLS0/6+vr/+oqKj/np6e/5SUlP+UlJT/mpqa/6Gh

of/U1NT/1dXV/76+vvzR0tL/7ezr7+3s6+/t7Ovv9PTy/v////////////////////////////////Pz

8//o6Oj/39/e/9jY2v/T1tj/z9rg/8zj8P/J8f//w////73///+1////wv39+ENKSIMAAAAPAAAAAQAA

AAAAAAAHERIRRbKqseDcwN7/2rzw/9q+7//MvdT/vr7B/7zAu/+9wLz/vL68/7q6uv+zs7P/qqqq/6Cg

oP+Wlpb/k5OT/5iYmP+xsbH/zczK19LQzKnHxMGSv7u3jL+7tovKx8KO4N/dle7u7bL+/f3l////////

///+/v7/8PHw/+Xk5P/c3Nz/1dba/9TW4P/T3O//0ub//9Hz///M/v//xv///8D///+4////wf///4Ga

mrkAAAAiAAAAAwAAAAAAAAALOTc2dLCyrvaip6L/rKqs/7yxxP/Tud//3b7r/9bA4//LwNH/wsDD/7zA

u/+7vrn/uLm4/7CvsP+kpKT/lpeX/5eXl/uqqKS9vLizi8nDwIvKyMSSx8O/lcTAvJXHwr+UycXAkb26

s4i7t7CR6Obk1P/////v7+7/4uLi/9rY3f/Y1OD/2tXu/9zc///c5f//2+///9b4///P/f//yf///8P/

//+7////uP///6fGxNwPCgpGAAAABgAAAAADBAMSY2Fgnq2srP6cnJ7/oKGf/6Cinv+hpKD/rKqt/8Gy

yf/UuuP/3MDr/9jC5f/MwtH/wMG+/7m8tv+ztLL/qaip/aqoprzDvbiF0MzIkcK/u5K1sKyRrqqlj62p

pJCvqqaPt7KtkcbDvZXIxL+PtrOsitTS0dXl4uf/3dTk/9/P7//l0v//6dj//+ff///j5v//3ev//9Pr

///L6P//wuL2/7ja5/+vzNT/pcDE/6+8vPc5ODduAAAACQAAAAALDAsefn58waCgn/+UlJP/lpaX/5qa

mv+cnJz/nJ6c/5ygmv+ho6D/squ0/8e0z//au+f/38Lv/9fF4v/Hw8v/uLa02ru4sorPzciQvbmzkK2o

o460raaPvriwkby4sJG9uLGQsKumkK+spY/FwbyUx8O9jbWxrZff0eXx8NX///HP///x0v//7NT//+LW

///W0/r/yczs/73F2/+xusf/pbG4/56nqf+ZnJ7/kpSW/6OkpP9TU1KMAAAACwAAAAAHBwYvk5KQ05qa

mv+RkZH/k5OT/5KSkv+SkpL/lJSU/5aWlv+Wlpb/lpmU/5mbl/+hoKH/sam2/8y11v/cvun6vbO5qcvI

wIvGwL2QrquljbStp5C0rqiOnZqYap6bmWmenZh0vbixkLCqpY+xraiOy8jDlb67s4fQwdLH99f//+jK

/P/awO3/yrnb/7uyyf+tqbj/oaGo/5mbnv+UlJb/kZGS/5GQkP+RkJD/j4+P/6Cfn/9ycXCkAAAAEwAA

AAASEhI/paSi3aCfoP+ampr/mpqa/5mZmf+YmJj/l5eX/5aWlv+UlJT/lJSU/5KSk/+Sk5L/kpSR/5KW

kf+hn5/ovbi1kdDNyJC6trKMr6mlj8rGwZFYV1dCHR4eAwAAAAAPEBEOm5uWdr+5tJOuqqWPwb24kczI

w4y7tbWnxbnM/LOquv+nnqr/nJif/5eTl/+SkpL/kJGQ/5CQkP+RkZD/kZGR/5KSkv+SkpL/kZGS/56e

nP94d3a0AAAAGgAAAAAVFRVIqqen46mpqf+kpKT/o6Oj/6Ojo/+jo6P/oqKi/6Kiov+hoaH/oKCg/56e

nv+enJz/nJyc/5mZmv+dnZnYwb63jM/Mx4+0sauMvrmyl4mIh3gAAAAIAAAAAAAAAAAAAAACRUVGJ6eh

oIu3s62UurWxjtDNyI+zsauamZiY8ZOSk/+RkZH/kJCQ/5GRkf+RkZH/kpKS/5KSkv+SkpL/kpKS/5KS

kv+SkpL/kpKS/5ubm/93dnW6AAAAHQAAAAAVFRVJra2t5LKysv+tra3/rKys/62trf+tra3/ra2t/62t

rf+tra//r6+v/7Cwr/+wsLD/sLGw/7Cxsf+pqafRwb26i87Lxo+1sayLx8K8mVlZWW0AAAAOAAAABAAA

AAIAAAAGExMUJZaSkYa+ubWVubWwjtLMyI6zsKqXk5KR7pCRkf+RkpH/kpKS/5KSkv+SkpL/kpKS/5KS

kv+SkpL/kpKS/5KSkv+SkpL/kpKS/5ubm/9+fHy8AAAAHQAAAAAUFBRCt7Ky4by6uv+2trb/uLi4/7i4

uP+5ubn/ubm5/7q6u/+7urr/vLu9/728vP++vbv/wL65/8W+s/+8s6bdvbq3j9HOyI67tbCKv7u1lI+L

i4YEBQYnAAAAEQAAAA4AAAATFxgZRI6JiYe4tK+Rv7m0jdTOyYyuq6SajZCK9JCRkP+SkpL/kpKS/5KS

kv+SkpL/kpKS/5KSkv+SkpL/kpKS/5KSkv+SkpL/kpKS/5ybm/94d3W4AAAAGQAAAAANDQ0zw7W52M7E

xv/Avr7/wsDB/8HBwf/CwMH/wcDB/8HAwP/AwL3/vMC4/7u+sP+7vKP/vriP/8qxdP/KpGXwt66jmdLQ

z47DvbmKuLOti767tZZnaWl3DA0NPQAAAC4lJSVLjouLh767tpW1sayLycXBj8rIwYuzqrGtq5+z/ZOS

k/+Lj4v/jY+L/5CRj/+SkpL/kpKS/5KSkv+SkpL/kpKS/5KSkv+SkpL/kZGR/56enP98e3qtAAAAEgAA

AAARExIftaKozd/Kz//Avb7/vr6+/7u+vf+1wLr/r8G0/6nCq/+jw6D/n8KQ/6LAev+oumP/tLJN/8Kp

Nv/LnzP9saCFucPCxIrQzceNurexhrm1r4zFwLyWp6WhkpmXlY21sa6Uwr24lLayrYu+ubaI1NDMkLm2

romnn6fRya3X/86v3v+6p8b/o5un/5KSkf+Kj4n/jZCL/5KSkf+TkpP/kpKS/5KSkv+SkpL/kZGR/6Gi

of9wb22YAAAACQAAAAAmJSQRlIeLssrMyv+iwrX/lsq0/4nPr/981KX/cdia/27aiv9v2Hf/dtNk/4LL

Uv+UwEX/pLRG/6ypUv+xoWj/qqCJ6qunppnQzMiLzsjEi725s4a7trGKvrq1kMO9uJC7uLGOuLSuiMC6

tofUz8uPxsG7iKeioKiTlJP4jo+N/5yXoP+4pcL/zK/a/8ut2P+2o8H/npih/46Qi/+Kj4n/kZGQ/5KS

kv+SkpL/kJCR/6Ojov9bW1l7AAAABQAAAAAEAwMGamRkh43twfxP7az/PfOq/y75o/8p+pb/LfiH/zjz

d/9J6Wf/YNxd/3bMW/+Nu2T/mq11/6Glh/+kpJj/qamk/6qopNeuqKWRzsnDi9TQy43Lx8KIxcK8h8O+

uofGwryHzsnFitTRy47BvbeJqqWhnq+urOilpaX/mJiY/4+Rjv+Kj4j/kpGS/6Sbqv+8qMb/y63a/8as

0/+voLb/l5OY/42Piv+OkIv/jY6N/6Wkou47OzpVAAAAAgAAAAAAAAACNzU0VEX8s/EA/6j/AP+j/wD/

nv8A/5P/Dv+H/yr3ff9M5Hf/a814/4O6gP+Uq47/n6Sa/6Skov+qqqn/sbKy/7u7u/+1srLaqqainrq0

sIzKxcGLz8vGjM/Lxo3MycONwr65i7CuqI2yr6usxsbG68XGxv+1tbX/qKio/56env+Wlpf/kJGQ/4uP

iv+NkIv/lpOX/6mcr//Cqc//zK/d/76oy/+qm7P/mJac/5iYl84LCwkpAAAAAQAAAAAAAAABKhUdJUrZ

nM8A/6v/AP+i/wD/oP8A/5n/HPqR/0fgjv9uxZD/ibGU/5ilmv+go6D/p6en/6urrP+zs7P/urq6/8LC

wv/Nzc3/y8vL8by6uMyyr6qtsKumn66qpp2yr6qjwb66tNra2Nb////66evr/8/Pz//Dw8P/tra2/6ys

rP+hoaH/mpqa/5SUlP+RkpH/kJGP/46Qjf+Nj4r/mJaZ/7Chuf/JqOD/3770/4Z/hp4GBwYIAAAAAAAA

AAAAAAAABAAACFqGcIsD/7P/AP+i/wH/ov8q8Z//VtKb/3m5mv+RqJz/nqKg/6OkpP+oqaj/ra2t/7S0

tP+6urr/wMDA/8fHx//R0dH/29zc/+fn5//r6+v67Ovq8Ozr6vD09PL+/////P///////////Pz8/93d

3f/Pz8//w8PD/7i4uP+vr6//paWl/5+fn/+YmJj/k5OT/5KSkv+SkpL/kJGQ/4uPif+Kjor/vLS+8UlF

SFoAAAACAAAAAAAAAAAAAAAAAAAAATUrLj9N+7PpF/+i/07Xof90u5//jqqf/5qgn/+ioaL/qKWn/6ur

q/+wsLD/tLS0/7q6uv/AwMD/xsbG/83Nzf/V1dX/3t7e/+jo6P/29vb/////////////////////////

//////////////Hx8f/a2tr/z8/P/8PDw/+6urr/srKy/6urq/+jo6P/nJyc/5eXl/+SkpL/kpKS/5GR

kf+ampv/kJGLxA4PDRoAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAqFkIaehcyt/4Wom/+aoJ//oaCh/6Wj

pP+oqKj/rKys/7Gxsf+0tLT/ubm5/76+vv/ExMT/y8vL/9LS0v/a2tr/4+Pj/+vr6//09PT/////////

///////////////////////////////////l5eX/2NjY/87Ozv/Dw8P/u7u7/7Ozs/+srKz/paWl/5+f

n/+ampr/lpaW/5CQkf+qqqj4WlpZaAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3LTA9v7Cx456h

of+ioaL/qKen/6qqqv+srKz/sbGx/7W1tf+5ubn/vb29/8PDw//Jycn/z8/P/9bW1v/d3d3/5eXl/+3t

7f/29vb////////////////////////////////////////////29fb/39/f/9bW1v/MzMz/w8PD/7y8

vP+0tLT/ra2t/6ioqP+jo6P/mpqb/6Kiov+ZmJS6ERERGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAEjX2CgcO3uvylpaX/qqqq/62trf+xsbH/tLS0/7m5uf+9vb3/wsLC/8bGxv/Nzc3/09PT/9jY

2P/g4OD/6Ojo/+/v7//39/f/////////////////////////////////////////////////6+vr/93d

3f/U1NT/zMzM/8PDw/+8vLz/tLS0/7CwsP+pqan/oqOj/76+uupYWFRLAAAAAQAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAAAAAAAAAAICAgFqSam7S7uLn/q6ys/7Kysv+1tbX/ubm5/7y8vP/BwcH/xsbG/8vL

y//R0dH/1tbW/9zc3P/k5OT/6+vr//Hx8f/5+fn/////////////////////////////////////////

/////////Pj8/+Tk5P/b29v/1NTU/8zMzP/ExMT/vLy8/7a2tv+vr6//wcC/+Xh3dYQAAAADAAAAAAAA

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATMyMja8uLXWu7q6/7S0tP+6urr/vLy8/8DA

wP/FxcX/ycnJ/87Ozv/U1NT/2tra/9/f3//m5ub/7e3t//T09P/6+vr/////////////////////////

/////////////////////////////+/u8P/g4uD/2tra/9PT0//Ly8v/w8PD/7u7u//Lysr/oJ+cphIS

ERgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFXVFJJxcG+2sC+

wP+7u7v/wMDA/8TExP/Hx8f/zc3N/9LS0v/X19f/3Nzc/+Li4v/p6en/7+/v//b29v/6+vr/////////

//////////////////////////////////////////////76///o6Oj/39/f/9fX1//S0tL/x8nJ/9XV

1P+2s6+2Ojo5IwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAAABXFtaTMLAvtfKysn/wsLD/8fHx//MzMz/0dHR/9TU1P/a2tr/39/f/+Xl5f/p6en/8PDw//b2

9v/8/Pz//////////////////////////////////////////////////v/////+///18/b/5OXk/93d

3f/Y19f/4+Pg/7a1srVNTEsoAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAVFPT0K5uLfJ0dHS/8vMzP/Nzc3/09PT/9fX1//c3Nz/4uLi/+fn

5//s7Oz/8fHx//f39//+/v7////////////////////////////////////////////////////////+

////+P//7Ovs/+zs6//08PD/p6Sjo0ZFRSUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEuLS0lrq2qnNnY1fPb29r/1NTU/9ra

2v/e3t7/5OTk/+fn5//u7u7/8/Pz//j4+P//////////////////////////////////////////////

//////////////7+/v///////////+zr6OOAfnt5GxsbEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZWNjDGtq

aGDBv77O6Ojo/uLi4v/i4uL/5eXl/+jo6P/u7u7/9PT0//n5+f//////////////////////////////

///////////////////////////////////9/f3zvby7tGdmZkQAAAABAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

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

c//Pz8//PDw8/3Jycv/X19f/fn5+/ykpKf+jo6LYo6Oj1XR0dF4AAAASAAAAAwAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAba2tiOlpaTsg4OD/zo6Ov99fX3/39/f/93d3f/W1tb/TExM/2BgYP/BwcH/S0tL/05O

Tv/Hx8f/jo6O/9jY2P/d3d3/2dnZ/4eHh/+CgoL/Q0ND//////+ampnVo6OjyVxcXEUAAAANAAAAAgAA

AAAAAAAAAAAAAAAAAAAAAAAAtra2i7e4t/91dXX/Tk5O/4KCgv+CgoL/fHx8/35+fv+AgID/hISE/4KC

gv+Dg4P/iIiI/4aGhv+EhIT/goKC/4KCgv+CgoL/h4eH/4mJif9gYGD/9/j5//////+LiorQlpaWqQAA

AB0AAAAGAAAAAAAAAAAAAAAAAAAAALa2tku7u7r+q6yt/5ycm/9zc3P/ZGRk/1hYWP9ZWVn/Xl5e/15e

Xv9oaGj/X19f/2FhYf9sbGz/bm5u/25ubv9ubm7/bm5u/25ubv9ubm7/bm5u/7Cwsf/o6Of/5+fm/+rk

4v6dnJzXfX19bQAAABAAAAACAAAAAAAAAAAAAAAAtra2oMjIx/+wsLH/rq6u/6SkpP+Wlpb/kpKS/5aW

lf+0tLT/zs7O/8LCwv/Ly8v/3t/f//Dw8P/9/f3///////////////////////39/f/z8/P/5eXl/9za

2v/O09P/3fj4/5ympuCenp65AAAAHAAAAAUAAAAAAAAAALa2tjW+vL7/xMPF/8C/v/+6vLr/sbOy/6en

p/+ZmZn/kZGR/5iYmP/CwsL/ysrL/sfIyPXf397w7+/u8Pv7+vX////////////////9/fz/7e7t/+Dg

3v/V19n/ztng/8fr8P+7////yPv7/6ampuFxcXFVAAAACwAAAAAAAAAAtra2cMzBz//KuNf/yL7P/8XD

yP/BwcP/ubu5/6yuq/+cnZz/j4+P/6WkpPjIx8TVzcrHr8jGwqPKxsSl3dvXsezr6dj8+/v5/Pz7/+nq

6P/b2d3/1dXg/9Xf8P/S8v//zP///77////J////l52d25KSkowAAAARAAAAAQAAAAC2trakrrCv/66n

sv/Cscr/y7nV/86/1v/Mw9D/xcLG/7e3tv+foJ/6pqOgxcC7tofCvbqFurawjbq2sY20sKqGs62njtrY

1Mzo5un73tbm/+HS7//k3P//4ur//9fz/v/L8vj/verw/7bl6f+bpqbnoKCguwAAABYAAAACAAAAALa2

ts6bnZz/kpaR/5OZkf+dnp3/sKe0/8Oxy//QvNn/zsDV/7q1udjAv7eMw8G6h7SvqJKqpZ+Jsa2nhry3

so67trGNrKuiktXK2d/v0f/+7M38/9/O8f/Ly+b/uMDT/6qywf+epar/l5eb/5+gn/SqqqreAAAAGgAA

AAQAAAAAtra27JeXl/+WlZb/lZSV/5KUkv+Pk43/kJSP/5yYnf+vobP5vbO6tsXCuoLEv7mSf3x4dGlo

Z0FsbWs6pKCbccK9uJC0squKxrvDvc251/e4qsL/pZ6s/5eWmv+Qj4//jYyK/46Liv+OjIv/o6Kg+bGx

sfQAAAAcAAAABQAAAAC2trb9pqam/6ampv+lpqb/pKSl/6Sjpf+joqT/nZ+e/5abme+wr6qqz8nDhru2

sZM5OTlDAAAAFgAAAAleXl5EubWwjcS+uY+sqqStjpGN84uNiv+NjYv/j4+N/5GQj/+SkZH/kpKS/5KT

k/+gn577tbW1/gAAABsAAAAEAAAAALa2tuy4t7f/ure4/7y3uv+9t73/vri//726vf+/vLb/u7Gh8rev

p7DKx8OHvLeykFBQUFUAAAAgAQECHFdWV1etq6aQxcC5ja2qp66Pj470i46K/42Qjf+QkpD/k5KT/5KS

kv+SkpL/kZKR/6OiovqxsbH0AAAAGQAAAAMAAAAAtra2zse8wf/FvcD/wcC+/7nBuf+zwqz/scGW/7y7

dP/GqFT8t6OAxby6vYjOycWOmJaTg0NCQVxOTEthm5iVib25tZK7uLCHr6ivxKyetPqkmqr/mZab/4+R

j/+Mj4v/j5GO/5KSkv+SkZL/pqWk+Kqqqt8AAAAUAAAAAgAAAAC2trakp8u8/3/Tr/902qL/bduL/3PX

bf+GyFL/obRF/7GhTf+om3zorKqrpL+8toLOycON0czIls7KxJjGwbuPvbi0ha+spp2emp3ppput/7Gh

uv+zo7v/rKC0/6GZpP+XlZj/kJGO/42PjP+ioqHzoKCgvAAAAA4AAAABAAAAALa2tnB41rb/FPud/w//

jP8o+nb/V91n/3+9a/+ZqYP/oqSd/6qrq/+uq6nesKuop7ayroy8uLOHurewhbq2sYm8urWiurm43qmr

qf2UmJL/kZGQ/5yWn/+qnrH/sqG6/7ChuP+qnbH/p52u/6Cfn+eZmZmGAAAACAAAAAAAAAAAtra2NZDF

t/8L+5//EfqV/03Zjv+CtZH/m6Sd/6alqv+urbP/u7q9/8bFxv/Ew8LswL68zsG+ur7Ewr6/0M/MzeTl

5O3g4eH/xsfH/7Ozs/+hoaD/kZSQ/4yPiv+SkZP/oJmk/6iasP/ItdT/qamp6IiIiEcAAAADAAAAAAAA

AAAAAAAAtra2oF/Zq/9rwJ3/lKaf/6Wgpf+sp6v/sbCx/7q6u//Dw8P/0NDQ/+Dh4f/t7e7/8fHw+vT0

8/z///////////n4+P/a2tr/xcXF/7e3t/+qqar/np2e/5OUkv+Mj4r/io6L/7CusPegoKC6AAAADAAA

AAEAAAAAAAAAAAAAAAC2trZLsLy2/6Canv+qoqb/raqs/7Ozs/+5ubn/wsLC/8vLy//V1dX/4uLi//T0

9P///////////////////////////+zs7P/U1dT/xcXF/7m5uf+srKz/o6Oj/5aWl/+mp6b/pKWk5ZOT

k10AAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAC4s7W+s7Gz/6qqqv+zs7P/ubm5/8DAwP/IyMj/0dHR/9vb

2//n5+f/9fX1//39/f//////////////////////+/v7/+Pj4//S0tL/xcXF/7m5uf+tra3/qqqq/7W0

s/GdnZyoAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAALa2tiO6ubn9t7i4/7W2tv+/v7//xsbG/87O

zv/X19f/4eHh/+zs7P/39/f/////////////////////////////////8vHy/93d3f/R0tH/wsLD/76+

vv/CwsD8paWk04qKii4AAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALa2tjy8vLv/wMHB/8LC

wv/MzMz/09PT/9zc3P/l5eX/7+/v//n5+f/+/v7////////////////////////////9/f3/6enq/9bW

1v/Z2dn/0NDP/qysrOGUlJNLAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALa2

tjy6urrXyMnJ/87Ozv/W1tb/39/f/+jo6P/w8PD/+vr6////////////////////////////////////

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
AACAAwAAwAcAAOAPAAA=
</value>
</data>
</root>


Then compile at the command line with: msbuild test.csproj
 
Andy said:
Test.csproj

<snip>

Okay, now we're getting somewhere.

It's not the actual C# compiler that's causing you problems - it's
MSBuild, which is what chooses the name. If you run msbuild with
/verbosity=diag you get to see where it picks the resource name.

Now, you can override the behaviour using the LogicalName tag within
the EmbeddedResource.

See
http://channel9.msdn.com/wiki/default.aspx/MSBuild.OverrideVisualStudio
ResourceNamingRules
for more details.
 
Back
Top