Skip to content
Merged

3.7.0 #673

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
116 commits
Select commit Hold shift + click to select a range
c3ae45e
Added GetCellStyle and expose indent, halignment, locked, hidden. Fix…
andersnm Sep 6, 2019
ac140ea
Fixed reading first workbook stream in xls if multiple are present. F…
andersnm Sep 7, 2019
7a2b0f1
Simplified number formats. Removed mapping to built-in number formats…
andersnm Sep 8, 2019
9826b0e
Renamed FormatIndex to NumberFormatIndex
andersnm Sep 8, 2019
7854bee
Added font index to cell styles
andersnm Sep 8, 2019
f2abb75
Ignore FORMAT records with a duplicate Index.
appel1 Jun 13, 2019
af579a6
Only use values from cell XF.
appel1 Nov 5, 2019
b640063
Simplified GetEffectiveCellStyle
andersnm Nov 16, 2019
ec8717c
Cleaned up test code a little.
appel1 Oct 9, 2019
7d3733a
Moved common test cases to base class for binary and open xml readers.
appel1 Oct 9, 2019
6a74d4e
Support reading .xlsb files.
appel1 Nov 4, 2019
d07c28e
Added .xlsb to TestApp.
appel1 Nov 4, 2019
48860f8
Fixed some things after rebase.
appel1 Nov 5, 2019
7dad959
Fixed some more things after rebase.
andersnm Nov 16, 2019
2f519f5
Use different expectations for .xls and .xlsx/.xlsb tests. Perhaps we…
appel1 Nov 5, 2019
0e55220
Moved filter tests to test fixture base.
appel1 Nov 5, 2019
4bbe8e5
Changed appveyor to the VS 2019 worker image.
appel1 Nov 5, 2019
334a1ce
Don't create a lot of unused arrays.
appel1 Nov 5, 2019
b5f3354
Reuse HashAlgorithm instance when hashing passwords to improve perfor…
appel1 Nov 6, 2019
b0ad266
Update README.md
wizardgsz Dec 18, 2019
a8ed80f
Handle duplicate number format records by using the first one.
appel1 Dec 30, 2019
bc7ae9e
Restored decoding format strings when done iterating the globals in c…
appel1 Jun 22, 2020
99dc342
Fixed reading password protected xls with standard encryption and 40b…
andersnm Aug 2, 2020
4e53f70
Lazy load cell values to avoid unnecessary work while we scan workshe…
appel1 Nov 6, 2019
d586121
Removed offset since it is always 0.
appel1 Nov 6, 2019
0da1857
Bumped version to 3.7.0 and updated README.md
andersnm Aug 2, 2020
0c998cc
Fixed CompoundDocument.ReadFileTime() on Unity in some timezones. Fix…
andersnm Aug 8, 2020
61d1a34
Added test for xls standard encryption 40bit key. Closes #477
andersnm Aug 9, 2020
9383b47
Rewrote the XLS SST parser to a state machine handling more edge case…
andersnm Aug 9, 2020
1723d0a
Implemented GetCellError. Closes #466
andersnm Aug 9, 2020
63ac291
Added icon to nuget
andersnm Oct 3, 2020
83ba392
Null check for GetCellError()
RRobbins94 Aug 27, 2020
8c170da
#485 #483 Added test CellErrorEmptyRow
Sep 1, 2020
0884e62
#486 added TransformValue Callback
Aug 28, 2020
2f14bd4
Moved test
andersnm Oct 3, 2020
45b7446
Added support for strict open xml spreadsheet.
monikalaks Apr 14, 2021
ba1a77e
Improved passing of valid namespaces.
monikalaks Apr 15, 2021
12af5cf
Added tests for strict open xml spreadsheet files. Adjusted reading t…
monikalaks May 12, 2021
41e225c
Reduce allocations a little. More can be done but these were really l…
appel1 May 13, 2021
9e10bd0
Removed unnecessary portion of code.
monikalaks May 14, 2021
6b7e3bc
Removed multiple whitespace characters from affected row.
monikalaks May 20, 2021
f968c5f
Ignore trailing columns.
appel1 May 27, 2021
77e0f52
Fixed including mulrkcells when determinening field count.
appel1 Sep 16, 2021
a48a693
Fix for parsing worksheet column without "width" attribute.
Sep 15, 2022
9e1d60f
remove allocation in ReferenceHelper.ParseReference
OwnageIsMagic Oct 27, 2022
382a176
check for oveflow
OwnageIsMagic Nov 6, 2022
4db7e1c
Merge pull request #529 from macrobond/memusage
appel1 Dec 1, 2022
b08bfb8
Merge pull request #533 from macrobond/issue532
appel1 Dec 1, 2022
44b65d1
Merge pull request #610 from mathias-ho/issue-608
appel1 Dec 1, 2022
cc33afa
Update framework targets. Closes #620.
appel1 Dec 2, 2022
c8eae99
Added test from #608. Closes #622.
appel1 Dec 2, 2022
d5a4946
Updated test package references.
appel1 Dec 2, 2022
09aafc5
Updated Microsoft.SourceLink.GitHub.
appel1 Dec 2, 2022
ebedfcf
Updated StyleCop.Analyzers and fixed violations.
appel1 Dec 2, 2022
ff8af36
Fixed some ifdefs after changing target frameworks for #620.
appel1 Dec 2, 2022
ecbac65
Changed appveyor to the VS 2022 worker image.
appel1 Dec 2, 2022
1369620
Changed to use .globalconfig to configure analyzer rules.
appel1 Dec 2, 2022
450ce87
Moved common project properties into shared Directory.build.prop files.
appel1 Dec 2, 2022
f68815b
Enabled recommended NetAnalyzer rules and did some minor code cleanup.
appel1 Dec 2, 2022
aaf0c3f
Ignore missing worksheet BOF. Fixes #624.
appel1 Dec 14, 2022
da14d30
Merge branch 'develop' into remove_alloc_in_ParseReference
appel1 Dec 19, 2022
97abcba
Merge pull request #617 from OwnageIsMagic/remove_alloc_in_ParseRefer…
appel1 Dec 19, 2022
f7bdf23
Added benchmarks project.
appel1 Dec 19, 2022
94ee2ca
Merge branch 'develop' of https://github.com/ExcelDataReader/ExcelDat…
appel1 Dec 19, 2022
1279eb3
Update readme to match project configuration. Fixes #627.
appel1 Feb 1, 2023
b033358
Merge branch 'develop' into issue498
appel1 Mar 10, 2023
25f59ce
Fixed NetAnalyzers violations.
appel1 Mar 10, 2023
944e438
Merge branch 'develop' into issue498
appel1 Mar 10, 2023
21bf2b7
Merge pull request #531 from macrobond/issue498
appel1 Mar 10, 2023
ec828fa
Fixed NetAnalyzer violations.
appel1 Mar 10, 2023
f4d4828
Make sure to read the expected amount of bytes. Fixes #603 and #621.
appel1 Mar 10, 2023
a1847b8
Updated NUnit3TestAdapter and Microsoft.NET.Test.Sdk
appel1 Apr 26, 2023
c675a36
Resolve paths from .rels file instead of assuming most things are in …
appel1 Jun 18, 2023
3f47099
Merge pull request #638 from ExcelDataReader/629-cannot-read-data-fro…
appel1 Jun 18, 2023
f6ae4cc
Only presever whitespace if xml:space is preserve. Fixes #425
appel1 Jun 18, 2023
c734c79
Make sure the DIMENSIONS_V2 record has at least the expected amount o…
appel1 Jun 18, 2023
42df86e
Updated NUnit3TestAdapter and Microsoft.NET.Test.Sdk
appel1 Jun 18, 2023
24e49b3
Some minor code cleanup.
appel1 Jun 18, 2023
af11ad8
Handle BrtCellRString. Fixes #635
appel1 Jun 19, 2023
ebc38d4
Include readme.md in nuget packages.
appel1 Jun 19, 2023
e6f1573
Updated Excel versions
appel1 Jun 19, 2023
58cd26e
Assorted refactorings and optimizations:
Jul 4, 2023
a40db58
fix issue 578.
Jul 22, 2023
b1ccc6b
DeflateStream breaking change fix for BiffReader.cs
Jul 25, 2023
93275f9
Merge pull request #645 from PanosKousidis/develop
appel1 Aug 8, 2023
816f2fa
Merge branch 'ExcelDataReader:develop' into develop
Lehonti Aug 15, 2023
8c48aba
Removed implicit upcase from `BuiltinNumberFormat`
Aug 15, 2023
2dc4c7e
Merge pull request #640 from Lehonti/develop
appel1 Aug 15, 2023
e6e48f6
tested the possible values for date1904 attribute in tag workbookPr f…
eJJonatah Aug 22, 2023
8f493c4
Added the testing file with the manipulation of
eJJonatah Aug 22, 2023
475672d
Merge branch 'ExcelDataReader:develop' into fix-578-issue
Andreybonfi Sep 30, 2023
cd19bc4
add test for git iissue 578, files csv, xls, xlsb
Sep 30, 2023
50a8818
move test GitIssue578_xlsb
Sep 30, 2023
c909f43
fix slow reading of big XLSB files on NET Core
IgorMenshikov Oct 2, 2023
dbba556
fix code style (private functions after public)
IgorMenshikov Oct 2, 2023
c09f8b2
fix code style
IgorMenshikov Oct 2, 2023
4c2961c
Spelling correction on README.md
skarth1k Mar 23, 2024
6aa8c0d
Updated to NUnit 4.1
appel1 Apr 15, 2024
1a204b4
Merge pull request #667 from skarth1k/patch-1
appel1 Apr 15, 2024
98ce91c
Merge pull request #644 from Andreybonfi/fix-578-issue
appel1 Apr 15, 2024
48c04f5
Updated TestApp do net 8.0
appel1 Apr 15, 2024
652ebb8
Merge branch 'develop' of https://github.com/ExcelDataReader/ExcelDat…
appel1 Apr 15, 2024
37e3b2f
Moved test case to base class.
appel1 Apr 15, 2024
a9ce015
Merge pull request #656 from IgorMenshikov/develop
appel1 Apr 15, 2024
3e232a3
Fixed NetAnalyzer violation
appel1 Apr 15, 2024
1438566
A little bit of code cleanup
appel1 Apr 15, 2024
f1f66cc
#518 Allow user defined ReadHeader method to control DataTable column…
Nov 12, 2021
2f4f120
Merge pull request #577 from jgilbert2017/jgilbert2017-pullreq
appel1 Apr 15, 2024
af46291
Use EqualTo since order of elements is important
appel1 Apr 16, 2024
cff3ecd
Merge branch 'develop' of https://github.com/ExcelDataReader/ExcelDat…
appel1 Apr 16, 2024
7c7900e
Created test case based on .xlsx file.
appel1 Jun 3, 2024
f019485
Merge branch 'develop' into develop
appel1 Jun 3, 2024
25e896d
Merge pull request #650 from eJJonatah/develop
appel1 Jun 3, 2024
f1dcfec
Ignore empty lines when probing for separator. Fixes #500
appel1 Jun 8, 2024
16e092e
Prefer separator with more fields if there are more than one separato…
appel1 Jun 8, 2024
5e0199a
Merge pull request #671 from ExcelDataReader/issue463
appel1 Jun 13, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
218 changes: 218 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,218 @@
# Remove the line below if you want to inherit .editorconfig settings from higher directories
root = true

