diff --git a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj
index 99cfe511dc..a884d670db 100644
--- a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj
+++ b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj
@@ -615,6 +615,7 @@
+
diff --git a/src/Main/Base/Project/Src/Dom/IMember.cs b/src/Main/Base/Project/Src/Dom/IMember.cs
index 3e2168ebd3..e02a8c9f28 100644
--- a/src/Main/Base/Project/Src/Dom/IMember.cs
+++ b/src/Main/Base/Project/Src/Dom/IMember.cs
@@ -17,7 +17,7 @@ namespace ICSharpCode.SharpDevelop.Dom
IRegion Region {
get;
}
-
+
string Name {
get;
}
diff --git a/src/Main/Base/Project/Src/Dom/IParameter.cs b/src/Main/Base/Project/Src/Dom/IParameter.cs
index 2a6aefa0ef..97e85203f3 100644
--- a/src/Main/Base/Project/Src/Dom/IParameter.cs
+++ b/src/Main/Base/Project/Src/Dom/IParameter.cs
@@ -28,7 +28,11 @@ namespace ICSharpCode.SharpDevelop.Dom
ParameterModifier Modifier {
get;
}
-
+
+ IRegion Region {
+ get;
+ }
+
string Documentation {
get;
}
diff --git a/src/Main/Base/Project/Src/Dom/Implementations/AbstractParameter.cs b/src/Main/Base/Project/Src/Dom/Implementations/AbstractParameter.cs
index 061ffaee63..26510a6aaf 100644
--- a/src/Main/Base/Project/Src/Dom/Implementations/AbstractParameter.cs
+++ b/src/Main/Base/Project/Src/Dom/Implementations/AbstractParameter.cs
@@ -22,8 +22,16 @@ namespace ICSharpCode.SharpDevelop.Dom
protected IReturnType returnType;
protected ParameterModifier modifier;
+ protected IRegion region;
List attributes;
-
+
+
+
+ public IRegion Region {
+ get {
+ return region;
+ }
+ }
public bool IsOut {
get {
return (modifier & ParameterModifier.Out) == ParameterModifier.Out;
@@ -80,7 +88,7 @@ namespace ICSharpCode.SharpDevelop.Dom
modifier = value;
}
}
-
+
public string Documentation {
get {
return documentation;
diff --git a/src/Main/Base/Project/Src/Dom/NRefactoryResolver/FilePosition.cs b/src/Main/Base/Project/Src/Dom/NRefactoryResolver/FilePosition.cs
new file mode 100644
index 0000000000..f79e9095d4
--- /dev/null
+++ b/src/Main/Base/Project/Src/Dom/NRefactoryResolver/FilePosition.cs
@@ -0,0 +1,29 @@
+/*
+ * Created by SharpDevelop.
+ * User: Omnibrain
+ * Date: 20.01.2005
+ * Time: 16:07
+ *
+ * To change this template use Tools | Options | Coding | Edit Standard Headers.
+ */
+
+using System;
+using System.Drawing;
+
+namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver
+{
+ ///
+ /// Description of SearchDefinition.
+ ///
+ public class FilePosition
+ {
+ string filename = "";
+ Point position = new Point(0, 0);
+
+ public FilePosition(string filename, Point position)
+ {
+ this.filename = filename;
+ this.position = position;
+ }
+ }
+}
diff --git a/src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryASTConvertVisitor.cs b/src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryASTConvertVisitor.cs
index 291ed946b7..e70d0c4143 100644
--- a/src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryASTConvertVisitor.cs
+++ b/src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryASTConvertVisitor.cs
@@ -224,7 +224,7 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver
if (methodDeclaration.Parameters != null) {
foreach (AST.ParameterDeclarationExpression par in methodDeclaration.Parameters) {
ReturnType parType = new ReturnType(par.TypeReference);
- Parameter p = new Parameter(par.ParameterName, parType);
+ Parameter p = new Parameter(par.ParameterName, parType, new DefaultRegion(par.StartLocation, methodDeclaration.Body.EndLocation));
parameters.Add(p);
}
}
@@ -245,7 +245,7 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver
if (constructorDeclaration.Parameters != null) {
foreach (AST.ParameterDeclarationExpression par in constructorDeclaration.Parameters) {
ReturnType parType = new ReturnType(par.TypeReference);
- Parameter p = new Parameter(par.ParameterName, parType);
+ Parameter p = new Parameter(par.ParameterName, parType, new DefaultRegion(par.StartLocation, constructorDeclaration.Body.EndLocation));
parameters.Add(p);
}
}
@@ -334,7 +334,7 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver
if (indexerDeclaration.Parameters != null) {
foreach (AST.ParameterDeclarationExpression par in indexerDeclaration.Parameters) {
ReturnType parType = new ReturnType(par.TypeReference);
- Parameter p = new Parameter(par.ParameterName, parType);
+ Parameter p = new Parameter(par.ParameterName, parType, new DefaultRegion(par.StartLocation, indexerDeclaration.EndLocation));
parameters.Add(p);
}
}
diff --git a/src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryResolver.cs b/src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryResolver.cs
index f0a4569b97..500589757d 100644
--- a/src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryResolver.cs
+++ b/src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryResolver.cs
@@ -33,6 +33,12 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver
int caretLine;
int caretColumn;
+ public SupportedLanguages Language {
+ get {
+ return language;
+ }
+ }
+
public IProjectContent ProjectContent {
get {
return projectContent;
@@ -306,7 +312,7 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver
bool InStatic()
{
- IProperty property = Get();
+ IProperty property = GetProperty();
if (property != null) {
return property.IsStatic;
}
@@ -471,29 +477,32 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver
return between.Y < end.Y || between.X <= end.X;
}
- IReturnType SearchVariable(string name)
+ LocalLookupVariable SearchVariable(string name)
{
ArrayList variables = (ArrayList)lookupTableVisitor.variables[IsCaseSensitive(language) ? name : name.ToLower()];
if (variables == null || variables.Count <= 0) {
return null;
}
- IReturnType found = null;
foreach (LocalLookupVariable v in variables) {
if (IsInside(new Point(caretColumn, caretLine), v.StartPos, v.EndPos)) {
- IClass c = SearchType(v.TypeRef.SystemType, callingClass, cu);
- if (c != null) {
- found = new ReturnType(c.FullyQualifiedName, v.TypeRef.RankSpecifier, v.TypeRef.PointerNestingLevel);
- } else {
- found = new ReturnType(v.TypeRef);
- }
- break;
+ return v;
}
}
- if (found == null) {
+ return null;
+ }
+
+ IReturnType GetVariableType(LocalLookupVariable v)
+ {
+ if (v == null) {
return null;
}
- return found;
+ IClass c = SearchType(v.TypeRef.SystemType, callingClass, cu);
+ if (c != null) {
+ return new ReturnType(c.FullyQualifiedName, v.TypeRef.RankSpecifier, v.TypeRef.PointerNestingLevel);
+ } else {
+ return new ReturnType(v.TypeRef);
+ }
}
///
@@ -502,7 +511,7 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver
public IReturnType DynamicLookup(string typeName)
{
// try if it exists a variable named typeName
- IReturnType variable = SearchVariable(typeName);
+ IReturnType variable = GetVariableType(SearchVariable(typeName));
if (variable != null) {
showStatic = false;
return variable;
@@ -513,18 +522,18 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver
}
// try if typeName is a method parameter
- IReturnType p = SearchMethodParameter(typeName);
- if (p != null) {
+ IParameter parameter = SearchMethodParameter(typeName);
+ if (parameter != null) {
showStatic = false;
- return p;
+ return parameter.ReturnType;
}
// check if typeName == value in set method of a property
if (typeName == "value") {
- p = SearchProperty();
- if (p != null) {
+ IProperty property = GetProperty();
+ if (property != null && property.SetterRegion != null && property.SetterRegion.IsInside(caretLine, caretColumn)) {
showStatic = false;
- return p;
+ return property.ReturnType;
}
}
@@ -579,7 +588,7 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver
return null;
}
- IProperty Get()
+ IProperty GetProperty()
{
foreach (IProperty property in callingClass.Properties) {
if (property.BodyRegion != null && property.BodyRegion.IsInside(caretLine, caretColumn)) {
@@ -599,19 +608,7 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver
return null;
}
- IReturnType SearchProperty()
- {
- IProperty property = Get();
- if (property == null) {
- return null;
- }
- if (property.SetterRegion != null && property.SetterRegion.IsInside(caretLine, caretColumn)) {
- return property.ReturnType;
- }
- return null;
- }
-
- IReturnType SearchMethodParameter(string parameter)
+ IParameter SearchMethodParameter(string parameter)
{
IMethod method = GetMethod(caretLine, caretColumn);
if (method == null) {
@@ -619,7 +616,7 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver
}
foreach (IParameter p in method.Parameters) {
if (IsSameName(p.Name, parameter)) {
- return p.ReturnType;
+ return p;
}
}
return null;
@@ -664,6 +661,44 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver
return projectContent.SearchType(name, curType, unit, caretLine, caretColumn);
}
+ public FilePosition SearchDefinition(string expression,
+ int caretLineNumber,
+ int caretColumn,
+ string fileName)
+ {
+ ICSharpCode.NRefactory.Parser.IParser p = ICSharpCode.NRefactory.Parser.ParserFactory.CreateParser(language, new System.IO.StringReader(expression));
+ Expression expr = p.ParseExpression();
+ ParseInformation parseInfo = ParserService.GetParseInformation(fileName);
+ if (parseInfo == null) {
+ return null;
+ }
+ if (expr is IdentifierExpression) {
+ ICSharpCode.NRefactory.Parser.AST.CompilationUnit fileCompilationUnit = parseInfo.MostRecentCompilationUnit.Tag as ICSharpCode.NRefactory.Parser.AST.CompilationUnit;
+ lookupTableVisitor = new LookupTableVisitor();
+ lookupTableVisitor.Visit(fileCompilationUnit, null);
+
+ // try if it exists a variable named typeName
+ LocalLookupVariable variable = SearchVariable(expression);
+ if (variable != null) {
+ return new FilePosition(fileName, variable.StartPos);
+ }
+
+ if (callingClass == null) {
+ return null;
+ }
+
+ // try if typeName is a method parameter
+ IParameter parameter = SearchMethodParameter(expression);
+ if (parameter != null) {
+ return new FilePosition(fileName, new Point(parameter.Region.BeginLine, parameter.Region.BeginColumn));
+ }
+ }
+
+ NRefactoryASTConvertVisitor cSharpVisitor = new NRefactoryASTConvertVisitor(parseInfo.MostRecentCompilationUnit != null ? parseInfo.MostRecentCompilationUnit.ProjectContent : null);
+ return null;
+ }
+
+
public ArrayList NewCompletion(int caretLine, int caretColumn, string fileName)
{
if (!IsCaseSensitive(language)) {
diff --git a/src/Main/Base/Project/Src/Dom/NRefactoryResolver/Parameter.cs b/src/Main/Base/Project/Src/Dom/NRefactoryResolver/Parameter.cs
index 81fdedf042..d2c18ca929 100644
--- a/src/Main/Base/Project/Src/Dom/NRefactoryResolver/Parameter.cs
+++ b/src/Main/Base/Project/Src/Dom/NRefactoryResolver/Parameter.cs
@@ -6,10 +6,11 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver
{
public class Parameter : AbstractParameter
{
- public Parameter(string name, ReturnType type)
+ public Parameter(string name, ReturnType type, IRegion region)
{
Name = name;
returnType = type;
+ this.region = region;
}
}
}
diff --git a/src/Main/StartUp/Project/SharpDevelopMain.cs b/src/Main/StartUp/Project/SharpDevelopMain.cs
index 05664becd3..bfb4e06081 100644
--- a/src/Main/StartUp/Project/SharpDevelopMain.cs
+++ b/src/Main/StartUp/Project/SharpDevelopMain.cs
@@ -41,7 +41,7 @@ namespace ICSharpCode.SharpDevelop
static void ShowErrorBox(object sender, ThreadExceptionEventArgs eargs)
{
DialogResult result = new ExceptionBox(eargs.Exception).ShowDialog(ICSharpCode.SharpDevelop.Gui.WorkbenchSingleton.MainForm);
-
+
switch (result) {
case DialogResult.Ignore:
break;
diff --git a/src/SharpDevelop.sln b/src/SharpDevelop.sln
index 6cc8fa231b..791fd0d469 100644
--- a/src/SharpDevelop.sln
+++ b/src/SharpDevelop.sln
@@ -1,5 +1,33 @@
Microsoft Visual Studio Solution File, Format Version 9.00
# SharpDevelop 2.0.0.1
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{5A3EBEBA-0560-41C1-966B-23F7D03A5486}"
+ ProjectSection(SolutionItems) = postProject
+ EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Tests", "Main\Core\Test\ICSharpCode.Core.Tests.csproj", "{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{9421EDF4-9769-4BE9-B5A6-C87DE221D73C}"
+ ProjectSection(SolutionItems) = postProject
+ EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.framework.dll", "Tools\NUnit\src\NUnitFramework\framework\nunit.framework.dll.csproj", "{83DD7E12-A705-4DBA-9D71-09C8973D9382}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.core.dll", "Tools\NUnit\src\NUnitFramework\core\nunit.core.dll.csproj", "{EBD43A7F-AFCA-4281-BB53-5CDD91F966A3}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WinFormsUI", "Libraries\DockPanel_Src\WinFormsUI\WinFormsUI.csproj", "{D3C782BA-178E-4235-A3BA-8C11DEBB6BEE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TextEditor", "Libraries\ICSharpCode.TextEditor\Project\ICSharpCode.TextEditor.csproj", "{2D18BE89-D210-49EB-A9DD-2246FBB3DF6D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "Libraries\NRefactory\Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.extensions.dll", "Tools\NUnit\src\NUnitFramework\extensions\nunit.extensions.dll.csproj", "{98B10E98-003C-45A0-9587-119142E39986}"
+EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AddIns", "AddIns", "{14A277EE-7DF1-4529-B639-7D1EF334C1C5}"
ProjectSection(SolutionItems) = postProject
EndProjectSection
@@ -46,34 +74,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartPage", "AddIns\Misc\St
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddinScout", "AddIns\Misc\AddinScout\Project\AddinScout.csproj", "{4B8F0F98-8BE1-402B-AA8B-C8D548577B38}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{9421EDF4-9769-4BE9-B5A6-C87DE221D73C}"
- ProjectSection(SolutionItems) = postProject
- EndProjectSection
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.framework.dll", "Tools\NUnit\src\NUnitFramework\framework\nunit.framework.dll.csproj", "{83DD7E12-A705-4DBA-9D71-09C8973D9382}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.core.dll", "Tools\NUnit\src\NUnitFramework\core\nunit.core.dll.csproj", "{EBD43A7F-AFCA-4281-BB53-5CDD91F966A3}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WinFormsUI", "Libraries\DockPanel_Src\WinFormsUI\WinFormsUI.csproj", "{D3C782BA-178E-4235-A3BA-8C11DEBB6BEE}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TextEditor", "Libraries\ICSharpCode.TextEditor\Project\ICSharpCode.TextEditor.csproj", "{2D18BE89-D210-49EB-A9DD-2246FBB3DF6D}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "Libraries\NRefactory\Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.extensions.dll", "Tools\NUnit\src\NUnitFramework\extensions\nunit.extensions.dll.csproj", "{98B10E98-003C-45A0-9587-119142E39986}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{5A3EBEBA-0560-41C1-966B-23F7D03A5486}"
- ProjectSection(SolutionItems) = postProject
- EndProjectSection
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Tests", "Main\Core\Test\ICSharpCode.Core.Tests.csproj", "{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5}"
-EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -155,6 +155,16 @@ Global
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
+ {AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
+ {1152B71B-3C05-4598-B20D-823B5D40559E} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
+ {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
+ {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
+ {98B10E98-003C-45A0-9587-119142E39986} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
+ {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
+ {2D18BE89-D210-49EB-A9DD-2246FBB3DF6D} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
+ {D3C782BA-178E-4235-A3BA-8C11DEBB6BEE} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
+ {EBD43A7F-AFCA-4281-BB53-5CDD91F966A3} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
+ {83DD7E12-A705-4DBA-9D71-09C8973D9382} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
{CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{4EA396ED-64AD-4AD0-A67A-AB363F3E0C79} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{FEB825FA-4AD8-425D-8E4A-B5A18EE1B81C} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
@@ -172,15 +182,5 @@ Global
{B08385CD-F0CC-488C-B4F4-EEB34B6D2688} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D}
{1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D}
{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D}
- {98B10E98-003C-45A0-9587-119142E39986} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
- {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
- {2D18BE89-D210-49EB-A9DD-2246FBB3DF6D} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
- {D3C782BA-178E-4235-A3BA-8C11DEBB6BEE} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
- {EBD43A7F-AFCA-4281-BB53-5CDD91F966A3} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
- {83DD7E12-A705-4DBA-9D71-09C8973D9382} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
- {AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
- {1152B71B-3C05-4598-B20D-823B5D40559E} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
- {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
- {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
EndGlobalSection
EndGlobal