# C# files
[*.cs]

#### Core EditorConfig Options ####

# Indentation and spacing
indent_size = 4
indent_style = space
tab_width = 4

# New line preferences
end_of_line = crlf
insert_final_newline = false

#### .NET Coding Conventions ####

# Organize usings
dotnet_separate_import_directive_groups = false
dotnet_sort_system_directives_first = true

# this. and Me. preferences
dotnet_style_qualification_for_event = false:silent
dotnet_style_qualification_for_field = false:silent
dotnet_style_qualification_for_method = false:silent
dotnet_style_qualification_for_property = false:silent

# Language keywords vs BCL types preferences
dotnet_style_predefined_type_for_locals_parameters_members = true:silent
dotnet_style_predefined_type_for_member_access = true:silent

# Parentheses preferences
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent

# Modifier preferences
dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent

# Expression-level preferences
csharp_style_deconstructed_variable_declaration = true:suggestion
csharp_style_inlined_variable_declaration = true:suggestion
csharp_style_throw_expression = true:suggestion
dotnet_style_coalesce_expression = true:suggestion
dotnet_style_collection_initializer = true:suggestion
dotnet_style_explicit_tuple_names = true:suggestion
dotnet_style_null_propagation = true:suggestion
dotnet_style_object_initializer = true:suggestion
dotnet_style_prefer_auto_properties = true:silent
dotnet_style_prefer_compound_assignment = true:suggestion
dotnet_style_prefer_conditional_expression_over_assignment = true:silent
dotnet_style_prefer_conditional_expression_over_return = true:silent
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
dotnet_style_prefer_inferred_tuple_names = true:suggestion
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion

# Field preferences
dotnet_style_readonly_field = true:suggestion

# Parameter preferences
dotnet_code_quality_unused_parameters = all:suggestion

#### C# Coding Conventions ####

# var preferences
csharp_style_var_elsewhere = false:silent
csharp_style_var_for_built_in_types = false:silent
csharp_style_var_when_type_is_apparent = false:silent

# Expression-bodied members
csharp_style_expression_bodied_accessors = true:silent
csharp_style_expression_bodied_constructors = false:silent
csharp_style_expression_bodied_indexers = true:silent
csharp_style_expression_bodied_lambdas = true:silent
csharp_style_expression_bodied_local_functions = false:silent
csharp_style_expression_bodied_methods = false:silent
csharp_style_expression_bodied_operators = false:silent
csharp_style_expression_bodied_properties = true:silent

# Pattern matching preferences
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
csharp_style_prefer_switch_expression = true:suggestion

# Null-checking preferences
csharp_style_conditional_delegate_call = true:suggestion

# Modifier preferences
csharp_prefer_static_local_function = true:suggestion
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async

# Code-block preferences
csharp_prefer_braces = true:silent
csharp_prefer_simple_using_statement = true:suggestion

# Expression-level preferences
csharp_prefer_simple_default_expression = true:suggestion
csharp_style_pattern_local_over_anonymous_function = true:suggestion
csharp_style_prefer_index_operator = true:suggestion
csharp_style_prefer_range_operator = true:suggestion
csharp_style_unused_value_assignment_preference = discard_variable:suggestion
csharp_style_unused_value_expression_statement_preference = discard_variable:silent

# 'using' directive preferences
csharp_using_directive_placement = outside_namespace:silent

#### C# Formatting Rules ####

# New line preferences
csharp_new_line_before_catch = true
csharp_new_line_before_else = true
csharp_new_line_before_finally = true
csharp_new_line_before_members_in_anonymous_types = true
csharp_new_line_before_members_in_object_initializers = true
csharp_new_line_before_open_brace = all
csharp_new_line_between_query_expression_clauses = true

# Indentation preferences
csharp_indent_block_contents = true
csharp_indent_braces = false
csharp_indent_case_contents = true
csharp_indent_case_contents_when_block = true
csharp_indent_labels = no_change
csharp_indent_switch_labels = true

# Space preferences
csharp_space_after_cast = false
csharp_space_after_colon_in_inheritance_clause = true
csharp_space_after_comma = true
csharp_space_after_dot = false
csharp_space_after_keywords_in_control_flow_statements = true
csharp_space_after_semicolon_in_for_statement = true
csharp_space_around_binary_operators = before_and_after
csharp_space_around_declaration_statements = false
csharp_space_before_colon_in_inheritance_clause = true
csharp_space_before_comma = false
csharp_space_before_dot = false
csharp_space_before_open_square_brackets = false
csharp_space_before_semicolon_in_for_statement = false
csharp_space_between_empty_square_brackets = false
csharp_space_between_method_call_empty_parameter_list_parentheses = false
csharp_space_between_method_call_name_and_opening_parenthesis = false
csharp_space_between_method_call_parameter_list_parentheses = false
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
csharp_space_between_method_declaration_name_and_open_parenthesis = false
csharp_space_between_method_declaration_parameter_list_parentheses = false
csharp_space_between_parentheses = false
csharp_space_between_square_brackets = false

# Wrapping preferences
csharp_preserve_single_line_blocks = true
csharp_preserve_single_line_statements = true

#### Naming styles ####

# Naming rules

dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion
dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface
dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i

dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.types_should_be_pascal_case.symbols = types
dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case

dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members
dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case

dotnet_naming_rule.static_field_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.static_field_should_be_pascal_case.symbols = static_field
dotnet_naming_rule.static_field_should_be_pascal_case.style = pascal_case

dotnet_naming_rule.private_or_internal_field_should_be_begins_with__.severity = suggestion
dotnet_naming_rule.private_or_internal_field_should_be_begins_with__.symbols = private_or_internal_field
dotnet_naming_rule.private_or_internal_field_should_be_begins_with__.style = begins_with__

# Symbol specifications

dotnet_naming_symbols.interface.applicable_kinds = interface
dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal
dotnet_naming_symbols.interface.required_modifiers =

dotnet_naming_symbols.static_field.applicable_kinds = field
dotnet_naming_symbols.static_field.applicable_accessibilities = public, internal, private, protected, protected_internal
dotnet_naming_symbols.static_field.required_modifiers = static

dotnet_naming_symbols.private_or_internal_field.applicable_kinds = field
dotnet_naming_symbols.private_or_internal_field.applicable_accessibilities = internal, private
dotnet_naming_symbols.private_or_internal_field.required_modifiers =

dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal
dotnet_naming_symbols.types.required_modifiers =

dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal
dotnet_naming_symbols.non_field_members.required_modifiers =

# Naming styles

dotnet_naming_style.pascal_case.required_prefix =
dotnet_naming_style.pascal_case.required_suffix =
dotnet_naming_style.pascal_case.word_separator =
dotnet_naming_style.pascal_case.capitalization = pascal_case

dotnet_naming_style.begins_with_i.required_prefix = I
dotnet_naming_style.begins_with_i.required_suffix =
dotnet_naming_style.begins_with_i.word_separator =
dotnet_naming_style.begins_with_i.capitalization = pascal_case

dotnet_naming_style.begins_with__.required_prefix = _
dotnet_naming_style.begins_with__.required_suffix =
dotnet_naming_style.begins_with__.word_separator =
dotnet_naming_style.begins_with__.capitalization = camel_case
18 changes: 18 additions & 0 deletions .globalconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Top level entry required to mark this as a global AnalyzerConfig file
is_global = true

# StyleCop Analyzers
dotnet_diagnostic.SA0001.severity = none
dotnet_diagnostic.SA1028.severity = none
dotnet_diagnostic.SA1101.severity = none
dotnet_diagnostic.SA1308.severity = none
dotnet_diagnostic.SX1308.severity = warning
dotnet_diagnostic.SA1309.severity = none
dotnet_diagnostic.SA1407.severity = none
dotnet_diagnostic.SA1408.severity = none
dotnet_diagnostic.SA1413.severity = none
dotnet_diagnostic.SA1503.severity = none
dotnet_diagnostic.SA1611.severity = none
dotnet_diagnostic.SA1633.severity = none
dotnet_diagnostic.SA1636.severity = none
dotnet_diagnostic.SA1652.severity = none
12 changes: 12 additions & 0 deletions Directory.build.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<Project>
<PropertyGroup>
<Authors>ExcelDataReader developers</Authors>
<LangVersion>12.0</LangVersion>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>

<ItemGroup>
<AdditionalFiles Include="$(MSBuildThisFileDirectory)stylecop.json" Link="stylecop.json" />
</ItemGroup>

</Project>
20 changes: 0 additions & 20 deletions ExcelDataReader.ruleset

This file was deleted.

29 changes: 10 additions & 19 deletions ExcelDataReader.sln
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26730.3
# Visual Studio Version 17
VisualStudioVersion = 17.4.33205.214
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{537D3BEA-4A18-4381-A955-DF762D21E100}"
ProjectSection(SolutionItems) = preProject
Expand All @@ -16,11 +16,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ExcelDataReader.DataSet", "
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestApp", "src\TestApp\TestApp.csproj", "{BCE486DF-3DA2-42A2-BF38-376B17CEF434}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ExcelDataReader.Net45.Tests", "test\ExcelDataReader.Net45.Tests\ExcelDataReader.Net45.Tests.csproj", "{7ABFA914-8980-4630-B7E5-92921E5D897D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ExcelDataReader.Net20.Tests", "test\ExcelDataReader.Net20.Tests\ExcelDataReader.Net20.Tests.csproj", "{C2D80729-09EE-4E17-869D-2C9075E0ED29}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ExcelDataReader.Netstandard20.Tests", "test\ExcelDataReader.Netstandard20.Tests\ExcelDataReader.Netstandard20.Tests.csproj", "{5935CED9-6CB6-47F3-BE86-8F025599B251}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ExcelDataReader.Benchmarks", "test\ExcelDataReader.Benchmarks\ExcelDataReader.Benchmarks.csproj", "{A40BE62A-B8AE-44D1-8E97-DCB4DA8B8F17}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand All @@ -44,20 +40,15 @@ Global
{BCE486DF-3DA2-42A2-BF38-376B17CEF434}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BCE486DF-3DA2-42A2-BF38-376B17CEF434}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BCE486DF-3DA2-42A2-BF38-376B17CEF434}.Release|Any CPU.Build.0 = Release|Any CPU
{7ABFA914-8980-4630-B7E5-92921E5D897D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7ABFA914-8980-4630-B7E5-92921E5D897D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7ABFA914-8980-4630-B7E5-92921E5D897D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7ABFA914-8980-4630-B7E5-92921E5D897D}.Release|Any CPU.Build.0 = Release|Any CPU
{C2D80729-09EE-4E17-869D-2C9075E0ED29}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C2D80729-09EE-4E17-869D-2C9075E0ED29}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C2D80729-09EE-4E17-869D-2C9075E0ED29}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C2D80729-09EE-4E17-869D-2C9075E0ED29}.Release|Any CPU.Build.0 = Release|Any CPU
{5935CED9-6CB6-47F3-BE86-8F025599B251}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5935CED9-6CB6-47F3-BE86-8F025599B251}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5935CED9-6CB6-47F3-BE86-8F025599B251}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5935CED9-6CB6-47F3-BE86-8F025599B251}.Release|Any CPU.Build.0 = Release|Any CPU
{A40BE62A-B8AE-44D1-8E97-DCB4DA8B8F17}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A40BE62A-B8AE-44D1-8E97-DCB4DA8B8F17}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A40BE62A-B8AE-44D1-8E97-DCB4DA8B8F17}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A40BE62A-B8AE-44D1-8E97-DCB4DA8B8F17}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {80B8A8D2-CD7F-499C-8A39-898C846DF211}
EndGlobalSection
EndGlobal
Loading