From 8dda18d0636279ed42c670782be69f7d7ff29d87 Mon Sep 17 00:00:00 2001 From: Issa Fram Date: Mon, 23 May 2016 16:07:21 -0400 Subject: [PATCH 1/5] Update AutoMoq project to target .NET 4.5. --- .../Tests/AccountControllerTests.cs | 96 +++++++++---------- src/AutoMoq/AutoMoq.csproj | 2 +- 2 files changed, 49 insertions(+), 49 deletions(-) diff --git a/src/AutoMoq.TestFixture.Samples/Tests/AccountControllerTests.cs b/src/AutoMoq.TestFixture.Samples/Tests/AccountControllerTests.cs index fbb0c28..87cba08 100644 --- a/src/AutoMoq.TestFixture.Samples/Tests/AccountControllerTests.cs +++ b/src/AutoMoq.TestFixture.Samples/Tests/AccountControllerTests.cs @@ -1,50 +1,50 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; using System.Web.Mvc; using AutoMoq.Helpers; -using AutoMoq.TestFixture.Samples.Code; -using Moq; -using NUnit.Framework; - -namespace AutoMoq.TestFixture.Samples.Tests -{ - [TestFixture] - public class AccountControllerTests : AutoMoqTestFixture - { - [SetUp] - public void BeforeEachTest() - { - ResetSubject(); - } - - [Test] - public void ShouldListAllAccountsFromRepository() - { - Mocked().Setup( - x => x.Find()).Returns( - new[] {new Account(), new Account()}); - - ViewResult result = Subject.ListAllAccounts() as ViewResult; - - var model = result.ViewData.Model as IEnumerable; - - Assert.That(model.Count(), Is.EqualTo(2)); - - Mocked() - .Verify(x => x.SomethingElse(), Times.Once()); - } - - [Test] - public void ShouldShowTheErrorPageWhenRepositoryHasErrors() - { - Mocked().Setup( - x => x.Find()).Throws(new Exception()); - - ViewResult result = Subject.ListAllAccounts() as ViewResult; - - Assert.That(result.ViewName, Is.EqualTo("Error")); - } - } -} +using AutoMoq.TestFixture.Samples.Code; +using Moq; +using NUnit.Framework; + +namespace AutoMoq.TestFixture.Samples.Tests +{ + [TestFixture] + public class AccountControllerTests : AutoMoqTestFixture + { + [SetUp] + public void BeforeEachTest() + { + ResetSubject(); + } + + [Test] + public void ShouldListAllAccountsFromRepository() + { + Mocked().Setup( + x => x.Find()).Returns( + new[] {new Account(), new Account()}); + + ViewResult result = Subject.ListAllAccounts() as ViewResult; + + var model = result.ViewData.Model as IEnumerable; + + Assert.That(model.Count(), Is.EqualTo(2)); + + Mocked() + .Verify(x => x.SomethingElse(), Times.Once()); + } + + [Test] + public void ShouldShowTheErrorPageWhenRepositoryHasErrors() + { + Mocked().Setup( + x => x.Find()).Throws(new Exception()); + + ViewResult result = Subject.ListAllAccounts() as ViewResult; + + Assert.That(result.ViewName, Is.EqualTo("Error")); + } + } +} diff --git a/src/AutoMoq/AutoMoq.csproj b/src/AutoMoq/AutoMoq.csproj index 6f4d181..f9121d9 100644 --- a/src/AutoMoq/AutoMoq.csproj +++ b/src/AutoMoq/AutoMoq.csproj @@ -10,7 +10,7 @@ Properties AutoMoq AutoMoq - v4.0 + v4.5 512 From 07f9d28ea87319c5ae604d8a8d86f4e9d53f63d8 Mon Sep 17 00:00:00 2001 From: Issa Fram Date: Mon, 23 May 2016 16:10:17 -0400 Subject: [PATCH 2/5] Updated Unity reference to Unity.4.0.1 --- src/AutoMoq.Tests/AutoMoq.Tests.csproj | 23 +- src/AutoMoq.Tests/packages.config | 5 +- src/AutoMoq/AutoMoq.csproj | 23 +- src/AutoMoq/packages.config | 3 +- .../CommonServiceLocator.1.3.nupkg | Bin 0 -> 21056 bytes .../Microsoft.Practices.ServiceLocation.XML | 268 + .../Microsoft.Practices.ServiceLocation.dll | Bin 0 -> 18112 bytes .../Microsoft.Practices.ServiceLocation.pdb | Bin 0 -> 24064 bytes src/packages/Unity.2.0/Unity.2.0.nupkg | Bin 448700 -> 0 bytes .../Microsoft.Practices.ServiceLocation.dll | Bin 29760 -> 0 bytes ...icrosoft.Practices.Unity.Configuration.dll | Bin 86840 -> 0 bytes ...tices.Unity.Interception.Configuration.dll | Bin 47928 -> 0 bytes ...tices.Unity.Interception.Configuration.xml | 716 - ...Microsoft.Practices.Unity.Interception.dll | Bin 125752 -> 0 bytes ...Microsoft.Practices.Unity.Interception.xml | 3460 ----- .../lib/20/Microsoft.Practices.Unity.dll | Bin 133944 -> 0 bytes .../Microsoft.Practices.ServiceLocation.dll | Bin 26504 -> 0 bytes .../Microsoft.Practices.Unity.Silverlight.dll | Bin 133944 -> 0 bytes src/packages/Unity.4.0.1/Unity.4.0.1.nupkg | Bin 0 -> 465379 bytes .../Unity.4.0.1/UnityConfiguration30.xsd | 319 + ...crosoft.Practices.Unity.Configuration.XML} | 4875 ++++--- ...icrosoft.Practices.Unity.Configuration.dll | Bin 0 -> 81408 bytes ...actices.Unity.RegistrationByConvention.XML | 328 + ...actices.Unity.RegistrationByConvention.dll | Bin 0 -> 23552 bytes .../lib/net45/Microsoft.Practices.Unity.dll | Bin 0 -> 135680 bytes .../lib/net45/Microsoft.Practices.Unity.xml} | 11787 +++++++-------- .../Microsoft.Practices.Unity.dll | Bin 0 -> 135680 bytes .../Microsoft.Practices.Unity.xml | 11826 ++++++++-------- ...actices.Unity.RegistrationByConvention.XML | 306 + ...actices.Unity.RegistrationByConvention.dll | Bin 0 -> 22528 bytes ...actices.Unity.RegistrationByConvention.pri | Bin 0 -> 2184 bytes .../lib/win8/Microsoft.Practices.Unity.dll | Bin 0 -> 135680 bytes .../lib/win8/Microsoft.Practices.Unity.xml | 5916 ++++++++ ...actices.Unity.RegistrationByConvention.XML | 312 + ...actices.Unity.RegistrationByConvention.dll | Bin 0 -> 23040 bytes .../lib/wp80/Microsoft.Practices.Unity.dll | Bin 0 -> 135680 bytes .../lib/wp80/Microsoft.Practices.Unity.xml | 5916 ++++++++ 37 files changed, 27658 insertions(+), 18425 deletions(-) create mode 100644 src/packages/CommonServiceLocator.1.3/CommonServiceLocator.1.3.nupkg create mode 100644 src/packages/CommonServiceLocator.1.3/lib/portable-net4+sl5+netcore45+wpa81+wp8/Microsoft.Practices.ServiceLocation.XML create mode 100644 src/packages/CommonServiceLocator.1.3/lib/portable-net4+sl5+netcore45+wpa81+wp8/Microsoft.Practices.ServiceLocation.dll create mode 100644 src/packages/CommonServiceLocator.1.3/lib/portable-net4+sl5+netcore45+wpa81+wp8/Microsoft.Practices.ServiceLocation.pdb delete mode 100644 src/packages/Unity.2.0/Unity.2.0.nupkg delete mode 100644 src/packages/Unity.2.0/lib/20/Microsoft.Practices.ServiceLocation.dll delete mode 100644 src/packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.Configuration.dll delete mode 100644 src/packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.Interception.Configuration.dll delete mode 100644 src/packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.Interception.Configuration.xml delete mode 100644 src/packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.Interception.dll delete mode 100644 src/packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.Interception.xml delete mode 100644 src/packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.dll delete mode 100644 src/packages/Unity.2.0/lib/SL30/Microsoft.Practices.ServiceLocation.dll delete mode 100644 src/packages/Unity.2.0/lib/SL30/Microsoft.Practices.Unity.Silverlight.dll create mode 100644 src/packages/Unity.4.0.1/Unity.4.0.1.nupkg create mode 100644 src/packages/Unity.4.0.1/UnityConfiguration30.xsd rename src/packages/{Unity.2.0/lib/20/Microsoft.Practices.Unity.Configuration.xml => Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.Configuration.XML} (89%) create mode 100644 src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.Configuration.dll create mode 100644 src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.RegistrationByConvention.XML create mode 100644 src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.RegistrationByConvention.dll create mode 100644 src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.dll rename src/packages/{Unity.2.0/lib/SL30/Microsoft.Practices.Unity.Silverlight.xml => Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.xml} (95%) create mode 100644 src/packages/Unity.4.0.1/lib/portable-net45+wp80+win8+wpa81+MonoAndroid10+MonoTouch10/Microsoft.Practices.Unity.dll rename src/packages/{Unity.2.0/lib/20 => Unity.4.0.1/lib/portable-net45+wp80+win8+wpa81+MonoAndroid10+MonoTouch10}/Microsoft.Practices.Unity.xml (94%) create mode 100644 src/packages/Unity.4.0.1/lib/win8/Microsoft.Practices.Unity.RegistrationByConvention.XML create mode 100644 src/packages/Unity.4.0.1/lib/win8/Microsoft.Practices.Unity.RegistrationByConvention.dll create mode 100644 src/packages/Unity.4.0.1/lib/win8/Microsoft.Practices.Unity.RegistrationByConvention.pri create mode 100644 src/packages/Unity.4.0.1/lib/win8/Microsoft.Practices.Unity.dll create mode 100644 src/packages/Unity.4.0.1/lib/win8/Microsoft.Practices.Unity.xml create mode 100644 src/packages/Unity.4.0.1/lib/wp80/Microsoft.Practices.Unity.RegistrationByConvention.XML create mode 100644 src/packages/Unity.4.0.1/lib/wp80/Microsoft.Practices.Unity.RegistrationByConvention.dll create mode 100644 src/packages/Unity.4.0.1/lib/wp80/Microsoft.Practices.Unity.dll create mode 100644 src/packages/Unity.4.0.1/lib/wp80/Microsoft.Practices.Unity.xml diff --git a/src/AutoMoq.Tests/AutoMoq.Tests.csproj b/src/AutoMoq.Tests/AutoMoq.Tests.csproj index 64dbe57..b1df383 100644 --- a/src/AutoMoq.Tests/AutoMoq.Tests.csproj +++ b/src/AutoMoq.Tests/AutoMoq.Tests.csproj @@ -38,14 +38,17 @@ false - - ..\packages\Unity.2.0\lib\20\Microsoft.Practices.ServiceLocation.dll + + ..\packages\CommonServiceLocator.1.3\lib\portable-net4+sl5+netcore45+wpa81+wp8\Microsoft.Practices.ServiceLocation.dll + True - - ..\packages\Unity.2.0\lib\20\Microsoft.Practices.Unity.dll + + ..\packages\Unity.4.0.1\lib\net45\Microsoft.Practices.Unity.dll + True - - ..\packages\Unity.2.0\lib\20\Microsoft.Practices.Unity.Configuration.dll + + ..\packages\Unity.4.0.1\lib\net45\Microsoft.Practices.Unity.Configuration.dll + True ..\packages\Unity.2.0\lib\20\Microsoft.Practices.Unity.Interception.dll @@ -53,6 +56,10 @@ ..\packages\Unity.2.0\lib\20\Microsoft.Practices.Unity.Interception.Configuration.dll + + ..\packages\Unity.4.0.1\lib\net45\Microsoft.Practices.Unity.RegistrationByConvention.dll + True + ..\packages\Moq.4.0.10827\lib\NET40\Moq.dll @@ -100,7 +107,9 @@ - + + Designer + diff --git a/src/AutoMoq.Tests/packages.config b/src/AutoMoq.Tests/packages.config index 304cdaf..6e2b72f 100644 --- a/src/AutoMoq.Tests/packages.config +++ b/src/AutoMoq.Tests/packages.config @@ -1,7 +1,8 @@  - - + + + \ No newline at end of file diff --git a/src/AutoMoq/AutoMoq.csproj b/src/AutoMoq/AutoMoq.csproj index f9121d9..e3d58ae 100644 --- a/src/AutoMoq/AutoMoq.csproj +++ b/src/AutoMoq/AutoMoq.csproj @@ -39,14 +39,17 @@ - - ..\packages\Unity.2.0\lib\20\Microsoft.Practices.ServiceLocation.dll + + ..\packages\CommonServiceLocator.1.3\lib\portable-net4+sl5+netcore45+wpa81+wp8\Microsoft.Practices.ServiceLocation.dll + True - - ..\packages\Unity.2.0\lib\20\Microsoft.Practices.Unity.dll + + ..\packages\Unity.4.0.1\lib\net45\Microsoft.Practices.Unity.dll + True - - ..\packages\Unity.2.0\lib\20\Microsoft.Practices.Unity.Configuration.dll + + ..\packages\Unity.4.0.1\lib\net45\Microsoft.Practices.Unity.Configuration.dll + True ..\packages\Unity.2.0\lib\20\Microsoft.Practices.Unity.Interception.dll @@ -54,6 +57,10 @@ ..\packages\Unity.2.0\lib\20\Microsoft.Practices.Unity.Interception.Configuration.dll + + ..\packages\Unity.4.0.1\lib\net45\Microsoft.Practices.Unity.RegistrationByConvention.dll + True + ..\packages\Moq.4.0.10827\lib\NET35\Moq.dll @@ -86,7 +93,9 @@ - + + Designer + Lx(9$~u)z85hGV5qHoyd7z7w0!v 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

C2ohjTr{Dr}tc%{D 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

TTEvD*8kZ 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 z�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�mJWB!}ra$Mon)*COK`^dm8bFHQUjpr1^ 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

K_7 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 diff --git a/src/packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.Configuration.dll b/src/packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.Configuration.dll deleted file mode 100644 index 619a5721fbf38fb75e5c4c8e48cd3684733c5569..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86840 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 PA!%X3Z9n}dZIt{U$PtCv diff --git a/src/packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.Interception.Configuration.xml b/src/packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.Interception.Configuration.xml deleted file mode 100644 index eda678d..0000000 --- a/src/packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.Interception.Configuration.xml +++ /dev/null @@ -1,716 +0,0 @@ - - - - Microsoft.Practices.Unity.Interception.Configuration - - - -

- Configuration element that lets you specify additional interfaces - to add when this type is intercepted. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Return the set of s that are needed - to configure the container according to this configuration element. - - Container that is being configured. - Type that is being registered. - Type that is being mapped to. - Name this registration is under. - One or more objects that should be - applied to the container registration. - - - - Type of interface to add. - - - - - Each element must have a unique key, which is generated by the subclasses. - - - - - Configuration element representing a call handler. - - - - - Base class for the two children of the Policy element: - MatchingRuleElement and CallHandlerElement. - - - - These configuration elements have a required "name" attribute, an optional "type" attribute, and - optional child elements <lifetime> and <injection> - - - Elements without a value for the type attribute can only have a value for the name attribute, and - indicate that the represented handler or rule is configured elsewhere and that a reference to - the given name must be added to the policy to be resolved, while elements with a value for the type - attribute indicate how the represented handler or rule should be built and can optionally specify - lifetime management and injection configuration. - - - This element is similar to the , except that it does not provide - an extension point for arbitrary configuration. - - - - - - Reads XML from the configuration file. - - The that reads from the configuration file. - true to serialize only the collection key properties; otherwise, false. - The element to read is locked. - - or - - An attribute of the current node is not recognized. - - or - - The lock status of the current node cannot be determined. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Name of this item - - - - - Type that implements this matching rule or call handler. - - - - - Injection members that control how this item is created. - - - - - Lifetime manager for this item. - - - - - A collection of s for configuration. - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - Causes the configuration system to throw an exception. - - - true if the unrecognized element was deserialized successfully; otherwise, false. The default is false. - - The name of the unrecognized element. - An input stream that reads XML from the configuration file. - The element specified in is the <clear> element. - starts with the reserved prefix "config" or "lock". - - - - - Retrieve a call handler element from the collection by name. - - Name to look up. - The rule, or null if not in the collection. - - - - The <default> element that appears inside an <interceptor> element. - - - - - Base class for the default and key elements that can occur - inside the <interceptor> element. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Actually register the interceptor against this type. - - Container to configure. - interceptor to register. - - - - Type name that this interceptor will be registered for. - - - - - Return the type object that is resolved from the property. - - The type object. - - - - Actually register the interceptor against this type. - - Container to configure. - interceptor to register. - - - - Configuration elmement for specifying - interception behaviors for a type. - - - - - Reads XML from the configuration file. - - The that reads from the configuration file. - true to serialize only the collection key properties; otherwise, false. - The element to read is locked. - - or - - An attribute of the current node is not recognized. - - or - - The lock status of the current node cannot be determined. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Return the set of s that are needed - to configure the container according to this configuration element. - - Container that is being configured. - Type that is being registered. - Type that is being mapped to. - Name this registration is under. - One or more objects that should be - applied to the container registration. - - - - Type of behavior to add. - - - - - Name of behavior to resolve. - - - - - Should this behavior be configured as a default behavior for this type, or - specifically for this type/name pair only? - - - - - Each element must have a unique key, which is generated by the subclasses. - - - - - Section extension class used to add the elements needed to configure - Unity interception to the configuration schema. - - - - - Add the extensions to the section via the context. - - Context object that can be used to add elements and aliases. - - - - A configuration element that contains the top-level container configuration - information for interception - handler policies and global interceptor definitions. - - - - - Gets a value indicating whether an unknown element is encountered during deserialization. - - - true when an unknown element is encountered while deserializing; otherwise, false. - - The name of the unknown subelement. - The being used for deserialization. - The element identified by is locked. - - or - - One or more of the element's attributes is locked. - - or - - is unrecognized, or the element has an unrecognized attribute. - - or - - The element has a Boolean attribute with an invalid value. - - or - - An attempt was made to deserialize a property more than once. - - or - - An attempt was made to deserialize a property that is not a valid member of the element. - - or - - The element cannot contain a CDATA or text element. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Apply this element's configuration to the given . - - Container to configure. - - - - Policies defined for this container. - - - - - Configuration element that lets you configure - what interceptor to use for a type. - - - - - Initialize a new . - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Return the set of s that are needed - to configure the container according to this configuration element. - - Container that is being configured. - Type that is being registered. - Type that is being mapped to. - Name this registration is under. - One or more objects that should be - applied to the container registration. - - - - Type name for the interceptor to apply. - - - - - Name to use when resolving interceptors from the container. - - - - - Should this interceptor be registered as the default for the contained - type, or only for this particular type/name pair? - - - - - Each element must have a unique key, which is generated by the subclasses. - - - - - A collection of objects as shown - in configuration. - - - - - When overridden in a derived class, creates a new . - - - A new . - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - Configuration element that provides a top-level element for - configuration interceptors for types in a container. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Apply this element's configuration to the given . - - Container to configure. - - - - The various child elements that are contained in this element. - - - - - Configuration element that represents the configuration for - a specific interceptor, as presented in the config file inside - the <interceptors> element. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Gets a value indicating whether an unknown element is encountered during deserialization. - - - true when an unknown element is encountered while deserializing; otherwise, false. - - The name of the unknown subelement. - The being used for deserialization. - The element identified by is locked. - - or - - One or more of the element's attributes is locked. - - or - - is unrecognized, or the element has an unrecognized attribute. - - or - - The element has a Boolean attribute with an invalid value. - - or - - An attempt was made to deserialize a property more than once. - - or - - An attempt was made to deserialize a property that is not a valid member of the element. - - or - - The element cannot contain a CDATA or text element. - - - - - Type of interceptor to configure. - - - - - The types that this interceptor will be registered against. - - - - - Any value passed to the type converter. - - - - - Type converter to use to create the interceptor, if any. - - - - - A collection of objects - as stored in configuration. - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - The <key> element that occurs inside an <interceptor> element - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Actually register the interceptor against this type. - - Container to configure. - interceptor to register. - - - - Name registration should be under. To register under the default, leave blank. - - - - - A configuration element representing a matching rule. - - - - - A collection of s for configuration. - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - Causes the configuration system to throw an exception. - - - true if the unrecognized element was deserialized successfully; otherwise, false. The default is false. - - The name of the unrecognized element. - An input stream that reads XML from the configuration file. - The element specified in is the <clear> element. - starts with the reserved prefix "config" or "lock". - - - - - Retrieve a matching rule element from the collection by name. - - Name to look up. - The rule, or null if not in the collection. - - - - Configuration element for building up an interception policy. - - - - - Gets a value indicating whether an unknown element is encountered during deserialization. - - - true when an unknown element is encountered while deserializing; otherwise, false. - - The name of the unknown subelement. - The being used for deserialization. - The element identified by is locked. - - or - - One or more of the element's attributes is locked. - - or - - is unrecognized, or the element has an unrecognized attribute. - - or - - The element has a Boolean attribute with an invalid value. - - or - - An attempt was made to deserialize a property more than once. - - or - - An attempt was made to deserialize a property that is not a valid member of the element. - - or - - The element cannot contain a CDATA or text element. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Name of this policy. - - - - - Matching rules for this policy. - - - - - Call handlers for this policy. - - - - - A collection of in the configuration. - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - Indexer to retrieve policy element objects by name. - - Name of policy to get. - The element. - - - - A shortcut element to enable the policy injection behavior. - - - - - Return the set of s that are needed - to configure the container according to this configuration element. - - Container that is being configured. - Type that is being registered. - Type that is being mapped to. - Name this registration is under. - One or more objects that should be - applied to the container registration. - - - - Each element must have a unique key, which is generated by the subclasses. - - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to The abstract type InterceptorRegistrationElement cannot be created. Please create a concrete instance.. - - - - - Looks up a localized string similar to The <injection/> element is not allowed on element named '{0}' because it doesn't have a type attribute.. - - - - - Looks up a localized string similar to The <lifetime/> element is not allowed on element named '{0}' because it doesn't have a type attribute.. - - - - - Looks up a localized string similar to The type name or alias {0} could not be resolved. Please check your configuration file and verify this type name.. - - - - - Looks up a localized string similar to Cannot create instance of type {0} with a default constructor.. - - - - - Looks up a localized string similar to The type name {0} resolved to type {1} is not compatible with the required type {2}.. - - - - - Looks up a localized string similar to The type {0} could not be resolved to a valid type. Please double check your configuration.. - - - - - Looks up a localized string similar to The interception behavior element must have at least one of the 'name' or 'type' attributes.. - - - - diff --git a/src/packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.Interception.dll b/src/packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.Interception.dll deleted file mode 100644 index 28b3c0e82e29288fd4e7882cc45542950b6a35f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 125752 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
#APajar=S$YRvt1hY?q21YS60Nr}?TI{X}TQ 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�lEamvgByrr36o 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 - - - Microsoft.Practices.Unity.Interception - - - - - Stores information about a single to be an additional interface for an intercepted object and - configures a container accordingly. - - - - - Stores information about a an intercepted object and configures a container accordingly. - - - - - Initializes a new instance of the with a - . - - A descriptor representing the interception behavior to use. - when is - . - when is not an interface. - - - - - Add policies to the to configure the container to use the represented - as an additional interface for the supplied parameters. - - Interface being registered. - Type to register. - Name used to resolve the type object. - Policy list to add policies to. - - - - Stores information about a single to be an additional interface for an intercepted object and - configures a container accordingly. - - The interface. - - - - Initializes a new instance of the . - - - - - An injection member that lets you specify behaviors that should - apply to all instances of a type in the container regardless - of what name it's resolved under. - - - - - Base class for injection members that allow you to add - interception behaviors. - - - - - Initializes a new instance of the with a - . - - The interception behavior to use. - - - - Initializes a new instance of the with a - given type/name pair. - - Type of behavior to - - - - - Initializes a new instance of the with a - given behavior type. - - Type of behavior to - - - - Add policies to the to configure the container to use the represented - for the supplied parameters. - - Interface being registered. - Type to register. - Name used to resolve the type object. - Policy list to add policies to. - - - - Get the list of behaviors for the current type so that it can be added to. - - Policy list. - Implementation type to set behaviors for. - Name type is registered under. - An instance of . - - - - Create a new that will - supply the given interception behavior to the container. - - Behavior to apply to this type. - - - - Create a new that will - resolve the given type/name pair to get the behavior. - - Type of behavior. - Name for behavior registration. - - - - Create a new that will - resolve the given type to get the behavior. - - Type of behavior. - - - - Get the list of behaviors for the current type so that it can be added to. - - Policy list. - Implementation type to set behaviors for. - Name type is registered under. - An instance of . - - - - A generic version of so you - can give the behavior type using generic syntax. - - Type of the behavior object to apply. - - - - Construct a new instance - that use the given type and name to resolve the behavior object. - - Name of the registration. - - - - Construct a new instance - that uses the given type to resolve the behavior object. - - - - - A that can be passed to the - method to specify - which interceptor to use. This member sets up the default - interceptor for a type - this will be used regardless of which - name is used to resolve the type. - - - - - Construt a new instance that, - when applied to a container, will register the given - interceptor as the default one. - - Interceptor to use. - - - - Construct a new that, when - applied to a container, will register the given type as - the default interceptor. - - Type of interceptor. - Name to use to resolve the interceptor. - - - - Construct a new that, when - applied to a container, will register the given type as - the default interceptor. - - Type of interceptor. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Type of interface being registered. If no interface, - this will be null. - Type of concrete type being registered. - Name used to resolve the type object. - Policy list to add policies to. - - - - A generic version of so that - you can specify the interceptor type using generics. - - - - - - Create a new instance of . - - Name to use when resolving interceptor. - - - - Create a new instance of . - - - - - An that accumulates a sequence of - instances representing the additional interfaces for an intercepted object. - - - - - An that returns a sequence of - instances representing the additional interfaces for an intercepted object. - - - - - Gets the instances accumulated by this policy. - - - - - Initializes a new instance of the class. - - - - - Gets the instances accumulated by this policy. - - - - - An implementation of that will - resolve the interceptor through the container. - - - - - An interface that determines when to intercept instances - and which interceptor to use. - - - - - Interceptor to use. - - Context for current build operation. - - - - Construct a new that - will resolve the interceptor using the given build key. - - build key to resolve. - - - - Interceptor to use. - - Context for current build operation. - - - - An implementation of that will - resolve the interceptor through the container. - - - - - Interface that controls when and how types get intercepted. - - - - - Interceptor to use to create type proxy - - Context for current build operation. - - - - Cache for proxied type. - - - - - construct a new that - will resolve the interceptor with the given . - - The build key to use to resolve. - - - - Interceptor to use to create type proxy - - Context for current build operation. - - - - Cache for proxied type. - - - - - High-level API for performing interception on existing and new objects. - - - - - Returns a for type which wraps - the supplied . - - The type to intercept. - The instance to intercept. - The to use when creating the proxy. - The interception behaviors for the new proxy. - Any additional interfaces the proxy must implement. - A proxy for compatible with . - when is . - when is . - when is . - when is . - when cannot intercept - . - - - - Returns a for type which wraps - the supplied . - - Type to intercept. - The instance to intercept. - The to use when creating the proxy. - The interception behaviors for the new proxy. - A proxy for compatible with . - when is . - when is . - when is . - when cannot intercept - . - - - - Returns a for type which wraps - the supplied . - - The type to intercept. - The instance to intercept. - The to use when creating the proxy. - The interception behaviors for the new proxy. - Any additional interfaces the proxy must implement. - A proxy for compatible with . - when is . - when is . - when is . - when is . - when is . - when cannot intercept - . - - - - Returns a for type which wraps - the supplied . - - The type to intercept. - The instance to intercept. - The to use when creating the proxy. - The interception behaviors for the new proxy. - A proxy for compatible with . - when is . - when is . - when is . - when is . - when cannot intercept - . - - - - Creates a new instance of type that is intercepted with the behaviors in - . - - The type of the object to create. - The to use when creating the proxy. - The interception behaviors for the new proxy. - Any additional interfaces the proxy must implement. - The arguments for the creation of the new instance. - An instance of a class compatible with that includes execution of the - given . - when is . - when is . - When is . - when cannot intercept - . - - - - Creates a new instance of type that is intercepted with the behaviors in - . - - The type of the object to create. - The to use when creating the proxy. - The interception behaviors for the new proxy. - The arguments for the creation of the new instance. - An instance of a class compatible with that includes execution of the - given . - when is . - when is . - when cannot intercept - . - - - - Creates a new instance of type that is intercepted with the behaviors in - . - - The type of the object to create. - The to use when creating the proxy. - The interception behaviors for the new proxy. - Any additional interfaces the instance must implement. - The arguments for the creation of the new instance. - An instance of a class compatible with that includes execution of the - given . - when is . - when is . - when is . - when is . - when cannot intercept - . - - - - Creates a new instance of type that is intercepted with the behaviors in - . - - The type of the object to create. - The to use when creating the proxy. - The interception behaviors for the new proxy. - The arguments for the creation of the new instance. - An instance of a class compatible with that includes execution of the - given . - when is . - when is . - when is . - when cannot intercept - . - - - - Computes the array with all the additional interfaces for the interception of an object. - - The interception behaviors for the new proxy. - Any additional interfaces the instance must implement. - An array with the required interfaces for - when the interfaces are not valid. - - - - Stores information about the to be used to intercept an object and - configures a container accordingly. - - - - - - Initializes a new instance of the class with an interceptor instance. - - The to use. - when is - . - - - - Initialize a new instance of the class with a given - name and type that will be resolved to provide interception. - - Type of the interceptor - name to use to resolve. - - - - Initialize a new instance of the class with - a given type that will be resolved to provide interception. - - Type of the interceptor. - - - - Add policies to the to configure the container to use the represented - for the supplied parameters. - - Interface being registered. - Type to register. - Name used to resolve the type object. - Policy list to add policies to. - - - - Generic version of that lets you specify an interceptor - type using generic syntax. - - Type of interceptor - - - - Initialize an instance of that will - resolve the given interceptor type. - - - - - Initialize an instance of that will - resolve the given interceptor type and name. - - Name that will be used to resolve the interceptor. - - - - A simple data holder class used to store information about the current - interception operation that's being set up. Useful for creating behaviors - that need to know this stuff (especially the PIAB behavior). - - - - - Create a new instance of that - stores the given , - , and . - - that will be used to - create the intercepting type or proxy. - Type that interception was requested on. - Type of the object that will actually be intercepted. - - - - that will be used to - create the intercepting type or proxy. - - - - - Type that interception was requested on. - - - - - Type of the object that will actually be intercepted. - - - - - This interface is implemented by all proxy objects, type or instance based. - It allows for adding interception behaviors. - - - - - Adds a to the proxy. - - The to add. - - - - Base interface for type and instance based interceptor classes. - - - - - Can this interceptor generate a proxy for the given type? - - Type to check. - True if interception is possible, false if not. - - - - Returns a sequence of methods on the given type that can be - intercepted. - - Type that was specified when this interceptor - was created (typically an interface). - The concrete type of the implementing object. - Sequence of objects. - - - - Interface for interceptors that generate separate proxy - objects to implement interception on instances. - - - - - Create a proxy object that provides interception for . - - Type to generate the proxy of. - Object to create the proxy for. - Additional interfaces the proxy must implement. - The proxy object. - - - - Implementation of that returns a - pre-created interceptor. - - - - - Create a new instance of . - - Interceptor to store. - - - - Interceptor to use. - - Context for current build operation. - - - - A that intercepts objects - in the build chain by creating a proxy object. - - - - - Called during the chain of responsibility for a build operation. The - PostBuildUp method is called when the chain has finished the PreBuildUp - phase and executes in reverse order from the PreBuildUp calls. - - Context of the build operation. - - - - An instance interceptor that works by generating a - proxy class on the fly for a single interface. - - - - - Can this interceptor generate a proxy for the given type? - - Type to check. - True if interception is possible, false if not. - - - - Returns a sequence of methods on the given type that can be - intercepted. - - Type that was specified when this interceptor - was created (typically an interface). - The concrete type of the implementing object. - Sequence of objects. - - - - Create a proxy object that provides interception for . - - Type to generate the proxy of. - Object to create the proxy for. - Additional interfaces the proxy must implement. - The proxy object. - - - - A class used to generate proxy classes for doing interception on - interfaces. - - - - - Create an instance of that - can construct an intercepting proxy for the given interface. - - Type of the interface to intercept. - Additional interfaces the proxy must implement. - - - - Create the type to proxy the requested interface - - - - - - Represents the implementation of an interface method. - - - - - Used to throw an for non-implemented methods on the - additional interfaces. - - - - - This class provides the remoting-based interception mechanism. It is - invoked by a call on the corresponding TransparentProxy - object. It routes calls through the handlers as appropriate. - - - - - Creates a new instance that applies - the given policies to the given target object. - - Target object to intercept calls to. - Type to return as the type being proxied. - Additional interfaces the proxy must implement. - - - - Adds a to the proxy. - - The to add. - - - - Checks whether the proxy that represents the specified object type can be cast to the type represented by the interface. - - - - true if cast will succeed; otherwise, false. - - - The type to cast to. - The object for which to check casting. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - - Executes a method call represented by the - parameter. The CLR will call this method when a method is called - on the TransparentProxy. This method runs the invocation through - the call handler pipeline and finally sends it down to the - target object, and then back through the pipeline. - - An object that contains the information - about the method call. - An object contains the - information about the target method's return value. - - - - Returns the target of this intercepted call. - - The target object. - - - - Gets or sets the fully qualified type name of the server object in a . - - - - The fully qualified type name of the server object in a . - - - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - - An instance interceptor that uses remoting proxies to do the - interception. - - - - - Can this interceptor generate a proxy for the given type? - - Type to check. - True if interception is possible, false if not. - - - - Returns a sequence of methods on the given type that can be - intercepted. - - The intercepted type. - The concrete type of the implementing object. - Sequence of objects. - - - - Create a proxy object that provides interception for . - - Type to generate the proxy of. - Object to create the proxy for. - Additional interfaces the proxy must implement. - The proxy object. - - - - A dumb data holder that returns the methodinfo for both an - interface method and the method that implements that interface - method. - - - - - Construct a new which holds - the given objects. - - MethodInfo for the interface method (may be null if no interface). - MethodInfo for implementing method. - - - - Determines whether the specified is equal to the current . - - - true if the specified is equal to the current ; otherwise, false. - - - The to compare with the current . - - - The parameter is null. - 2 - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - 2 - - - - Standard equals operator - - - - - standard not equal operator. - - - - - Returns a that represents the current . - - - A that represents the current . - - 2 - - - - The interface method MethodInfo. - - - - - The implementing method MethodInfo. - - - - - Interface for interceptor objects that generate - proxy types. - - - - - Create a type to proxy for the given type . - - Type to proxy. - Additional interfaces the proxy must implement. - New type that can be instantiated instead of the - original type t, and supports interception. - - - - Implementation of that returns a precreated - interceptor object. - - - - - Create a new instance of that - uses the given . - - Interceptor to use. - - - - Interceptor to use to create type proxy - - Context for current build operation. - - - - Cache for proxied type. - - - - - A that hooks up type interception. It looks for - a for the current build key, or the current - build type. If present, it substitutes types so that that proxy class gets - built up instead. On the way back, it hooks up the appropriate handlers. - - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - In this class, PreBuildUp is responsible for figuring out if the - class is proxiable, and if so, replacing it with a proxy class. - Context of the build operation. - - - - Called during the chain of responsibility for a build operation. The - PostBuildUp method is called when the chain has finished the PreBuildUp - phase and executes in reverse order from the PreBuildUp calls. - - In this class, PostBuildUp checks to see if the object was proxyable, - and if it was, wires up the handlers. - Context of the build operation. - - - - This class provides the code needed to implement the - interface on a class. - - - - - This class handles parameter type mapping. When we generate - a generic method, we need to make sure our parameter type - objects line up with the generic parameters on the generated - method, not on the one we're overriding. - - - - - A utility class that takes a set of s - and pulls out shadowed methods, only returning the ones that - are actually accessible to be overriden. - - - - - Take the list of methods and put them together into lists index by method name. - - Methods to sort through. - - - - Given a list of overloads for a method, return only those methods - that are actually visible. In other words, if there's a "new SomeType" method - somewhere, return only the new one, not the one from the base class - that's now hidden. - - Sequence of methods to process. - Sequence of returned methods. - - - - Take a semi-randomly ordered set of methods on a type and - sort them into groups by name and by parameter list. - - The list of methods. - Sequence of lists of methods, grouped by method name. - - - - Given a set of hiding overloads, return only the currently visible one. - - The set of overloads. - The most visible one. - - - - Given a method, return a value indicating how deeply in the - inheritance hierarchy the method is declared. Current type = 0, - parent = 1, grandparent = 2, etc. - - Method to check. - Declaration depth - - - - A implementation that can compare two - based on their parameter lists. - - First to compare. - Second to compare. - < 0, 0, or > 0 based on which one is "greater" than the other. - - - - Compare two parameter lists. - - First parameter list. - Second parameter list. - < 0, 0, or > 0. - - - - Compare two objects by type. - - First - First - < 0, 0, or > 0 - - - - A type based interceptor that works by generated a new class - on the fly that derives from the target class. - - - - - Can this interceptor generate a proxy for the given type? - - Type to check. - True if interception is possible, false if not. - - - - Returns a sequence of methods on the given type that can be - intercepted. - - The intercepted type. - The concrete type of the implementing object. - Sequence of objects. - - - - Create a type to proxy for the given type . - - Type to proxy. - Additional interfaces the proxy must implement. - New type that can be instantiated instead of the - original type t, and supports interception. - - - - An that returns a sequence of - instances for an intercepted object. - - - - - Get the set of object to be used for the given type and - interceptor. - - - This method will return a sequence of s. These behaviors will - only be included if their properties are true. - - Context for the current build operation. - Interceptor that will be used to invoke the behavior. - Type that interception was requested on. - Type that implements the interception. - - - - - Get the set of that can be used to resolve the - behaviors. - - - - - Key for handler pipelines. - - - - - Creates a new for the supplied method. - - The method for the key. - The new key. - - - - Compare two instances. - - Object to compare to. - True if the two keys are equal, false if not. - - - - Calculate a hash code for this instance. - - A hash code. - - - - Compare two instances for equality. - - First of the two keys to compare. - Second of the two keys to compare. - True if the values of the keys are the same, else false. - - - - Compare two instances for inequality. - - First of the two keys to compare. - Second of the two keys to compare. - false if the values of the keys are the same, else true. - - - - Compare two instances. - - Object to compare to. - True if the two keys are equal, false if not. - - - - A collection of objects, indexed - by . Returns an empty pipeline if a - MethodBase is requested that isn't in the dictionary. - - - - - Retrieve the pipeline assocated with the requested . - - The method for which the pipeline is being requested. - The handler pipeline for the given method. If no pipeline has - been set, returns a new empty pipeline. - - - - Set a new pipeline for a method. - - The method on which the pipeline should be set. - The new pipeline. - - - - Get the pipeline for the given method, creating it if necessary. - - Method to retrieve the pipeline for. - Handlers to initialize the pipeline with - True if the pipeline has any handlers in it, false if not. - - - - Attribute used to indicate that no interception should be applied to - the attribute target. - - - - - A class that reads and constructs handlers - based on on the target. - - - - - Base class for Policies that specifies which handlers apply to which methods of an object. - - - This base class always enforces the - before - passing the checks onto derived classes. This way, derived classes do not need to - worry about implementing this check. - It also means that derived classes cannot override this rule. This is considered a feature. - - - - Creates a new empty Policy. - - - - - Creates a new empty policy with the given name. - - Name of the policy. - - - - Checks if the rules in this policy match the given member info. - - MemberInfo to check against. - true if ruleset matches, false if it does not. - - - - Returns ordered collection of handlers in order that apply to the given member. - - Member that may or may not be assigned handlers by this policy. - The to use when creating handlers, - if necessary. - Collection of handlers (possibly empty) that apply to this member. - - - - Given a method on an object, return the set of MethodBases for that method, - plus any inteface methods that the member implements. - - Member to get Method Set for. - The set of methods - - - - Derived classes implement this method to calculate if the policy - will provide any handler to the specified member. - - Member to check. - true if policy applies to this member, false if not. - - - - Derived classes implement this method to supply the list of handlers for - this specific member. - - Member to get handlers for. - The to use when creating handlers, - if necessary. - Enumerable collection of handlers for this method. - - - - Gets the name of this policy. - - The name of the policy. - - - - Constructs a new instance of the . - - - - - Derived classes implement this method to calculate if the policy - will provide any handler to the specified member. - - Member to check. - true if policy applies to this member, false if not. - - - - Derived classes implement this method to supply the list of handlers for - this specific member. - - Member to get handlers for. - The to use when creating handlers, - if necessary. - Enumerable collection of handlers for this method. - - - - Base class for handler attributes used in the attribute-driven - interception policy. - - - - - Derived classes implement this method. When called, it - creates a new call handler as specified in the attribute - configuration. - - The to use when creating handlers, - if necessary. - A new call handler object. - - - - Gets or sets the order in which the handler will be executed. - - - - - The HandlerPipeline class encapsulates a list of s - and manages calling them in the proper order with the right inputs. - - - - - Creates a new with an empty pipeline. - - - - - Creates a new with the given collection - of s. - - Collection of handlers to add to the pipeline. - - - - Execute the pipeline with the given input. - - Input to the method call. - The ultimate target of the call. - Return value from the pipeline. - - - - Get the number of handlers in this pipeline. - - - - - Handlers implement this interface and are called for each - invocation of the pipelines that they're included in. - - - - - Implement this method to execute your handler processing. - - Inputs to the current call to the target. - Delegate to execute to get the next delegate in the handler - chain. - Return value from the target. - - - - Order in which the handler will be executed - - - - - This delegate type is the type that points to the next - method to execute in the current pipeline. - - Inputs to the current method call. - Delegate to get the next handler in the chain. - Return from the next method in the chain. - - - - This delegate type is passed to each handler's Invoke method. - Call the delegate to get the next delegate to call to continue - the chain. - - Next delegate in the handler chain to call. - - - - This interface is implemented by the matching rule classes. - A Matching rule is used to see if a particular policy should - be applied to a class member. - - - - - Tests to see if this rule applies to the given member. - - Member to test. - true if the rule applies, false if it doesn't. - - - - This interface is used to represent the call to a method. - An implementation of IMethodInvocation is passed to the - call handlers so that they may manipulate the call - (typically by changing the parameters) before the final target - gets called. - - - - - Factory method that creates the correct implementation of - IMethodReturn. - - Return value to be placed in the IMethodReturn object. - All arguments passed or returned as out/byref to the method. - Note that this is the entire argument list, including in parameters. - New IMethodReturn object. - - - - Factory method that creates the correct implementation of - IMethodReturn in the presence of an exception. - - Exception to be set into the returned object. - New IMethodReturn object - - - - Gets the inputs for this call. - - - - - Collection of all parameters to the call: in, out and byref. - - - - - Retrieves a dictionary that can be used to store arbitrary additional - values. This allows the user to pass values between call handlers. - - - - - The object that the call is made on. - - - - - The method on Target that we're aiming at. - - - - - This interface is used to represent the return value from a method. - An implementation of IMethodReturn is returned by call handlers, and - each handler can manipulate the parameters, return value, or add an - exception on the way out. - - - - - The collection of output parameters. If the method has no output - parameters, this is a zero-length list (never null). - - - - - Returns value from the method call. - - This value is null if the method has no return value. - - - - If the method threw an exception, the exception object is here. - - - - - Retrieves a dictionary that can be used to store arbitrary additional - values. This allows the user to pass values between call handlers. - - This is guaranteed to be the same dictionary that was used - in the IMethodInvocation object, so handlers can set context - properties in the pre-call phase and retrieve them in the after-call phase. - - - - - A Unity container extension that allows you to configure - whether an object should be intercepted and which mechanism should - be used to do it, and also provides a convenient set of methods for - configuring injection for instances. - - - - - - - - - - Initial the container with this extension's functionality. - - - - - API to configure interception for a type. - - Type to intercept. - Name type is registered under. - Interceptor to use. - This extension object. - - - - API to configure interception for a type. - - Type to intercept. - Interceptor to use. - This extension object. - - - - API to configure interception for a type. - - Type to intercept - Name type is registered under. - Interceptor object to use. - This extension object. - - - - API to configure interception for a type. - - Type to intercept - Interceptor object to use. - This extension object. - - - - API to configure interception for a type. - - Type to intercept. - Name type is registered under. - Instance interceptor to use. - This extension object. - - - - Set the interceptor for a type, regardless of what name is used to resolve the instances. - - Type to intercept - Interceptor instance. - This extension object. - - - - Set the interceptor for a type, regardless of what name is used to resolve the instances. - - Type to intercept - Interceptor instance. - This extension object. - - - - API to configure interception for a type. - - Type to intercept. - Instance interceptor to use. - This extension object. - - - - API to configure interception for a type. - - Type to intercept. - Name type is registered under. - Instance interceptor to use. - This extension object. - - - - API to configure interception for a type. - - Type to intercept. - Instance interceptor to use. - This extension object. - - - - API to configure the default interception settings for a type. - - Type the interception is being configured for. - The interceptor to use by default. - This extension object. - - - - API to configure the default interception settings for a type. - - Type the interception is being configured for. - The interceptor to use by default. - This extension object. - - - - Starts the definition of a new . - - The policy name. - - This is a convenient way for defining a new policy and the - instances and instances that are required by a policy. - - This mechanism is just a shortcut for what can be natively expressed by wiring up together objects - with repeated calls to the method. - - - - - This interface represents a list of either input or output - parameters. It implements a fixed size list, plus a couple - of other utility methods. - - - - - Gets the name of a parameter based on index. - - Index of parameter to get the name for. - Name of the requested parameter. - - - - Gets the ParameterInfo for a particular parameter by index. - - Index for this parameter. - ParameterInfo object describing the parameter. - - - - Gets the ParameterInfo for a particular parameter by name. - - Name of the parameter. - ParameterInfo object for the named parameter. - - - - Fetches a parameter's value by name. - - parameter name. - value of the named parameter. - - - - A is a matching rule that - is a collection of other matching rules. All the contained - rules much match for the set to match. - - - - - Tests the given member against the ruleset. The member matches - if all contained rules in the ruleset match against it. - - If the ruleset is empty, then Matches passes since no rules failed. - MemberInfo to test. - true if all contained rules match, false if any fail. - - - - A implementation that fails to match - if the method in question has the ApplyNoPolicies attribute on it. - - - - - Check if the matches this rule. - - This rule returns true if the member does NOT have the - on it, or a containing type doesn't have the attribute. - Member to check. - True if the rule matches, false if it doesn't. - - - - An that matches the assembly name of the - given member. - - - - - Constructs a new with the given - assembly name (or partial name). - - Assembly name to match. - - - - Constructs a new that matches - against the given assembly. - - Assembly to match. - - - - Determines if the supplied matches the rule. - - - This rule matches if the assembly containing the given - matches the name given. The rule used for matches lets you include the parts - of the assembly name in order. You can specify assembly name only, assembly and version, - assembly, version and culture, or the fully qualified assembly name. - - Member to check. - true if is in a matching assembly, false if not. - - - - An implementation of that checks to see if the - member (or type containing that member) have any s. - - - - - Checks to see if matches the rule. - - Returns true if any s are present on the method - or the type containing that method. - Member to check. - true if member matches, false if not. - - - - An implementation of that checks to see if - the member tested has an arbitrary attribute applied. - - - - - Constructs a new . - - Attribute to match. - If true, checks the base class for attributes as well. - - - - Checks to see if the given matches the rule. - - Member to check. - true if it matches, false if not. - - - - Class used for storing information about a single name/ignoreCase - pair. This class is also used as a base class for other classes that - need this pair plus some other properties. - - - - - Constructs an empty object with empty - string and ignoreCase = false. - - - - - Constructs a object that matches the given - string. IgnoreCase is false. - - The name to match. - - - - Constructs a object that matches the - given string, setting the ignoreCase flag to the given value. - - The name to match. - true to do case insensitive comparison, false to do case sensitive. - - - - Gets or sets the name to match. - - The name to match. - - - - Gets or sets whether to do case sensitive comparisons of Match. - - If false, case sensitive comparison. If true, case insensitive comparisons. - - - - A matching rule that matches when the given member name is - the same as the one supplied in the constructor. - - - - - Create a new that matches the - given member name. Wildcards are allowed. - - Name to match against. Comparison is case sensitive. - - - - Create a new that matches the - given member name. Wildcards are allowed. - - Name to match against. - If false, name comparisons are case sensitive. If true, name comparisons are case insensitive. - - - - Create a new that matches the - given member names. Wildcards are allowed. - - collections of names to match. If any of these patterns match, the rule matches. Comparisons are case sensitive. - - - - Create a new that matches the - given member names. Wildcards are allowed. - - Collections of names to match. If any of these patterns match, the rule matches. - If false, name comparisons are case sensitive. If true, name comparisons are case insensitive. - - - - Create a new that matches - one of the given member names. Wildcards are allowed. - - List of objects containing - the pattern to match and case sensitivity flag. - - - - Check if the given matches one of this - object's matching patterns. - - Member to check. - True if matches, false if not. - - - - Match methods with the given names and method signature. - - - - - Creates a new that matches methods - with the given name, with parameter types matching the given list. - - Method name to match. Wildcards are allowed. - Parameter type names to match, in order. Wildcards are allowed. - If false, name comparisons are case sensitive. If true, name comparisons are case insensitive. - - - - Create a new that matches methods - with the given name, with parameter types matching the given list. - - Name comparisons are case sensitive. - Method name to match. Wildcards are allowed. - Parameter type names to match, in order. Wildcards are allowed. - - - - Create a new that matches any method - with parameter types matching the given list. - - Name comparisons are case sensitive. - Parameter type names to match, in order. Wildcards are allowed. - - - - Create a new that matches any method - with parameter types matching the given list. - - Parameter type names to match, in order. Wildcards are allowed. - If false, name comparisons are case sensitive. If true, name comparisons are case insensitive. - - - - Check to see if the given method matches the name and signature. - - Member to check. - True if match, false if not. - - - - An that matches members in a given namespace. You can - specify either a single namespace (e.g. System.Data) or a namespace root - (e.g. System.Data.* to match types in that namespace or below. - - - - - Create a new that matches the given - namespace. - - namespace name to match. Comparison is case sensitive. - - - - Create a new that matches the given - namespace. - - namespace name to match. - If false, comparison is case sensitive. If true, comparison is case insensitive. - - - - Create a new that matches any of - the given namespace names. - - Collection of namespace names to match. - - - - Check to see if the given is in a namespace - matched by any of our given namespace names. - - member to check. - True if member is contained in a matching namespace, false if not. - - - - A helper class that encapsulates the name to match, case sensitivity flag, - and the wildcard rules for matching namespaces. - - - - - Construct a new that matches the - given namespace name. - - Namespace name to match. - If false, comparison is case sensitive. If true, comparison is case insensitive. - - - - Check if the given type is in a matching namespace. - - Type to check. - True if type is in a matching namespace, false if not. - - - - An that matches methods that have any parameters - of the given types. - - - - - Creates a new that matches if any of - the method parameters match ones in the given collection. - - Collection of that - describes the types to match. - - - - Check the given member to see if it has any matching parameters. - - Member to match. - true if member matches, false if it doesn't. - - - - The list of describing the parameter types to match. - - The collection of matches. - - - - Describes the type of parameter to match. - - - - - Input parameter - - - - - Output parameter - - - - - Input or output parameter - - - - - Method return value - - - - - A class that stores information about a single type to match. - - - - - Creates a new uninitialized . - - - - - Creates a new matching the given kind of parameter. - - of parameter to match. - - - - Creates a new matching the given parameter - type and kind. - - Parameter name to match. - of parameter to match. - - - - Creates a new matching the given parameter - type and kind. - - Parameter name to match. - If false, compare type names using case-sensitive comparison. - If true, compare type names using case-insensitive comparison. - of parameter to match. - - - - What kind of parameter to match. - - indicating which kind of parameters to match. - - - - An implementation that matches properties - by name. You can match the getter, setter, or both. - - - - - Construct a new that matches the - getter or setter of the given property. - - Name of the property. Name comparison is case sensitive. Wildcards are allowed. - - - - Constructs a new that matches the - given method of the given property. - - Name of the property. Name comparison is case sensitive. Wildcards are allowed. - Match the getter, setter, or both. - - - - Constructs a new that matches the - given method of the given property. - - Name of the property to match. Wildcards are allowed. - Match the getter, setter, or both. - If false, name comparison is case sensitive. If true, name comparison is case insensitive. - - - - Constructs a new that matches any of the - given properties. - - Collection of defining which - properties to match. - - - - Checks if the given member matches the rule. - - Member to check. - True if it matches, false if it does not. - - - - Specifies which methods of a property should be matches by - the . - - - - - Match the property getter method. - - - - - Match the property setter method. - - - - - Match either the getter or setter method. - - - - - Information about a property match. - - - - - Construct a new that matches the get or set methods - of the given property name, and does a case-sensitive comparison. - - Property name to match. - - - - Constructs a new that matches the given methods of - the given property name, doing a case-sensitive comparison. - - Property name to match. - specifying which methods of the property to match. - - - - Construt a new that matches the given methods of - the given property name. - - Property name to match. - specifying which methods of the property to match. - If false, name comparison is case sensitive. If true, name comparison is case insensitive. - - - - The to use when doing name comparisons on this property. - - Specifies which methods of the property to match. - - - - An that checks to see if a member has a specified - type. - - - - - Construct a new that matches - members with the given return type. - - Type to look for. - - - - Construct a new that matches - the given return type by name. - - See the class for details on how - type name matches are done. - Type name to match. Name comparisons are case sensitive. - - - - Construct a new that matches - the given return type by name. - - See the class for details on how - type name matches are done. - Type name to match. - If false, name comparison is case sensitive. If true, comparison - is case insensitive. - - - - Check to see if the given member has a matching return type. - - Member to check. - true if return types match, false if they don't. - - - - A that checks a member for the presence - of the on the method, property, or class, and - that the given string matches. - - - - - Constructs a new , looking for - the given string. The comparison is case sensitive. - - tag string to match. - - - - Constructs a new , looking for - the given string. The comparison is case sensitive if is - false, case insensitive if is true. - - tag string to match. - if false, case-senstive comparison. If true, case-insensitive comparison. - - - - Check the given member for the presence of the and - match the strings. - - Member to check. - True if tag strings match, false if they don't. - - - - A matching rule that matches when the member is declared - in the given type. - - - - - Constructs a new that matches the - given type. - - The type to match. - - - - Constructs a new that matches types - with the given name. - - Comparisons are case sensitive. - Type name to match. - - - - Constructs a new that matches types - with the given name, using the given case sensitivity. - - Type name to match. - if false, do case-sensitive comparison. If true, do case-insensitive. - - - - Constructs a new that will match - any of the type names given in the collection of match information. - - The match information to match. - - - - Checks if the given member matches any of this object's matches. - - Member to match. - True if match, false if not. - - - - Checks if the given type matches any of this object's matches. - - Matches may be on the namespace-qualified type name or just the type name. - Type to check. - True if it matches, false if it doesn't. - - - - An implementation of that wraps a provided array - containing the argument values. - - - - - Construct a new that wraps the - given array of arguments. - - Complete collection of arguments. - Type information about about each parameter. - A that indicates - whether a particular parameter is part of the collection. Used to filter out only input - parameters, for example. - - - - Gets the ParameterInfo for a particular parameter by index. - - Index for this parameter. - ParameterInfo object describing the parameter. - - - - Gets the for the given named parameter. - - Name of parameter. - for the requested parameter. - - - - Gets the name of a parameter based on index. - - Index of parameter to get the name for. - Name of the requested parameter. - - - - Adds to the collection. This is a read only collection, so this method - always throws . - - Object to add. - Nothing, always throws. - Always throws this. - - - - Checks to see if the collection contains the given object. - - Tests for the object using object.Equals. - Object to find. - true if object is in collection, false if it is not. - - - - Remove all items in the collection. This collection is fixed-size, so this - method always throws . - - This is always thrown. - - - - Returns the index of the given object, or -1 if not found. - - Object to find. - zero-based index of found object, or -1 if not found. - - - - Inserts a new item. This is a fixed-size collection, so this method throws . - - Index to insert at. - Always throws. - Always throws this. - - - - Removes the given item. This is a fixed-size collection, so this method throws . - - Always throws. - Always throws this. - - - - Removes the given item. This is a fixed-size collection, so this method throws . - - Always throws. - Always throws this. - - - - Copies the contents of this collection to the given array. - - Destination array. - index to start copying from. - - - - Gets an enumerator object to support the foreach construct. - - Enumerator object. - - - - Fetches a parameter's value by name. - - parameter name. - value of the named parameter. - - - - Gets the value of a parameter based on index. - - Index of parameter to get the value for. - Value of the requested parameter. - - - - Is this collection read only? - - No, it is not read only, the contents can change. - - - - Is this collection fixed size? - - Yes, it is. - - - - Total number of items in the collection. - - The count. - - - - Gets a synchronized version of this collection. WARNING: Not implemented completely, - DO NOT USE THIS METHOD. - - - - - Is the object synchronized for thread safety? - - No, it isn't. - - - - An internal struct that maps the index in the arguments collection to the - corresponding about that argument. - - - - - Construct a new object linking the - given index and object. - - Index into arguments array (zero-based). - for the argument at . - - - - Transient class that supports convenience method for specifying interception policies. - - - - - Adds a reference to matching rule by name. - - The name for the matching rule. - - The than allows further configuration of the policy. - - - The details of how the rule should be created by the container must be specified using a - standard injection specification mechanism. - - - - - Makes a matching rule in the current policy. - - The new for the policy. - - The than allows further configuration of the policy. - - - - - Configures injection for a new and makes it available - as a matching rule in the current policy. - - The type for the new matching rule. - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - Configures injection for a new and makes it available - as a matching rule in the current policy, using the given . - - The type for the new matching rule. - The that controls the lifetime - of the configured matching rule. - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - Configures injection for a new using the specified name - and makes it available as a matching rule in the current policy. - - The type for the new matching rule. - The name for the injection configuration for the matching rule. - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - Configures injection for a new and makes it available - as a matching rule in the current policy, using the given . - - The type for the new matching rule. - The name for the injection configuration for the matching rule. - The that controls the lifetime - of the configured matching rule. - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - Configures injection for a new and makes it available - as a matching rule in the current policy. - - The type for the new matching rule. - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - Configures injection for a new and makes it available - as a matching rule in the current policy, using the given . - - The type for the new matching rule. - The that controls the lifetime - of the configured matching rule. - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - Configures injection for a new using the specified name - and makes it available as a matching rule in the current policy. - - The type for the new matching rule. - The name for the injection configuration for the matching rule. - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - Configures injection for a new using the specified name - and makes it available as a matching rule in the current policy, - using the given . - - The type for the new matching rule. - The name for the injection configuration for the matching rule. - The that controls the lifetime - of the configured matching rule. - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - Adds a reference to call handler by name. - - The name for the call handler. - - The than allows further configuration of the policy. - - - The details of how the handler should be created by the container must be specified using a - standard injection specification mechanism. - - - - - Makes a call handler in the current policy. - - The new for the policy. - - The than allows further configuration of the policy. - - - - - Configures injection for a new and makes it available - as a call handler in the current policy. - - The type for the new call handler. - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - Configures injection for a new and makes it available - as a call handler in the current policy, using the given . - - The type for the new call handler. - The that controls the lifetime - of the configured call handler. - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - Configures injection for a new using the specified name - and makes it available as a call handler in the current policy. - - The type for the new call handler. - The name for the injection configuration for the call handler. - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - Configures injection for a new using the specified name - and makes it available as a call handler in the current policy, - using the given . - - The type for the new call handler. - The name for the injection configuration for the call handler. - The that controls the lifetime - of the configured call handler. - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - Configures injection for a new and makes it available - as a call handler in the current policy. - - The type for the new call handler. - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - Configures injection for a new and makes it available - as a call handler in the current policy, using the given . - - The type for the new call handler. - The that controls the lifetime - of the configured call handler. - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - Configures injection for a new using the specified name - and makes it available as a call handler in the current policy. - - The type for the new call handler. - The name for the injection configuration for the call handler . - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - Configures injection for a new using the specified name - and makes it available as a call handler in the current policy, - using the given . - - The type for the new call handler. - The name for the injection configuration for the call handler . - The that controls the lifetime - of the configured call handler. - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - The that is currently being - configured. - - - - - The extension to which the policy was added. - - - Use this property to start adding a new policy. - - - - - A collection of Policy objects. The policies within a PolicySet combine using - an "or" operation. - - - - - Creates a new containing the given policies. - - Policies to put into the policy set. - - - - Gets the policies that apply to the given member. - - Member to get policies for. - Collection of policies that apply to this member. - - - - Gets the policies in the that do not - apply to the given member. - - Member to check. - Collection of policies that do not apply to . - - - - Gets the handlers that apply to the given member based on all policies in the . - - Member to get handlers for. - The to use when creating handlers, - if necessary. - Collection of call handlers for . - - - - Interceptor that performs policy injection. - - - - - Interception behaviors implement this interface and are called for each - invocation of the pipelines that they're included in. - - - - - Implement this method to execute your behavior processing. - - Inputs to the current call to the target. - Delegate to execute to get the next delegate in the behavior chain. - Return value from the target. - - - - Returns the interfaces required by the behavior for the objects it intercepts. - - The required interfaces. - - - - Returns a flag indicating if this behavior will actually do anything when invoked. - - This is used to optimize interception. If the behaviors won't actually - do anything (for example, PIAB where no policies match) then the interception - mechanism can be skipped completely. - - - - Initializes a new instance of the with a pipeline manager. - - The for the new instance. - - - - Initializes a new instance of the with the given information - about what's being intercepted and the current set of injection policies. - - Information about what will be injected. - Current injection policies. - Unity container that can be used to resolve call handlers. - - - - Applies the policy injection handlers configured for the invoked method. - - Inputs to the current call to the target. - Delegate to execute to get the next delegate in the handler - chain. - Return value from the target. - - - - Returns the interfaces required by the behavior for the objects it intercepts. - - An empty array of interfaces. - - - - Returns a flag indicating if this behavior will actually do anything when invoked. - - This is used to optimize interception. If the behaviors won't actually - do anything (for example, PIAB where no policies match) then the interception - mechanism can be skipped completely. - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to Intercepted abstract method was invoked.. - - - - - Looks up a localized string similar to Additional interfaces do not have an implementation.. - - - - - Looks up a localized string similar to The additional interfaces supplied are invalid: {0}. - - - - - Looks up a localized string similar to Type must be a subclass of System.Attribute.. - - - - - Looks up a localized string similar to Could not create instance of type {0} with no constructor arguments.. - - - - - Looks up a localized string similar to Collection contains a null element.. - - - - - Looks up a localized string similar to The collection of interfaces is null.. - - - - - Looks up a localized string similar to The required interfaces for behavior {1} are invalid: {0}. - - - - - Looks up a localized string similar to The type {0} is not an interface.. - - - - - Looks up a localized string similar to Null type.. - - - - - Looks up a localized string similar to The type {0} is an open generic.. - - - - - Looks up a localized string similar to The type {0} is not interceptable.. - - - - - Looks up a localized string similar to Could not find the implementation of interface method {0}.{1} in type {2}. - - - - - Looks up a localized string similar to Null is not permitted as an interception behavior.. - - - - - A class that wraps the inputs of a into the - interface. - - - - - Constructs a new that wraps the - given method call and arguments. - - The call message. - The arguments. - - - - An implementation of that wraps the - remoting-based in the PIAB call - interface. - - - - - Creates a new implementation that wraps - the given , with the given ultimate - target object. - - Remoting call message object. - Ultimate target of the method call. - - - - Factory method that creates the correct implementation of - IMethodReturn. - - In this implementation we create an instance of . - Return value to be placed in the IMethodReturn object. - All arguments passed or returned as out/byref to the method. - Note that this is the entire argument list, including in parameters. - New IMethodReturn object. - - - - Factory method that creates the correct implementation of - IMethodReturn in the presence of an exception. - - Exception to be set into the returned object. - New IMethodReturn object - - - - Gets the inputs for this call. - - The input collection. - - - - Collection of all parameters to the call: in, out and byref. - - The arguments collection. - - - - Retrieves a dictionary that can be used to store arbitrary additional - values. This allows the user to pass values between call handlers. - - The invocation context dictionary. - - - - The object that the call is made on. - - The target object. - - - - The method on Target that we're aiming at. - - The target method base. - - - - Gets the collection of arguments being passed to the target. - - This method exists becuase the underlying remoting call message - does not let handlers change the arguments. - Array containing the arguments to the target. - - - - An implementation of that wraps the - remoting call and return messages. - - - - - Creates a new object that contains a - return value. - - The original call message that invoked the method. - Return value from the method. - Collections of arguments passed to the method (including the new - values of any out params). - Invocation context dictionary passed into the call. - - - - Creates a new object that contains an - exception thrown by the target. - - Exception that was thrown. - The original call message that invoked the method. - Invocation context dictionary passed into the call. - - - - Constructs a for the remoting - infrastructure based on the contents of this object. - - The instance. - - - - The collection of output parameters. If the method has no output - parameters, this is a zero-length list (never null). - - The output parameter collection. - - - - Return value from the method call. - - This value is null if the method has no return value. - The return value. - - - - If the method threw an exception, the exception object is here. - - The exception, or null if no exception was thrown. - - - - Retrieves a dictionary that can be used to store arbitrary additional - values. This allows the user to pass values between call handlers. - - This is guaranteed to be the same dictionary that was used - in the IMethodInvocation object, so handlers can set context - properties in the pre-call phase and retrieve them in the after-call phase. - - The invocation context dictionary. - - - - A class that wraps the outputs of a into the - interface. - - - - - Constructs a new that wraps the - given method call and arguments. - - The call message. - The arguments. - - - - A policy is a combination of a matching rule set and a set of handlers. - If the policy applies to a member, then the handlers will be enabled for - that member. - - - - - Creates a new object with a set of matching rules - and the names to use when resolving handlers. - - - - - Creates a new object with a name, a set of matching rules - and the names to use when resolving handlers. - - - - - Checks if the rules in this policy match the given member info. - - MemberInfo to check against. - true if ruleset matches, false if it does not. - - - - Return ordered collection of handlers in order that apply to the given member. - - Member that may or may not be assigned handlers by this policy. - The to use when creating handlers, - if necessary. - Collection of handlers (possibly empty) that apply to this member. - - - - A simple attribute used to "tag" classes, methods, or properties with a - string that can later be matched via the . - - - - - Creates a new with the given string. - - The tag string. - - - - The string tag for this attribute. - - the tag. - - - - Stores information about a single to be used on an intercepted object and - configures a container accordingly. - - - - - - Initializes a new instance of the with a - . - - The interception behavior to use. - - - - Initializes a new instance of the with a - given type/name pair. - - Type of behavior to - - - - - Initializes a new instance of the with a - given behavior type. - - Type of behavior to - - - - Get the list of behaviors for the current type so that it can be added to. - - Policy list. - Implementation type to set behaviors for. - Name type is registered under. - An instance of . - - - - A generic version of that lets you - specify behavior types using generic syntax. - - Type of behavior to register. - - - - Initializes a new instance of the with a - given behavior type. - - - - - Initializes a new instance of the with a - given type/name pair. - - Name to use to resolve the behavior. - - - - An that accumulates a sequence of - instances for an intercepted object. - - - - - Get the set of object to be used for the given type and - interceptor. - - - This method will return a sequence of s. These behaviors will - only be included if their properties are true. - - Context for the current build operation. - Interceptor that will be used to invoke the behavior. - Type that interception was requested on. - Type that implements the interception. - - - - - Get the set of that can be used to resolve the - behaviors. - - - - - The InterceptionBehaviorPipeline class encapsulates a list of s - and manages calling them in the proper order with the right inputs. - - - - - Creates a new with an empty pipeline. - - - - - Creates a new with the given collection - of s. - - Collection of interception behaviors to add to the pipeline. - - - - Execute the pipeline with the given input. - - Input to the method call. - The ultimate target of the call. - Return value from the pipeline. - - - - Adds a to the pipeline. - - The interception behavior to add. - - - - Get the number of interceptors in this pipeline. - - - - - This delegate type is the type that points to the next - method to execute in the current pipeline. - - Inputs to the current method call. - Delegate to get the next interceptor in the chain. - Return from the next method in the chain. - - - - This delegate type is passed to each interceptor's Invoke method. - Call the delegate to get the next delegate to call to continue - the chain. - - Next delegate in the interceptor chain to call. - - - - A "glob" is a string matching pattern. It is similar to the - matches available in the file system (*.cs, for example). The Glob - class implements this string matching. - - Glob supports the following metacharacters: - * - match zero or more characters - ? - match any one character - [abc] - match one character if it's in the characters inside the brackets. - All other characters in the glob are literals. - - - - - Constructs a new instance that matches the given pattern. - - - The pattern match is case sensitive by default. - - Pattern to use. See summary for - details of the pattern. - - - - Constructs a new instance that matches the given pattern. - - The pattern to use. See summary for - details of the patterns supported. - If true, perform a case sensitive match. - If false, perform a case insensitive comparison. - - - - Checks to see if the given string matches the pattern. - - String to check. - True if it matches, false if it doesn't. - - - - A collection of utility functions to encapsulate details of - reflection and finding attributes. - - - - - Given a MethodBase for a property's get or set method, - return the corresponding property info. - - MethodBase for the property's get or set method. - PropertyInfo for the property, or null if method is not part of a property. - - - - Given a MethodInfo for a property's get or set method, - return the corresponding property info. - - MethodBase for the property's get or set method. - PropertyInfo for the property, or null if method is not part of a property. - - - - Given a particular MemberInfo, return the custom attributes of the - given type on that member. - - Type of attribute to retrieve. - The member to look at. - True to include attributes inherited from base classes. - Array of found attributes. - - - - Given a particular MemberInfo, find all the attributes that apply to this - member. Specifically, it returns the attributes on the type, then (if it's a - property accessor) on the property, then on the member itself. - - Type of attribute to retrieve. - The member to look at. - true to include attributes inherited from base classes. - Array of found attributes. - - - - A small implementation of that returns the - given object. - - - - - Create a new instance. - - Information about which constructor to select. - - - - Choose the constructor to call for the given type. - - Current build context - The to add any - generated resolver objects into. - The chosen constructor. - - - - MethodInfo objects for the methods we need to generate - calls to on IMethodInvocation. - - - - - Class that handles generating the dynamic types used for interception. - - - - - Create a new that will generate a - wrapper class for the requested . - - Type to generate the wrapper for. - Additional interfaces the proxy must implement. - - - - Create the wrapper class for the given type. - - Wrapper type. - - - - Represents the implementation of a method override. - - - - - Used to throw an for overrides on abstract methods. - - - - - Implementation of used - by the virtual method interceptor. - - - - - Construct a new instance for the - given target object and method, passing the - to the target method. - - Object that is target of this invocation. - Method on to call. - Values for the parameters. - - - - Factory method that creates the correct implementation of - IMethodReturn. - - Return value to be placed in the IMethodReturn object. - All arguments passed or returned as out/byref to the method. - Note that this is the entire argument list, including in parameters. - New IMethodReturn object. - - - - Factory method that creates the correct implementation of - IMethodReturn in the presence of an exception. - - Exception to be set into the returned object. - New IMethodReturn object - - - - Gets the inputs for this call. - - - - - Collection of all parameters to the call: in, out and byref. - - - - - Retrieves a dictionary that can be used to store arbitrary additional - values. This allows the user to pass values between call handlers. - - - - - The object that the call is made on. - - - - - The method on Target that we're aiming at. - - - - - An implementation of used by - the virtual method interception mechanism. - - - - - Construct a instance that returns - a value. - - The method invocation. - Return value (should be null if method returns void). - All arguments (including current values) passed to the method. - - - - Construct a instance for when the target method throws an exception. - - The method invocation. - Exception that was thrown. - - - - The collection of output parameters. If the method has no output - parameters, this is a zero-length list (never null). - - - - - Returns value from the method call. - - This value is null if the method has no return value. - - - - If the method threw an exception, the exception object is here. - - - - - Retrieves a dictionary that can be used to store arbitrary additional - values. This allows the user to pass values between call handlers. - - This is guaranteed to be the same dictionary that was used - in the IMethodInvocation object, so handlers can set context - properties in the pre-call phase and retrieve them in the after-call phase. - - - - diff --git a/src/packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.dll b/src/packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.dll deleted file mode 100644 index 84f1870df0ba2ff477d65a17a81191f4cbe476eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133944 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 =a6b1fTe|3ew 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 B|C#^* diff --git a/src/packages/Unity.2.0/lib/SL30/Microsoft.Practices.ServiceLocation.dll b/src/packages/Unity.2.0/lib/SL30/Microsoft.Practices.ServiceLocation.dll deleted file mode 100644 index fa752370c00811b614216db5e3c3bb4b8a2045c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26504 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 diff --git a/src/packages/Unity.2.0/lib/SL30/Microsoft.Practices.Unity.Silverlight.dll b/src/packages/Unity.2.0/lib/SL30/Microsoft.Practices.Unity.Silverlight.dll deleted file mode 100644 index 0ce1d2818ce2b5c144dfc61ac6f2f0504e18841f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133944 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�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 A4FCWD diff --git a/src/packages/Unity.4.0.1/Unity.4.0.1.nupkg b/src/packages/Unity.4.0.1/Unity.4.0.1.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..9a64e12475d3698d6604521e8698075e0c15a113 GIT binary patch literal 465379 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

#L$z5Xd-mOkC6EKtXW|qw5xPj3%@~Igs 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%0D*1 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

B{D=Lh=DXp#FD{li68Z!Wt2M<4ZogdsQ z*pM>Zw1Qa*zlW#d^d2@YVhP*V@L{>*@;UBOgv#t>dDvC(0cfl#=k@Q|`siRe!(R)` zo9#X7#0Ed?rP>{2rk5X0pe>TXm9KTF&xB>VOXkH=QI@+a)nlj_33)QZaG8V z>;B6(+?ynV888YnAa1BmejrtCkhaFpE`xVu-SOmdX6aPuyGQ(`gA!9$scgY{Lh(*8 zrIHkPe#lhk_qULBPx%I$v6zJ6}O7&x=iRo|}Ar znxaX2oYxIGzcqfBva{;1^Ute$%^>_Q5O&+cy%mC!pRW@IkLB}lVXDQ_94T#YIGfM& zyZ>_^<P$4s>vslQo`jM4Q8HLbo**GYAjLR0Fr zIz`V@bUjXC{QUEd|MtHnpAHqiKdSS=Q!@sRF~k#m-q>+{!dh^0v%>CKq>_`-aK2VP ze7+d}yw&kj6M2MBd27w-ZH5^Me#g`-aG*}8J1G7rp9QwWWvtat+@_z_^KV^-URFzd z4cBHLway62KE|hQ&2gQU8tUva{;d$~6Z%}TI?R|FCYWJ0%6ICAWL_JgGhyZAzIshR z&N;nVIp0|=sCy{y6H3me&2#&f2x6H}U0cA(h;8Cr^#=Wa6#Qhl4X1S;Io$>y2Ze2E zOP1RrXVYc%33IoiXFVTRP4IbqaxQwk?r!*Wa-v7HrHp0@*6F9zL8kSDK4EQ<&#*&T zTcsJ%H2=syuBm$HcH`lXllcGt{B{5Nzfem91QY-Q00;o8Ohrc!{Xc#Ul>h)ti3I>B z02}~pX<{#KWpp$(FHLD&)6ba^g#ZEPT-7yu}s6aWAK z00000000000000000000008X0YjfLJmLT|jBlbTaoDrMO2&PQhj zma=MQIy%-6aVeq%0xUc%vnuMp?>*<-HvsYi1VGA0#Z0F~iT82tc|U*t?_V}a@R{XB zoTdN%?5B%AJp1o2|L_0n=O|n9{{;MhKZixZHh0NR{EVNa;fB3@8!z*$$X4aWhdf-C z@sbr6zo&7z`}qa_UVQ(Bv%t?A{uAHOT#r5q;A{W>?DpSUSH8IZ$nN8!WI2o8@jos; zWJ$c-Ju}wA^@?h<3Getg<`^gJqVMVVtu3 z!dd)9ef6JT&<#4?>HXc`*s}bkij#=tf4sOB|LSz9k8GQ>f~6(DR&YlP1Y2Aoh*N%{ zRk&mq!A+b1Pe8E0E*V@mXF4HrNFA z;pceZ+o<(}Ri15v$92411627D;?I1aBndLu(q7j+TrmWI-*!fti(gsk{Nnk|j{mf| zxZQ2p51#Pns}%dtsN`#TTo6CshIzOV7lQ9SdwI(j#ua{kfxmRWk+ZVO(*pml@c^`D z&Q|8KFJAKX|X8o7vkkxR<5%MfAb*;)2p0?W!4S7FH`;-#)2ikLMJk+ zZ}{S65O1~#qIy_zerNAguEP?Dz9{o*si`U0@`VtTOIR&V@9hH#l!04+`U&>P@HB%U z^-Wvj-e^x1LM>vWarmE#mwy?FQf7TNP(<21@1i{OS60_Qv1?dUq*Auxls zcO`{;mYbU1!ua=p{+BQLd?Yl%doT6E0E!l!i{#`cESGCW-z&Ck8Lwg%Su5bT8CT&@ z^Yeime%`J;!lTD2Y*u>EnQ@d4@+1WjFZy_ux*n=oWxa{CLef)z%u|W~vry+-vv!M@*h~i?IeMalG3)-Co+qg*Hvb>Dh zpj<++hOJuuDRTz_q}}QHgT~&sAa9QHr|s~?AW1q*EAls{Wc5W;r?y&yCQ zrC=q0%qUL7B-z=55Pq`?ifX$}V!=InJ@eKeS8p1>YLNZ_fc7=yI}WZnzhYaKMl48R+AlV2~i)8dYS9kAq(=BluUnWGfvCOrb@M0I5s ztg}b>F^3a=Mh9!~IZU{s&9`gtFKGnOD~{;7@BpN+P(RWI@;>ZKx))O5BV`DVX4i=D zv3;Fmes*0<_NI?rf=0I^F*+kUf?{e=ykg(Ar<~tzgafL}c`f=&; z7?*2^c*5zY6SmI%pIheV$g=e?IJA$~6Ds(*Dfdz|F2TeEOsoW(7Klb}WE5ud3=P6; za7fR}%&g2j`_K_-$V=iWrGzU*yDNq7+fZD_7P9ZRBn(E6_*P$j+|CW;)qW&u5)#&U=_v*mvbRxoB(RVyX4v9*bINq zYjhKQ5`j1rQ}*clK>LtE`CCp7gPy`~M36KvFGWFB%nU^Ao!p!i1Tu@ew?j-2> zP_8c*vP&J9a*`|xrIWdA&BHC7Tro+`3$m2BArv~0f+yp0 zQe25^-!br8z-zipkld3=0$EMqqAS6hlymcfGtQj`Qgo7awk$qPk=jg*xfU82whX#kZk7dUm^)qtlY!FeRCT2Yz z_&(w;fhPVytsa?vNitc55a$Rdn=Ky(EquL`g-_K5q4^*2<4k2GREjmXKIi$bH%ohmnvZ^#v5{*((%uXD%;(4FH zvGI-GS*&pD$56R|>Qyn_ygqam*LYdRdbde6WG_zWSi2n3mDX|f}j01Cr@Hym}r8sgwdzc0CElMa#w(fx_vLSjsG zoArKRVGrshL6P6!s$ee#*FcrEOXH0fdtHJ@qbq+W6#@WXD)A0(tzsBs9g5`80(|7i zqfhe!UETT0x&|;B45Q-QGrtJl0V@Rg60ucSC8hN?r@5g+Z5>g~xMCs};+TXhso2+9 z+^fT#Y8N4ez@en$^5xK}q6k2S?xdt_BwKXirx5i>gL|Qk_DVEVR^uSgH?B zKvD-XDRWRHbh6JF%Y-f+;G{B@A#!iotB^)V+@FIt%p=SpPu&fPdFkd`Sx0#948U(?~v5{iQUV-Q+o6R*s+7oq;ODLF>N<^8{*3>A(I9 zoaWg}{EtY=8!zi_wyI{U>Zw>&b*%LcDP02i`4h(s*o;|g3^>^oUd4CrIpXgttgKEj(E;= z>aAYYzX=n5zDK7O4KC1d=2{0-Ynpy`Y>f7|swj1DsUk3({?6?)fmRH&*&t_LP+!V{ z8eDy6tjwVhmvNZH|A2DQW=bDeS(b08{luUCTbJaVHA}euZ{+BxmRb5*#c|Oh`LcCc z48V+2Bt9&8;<7Vct_6HI(jO%Ai=l|>f?oJe=M`;5mzBB(xM535R8? z>cG=a9cW`nbJoC9$Qo#Ty|>{5lfURD@&5|7u*xQ&5G(aXj!4&1Rpp``6X;-6*{{<2 zJ%g8rR1~*?s_y?}C~ADkDoh5@%#YGklpbN6Os0Q!R!yLS9vct}-}j+~tX_4ve{=*q zh8G+SHolFZNBh-hq@9s==zJC^N>UL`3fx4mxtdyD=J&onD*XE(%@L*c;1Z2EG?JYnA>6?}fliO=VaV={_wPpq``29>71VDuVUCyQrSJv)d?=~W z{8*MP%GVq5mirJ&=)@g%n%)QO*m zDzJo(MWb1v>OIxkMQE(XTFx~)fEMonkd?Ke2o#uoqTG~Ox{B|iPpQ#Ps@Av9>`2D{ zpHzJ00Ws|kwz+3zDVwKDjlf>%&Peu%Q!Fi-ss&&RJTKl-MR4C5ty@-TxK|Km&P#*tMd?_W z-^FDPjr0%;3Q=?ky$FP0YB`p@zSUMCuM%kElCyt}E)sRys5!w#8S@E(HLk8vTRBQ-f(KT>U_-fb9AqfQ9F|Lb`$_1KSrb%=CmQD)ik?nvb~glsCeXZu%C>iashQbAY3aE z%O`fAngSJ&I}Nv|fdRQ;6e#!06m2w{467mfXm)XWxM!%VHmYNoqbkS*1>ImXs_P5= z%&Hod-8-k$Gau?Z;-hLsX6T5#@1rf|Cmit!Ys>2%iI}M)S5O^WlPr4xHd}3tW|sY3 zU7ayxHbT$d2yJ|~*#d1riP-`j7SUd1dr_^QIQeQ3Pxq|zQB8rtR;be5{jETpZ5=AS} zSqm(0RLKsa5NOb>9IuEG!2!}rkq)>hvN)d)Nf81478l-OC8+hr==XAOp{2eqsr*b_bD@E0fgoL)OS$9*Ct+~`+ENc9-u-XRs zV3*2N$DTs=QI=MbZ0$H6tEZtF-y->+Ip&p$Z)GX#`BQ?B(zem?rb?H4dILLc@$8}k z??%Cvb!M+IBpKFxADO9pGk%snhez{{?&?(R>&eXK>+P9B-Yc(V~iSWsg| zF|TpDSzZ8_NZq1K%KxR=#svp5OX3?OflO9EHh3~4hGUtzk-r5hq0GC{o%s!rsyA00 z)BW4@RFbARD6$%`nmbXG%&$o$GX_@=dU?qVdkw4AnRXKntO_)}%ADPD7TGQP;=oPM z_Q6IUzqc|*5$VfQj}c0$RUzR)7{pO`nnT-1hgw=9ah+K2aU*W6=$pr2+jf>)_UE)^ zjlqsT=XMY1dxk*I>>;rAm-{=^`6qd#+V>4}Lvn&CUwO_oY=71{*Ki=)vqMi{36Jjm zfEz4c{?d$j_XI8*Y1nQJT#VHlc$5~4^>-kyJ~8XYPF9oa4sP$`(}*qV;$?TBY+^fu z$Rb0Q45BdXyXk+#EDv*T7%ju3-w2IMqCT#B)&^-j@@3b-W0pS@{Fe{jU08Kr4E~QC zIv_>v*=i;b`?6$P(I!vi5|Iv0-gu|+MX?B2$j?R}-vd*@vO*YYDg~CkzBN8|fq%rp z2tF>>VU7)4Q>L?+Hk%BZ?dAiu$~h8R13L}tk3n!>XGsK8eS|YzNq%8uL(4k{7}!y( zLw{Z`%m7O|iVJYEL^ap8aV+D{h_q|R8~m+qcIk4RXKDP8zK`Ujqx|O3Tp@@K6dCl3 z=nXL{QS|lU?m0PVpDjje$Cl#A1{=Hv+bV}=A|f=pj>8Q_Q)=jF9Tr^Wu)_+HZfm?r z1BU)?8v|Lf5ib8;#oz@Gl5F`v z-TLE|O*G(4OEVZC&CLGYf`UZ*-C)Pae+lbQC<(`|VYX_*LZCSN444jDR2*|dV_ABd zGJN1x!8XBI)(+9wN+>@L(l-LqZjrnJ_#B{6XC%}jAcxBSq7-yTRoOBw#zZ8L&_cec zT(>!`y$RtOGU4#^zU+D+ZZ;AJ`!TQ@H7$wNbLsMEF9hg`cq5S$8x5#lS0b$rk2*!m zE7w?)7ZWDhU^2L+N4MJ?o1j(z*lYkfAuh1c3V;`YGiOU^_beM$hSXCmhcFkmT_jr= zMY&|NE?sca6xtqGT-;vEuvKpaJN>vW%k7VnVkA!<&!*V_B$~;3`$zJa=_cd4spnm| z#5{ItP04XLTgHfk!eZc(N}>6d_V$*OWYcTiQ#J+1&RV(?H!)Ayx|@qgYD>fx zvKH|GSlc+NACzz4xU~T>)Dg^vGjNZb-UO_Vu&0lR+l7D8tvIA}QuG-e&UJSHXdl^z zQ(iZ8gl_~!Lp8v&#Ktok0LmFF)=>ezS}+{joNrZYW{MjCnqLE7hXrv z7{N$({~3jn{N(*dhFW^@kz}>6WobdnuVuK<4yq>2SMF&Gw)pe(}}DX5Jo^WBS8oZ>vGJ1`>1 ztx(s&QNQNO&5~|_xCuYsGd0t5x#o)B0@fE!8|N$$R?!qpmv+d}Gt>wfvgM#p6#Krg z4(_-XDCLhyHW1X_$`D<3NQKp`9QFhzQXbUqmH9=i(uT8QgXAg&VayoSO#NkS(=`nNXV3P{Tas z9%WHSyCJ?+d2OMP;pEXh{%xm;a0B2xXW{5T&qoZ-n>0&*#Pc-FC<4C<`c$Cpqh!Xe z*Q#GlTyM{a@w<+Q@PSL2EZ>lJAyQMc27#U|Uj%XdL{A7^ZtY1Bar!xXAiu=04nl{m zAgAQ~3De#PIr;uvt^s~dj6q+&f@;0^jc9T$u^UAMIF>itl5z%+CurBGdLNDyqq^l! z#yE~cfhIlzPra2V7|J zibMoSNTd~3DVcE*=8jhRa{M|df4E4(`6bIhn)p)==gwgs1!5VQN8#3k2Jf;`h_pp; zSHYyt;DNDi5xn_wm2Ej!-)?)&;iU{74&G-kFO$b`$Ei4np7DirDn=;4z}W`fbHJwv z1qvQA@QgZtR#dUw3WyL9GQ%_i-`8?pC?2<}%n}=x;^Jh4iKnIT!CPij?hN0I_ zsPY#$`iE5_CmnN%oGtwjE!bk-w-HrkM-SvS7(d;D*_t@x(yuJ!xW87#2#r+xz0gaGKvh1ZY_8&ZKrv zBhA}OgDj9TsYu|Lz2y?S(0ul5{Bk766>fcl(b#OvlXqV;V zdRGTh3T3HDUjQ7=t`bl{mH<(fBSvZ1BSME(q1sV@*7V1L>nWA`;5s#OO`AGoptMf2 zY%7%w;d7Pg@DNrlIRD0!aymxUZg)J+cLT@j~ zH+}?n1L0=R{%1=$SXsbFhLYU-jF$UZd)=%kpXBrEb02(PP>oh`8W(FuZHqN-*o$u0 zK>I+90uwNkD~GrUBx&W4U8Xc<1HrJo>FYp;oJl@(M(9xTBcV2XfZ*lPp8~}<+-Xvx zf3nYPoV^$2H_O?sq_2)JIPFh}7_+GVibee_>1Rp5m(-uE1egVV2aB$E zSqLem{qZ-Q&hdIQY;6~PEXE9lW-^1oQ0zDn*9I762E1fDrcwltC-Vxnf#E{@I3g4I zRdn>w&H2J^ov-opW^xr3bMzFl?9QWqp4}+WYLYc@jPekTpGlj|eGGxZZm!q7&Lpfh z`FaK+atCUiECq9yo*K2+HyUmlqvL|NRZ(I`TmI3C<=DOpyEAv|!D(CrLg!;O;Pgj_ zr;Pw-_3q=o+{{Uj=cM}@Zy$UB{fjQG#i_L`mR-_ngw+zi29VH4U8-w0@o}%>rE}?l zII*99%KzC}yVVB}V>)D~H;&hwDaEYbqmctE$wI#0bEg4qu?RNYludR& zOs1?g!SCWK;r8aIPd|CF7rnxwR{|7e-V~G`8pRxTP(CO6!l)?-(%yritDd~4)()3W zdMz^tC{KyT!md>(8W`@WXZQqR(b6mzw`d-|b36{^IvYtG3&fg_c7ae*(`q@i%tf$D zfHgIJ9vhinQBrnyoa&54D*wA%=Ha)1EF(TL*A}MY7r#Oq+$Lr*>{IImBLlFp_1qN~ zqWLLaykOv}8<8F0I;Q3&?=Q2z3urF961|JdKM99SK^~b5d@zr3!A9)nHWn6koZ|OC zW~@CktaU98ZUV;Xy>S>5pJ_gxC|RnokCQcYLDg1>xB8kWr6-w~UZaT__vsOHdnC=x z{CYGjJX^*+W9`hZ&qA~5S2{f_E+0oEeFXr~%F-_05pftO9l=<1^3&kEGAjQ_ZXlesz-Wrk9K3)2Bc5 z3)9@pehM*cMI|9+{*-5Nb!g$lj2k`81RjnM{q-!4hTRa)<-9a}m-7N@!9=-W^t*-Z z1%`9gVW_H$vi1hh3hQ$iC*fVf79xd|_L9Bys(Qb=;m|x&m|#BX(?xRop?r{i!0u1) zWt~*Nah{kUF4B-y$(7UN&`wW2j1>dcWvbg9k)n_DMSb)0_k+0KfOx>@U!bT?RSU34 zF4q$kcwqp)v_98W8DfGeqlz4RTPV(hUSHG^OO|SQ zw<;g9Q(9+`U7F>1F)B+&AJ>JP_KTx47Gkb|NsUbp$P>VFfPv5;Kn5ucuEY>yI+n0;#0!n3 z0lxptSxOv5ELBhQHq0MXiOBpw<2{fU&w8C!8!pMX3fsBh1*BJ)K!phh0Q(%5unOk{ zNkY}^0A_xzJan58x~!#1NL;C9z^Q{}Ef?4NutI)twX?bxT^zZ9fR4_h!RTYH9s6(B z@BUwYUXBjY4p}0ULr=zFZf3QtWxV0t!OF!GHaOP09D#*HWC)f zVf`C5MaKg~Tt3_)_AZNXrR$NA6hp$V5vP`@jTgzaWc12y{;vXtm-rQVRT9uEX@61qh?y z$N%TP{L_IgOouVIZmOiDR^Z}0W4VGyWgcG>cYvM0Z>CZL>BVhEx7OnvW`6OF@{8e# zdGF{KI0EAwNmy0B#q}OdmS_W6zpvKk7*0-3^vEROQLlAV&%_^tH-aB83byi?(mVn+ zU3&I=$ zDwD_7D*mVcc5xX+&p-XN`1Hs6=xjNwIg=3w*o#uij?pRn-wr=FS;GUQGW?nCMDr&5 zWU_aV507b_o+h=vLkpRDAMGC<0gn+lMGjHuayO--Xt4xE>Ta0M?f@oIEkJ1$Cmx-i z9mou*8Vcjqjx+c&S@*&E#mFTTNmaWggBd@;Kk!n`#1~x63)?B?A#Ty8<+^cd=rAQvAejoe&o_>72j8# z@()#7D5OndC5ZHx=%tKgQT7FACkr39y%e1#5Ql+?J%tCx9zuGJ|GAR6S}H7|!QnlQ z9J4X?ZBe)6EMHxv4K9Q5s(md|eeQUne%*DFvUqWk>!!3$awsyKnW-}hB?t!UV84&4 zc_TZgJxcEtzchkS7>D)-tj*`WqtzeH1ZvW@R)P#7mauzdW0;3r8}p#S?xYHZ#RKVg zGIdeMM|8C67L=#k4E391awp7XM0;tKI(cViOg6N!_Kd&?fV@S)^X%m-11^-4=&*c= zhF+XnK~a;c@``Km3T-h({$qfXEC%j#KLoxuWKn!8*o&bDHy#WB_slUnRYr130oTy3 z+#q;~olwG>UE<@yyG8$3LPA}J8(&Ft(-V``tZ4a?kPpdqzsEJ?^oefGKUQ1F&xGkk zKicDqAPsA}dEwVj{F0p}cZy4bQQ~UKg>S})zw+(P{P=N12v#I~s=o2c{uf3K5SLk> zLyiwU7^#QN!?!ie{p0N}Q9m{M6ju3`zp_#%W-A9<4{sTiIFIAav3+2!ba8x9u9eKc zD}6r5)eRTbIxN!fVdw@+C8qFS^g)6)e;5@48nYz!@^A?N;bL8wXHPSY%$u;p0_N6g zvk`O0T=aRz9y{digD*P5A}LXd>P_O7hfI4uqD)XeQZleh#UU}9NvG-i7uz+FxI8bp zH-rn^NY6j?v{%9pp)&ZN$on|?<=qe9&%_6N;Q&(V93~*VYXO@yBUr`kN>`(U}l777kN?rQBQKfZVy3WD<){Nu3 zKuR_IkNQ`5VrTu1@V{GgJyEQ>igT>|Awa_(PKOI>!I6_ADs|>C8s&rL618Ja1#>y1 zv@66rlaSmBLmfdEW47Qy)S9DVHlCg14d5V2M+Qp-9RFO%IL?_3zkpEC_$R5{%UI1>Pj#J+_lt zhG@3NjWgOI`KA&kQk?o%YtX&1?cIijsSs1RIF=*Ps!-1bRutBIZMf~#rjRd0KRjAX z9!9!RQ?RF`Eif6-Mb=u^Hcgi*7?MlxyE3lhdcPg410-|A!9+@yLklJNy^tX?usnl1 z&dxX&&$GNxCeQa^U9ZA8sqzuWupWXLx&u1JC~n<8RVrJtJ_jE1{V<)N5tS9ZCBb)6 zkp}F2rQv~@zTWvYaT$jR_z}nxW%my0ZdlbkCzMHcQdoGU)CysvAneN)Fdy_e*(bu@8FkfOSlwzMlE!$@yk`mJm1=vLY^-n=UkS*O|M{-1SVk zYwl)7K9enh?3~2$TJ6u-nyruX)Uq|_WX(BQb1>|gb2ZN^S94C)oKrRDRLv)wsySzB zPM)dxwI{62xgDp=?Qmc}Cjp;v60q}Da}MxOkeoAQpK^w*`Ac;a#y*gMD@L*7l)5zeD>j|p&co@9CouTq zwR56Vzkc7`?UN9qHs&+Sg>}cZtJHgPbM1|EM#8PBlGRsT=L>awG>*qYFgG%)^MYAF0d0bCEb!GN@iEN&tq>BZfrFcCygp#v zq25~-pTRQ>Ep>e!s`l*zLU%0gZQF^RXFIDesG-d?CKu8^txNzJx~IPTb))+DxV3KA ze4=7GV_>FE*MQcq-LK-dRlj z6=A~u$+tQ&Se(_E9TkEB=(4>$hGga-%PrZ@T>s^Jwfd+{i|rS9O<19B>8r<5c+qhO`5wTAtPHQ}!QT!N zuONn*?`U+lnp{I)Cb$P;3Cv@SaYhLq&=JC^%9n&vuprALD3w?t zPtJ2(WmW3m`5b4ep~g|+zE}Yw;37$1$LZAQ?SbysH|eQ!04WS)1(`98z?0Nk@+KNq zgp`Tp12JUvTMC;KENK|D(&QZazkU@L9Irq+UeKs3DOTl3h#7Yhw!sgLx3am!1?#6GPmcqp2_^1Q=tLRy-sm>rQA1*CbnpCF`)~UJIa!(Q(Rz zBn>;WRfNW2i^$!)g`{+nHf3sLkah4F7j+wJw8r9fMEJ-yoNf0*1Ntt~5Wa>Q-O}(1 z`psPZ1)}k-e55a_<#@DS%8Z}%Y$7Rt3953mO!>KDIk@2V(2pl{+H%~E+pKfSke8UA zrSw-QrDq{M1k7d`{VmGqIvx;7`zEb^WC;rk;okx0XO#n+uk^Uk&Mt|j@)4i>@sR-{ z>Ef3x<5%_$WS$X#@N=uI9dFi9Er!^Q-fTQP)M$nG;40-Jr%L5d>NbB8=xcl(43I*@2m;h#<+i5)V^)ptcENeMsUv*uZKzdn+^H8Y#b)W(g54jk9Ur3}wq z!@ziP;@W`&S9Lxe>!JI7XWZ{QqqE3&^An!`6V3)+F9UD3?*?+i8tq3tHGa`Zz^Y$@ zT$H}4CvJP22{Q@xts^#3Q!Ss=dNxl5~Z3k{A_&nhSbG-bT8`D@qUQ z(>Y3AOXe7frx+Gjj3puuO?l=V8Dw>9kd>elQ89d{ z9c@TnCbrL{)=X;WLuogT%<8P?_ERfwMi)~}Mz`o6DT|@Rj=m!ib{2|BvrrP~lTu4L z_?x(E=g05%+%ET|xD+SGTbTrMnTnb)Q`Jx!&1l?v_UxR22>mJ?JF{P> zBa~*h&g|BC!nWp#-8!>ZXZGrRBb0VFgf=^Mz7?m=?9=)7d^%qFB&L>sTp|f1!4#%2 zC^PSrsKc2fUaOCjD$=LE8LWT1!$H4tW^?BkFDJA8=AvYWRHrUVo@!m%O$%%idjiKq5p1j0WZ5Yj@D{aENta5q}QN^W z(JXNMgIjQEL6gAF^B0P0%)aY2J=H3wqq_F}95}I4Fb5UKy z6nVGwqv8U%XG@$FlcaH@5=^9QD`}!P{{d!t<$tQyTXC z-_UHl6iO84L`xT{i`42IZ#obPX9M?)YfeR}f)t_b7gv-`?G48&XltTe{?|-k|A?K# zu3-39WOnT)YYYQ651n?&l2`sM$-+dRim=tYq5#?F4aR(c!|v$ zNnH^Y4IlEv&)alX!@hz&(1D`dEX+7gET@^lU&pCX(S@yYF9xOORnxe}&ZD7d5*0{jy36k%2azttl3a}KwlPFE9<%(x80@0Hw2AN6uCAUglPY57SWBc) z7#Pg)T&6>zvTuy_a)*r3moP41uWzjTh>;i=jF`jnLtuFKCm0I;G>%c_bxF{3+Zd+x zqE&+>!|MoAYaii5X=ov11-mJI1*-vmYE)9=>o48-m(h-NT|)in_Cq%(%5^I(q>4$cVBMP{N!%@B3H5jJ=gM3XFgAWXhFLk`YP*g^$;NmAu2^l2s1!$Dwh0S!A9lg0*VaOp1wx#IFR+-_CKwofx1 zDfmQ$1Z<8Ct*KMb20_XW+WM2aR|mz;z1Ic*so&uE@yt_xq{6UQdL|y)dbL^#Xp6ss zZ#n{*j@E!@HO~?!yuquAPauqGjHz0alw%y#-ND%#Sw3iGfYb71|7`c3Y2p1~pjhZRUwF>56z35Tv@(I;3fH?1aQKFZV3fu5demK0=9>ihjI9C!79$7mT4O=A0QsC zzY{~=2PG;&N0hBQw67FNkG%QBDesuC*-Liq!dC(xivfJOQ}l*3SZdMd6b z!#wJM${~E|$sqxTXo zjp35F#(Z7(7F-&M`Yu9XB|LEBaX6*7%y%1^uzulK>P=km z$0C6PUs;U7q*9r2sm?wK#dZ@&@rRh393d90vqxF5CD2j~vCAp^E5c9H`QY2HG?rMe zH=uy0T8QwA&c<=55~Y5mI-e7O8?aQDdTYI4I@f903?DBhA#=zg!XvDHwo*0Fmj;2@0(3{$5v3hgn}#pV9S_=ff(P*XGKth~Uu zp#trQKK}!JbVkD&4bK4$$>Sr3hsr9-k1DC>;)4{B*W7mQ>__VS3a{9fr4dV)yN}lU zn$9B|1Kk7Ft7Y46<5z`NLp-H2;NV=LJpgggrKwm*;KnLzt)6rS;+nX0N_^12|Ba>h z<@zeyKv6sN=Ei?CposAu0PEu5UwEStZOL`W$IKdcDhtg+F{>M@Y9YUb8^2t80jmYQ z16*lO7^$G?B4B?97f_jD^~^m!7B!wH%mPWUy9oXde29=K;KyH0u*ff1u&R6eCP&qoZGBB_ z%L~AS04y?a!t+hv3$}q750Lo_?Ulk@UKmRniHV@S(z%@L%nXehZd{iEN6T&50&E(=iumieAu|pawx!{ORB$V1x{m}JFUGSEG|=Th{iKBC zF=W?ilwdQ~K+U}AVdF1SZ5m*$yD(Yh9BRQr4h|%k^~^DoXVE!k>YQT*d-uNBudJ-S zm@kT}1}6RR5kHrL`;s$}JP&u8(>EYAcP3(nbUB9#lLvD!0;m% zg|*Oy@Q(-(K;*d(s%{iNfA;dNUJ4WMA?`U^Go1qu@zyw(*Gt?gilqzS=?C$zcfu<} zrxD0BoV9vP@=TM0YuXOzX0OE%adxSJY^G1CpHEI}*SB@|AN0E(9pTIu>aOnBP7ON0 zFsb4A)9Eh8*)Q|^3SudOv8yPg_nn}u990--w~`AHYb3LXisyPPCKNkkVY=+hVy{j$ zrGmFdB6Fh9c>@UV-J#?zKjiaC^O$)9Yzr1pF-JAw!||`NA(_WU~>Vp zHRlap&i<);=6x|x>b(y-b?BdtpPRG~cJVKO3Th)3Sq+IpqXK!U|Hd;_OWDZreHwDr z0fOEdeMGjiN?tKASZs(1E?$l3q?Cf3IMdZ(o)601W`s@N`dunVU@F6#oAAp# zz9WxkXr@;@hJ}0AjyfRq@PqZYve=Yz-+Cy0Uaa2-W><|kSn1E!NqZ&v&YPMYe&W((B(;B-6~oa>N!Eq@j^d zHP@IJdV)lTLqPnh@(X2uh1ZZ03Onh}7uaG~OVF+;A;758GX+bfv@DE6zj%4k)ZhWn zHBH{*F!*r8$`35ZzrVqL0%bO4W2MVr%@UY_Bg*N`5$`%yPBcgSm7~W8<>QbefZyWC z^jwe7r5Wmuds38{s}dQ79YwWV51)i^x<@2aQpq_IV8dCezsOQCL!rLrMXCiVi zdmNn*iaEtACt#UT35u<62o|{DuRwf|?~3b;YdEK3D_Kxw^o(4Y4z|xc?T8L%km0bBi}S$ zh5{18nK&co>5=mlOV~aCyKfpVBLM_T!lOL1H&wd)=k32BR}cSrEgA~mC5(UkuNfha zN62?ol1NjV)_6Kt2t!z8ssa@8!x*DG*4gDbqemC?fGDu2q&qULtyfTGS`^~{UWU-& z5~LyMba?LpLagVFWVI6)+S`tK&hkeY$Z7)2Xnm#Y)?L?N>ZMthsKcqyC(-hCfasz& z(wLG2{$dpywO9NqBBlEvdniPDx}fM@e3*Qi^j;Vq6Z2~b#`Os4jUL9^d;cTicg9zP zNA^AVP4b;kD6t-T;)vFsD1zUGCidmDpSMogzO>v!^npQno8e)aT)R_U`7(;cDd6|= z?!U$9-!EQ&0W+q6{*lJNM+6B|o179N6m3vWYkl*hQic}|^5Qg5&Q-2&m;4c&vFY=T zf|W*JiG2@>U!5#^vFF8qWir*^8122kCh#APdc3Q{%PIs*QCBrbX4e#v{@Ak@Rp%&R zZ3TTk!W#I$Ql~M_elP{86?L&w)}O_kRRsb_^`Si4{ewD9Er1#jHUMdzC(4b^R#-LL;815 zZGN>8^;5)Bi5ru+eKl0Z&mDX^c#L*X*S1?}Pp(zp5Xyb5)@b%l)J#yiLJBJ#HTWEd zN^o%HgKc6oLQa!4(tJOE0=&lYIFSrUTtTX7pMt-hNuqnPLgW(H{Oo2GmTK6pX5gx4 z>)sEoMjVA2{_{+_^^D!72^+P%uy7=RTV%SpgyY&2X%w^Dcfdka@54X5jaI#2?3%PG7$l_j|e(oAtp>Lfw zszPU&Yh+Kvh4zDgE{`3*Ja*%fZhK{{@HjrTqSymCHrK;;0#`p)-&_T2A=JbLum`UB z_0+y{Iz3s@s|-q*g|GHrq8}|`LJ>TNpwgBt<5jHF>!gL!Sz{Eq>NaWr!I6Nv+*YI% zlT|YeGWJM|G+yj!RM>)x-5~{aY)Ryx-xw1#^(IPiNe{UwL9!R*8$X6QKO*{|j^&n0~)q_MrVeDwEo8DAFx^dX0Xl)LV(nmcE7$2v;@b3ly08jPu8 z9p(fUXr!Pn?X*$gAH!D+IijZZayu-c$?U**wshQ>P3J?XLFhz&7qJJOZhBWr9SlP` zQBSn!mcXz%P)N=$DPXk9`a3|qC2?C5fU@NK%d z4nY3fWc-JKGP6PT`M_+jy9YsDhO5aXJ6!`U*Owr;g`vIKJ7+XbS6KAOU@+P3GzLdA z5TAy5e~hJl292s(K!3pGHu=(Q{Y?V=8?wjbS7xYpn^s@}@4PfSZfSpAN?jYY&o_Od z6+cD@OhQmnVF(!EO`N{A*w(VN;Q!*73%QQMq!DK%v^?spjjGQF)<(U~|0V>Y+R1J; zD*sO;{!O4jiJ|XKA5e5K=?u8w{HrwJ35%!N3t&=4hB~Funq}vn43fVaGK8FE7sK5wchZOt|_Nc z5l{=4Mu8yKS(QXGiIBgC5n;r4k+M#_%Tz+E@twrz1Nv2;4rL?Ff&EAigjp8G6Ujia z?4nGbd<&{&nBTL~AGmvns&9tvlN=9w(+=hlT@6h*={>*fa*%=UEolORnDJwW%q4iZ zkpOj;fO+;{;-7)jAhh{8BskuN`2&MaY={K9s+q!b}*0EH?7RVzq1Ama4c? z?K8kX2+AnPcBnOM853NlWE zIX^?N&K?mv8s=HyJTj3_KioU3e-bRPv$&>eEu~y*P3QIXdg%@cd3y$v&%$UHMnemu zV=;3c`r8?G6|+0Dp})ORVMc?m2@N{VVC+ym|6VY{)fj8BIK;1Lb9 z2gf_)FG-8GF))OvP{AR6f- z4gNJ11~&a^5@G5b4xdM^_kBU$%*kD1^4_gZF%vM8^k$aK<+y>-HS(z$EAjzFwn0bq zNTa^po;5!*i`=?3V;W1N-eVy>o9wqUPfxHQs84&vTq zpD|*!p(vGRH)1C+=O%N#9)K1MR*}E>GgGA_w2F5f2$1>8aa;GB{A9FY1~R*DZgKER?E{$mA>p^sCyM5#*@V<-^| z`vi<@>nyj622&;rLNr}K;Ru@cV3QHa;@_=;xD29<73uem+{R*(LD5B;e=QhNTL`re z>?Mr=LQ_(*mrgzjB9KuB0Uf|g{0Z3XF<99TM~O!Z*xfP3Ed=Y7SR-LH*n5D?JM=?~(W=ni#9ydA zzvG;pGF-6FLtGDQLNYTa3Q)u#T4xrI%h?T98J`|PwZN*u+Q{XQJf?&S7>e6$AtSwv zHw?n2aanZ2kb%lKn;)kC_)jZwP04kr%$G>oDLJTywbraqESS;lMn+>eZBPMiaspswB)8!78B&ZgYyu zWKNxi`&_&YA6TC^xDs$h2j^gb1#r1M7D3ioG}w3Y&!o2s?)lCoOWkzpUfYjKNZp_B zqii-0WV5e5k#u+JNkmiPtBI)}87N@BO##JUQ{8tCH&Ddck@#w8k<-#qeHznPrj!GT z*VMUr{6-97BO-EV(p7j58Rn%S|AoA9tZ~q~q@IAMsJ5!YOeCXq!Y%xKZ%+m(#zd=# zJmUaqwW`dARoWi~?5BRuTNdW8vd2F2v`+P)^2igtXvw#WV7vB59f+s?7Oxnn@uC;X zaWNvN0Zk&-mcN!NwF|4?jlNj&JQ8uJt2=$OjLC(SZQWED%vX$;)Q4j_zTF5skzFKz z*9oG{7Dyk9(b>MAUSOVL%;`_faFn0Y^kz?mS&XjXAd_DYHet%Ou-xe8a%T*h+Yygg z(bkiNX}8#G#)#EE^qNlH_x;;gLZ3S!e1qVmR!J; z#S5X!FyqoH0@BEG9eHs59-;~g10Y4VVdw(E=3dZTZ!)&vKJC+J#yQX0==-`^Q9jA% z)#pC=zCfI-IE{-nqadut4SUh;8j5a!WCbRG|3VrP!ah*}N&~^rWqD@kaD;_Fx^0S; zDly!QWEgs4`ln{&EncV9Mo!0mxUQ&KpZXi&Y^!&0rAC(Q!oDZJ!W!a`rcgnw(LVK|(oOUf3viJ%i(Q~U@mUMS#N zstp?%TP%uWbiWO*^hqNO`7c*CYUinMJSKem265nf7N?>sL)YVoTzSUDyLw74`!zb5 zE^zX-#!YPJ@`;r~`!y$525XRz2@qFVBI|4ji8>aNOg4i1~hJFyHTfrI74*1{40LTK7A(?sxXO-?@VB zUwolbEYYCfwLPQi4g}+T)VD>AMk(gKmFqmK?y2Bes|OeE4lNJj{#l(8@PC($2D2%q z1f-O>;s*s6GT)am(GO(FuW_eas*4+VUtk&{9si-i5ud5K+Pz7gz}tz}5h2GDJ(8Eg z4Fiub0r(e{H1EX;b-{&7>!8*VG96qtog~d&w0wYrUC4|MdqL}5q;^N~5jAG`oMftE4NOCg+&ZcqYW?x7j;L0<276oTaRR-2;6-}Km=e=2j01b+a@4^neS=bq z@p00^{}pARD_Nj!QYcYxtMEfS%WJZP1tWQbg`cTXk{WU$*A)*X1el zRa!mr$9X~bLt#A4r4=2X_u}!>Vh6mm!|d%&mmM4N9D07wc+7xIdu+_IXvt}MWDCwI zQSkNOt1v10bz`{7Hd~wo@R$t?DsTH#MuKh!KLOSo!sQqM$YF{o&30CI(1NdqFG0D3 z@)P8U!DUip3$bFo&{0_UVGzZu6{F&4zy}PXVP8ZsW?{vDAna%gyjgU?_2g$S-wQ(_ zQTXr|6-hwg&DEC>i!;Vqwc~Qsync!v{*WqNhYc@hT92btdgS^PlRtIR84Ih&I5uq zDxz*8?$%BNKSy+YsS2PB)17`ZJ_O&P{nr74gmuVYj=jC&nR3C#oZw#RYW?`Ge?NIu zya+Myo(*Ce*?y5V)JQ?|P6$+hNzLu@P&oL38s#~P9Vf^y$2t$BH;U+Zyb6H^$ahKw zyOOiChVs-<+IqvVku6)stC$r*XD8jrkm~32IyvBuif)jz3eMnQ>PTfmVj_w+Qz$qo zl6GOa6;WG>SeTI4O3uD1f*G9u51+^qnsJQN*RtqF^^%Inq{=yUYVX6}X}|0mvl`t--9#J`5u`6tJs ze=WTK_9yR3s9%X6J!YC17t%>63N++2B&XxuGRrBS8mos0w)WasDG9Se8&mInQ41|7 z3ANY62{gJ|2+lQ!VQ>EOVK~U z{^|9XlBESs4D;lm2PHY}iU0SCaGK?M8#Tm8HjB^MJ!iE19-+Nc#1eK7K4BGsS<2On zE+VR504J-kq=vWrGm&IhcQ?=x379Y>m4JSh>6i z+@^qtDg0D%X@I6MwL1OwgH__~e|>5e+^Ms0VN;-W71azvU*)JrM{;e-&S-9Np$4wTa)n3STFlv>YLv!NC?aoA5LRWj0rh}G zp-x~8&})XMPCcr(H#Uh1)E&6Xn*47~>-WLjW*6mt%++$Tk8H6y6?R0yHbp2)Aei6T zPup9@lVN-4JcBuY4?`72qBl&BV4@=BSW??2Oye!471Y&0S>udNqg+WjvQFfqjrSI# zRHbM>zOYG*UJDv8a&CCUIntmjTEuEZwvSoJ1 zwHxDm8~5@shUZZ19$W2)?1@jxEQVH`diS2d4$W! z+(IP$nH}-~b68O}%fU`5fjTH-u8%~F@De+rUqpjNP3rV9_rb%*5o70877 zJu4}xL?+YY)9o9oU28_B>E{|>T6i;z)xs6BTS~7l`DX*xK()Q$udGzF)4Nwhn@7-(Xyp!YX$jbpq1Tpsn1{1_OxLhQ({ zQVMg!?KVM&S6YE%>xks_PE_0>9|tF?q%nqfy5!`v^A9^7V(&-U4dii@nOiDy5qyqA znU_-xl$hf%q5(5=T0y_3E#*0J`c4u2lkw^vaj3$(`Gr&(DH=r%L(xKrVHU1Q9B{)V z3nLku=;bTFuKTyt#G@0%t_o#F0g8YPt)v_y@OInFR1`irb0~z;UsMVbmyMseP?i+J%aojk>}6sX!LQ3ZN|UiCRdQ z2_n|%VIuYRx|*#XTw_XDv-~8_MLkn+_1z+Pi^Ev|5*JmNK$JIL{xG~>z!Qo8cwR^> zYC#)9|D(r$q^ei4#EnUku@628@;ac-2ghynIlRfUO?@ga2UrEM6_o^J3#azwZZi-+ zV(41|st2~-SXD{A;FsGL=r7Zy9gx)``DQ)n?;Y0>sv59$mA66WGDUmjyNN-r9MwQ= zm6Kk)_HC>Es3$G~d|x)D;;FU)jn0`)NlYB-o?EDg#l7Hd_ir`x!>^wo%4ra9X~xWH zIp+dcmncD!je9kNKpf`$q#i0Gi`EknoEsnGY@O-bDR^^0+l4;s&!Y2p^DLnh47q`Q z1`!>VS3c-)o>|fvup~Ps`h*p>Svi~ap`QHGsNqprM}(y_>-q{<*Q{I3y44uGLQe3( zQG(jTr6UsB+BJVaYj86goW@f;E#vEtp7n-a zmIm?0U1PnXORU(2ayIy8c5#;MVoHPWD`yFcMgxV-lm>Sib)=RQi@A=dkEyJHnKZuw z(tN^lUAEddLux)}0Y3(r&q~9$%$d5gr2|Q}XPK5VI3bpY^IB#sK6@;l7^9zBj*27x zR{bL&&PwGI%1k*b1!Zu)v+D1LJ$F$yJf3<`t*nH?8R`LP7w{0H>-teH`Q`Y zt#u3Gdlfz#nph@h3NHfoWy!YUQQ_z;j2iJ*`K&@`>g7R=`zZw;v`h(5ADS<9-i0 ztY#M0i-q~?T{E+rnVo{_bJS}89o4S-0Lz(|9mmV|s--Rw_Ek_#UZ?cbb@muolf+d_ zVuRm|VE%%aML+Z7?)=!ch-U>8|MyMtTx+UCt2+6}|5>c#ZQBGn#dC0g+*iVlk7cAo zC!)JPh?x0`GpCx2Q_X7U*TQX&i^vex&W!ZyVx&*Sxj9}815KYRt`ZI-y#lPCdoO7d+fMibw=P2RQjdBIl~f|qNfgYafnwigz@{& z%sk76lS9n4TyZGH@r%&Sd*6qXcU2ig@oL3zmM6Sq?|wJGaKe2Ib5>V1(f{-A{cTfI z3yHLnz@JwsoFe+c){qB{UmD%`yt;^w!7FkHPra!5U{%2ljXV@J2>a(lkVQ8YrQ->n6`h zgIC4O*D$pgRD|~Y^5(;JlZ``ZF>Pk!+Sdp%$na1stU z&Kn;?&Na4q#^F=O;N<17qN(H>QmVLW7`FxoN#UpjnosyKuMUjDTb?&z$WS~*;H3{+ zkthxIN!mq1Gn%XIpo|F@ZC}&YFba@XiqbBEUv~2S79=X9yV&(VsSCY$xd7yId~OO{ zOtG2(+(2Oz!Mf>vL7qe934QaQup;gD<1#9eY$Cbkd1^`RJ8M1qg$bJ?f{BAW~@nad|lQ?;Dd*H_}n^UNK|6j_5KH zMbKN88P|Zl?c?ZnibyOGxwhfGMO&hx+HRAW|H6HK%}>xBb(C62NN%09wd={Z8C$=S z`4*#~y^7x~`BKOxLZ>;3&c$F~wpl@GVW@G4BX-ps^xZhXQ?Y8>rUhgSJwnfB$Q+6y z&JOKmQCxDdDJ1qbOX4N`P$N=HA9)Ou2ibR~0ROAKDBpomvez_~L;%8&Aycj$Zz+U$ zSpDOdxXti_a?}Y&8oaNS0k~(@iNc_~VgMx7xvL2{TzwCdf(e{?QrKeq;f}|h7wE;< zhH>tRMNbz+Tn~;~PBu9k2;=sH^ek|1994G^2GyGu0cf})=ZPO3Y_Qr6+zMMJA-6WRdG;CoF@P@{7N+ExagFc7(SHu3BTFVy_c^FiZk!b*d?eH2dzy$I_<9tHyYNtjB!E{Dwv0VmkGSC`0~0kD27Uo_ z0ctr}{Z(V0&e4wFzk-VwiY*F-$5#8+B6toiTlB4xgX;%k8zDk33Le;QVH)R-ah4?6 zV}YJqvy=c0F}!Mnz$&spPx*0>W8Ygjywpg3d)_~@@`VF0?IR}##KO1>dLfoc6=79` zwphvREOa?Tx9DI8pRNJpj%mA`#It3L{&?{u;B(nE4j?^9Q6IWclqP3?Ze~>3DBsYM z)&oF0m+_^V&tX!rE*`7vHkTC#8Z9;!&~B6`r32Iq_ltrUK@ox*BS48lY3R6T`5*bA zp;A#CeRs9ydw=>#br`mp0EJs*C_y*<9T%*4)DKCRjsRcbv!SS&xYw3%bq0X1pA~tp ztlo1Yar)$AzsCpRA?)x7+Nszd#U&%|1M6!%^X@m!gbBh-m-6mM?K=A(7MQZucu1|$ zy}aDR;)!ioHa_AvpU0RmNY&GgDcsku;$oW>;a$QsV=tO`73e;&4$KqsAiery-rpne+%+Yf8ner4Hj43$3~hVLSAF zyK7bLdipn1HSwO6?p->OJfYXQT63nMphF?%=#=k6N3f5j0cx5cWSc|2Lp>6avd3hn za&4BdnyEf#X5%Sne#eJ zBJ5m%xEs9lb9Wx)Ca}+c@!b-mfPT(9d>N6-;AwX_;NmzTO>zj@dHQz;zwq;Z&dcHM zZx`hDiK!R{F{gzB95X}PzYgTyg`E_#E*B$31TTZ?j+(tAcR#{d-S;|Du5_hm{QDrx z?<0>B8sTYNrg}5_7Qs>6Po5LDKkXX#tzMN>gTvskKxCA+!q^wgt{LX z-oNv4Ig(6%Sof9vPCYhKjjY7E_QbjI|7+c9X<9i@14uswQO55(vhDhFfD1%+G(9Z{ znna>7GN%%XLqe1PBQE1GiT_~+*GVOncM!ft0G|EbEC|r8Sfu&no?eG_PT?LPXm6QVkIZW|tho9PeIX#)e;GWJ*$rxL? zZcwbDbjYj)8C!(Az?<6HQ+qs9;39YlsxfnOk7T4q`-CC|)*~T`pPORp-Z>@tbwIGz zcTAP2#Qpk6k7FOKXQJW!d|uC2TV7{y{h96d7rA@PnI9HAUS+?sQl>sp@cQ_iwvV!Y zv2(=s727hdIi|~g$*Ka;#7@y=o`<_Lm%t&MQIei)TW#b^+r8`BM6|u^$pm&Y z;P(jwLKpvb21kg47OeOdWdoyXM8wyE)WL6xkKoF;(T(e7Bmr}EeI6^jOY#pyedw#_oOJVQlVfp|$ z94-@$Fr!1DtXjR5SsJZymiTdW%COoL5 z5F;H@mXqKUP$oTNQQ=U|!M*8j&ttE0676 z?MlfAbZ8~j%zfiRxcqGm#eeRu1&%@v#VK6lG-CWGaJ0+LQuJsAmCUMcNbBtJurxHu zYqVDN-nil$|2+-n=sL}_#UUds3+lQNcJ+!4f71x)SulFuT&u2y+sM{&JlKp9-7_|y z3UeA5RoYq4jA*?O?W;$+g5{t272ND5(U9!LT?k$0Fd@**q)=lCX~L}!e#r)Kh>`Y| z!YsA_q-E!s5{|XG$?TD)ueae{tMwuKCP`%LT0k9WXN!P#+@pxQhQYm1{U&UibLn<8 zzO&qoKqp{s$+A|t+%y)p4LCcdb5swUImOT^)Uck+iENIA%;mGU3P_~vk zsyVKrcX;}dl}5a{j3QY=B}WOU{_S04y}NEBE?mEg!5>^rJ2a^+grV zKOIdD2xOQ=z^EdiW~$7h;7C!>1-aiUx)rG-62(8Vl`sY_h^t?7d!Sz?<7H560KsHP z1+GaYB6iZkMex6~3Y(XL%LX3^&>sXF16ANDXS0~J2X6y z@stbBCshV$l|q$^N`1mL#Dg~|hx*TsOr5c9*k>>CKiD~psYC$X)j@AH7T0Zg(|Ymd zlX%~H$ID|=0M!fFx`B-cKH|0U-QAVOf8{x)t@(ZCl(r#d@TZ@=rLY7DKVl&qy~i_) zP58iYR8(khm&9esl{^*}G1(cqbbuYl<7=q^hCU*hhRHCR!u-Xy>)6696^gWh0>H}rz?YeY`BQ27olNq82!n>?0g?GdlYp9|(PL4OInYI(f(fPvV zGRq-@Eb&Q<8wi&KK#r;pZMlyQV;L?Vu^*ms;j({VWKw@4)(=UNM-N?*o7R0r>Nx7G zkc#8lis+fXqUeHsTjDroNzu@%3f$anVd(b&A{ z#cig2e)T|Ha})XD@XrhPTGy&EQ2C4T5qS1aP86VWa~Edcb&1c zVQsHdtrrk0s9TOfs}c_0(oR&7zwS@*Vg*5ehHb*sn9I2ybs(&Jk{C#Jn}B*IE*7I8 zV`!by!AXffbfBX#bjJAMFn)IRHKWGt>Kj@kn#A4L&NKllkW$l_gP~T9X-vI=x7~nw z2+`jDW8;Z)*wFyRr)nJ0^<53_`fGcXBXdZHlx=!6Q5XHn>M!5~bOuwhz8VqHWvZDU z3TRssJuA`=bjQ}==NQI)5OPz|bfox@QC~2bt#Q7?Y<%UcXt5evqZ%7#DK3DeNw1z5 z0ivxybRlz-yDd=Ky9;C=3R___^1Z_iC0$WNA2HD0t9N|nyE4^(Bs;$8ky7C$$Nu&SV zX#c^qs)MdIvl*VOTCOQ~P86g`Hi)gAz~!H?66lS6S+cF1zRFi)VbqA%M$M0*`k8hI z%s|S)iwIdjv6$s5_|F1=4-<49Cor;QK64W`?(DpT-Y{1%XfHe zty{C%vHQ7h&!T+0NbXXy3n)s!t$?AyP5jF4R6pkTf(o;~EY{_%U3h05@B6Y(lbI+k zy3QU0tGBU|STv471)TOZ_!Ok_O))&w?RynjH;rxfWo~4GI|*nqR}<;G(V)Q0U(i^N zk0>9Q=**9kDRO}hKn=Tgu0w^dXC@KmG3(H`)POaY=a=bDr92l#8#V&%zQPF;!{s5O z@rtjTQSP|$;GG;}cKcAy6^v*Ld9JipJGeZ(HK?BkpmO#N>L{dbf3_k&8?Kwiod1hM zDcmnYS2Ns)xp!3=MDc3HmlTb>>XvttBy0HW7fzy&Vb1D&EXw!+-@U(;UORmzOVDK=Lr%{| zmKwk+!>)50QUZ1jj12GZOHkgDvFWY6LO%i6m88dK79@cS;QNX)E`ncnl6Q*kcT$ygnTUeoivo)(YL%-LBw1b|cMCsQ)O5IX`xo&yFG_97Q_o9i}l#R;_DTNdU~ z_L%moj_JbCD2-&9Fc6Ss;8m1d!@Z0ooTfT%4CVn`VDL;a2T+$$q#7me=^|)5f-q)Nw3qnhl|Fl6)Oi`D3>Fk^l3@yX=dKNnQk(tCHm=e_IHPn3P;n=<4Ay z!%n#8|D`X0aslZd@GTajdY6N<)I6)f^&Tz=^>JEZQ*1c|;~c*qcNdVm^4L=q+0`eor>=ZOJaQ!LHWa*ytKKaNwZi##2 z!MpCe&-4K=?p^04Aw`bXKCF~RLmDd?T+om>_TuOY14jW;GG~hy1J9Ujj!_EJ)e}0u zGRP1rK*)A0_Ey`PyQ&yAw|kd)d?)f8svLpFxn0>D$R0G&JcWFMEArlO*3)kw zr}rSNwlF_+tq8d`89s1Mjbw?=4##r@1TG_0Qw@ps023sriaI4Dz2sMIL# zLTq?KRTd3R060y_y-A<$Fj|1vkP%(sh#6zGjio3C1%$BWoaI7dY_g+6ji5pLK=?*L zxSuoPhKg3)hA23Gzy>)5Z}EA!tWCn6nYmmP2!t?v5>)1-pg5>c!Uu+=Uw1=P)W|j5 z#7z)iEx?Vb$jOe@OC#nSsp>`t#iQZ$)Ga5!iuT6mH7lwMb6@8 zj&FNsR|{{N9cW|oz-H)+tX%)`A&VYfkUoX{Ey!Z#(%GBj4Ixmw|^uaHVDpMoN>T9yKZ^{?kW3guxJ)D7%JcuHZ?&1{%x@D+H_Pe@a&}AgcJ9!_5@hP^SLRzD4lXglq7bXwE?t$$JYEC7pcc_ec zGVfpyAPc{b%$IKHjIRpHp+9_QXW=+KKBT#EXrS_e+jMd;HF*VY>n+h}mX$goVSuNm zr|*6#XK`bq0@@Jv&YEpPng+)?bS)^SVb5mSHUdE%Py`Mw@4oVlUB*39xzwMVgHZHk zj6~(!YhZx+_hZebYbQ1ur*J}M)_4HT$B1>=8$S^~)^xL(g>@JHUl+m2MxiGpxt1fi zL|4nA-9vQMxe#6R-8{%neDCyBw};qN7u!Bmq?&twFk0&h8ai|O`7P!oA0}wjwt{Z3 zKu;$Y+2Gs~ps3T1Xdul>Z8JSldHbkZr z_4|02)tTAhRMT`!;&=on?HXPmWnJAZqilaR$qQ{{X1o4wUGtb9ah$!{ueH)AFh5`PC#+U~K#m0xm-cS0%<8w_}s`qts&VBhw zUEicn!jdkTQA(@qx;X?>8S;AX!lqtMt=FRh{c*47-RktOoSBHmu*EscJEP;OBl0pM z&XaAc#2%w3TBFJ}pz;mlV>*RX_KOg)>YB@H(9Xsqi$l++Z4iUUT&(*L?_P4#7jJ## zW$3h=A8!<@PJ}S~atLfyqdgHj2OGQ4q1(Kid-Kfp5tt?1O^23bH)>z_JxKg*O8Uz^ z%#Kh96WZ;uW3@LO+nTz;0fjM(o=W7kz>ix8wVDHyuziWqQq!E9BmrHhc}sDL?^9p6 zkRUQU?N4eh9eyNRP#A7k;~O~7ymQm=iDX7+tZc0CY4%1LII$2pL));xu~F)8bQ362 zMC^6LqTAc!=N2o$lPOA;a zue*f(vopv1m(M}ya`LL68LLH#E{(++UQhLD(m6l;sfQa=^u3vsOtKPq26RGo<}8{s zhzhT6-tL&i-;61Xrt;e|YO%haD-+)fCV?Ylce?FQ9g3c96SftG3k_UPh@TCRNILkOV3E2m? z1ltr(GKHqrJYyLPGqB}TAGS(sJbOvk=%wOwPS&H{%~2}8)bNdzF98gVJz^5pG&+4V zVNQ-AzV0VwaheY&nV!_?AJ=gr61=2rD#IMwpouJ>$$V5#Ud6v@2lHfl{s-00`Yclo zDL?j+c6}x=tuqQX{7COl2s>IVw*c7$r3Ce4^H=)lE{XVr&4&9F=}w8EOne>4L;yv4L#q1)PTOobBnCb5WL|ma*q{b(Q6#{hJg3Z3Ssg)*i-5;Z7GXEhVDcW(jY83 zsJ5l)M=_(6!HOSibX&L;3Wu`p z^_{E&tOlgIaF}S)yMCq)Bi{Q)OcnU;hK#j3=1~%<_Q1Ml`ujwXA5L8Mg@0`!N_|Js zXr{&KbgKzp^H)~dDRKP<&xlD?0MN@N}JKNp#649>kQm0dRr88K?gk3`Bc3 zq&l}tZ?NV(!WUxzOH8b}HRQJD4+bj!{6c+YG@AbOQ>Q+ey{#GNh4+^)%Xd{=n8M#Q zN5+#Qj{~OXM^$f447I+pt1fa3Ms&Oead4o`4a-0C&wk66p+9E!3qzP&fyHp`?5&!5 z=iwH#;E8*NG=Sq^TXbhui7$>0)&aNa31#zJkhY96a*i8ANT&>ohoaVKa+NbMj2E0UBrGiO zpV%W&j5rFaR1Q-C-cjXCuT(w!d=)1ga@#!4a(=UyfBgA{^U0Wi%ea~=C*mG&y8IRN z2D6(h*Bat<%{es!3CV&LV#ur<)&()PD64hHGs`UOUCjSc3Yzp*6m+{T18wkgljOu2 zwkf07Lw(@4_2mb)6T$?KuV%8zgUN|=7r|Ry)q6;$2j|5%zquL4aStg2HAB4oUQt)Z3HqmCGe=sqFNP_PXqs|9R~2T)+nP~()jX^C9DwuCrB>zPOIlaGgF`-S9RG&PUB(3`~3B0Tkf7WhS_={1`Y_8FC`vcJVSx& z)es;MrV#`tcjAx6LW)}oneuaq!wA$U4x+}vof>z+G#lE9?}0ZQ3jL6^^v6F3_i(kb zkq<=3b#Yk~@qG%}$W2;We~s-gT)?hW{#a;m8nmoqRE5RPIvBLgv(IrPCO-$yH!MtR zTADfBI%lS6N7Y#fbed`}TYue!Fe4j<#5!hqm@n76ANmMkIyBa8W3r~M-nQ>&WqHw; zuwcRqMbsXMZgzpVq@E>H6s~fq) zfy59T(#P;_&Hx<<5s+%R`yK|#d=BFTMT@9mELA{CATluR;vwcJFvu*6{$To$GYqNt zCp^B%s=QoFQ0WxUAp4B+kp(6WplFipeVW?ox?2_3z(KDn;VJLut`5I@c({YkA9Mpnv5uVFq1EKEV0>LU0q$zUqwkd8`qj7 z=nfT+fMeRyAzc_UO!Y<1gFK@1t-}#*R(F=(nbm3ZVv&>rnO&8|X^4!+v)t2Ml--t` z+(=E~8rQc-vv_$(@x8SXqCQ0!%0%~n;F`!uR^-{$^8Pt!Z6<<1%Et&*M(9a_afY@0 zb%voUW8iP?oKcgoyOaYuwtpRABaxj zYqGjbud2Kfx**5Ga|x#5uh@u1vV2@)`beZJd4nVNinh7Gy?BtvUPLQN(^Oi0&Rqu= z{4&X|r2P2y@?k9XTDt#p=<^!me4$tKFyvw*=%fO5M}Vdj(p={)u5NVjr`zP);Q#)<4dMc@AV5FM#5W18DWQcTU0J7A~~ zL%s*86lZeJ^x2wRf!0n>1a|=7<82i zlwdJYlg*RAKL#?sO_s@(-08znaL#YsMmRFW^9&kKR_k?Ml){Q;zOS;`56klB^B=Ct zpK%!V7YoTke*wRAskNqI&bmkSsq)($lyObk%I}hA-`(M{0}KCsk*_p3{GLfjFN+d- z8?Bx?VH$Dy;$cWOB1MDITTU3yWB+`_W)&<}3jHIzBZ!flq-FZrIQmroqp+BatTV}B zgA;BF_gD)JzMaZJnk}ejIhPwq;^_m3Zw3n;ewo`PrH_$P#9M$5_Ngi{VYN>_dufr3 zwOin|s`)!;r+!&tVGSEAj>z48k-3B3? z_9sDln}-jyXL{+;Ig2V=Bn9U0&U2~N0@W~28KgfZ^D#;vsK8K7+?h=EH~wu?M}KzI4t zVfbGqMQ|8wntcf_YicFU{R9e|BqpJ09Q|5Lw6L`Vh|P_nHP{4+?pu%bbkaZ=hJYua zSQqFAJ6*;Zo~wQ?#GE61q{|oV3R}yU5?cE`noO4oHmbl`j3J3dD6q3EfpiQCQ;#sL zC*-z#1qxnPSG8QSfyhaa%8yG8GiKFTS^xvm<)8|f!EmS%=Vb$NHYsW2Xc&T#>)gOC z?EPxfi&fRzHbh%qJO)?w2?wT|qT;mvpN(lPU3O~DRmwz z9g-w9e!2Pcba3>kRNW49P#?RTnSy3gpM2g1$*UC+zUX z+Pi)4fO@Yn@E})2spExuH$fkc>k%X8 zSb>sxXevOA1poW$VdUlisfaP1G{rOefxixPQz)uo*y^xer_v^-@0DwIH4Q}~OmU~0 zbZM>pnN`1wQ8p8ymFKonP=sCwM@pg}(b4(E=baIuasRTznA5fuRj^`9Bd~{lit0XK z^W9WX?*8-W+kZW{UwYo|pZoB{1wnVZ5sbVd@Y`7Y%l=&W zkYqhnaM3IkG(oPNKIE#SBS;Qc0Qz{pNH!d%NJLN0xjYUK#IYh4)+Ibx#94LtwVW3p zVxbZ#xryWcF9$FAg&VYS@}J|NhqOugH#ZM;9D%KD8}49Ap#DZxAUu-&8l6%&%yn}{ zpqPr?dgC;H&tu~=LTvhImA3Sy;cM>MP`C0=s96COL?;M&R}=JX!oJI7OClkM;Tg0P zCq)8wyaxX1k7h4znpw~|2uBF7wv2|wuUUSZ_2ChMY_E!jhn%mz>*GB<;;_X` zV8ZKVGJ>+BB%^SMrBxbegTq2p>vePklULC0Z4jnyDCZ&8xCMc`8vwVaMpr5{G$jXn z>$||VX$WEKzBH9`cr@N9i`$`So2g{cVbTNl`TQ0(TDV2hiPt zH70jZCqIYLr6Dr4uQycQxYGl}J@2C#&L-h%H#&0ww`0`{7(A&*_)(fg$A1|`CkPn# zKdAr|?l-YWXV1Fz&*>nPb_3XZsFlIn-%Z?D5yrZ#2|e^h0-0Gp5;!uA_csk~WuFr) zG6TaAQ%Y5v0+xhO$`?U8-ZClS$dT(x0dvcR#PdehHim=U9LUCmOz83=#~78eX%R$z zF?r}c5J8f-!W}BUmXpvrI9!GD!V_kS^uBxtZ5yZsOu3P=S`s!u|6^Ym+Gg#3eh{m@^H*hvV%csDobw&8bM_oXD1OUkw{I#|b0uwIUT^ zoypI>Cds;X-UxyL!G*8l;t~K#XZe!cOKR1B-V>_5)RyaEXKSiL;dzCtp#Mlp=PJjR2-P;F7 z$U^84q{{9F{t8io)FkGrd;Ed8ZDLwSAj9>+V%%QRm@0r#FQt_QNlg78jTx|a?c>}! z_bI^ACGxTZ{rx_#p57$(Tyz3DO-i#q`yeY$ROZQ1m0=>(Gxw(5r!J!WmaWXWPDg5|VR4p}Ms^r4sek*G zof~MjIBHnt^<^E3Pv6fOtTO7~A$K0}mDQa{i14mf0=GHCHCX;j)OZecGErB8jI?>4 zJ=J!tnkU5$IE){AO&9eEIGUWDjz7LTkJbnno)?-Ol=lSsVE^yrdtpWCRwOG!Y|2|5cTgRhh345=8RV-MztnzP(PRX?zPwOTICJEkH4`GS|Z2x^I{_ zj(~TGZwWgiU#;cP5Td|qtw|jAujrm9aWT(tGq-0|ACipI<(5f|)|zC94jO7sH=8+b z(qxuakX%5|-t5VI{!VdDaBM?A5lT<_7NRFVXD{@7m3uv?C(K$ehMR-Rlk=xXu>f!t zij#L~VTcAFR&F6hJ-@B-4JCKzmH_-sn?2ep0Pl?Ko8dU8MfY|-O0tD{!j#>=nDC5}B5+(G4w zEl+q7jZIYU@B~{M&CY~W^y&DvIkCVA37k=V9?s20ttXW;O<8deMD-(lHcOIkqbi^0 zi|6v!=a>1N)LgFPn>3e)VzNM>9y6g4o4};jk_uN3AX=8e6?hi$0rWQ}l#Y_5sL%m0 zhcjDiiRj^7FC`b%#%J&oIcfnB=B{Qkv9s0XNVyx}IO{M1JLjn$jiE#k{X!(5AP}I1 z%@FQO<~cGxbyR}A+@RwJN`XJrt%XL{@wL><+a}rQM2s0cy|2SM@rR4VbzGPdM0uQi zSxDfA+-1$evqA>e>bG}ise}n=kio%*aS%rUM2)}VzIUlzlX4XeagR*v&eqMec&h^q zo)B7!oTCtUy6=4=iH5dH&iAdXiEEg?+7`-My{_zj|6uOSNmf3oAm$SHWT&8la3=%q7*27%iH)Kz=$w*xA~0Nx|12@^?5<9 zfVu4{Nj`nGTG2Q~O?OyzBVuT+c^qp=J==cAa(kuuLpH9)iP{_+3irjMMx+&Ixoi0> zjdckbI!<)U7J}i#4OW_qB&F}>SgoOO#zvMBIjbdFRu&0-TpDjW$TlSz>l#NUH3y2$ z>v?col1jF^1e)X+=Q-u8n7FwycEL-){Z^fxHBZE>NG}to+Y-P6H|J>WHDfqjryOfL3;rZe;#67}frOhXLnOAV?EC>) zItY`Y2N->g7p^-sW9T$Tui9T+SZbY-2~3xmC%o8Kg1f|UcbojYlzE6Xrs(0mO+`Xg zx&|s|A9};P@7qe9ktQXSX`34;G@#e{4YznN;#4R+-O{yS9$9{zJb-+?dk3u`y!{2G zH{T@1GLPp1+pf^Xe~_d1mh9y>Y^WQzXPaHo4qOJh5{@aZoB--bdgp3#I;|bQYpFLc zZS@;YE^a>C)SRxTl!=4n{BI(aX-^r-%Tw|QIaD%dS<@@cI(Wi+TqkL8?bN+SM(C8k zvo~Hp)1KV#CpBb440MUpTcw=7GIT?{5Wuf@qZ&NuBn9 zd;&@oHxlV!=B*gi?A-L>zz{jUs5vj9&&`sC#PJg1Xu5hEOGs@Ur$w$NCSQV^Tu^$G z(-=d8RF0w!bh|RZUKR=`P_g+XyMjv-1vZ5i{|ss1H46~qsFOEytL?XaJLu0JVqsyi zwyvw!eSz8E1Rh1zm)+FAE2Em2&~r#i-nY?MdvAZcgDfs{woB{u6#u3`WfI%a0Gy=b zw{UNFC zEvhAzq}=A4f)De!jIqH0+jN5ZgcK&f@$uZ>K-9e;K}Rvm@t521^5s}B4;J9tTX(%>9M_>e-&VHRTA9W{l^qV)b18w8x;*;UxnzVVsF*oX?FV8mt z`&)Xv)RpMfnENEkz6{9PPSZ~jy4RM%8@!9>i70V}uz~5qqAnYlR06f4nNWnYmVkDf zJS`HP@(*#-4qG9Q;5?mUH+!?On5`*i2V-vw$SNVF3^F;-dz!Qr&Bs4tHAxRSH2d8{ z%c-MBoMwx>?|t3-RvxQgmHb4=tP&Bv!ngIj&uwibusXUQCt1$MJRc;bEun* z30jj?Sd}rSc=Ie@VebyW2?gjH014HAgx=WBB<6`U_fx8|jooq1;XhcNOQR{=pUtrx z$S;VoZDjPsJpF{MSw#mqdcHVhHe2l>($qEf1N3}AzMjlG*F0qv!85;PLrF8_MMrg!n%8S@BcpB z0xa#U%L4ocmq(H_UAY~JbuvpAX)=E{+$ynsQpfd~?o9)3lkTthz3Z^@7ZR?g9c)>+ zns+pdmSUx}#Hm_`t|G(_HAtLVdhZPuHg6xBh8;Tks;mc6J&!S}{Q3Ax-Pt0#s zQrvI#!#K-QC^g@sL_T?~hXgAKXVAqP6GE0VWFJG5aE~E*s+|}(8g1(oVa5sWWf`w7 z=P_sbf})!HFg!uN7LEi`)&O04rB{f(_6o*n85@e4~`I= zGOc`Y`&|TL<(H}<5zd3>p)q778@sPMdKUcxwiKFK$Kd)M!*4Y1QGhB|V`THzC$9}9 zRCSdSWtR6T0EE%C+1t>hKNEgCb6i}!Y|S6vE-qd?JVqwDV;;Hd!W*@;4GW9VK;|2a zIlgm4^EUp-?54USd7SsE1?Ro5ve`FIBsv`Lu{s68eBPPv?5Kz^96Q#AG+n9n(0=#J z{j#_2Sp}~lU^@rmLvLi&ofC-cK7%Hd|r1`)8DG@>gww1>v?*HArsev1puu0_wRoLJOlE-68P)?8t^Y7 z^|=UmBIH2&Gh*<8^wF~`{Au&6eY2{|=A}(9tE%$Vq)jVNt6o@@R#BB!I&4(hJl~A+ zyzp>WrqVIIAHZN?0e@BWSY7Wi(9%OiC_teAa7tdQk(f@y#8g2riqo33oBp%wg*OT2 zmpme{T~n{3tn`25Gw{Lx?HM6p97w&#tkCqo1_5FCv3j_Glnd}l;J>th>HMD)@cYItH4oA((INIvUS57A`y86o7UpjL|zXu1ji+-`};qP8< zG2-?9Wy9L1?w;6s^=m16lDEw~xBr>3wz8MDKb4feZT&Z^J4I&O7DR41ej>7F)3S4W zUU+7}bmj&oJcAS*qLV`Yl{g^I)gh zeW}dIV1`p?cw1{0Uu#NSuM(@{09xca(6kJ;(8>&7Cgtgj+%}lFmspIl0?252Ouhvc zU|(P}-CAufvRw9l8pxO^z`vaFT3j9RwfH);)s@pp(`xew*An!#M^cwhIDxYzc=h~k zI77mCE+%u!lAaDo3Z98aXV+3mZ?eB5ek`$j3nYVE;VsfUh1@Du=LLw#*LXalY3_J` zC$?3qBaL=ypKN<)+Ueies##h$_kRpciwb@yP2T{i^{w zn&uw2>Vg`yL37!29d;jetv43c0`)_?;C$S#y~qQ8@*%Le^RKc8j zRAmo zbH|>uw<0%`qNIUX%=h&pKQ~Zi)VTgs#S}S6v@1}P)pHR=f}P~t9vfgIXbN(BaKdm^ z55pP~)?iNIvd3$+lyNoc6kF_`fqMVipj4I7XeQGKo^KGjBLWi_Q`Zb8lCFP{ z0j(CL%RiLD=`Tkg%9jP?80#9^&;t8`Y(P)D^#O>~?s_fH+meWDOB4ec$wCEOy6$)zaP>WW(hB~fxH90q(x`<-H2fP-z{dpSLLmien&Sdp? zr~>@V#?Lw`B296ev$w~L{t@I0?28kkxzL#NX-^YIec|iE z71!Q?`NQL5tT|mn+|nJPs_tl6x1(c-MVglrX|eloLYEB*JDTFQCXA1$d(z{mb?R1`Y&&T|c zlz%2oGg|FBu3{E7*WnvV^*R##7gHrT-ONTdPe}H#pqx4BPRaIEAPiGEn^Sh!Y4;D2 z^N_SPit6sHY+Wa9?Q$MlF~Gsidx#qYid}YAoU7Tr%1#LQA)0h|Rl0AKy1Si6_iS2E zjQ(eLgle@n1u6=2$`*v1``XKcDjZjNCpS67X}BT0xzdM29Kr36B^!&BjWeYIY!rG{_89JbI4Y1d~^UlXa`o~quPWxc)5Q!niklFUBaV8o>IgRD9JoM;?B$y85? zs%L|&r+1*90y%xjLV-%DY(^kXZ)p;z*h9CHCf{6r9nb(5W@tfm^-*yB@P1bX}tfya~9;Lr!V4nVynYkdIJ_F6TW_mdH9lHrL@P#&&WKTrSe+58 z7;!oyPP)ZYMGMXnRYSZk<-{Q6O@A$QjZYsxR=_4x{NO%sI)@9*DfZlSd+OBH7@tD( z%u^vn`*zP#B6Yk1dCK*DVY^rfQuDZoUC%HpkRjS$eVBJ|%&O<`SM^V(eK6JUFQobt z*Q8-bhlj-D!J`ILoNoz9K-kZKbf~f0gBC0;*6Z+(ruo5BM(dtahK-wc^0beC1nWtq z`9-VEpbkYvc1*XX^h}w?VQP&%CvbxC%^{ADU9nV2YO^S7B@5<~AS2$D6UDJ+kM&(a zvqZvp9ITw#_ZV^uKJlueZHU!ClXXsPwB}hRHz`#-r%_4dT}ggAaWo=YI~Sit8^oaV z=iM9*InPG|=7Z@G5=evW>Tz=}+K@wPafuPlb=Pn1_3;bNj?eEWL3IBZB4^mF) z@h~TOe39;AJW5@Fw>T5bU2|7(*DN%Z8xUMh_7xpZQ3t0r^ZeHi_XBpe z)xmbl#f#@PJJ5qYoD1EuW;|qIRaXXTwkwN59l;hk$fD&2lm_%71MDUP0(0OLt#%`O zjQvT+kh<1#$S6KpS4Tn9C@YRbtuE7a#@&vet;xp&rH>z_f>a>Ms3987r*B&kSnc z5RFEd|0+7D+!=@=85%bPhsGU^My>OleQ1!ap59F?&8YquXA37=Y zPH}u!qq$;Zz#@*=4FMdyttG2ybqXFmG{4@Dc4U)ZXj9-yKEE@T>Co&c(*%Be9so0rxUjOMwjBt5YRR>XrdBWag%)+$7`>qY_>FGS+r8bRHd*@AZ z(>z-5KCiJS&!K#@5V|yDF}3qLs+p_qteM>Em21=1X4a;_@>!23DEaX8USeH`tOjB+ zpPr54ER>LBTD=T^^Xg^nd>p}HCKt2%L|y%T0rkXUzEW?VB`D_lt2rjgWbf+WIc80x zd6KH${AcstaHTWZq;o~E&Z`Yb>Q)($`v2PIXEoA2w6X5$rWu$piu;#1I zZ?_$$s=hP(Vr6stiqv+VVycikWo4sYkOTG4yi`#Ao&FXlM}MwQYiKUkU7w`);r z4fP?hnD6OHK`CnpO^wnACQSGj{~nc585LcLdjFlC}tz zrUXlyv1MA5cF+A!+I>sVlJ^&lZ$754_)qG)?)NeYz8bxm@a}rDwjZuSx z-X-Q>kcHq!Q(K$cR|TBwDGiu>ee*`)Tul;h&+0pcJ_PV!CHGqcn$f-96a)3i`q=ne zU~CYJ`8+n7&KJ$uyEZtk)-{^nE@&TkbFhvZo1d}HzmIEF{-);3qr27`dj8TsEp-2E z3;2gv%x}g&sC}L8r@z#lqU(Mjpqp6CZ`Swnon{`N;Z3`b;XH-OXX$FZjc%syyMz7H zy-_&Tx75wq9$4y##e81s0(0%tfk5-#SKmr6_F$kD#9}_T!f?%v^m$)>s$SxuKnY?o z-&~@gdY8GPG`-lvfnvmBzPZ>+xueh;ZO8eor+(-qA5Cb+M;n5DWNfufaa^CS8}dlN zQN&`t*-@%5+BL2xb&_1`8c#&c%$rTiUh>yvi&FDAQvgm4hB;<K}yhLj5M=R&J)4aBB}?^@;S&-7hZEO{H1blEL7AMT@F30}Ht;<*F(oj+&tZKQ#i zM>jRlZ+B92h^_pF)p+Hz+q*#BkwK%N1J}V4tmAH~BgAg?Z8EBO3HTK^=kaZ(Dmtht zwonybqig7fii@TbN`&f(Fg+1Y3GyeFqcz4I8yXuH8y*{D)%^F6s=R`z`vVk z-|BwoLr1%C?VSBhibFiK(CO+$OxvsRFg)MMvV*!T%&BCvP!__nw{%%}h?4nH=C-zr zK;hfEkY8G{m@fEOy?GkH2gs##Prm3w4!oD0Gl#GL5Z;Le(*w5EkRa-9y%XAziFvs;>8**Onae`iw2?@aIv<#N@x zr(>cg0$oiP6*Nz(Fyi=9{OrX2P0sc8Ls4$7yaRDl;0^@tuax{EK}QA-YKtFt_pT+) zT``cE?W>v5U&!aQHW;tQjJd92=|LavhFtL-RLwV=Z(o>ewwr5?_nOO|(>RW92-HC$ z4ieusir@sPNAmrx@W?DJQyH()Gq#IXoO{kw)F$+z(%9Sn+*o->htK6SuXg6XZY3y$ zV?7U$`cymLqNs6jw_8mfbZ|W?pPX0cqK+-nIp5wG{Ta$qOgU3wG;_w`!^~UL4Wbr*hEjefZCsp_;RTxR zxt&kYEV@X=u!YBK5kIqglHGoNg=!7m^~=*RCK=j2Zq!oWLEpHXpemlGjSI1u?}^su zK3rw!`KH_dEUC1z=Fs@CoJ_k^=JY*BQSWfx?)wK>vydWi2d10}njT0v-_T> zSbIUPp1#V!n5#tHxWKxtv7Q$x*rutsRiwARKsWCsnYWY7BNp>LG31L_BJ_mXC4>ET zRGg^K2^QZj;Kw@pl%VcLVN|?NQIY4l4zo*Ufu$y%o@PCx!saDuX>B+CRURk)>ef_H zoOPi%LyoZMoNUF33vkkigVl5ezH;RG9O!kJ=L_nw-vv#W`W~aRMXTLRWA|y$`+5xe zt_StY7=GSnsoTtp(bu%gjYG$1o-g&JC!XwDQQ1vA4^Z^_L375sN-*}?*j5Z z<0};2F|<^i4J;b30^e)|u%I17K>nxS6C>;OdwOJyr8);2?Ayl+`u(JdSo})qzx+g*2B}}D}_?sGuhro1gk@jQ`p%Nj& zh!dK-d(-~R6&ot^T6oR0^G+&)#`(K41i}T$?g{M9B6V4)gJl;o$p6$`*UOsmm@3pb z;Mz2gQ^#49M~)REkGf=TRfHVjI_vvTu)F*@w8x+{Gq7L+tvqRzw}{g;eWeG( z*1<4?V1b0bOfzU>23Z8AXw|RiouK$_iGQtD+m}Y!htxT>rAD%!o}}BPeR<>U@nQ*^ z?<2)5ZI0Qm3A3{*PF3d+Dh)#Y4AcVmadfYv5AOkZe~p_B4^4Xx-^W15g`D(gD{Vhq zVbPlBpVaHL<-l_qLfnkF!jGn5hEFJp-a8r*Z9NxX8n_f;_hh50B_ZlQbpqt|lXoL5 zSno)+4jhcv_i7g33E&I#Y`*tki>8877C4#;s8L>vtgq3TmP31e(7skh5$^!~Cskz1 z0b=oL{8HP(w_m(lH2rA6+0Qr{>R;8UA*;P(Y1u0f`U0q~_UC!lm}8Z4 z`VIlVx2o-L^a@69OA$CzW$Wi3izi>do$cwMmN)JS+NaS1mm=3THOJv7r+LmTO~r|y z_O1t0bl3Sl(6aHrRKE1n)7Ib9xNx$1OPD0va^lh}qC=AS-{j@-C(>&TWfTTKS%ADen_{ z3BG$(!aD=I)a>w_=Jji$RCJImX3z1IsJ|c2$IpJOqq9Em=0>Wj)ZC0yX>aaWnaB5q zTu%i(!;mpxWN(+Kz{hfW=R;RA`AQn;IiprWeVO!_H>_V?U^o0#H~wii$#%C3w0i_w z+7460$-qn1Xc1m)?;vXLR{;*lz2byGKQ`GI3=nE#Aj?Xh;D$qX@E}7v*esRZJ6M-e zmyx1_mj-tk`Fu#g=Y!1sH8{Ax2Alh1@Ok=UxVb-g6E#I1Dzqzx2NuE+|M8K5kET4= zwGUc5b8ti?2Ie}?Xg}-T0+KKUfos z`SM^LI0ei0%{R`$|Du{^s&g>utRJOon=15kFtM25{5kjz%$O872lJMXgT|5A^en7@ zgQuPO8$91%;HvOfJ7F1aGaAj#GflHGoPVD?<9z$vnT_|k>&~;!oq4`}?pfe{?o87@ z_XjW?G={2ut>)iDr={^1IF$d?9R*tL1nRN9>LgP)K|a1>E}v)?1fGjz2kmuk3^WhN zzvpf>{5_S%V?6yCe4(1-On$VYC#wPu3sc}@x$MoS(~w>N-kZkHkNCV@JQ)7!%OV>X&)*BA7|*8|uT+PLpG|(F^X)}6zpUg&aIc3tlnJ>J zn%%dYwBjM0zFDhp0P{T8o40?oi}j_c5%jAJr`n176QqgiVdXNR&aYQeBH8~NmDV5g z=%4y`=LXPyl}T7K)^m=Wl~#QNI__X$U@P};3T+THB{fh!&g@ODpDb%@;Low1YiMH? zg7XXud;$yT+zHKcA8MBSeY4yy_U5>kHp_jiS#FG@Ic~3JxpmEQA8D2w?re_Rtyyk) zv)ntI<-Xo5_orsLNg>VJ&@6Xcv)p;ja+fvBy{TF5?q<0mu4Zir<_=XG8#NP7xuBV_ z`VJS3#QTK$rWDP6mj=y!m#Vq%Qhn}w;DYA9P5Rt-pK0z(=0lHpu9;%YHAM;;lgpIz zOfC;JGr8Osm|Qf^He)K`d;K(bVEyidH5K~KjIzs&7TozfL4|2*^;-nJg;skRoHSt& ze;-1sxAN$X_1N$;S1o9Fil7JCfd%cp#tWL=XBQW?^Z%>0>k(IDIdKg6KLYX`+NO4v zoaVN%ZRJyKIg{OJ(Q5DI*Hc@V-otb&1;f+S`gfH-?XU>_axu-p$b@BE=sc|&p$}XP`R2tFZh=GczTrWK)29Zo)hZi`kh?AQ`XN_<1r5>>l|N* zptByGPpoXidCn(K8tcp>9No_bb~Q3qo(`-#%Blf@C9;);ohA8A_thBwFH!hcDW&>K z{iMFEdSmI^UIAHdkW2|UP5XX4*HVnRr9XTwp?+i`RPeXt`PJC@H}{8|`QCgOv@^ap z&&SU>_2ugIK$vLsa|gVh()oG_#du9;{*?tEnad}8yN~_E&tmw;5YpA7a?pPdVJO8w zI1dVTef>;*|NAPfwh<_4AQtm|k%FFWm#f7!N|+YWL7K(*TDb3Z!7mBTtOLSyi=*if z8fhLvT5Mf~n)?nk87T*hk+4ClrF`w;HJmtwek$%tUs$Q&&}S`u0&^8-%JP2QOvD{D zPHAro)0y`Ghtk`+RNq6>_j8Al&(%{T^;-cOg!w@kD-C-0d$4Qp!#Djm25u4N_v^Bp z!~DArv`2{xoT(2QyGpy~uu$Jfw*=nhXndv}&M{FWV}e=`>QK?{;D>a)T7)|6zJr0K z1GTt?Jgw0$XlVRv9sX$9(fWZ!e$p7W!S!kkYttz5v^nk#bBwVFXuugbebS- z)gTgm~cba#Q@pXaD^utndIZ4}MD^6U|z zUU@FDc!$zjZ&#IAJUO&X&8c6ab`!aQt$N`84%wEA^^E7e1zAN~@}Fsf%Hq||cZhg$ zujUVAwNi_PND@>$0u@g_r3BJyxBf-~2esrY|+SqoJDnLJHO=7>1F}@;NZ*tO|zV6&^ zc3h}Kxh~!xuKUgzIA@t|8Z|y=b(T9;i?3Mlt7zYkjCu(D))7h7@5s^32`p@v0&<G?tf z`H01QnXh4qIxF@T@(5~8@KEP?t2NJ?JOJvhq)@ijE$6*(-3riuXTZXHSGi9lZad+% z;68-%sbAZWfY)L5Ya3cEY2*H~Tm3fLSoP8Ooi|G-%(J!*;9_+cBu zz5&?Zk{gE8Nfd?tX`a^#EH$m@Dft)bDS1CqvQjf{m065Kn?mKUh-*dq~3TWj*h+5hxfp1Ot}=Fkf_`L;Y&3%>r4u9;rA>EHF> zclcIMmc~C8)Rr!h(xnqB%NG^=7a4K-5ayr4??m|>oO()m&v~9wl8T_Cn#DgrPKpCf z&p5XRN{2c1(oVg!Gw2!TAXBj|fnwnyda)3_Scv)MCXZRc>zjN=!EVss?K5cdZr>tb z>r=nx;+*`(Yu~&;zqU)`v~tv9e@*$kypiR8-@@wY<^DiwWO><)^6K2QdH(6X>dJ~~ zxoKm|tNj(esvd=T`Sicsw7v@~YZg|Q_oymgSW{hAnVU9z;k3$%=@*wT9_^c3Ue#k- zmo8a@e?})zDLt;z|ZB#>x;Z{!Dm(&V59R2 zp6`&~2LJwzvKR1k5Aq&RO?nRV&cMlRXkRFUD*T@hYVhDv4dsYykoHAR6{gCd0zb=9 zA~`b=&w_=Bi9ZViy%MGK@Q-rSejW*uINiTPZ12Gi*%?2lQi;UdQ6?9S=USTGLxH84A%ZWK$tL8VjA zuXGslbze{e{<}&>W4L%rxluLT*+%aSRmEj>^H@SB-{MmA$b77k>iJKd`Z_Ae4`%5G z84jL>s{Kk)IX2veaXmS>klvc!NNc#w)3CN0Zb)zT)`i>Thf!F8w`t@CTh^aLfmA3P z7*VfI!C54&x$HyOYqL=@1NLI3R+MQJmz>?qw9x^#U@7J-!;$IZCRAg_#jpf3#7f6d z_w+_Kb@_FS|HKu=_V0v|VSxxzjytLt!kJ{ zXQb)>AO!9^Di@hlPM=*qeQw%f+>DS;!<}g}D=N#=%Bp6hEh?|3I&0`(m5)rgr``K)s6`HJaj^Yv!3A@dgcYuJw2Ws694TKVPkar0DBW3qhO zLK6Ga+SYccYnvx3sS@9OGN`Qb|9Nc=Du+qYm8z}KBcQQke6j*6I1l%O74y+ii>M#{ zd15e?49>5c%GK%xWp|WUVTa7Bz%62R`HZy7Dr#nJ8hZ|b(PiBR99dd%l+Ju(`Q#;Ah4ynQE0KZZy-J@ePuKB%F$hFlm!gW6FtbD zrh>E?zH-?l+&@>Kw`W%S=B162iUOlGPaG7%<(qh>W_DQ(wP#v6P8VrqGiG3mn$`U$ z(@XAohHfs6ie|@MURv*}W~|}>GFR%W!dRS1J>-{z4ZSyOsE<5aF~jWa%dk7KdlsV4 zYkbseIO-STz^1;H?x(&ZL|zRZi8W2)hX!JvC=Z(K$VnAdcuc9rmgaJyrkx=J->9GK zLFulCI^udZ2aZsw?_!<2?mc@1@#9B?#clvP)kEzad>BB<@k zJUxe+ghK+&6i&TTX; zGip#D0rKDGp?}k75gqfZ<8=VVnxJRQ6>TNkhX(f5&j*)J9WITP)?dF}5Mr1vQBoj(E5~Xga-g9UEe!VSGpO?V^t4pW8Z8&c~Tr3Nswz zU}YzIpFuPlJVj*5sv;`&FV~i$X!vIll^WDN!x0Tjx)Ue6n6yo_6YaxkKhqV(lygHd zX@0(#`sKG`>X(cjB)y2~)l4__pqzj2L3uvu@mddzgdWt!tey?A@zB5Lx}9F!mgMNSfRyfi5+vQ9)yW8IIb{Fabxq;QvLz2Dk@D zj{qynUPoC7Sa4hsI)@0oj{}!-wiEZ@IJ7__%Sr{6vq37$CL&4!2aZ{i&0<*yz-g0RNpnMr39i_b|0bw=mW8W z+VBRVI7A78+Wv`!+TIt^IOne@>x^gMTt+RdRQp9x$S4O<5qi3>*i6sit@N$9i=iLO zCR?e#i(vqxN-MQ*D2!sX#7aFq8p;@5ho~o_Y0@$)Sv?wNFnWr$jD@+3UP06c=l5Dh zpCIawsE)1HY-IIB>=W{QiY?0)hqJ)doO6PWYQF^TWmI9KHcW*l87)RM2v6{P*h@Fr z$P=?LrU-3S=ylGy!$!8uf`g0>AsPyE-~;yHk2dPtIq(t7EOtUwaFS81{T}FmQT9FC znTN~LNnG2)G?Mi~*+{qwqBPPn(N6WPgd~>v?c|A-&{DIY?EUuCzH7k4=#2tGt0B*X zu7`X^Eei?V00oSS8LfpvM$;IrgU*cBFuD=CGJ2HJO;E(>5To@_%;;xEH$zWGEjkg} z040oy7~KMW7)@n#8$(FlegvpjoFv`^0%`nD< zw!k=TM8n&TeK4ZoB+?Ez_Sy+ISPR|`b;GC5ks=*_LMo*r8a9Lw{TOLFbaU;)vDC{o zQgnc)T<>6?T^G6tdthrQ@pp$V*3xk!)PNj+IB`}n-OBW(aLRd{DMY-dx#5}4zel)1 z>q4}DmrSHLF+Iq%Wmlr}x{~xEPJhlcuN%=>-F}a-Lq^0t+?l-TCYqsHEm`os`#sGL z10oio{*Y*DOFGkQqB~iLRw4ac^sN@OKl)BgzZ$&->GA0Mkn?r)!Z6Jz(`yf>ui z-_dSJ=)O5-M8nUqx(7xyM8^^J#7Vymv!+9@xN%kiE#t4Sy5aur@5Z{}4W?T0yRo_t zWm!tQ;m3HgCpuvy`n-L@PSlW?cmioBrbC!+M5>oMo2Zu^(GZ{1JV)k~mKP_J{t?Nf z-`onr26H+c?nqv46Yy~I)ksIATy1m1+LT+7KA*DDruVy%XGBA2277>Mj|@ZGung&w zKd|hNJs)bJ*VQSLdVfG>n%xbrWp=QWJ&Rhpp?9zAkS^|ZN6U2hBlAA&1zVdj_H>9s z+5uX$Ibj{!5S6tL#x|s6k)CX(B}~UNUBq+^)2&&u_C5|bJe5U#@kaOC)2J7S_Uuix zoat(&JCUYCAI}x&?Li)D;|LE$CiSD)&$y!JZ*d8@H-DtC!-x6XU3U1C(<8DwhGE*% z1!-;e*>F2tolSALDmxP+^QP=>NN+RIt=UTg)Xd+Leae)ksD`krNTQpOW_BK9r?l0g z(|GTYD81fCdy)-1nSPkxDOvIlrqSNyWpS^AR@x5~`iJ91JU@KIXhq_F$6j2$PcmAm z(3b&p3{iACBj-8CDcqA}D&%yYK~$hnwDT0UxKyE3l-Xe+U>@E5fx3 zl{$aLz0AXm_J|=U3xyp4Bt#gzmTt5m92)55HGC#!IvpYcHZocXHO?qR4=8lGGhRf( z;|eWv?xl4|p{t!OaQ;ioFxnmsX^i&3y-tsahTI@oVTNvXCzMUj(5)^KF>tdg_ms0l z#KEHq9d=$M5+Eeg@Mj{t%CdEdr#rlEO@!wqf^R##7Mcj|OrySJ$d%=smXK3{*Sjy< zhJ;KJ$uN~=>tRvIERh0_W*VMv1utb9o^J&Q71|b3EmGlRrqK_nFtv?Dq%#dZVzdmN z2)SIehRiI9UJ0oe8Bm;Mv>_8pC31d^mSw_Ng?jgwNO9XYUctqP3x(ZP~Jl9sX_IlS#xQZQXE9-m7byyTYsYjv%uA`zOoD85ZL?IMs z>*z<(2|ico9hXDv45eO)jw0#;pDXk^qOPztN1}hZlC^G-k}J_~h>Bo^LY7d6)*T*D z$Ps#26vMX)g@)#7Jz#u09bKgLf@|8zSc=D-z2Sv+hClnjW9^Kn>jN(bWYe@ha4LY# z;I7q~r=wX~Ddb7y>=62t=ntJ4Epzq=ou>7NUP?AF^c3!BFH*8ep=S^cSF(Ab^Rxjl zUdfh*E~+M*DR;)~%Cg-XLVY8S)v z3JnR{q78=q3XMkDQ20QikV#=Lh+%L_q4Kb&5S`U)2zx*q23mWGmWDm54F|VEG>43Y zREa{mJD=7@K|6&?osVjxp}4&<9>zjxdt*F|g&_*94?6|pV2nar!pAS#Ce3b`W>i<$7gLK%o= z!QVPd)Dh8a=-Nf1ix5@7PK72Rngi>*N;E(62W>9=uF!InRlnlE_+6oA5v_re zz7p+4bUiHVYsB>putW9xhR)NXZh$WpI)-R1WUBu2cBzV52W^!<7b3b5hAN-^1JO_gW~*|S#Jp~K0(SJ5o?jYs$nrFN&S)8|iTS|t z42-@=q75;}EziO;3hj*93(vvm0TP|W8lHo}{Umz6+q19(#wfH8(ep4xp?49z0J9W2 zj_5_Wm9@y#cc<#3m&2(a0>~B@d&;sCA_vMo%8osSJEMewvJKs0f3oZW??9uc_d>xy z87~WB|FGO+ZDPZZnpJZcu=8raaD+3 zQ0VTs8bk*bdN^(gqW2|&m*Y|`?}Bx(94j<(-h=YN(oWjXABNR~4G$iH&j(9S9E>Xw zA3)*|iGGTE5k7(*LyZ=F3=a-5`u$^ADiPe${Xp!;aIHe$b~q6GPqLSFdf}z{TwbGX7s~pSTM}!htqJyFvIFEVBIjo>M!7KM#shN@h`#|*ged! z`b+p+Av%S81vSH^Cr-ydYW)U&Q!ScRdBn3`D;|ABE}>{Q)Bsx+UST6~q*Uo0NF`XS+v#Uj>@knu_T zU8{Ipp?(QpTCL($g=Qdfh>sPjN8}R!Qs|b1v(|7Se~xh_)_2w#AtDrdA5o-8QRs(+ zU#(GM{YdHE8Hr$Xi?btTKh!6N*`h_(D2Z-NjIqUto}&ye#fe!G;kh`;7AF>tGDc3k zxNel;>qK$OD8tu@V(Tbb-}c0_)+F(FRl|#khpowChmsvmEDI zqm3ABDf|j~lJF!fu2QHV2~Wb}rqM=xriyz<8}XSc9#^Os%cY6E3XR2bY2qD5a&Ao* z-;Oq7H(ivBku9RgYAxoBkyg)7+HB1bD->!-nx|!moeDjfbg?Z%{4vI8QHHRMHT;qx zqQ@GtO!-O)R|`+laGQY&lE#?OCunsWkv!IDUmKA-)@WZFQ8d=@OO_Zs*6>S~m^jvG zds|UC)@XZMu~Z_6Po8S?h-bzcZTEZ5_qH2{H!9_4qEjlh~`!+#a{bbQXgr8g1wzMo%<) ztcxf!$-0V)iAMXnirR@r`?`u%6OBIVChnMM^iemlZKBblB5_b5niac?$&-v4dWac8 z=<-QMeLcjrlZ^U$h+8Ka_4O1FOfu^0DV~|6$HZ`3FR^!$9us2_y}{^s$Ul;Y+e*ZH z3MI7|gXkEe&q65bdW*!#GD0qEF-7zi;}yE4#dWs6;=#$%OLw`{n3FD)bwpr3%HT61q{Ld`5p$ zs2`&j6q>;3kV2J=zEG%^5loe66{C2CHZaOn=j%_#B2RAY3E61%1vqhpkKZK^RkMvJ$n8lz*h_-LvTFJpweOzNaL zYm7)NGseRhkymDnhjF4unGx3$#P~8}JWLWR6r$N}ve?0B8T{6|UQ89S)1+lI!plUK zLNvn5MBy}}wbMlZX+~?OiO~v8%{T?q#Y}~&GR`2XQD|w#QQHi$QlV8DClRezXhX&s zTe&ziOn!o3LN72%nIX~sj2B^+SUSV#quFA`48s$% z#U_PlOwSQXT9FTm1(!n6X{$|?iH&7vc$||h_a6vE`-K9`f zW*hq=v8UXKiACbwa>Ij{i`bdcOIK!IE*6Vx6xx`%*}6n*n`wAriFjhB;iV%`j%eU@2jzd{@jpuzTK;-{I?yDfXoZMj0Y zW=WLaYembeM6^P)d)?e}rTBK1Ui)PG)ndnN>A?>&YwXtwSA}eYx6N7WYEe)jWuIl% z+SiEw6;eyjHixZi#c-8#B<5TvRx8=1D7#VYRLI|Eh5aV+naX(;=3FnVb0oS8(aqwd zLeC-EAU4jG=zT=Dh{Q^%<#d}>_FF}+LO-^NvE3nxD~-syQ@DKW3FqFdiye0gw@>!p z`&p;pPLZL|Cs}6@6)N;))(FR4VxmI7WsO5rsZeO!$%yI|N^d(2(OQM_+s;O`MIt=C z%tQ2O0M$6|7AJku&R%VoIyQ?I^JTw}Zu>0UBihe5M$T3-c)o1yER@|RRw&tRZC5z% z7sD4wEqmHt?|4A0SRix0-F7c*7ybN3^lTT!)rKdwi<7EcX76=r+r_^W>VW7W0Wv3^ zZ`Y+gBBB)fw!^x#$3&7sKcMV!k*(0@chg1vN#(+e>nDu%!N9#IbRp!11QY7 zUo2f{Xn8}d2%!6{Z-}=f;$8Zi;)Fu9OMg>*rx5MZ4+_g7iD;L8P`DY%)Ad^-d6D!I z%^`1#5`}0V`Hq;sNVe}r&*kD>k$ag$PbS4X-xG(@rIw%DKP3)}5&V|)ct}M4eXhe| zf<$6m{$4mNrYdwLqiHJVqxti+!@}2EZ&5sIDQ#o4_I)u}A~;^qJ?wpv;4x%JM5;vK zF8nF{h?rxNeIRO-EFWbb2v@ct`%pwn1jA7Fp_pcpeIzQCY$3`%5)ocQ_OVEm2sWYY zV=>1hJ1T0FY!AwgiijLT_D_*05qyrae~Q;kvSZ?ql7)5pDg2n|lWWM1i@_2>dz2j) zPn%?)h@DC{6lI@?mZmp%Cxk~Ls6p8Yad`(rc2YD*1Y0{@qn#ADD)cO(PsK|GM$XT~ zYZAdhlzk>XQRquVr^F8mIXhpYeJ)<1XiaDNgS)Q7L^TKsCjeoC6+1&s!$`HqLn@pjp>1%O2shxzr!@lkFf1 zDE%o*zma@Shh;am$DF4nOTTGiv((%%Td&Iky|No~Mqt{i_}yGYFX8k|ralwDmeW@= zUB&b!rni~sRujF=RQ5KmaZh&Rw3NQV>GuLu<7@B1y&&o5vZW?^mh=DGgfDx_NH^Dm z7ea0HJ1;;ZUxOI0Ve|h^+w4vW+gpOW4 z{&m`id*^^@WDVgwe~UKsY-u7jk3q^QU<&i+dYd1o#$2KC$ddm)ft@P3uoXgtQ1loK4Ja;hN?ltnf7~rFAoE}g_G_Jd0p*gC}-ZNXf?L3^V-HqAl zd}*_0^ZX;z?|B>BuxwBOmU^G!ZHs_Ih#S5Eb&Gg=UqFP6y|F^6Eg;Uwy*LzyQjw8$s zQ4o)R$@tfbzJCLW&>H{TkOW!y=SH*w^5JjL5&t^jUmwJMVIuyGz`tK09cDVO*W7~k z{YirEC8jgYX4*l}y~S>v?#+1yGG_#HCNM2yeg&r&FkQ@a8Piov*D<|~>1L#@osS7R zwLZ&bcQM_Ev`B>T)432J&Re2a`{zRzz_9kGAOyNQcZY;PsdJWA0rT4ziQ}y8G}Bn1 zJIrqQNBel;hF9BP<8s5n_BSxS*|izyoc#n`jOXjkuoO?y--$bsZbr^LZ3o{i-@&)a zckm7KSfJa|JNV|g8|aqMFKnUE_^le-wgbq1s_PBRb47=}Xan7j-h=!PkwbYxIKNwa zxI=YlEOU~Ob2*ke+F^l4Wp{+`=bJxnevY)C^BiIg`}uxQ3Uku60R`WO{sJQl?zJ5e zbp^kKegrEDBEvpHJLAHRh_wYNVZXp#DD9?^H&(MHC%L^}vbNq@+m089Er7g^Plwq|nezwMiwtt@;dYJv81mnx+Fx)P1*RuxqN zH*`A#dw^P90h_zgJGRHVeIGSh(6?h|pw4I9Gni9}K6%DHnQwm0Kza!IWY1F0vy}6! zVDBwu=~9-iXS#wdSuaX4XEuD*ZL^i4qC9#%`((YK$XNhCbn{1V|aT*R3ZMN=bU+rg4ZbnP4j@bo0yKj#<#HAJh-GUv>k+zLvueY|a`@GnXSo)ZD zL-(s~^-W~Ft=ISvup+?Si zkkF%d;sPk{acg2B+a@eDHjjuOx@}K9j&(hjxKz$67Sivwkj*2&&}3iP4@4Bo+Fc2!TUXzBv-P}OWEgxHR_$g+}_cgbFfA}U(YsdWI7r77~3qZ zWLm>?sYZHMu%5~6$;s^7^&FEl2IHeTSSUgkU?d;5rf3xTM?_87I*15BJ)OIcdDF=epK&f0gmG{EcjXh+M^Rgcgad8pYLvOrK!7 zgXtco*+8@0ckIvaEbo>~)4sDDW9sZZC9MKl_AXD`!R^}5b#2usCigJi$X+_cZQsaV zDr5g_Wt;bC^xYexXJISzh4uH|Thc?U`yCIZyRE!-Sm`FZ+nUqoDG`A?fc+2wPB@G- zg=relFAHSCbtv7*>HSO(GUpJqwMM}EP=xd>=l_}cze^2*(rKcN4K)bjcti=NbD5LR zoI>Vw<($RzMM4

Cr45&*{mWuHke8=UE|M!cy0WcaW}T{#wqnk?AH8V~>DW#ag8M z#T`fwa;Zb&9H!qFWbH>H+z|oCL~EocMHi%r8d;K}wXtP`MZ6l42enY&IuGuEq>Mc9 z!%0m416n%spas01o(FT`Fmi5!FqGZ{Vaa*09WpWfIJ86B9af+;1LBb8Kp&(XS=+^M z1Jb^%XB6Cw=}E8y>2&1uh28MFb0F6KMaVMvP_%R|hfq=LT8?~;>Fdr-NQZ~qgY-++ zZkFzb??qkcJ}h-h*lDDXgoOx;*dJCRDCczXz4$6@xgg6o3(~oZ>2anOjWncdl9&LryG6X6kZz|MGwk1s$fOcG zQ>nQCF@6FPw%%95qsmx!_{N?r&j*6t^_A`!_&Q++bf8sVf>EDOcmv{no_Gxh% z)6XV`IH(or4l0%Dh(SHQIbF)>GEPr-d@oX4Rye2?%b2suL9MvQu^W!JBs#OzHV5_W zKIU7T-;2TN7AJWi!%4RFcD`drJx;cb={-!hIb)n*$-6ndkJBeOZ3*GFGwsWCI@9G$ z?_s)=>29XSn4Vw?F4n*_jcEqc5~jVG_GLPiX&KY$OqVmghv{ynCuFHmqS;~Ov8iE{ zZeY5J=}xA*m>y$#8gp(-hHy%Ugj>XG$!VO<#`N#WC7kXZPCglkoU9g8nN!BJBAj}p zfz!*Ft_mk@n>oD=)3%m7Iekp(kFbb6Y1t7}Y9P|o^oj_I!&OLg)3+flPS1|Ch@I&J zBdPbxBB|bGkvs~R?qYhJsfZ$)&U7==O|jfYrpK5<9Q&4O3Dc=e8<=ilx|8WKDUIj& zjHg&_P?R`n36c`$SQ2YaX3b1Xm>x^!2v1@COra&`VG6BU*yCd%l{rjHm~Kj?QahP8 zq;oo*wJ}X=vm55dAIm0wS`OEq!`gCL+KxDz^0*Y!lJ=Z4pY=06mcJVwNGj>fWxEiC zZfs$<-SBpcok)EtJBzsX?p(H*%QBtHw4s=#NPlj%vxIdrh2Crf(-NjrnI7xSwe(@B zqpYLp_VXD*mYqC!oSAlCOjfOqGQCM zh_MlqBg!IXMbt!G6>(q06A=d@K8!dX@nb|}WY@?Zk!6w9k*g!`jocUcVdOWFXCrM< zX;Jx6lcOr4Rz$rK^;y)vqxQMA=+4ojqNhezM%PAP8@)C9vFIf+YhqrB*$}%c_WRgT zaes>&7~eHvOv0puwTWd(za+&aw@Y4?d{^>aEnaPLE@ei`^{Mx#9!UKr)tVNamY9~4 zHa2a3+Oo9g((X@xBHaS?OD7h79^e2Q?gs35T6RJ>(ntt{D5P$P#`9@1#N%4n0(S~2 z&6eVdh`%cA71s8=rkBl#Ali;;Q3Oc`FdZ8~`7^Ymm~$>mr3Pt( zq(ftgzVA-A26IZ{S6FrZBjc~d^wjvZNaw_FK)Nt~qg8K(%p=oMLuBH|^qb7iRGTh+ zImyVgKgr1Xa?&Ks^P@>BbILrjY*X9JHJZ~>+q*3coqju|&9yY7Jb`I%+OtRt(q2G1 zk?9Ji_cPtc^kb&>bfR6D4q;l!^eU!LFnx{bF{ZyWjcH9Zn`sf#K};twox!w<>19lB zVET8aN0`cXnZ0Cgm-K_#1D|CO{Wjw}%=1gePc~ipcqY;3GIQ(zU$@=h0QjRVaV(yV zn2zvlL7MEjA8D@VA*5YAk300<-{d@n>B~J|IfDD;yZpyp=)(?6>EG7?8g~w)8vkaH zz|m&IbSUx!jyeaX6Okt%38{wr@=#1?;;5v5n~P{09G4o7GB?ogrMofR31X0ThB%~M zAOZQqu(Sq4nGVO1D_{gt`uC1nVtN!(4JP9#*5DEx%>t&OZVkt02Bv3V4I1uKiI(HY z7BG|PY&->OIDWG+JqPR8@YF+eE{=PFW4axt=i#W=pb9$BlX9dQp1(RGeGF~X;2E?| z!?Q#;r0?PEpurKGA2j#?dLjJ~dL#WD=K}$!nV!K}LxV4vehC-RyB!#a^lRK*Yw!&W zLHZlERp2>p7S&)Vp=SwBkd>3k>4Mw1{aB0NC$`tK^K zMl&6YXMGLE2|v>DVj_dbs=;z`HKtb})!-_z3h6cCI;5+_8suM#RKqje4MFwenq<4r%kZu%@A-z*Pj`S|^B+|RZ(?~aoXX%{=o>?^5BA!QjkD%YW*eZ6Rh4>*j6{e$@Mr+?7jnTeCn)?5>_qD-sB-deY79YF#S^@*| zj^r)KJ?X3iBOVBVUk3)F1mfd}JA&X50FRP+h6cL>V8q>><;*S#$T}I2?^2R1RXK?x zSyPP4{VB%g`TDlhpCRNyz8*{cFOtmE53$dEiBA>VGTKmg zKVs0=ANHp@Q={rdw=d!K zTKfuKueU#iw&5`9_%Leb8Pv8JxQ6;%h8lbbei42N$F-k@FJP&^4bOFdw)<<{|Ec>M zJ^!UA)B9lWh2C%U{XySf^c~MmXMd3G-1qi<@7?!1`&RnD*Z+U}e|_Mkfma9K82G`! z{~72pPnaJuf5m*>{8wiG;1h#8gI^u|@c!rb|N8!y_W$<&f3g32`@eAD=zWjeH+A3V z4$dC_^x;oE@bw42IP~(+H-^4F^x>l)JNosbZyp`WkL4fDzbF4#elfqD|4P1nht>hb zA9eZ1GIZ*ff(Ymi9ex;rb;Eyb0Q1su*ox89mBf2{0Xs5C;hrh@0cM*T{_Mqr=M4Dj)8q@P@qq9U1Q%u4(YSW)j|~4FUg5 z+kz|5!Fa>8@mDsc2X7hW!5857249A641Ubm-hUK-pTyrfZ0|3^pWyGi`#s~~ z`_|#){RQJU4%+w|NL3EM4E4iB_}T+6z}JRefN$aNkB2L%>|1raQc%I=?W#@G%vaXkAi(%CS#hOutBx$8Q(`F&9utSX2DS9z zdb#wJ=isA8%O2-T!;Hh#vAk_9!Aj+3#l53yb-( zbrZN&1nK=%@m&Ki5@5;TnnfzM6qheWLR?$4GE^=x74aiV4DxGFQA^%X2bMLp+e-)3 zx2VFbRg^y>O&QG3R_bNjBcqSzCW)vc$Y@yPPffu5C2TfKG#}|1mSsgX>3_oB7HVNR z-uuU4N}!Ib($I#I9Ti{DQn6#uknNg?hPD@*S;Dw6u*4CvcA}F~(#Hlou<~&rY}mC` z#s@!mBA80S;2RWEbz*wjg*RKNwRaI;=rc2O9tauq}ddg6G(1*=xroU@#gU4*I1Hq6y41!OCO z;eEE}E_w^DXUoUMij5LuOPKP9V9xRU+TuD~cCmw9oP(#F+NRJ$kKk4p%ve;tJ~O$LbpYWv$nCN@JWWq2|{%$+FQtYbSO|VLEvcdN=n%o z2t-wcSiq#e97u8mAPSR~o<-G9Km^VrI$^3u@DmWGqFzpVzp?|M_++Ht5K6dn^-_rm zoTO{A6@xk^qxAYEVms)E{>m~>8K`J_DiTRb_5osq*2t8gI-xPb|7+16)!%uDMOd6%0}JVu$Qe34T2#p zh5TA)G$gx40Sms?84vT!GoUJe6c|m z^TnxBb<>K5*jxpz@?_mbL5Spk*{$fwW}FR2m2%PE(u4CA^>oQzuSpqD0_SXO#y~T! zdLp&DMI|e~mFj`$xaG2?q4_1t-&CSTlCBV!P`b&6har{QtXl$-_lndpC35U8s$QJ~ z!I*S@9XmgkWGFNk6q8*}!cjf~H`NZEpCkzRWP3PjBkyFCmpTX(ZP*EZahPTT{2Bo#wZoTwj~WiDF`VBJDm+4s6ycgE5(L-7 zp|i|7QDmTddRy-`Be&E7k`I#!f)ma`vP#kFgjI>o6(-6emr`M{N73q>OT!tqk;LE_ zb!&cIjj`;8^J&81HI9>=q9dylX(k%b?!|13ZZb=WF-=Xw9yv09l1dtjZJ4u)l!hlh zbre*ou$Npo4a@bR+NeZsTC(-a?h+35aey|vRj{jKJ}D#$JEA%I{+}G|lho%gTdD0w`2TO!x*?TnmavWxHc`T0}->ZRBLX4*E;2FpV^xvK|SW`6rQk zC^`xC47a?>6@px+y;i+C!0#7%D#wnAAgw?jq>!)y%qjQZnX+VTJry$z9_m zI^iCOK@M|CA*+FpoL`A#DCV6+ysteooIe{Zgncgq9>?8#u_lh)#P-M08g~S85~YO0 zlbW2Q4`whz_ZLlhd?ZV=S%iuGUJ_ZYr`$bJ#7hJHZ;ZxBOC^9y^}=R2913Bo zACaJ%nzM~~!Xl(&UbS!49b}gRE;zogCJ~ul%1V5bGi-j&IjCJzw4m5MP_-!##!`yY zs?xNsFfAy{-4&&glC-QK_pBU^72_^S(NrPsQ5hO5LSrS^O97e)e`CQ<2z^}OW5TWp zdMM;UY%}3*L9kmC>bnax^}(`u$&TodH{$;($0q_ruXNc>tg0paMn((#!Z1W}DqoHY z0>U)KM&L-Vk{M)`s=@*<+Hfcs^CXgnWd=ngaBwW54bdnz2( z5t`I4ZMt4<(?We0C{qEwXfG~@^@zvv{D?NIe$!SHtxra#(d8(fpRboo;e2|a=*hKZ z$)N~5z6T*18xk4;hvY`UNJo6yMJ&kavnbO^5T|4D6HnU2jGEEX$mei^?C4^YudhEj zYUHAAazO2jIPDEq@DtlRqD%hPZJUOCp)#v1q&K|GJ3n|GPwn=i)(p1=gzGBF%EXu? z*rKsSXGb!%#s-ZA@|*HdmD+CIj&M}z8fq=g;l^fg;gV|=W1BxV?ZVB=Zm|5~i5(Jm zMD18*p=Nm-Vhk*Xgy7JUBHXmM)ue&Ct64hPNmV0#L{(pb_pzjCr^H5$^gP)tF|-c6|3cY;Oi0!A&1UKM;|Uy*$WtP4?UZ_&r@SwO-^ zU-YHi8HU3>nlKm3yyfVf3divuwX9g@1&6j%@Tcp=m6u|nrtHGH=a!-7LP@Y&&7B2v z=!_JE#E`HUOyd(jY0e%+Q?8>+Jr#(&E+N_D^Fl8b$Be4Eaza7(`G~4zH}FBAfL6~D zPG{hi6vAgjwMr#maFj&00VF&%YeVK5Dv6x1kf}u=6cZk1YBQ>;nQ0lLCZ=2D^k*P6 z1-Uf}n_Ad=(aVS~+KzN^itme_z^tM1zcarstv>B<@S!LaMX*qISiu$s6bQFmSTWqKx>dA%w`t0P)>N)JzO$z1ciFDjJgXE;AgEQ&M5buIa5#ePp&ph! ztKy4gq!4-f(h{%SIF=4oL}Qy4QMQs1l*X!PD#%_YEv%xTAP>ActuvEEA?F$;*9=~x z=<2pd>xd1w>!C3uOVS{f7@s90Wa}j(=A4q+^;!nP6?Yej179Ky~xBu zi}n;&Y1?;@pn8=}>jM5FLezW)ZKcM=ik=^)yp1|{Gj5I7H}&l)F~>@5y@{^BN?=4D zlp)c%$RLHl+um{`dC_ww_=#G9f?d#CC=$tREu8z_kG{5Tlys2>klU*h=HFdtrO+AHoc1{?BH&*A7rM;zqHm>8_7Hl0hI>20yoO3snUMVi>^l_IQ>h`>mJd&Ws|KfkuRdKxUd09%;r z(nFKyCstRdEpi&BDsE-F?ACoT&Y!^^djktS6F8uoW^j? zJhG{3(g;ycj>Ei|ClPbY*dNPj6SaSgI@Nif^k~r&n-cU*glhUJGK1uKuIGpBoIGDx zT_ve0S=-Yk>=DOU5t?kuBqof)?XYFNK)xho6$trx$*yeF zHU(?hIptk2%dWIVVzZ%OO@f`LwCIz`=(Ae%8LEMM(@tVpFd1&qB-9CNRCIlls6~ak zSYgaUgBC_IgUy|Uv)%v)X;nTGp^S|;z&Qhxaz`kmoNjuEa2(fS z9v13-)h0P_ywy#LOlz419G3grIB~JX#I#@Yk{A<3bCJ8`IJ5QEG8-QaGF$Y-Ho3|8 zCOgV+e5}R%#zUIao;*%}vc>d)pffR?v_*LtN2BFOs-SlMaV}?D%q5T&?DaU|M2iV6 z;U4k^$H<1g*-E&1!P^e@t4)rmzI;r39@m~vYR{)sKLKtPNwZngYuj?Ki5f=x@YJU5 zson8jFnuH5Vwp_tyb|W9it#N9pV$pe*{dlxw^Ecl0?1*BERHvR_exCp%K5Kxc%M_H z5mij9kF*r(f?bI;6*ZHW}jnzpd+p?9H8vC*C! zEK+yVP62s(tyc&L6gGK#QUUyHxxpIkBNGK z%^mVncWB7h2}WO>cjvt)>h(#>%7%p_j)ts4n zU>90jmy4{5vqF2Z6|i!+{8g4-IyTRCAP5|z$vgT;IOu839Fx=LgXHEeFRs>{4jL23* z%o1jfgM=BkPGf}`yWo_q5?pZ6pjj1|q5XKYW~eXs*E||;7UMc`1zFC@8;_WkbLl+$ z)g~*6f#B2}+KTA>5KJH{V4DzhaPj z@9#y2TfauUU=tYq9jJkYdHr#-H2} zhxfw!u;go84`0zbcm?xZV_p?7wT(H$P!hI`*f+U8aOmgY1l&MQz8l^KlW-nB1jpfL z;c0A>Rd@*AgK&6c6vkj2PQocT4QJpiJPH#LdiDB3M;~-!zF|8~Gi^1=KR8<8@H)nB zFvlDWZG>%kpvaUe{*&ZjEqcOMCk&h0pu%NV5PO^D$-{pZJr590zQi$uw%%S~ z45Hn~-#W&RAU8k61G^pJfR~o*;{Is-|U_(8l^v$=WMe)iPIm5SjL6sS~1-$mt?zymO7Tl!_&;Y z5=z2l&PQ>y#Ih8~?~^kPba#%m@Ugqd#8ce9n?YVn90OMK92aAD<^QvUcg}EKYTT}2 zTPPV7WtBMw-Zg_N*z*^JUO$E{BJ-W^wz;}GuIdA2bsoJ`r65AaAdT}XMO`ocS@+y!oh0{82rmD7!T zfCn4lF6b8WC}Avdn#~3_0EYDVsFgu$dqD7j+F&Z|`394%0RxG&C#dCbVa|?h^*F`? zONB3~hS`uWs#NlmT=ZTjbt7#HX$p9~aPPS!YZK%)-AZnYQjep#26+s|`!MW-dPwi8 z>?6SdNyR#s?MVNz${Zt0x`lnBAF+sVH1ugnUX~=6?Vz9bQJS{7CiJ|?G@_QK9igrJ z9O)@-h?eUralY6BT|v6OI%p}o>LAnh)FHs`S?6cAAAPD7OPspM`n4uP`-)7z!?p&! zq%M*)i%VWZJhHXW=OVVU{FGZQ=#OBaC@oUJpMe<(SyqrPg#&{+B{jjZ*=BuTjax=| z<3;p?qwTQ3{fnjeG+1LP5!$XS-*N(Ww_KDQY=Rmkz}OWjbs_97xeO?O%2U4QW3w?x ziBEIB=UN`x~#sK#TG~S6ea0L!HM{2f%ue^nZUa%Y_i?1q9&ife?D`=X89(stlYr& zqY~&m-fF@JJb|Mg8vBgmQ$6qoVK7NQ3`D6%tOujEA=x9r{mId-;6&1c_gTLK3cz~p zt3T}h51o(yGy6X8ci%brbCCJUyH|f<;5*&tGXMO8H?AEz^~T3K514(%AmFWE-1Zx0 zuec54?T}$k;%!LW`tUYDw*vzYrm_djpGggZd2F8sdBiY}abD(ik;#YB9NPJWfR@q> z-TAz{zasCiis+mSz9#Q)icGdT@&;zi*VAozFjAe_?oeDZibI|Gl#w+j5F^`;xY@R0 z$YP>F$WWY}Lz5;7&}K_rwr$%+mu=g&ZQHilW!tuG+x3>eJ25ef+00@h@<(LmlX;Ge z86s!G)bT;UJAH7l2bqc(qr5p!7*rP@f|)q>lwY4A{_r{NX%Lq=5>=`xx09LpC!>&3 zZl;Xqmw1!C&lSRtBY8e^`Lw2U5suO*urq&Zsf)qwmo~Xi5lcLVbCGezUo0}b&yUzv z5{(?s7)}Q;@Q+wGBz6igu73bm+_ow1Il2uVznbm5V)n(2X$EIGMFbs`4pNRmLcXU(08U} zS!0@v^!vanF_R|DIl`gZXTfYwZ0+oWau((k(?+wmmvSZX_V2iUBolx1CVzX%n;sP| zwDIGu`#54I$||IVXuZ^glp<}?;;}$TdcjSenOug2lVS;7Cb~sa79S1@h3kacTn0s! zvuPa&C`0r}vBeo3Xqs#`9&T~CN+K$iaUY(m%O%p7j66jt+NeEJqGkn1s0HFkGScYv z|K2jEPB~_dWrlymP>_^_TNBQ)&wkPhp6TGbXV(}WUBfp!#n^nJqY>BE-akZpZ<`TN zz>8!f(#T#m!c$YCL}DhD!233VBYvuFfyA(jn=0;>cQvM92mUM}X3S2F|MxZ@Db438 zJX*wVM4Y_{%_h1eG8w-%G-FQMIdnl*v|K11S4u8^d`7854!_4tfogBhRBbN_zbB+; zd&n?0&#j$nOa*3hbeHK?v&pWTH$aVb%Azr0;~i$;;aNrpy7ALqy@B^pIDNqoO%7m& z$TMH{%dDF-7qPzSrf2Nk5+qK(S>aPXyu-InJ}WB;iw__kNK{g zTjRI!`LwLoNHV^d+-`tIg=H1>*B*koWIjx1&MiE5WmCRad{zuE<~#N)`a5CC@c9~>zoHv@AHxRL>$xrY5l zF$1-slodvEwrS0S7fzVDS#3=d;yq>3I&DpAvuFYqpBcqOZAk1>4VjLW*nc6V%EZJ0 zkVFGx-szCgrEGZ4MY*$`|g4T68Rtf_ba89Oxz1w{r9-g)G6eunONzZUIxGy$bvzk9wdI)J)(-j$yo0sn`u zo0q-s_e_MZDS^%-pZ!nw+3$mVewO=b|5-afpWBW&o>I^!2)~WZ9lnPZVFaJkEdp=f zm+arqJ$3y)Ho%*BFXO{qobPQskAUZXu>QZ_HggvLR*z@r*}JbHj^DAdpYyh#i&+Nj zd4gJgoz_V?(<6IX`Pf`MK3BUuH9rf4fGF|!Z($t_6oAm7$9{p*t zxj?SU!5@adtA3f>sjm^>_jvAQNrHf=h^&*-be z6xt3Wo4?&DB+O9!r_pvJvvsy-o+F(41-1qjl`**QY#rCZ;4b&sKpN319C$etyV^`? z%6L!B(TnYS0d8JQ{SibqZ2Ox`hnwpbN!A$uwpvZrm3)17Hl!ALySpP}27cA@cB7C| z@aL93A;Dg3rrbR{dSRdri+O=R#TM$^6XxCO&)tr>L&aBDC4Vqso%V$Asic^|;WN5= zP_x;YbuER%*6-b1qU3UX;}@^NYe#-qAOX>@j;=UrWq+y&<|#4@uN3uPWA6B>>qUCO@@^0vOkpM*bQtRpgF zcdc56P&CF29=3R{YTAZ2gWs??9VT&;Mge4#kuaH_GGCvcOjmv`NE3hhg~a|K5pupu z=kDO{Y}sQ9gOzd;+eZ0573Q2nggfzB%Efu!zH%U`jboWurzr^IjD((C z2dOqcH8b$pt3D3E2zowTD)ye9a$IZm1`VHHrD*S->86s5kCFt)+@cPF*i4W-r{Xvp z8N9J}1uw2m71GV&*k;1pj7+qunB%nI#UU_HYTo_z+}z2RbT`>_@JP52?%oNePC|_b zhk6`s@2HhSqw~3$$aBf|=!eB5lNX|P@~hz3$%`C?cXtOLit^zmF>Znu`3>?AoO>`p zO}bqNwPmeQrY4yZNJVEiRQfOfuc!erOH@R_B?`mkJTE4Kh!3!YT#)=Zyd`>6cH&aW zQekIFu)`1mBXubx5vZ3QC7*G3F5}oqV=^}ZS}{9CB+p`X-(yL^)V+}}Px>q4R4K3{ zCTRv@0P(4Qu1T1hdt3`|8kr_ZdT$i49PEY1N>suu!k3ggF@8<|rvcePv^vZ%LNmY@ z7j5)-@g@ilJ5so_U_L-}}!kWm=D6b>$s71aV_t24G0Lc*yic#Ke5NUc5d z_SPWUxku%M z8gU$dXkEl_5WZ(>6=;`&z}=a7*Rx`inx`*-w-aubw0nkVU`98weADS{6W-48iE@*C zgd}DZCy2!zQR?A=T9zGa-;l7@?Z~_2EJ9D#>5tjjik`@}rz&`-0->V@w+X-OVf>Mb zoiUB8z7S!>nQN*|n zS1X7CMCSnP(@w;JtMBp3fYSK=RJt)&u5`jv;FX#K>&G9@gAAQ9yRq&(w7F{#+duU4 zX%2z>!$qI(F+o(~7FRb}eS~}=Cluc1&FR)n32X&ZP_r~4zThrf2dg^gfvvc*m9Uvz z^5vc`ZPw+QweB}upk=omY{=zzf)I1g&q=1nTOE~wX9&!7;zmge%)n$35%+D|Fa-GT_Yl$pGJw_fi-9ye|#n*mRB1jHMFb)r{Y z=|!!D8suhk&r^_1&u8AmnZ#^1LBEy@g}ZQ)i-XZxD$?T{!nh*woT8xVLCATE$)mrUZs5{ zmS&x)u}gJlc2p3bM8jSvlN3KA?B@VOurAuj-$?UG1t&B#I4ig5mbWVzDl+IjoWCe! zw>p6O{xGLbJxni~FK%Pp`Gu7@Tk{Vo^LF*6F%gb@((_bWZ~6v;Lv=BjbwwO? zF&z3=P2EOw8eNO zK=>LaBQJJqEI;X{eF^5NGp*3x^2GDyU8q|id9$o@{c}LSQF+si|71FXx(t;Sgw5wF zce|X5A~%?uTDL2<8!WB0sp)#2oH2})O5v^jU(Qq@`*tpLymq~bw^hp+Ls8-&qJ50m zvO7!RPduEfT4y#EDO@G8u?qg@LNSkh@VEemI|XMFkGVh@R~5y68w+%I$Lfgv^BFmz zxa*1B4bh2w`}zh&PPYycM*a@%-Kh^sW_=Y03gLqmz)U7 zpJU5O!#yaR-Ece)9!|&FnOTSWioX{#e?>lg9i&aaq!9YhUJVzRhb(G_2 zT|W5Rh|0J17g1aTaV{s@@!}eMtIqOH74Wo(pi$Hod*1Q{{?tM-Zt1r6g!WSg7I(qP z6`hrV{BQ9=2)~2N)2q0aM+g4`9v!HO{KLy>LL|_mCL|1FhcWAJrrEXNWY%Q(+%Sk& z-bIiCzMREE!5oY+)c6_dam3@aF!^rd`(oCH9mss7g<+?5VEyeBYV=>T)&`;R6FE*X zM<~ZGP0zi$h=T^W={35$*IZ_~=-A`gPQsxnoby{a)}@eN#P7-et!$RTy64iir*K$k zgEtMUo4us*8}tkIkS;J|y@!1d!VLf&PurD4-rS~1tvZj#agf1g({ze}3gRYS$hoMh z`EwX>zJ4CbUFlH=Z0Smj%k#V0;DEb28y1}E?SNlq3~@Ky6;x{=u>vm^hZCA+I(|3z zQnED@?~-_cJ?Tp0k7TeLFhr7Wp8nsI7B@wrwd?x1JZ?#C;EzbAPhOrRBbAI`^cdm2 z9T2YlJxKm#3py+E*V7WxSFP6oGBdv_Dwz@L1OyK$FfMXHKX8P5Jyl#S4KtwNKdY;O zg5T3}xNAIR{Akf7by3BClW%Fcy7+-1=q`Fre)8`c!|9uZ$n7d-hqeeR1Q2r=fR;M$ z)ARAYx16`yOOwYh5dOUD$XWL*$}{%%SYpBCCEbDYyVMc1mVSoz`+N=Fm;Mu`j_&7Y zz}?sDcaGmZ)dBj<4xo1c4zmS!@V;Zwe~Kd=aa`-WA6By*t9DYOr4!tD;lJm<2$|QU z{=l^d_E5C|)E;HasZ32*&=_&|wZZNmpZ4ST%#xx08=t$M|MLy^&C=e00CGKiK+07N zxBvX#ZQa_QeSgztd1bz>KCVDu(Yml#HB1g|OXJLPj zN`nNyU;Kb}u-vmQq;<$I-ktBUn}lmS`JBWg*B$xHbFDh|?fzdnuZ$qu<7wdJ3CJBi zeZOq&2w6KrLGh&P%5KeI-|;8A=jbcqR_r`P{hy(X^us_8>7xGbN->YOBj50F6YAnr z9PeuQUpd1M#jn_h+;iSIz>`y3>*gBH>c`l3oMPe|BxvixR{gegw{VVB&gst8)-;jV zQa$;W0QA&QG@vWpZT;YbZju*QQ(z>2QocJ+w6@%XrjT;4sy$m~r}{Wf$h;`VV=DXx z{+@DbT*W5ezSlBKk%~s(+xh_EyIQaNWbC&S>iuF*e{Am;^#9hs4>XLB!0`Y9%}ap% zf9l^gWM%$e`u7{(tN1Ok#=AF|?cYF5&`4*Z_+-AlT4ysRES?R)Lx}4MGe-n?1Ne=s zgDhe+e%@86$G*MVD!=5EEL5rqc+l(3v|%%MS65d)|CjGQfq#qpBs7zxb3aelT~GFN zKYkB=ziV%f_zwagKYMS6nvE;Aok+if{=B*?s_lH z@3nXNi&hjSHgTPCNEL4`ww0Lt`msB9(-F0^U#-&nzBbwz z&4*YDUH^$8&WhV)rH1v!arG}0^ldT%&Cz`0ocll8APmht7uOe|5EJ)LuK%sO1&f04 zd-toW2T5rjQh&YPr4>$cx{{+-!!~OD(kleF5)^{2!04!hFD_lyw3qA}^M-O$~Ms#{RUbF5ukRSbjsAI+t z!19B%`sVMQq1C&vM^)0?7&B3yfzkoa?@ zGwMw;0Hyu!W^^qAbC=qeemUG_6UKDc)Td;mfiXTA(sxMQ3MR16Gec%erJmo}WR1I3 z+C}nN1E(84L&hUONxoh?NZ20p74dI|gK>=hvSNm5jx5e=HrG|U61{z<(b4yry3VB9 zHJbN%>Cyg~!?o;!TQRLhH`V*~rtK>!3Pya^@SFUK2F0X?QNEA-A)UtA8vuVuLVYVd zJwX&l7B-)x4db1JnK3Z8vB0zLrjIT;JL|SJ=XaR;Ayp-+w&_yf=d>EONAjx6AeW-# zIp8C6?=c}LH97CW9uA6Y? z2|=)DRPjP|;AYf%X`U^7Yjo^$n#0zuH+M6xpK0#U_m^Arg9EQ&dQ~sJ6D>}%2 zgZg)zKAZ~mnGv5?dhu z`ZgOTI{xr|)nNF^m2$to{GDp)dxK6;Z_YqLa?6)s&92HLWwt&Qxy=ZRC=ruze+)xg zfYIYQVd9$T8QN=`W}7hmkSYH7TXz}G4luue*a{l;?y`|Nx*(#yIMH5qMwn%UECCax%d@8Ho36ggG5XnC{ z&0$QOI4hDm#$1iCh6FM2lgE#P#6eu9&^c1t%d6GZ3wJ$o-A+;L%)9;Gzh6x=_WRAW zL(beWM+|VKHRG}3niT4Wx=u)Wnq%&kB14dM=pG|feELMKd-*>VP+Nh!F?BbwqnH2j z)4=AU`HF6g_KXDvW@dfK< z6=gV>@83~S`zl7u`jngWLAAd<6L0!8;pN@ z?Ls|=ZThDEmnT|q;_Ir;$1+}Yddhb(byyn~9@}w~0U~xSb>U$M4A6j15V!u3c%oR zJqA-D_lJbVgk$v6&^6KthwUj(qh^$7F6cEu+XNsg?*-! zy$fU6JZ`FG?RynS(5TN-qp5{W+~sZ$oYWnRo|jh`)>2A2UMQCjF9^PQ#aCD>hGaV; z8zSi!#ZEsuR72Md*Zf%1i;xK9f2D)VAzpv0jrNaTuUC3@qHf_Hel<>F}5W zQr+mVc78^VZUgHc;%P37F_YxplIuGT+C7k4jPo2o6(A?zCZT6pbGJV{q~G8?CC`z? znbhjLLayR^xwZivR4OY4)U?E<+-oOxnOH-o;UpgFb!(OLf1ZM@!Dgu+2~U{GtEQr8 zYTby1D{nmJ#{*R6f;h({G{%H(22!^m@qnnWro?yjruZ10zCytJj(RiJSFa47xM>eL zL}z8+t%CP-((NfV03O==$DTp?_jJF-E0`tz-(1t_<7bJ(s7_EcjbE#j%vvd9R?(h4c0Ada^a_zbIETZkh0LQ2=j584L{DnY#A`#h!E2DoJy zziA?FHJ=COY(9HVbt+y@uZ8Mz8>c!Ua1?W`&$9A~jCM%C$18QsC+^rxxX@FiHjvGu ziIPn_3Q@$9u6O}0F3SF)VQZ;(ga2M$xEZQI&DC(Q*K#y@%va_5Rhz_^tx59(#TJKD z4V>KfN~{~8n<=TP!)~K-2;q-)#Z~cyl-$T>92(5LgtY8oyfxMlzDcHq5%h|?=w&dN zGo^S!@e6v7L6`1;7^?V;^f2g{ra;ZxvP053qw2`PU%R-I4Y5}&*S!cDj5XfUi^@E3 z^~DE5q$J&uskBbGV{)uvZV~ZtLK4U2{pL%D3?sd3w;Z~Zi0UXU`GeE*|0w0^R(Qpn znpR0D6-m)Wb)v9Knf3k7Sk(Hhwwd`_;|f|js>c84TJrQL^(}+W6iayxHa$$d^urza zdIljYBXdWvDRfOVg^!yVXy^$t_D+Lqk-ZV-HoRi=qe`Z*G8dDp3osQh>Ej>#heyS!d2Yh^g-hGM6TTjj$7C^cCcl-a|1+Y15gpE|8cI#=m);8T z4iZ_MPVK$nM;G~#(0ajoPv zO}J8X+BO$OCqf#Q?=d4n{?rfgN;x=dB|pmS;S!NsN>>fGgX<7}7z;%)$(hd_PNZ>m zVU~(<^-0<&t<6K5bE5>o0$WvfF1QGr#9GBZ+D<2}?v-SZqK|CP*P#1&dPDjcX7QMY zSsF`A%Gyf`)mnb*0f&`)$5^<;ae%(0nZQH+(~A(qaamN*q8vtfUD}?@g$D@B1F{>! z$rwj)O(Mqd%4#ID>TUg@L04O*q6sAeHy%=F;17h3`goG}`Fu}!4X}RbV(ba7>iJA{ z;DixWFA9lCxrG}G^bx%x)+9s2Fp0~fJAFJIktfA0_HoTNQAp6hrj~%N5d1R(09)2} zrkG`Dnn?pF3*f)@>ua!Irma@;hGo7+UA7l>13I zqk>_v|F-)SGt!czk|sS~DPWh(t1t5%H8sx>A*?Ss! zKfff@-hNsl;Y~YuU90Q}(D69uV1QYla2m|vc zCLR5~PZa_){3De`n>y8hBV3eH>AkrHY9;Lq`?16{zgT5pO>U3a`;^bq)ot9jMjI`c ztNC-)_ZdOwWFSR0(eb#n{7QvovzP#vG0^ar93|eofNcJ$S`YyCVY>~_q8FPC#%t-6 z9c_EzD!PzVh%U?P>+|}-L^XN&@)&(aZ_1ORq>2D$0rAmP{K*@L>p?U)TWCcX`1fj5 z(Y?wDr9J_MW1xuLS;`NrCDnwmZ-3B+1S^SO1meOgR!wI0Ifd3x8cbPsqW`=T4!AdD z2`VN_kCv9KRLYQ>nWS&B8pZsOPh-8&$M9{Ixjr)`i40Z)Qmom+1+SK41RGJJsZH4| ztpND~781!F8;H^Xn{#H~8MFmu7%jW-)0N?09-(NboKwA zHNGiY`XnB`I-t@Xt?jj4E2_v?3Uwq}J~+x3Swc}e{5jD~Xz-NB%-v_DfGLoq{H(8{sp{k$| zp>MIrff<9?;RyH=Q}2-MpnF=VPXanr@=3S7@k%+L%bV8$-oQ_Yk$w26Pj zWSJTWPQW}cm8`ZO&pBF?yeX@NDVLn4!1aNJiD(&(fjQRr6w=c312MF|2)!Y*JU3*C z>ki^3v7>CNm!a%#sr{ouHa|?17FNbylKjdWCtbj|!jb*=tOT8pxoVa`GGliug)a*` zf)f`Ztevl8leV1WKHSyT#M|*1m2lXfhZwS<>58TIxn0{^#>dj!8konc#=05;gzYgj zWX-1Hc#D0;>X#X|6>V4gR@k!)smklF@>%rIJ5~J-5hkAPeege z54wE9klll4vDVb|S7#_dRfz^cju+|ZCHT-N69>^pR_-?Z*GbiH6Ahh1naqwgFVem9 z$ByV;p+ns=+K#sr`tW#w-zJ~qr_~3-b(p&A#60(|kg43z*a6!GR;%8fum+j^^&U9v zt*u_0YD*ApyNVUT^Rk_!+~9@j&4o@`(>aMEXdO1-4EN1H9!YNP*=Ym<=fgwN=!3jv z#Of+|0g^7G?W(@r>MnCq;-Lt*jl=$vN$;w#k8G-kfn=1+wu|Qnn~X|(2(*B?ImG+w z6!JJhIe&@IGDnsZLM|w^J@5iq$pdmhxk4UK$(Qz*5zh7Rb|l0SUAQG`fQwyFcJwLz z!_Sjlxa3+O%8z6%^XS7TUKRq-oyI0Yn^njCb-N09qFceDFe{E>wfRx)O-(VttB1F2 z;qS&+k#)G^_(Ipb`o=dIRW(xFYb;m!taDTIoXq5&ZSFM19-ijQ+A?S7qJM5`P5q~H zEV|qq1Wz~@th+9i)8s9qnRMtkP7qtOZs~%XV}VczP_qSi(xmv5oiU@AUMgh#kP+b2 z(PeLV9{ZqCi12=x5e8hovu~4kbf!S_;`ufNDeEFt7$I%L+wySfWXse3^bpkXA@AWW zEWPqI>{gjjiEh-$gngesuVKM(QjVibazL_&H4NDSQO`N-vMIVz7)(GZArQf@K(Tuf zJviQoJ&rwB5dTcr{&fB|u)T5_d34ls>n`b>--K`MP4V1aU#LfG|Eu(tI5G>nfTlAE zz&_Sl{3@fK#5ujT!F>0J%E&}C3(Dw#?!{I$H$jdtctOXQAVYrLmJ@q9KoA!;#E^G@ ztx&ri!jGyWkxKnxIE|!`$J-{=2h6+)(_Yg%kNyudFXaBhIOMcAD1P3ii?!w>m)|}s z%Fbf&W+kVUcYl}O0dqSCm1UV4@p?b=oHG5wfrIq1apfd50y|-^vm*vFGw_#)NzfJp zF{(*BEaAQpAxm_S7&bV!Whz=x$0^w}kirgWF|Qf>hZCtn!cMF8Jstr@8N^S9!m~Kh z*Ey%T>8oq$K+Y3L=fU=*+zwN9!8mf-;GL@~SyWS-K1q7e`PsS|&m;Y^HH7$QY#)F4 zL}VIW#7m8d;)Ht?%5j?LJPA9e|I6WMAbqNJa9x8~=kyH*?>NT(WwI0r3r#;wwXAUT z?J=D8KaGX;<^#NTZ&r^HcU>g=d*F!NMF&@$@Z%h9#G>2^%Sa3re&T{snNj5a-q$X- zX_1#GhZK&Tu5Tt-8aZtj2GtNUFoME?1rG5_tg95MbmWmwuL;*)jCq2p@Q};3GplIY zMa$iy;w~W!h6WRCG#L&f8vmlKf246nAeul0ox-EEZoNfrGBEGRwWfPVeT7Bheihbj z`yN&4*Gn^c1gP)ub;(7$vgRj^3y3gdcWlUsmmt3i{i|NF6r;~Q%?N{%X#`JiZ?;K} z)@^;q)>N6G0GkqK9`~e;euyrAN4wybSZ>Ruzt!JwMPqO=fF-yM=+wi!8c2^|{ zzv1QhuPs?mn86orG~Ycie_vg0_nsZ+Auji*2JkX#@qe)eu;_WMH^c0Y2=*-y39q&< z;MI&UcNwC#R(_3oj(w(sn_;qigUUz~ze? z1{|s_!MUMPMLm&Vrh$e055}m1?UIA*nby{;imILe;5U4h5Wfs$P8rxk$awc_fD`us zmFSL5Pqv=I)|WNttddGh(+(saR2C42e6c*ci5VD19&}QuTy_o>pC;RAuE! zbbau;RvY6*X;S{QgdWl&_Yo#Wp!aMWec5C%me8kdJ5g3P%e7I0v|y&9tmAQ1zH9R=mIviruNRqpz^G>F%cQmidit8=1?2#v z>B8z-uH(c?KCU+Gx>4Fc)D0c_40kymlvz!q9yE+8)QnL}-^QDC)VT z#7&U2atFidUG&9ItI6YX_Sep0C&JhRMr$@@Vd`P6#z4_8U2qQsjo03t^i|rVK50pU zAd)G{RHubHM%*o2*gbWppte_IA?1GWA}qx25tNfx*j?Fz3>M&#aZb&FUlI`>PH=(h zzNeD8)#jVv?9_i7jVHFT=H#e#;S_uyD9ccs$#U2AFxdil#2CyO{-~~R@=}~&J`i$I zk5hf6ZPkf_V&lYw_UGYm(m6?hqewE^Tw?ij994}#OcmSkHx*K77da%bee7hkg2Ro? zRDA}GmXuS*^P`B@z52JFr_{P8di5Oiv_s4`*T6<}5jS3GNGu>>3pC#OZU-P_w)*c9 zlFxnevm59*dA*(TdSHLmqK7FZi05yVOIdZG%6aNGSD>0`;06BoAQ@SO9-I?oM~xPk z;Rm9fRH|78C}V$|J1zh=7iQEO7Ko;B&deZb)TD6Z4#i^iOrHYH z;heW+XuG${7Ji^2udcMsvFmKb{{~7&jbUnlSS((nVdvlQ2zN3oG`|97nTV%{WG&%O zy~n7MY{Ho#OdLru7ZumegMg*Z#yjj2yAoxlwtDb*MRGN70|>|EXQ*V@f$S=F@8 zZCM4i{?{|m^kG;nP zfV{3Ju4#&UtpPOoyXvL2rBDo`nOy{eD>oBSSwU2&cI~?M=48WCHYWCtng^{+a54b_ zPDNw)i%HFasFyEP(FWGV)C9P|F?Z$tI z-NoaDfFaMp6OdjlaSnyH*3&bu#o}c3)QAEnEL(xRwNx<(RU29q;C-7%@%6atWDwPf zfN%a?OEyzZGsXxjB_jB~d_A5bw?+D1)~aRW_wS-FHbwipJ;X<&kaAUr8(*Zx@JaWz zDd^eIMcWfJ#7fK;*$0#LaU$HxG^Ky6vWj?diX$P6wi=aua8~s+jxE;yNy*^oRcuwf zHzv!>M}=o}yCFqiCFqE(lQ|>dlued5Rh7j^xO?19l*L=5j&`ul+5zpSeK<)bN82P} zOX7G1H5yUTaTFYSBi3Ka%00u)xT}OD91ACXcqv-ZXqsd^nF|_iTCqY{yfDjjuD9H2 zTZ%F|)FRnfO-$73DlIY;d^0?kV7OBKlq$w(s2o>R+#2yUf^!8_5WK8BjDher?ZeIf z@AQRaRG!{v>7avDy`CJ19d=KLtgd~R@m5$D0|a>AwxUeRc8=al%AoKSBh{qXd#xTA zm2=TO3_AZm^j#Cemt&Iu%I7ih<+#}TPco2d^5KPe(=GqiEeg}=MH4!A^!3~Lpza>(ss{QI_uQKVdzRv2r0Wms-6sO%F%YS6o$RhUE-+SnMK4pMk`dm(aHX@VIu#TCw-;-fNt=V55gv4 z=nHdHj|C?SOloQXFV=0bK`!q7+CLF!cLag|D?C6DacHzHeBE~hnQ2~(bqa(!eFYv# z^ENmJz>xTin+Ax1IyEec)UltxiFt$zqS<@Wy2MTKNf zH76~FswKQeX^=^fp47}YhUJmT-xvzy{*!?td4fyF8)QX@g&mCU_9f%6>*~>n<~85T zi`>=qWSA>53A$*7^qIK(moFhG(nfOm>Ba*#!1h#8#T`$#pv$6|n92_|AnTvYg{ion zwXZMfkojjG-e&E#T&1vxuusy9tSxRlV{1ecu8nM|c1i@mRi^Rk5P6{~7Y=NOsdfiP z`Ukf*fAKZ;g+b&)l|yM!Rji<}zold_b+YgJYJfKdkvFc*XAMiBer!8g$hl*NDs>BB zw~2e1A&eIe<=Xzh{yPd=QJWkmnfoTy)GG#|RoZ&dE?@$ZFbO~s;7LMVnG)!e(mcmY z3fNoprNU-#ul)tUbj28#POv5Sv>u$mJN9>{PI$ZUv66J#js-jpveCnFs-leD5qE+T zT3rC~+0De8JziV~{eX2ZGH!Vcz=gP*V<6vFKrj~G^fTh7F!wlWrRzXYG#@R>OoJT- z39~80T)UH8;ihZb^`hEsK)-rPO)p|e=X;(Ib`Ppf(YeFQtej@ybMhSjXRbP&vCBli z4-d;z+$8nF#I^VI;0R$^27j~2x4OF=w9T~=Ji#6PPZ->xOB>%jl(#w9ZOO;+PnCDp z+ilT%H2ukVS0V;?kH)~(ECu6F5e5of12u?@f75`<*s7~aJ~Yf4!cKWZ!{o4Ep*Xw4xXr41+3`Vw)z1p zS;%7#U2Il<60GO!islQ0pz8?6Ds6y}DION2$SEBoq*M^En}M+giL8F(m>x{hVWycS zy2$tnPC8BexhVS+10;=U8c*qmSQbQSA=iQ+F+c|30ER590f^Hi;rthTO0t;^7B#?W zsBET|Fmf{ns+u)--4m3-NJ=Ad)-vi_y0dvQ5VadaXDq2%NkY7s`~k#;F1Uy_^9E}J zV1W>3;dM`YpDN~%Qc z3?e2=t`lHv4NFa%2I54nxML?yea*z{oXBgLJu1=Yl-fbs_Q6xhm>J)Q;l%}O{YkeO z_Ktl!!_kylU%GUJ#Tz`1xlLw8e`~CX=c~PwF7%gZQu~XIF`8s+t9?E$msdtj6;gf83qXp=ktb4tq9-I&Xp~}& zRy9@i`MJ77uT2~tQzX;(D44y5m<<}!acH=vm!15yhxdN_PNLOJtr>kLqbzA=mKZrF zmTu*|Pd%lT^Qb#1XRws}o+tJy*>ArSR6ucR3g}rIB>QPG1$1=7bQh{?nU%P#M*6PY zs!i+VY(%q6+8#2m;)ngC`3LV!*9mjseAV~&STS@&NND4_HefX4ymZCXGH>3@u%wGzR)HIOG;5sdC_kV+)w>0+dv1PkYIKBrkP za~$_p$8y6OEI-#U{qLfEbzSf~Yb+@_CSYMU`ir1D@O4TcR%p7qCB{#KpASljn%g7@ zF%Z~i)gI#MCFzaEATpZu4Gjp%M^j~9Xg5%`HOMNUa&9B+383+KzsaE$yXevDs)jIY zQFl%fckf$V&J^Zdpk0zE-*oV?SbSEu<9Xl^a4zh5h^1Y><9RyK(4#w7rS`P`0_*y6 z@wVv;J?5)-(QIc%t^>AMx5c5lej>kZy0(~)$?|iF5|)d4Qy$SWxqFNHovHe$TTQB# z_cj|UIO~_CE1S&E#+4_XW#4Q=ThF$5SEXPynN2^(o>jE2oAxeiXFi{lJ_G|A@0e(7 zH^kgCAi2Q5%lsu&k81_a6x^y$|d=oeBhSiH~+ z?p*<_sT&~ALdn#Z8=we`I~ZB>fnt^kvd6;OL{jiAR1%mr9E5I+yRK0ghH*OF>bn2X zNviow?(%cI#}VCT9~KMBIj&G3ec7|vG>DfeL~M%xM!fv}?vvVE&`Un8!p!(0e4C+- z#dOu0xs8@Z2vs|zQXKKfu>CzQd_#C}$RPD25&~Y;UP-eQKtsNV!+X8_Je?!AhWS-< zu>`}_U{3cZaCxyt7B=^51TDpLS~n&5DvH~geg{H<_}2Cv>dueIGRGnP3J|3y9bBi( z;SPuf))2?#o$cuIAnN+h<(I^46AV9=z7fbwUz{>Upin$m=;LK2H}y)PZWviQ5#?71 zp6?5^S=~)JZ~Cj(IDmZ+-pF?Ou^CHK2P`X| z8f|Rz)9xbds(y9UJ1lX>aM9MqeRF9=F$0(Qu>nfzLiYK2gq*m^i@izahZK4|(4of* z_YM=;eT(DWH=CJUtf9pNNAkp=z{U<#0sToVSAcmB9pHnb7`8Eyw>6;|TYA@4J9QoK zKbJHWJj}&AFONl)5YjLqlVO5x*?r`Nn{4VEtIkQF(u1cq7YlU!8@ZUxqJn;JJthy zO>8Y_TM2cx_B})sS#$|o33;{l-anC3SV-1AUec``C}@4PgLNmS@*P74X;U4n&JyhX zOiTcCXBA}8{!ubHYV&>u4ssHW=7A^<{IUb)h$5Lf1#pn3!C9uPIV4O<2bx@Gu4;-0`+M) zNaPZDxzskhNyT0$Ylk)T%9QqVJVr0II^ zf)P9BU_?k2KrYgJ+3|JA7G|!VT?ysMbn+NKA$dJ!NaL2xwU!$9%j_S7JWwO%$a4(JtX{z)|sZPe#m9XrXuhscT^PkKz0?OkX{ zL_Fe~QEpcfiW{#qS%Q42k;3`2*)bzZDQ7*fhQ4X42$F(G z>=<7>K<{)f@f40e08vlY^JMisB~|SZgW`x+1$t=xm|KlY`ihu>n_$c`a0MxbY#6g+ zIb9M;aDWOvkUm63u3j5bix>=fGhQ=~FOYk9hRT7HI*t&1k=5Uz!R@ptC1Vn@KE}MU z|D6mLD|ZtteY5zP-fH46^oal+XwLnHVA#A6?O2K5GpWm~To#R^vy{u4-i}~%8-al0 zN1tAk%=G|Oq95YG7>V;;O1`Xpz2vydO6AJ8=RU5Fx1l(ApmW97a_*R+B@-ya zOusbC{bGF+%MtxdyY$i_{X6qEY!~Yg{YGZQgMV)dc#Li-y|+YWed*7hhQD5JDx9_OmTY% zDxi4w$F#k7;xp)el5T!=T5;`Oy3s`Sum|kjncsIXpdS+#uCl>ytoJ;OVa}BUu&cW< zTCr5vkuqRRa^qWQ$&H4FkLw(wMskQ&q<}AOTW_vN8ti{qJBR4bg0|Zy9ozZG zwr$(CZKq?~ww-ir+jcs(ZS(ef*PXnR@0;Awsk5pE=L~ACdY;<9y>(~Y?VR9>4rSI* zIHQf%BDBcuoruAagmfhQevdV6N*nz;d<|^aaGZkp0okU|?v8fpK5bE0cs88l`Z@Gj zf0I6|t7MlR)K)q*Mz#|ETHJkw^Gp83K*UC0Wp~#pVqn%T8a!^fI!Da<%~7U5j_GB! zx*XYOD!BhobgyLKtCjYputB7{bDX+RTf|hB4{>`+D$}g%a=GY*ff1+V4z+5&LCLFL zEyR)L@HCAVape1Q^Af;Xh{;#ecO%crlt(EWQkzqZ9hkm#y61SMTXz5X?i>v&T=k=k z^?%9y@N|~M?le{YOU(UNG_Eyj6j5Dz%;2%d5x#Nr#I(PG49}UX>OMLS*p9fCEw&dF z89i`dLOB+^BIbyU^I;k0i+123C-6I<`NN?G0oN@j6c>}Nkc2@_Lf%Xq0VM(KC2iRV z@k?-}N4STZnNWXbn9jL=Qs7Cf7iOs7(8Hk{R;lH%O6?z* z;ig&33AbL35S+KnKUE7n1bXmiiUg$4ZwUFgySeKin4nW-CMb-^P02J?cd9-LWSFkX z?<=T8=ZyA_4ki7l#~*}iHl#r$eYH&rBAMaQY?@l0B7q zUtD3Ba8l{R@6G<7*XSQB-yp>6Awh&Yxq&-ly@bXIeksC6x+ifVwb$HBw<@L!ZCFo1 zJURuGfZYo|53m+P(xGS7N`B!(qr`8>^1q^q>{_hYI(7NfKDc6m!~)GaTczW50wd|2 z<_6CQ&R`M1`9@0gn3LbT`uxk5?^4AQojEX}?gzooZyoV`57+9~6#j(M$*54@79)9q zpGflp{@Q(#S}kfNyA(NWbwDsa-DX198D#dr&7%>!>hnC}-IhjCjtFWPmyVod<~kFt zK!_5S#VK{Ip&?U0{T4M9A#;(^HPMG}GaaZ%cg z54Iv;VS0%8I-f7?v$jlgFX2;1kD3$2$|jo>!GIWpSTLJs0o*z(Q-Zu+`&u^6vWCgre72DN_CJnEDQ<#$ea~d<0gT zQ@0P&HJQ5zK546Q$ciNkq8%*v2Cu9j)?;)3^nFf3yVp9`=WXW2jgR9c{R;+j(<;M< z!*9{vR%dO%QChW{ben^_^(N8SHa{iDYWOc-I)!hm5v zO{s&mzwsZR>#meG)gBak<{Ri1Hyw>mKpU=z-%j|SUn7YFL>(`pnFO_9d$N%Kdd7_K zzTsw-PcXgXKSXMklT(eMeAcJ>m+f|%SEBZ2f%}5_1^&F2K=B5neA!#@vB-_K|AOyx zP)$LrO|mql2ZImtd#cU`LZ=(TLf|eav(T4~4Bl{=@rVXKU8-jOO!wJ{VahV@TH&~a zv8@4eCr0jXCt24ebMaru<6whdL|7RnMM%pbXUgm-3j&wIsm7 zQUQ;}z$V<~<|IuC11jA!RH>!o+^H!tE|OeQjxsNWM`1QnpjcsW5`5zwM-qg?+290l z@J3W_)(omz7lFhN1oBncF&!a;0@(Z~a4z6TV^LPHiC(p^j>{d;0r@51b$)N83`q&Q zbbMB_4nLnv>yp5UeF2@y8|0#R4lg|li^X!8nl;YS!)I1c4Kg@2XJ$#5;=UsZ{9LhJ zyk;AIW?-Wf5)ZaN&8n77U#;{+UvqBwh|RwE_nU1uIN^4^vp8ZR{rsCOp@l~`%)-u% zaww{PS>+owyO%StdQIC_+PPi;UlaO=Rc^173ja(S9{YS|sGtRjqoJTSqhVbBV0@Hk z0=G8v(#GGB6x|ekAmk3pC8V`c5q;z9;>s5?6#SPJp_}EOH~vE`a#-!>Ph>U_3FPuO z1Wy5ZhQ9VSCb@Pwyn;fnK~-*VhJA8^uJ;uSsL@;&{fUzsYSGr9bjS=J1*_kd)PpS; zlPctEv()a!s2cFlU#^{`rfuqkT3N65&opfUF5D3LV9u+V<<;MfQ-HlY-4uXACJ+_z z7%18>uez`3eK{%Vu6n-bxL;&i7N{3FlL5A+*KP3v1NLjE9~o(}R#)XYhhUZU2J7hB zy)d%RZkHETvC6-wZqMygA&?_+3SRD}ys=EeDbh%mclz}T^R*tES+7e1YuCxycc5aW zdP@}gQVuCf(-$lkC9$~SjAjb6H_B^fQddw*CA_vW(HA267#s8((R0-FGXQ7kK98~W z^s3f}<79Mo6MKtNt+%ieXlSbE1w>Wok#G`z^*Bz?QfC&9Sj>xYiiOhG=#F>BovhXl z*aZ(EU6*mnIcLgBN-TN#3Y@_pNz__dW0du)usG<_vjUNPLS5XDF%*GDk!>9@i3=P* zELaa%&(M@UNNcP=J%_+`#?Q3^)H{^zEQA2ddj_Em+2Inz6P7sIOv*;ius|EauW3#a zM1Pd+Fia>zF`@JYpT-cVy?j{OUw~i8Itm_pcB6OzOb%j$h@d6@9QSC3N_GQe2-gMPz#7)g729x^fVS1{p}$d zpunQC<4(rCKy!mx?a?Y3OVonqzoZ9B*52s78zp*A!7GlDd@on|V3MCFK zzNEP=8^S!uD@$x(7LfVQC>_RHNR_vX@;zC_S^+Ljv$ znRJpQRW^p}vZof*4&-jd{q4hLs)p0katVBFa|E;&lz)Aj91EwqVvO9*>(4>_%LXAA zgtG*FWXe<)H@SXQjQ3H3_Yo4`(}ef&^j)b`vu8$W&E<0*c9}QGC2lsUY*rP+xMhcU zl|%-A0B!_+ne}-fuyEvGu?Nj9G-3nizM|RG-xBW~hu(mNQ!0A9myLf}AMsGdM9 zL61u`BxgJ8XOv^SRSk6u_=?%%D=_N99gKXUT(r$A>*?7Hvdk};>>-yDcBvSr zC=8&)pB2Q93aU3lmdHMJ_!gy#nXEX{L&-mH3H`5 zG`6DebSVZ+4_aY-EhC8{#T1`2gP6g6zKh%~wzT$2&V9*k{v@}Vc#%Kg+4uYQ`)~I4 z?UhN9mI4R}NCyZ=00;-j#?px1&h$46E4{3xv6H>Cz1eR%1t&w}-zYw{tbM`_Gup#Kz`-#BjY~+_nEE+-`=|;I*Ji`-X9}dvG{@ zM&>|x?51%X=}M^uP@XhV7Z#jbSHjFNVvUxeE)1zBTw@(o6lr(Iv-DEIFq!0 zBxVT$1EKBQ^uXLwgs*V9->h)-fH?P{`ipn%~Ow_LN;L=<&Ml-s{0_ z>|JWu4ea#w+gBbG&uuF`2h_5`_9j2ueGY=?OZ4bs=lT8E_If^vu8eO?AIbB-KF@FD z?L0mExOsbQbmh_YHW&En`FQ>8{temS^Xc#K!l&nEV?OQZem}s*s`cx9dojlUCy*n7 zzbWrH9l_>fN%w63z6R*wY^uI*TBuqdix2mE967sIEJjj=+by_>>3$uB2^ydGi! z5|gn~sLUo=(IhH!$kUcolz^d_&peWBa)qbJ$3_B8}>M2xs%{>-@jY7#!-(7}$dCUiuKIAhuD5N^bYl^s$P{=W-4YtTu&fd6?R zI?`6?MH|nBOoA$7*Ja2nk5~XTxJq^U57CG*nsjjC)WV*CRMSFEnBgwKod0gslm}Un zvckI6)K>{wU}^D$-WqkAv!x@v_}UGg)vaxp{mr;D*)S&z&b~wsf`2CLna|f$8WdL7 zti`WhGjDOK-j9M2EGwR2^IYsakw% z<+_p>Vt1Xi*?cLMOpcbTQ3$0KgD=`9Z@F~{W^LiEp&u4ZE5Z>6iRT1^@I?E0j&r*r z00l2fq}vi1kCt5Rq!modB4pj8T-DE@tnOeGAz!}I40}$(I<>@9d4{>bL{ijWX1Y9= zlwv)i)DPuw;_d!yqe0}XkDUKdz;39|T78&Ceq68$P3xRXTQiK_x{R()L?Za@nJ(Ut zjrmrYmj^s>F%L#H}fv`i@iIcDR zlh&-o^xhJ|wk?TZo4pLYCW}ozOZJsQ2EcIr6g_bQTgpUSUTHE`{;RbQ%AfZ43KgUx zWqd@$RHmT0CKES2rd-7}q9JMmxKoHYSj(chOHEe+q)Q&unoCmrH^BBdrYYK6E5lob zT0PbZ?Od^X!9}HVjbQ(R;z>mQuW!dCIaKXe6BUL?^B+`I%IKtZIEj>L7>NaRO}-M< zcn`Ybn$B=nM2P+4fM^eQSYy3{@ATOgWyTS@CQh)d{KS!5lRUCGCF~ZU)N(>?pvk37 zT7T2TKJc*`wZxElP-u!{0tIQS4$G4B<F z<*CB(H*A{;v}3jN!BV;eG6h^XGrW6cWqqixJk0}Qz#2u?hR4Y{VdHJ-KQq8YBJN<& zno*6KepciY*fu`;6q_&wnnlVAIA?gUY`But%kCsLR3gT130J~V*s!8l4p$_Igmk@P zPzi~IK_z(_01C{1Ucn`#<_s+fQn!YLNJ;_izqGoQl-Mb<(&k*ToZPV^UX=Dpkr%C@ zEwE`^IZ_cv@%9Oj7ZFl8Qe;&;FjZ4IenU^Y@C{!ITh*(z6938YqRjkb#~eK?l(um> zTE_1m40)ITY{xA1Jo5I3+I1Xw`s&Gowawg0u(==i_ZBL(_4A~iy#ic^6?nWeA@mXM z-D$)?zS@o0@BLg2x~Dja>X=-vs#S%FLLi~&uMD#%ji~g*Vrf=1Ix9T zwwYqb(N^f;s6DoprkAce=pLh{JTd5ytI`# zvXjgh+A(-A=C18ag*NI2H|zBIjSJriBKln9mZNRf^)Vrtpq1h5*|<5&@!v)eC1>oXl(Z|b@FFH+Km(_@`C zJ=7~YV&y?M!P+(bbEVx?5v+ov-Fe^13z$=mhx1n3EJ|VZYl1D)Joh_Qw%%HA*K(RT z!mqm0_Y(J$%?7pg(DCMS$?OC?&@Zyf(PcK#W>su^7%9!w^mWa4PMo z8vMmVrA@AMH|pyeJzcG0*8QF(ccbiIhFG1hf;j zTD_J{3$13)@1+^0h~GA24v@TJTA`bqzS`OlUw)?@wSKQH`ZxR%BwXCIqDL#g1;7&# z!!Se$U@c{KJqVDbDbM`|w^;P|-$PWfrROPP;f zkJOf_W29pxeY(d&l_zsysmzXmk%|_D<;hWitv;f3reUOj4^5u*hy!2t_$Psl$db4M zAw4x0PZI0h;vt<6NBU+FWsguekA0ox-#5pZ&`e4c9}sV1tSPqa>T#*%38%)eO2u@4 z!19_FyEqFVlqroMX0A(|Au%Vwk0Mj@R*^H^wb>2D5GIFXb64H0wdonTp}$~3SnQ{= z(pu}m;Xpdj`$x@>A0JeBBj@3Z_Ga!RwK%|1?zds&JZG(Xf5+m@rG3^yqc3GwOgW)7SotuTZQZv*=bti0h( zlRF9NS(H2*sa%z9_@b}L@1x7Z(IvS`VToXpVfe~)An(-{0}ykKq{^$tuvq>ys=#fR zxe`8hxJvQ;akUkb1Tf)kiU`yWYQ7$LJZmU4e!11_dzK7`xB0pLXKe-Oq>PJ!~Bqj!miuaVRmOTNYV!a4|Say3sR(OgW~V%%)q5w z%8%|b9@6wRz8DVa9l83ZPbz&I7)N1Lra)2;Ho_QE+g|dFaA8#X!z&lTy-jt51feM0KN<_1@XO@mbj;VnXE3vn~|BqO@MaYFKE9H0hW zj~*Whs#Ng>-P_+Oq{2IoB?MPB-LuFcjYIsxZk0n`h(F5)Y6(9TPaz;DBmH7;3-|en zVN=^s%l?i^=|+P8y~dv;=`V>7_7_5?LQP}s^jA_9PEe zF+z7|4x<}gDp*#IcGmzi!e!c2>GA=19D-t=#&S-v<<~V(86P>Yr6;rIm@|)IE(fEZ zW&ymL)b^rN4fWzjyy@J0=FYzA+hJ=fxnRG%gyoERK1yT06!}1p=Co-US{o3)Zg0TU z9L?t^&uQEf>k(8RDe!|e>#PcPH>)?J^-#<&g>wau>baL{iJu9vKbktA9`@u{SJ^R9YHK_Do(6fU#-6nB)Q;X=@LC3r5}j6u zYlw#M%rfu|rqB0sM2+xj9BKPHh@)_ATAN^fTQoFoMb$;P06k3-20jHB#pvz>BT5Ay z#m%?HF}f&NDO!8jY_8^~inDLGxY%A)kGiv5?!zO8`|7;5x7yg++Mg}vygc?VFP;1P zV^i%1LihUB{5RiyS~_25vyRgoY>mIt0A{&*xHdA z0PpD$t)>@g>^)8Fi=htL+u616nnB2?*cjWtHAx+W%H#|n^|ZIqF>u5!Xj13H7sD61N0^oM$FEsX5zxDM7u@oz1zc}*a(Ypaw)t^;|$ zM=!1ebnEQsjBi!?B|QKX&LLCk(7uHFupw;ECxNYpTM9+YHw1bJhb$t zf=|4uIK29LYK)KS>9@6el zLYjgs;mx8MksTzG_nO@d_t$OQYXkRSudcXepLp>*3?Tqdh(ZuP!SBH=kL=7ajt5Hn zh8Dq&nL|9sxUx>;Io=^>#l6Sdk~tHKQ^8q%a6le- zi$0&*!2s?(tuuFnn0444c%ATD@&Ma&@{(&zLz|C_0ja0-i%-+4Ha;JfQw4T4bXrTEj zJ&v~e^Q^jQXd#RGTbrfY#S=E8Ocz=-OI!5fg;qK?;!g%4g9^B}DieH{y0tqRRu8Tc z5zuN?Iu5lllwuhJvyZlUX_zM%W*DX!z{R6FyVM=uKw$0buAU|CfN#Xt?D7mcuL8&; z@$bbjM=(n<3%{c9pY%w26+e?-la17lwzE=_( z2CUn?VXVEXSv2082dw8qXHlV(BE^0T-OCG6zE0TD4n_N=s8-Z!RPc=OFdy1xC7E)~dj0D%_Mk&6GkQ`d zZDF|+kO%%ghz7?odI#<)Lz=p0dguwX0X2?6l!(1T;yAMpbkA`VA=QLsK;8sf1^dl5 z57$x6g_|e85NFTU#qKe^Y6qY6PeX3(sRd{4G6wT*o-4fqrxM?C4SY@cvA&vL4l~cH zI)UyX=zz*sC@$~mwW&OJ-h_n99Q_I&-L-m4|F8_LttY!6vFc1S6d}s3#N3{|g$mU- zeuW-f!H{AS3@M<)5A(I9OWVK*#l$mvmHcN!0vfWbcf?`icyaFNzS<3M7-Ei__QHf? z?jC$5-sY`Dx+Papd?i_ma=Fsyg5!Gu2AD7RPU)H%zQ>GZ<{7xHgq3G1j z__W{Q7!Uhe_R5y;iX|-&fd2&qwm1&EAFo=Bw@IX?c^Xl;>mWaYS50@A zy{~j_wEmzrs@pEuUcpz$V{Xw~4|i-fO3Wj=Bfg`HiM(VX)|!6}`6V;2i>}Eo+HE}h zUiNF=bKYZCA7_}qj$^)Y5q3biX}`cYBlBG!{tED2;qpYumr6R6`BBMk(sC@gExO6g zL9=WNc`s^!SOj6dqCe9HqBdCr1eDf5TdB17Zf-qv)_{9ei0XdH^IN)5cj@DX9GrI} z-rI%nZjbIBZ2RpyDZN2WQF(*p?LW9%oUs*Uw9P|r)rXswP6hlvV57#796f#iEl!k* zXSrzyJECMsogJGI@kD%Ow(p;i?_|t^7uMq5#Vhv`QobndA1lLz7ZtoHb|bNHioTMb zqb?Rr62a+g8)rB?aJMRW-A$YgFZ}HK0!wAzI8|&|Vmy{y>m%o8(BtaZZmCg*ZFG`i zNi3MQK)H%0eY1gs&2Y+>fuyah*hm_!azceY#LHrH)w>y9Ovt{Fv*#Wv4mBg&+?HpT z%^-Dp4uycB4ACYWO(NAsu~TPg}pxXbOUKqH&xJbsmoAw^$|VhOPncgDuuV5f{fg#)S*;mh~C>L zk!MGt!D`B~bYaGflQVZFGTniEF-U2w&Cwl4(gooYTwLlea$Lz$5(O$xsh_26Z$tgT z*PT_~O}2P&&jz91HskhvS0#4kHu({=6e3&J!YWf1omX5Y+DF7OLj zPTi<)ifMxdZ`&kb0JV@WMV;(D!x+-hq@Fgzork+QHu}ukabFUTON9(+tuxtS)Rodz zrJ=m>5|?#cn=GLNIW1~Wq>J=EovzkFnb!~jx#pkv+`vXU~T zZUi2V$amB41my*BSuvK;W$S$l4x4&;+wkG~k+Zp2M~|)5WLv{XRtZ@~>eiEpD+cg^ zQ@r?(E|~Pz>4pJf+p{LLi`n9Nw3pFDZIqnUkP9x@dJ&S`2rQI9oaUypw|cs`O~$}G z67=y(2_+5alVOr@GXTN*56~4F;&_Kdrmiu=4nKtL4^H-ZT+rexzRw>Ho8bkqvablE zWoDvwpM;Kp02_cXy!2ECyxtlP`@#$hN#pZBHSCCeBRKO=Zf4itwY>X6g;O}~AP;Q8 zncZ0Y$B_j`V=7D#)uG5cqZw7X^U&@-8KZn20qM}d%^3}<|M4nlpstN z{n#QOX9V$44UUA|im+~J+3I|@y`eGGBTv{(0SZE)9rm#KzYC07F5T!gB*g2nrYtkR z_mM&B`=ce~ODpAKHR}6)7AXRwSgl|~${MS20cC2dC@jst)UzDdrJO*m!&zZR%N*7Y zZo)$#P{`i(K!dX9^DuE><Gn zNg`1^H284S@7{{Fi>gQ3+NN#1j{_K*0Ty)Ct&T_*4z?x{ZHoq|agq6%(#=q1L(WD- z#BB|lT`9W!S;i661Zn-oKwI{g>tWWvJYf?dJD)LAgLc&z5~p7nNr%1h#Zv|!P~;n= z%8XG)51gcAc@+*}LhUv+Tjp*|JI3gzQ7_0MLvu(?zI+Q~$WpvU}l$n79qm1i>Q^@7kbxgdN)C7`q3(7ZRlRRdJ}tIT{6JNFKJU ztSswzh!bTCPSZ#+t`lK6E46buiR=Q)APFu-_;&E&Twx9Pw*(aV#_|o1P0QMhj*n6| z?D===U2a!lU(W z3r356?BV0`L5@O6Z)NL6SXyxyt69PtK8Q?Yhq&j8b^q2e{OlwY4)OOQ8zY5Aiwx}^ z%|vG7~e=JTTCy`rOF9wgD>i> z$_%#SR5flOyq8&a?O$e!m0EgUud&8NHsZ zwV|YYn`Qj2P660FsOJ1>bA~4PifLT*1CkFQKBersyOZpWy6!CH)RyB*lW|+ho=Wn& z&(=xf4wtJL&y^-uZz`yU4|aBA(v48ziiXeQZjrNNWDVWpv{)!e1(BL;I?>%bW<)%p zlOwzwZYDGE9D8o(Ok0p~L(iL- zl$4X98Gqr(Y!&->S3BAf%iUXOV2rCCHY>W;!X`gvUX&QK=8R}BaiO%^cYSt7_c6|j z@HsJ;H$TPPn1{V8Q|Lt)uzW>fNJRS?VsY zr19pp9>SkiQ@_8f2}?hx%eiwPxFzZp8r#_DuC1`!gd|~HXobDMvkkeQ$yH8xVO`S1 z9My4lE{D`xERAs&xsbsR(J%{cbKIRLFWa$L(^O12Pj8~dTbTG&dQ5=LAG)?%!~V`Y z)5UEhzu@cyRYhV4h?r4{&&Wd`fe9P~VgEgx&$6s6=W3 z)(sbZ<-SH*Za{K1;Abq3UVS2KZA}+RVMHDRjpPRgGt8%K-l>;1-xMKHZdG1yb)PAgl%eG~8dWsmWN7Z4n^)6?Bq~sI)AA zoxfB97IXntDgr{A!W@BC!yv$M@P#ixXy}tI_bGZ1aPFb0JsTeP8MQkH&JqQo5mVC@ zYG@TY@Yi#ZbI_x|I2BuP%4~gwaf*fh*%Ui*S}0kB7@$_GO%^m4NWm2=2>)5oCAnKX z!Qk&*4Q&~K>VqmDVk|UN`EHISiHNfv$FV`t6h_49O_<2NBNpIa#)5dIxVLzmL>_8= zX<}8Tez$ua?b*4Fc*B07`FtdNxE^D7mB8*I<-fzn+-}-m1E6oc^f|mdWfW@naG`oM z8>YQK@Z($aGTa``$4>t2g$@2ISaI|oF6~DGjrrj(JM9J`bO-MiY8J8v!w~2>^*m;- zc6y(WddPoXs}CpDQT>YVPS48#J72_CBMU*J%(Xs!56{b-ZlipDqqEy>&tV8WhYP0J zGtwj!6CuU$#Aw(uG*sb&R!1=gIUsCpA>_Quu|1#CidV|cPMIhV~ano3#117vpD&>Qro zs$mKx2ZpwExDJ7vEr?i~Rgn!u5#8Qw91it7*x2uN;&F@89tkw*#oncBiN^<4t<@l` zRu3GW3Z#6{n?|xNAtP~UPB|JeDJL@2DhhvSD=Iol6uQaKNovFH!itR?9+*`^f~djq zXz6?|LqVOv+RtqSz?aA`frn8bK}Yk*3=P>enK-^}nPgI=#gBo6Y$^&jz;)UrM)i01 zKZCLaNnK1M z8TDh2Nn(vpqSfvo%M#k}XF!6}Zm&ju*+dVajt!hDPc_ zc<<|Ruta16kw3Js*U^|`;Nr{Cc6iPZ&{2pA zy${WGnSw|wute#+%Y#EgPNzfO-$2Q~a=|+7UQrJ*8xqma;irP-LUo0}z4aUi0=z7t zkeOy;_%7ufe$v6ov8y^gZM_bkUVj=3D%*p!Wj2pFm*0u--ce06n^~f0FeDnZJ~hl_ z7xGuAza4M@wL#gwhE6cu-&> zmc5`9R(e*F;AuIqYO~P&Z(q*x-tCgbrt*$qlv-C=lG!tgndPVnVIT~ne=Q;4u6_sP z3+Az%1qm5V)E?b5%6Y?^95@Fxin4`Kk>9deqpl*TZ)As6n*NIquHSX0C}_s1B8#W$ z7EQ#}qrhWb}^@Iwg(TZT6(ayzq zyDGbUqTB=@^l5R6>`ys`AI7MJVMJBuL}CP@n_;B_DG04lc))4h7-z)U5)Gl<-(_*u zX15eQH#C=Au%}PzqIe>#r!vjfsQp?~R9CUe-B*i^|C7Ga^>pTl`f%Ey11ma=OgnEx zk=kG^V5;~R(+(}lTGDU%ZEndyP1L%g++*7HKwt`EJ3&A{^7uX^LaO5Tb#|5c6}s@} zdosP!WAZ^em(NXMNLL455YHBOORPS>p{YIletq5RWes|em9p|8)<<7embYc*!Uvqr zM<^bl^NzAg+Skv$az*XedLg`j9$_%wzS&% zv|?O-(FGHI5_t|MxxXd(F~0rM4bgup!+Yk#sezeO*BE>^{AOMY%Gm{!VI9$x6Z{Sa z%3joF7^oPL5;&3i5hEpqA(KKSCDT@_^O>s$h9KhLaCEdGn>fo6N`ul{qWzGpsZFPY zpzv}SIUo+Tn!y`+c|xZKq6dU&SIX@)pDFCdAN0FYGrt3yfB!w}81V_c2fSYzVBZ(~ z%tLVElx!%qOJ<(`^6L*gO*Ak&NS)cf1dyKR=uhBlY_|o9q?uG+UI=vLz$#+%Y8MgL zM)g{rk6can8COU7b#*HQwyzbOd5abt$f37BEv<}BkNNs%yhSOEf|6OTx85jF1YoOE zUbFn(A?WYA1Ry{9@s#EjAYC0zH>G`$I4}k})2;cX*|S-$P^Vor42;u0u2toPKV28a zVPw}%arvdiKVN7{==@Vq5pe~$JkogXjF9)BeCuDSfK ziI~-gjdqnmjF){R`yq&B@;)QJd_we4WJPoJ8vgw3xu`O!_iVg%#w>Q($;pXd4O(7? zk9M8~Nq-Mi8r}i|&YtX8C#W)O{_5-hpwUOfXfqzk^G5a#%(1}b=smU))8m!h?4MZ4 zQB4MXI|(5?5?%&hX`BaE*MZ&91!KR`4+8U)e%~(*^(GSJo@_WlW<8oS76fs+3SrPB zqa1iO(n<6IrR((iYd_s@8U9kzz|XxMWd_1iS-Gpd_Kde%WA{@goi@rXz3e@jlV|gv zRuJozKJl6(d0`ABhJM(>?JnImIiIp6Y#rA+YAPR{mt5=NeobW<;FA3e!spu9NgC}; zvIi)8@JtpUd0-V})!%TW64mATh-58{n#hm8L0y|(Dkt64KP|RcHuzlB z*8Y&y7Qb$AA$+?i{fPH`|OJ=tb%OgG}*%OAFE2vOi!$_T%6Eh9H92 zv;|%{+wN}OMqRU6XRec6+(LbE;K+{_+2~4d} z=AU67<$k*(j2+`u&Xm48K74xZOv0c2{w$NE0C~j^_#soVM&A*o_Orc#!fI@!#-k`d znu@kZg@Z*%$NM2`(~RM-<6IF_1QFS(p(}1P|HUsacNLX;YZ-G-5=y;W+!fy`dfUuS z-nvt(f6o(1M?~^RUg}00iz~*sLalj&U26Lw-m<|!@t5?_6phKBhy)SFB92aT5(m_A znelXYJ5Cx+?cJvKfx{)o9<|g;xrS)Jz?9jC5PcsV%R!?)H}rZSB-{^r^`Gxqc3iNZ zKADPOGM2!Ylgu4a88Ikc0f-*S{VnzQp9w?0|dT3LF?K@ijFBfF3yc` z@I5R6^Jo#3sWhb!dpXdqSPogahZN7oIgd91XyJB^QBXr9VNXvK_Q?KkA193ygaB2V zWF6=Ro!jsPPUg@kPR2@-#YC#@U@Ea!9f{!qq=Guq*KV&(8j4E*+F|TbDEc~J6TN=! zI`v>*0sKjAB3zNt)9(4GFUb|fe>?J2o@YLol2jGIzQn-i{R41}xCvrY{X6t0xggUY zVrcY}iXRawt1ML~2;<8BU-@WQ)#K?^iC~d`Z}j#>)9dNQWo==h8Kx!rV#U}%RtF$g zI&$okE~j8jOo*K2Ojqg0o7ls!na>~eEP}!Gcqtm?XYNNu7+I7CrYfK~{W^KlJ9kuZ zvCx;2yWLN1_@K8t8>Z!jX?@gNh!4?LE|E*~auR;kur#LGhO{@)oSpC|P=!v8o+F8H zH?UShp1^o?0>}@GB9;(3-{+)tiOa5;u`FB$bMzkR6Rr2C?t3HwCMl!Gx!H;=O>7)H zp3C94XC4e+I_Ym9OMLE5FMGB7NfF+m5j$35N52JwHe(H`n6d1Ius!jt_gCbuGpk-! zO!DAAtnXJsIAw;lE7ssxqxASbcIB|V9rsFZ{7spX6d@ZX*P;%-D{x-YcHeTVgM`(i z;cHAplzg`A?3IgtbkDnhJHZrd`q+V>O9G3NUcG>rbPR@ zrDA(}rozoO;HFrNpE;W8qQwFTWL-D1a{c%v$vi0&N3|-74eXL!yR!mMwc?@!>2awi zvmKUTk}S`y$Ydb7|Nb1rIdkFZ6^jY$7gRLrgT)hVgN<;aGTQ~ExY`yGCBGqu6iSvu zQ6BsqZySU>1IndW=eo!gzpkR-iHr+6CpE8)i$DYSF}E=mN^LF`i-wxG#J=_My3>(XEu{E@PfCLj332((K7^ z=?cj)SeQDaW;>jmp_7$3lkw>RuRbvF2nk_h8)i~71^`V8*;_l1Ni=0D-!+Z_A`aWz#=VXbW6DzdO@e>Ot|M68mFYb( z98)czK`4saZ<022wn*s8=l37o0Y*@crav|P!^49eHlqi;(mkGc^5ZmU0hPBT%ac!p z$)pf}8%1yMDHk(LnZv0);DI8!4xDcrN0Ykkk+E7;weP+$4 zZrjX_>IAQ2hs}L-DcDa?4;Kftj&1*b5g)5++z&%hstjTJg`KYFoieZD>6H zYJMvAw&N7%BJ6*HhTgZAj4p>Qs~Oc)w|>{p#NLeCxV1cuZi%OC;=MmhMTQBdYj3o{ zKk2FM^tnO7yu$XXSPo@N3zlI0(T?3LZ6;p&b_enFFa3xT7x)vP z640YVD;SQ(sS>abR3CjNwrW+Oq4}gRThfQzU2ut8;QV%=we(IJDr{()F<`L+MrcxB zR2TE3iZ^SLkZuh$ z5X0<*TRx$*fgTjxQ4E1Ibf>p{T-PUfc`AQu!76jdjZe+e$rD|wtG5gXkyvBeL*ALTr%9KJ$?a|~4CgXu zW9S<|j5Xs@wtj1$^HMNXoonauAB$ug(bTq5$Rl`j-wO%q&km;n`)R}jTPgro{93i= zQFp zM4uMZNiApcb^^I{xp3J(WQ@T^o)!h5kOd(m!Lh=Sl8}tuU_$Q(pFF+g%>Y_S@%C!Gyt(b35!i|K!>6KV%X1Kdn*U(C@q|1lN-uJwHL~ zn$Rz|QBuZRQYT7NC(2<`RqX0lNUa_oh({@~V9KBv z)tQGnQVWmZx7dTX`PC=Uhzem0r8Z%L&N`6;&wx4~TIr6^2fU(mxejK3O61-$f5R8< z``ujiyzamkc8W-JKt$7I=oCfqfNFP~`kUIB(Hsb{>4FZwK}bNT zSrCbb=zG;7;wy{*)F$4)Tl_l7p4|OjR7al~?f8#}AwE>r8gIIK3!mEg;&_nX9>oDV zAIpXGYKO3GHvNw)^sj?$vS{XfcW4;bH}bqEHu`=)9c6e{U6&`gKW$AU zFSGdicWI%c?0?VH=ut}(mj6^0DsB<&5toEDofdg=D}?$e0L&ny8cOR9<0X$QOWzf6 zDCGR_(EkqrLqNR0#fwF+Hj?z-YP~|y1Ia@7)BdX_Oe=(BXVX_yh~l9^aXRIlq8I8` zKcZztPt0rW;iYSuvd8d23j%mZb6f`rKnmzw^h`@=Rhkw|W=tiy04 z<>!=|`*UPK=)g*C)2Au2ZZ)C^9ImtV_F9i$ zz~MKR_!%C*!KopVpCmt2ksk)i!|@o=iG1-;Q(Plh^$SZ5P(j43k;rj3Dw482RCij$ zEG^kRhL|20;}nWDiXQt-Ycvbg7lm#jWvfAX9EVjP82;@+gZb>-r zq+ySvcTJID*KvJ31N|ZcWJXK5Y^ZRl)rrE?8AK>z8fipON;DpoaL7E9LQ=;Jr zsxwKbwC~d(TDw&n)N4#D2T}C{nxky?anQk9MVTx?q$B7wfkNnVJ@Nn)aKl7{`0fuKTioc9U}R@{jzt1>;;bQlF%Xq-AxX3EP#<5 z=X~lHHW?Q-)#|0u(nzdaH}}~yh=f6Ju&W`wS++8QXv5zsLs`sJ%8~INpqE(X$UYgb z5~#hA4oPKd=l5tsex&XqmK?ixX6&$v9d=^lBXyzRrkR?}JPbXh>%O)+T5r!`b2ujh znyUn>M&jubYtJL(Zpwc}RG>_#eWGtGl%XiFSlOybtdE3EdjZNIU{jHrxuLioqC!|j zEp*81C1fE|3n?_6!&Nx|Og?ceb|Cd3Oiu(sde9nT4#Ed_ZZjj*VZ#i%qwA$yTjKE&~L4}&F!`v_msJR@vTi;Lyw#6vmu zZ@}xog^p3;zDE~CMC2ZcZ);!l4Vz?vQ+B(dhyzeQGhM)0XF9zE`wxXBk$~QgI3x1) zc7zAeNT?-J^&Ozjr-GRqFo|Y#z23f9R-e5DYJzZkpwv$eQJMgyS}J9(AYPXfuYA^_ z)!ds+Gi0YEZ2DV9f3Yokk2Jz`z5RH4F)bTvnLYv7G7gN5q+r1IiBPMPWPH4CgdpjY zfhgywWs!qbDwRsI3~lr=-C6@18aWu!tp@sf4PCm>x=UAU_ii+QAxK+5E7~hXPFCbp z&cgu5HgFyyq~+6e=?3s$6cj=GwWy@0i*lj&lJtg4dR$yl&uIanXp56`7Bil!#9fIn z)D!$ys+Pji)H>Obrcpqs9rWa8n(IS0t^w4lMyb+IAU&~K&#bH|vH@9>p>>0$X=pEW zT125#3)Tzj1O=%>q1D7fy$sFhp|}5*-u(`Z$kj{J_|zk@P-*H?HraanD}+h^4(0%? zcN=IU71X|Nbn6{yeDw|oYANbHO}S@!W%8xBgG~Al_%2QVkzTQ>gk-oK;J)oSs3>cPeIm8l0;UFGTlh`V~=w7-y>r^EF? zQjR)F*SodNLUF04UzPp(^)&hn!+fzrrQT^`Z%kp}K=_TMsHjvQj!3rM4hD zFl1;_&!AHERI}ggSL;TJHAk@DY77mCQ=C52BCn9Tww+!tcRhXfvNxfT6d1`{U5LC0 z8Q8HIYS~N=4)wrvk*vRBR8|3Hv`AK7G25MVi88-MO2^Q5J8~GwyWGyT9r0_b4QVB} zfOVMyq%Q#iRtvIK8Z~U2Wi#xp=*7Jxz5STO({WiEVgkJjQI>|akd36Z2<4GlZ$J=E zV51JCQ1OsypMtihQy{W~K2Oz4kOx^s=tDg7UNh24LWmrqQNBl$E~_su`^_@Rg*?_2 z!Kqegml|6nK^OG6bC8MJU^PqgVgo{9cbL&Bb8-FP#BkZlyl{xr`wx|12pWfo67E}4mmBa4 zj5K2CW=($RkhvGm+;%o*)+*VnSSwf`?{&4oNcV7UQhS`b06_M=YsfQ4ys0&X|C7pt}X$+LX|I({V# z$mJ@T@=e3u3Cb;8^m==l>mN?{_2|~gz-0FEYh?AdmpdIpxqp}=?GXCGa<+dxp?jwy zPiT!K20AZBwsQ|vryFQDy|KN!-hkxR;W6r*uln>{D5SG%|3%j2AyfzT3!*Yv2i>6#)0TdWlP< zO{sgkdN(Uiyjgly70R^n+w}eClo;9q=5u;--MJGChW#t3JCDGN1pIn(7Tc&`_4s%d zXm!Aj)TF3b%>0}(dn3Jb@?=<8rnE@uV}|{6VC=7ygck_up9aNBWtXHVMzX@u9AyYj zM}fzrp~xjoDa&f8q0`#>4)ElqkK1Pov5?Og%eKb6B zj-CgiMlbAw)NXtR>jk?Jxg=SY6v@T*ww zG&@J;xil*KniOlFC_GT(47}uYTydZpD>Dq*cMe!XSc!9GokSd$Nie zoqZ;K<*AOi*eoGC;D4A3Vr zOb({fVlhTJV&sQpGcOJmh9E|WB`6N$gehNV`#bgJuHSkNUV-$vLe4ZY*bc}))94Lq z&J%KO@H~+@H&|=^o2pv68V-{RHQwmQx;e+|+s;ScVg(`lJ1A?i5@gpRAvuQo%fUz} zZid)a(_l-EwTeWqIELf!*(L2e4g0$gVOTzm?suc=_t2x705V#Ufc-rW6-BwzzzK8k zg{h0cn>?0_!7`A(1P1U@>Hd-Pav8wOVKk{9k5!xY6<}7^O&luamcZa*vWlXy2lz(h1JN?j#~(}l`*&^^&ry`NrPAN8H0{+IjOYN@=c5t(KzGC*En#=< zC#om-0R-`Q9^>O#<>xsdE6w!^WBfd;I`jOg;<-=OeQE@zb}a6oxh~-IH#+@& z=TH)^TJ|f0@G1ykJ{oW9j}SeGDQS%6@Ji()ZH&W%)}IhAN5OG92C0#D2K-hXB|k-< z*ebG$eNeJ5FuP{Me3t$1@F|gO3KWl0$)hjN?DMK#*W zOTC9W35P1gFb6SAA%;7M;okVPj`BE={XR%mQ>C{<(1^ca7-M3^!c>JMQ3j(hMa0nz zIYq>MQ%KBq{7IQrnGGqt6y1=?Qm?@0d5^uhchMa@?tQ)hUxJDdp>mBT#J+nuj~PyM z?aEQJ2q?l=q8`769qIj5f+uzj>xasj=Z-qUYZ(JvKa5?iZ*;$_r5r4o?g)f14crq( zguEfooid!;%#QZ^FDOqkBO9iU($nCs_4LLyjT9~|p)ZWc7 z``)jG9J{KEKK-O!1s&8`m7h*-1|7q`4vstMgd`nzE-aG{=KQO>mdCL7A1;tXr*EaC z1K(a~u5ZtDDJsUEg+_dPX}%&|94In;v{Tpfz|+0~LlpZ)^nSruc~KC(Et!2D6Xb=7 zFZVBmzZreb>jw*pf`>}S!NPODqYCa8h@I_oAIQ?^1( zSINM3H;AFmHMy<``Nw}-`J!BE^n*Pe_*V2^nFa2YQ|(Y$PGpXMgz?e{&m2RWU`V6S zsIk;2gmsMLK{VjeJ|k9DV^*iCVA@8iu`@#L+hzZ4uwAeqGY$Sm$-2~}%vOcQD>{Kx zHKx(;fULU7#JLL(AEqNULp&Y9_+hXri%}V6(MixQ^sWCuNsGrR-JG>sQ!G+*KLH}w zo6u-vLF#OZ>AR|C96%Fr3B!X4X0Qi?y&SNV!CV3Xm4W>7Ks-;;DhFH;C|OhzeJB{O z3i@2nazv3+JAE`vV^9YmqX!W^JCUmc@xB2ckwQ$sgGQ%#wUpO@q6fc!G$te|uLza( zrYeIx|2sj5`0I~E<1;B^i|PI4|X7S@#OZLRE=lvtlr+IZNIqXY^oIiz7>RE>8QU}~A?N`q`@ z&s=ZN3rW0R@jkqtZ5i?AqqMFnPyew#~d5Aays~)?TT5vb$+)&N+FX> zRhz0MV!Or(-^>u&>nPP;jpQDuzeUp>pJ~SG*lgW@csHSRBwzH2dNu(4R$SSD@tOSu z2-y!DMZa}!thq&PG$z8WJ6vB`Tm%sE+3ZY#b z-)T9{>QnuNl$-NRAzngV?Y_dCe7hS?FKl3t@ zd_;3vI=VSm47pa^O#Fs)T?eF?6>`xx9BLbask|{6!MrsI3%iv$hSHTF<~FDo(W}ED zRgsvo#%hiM|HNN+vV9Hh%-@|TiI~>IBzRR#sM@q1VOJ&|)$z3pE!U6sHos;m{{% z9(pUiI(`lX!sd}DpdHxDvI{82TYa#PrZ1P&g-v;3UOU4dmfd1zNiRx_M zsqSCB@GV+MIj|RIL}xh^m((wXTt5l&J9FSj> z!a!Mg_c{upFP~JP>Db2oM)FTiGYceNcRv*uL%mnI2~IMSZ+q<$TTD{VC_C|_kjpJo z*^2%e&~ORCvhdLRX_&96p7|oHvRLC8fM*1cG1{LIYK-x$L|D(^y_yi$$#sY6a=1Ff z8T$pJh6>q-`;31vUvZ8b>6l!PI7FfgIp>YAl zc&k5#h{^||;UfIM!V<&XHK)r`lH25>7nF3&LQON$I55-6C~tnVe(&^s=rhK6`vG1T zazDU9;qC{(ryhwFm!_^&`vKk{Od1dRehc4k%I|mZ{kHsm58v+!wP)Z5hO=&wr#b8E zpc^r#p`ntgWMlIy`lEzm><4JYJtS+%Pj7#dpKtRMgzW~5THbfDvJ_v1rT+&S*q?Yn zQqnQsO~EQB32~`#DWv}_c+v;F%Ay`qjYCY>razNK_E)z;(Ja!R%R2hd7q|%J`K3(sKlB=VJ9I{G zXH+{d`_g}x@jqe|1MN(y9bDx8zLJi4hv8pG{bn{8z5Q>V0)6Bv&>LvQ+aSpYvg#pW zS>)ghN7yPRS+>&2*Z)Z9e_SD@z!x?hSO3j7-{{t@?zWYi6%gtsS!r{W2tMONL~BX z)it@_avab7d(&2IQ|0bt-p&>=+Xlj&>MJ)Cr#j#@$yg!XTL>jv6&6=vUWn<1beA3) zy!|GuzRtP=$72sF501}-a1M8B$$pf;*U5)+WbJc8bn`&GF2A{l+s_UXHd{O*2@LTF zI7>8T$$CPDt+zN`Q1*bgVd?|eQ;$iIi< zl7Md?yRX|b^wbJ8mgnJ4Ug+BjFcSMoI$DlTeiTLm2|RmUF?eAHH(RF$RcK5xC`Rp?389RrHxrA(KsMGrJU@P z<}jtEER?v7XQxH&J1eodOe~Q>tfwS~_I_A7QS;A&EAN77Fgw$E%yfO0D&vLT!x@-m zT`=fEC+0JQ#%x7|CE_lKb)f?bq{lDEtP{Nf#UeEl;5XVy|BUg(KmAK0GL|!pc){&` z7Nhs^1d$EwZFELU5R!TapGy^^#p;b9jF*5n?01D+V-N9KfyqiK08mO4yTv+c~&bh*a`@u$!)1@B=zl zz&ZE;m?tF0SEjr~KZAM-`$M*2a607R=b&)rLrp%n#{PWAa_)$w*B;EM|GEaTQDn+TiwRH!)xZ-0E|lG*{@=!Q8PXG|N@_^e%_SMip6Gvq}^+RCHI))y*mT^<<$YOxHwu@v9pdp>qgmkxLH^l9vE?wDC zD4eh9-RfiyR`kGA85y)bb2GqZu`mGJRs~Yk$OPJfZ>DplYM?7w)6U4)MU-Bp#xVh2 zgQ(}V+)gL+Qb}HlH3Ft}zJ}e7yi6P7720akK2>wh?d{duLC$^-t%mo^Ih*i!2p_~q zI>TnIRwiV%W3xtP*sQNI91Ux~=+u|XgpL{WO|Bd-cyi?gmA4@8MfT|ahv@e7Y~cw) z&aE8Apq$T1_@`TrR{~4Qm_H8-8qr{Xa+mWh{s~IW8ie_a()_RyvhRQ&_&KWB9D6<% z%uM_5T;XN;g#r71=-~G;lM!^FOX%TzU+Vk5OitFEL_(1sz^Iwt$XZVHn05*XSR$25 zr{om-VxYf3seCEatPaV6JwSEMG!{CTS7^pVgy99*oOm8l!Wddk|EP6F@| zZ5p^o;0K7C>XHy;-`}NERpC zJlwH2yYTC~@VZaruKbEFMq-DJxVrG^yYRwK>cR_eP#r{raOd?ib-}(?`?gN4!Pn>T z?xY_=v3gm>hT1QXBbHM7X-D1XSYDs=0F>h^+2?#H`<#Dyea_8DHIKgYM{&=-cwOFGtmJEfl4`Y|N1 zZqP8YVYzY&b68I4Vo@p{A7pfDx!>BUIepr{$7-ri3-USW>D-3?%^qhwY})^U`B8_E z^4zHhxZrBasLVGlmN9{Jq}F@gQMB+|-8g7lKXcpGjahWPi?;ROG^9puNH_ieX-I4R z4au+VJ&X)Lb)D>|=D#MS+usOz zf(`u<^+l+6$B&_ICjvi)y4i^GWAG{c80y<`Y7`zo1U`ZCX(DhRBJ8hFPt0S#fS~rK z{1v44`76}zh=<^>yeQXQm^}C15icX@ki_D}2lqR|npz3Yp$~bD08otQYXs5}nFKE! zB8a5(G(PSN2C>By0@%(+NC86H@$^=sOL;XqK3JFelfia3MDMQgVPFtahk;pWNsu>^ zU#DAznsXSKJTiG0*f|6G*=Oz

- A configuration element storing information about a single type alias. - - - - - Base class for configuration elements with a default implementation of - public deserialization. - - - - - Load this element from the given . - - Contains the XML to initialize from. - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Construct a new, uninitialized . - - - - - Construct a new that is initialized - to alias to the target . - - Alias to use. - Type that is aliased. - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - The alias used for this type. - - - - - The fully qualified name this alias refers to. - - - - - A collection of s. - - - - - Specialization of - that provides a canned implmentation of . - - Type of configuration element in the collection. - - - - A base helper class for implementing configuration collections. - - Type of configuration element contained in - the collection. - - - - Plug point to get objects out of the collection. - - Index in the collection to retrieve the item from. - Item at that index or null if not present. - - - - Plug point to get objects out of the collection. - - Key to look up the object by. - Item with that key or null if not present. - - - - Load this element from the given . - - Contains the XML to initialize from. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - Add a new element to the collection. - - Element to add. - - - - Remove an element from the collection at the given index. - - The index of the item to remove. - - - - Remove all the items in the collection. - - - - - Write out the contents of this collection to the given - without a containing element - corresponding directly to this container element. Each - child element will have a tag name given by - . - - to output XML to. - Name of tag to generate. - - - - Indexer to retrieve items in the collection by index. - - Index of the item to get or set. - The item at the given index. - - - - When overridden in a derived class, creates a new . - - - A new . - - - - - Causes the configuration system to throw an exception. - - - true if the unrecognized element was deserialized successfully; otherwise, false. The default is false. - - The name of the unrecognized element. - An input stream that reads XML from the configuration file. - The element specified in is the <clear> element. - starts with the reserved prefix "config" or "lock". - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - Indexer that allows you to get or set an alias by the alias name. - - Alias of element to get or set. - The type name at that alias. - - - - A configuration element used to configure injection of - a specific set of values into an array. - - - - - Base class for configuration elements that describe a value that will - be injected. - - - - - Initialize a new instance of . - - - - - Generate an object - that will be used to configure the container for a type registration. - - Container that is being configured. Supplied in order - to let custom implementations retrieve services; do not configure the container - directly in this method. - Type of the - - - - - Validate that an expected attribute is present in the given - dictionary and that it has a non-empty value. - - Dictionary of name/value pairs to check. - attribute name to check. - - - - Return a unique string that can be used to identify this object. Used - by the configuration collection support. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Generate an object - that will be used to configure the container for a type registration. - - Container that is being configured. Supplied in order - to let custom implementations retrieve services; do not configure the container - directly in this method. - Type of the - - - - - Type of array to inject. This is actually the type of the array elements, - not the array type. Optional, if not specified we take the type from - our containing element. - - - - - Values used to calculate the contents of the array. - - - - - A configuration element representing the namespace - tags in the config file. - - - - - An element with a single "name" property, used for - the namespaces and assemblies. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Name attribute for this element. - - - - - A collection of s in configuration. - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - Helpful extension methods when implementing configuration sections - that deserialize "unwrapped" elements - elements that should be - deserialized into a container but can be present outside - that container in the actual config file. - - - - - Deserialize an element of the given type, store it in - the collection object, and - - Type of element to create and deserialize. - Parent element containing element to deserialize. - Xml reader containing state to deserialize from. - Collection to store the created element into. - The created element. - - - - Deserialize an element, basing the element type on the one - supplied at runtime, and then store the element into the - given . - - This method is useful when reading elements into a polymorphic collection. - Base type of element to store. - Element that contains the collection being stored into. - Xml Reader containing state to deserialize from. - Runtime type of element to create. - Collection to store the created element into. - The created element. - - - - Class that tracks the current input state of the parser. - - - - - A simple implementing of the rules for a Parsing Expression Grammar - parsing algorithm. This supplies basic methods to do the primitives - of the PEG, and combinators to create larger rules. - - - - - The PEG "dot" operator that matches and consumes one character. - - Input to the parser. - The parse result. - - - - Parse function generator that returns a method to match a single, - specific character. - - Character to match. - The generated parsing function. - - - - Parse function generator that checks if the current character matches - the predicate supplied. - - Predicate used to determine if the character is in - the given range. - The generated parsing function. - - - - The "*" operator - match zero or more of the inner parse expressions. - - Parse method to repeat matching. - The generated parsing function. - - - - Parsing combinator that matches all of the given expressions in - order, or matches none of them. - - Expressions that form the sequence to match. - The combined sequence. - - - - Parsing combinator that implements the PEG prioritized choice operator. Basically, - try each of the expressions in order, and match if any of them match, stopping on the - first match. - - Expressions that form the set of alternatives. - The combined parsing method. - - - - Parsing combinator implementing the "not" predicate. This wraps - the given parsing method with a check - to see if it matched. If it matched, then the Not fails, and vice - versa. The result consumes no input. - - The parse method to wrap. - The generated parsing function. - - - - Parsing expression that matches End of input. - - Parser input. - Parse result - - - - Combinator that executes an action if the given expression matched. - - Parsing expression to match. - Action to execute if - matched. Input is the matched text from . - The result of . - - - - Combinator that executes an action if the given expression matched. - - parsing expression to match. - Method to execute if a match happens. This method returns - the that will be returned from the combined expression. - The result of if expression matched, else - whatever returned. - - - - Object containing the result of attempting to match a PEG rule. - This object is the return type for all parsing methods. - - - - - Did the rule match? - - - - - The characters that were matched (if any) - - - - - Any extra information provided by the parsing expression - (only set if the parse matched). The nature - of the data varies depending on the parsing expression. - - - - - Helper methods to make it easier to pull the data - out of the result of a sequence expression. - - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - 2 - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - Adds an item to the . - - The object to add to the . - The is read-only. - - - - - Removes all items from the . - - The is read-only. - - - - - Determines whether the contains a specific value. - - - true if is found in the ; otherwise, false. - - The object to locate in the . - - - - - Copies the elements of the sequence to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from this sequence. The must have zero-based indexing. - The zero-based index in at which copying begins. - is null. - is less than 0. - is multidimensional. - -or- - is equal to or greater than the length of . - -or- - The number of elements in the source is greater than the available space from to the end of the destination . - - - - - Removes the first occurrence of a specific object from the . - - - true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . - - The object to remove from the . - The is read-only. - - - - - Determines the index of a specific item in the . - - - The index of if found in the list; otherwise, -1. - - The object to locate in the . - - - - - Inserts an item to the at the specified index. - - The zero-based index at which should be inserted. - The object to insert into the . - is not a valid index in the . - The is read-only. - - - - - Removes the item at the specified index. - - The zero-based index of the item to remove. - is not a valid index in the . - The is read-only. - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - - Gets a value indicating whether the is read-only. - - - true if the is read-only; otherwise, false. - - - - - Gets or sets the element at the specified index. - - - The element at the specified index. - - The zero-based index of the element to get or set. - is not a valid index in the . - The property is set and the is read-only. - - - - - Class containing information about a type name. - - - - - The base name of the class - - - - - Namespace if any - - - - - Assembly name, if any - - - - - Helper methods on . - - - - - A helper method to make it more foolproof to write elements. This takes care of writing the - start and end elment tags, and takes a nested closure with the code to write the content of - the tag. That way the caller doesn't need to worry about the details of getting the start - and end tags correct. - - - We don't support XML Namespaces here because .NET configuration doesn't use them so - we don't need it for this current implementation. - - XmlWriter to write to. - Name of element. - Nested lambda which, when executed, will create the content for the - element. - (for method chaining if desired). - - - - A helper method to make it easier to output attributes. If the is - null or an empty string, output nothing, else output the given XML attribute. - - Writer to output to. - Attribute name to write. - Value for the attribute. - (for method chaining if desired). - - - - A base class for those elements that can be used - to configure a unity container. - - - - - Create a new instance of . - - - - - Apply this element's configuration to the given . - - Container to configure. - - - - Return a unique key that can be used to manage this element in a collection. - - - - - A couple of useful extension methods on IDictionary - - - - - Get the value from a dictionary, or null if there is no value. - - Key type of dictionary. - Value type of dictionary. - Dictionary to search. - Key to look up. - The value at the key or null if not in the dictionary. - - - - A helper class used to map element tag names to a handler method - used to interpret that element. - - - - - - Add method to enable dictionary initializer syntax - - - - - - - Process an unknown element according to the map entries. - - Parent element that hit this unknown element. - Name of the unknown element. - XmlReader positioned at start of element. - true if processed, false if not. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - 2 - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - A helper class used to map element tag names to a handler method - used to interpret that element. - - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - 2 - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - A helper class that assists in deserializing parameter and property - elements. These elements both have a single "value" child element that - specify the value to inject for the property or parameter. - - - - - Create a new that wraps reading - values and storing them in the given . - - Element that contains the value elements. - - - - Gets a , or if none is present, - returns a default . - - The . - The given , unless - is null, in which case returns - a . - - - - Helper method used during deserialization to handle - attributes for the dependency and value tags. - - attribute name. - attribute value. - true - - - - Helper method used during deserialization to handle the default - value element tags. - - The element name. - XML data to read. - True if deserialization succeeded, false if it failed. - - - - Call this method at the end of deserialization of your element to - set your value element. - - - - - Serialize a object out to XML. - This method is aware of and implements the shorthand attributes - for dependency and value elements. - - Writer to output XML to. - The to serialize. - If true, always output an element. If false, then - dependency and value elements will be serialized as attributes in the parent tag. - - - - Configuration element representing a constructor configuration. - - - - - Base class for configuration elements that generate - object to configure a container. - - - - - Return the set of s that are needed - to configure the container according to this configuration element. - - Container that is being configured. - Type that is being registered. - Type that is being mapped to. - Name this registration is under. - One or more objects that should be - applied to the container registration. - - - - Get the standard tag name for an - taking into account currently loaded section extensions. - - Element to get the name for. - The element name. - If the member element is not currently registered - with the section. - - - - Each element must have a unique key, which is generated by the subclasses. - - - - - Element name to use to serialize this into XML. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Return the set of s that are needed - to configure the container according to this configuration element. - - Container that is being configured. - Type that is being registered. - Type that is being mapped to. - Name this registration is under. - One or more objects that should be - applied to the container registration. - - - - The parameters of the constructor to call. - - - - - Each element must have a unique key, which is generated by the subclasses. - - - - - Element name to use to serialize this into XML. - - - - - A collection of s as - loaded from configuration. - - - - - When overridden in a derived class, creates a new . - - - A new . - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - A configuration element class defining the set of registrations to be - put into a container. - - - - - Original configuration API kept for backwards compatibility. - - Container to configure - - - - Apply the configuration information in this element to the - given . - - Container to configure. - - - - Gets a value indicating whether an unknown element is encountered during deserialization. - - - true when an unknown element is encountered while deserializing; otherwise, false. - - The name of the unknown subelement. - The being used for deserialization. - The element identified by is locked. - - or - - One or more of the element's attributes is locked. - - or - - is unrecognized, or the element has an unrecognized attribute. - - or - - The element has a Boolean attribute with an invalid value. - - or - - An attempt was made to deserialize a property more than once. - - or - - An attempt was made to deserialize a property that is not a valid member of the element. - - or - - The element cannot contain a CDATA or text element. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Name for this container configuration as given in the config file. - - - - - The type registrations in this container. - - - - - Any instances to register in the container. - - - - - Any extensions to add to the container. - - - - - Set of any extra configuration elements that were added by a - section extension. - - - This is not marked as a configuration property because we don't want - the actual property to show up as a nested element in the configuration. - - - - Configuration element representing an extension to add to a container. - - - - - Add the extension specified in this element to the container. - - Container to configure. - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Type of the extension to add. - - - - - A collection of s. - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - A derived class that describes - a parameter that should be resolved through the container. - - - - - Create a new instance of . - - - - - Create a new instance of with - properties initialized from the contents of - . - - Dictionary of name/value pairs to - initialize this object with. - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Write the contents of this element to the given . This - method always outputs an explicit <dependency> tag, instead of providing - attributes to the parent method. - - Writer to send XML content to. - - - - Generate an object - that will be used to configure the container for a type registration. - - Container that is being configured. Supplied in order - to let custom implementations retrieve services; do not configure the container - directly in this method. - Type of the - - - - - Name to use to when resolving. If empty, resolves the default. - - - - - Name of type this dependency should resolve to. This is optional; - without it the container will resolve the type of whatever - property or parameter this element is contained in. - - - - - Base class used to derive new elements that can occur - directly within a container element. - - - - - Initialize a new instance of . - - - - - When overridden in a derived class, this method will make configuration - calls into the given according to its contents. - - The container to configure. - - - - Unique key generated for use in the collection class. - - - - - A collection of s. - - - - - When overridden in a derived class, creates a new . - - - A new . - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - This class manages the set of extension elements - added by section elements. - - - - - Clear the current set of extension elements. - - - - - Register a new ContainerExtensionConfigurationElement with he section so it - can be read. - - prefix if any. - tag name. - Type of element to register. - - - - Register a new with the section - so it can be read. - - prefix if any. - Tag name. - Type of element to register. - - - - Register a new with the section - so it can be read. - - prefix if any. - Tag name. - Type of element to register. - - - - Retrieve the registered for the given - tag. - - Tag to look up. - Type of element, or null if not registered. - - - - Retrieve the ContainerExtensionConfigurationElement registered for the given - tag. - - Tag to look up. - Type of element, or null if not registered. - - - - Retrieve the ContainerExtensionConfigurationElement registered for the given - tag. - - Tag to look up. - Type of element, or null if not registered. - - - - Retrieve the correct tag to use when serializing the given - to XML. - - Element to be serialized. - The tag for that element type. - if the element is of a type that - is not registered with the section already. - - - - A polymorphic collection of s. - - - - - Causes the configuration system to throw an exception. - - - true if the unrecognized element was deserialized successfully; otherwise, false. The default is false. - - The name of the unrecognized element. - An input stream that reads XML from the configuration file. - The element specified in is the <clear> element. - starts with the reserved prefix "config" or "lock". - - - - - When overridden in a derived class, creates a new . - - - A new . - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - Indexer that lets you access elements by their key. - - Key to retrieve element with. - The element. - - - - A configuration element that describes an instance to add to the container. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Add the instance defined by this element to the given container. - - Container to configure. - - - - Name to register instance under - - - - - Value for this instance - - - - - Type of the instance. If not given, defaults to string - - - - - Type name for the type converter to use to create the instance. If not - given, defaults to the default type converter for this instance type. - - - - - Key used to keep these instances unique in the config collection. - - - - - A collection of s. - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - An element that has a child Value property. - - - - - String that will be deserialized to provide the value. - - - - - A string describing where the value this element contains - is being used. For example, if setting a property Prop1, - this should return "property Prop1" (in english). - - - - - A configuration element that represents lifetime managers. - - - - - Create the described by - this element. - - A instance. - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Type of the lifetime manager. - - - - - Extra initialization information used by the type converter for this lifetime manager. - - - - - Type of to use to create the - lifetime manager. - - - - - A configuration element representing a method to call. - - - - - Construct a new instance of . - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Return the set of s that are needed - to configure the container according to this configuration element. - - Container that is being configured. - Type that is being registered. - Type that is being mapped to. - Name this registration is under. - One or more objects that should be - applied to the container registration. - - - - Name of the method to call. - - - - - Parameters to the method call. - - - - - Each element must have a unique key, which is generated by the subclasses. - - - - - Element name to use to serialize this into XML. - - - - - A configuration element representing the namespace - tags in the config file. - - - - - A collection of s in configuration. - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - A configuration element that specifies that a value - is optional. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Generate an object - that will be used to configure the container for a type registration. - - Container that is being configured. Supplied in order - to let custom implementations retrieve services; do not configure the container - directly in this method. - Type of the - - - - - Name used to resolve the dependency, leave out or blank to resolve default. - - - - - Type of dependency to resolve. If left out, resolved the type of - the containing parameter or property. - - - - - Configuration element representing a parameter passed to a constructor - or a method. - - - - - Construct a new instance of . - - - - - Returns the required needed - to configure the container so that the correct value is injected. - - Container being configured. - Type of the parameter. - The value to use to configure the container. - - - - Does the information in this match - up with the given ? - - Information about the parameter. - True if this is a match, false if not. - - - - Reads XML from the configuration file. - - The that reads from the configuration file. - true to serialize only the collection key properties; otherwise, false. - The element to read is locked. - - or - - An attribute of the current node is not recognized. - - or - - The lock status of the current node cannot be determined. - - - - - Gets a value indicating whether an unknown attribute is encountered during deserialization. - - - true when an unknown attribute is encountered while deserializing; otherwise, false. - - The name of the unrecognized attribute. - The value of the unrecognized attribute. - - - - - Gets a value indicating whether an unknown element is encountered during deserialization. - - - true when an unknown element is encountered while deserializing; otherwise, false. - - The name of the unknown subelement. - The being used for deserialization. - The element identified by is locked. - - or - - One or more of the element's attributes is locked. - - or - - is unrecognized, or the element has an unrecognized attribute. - - or - - The element has a Boolean attribute with an invalid value. - - or - - An attempt was made to deserialize a property more than once. - - or - - An attempt was made to deserialize a property that is not a valid member of the element. - - or - - The element cannot contain a CDATA or text element. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Name of this parameter. - - - - - Type of this parameter. - - This is only needed in order to disambiguate method overloads. Normally - the parameter name is sufficient. - - - - Element that describes the value for this property. - - - This is NOT marked as a ConfigurationProperty because this - child element is polymorphic, and the element tag determines - the type. Standard configuration properties only let you do - this if it's a collection, but we only want one value. Thus - the separate property. The element is deserialized in - . - - - - A string describing where the value this element contains - is being used. For example, if setting a property Prop1, - this should return "property Prop1" (in english). - - - - - A collection of objects. - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - A collection of objects. - - - - - Causes the configuration system to throw an exception. - - - true if the unrecognized element was deserialized successfully; otherwise, false. The default is false. - - The name of the unrecognized element. - An input stream that reads XML from the configuration file. - The element specified in is the <clear> element. - starts with the reserved prefix "config" or "lock". - - - - - When overridden in a derived class, creates a new . - - - A new . - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - String that will be deserialized to provide the value. - - - - - A string describing where the value this element contains - is being used. For example, if setting a property Prop1, - this should return "property Prop1" (in english). - - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to An abstract ContainerConfiguringElement cannot be created. Please specify a concrete type.. - - - - - Looks up a localized string similar to An abstract ExtensionConfigurationElement object cannot be created. Please specify a concrete type.. - - - - - Looks up a localized string similar to An abstract InjectionMemberElement object cannot be created. Please specify a concrete type.. - - - - - Looks up a localized string similar to An abstract ParameterValueElement object cannot be created. Please specify a concrete type.. - - - - - Looks up a localized string similar to The type name or alias {0} could not be resolved. Please check your configuration file and verify this type name.. - - - - - Looks up a localized string similar to The dependency element for generic parameter {0} must not have an explicit type name but has '{1}'.. - - - - - Looks up a localized string similar to The optional dependency element for generic parameter {0} must not have an explicit type name but has '{1}'.. - - - - - Looks up a localized string similar to {0} {1}. - - - - - Looks up a localized string similar to The injection configuration for {0} has multiple values.. - - - - - Looks up a localized string similar to The configuration element type {0} has not been registered with the section.. - - - - - Looks up a localized string similar to The injection configuration for {0} is specified through both attributes and child value elements.. - - - - - Looks up a localized string similar to Could not load section extension type {0}.. - - - - - Looks up a localized string similar to The extension type {0} does not derive from SectionExtension.. - - - - - Looks up a localized string similar to The extension element type {0} that is being added does not derive from ContainerConfiguringElement, InjectionMemberElement, or ParameterValueElement. An extension element must derive from one of these types.. - - - - - Looks up a localized string similar to No valid attributes were found to construct the value for the {0}. Please check the configuration file.. - - - - - Looks up a localized string similar to Configuration is incorrect, the type {0} does not have a constructor that takes parameters named {1}.. - - - - - Looks up a localized string similar to Configuration is incorrect, the type {0} does not have a method named {1} that takes parameters named {2}.. - - - - - Looks up a localized string similar to The container named "{0}" is not defined in this configuration section.. - - - - - Looks up a localized string similar to The type {0} does not have a property named {1}.. - - - - - Looks up a localized string similar to The configuration is set to inject an array, but the type {0} is not an array type.. - - - - - Looks up a localized string similar to parameter. - - - - - Looks up a localized string similar to property. - - - - - Looks up a localized string similar to The attribute {0} must be present and non-empty.. - - - - - Looks up a localized string similar to The value element for {1} was specified for the generic array type {0}. Value elements are not allowed for generic array types.. - - - - - Looks up a localized string similar to The value element for {1} was specified for the generic parameter type {0}. Value elements are not allowed for generic parameter types.. - - - - - Looks up a localized string similar to The value element for {1} was specified for the generic type {0}. Value elements are not allowed for generic types.. - - - - - A class representing a property configuration element. - - - - - Construct a new instance of - - - - - Reads XML from the configuration file. - - The that reads from the configuration file. - true to serialize only the collection key properties; otherwise, false. - The element to read is locked. - - or - - An attribute of the current node is not recognized. - - or - - The lock status of the current node cannot be determined. - - - - - Gets a value indicating whether an unknown attribute is encountered during deserialization. - - - true when an unknown attribute is encountered while deserializing; otherwise, false. - - The name of the unrecognized attribute. - The value of the unrecognized attribute. - - - - - Gets a value indicating whether an unknown element is encountered during deserialization. - - - true when an unknown element is encountered while deserializing; otherwise, false. - - The name of the unknown subelement. - The being used for deserialization. - The element identified by is locked. - - or - - One or more of the element's attributes is locked. - - or - - is unrecognized, or the element has an unrecognized attribute. - - or - - The element has a Boolean attribute with an invalid value. - - or - - An attempt was made to deserialize a property more than once. - - or - - An attempt was made to deserialize a property that is not a valid member of the element. - - or - - The element cannot contain a CDATA or text element. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Return the set of s that are needed - to configure the container according to this configuration element. - - Container that is being configured. - Type that is being registered. - Type that is being mapped to. - Name this registration is under. - One or more objects that should be - applied to the container registration. - - - - Name of the property that will be set. - - - - - Each element must have a unique key, which is generated by the subclasses. - - - - - String that will be deserialized to provide the value. - - - - - A string describing where the value this element contains - is being used. For example, if setting a property Prop1, - this should return "property Prop1" (in english). - - - - - Element name to use to serialize this into XML. - - - - - A configuration element representing a single container type registration. - - - - - Apply the registrations from this element to the given container. - - Container to configure. - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - The type that is registered. - - - - - Name registered under. - - - - - Type that is mapped to. - - - - - Lifetime manager to register for this registration. - - - - - Any injection members (constructor, properties, etc.) that are specified for - this registration. - - - - - A collection of s. - - - - - Causes the configuration system to throw an exception. - - - true if the unrecognized element was deserialized successfully; otherwise, false. The default is false. - - The name of the unrecognized element. - An input stream that reads XML from the configuration file. - The element specified in is the <clear> element. - starts with the reserved prefix "config" or "lock". - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - Base class for Unity configuration section extensions. - Derived classes are used to add custom elments and aliases - into the configuration section being loaded. - - - - - Add the extensions to the section via the context. - - Context object that can be used to add elements and aliases. - - - - An object that gives the ability to add - elements and aliases to a configuration section. - - - - - Add a new alias to the configuration section. This is useful - for those extensions that add commonly used types to configuration - so users don't have to alias them repeatedly. - - The alias to use. - Type the alias maps to. - - - - Add a new alias to the configuration section. This is useful - for those extensions that add commonly used types to configuration - so users don't have to alias them repeatedly. - - Type the alias maps to. - The alias to use - - - - Add a new element to the configuration section schema. - - Tag name in the XML. - Type the tag maps to. - - - - Add a new element to the configuration section schema. - - Type the tag maps to. - Tag name in the XML. - - - - A configuration element used to specify which extensions to - add to the configuration schema. - - - - - Reads XML from the configuration file. - - The that reads from the configuration file. - true to serialize only the collection key properties; otherwise, false. - The element to read is locked. - - or - - An attribute of the current node is not recognized. - - or - - The lock status of the current node cannot be determined. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Type of the section extender object that will provide new elements to the schema. - - - - - Optional prefix that will be added to the element names added by this - section extender. If left out, no prefix will be added. - - - - - The extension object represented by this element. - - - - - A collection of s. - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - Type that manage access to a set of type aliases and implements - the logic for converting aliases to their actual types. - - - - - Set the set of aliases to use for resolution. - - Configuration section containing the various - type aliases, namespaces and assemblies. - - - - Resolves a type alias or type fullname to a concrete type. - - Type alias or type fullname - Type object or null if resolve fails. - Thrown if alias lookup fails. - - - - Resolves a type alias or type fullname to a concrete type. - - Alias or name to resolve. - if true and the alias does not - resolve, throw an , otherwise - return null on failure. - The type object or null if resolve fails and - is false. - - - - Resolve a type alias or type full name to a concrete type. - If is null or empty, return the - given instead. - - Type alias or full name to resolve. - Value to return if typeName is null or empty. - The concrete . - Thrown if alias lookup fails. - - - - Resolve a type alias or type full name to a concrete type. - If is null or empty, return the - given instead. - - Type alias or full name to resolve. - Value to return if typeName is null or empty. - if true and the alias does not - resolve, throw an , otherwise - return null on failure. - The concrete . - Thrown if alias lookup fails and - is true. - - - - A helper class that implements the actual logic for resolving a shorthand - type name (alias or raw type name) into an actual type object. - - - - - Construct a new that uses the given - sequence of alias, typename pairs to resolve types. - - Type aliases from the configuration file. - Assembly names to search. - Namespaces to search. - - - - Resolves a type alias or type fullname to a concrete type. - - Alias or name to resolve. - if true and the alias does not - resolve, throw an , otherwise - return null on failure. - The type object or null if resolve fails and - is false. - - - - Resolve a type alias or type full name to a concrete type. - If is null or empty, return the - given instead. - - Type alias or full name to resolve. - Value to return if typeName is null or empty. - if true and the alias does not - resolve, throw an , otherwise - return null on failure. - - If is null or an empty string, - then return . - Otherwise, return the resolved type object. If the resolution fails - and is false, then return null. - - - - - A configuration section describing configuration for an . - - - - - The name of the section where unity configuration is expected to be found. - - - - - XML Namespace string used for IntelliSense in this section. - - - - - Apply the configuration in the default container element to the given container. - - Container to configure. - The passed in . - - - - Apply the configuration in the default container element to the given container. - - Container to configure. - Name of the container element to use to configure the container. - The passed in . - - - - Reads XML from the configuration file. - - The object, which reads from the configuration file. - found no elements in the configuration file. - - - - - Gets a value indicating whether an unknown element is encountered during deserialization. - - - true when an unknown element is encountered while deserializing; otherwise, false. - - The name of the unknown subelement. - The being used for deserialization. - The element identified by is locked. - - or - - One or more of the element's attributes is locked. - - or - - is unrecognized, or the element has an unrecognized attribute. - - or - - The element has a Boolean attribute with an invalid value. - - or - - An attempt was made to deserialize a property more than once. - - or - - An attempt was made to deserialize a property that is not a valid member of the element. - - or - - The element cannot contain a CDATA or text element. - - - - - Creates an XML string containing an unmerged view of the object as a single section to write to a file. - - - An XML string containing an unmerged view of the object. - - The instance to use as the parent when performing the un-merge. - The name of the section to create. - The instance to use when writing to a string. - - - - - The current that is being deserialized - or being configured from. - - - - - Storage for XML namespace. The namespace isn't used or validated by config, but - it is useful for Visual Studio XML IntelliSense to kick in. - - - - - The set of containers defined in this configuration section. - - - - - The set of type aliases defined in this configuration file. - - - - - Any schema extensions that are added. - - - - - Any namespaces added to the type search list. - - - - - Any assemblies added to the type search list. - - - - - Add a new alias to the configuration section. This is useful - for those extensions that add commonly used types to configuration - so users don't have to alias them repeatedly. - - The alias to use. - Type the alias maps to. - - - - Add a new element to the configuration section schema. - - Tag name in the XML. - Type the tag maps to. - - - - Collection element for s. - - - - - Plug point to get objects out of the collection. - - Index in the collection to retrieve the item from. - Item at that index or null if not present. - - - - Plug point to get objects out of the collection. - - Key to look up the object by. - Item with that key or null if not present. - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - Retrieve a stored by name. - - Name to look up. - The stored container or null if not in the collection. - - - - Return the default container in the collection. The default is the one without a name. - - - - - Extensions to to simplify - loading configuration into a container. - - - - - Apply configuration from the given section and named container - into the given container. - - Unity container to configure. - Configuration section with config information. - Named container. - . - - - - Apply configuration from the default section (named "unity" pulled out of - ConfigurationManager) and the named container. - - Unity container to configure. - Named container element in configuration. - . - - - - Apply configuration from the default section and unnamed container element. - - Container to configure. - . - - - - Apply configuration from the default container in the given section. - - Unity container to configure. - Configuration section. - . - - - - Element that describes a constant value that will be - injected into the container. - - - - - Construct a new object. - - - - - Construct a new object, - initializing properties from the contents of - . - - Name/value pairs which - contain the values to initialize properties to. - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Write the contents of this element to the given . This - method always outputs an explicit <dependency> tag, instead of providing - attributes to the parent method. - - Writer to send XML content to. - - - - Generate an object - that will be used to configure the container for a type registration. - - Container that is being configured. Supplied in order - to let custom implementations retrieve services; do not configure the container - directly in this method. - Type of the parameter to get the value for. - The required object. - - - - Value for this element - - - - - - - - - + + + + Microsoft.Practices.Unity.Configuration + + + + + A configuration element storing information about a single type alias. + + + + + Base class for configuration elements with a default implementation of + public deserialization. + + + + + Load this element from the given . + + Contains the XML to initialize from. + + + + Write the contents of this element to the given . + + The caller of this method has already written the start element tag before + calling this method, so deriving classes only need to write the element content, not + the start or end tags. + Writer to send XML content to. + + + + Construct a new, uninitialized . + + + + + Construct a new that is initialized + to alias to the target . + + Alias to use. + Type that is aliased. + + + + Write the contents of this element to the given . + + The caller of this method has already written the start element tag before + calling this method, so deriving classes only need to write the element content, not + the start or end tags. + Writer to send XML content to. + + + + The alias used for this type. + + + + + The fully qualified name this alias refers to. + + + + + A collection of s. + + + + + Specialization of + that provides a canned implementation of . + + Type of configuration element in the collection. + + + + A base helper class for implementing configuration collections. + + Type of configuration element contained in + the collection. + + + + Plug point to get objects out of the collection. + + Index in the collection to retrieve the item from. + Item at that index or null if not present. + + + + Plug point to get objects out of the collection. + + Key to look up the object by. + Item with that key or null if not present. + + + + Load this element from the given . + + Contains the XML to initialize from. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + 1 + + + + Add a new element to the collection. + + Element to add. + + + + Remove an element from the collection at the given index. + + The index of the item to remove. + + + + Remove all the items in the collection. + + + + + Write out the contents of this collection to the given + without a containing element + corresponding directly to this container element. Each + child element will have a tag name given by + . + + to output XML to. + Name of tag to generate. + + + + Indexer to retrieve items in the collection by index. + + Index of the item to get or set. + The item at the given index. + + + + When overridden in a derived class, creates a new . + + + A new . + + + + + Causes the configuration system to throw an exception. + + + true if the unrecognized element was deserialized successfully; otherwise, false. The default is false. + + The name of the unrecognized element. + An input stream that reads XML from the configuration file. + The element specified in is the <clear> element. + starts with the reserved prefix "config" or "lock". + + + + Gets the element key for a specified configuration element when overridden in a derived class. + + + An that acts as the key for the specified . + + The to return the key for. + + + + Indexer that allows you to get or set an alias by the alias name. + + Alias of element to get or set. + The type name at that alias. + + + + A configuration element used to configure injection of + a specific set of values into an array. + + + + + Base class for configuration elements that describe a value that will + be injected. + + + + + Initialize a new instance of . + + + + + Generate an object + that will be used to configure the container for a type registration. + + Container that is being configured. Supplied in order + to let custom implementations retrieve services; do not configure the container + directly in this method. + Type of the + + + + + Validate that an expected attribute is present in the given + dictionary and that it has a non-empty value. + + Dictionary of name/value pairs to check. + attribute name to check. + + + + Return a unique string that can be used to identify this object. Used + by the configuration collection support. + + + + + Write the contents of this element to the given . + + The caller of this method has already written the start element tag before + calling this method, so deriving classes only need to write the element content, not + the start or end tags. + Writer to send XML content to. + + + + Generate an object + that will be used to configure the container for a type registration. + + Container that is being configured. Supplied in order + to let custom implementations retrieve services; do not configure the container + directly in this method. + Type of the + + + + + Type of array to inject. This is actually the type of the array elements, + not the array type. Optional, if not specified we take the type from + our containing element. + + + + + Values used to calculate the contents of the array. + + + + + A configuration element representing the namespace + tags in the config file. + + + + + An element with a single "name" property, used for + the namespaces and assemblies. + + + + + Write the contents of this element to the given . + + The caller of this method has already written the start element tag before + calling this method, so deriving classes only need to write the element content, not + the start or end tags. + Writer to send XML content to. + + + + Name attribute for this element. + + + + + A collection of s in configuration. + + + + + Gets the element key for a specified configuration element when overridden in a derived class. + + + An that acts as the key for the specified . + + The to return the key for. + + + + Helpful extension methods when implementing configuration sections + that deserialize "unwrapped" elements - elements that should be + deserialized into a container but can be present outside + that container in the actual config file. + + + + + Deserialize an element of the given type, store it in + the collection object, and + + Type of element to create and deserialize. + Parent element containing element to deserialize. + Xml reader containing state to deserialize from. + Collection to store the created element into. + The created element. + + + + Deserialize an element, basing the element type on the one + supplied at runtime, and then store the element into the + given . + + This method is useful when reading elements into a polymorphic collection. + Base type of element to store. + Element that contains the collection being stored into. + Xml Reader containing state to deserialize from. + Runtime type of element to create. + Collection to store the created element into. + The created element. + + + + Class that tracks the current input state of the parser. + + + + + A simple implementing of the rules for a Parsing Expression Grammar + parsing algorithm. This supplies basic methods to do the primitives + of the PEG, and combinators to create larger rules. + + + + + The PEG "dot" operator that matches and consumes one character. + + Input to the parser. + The parse result. + + + + Parse function generator that returns a method to match a single, + specific character. + + Character to match. + The generated parsing function. + + + + Parse function generator that checks if the current character matches + the predicate supplied. + + Predicate used to determine if the character is in + the given range. + The generated parsing function. + + + + The "*" operator - match zero or more of the inner parse expressions. + + Parse method to repeat matching. + The generated parsing function. + + + + Parsing combinator that matches all of the given expressions in + order, or matches none of them. + + Expressions that form the sequence to match. + The combined sequence. + + + + Parsing combinator that implements the PEG prioritized choice operator. Basically, + try each of the expressions in order, and match if any of them match, stopping on the + first match. + + Expressions that form the set of alternatives. + The combined parsing method. + + + + Parsing combinator implementing the "not" predicate. This wraps + the given parsing method with a check + to see if it matched. If it matched, then the Not fails, and vice + versa. The result consumes no input. + + The parse method to wrap. + The generated parsing function. + + + + Parsing expression that matches End of input. + + Parser input. + Parse result + + + + Combinator that executes an action if the given expression matched. + + Parsing expression to match. + Action to execute if + matched. Input is the matched text from . + The result of . + + + + Combinator that executes an action if the given expression matched. + + parsing expression to match. + Method to execute if a match happens. This method returns + the that will be returned from the combined expression. + The result of if expression matched, else + whatever returned. + + + + Object containing the result of attempting to match a PEG rule. + This object is the return type for all parsing methods. + + + + + Did the rule match? + + + + + The characters that were matched (if any) + + + + + Any extra information provided by the parsing expression + (only set if the parse matched). The nature + of the data varies depending on the parsing expression. + + + + + Helper methods to make it easier to pull the data + out of the result of a sequence expression. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + 2 + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + 1 + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + + true if is found in the ; otherwise, false. + + The object to locate in the . + + + + Copies the elements of the sequence to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from this sequence. The must have zero-based indexing. + The zero-based index in at which copying begins. + is null. + is less than 0. + is multidimensional. + -or- + is equal to or greater than the length of . + -or- + The number of elements in the source is greater than the available space from to the end of the destination . + + + + + Removes the first occurrence of a specific object from the . + + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The object to remove from the . + The is read-only. + + + + Determines the index of a specific item in the . + + + The index of if found in the list; otherwise, -1. + + The object to locate in the . + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + is not a valid index in the . + The is read-only. + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + + Gets a value indicating whether the is read-only. + + + true if the is read-only; otherwise, false. + + + + + Gets or sets the element at the specified index. + + + The element at the specified index. + + The zero-based index of the element to get or set. + is not a valid index in the . + The property is set and the is read-only. + + + + Class containing information about a type name. + + + + + The base name of the class + + + + + Namespace if any + + + + + Assembly name, if any + + + + + Helper methods on . + + + + + A helper method to make it more foolproof to write elements. This takes care of writing the + start and end element tags, and takes a nested closure with the code to write the content of + the tag. That way the caller doesn't need to worry about the details of getting the start + and end tags correct. + + + We don't support XML Namespaces here because .NET configuration doesn't use them so + we don't need it for this current implementation. + + XmlWriter to write to. + Name of element. + Nested lambda which, when executed, will create the content for the + element. + (for method chaining if desired). + + + + A helper method to make it easier to output attributes. If the is + null or an empty string, output nothing, else output the given XML attribute. + + Writer to output to. + Attribute name to write. + Value for the attribute. + (for method chaining if desired). + + + + A base class for those elements that can be used + to configure a unity container. + + + + + Create a new instance of . + + + + + Apply this element's configuration to the given . + + Container to configure. + + + + Return a unique key that can be used to manage this element in a collection. + + + + + A couple of useful extension methods on IDictionary + + + + + Get the value from a dictionary, or null if there is no value. + + Key type of dictionary. + Value type of dictionary. + Dictionary to search. + Key to look up. + The value at the key or null if not in the dictionary. + + + + A helper class used to map element tag names to a handler method + used to interpret that element. + + + + + + Add method to enable dictionary initializer syntax + + + + + + + Process an unknown element according to the map entries. + + Parent element that hit this unknown element. + Name of the unknown element. + XmlReader positioned at start of element. + true if processed, false if not. + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + 2 + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + 1 + + + + A helper class used to map element tag names to a handler method + used to interpret that element. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + 2 + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + 1 + + + + A helper class that assists in deserializing parameter and property + elements. These elements both have a single "value" child element that + specify the value to inject for the property or parameter. + + + + + Create a new that wraps reading + values and storing them in the given . + + Element that contains the value elements. + + + + Gets a , or if none is present, + returns a default . + + The . + The given , unless + is null, in which case returns + a . + + + + Helper method used during deserialization to handle + attributes for the dependency and value tags. + + attribute name. + attribute value. + true + + + + Helper method used during deserialization to handle the default + value element tags. + + The element name. + XML data to read. + True if deserialization succeeded, false if it failed. + + + + Call this method at the end of deserialization of your element to + set your value element. + + + + + Serialize a object out to XML. + This method is aware of and implements the shorthand attributes + for dependency and value elements. + + Writer to output XML to. + The to serialize. + If true, always output an element. If false, then + dependency and value elements will be serialized as attributes in the parent tag. + + + + Configuration element representing a constructor configuration. + + + + + Base class for configuration elements that generate + object to configure a container. + + + + + Return the set of s that are needed + to configure the container according to this configuration element. + + Container that is being configured. + Type that is being registered. + Type that is being mapped to. + Name this registration is under. + One or more objects that should be + applied to the container registration. + + + + Get the standard tag name for an + taking into account currently loaded section extensions. + + Element to get the name for. + The element name. + If the member element is not currently registered + with the section. + + + + Each element must have a unique key, which is generated by the subclasses. + + + + + Element name to use to serialize this into XML. + + + + + Write the contents of this element to the given . + + The caller of this method has already written the start element tag before + calling this method, so deriving classes only need to write the element content, not + the start or end tags. + Writer to send XML content to. + + + + Return the set of s that are needed + to configure the container according to this configuration element. + + Container that is being configured. + Type that is being registered. + Type that is being mapped to. + Name this registration is under. + One or more objects that should be + applied to the container registration. + + + + The parameters of the constructor to call. + + + + + Each element must have a unique key, which is generated by the subclasses. + + + + + Element name to use to serialize this into XML. + + + + + A collection of s as + loaded from configuration. + + + + + When overridden in a derived class, creates a new . + + + A new . + + + + + Gets the element key for a specified configuration element when overridden in a derived class. + + + An that acts as the key for the specified . + + The to return the key for. + + + + A configuration element class defining the set of registrations to be + put into a container. + + + + + Original configuration API kept for backwards compatibility. + + Container to configure + + + + Apply the configuration information in this element to the + given . + + Container to configure. + + + + Gets a value indicating whether an unknown element is encountered during deserialization. + + + true when an unknown element is encountered while deserializing; otherwise, false. + + The name of the unknown subelement. + The being used for deserialization. + The element identified by is locked. + - or - + One or more of the element's attributes is locked. + - or - + is unrecognized, or the element has an unrecognized attribute. + - or - + The element has a Boolean attribute with an invalid value. + - or - + An attempt was made to deserialize a property more than once. + - or - + An attempt was made to deserialize a property that is not a valid member of the element. + - or - + The element cannot contain a CDATA or text element. + + + + + Write the contents of this element to the given . + + The caller of this method has already written the start element tag before + calling this method, so deriving classes only need to write the element content, not + the start or end tags. + Writer to send XML content to. + + + + Name for this container configuration as given in the config file. + + + + + The type registrations in this container. + + + + + Any instances to register in the container. + + + + + Any extensions to add to the container. + + + + + Set of any extra configuration elements that were added by a + section extension. + + + This is not marked as a configuration property because we don't want + the actual property to show up as a nested element in the configuration. + + + + Configuration element representing an extension to add to a container. + + + + + Add the extension specified in this element to the container. + + Container to configure. + + + + Write the contents of this element to the given . + + The caller of this method has already written the start element tag before + calling this method, so deriving classes only need to write the element content, not + the start or end tags. + Writer to send XML content to. + + + + Type of the extension to add. + + + + + A collection of s. + + + + + Gets the element key for a specified configuration element when overridden in a derived class. + + + An that acts as the key for the specified . + + The to return the key for. + + + + A derived class that describes + a parameter that should be resolved through the container. + + + + + Create a new instance of . + + + + + Create a new instance of with + properties initialized from the contents of + . + + Dictionary of name/value pairs to + initialize this object with. + + + + Write the contents of this element to the given . + + The caller of this method has already written the start element tag before + calling this method, so deriving classes only need to write the element content, not + the start or end tags. + Writer to send XML content to. + + + + Write the contents of this element to the given . This + method always outputs an explicit <dependency> tag, instead of providing + attributes to the parent method. + + Writer to send XML content to. + + + + Generate an object + that will be used to configure the container for a type registration. + + Container that is being configured. Supplied in order + to let custom implementations retrieve services; do not configure the container + directly in this method. + Type of the + + + + + Name to use to when resolving. If empty, resolves the default. + + + + + Name of type this dependency should resolve to. This is optional; + without it the container will resolve the type of whatever + property or parameter this element is contained in. + + + + + Base class used to derive new elements that can occur + directly within a container element. + + + + + Initialize a new instance of . + + + + + When overridden in a derived class, this method will make configuration + calls into the given according to its contents. + + The container to configure. + + + + Unique key generated for use in the collection class. + + + + + A collection of s. + + + + + When overridden in a derived class, creates a new . + + + A new . + + + + + Gets the element key for a specified configuration element when overridden in a derived class. + + + An that acts as the key for the specified . + + The to return the key for. + + + + This class manages the set of extension elements + added by section elements. + + + + + Clear the current set of extension elements. + + + + + Register a new ContainerExtensionConfigurationElement with he section so it + can be read. + + prefix if any. + tag name. + Type of element to register. + + + + Register a new with the section + so it can be read. + + prefix if any. + Tag name. + Type of element to register. + + + + Register a new with the section + so it can be read. + + prefix if any. + Tag name. + Type of element to register. + + + + Retrieve the registered for the given + tag. + + Tag to look up. + Type of element, or null if not registered. + + + + Retrieve the ContainerExtensionConfigurationElement registered for the given + tag. + + Tag to look up. + Type of element, or null if not registered. + + + + Retrieve the ContainerExtensionConfigurationElement registered for the given + tag. + + Tag to look up. + Type of element, or null if not registered. + + + + Retrieve the correct tag to use when serializing the given + to XML. + + Element to be serialized. + The tag for that element type. + if the element is of a type that + is not registered with the section already. + + + + A polymorphic collection of s. + + + + + Causes the configuration system to throw an exception. + + + true if the unrecognized element was deserialized successfully; otherwise, false. The default is false. + + The name of the unrecognized element. + An input stream that reads XML from the configuration file. + The element specified in is the <clear> element. + starts with the reserved prefix "config" or "lock". + + + + + When overridden in a derived class, creates a new . + + + A new . + + + + + Gets the element key for a specified configuration element when overridden in a derived class. + + + An that acts as the key for the specified . + + The to return the key for. + + + + Indexer that lets you access elements by their key. + + Key to retrieve element with. + The element. + + + + A configuration element that describes an instance to add to the container. + + + + + Write the contents of this element to the given . + + The caller of this method has already written the start element tag before + calling this method, so deriving classes only need to write the element content, not + the start or end tags. + Writer to send XML content to. + + + + Add the instance defined by this element to the given container. + + Container to configure. + + + + Name to register instance under + + + + + Value for this instance + + + + + Type of the instance. If not given, defaults to string + + + + + Type name for the type converter to use to create the instance. If not + given, defaults to the default type converter for this instance type. + + + + + Key used to keep these instances unique in the config collection. + + + + + A collection of s. + + + + + Gets the element key for a specified configuration element when overridden in a derived class. + + + An that acts as the key for the specified . + + The to return the key for. + + + + An element that has a child Value property. + + + + + String that will be deserialized to provide the value. + + + + + A string describing where the value this element contains + is being used. For example, if setting a property Prop1, + this should return "property Prop1" (in english). + + + + + A configuration element that represents lifetime managers. + + + + + Create the described by + this element. + + A instance. + + + + Write the contents of this element to the given . + + The caller of this method has already written the start element tag before + calling this method, so deriving classes only need to write the element content, not + the start or end tags. + Writer to send XML content to. + + + + Type of the lifetime manager. + + + + + Extra initialization information used by the type converter for this lifetime manager. + + + + + Type of to use to create the + lifetime manager. + + + + + A configuration element representing a method to call. + + + + + Construct a new instance of . + + + + + Write the contents of this element to the given . + + The caller of this method has already written the start element tag before + calling this method, so deriving classes only need to write the element content, not + the start or end tags. + Writer to send XML content to. + + + + Return the set of s that are needed + to configure the container according to this configuration element. + + Container that is being configured. + Type that is being registered. + Type that is being mapped to. + Name this registration is under. + One or more objects that should be + applied to the container registration. + + + + Name of the method to call. + + + + + Parameters to the method call. + + + + + Each element must have a unique key, which is generated by the subclasses. + + + + + Element name to use to serialize this into XML. + + + + + A configuration element representing the namespace + tags in the config file. + + + + + A collection of s in configuration. + + + + + Gets the element key for a specified configuration element when overridden in a derived class. + + + An that acts as the key for the specified . + + The to return the key for + + + + A configuration element that specifies that a value + is optional. + + + + + Write the contents of this element to the given . + + The caller of this method has already written the start element tag before + calling this method, so deriving classes only need to write the element content, not + the start or end tags. + Writer to send XML content to. + + + + Generate an object + that will be used to configure the container for a type registration. + + Container that is being configured. Supplied in order + to let custom implementations retrieve services; do not configure the container + directly in this method. + Type of the + + + + + Name used to resolve the dependency, leave out or blank to resolve default. + + + + + Type of dependency to resolve. If left out, resolved the type of + the containing parameter or property. + + + + + Configuration element representing a parameter passed to a constructor + or a method. + + + + + Construct a new instance of . + + + + + Returns the required needed + to configure the container so that the correct value is injected. + + Container being configured. + Type of the parameter. + The value to use to configure the container. + + + + Does the information in this match + up with the given ? + + Information about the parameter. + True if this is a match, false if not. + + + + Reads XML from the configuration file. + + The that reads from the configuration file. + true to serialize only the collection key properties; otherwise, false. + The element to read is locked. + - or - + An attribute of the current node is not recognized. + - or - + The lock status of the current node cannot be determined. + + + + + Gets a value indicating whether an unknown attribute is encountered during deserialization. + + + true when an unknown attribute is encountered while deserializing; otherwise, false. + + The name of the unrecognized attribute. + The value of the unrecognized attribute. + + + + Gets a value indicating whether an unknown element is encountered during deserialization. + + + true when an unknown element is encountered while deserializing; otherwise, false. + + The name of the unknown subelement. + The being used for deserialization. + The element identified by is locked. + - or - + One or more of the element's attributes is locked. + - or - + is unrecognized, or the element has an unrecognized attribute. + - or - + The element has a Boolean attribute with an invalid value. + - or - + An attempt was made to deserialize a property more than once. + - or - + An attempt was made to deserialize a property that is not a valid member of the element. + - or - + The element cannot contain a CDATA or text element. + + + + + Write the contents of this element to the given . + + The caller of this method has already written the start element tag before + calling this method, so deriving classes only need to write the element content, not + the start or end tags. + Writer to send XML content to. + + + + Name of this parameter. + + + + + Type of this parameter. + + This is only needed in order to disambiguate method overloads. Normally + the parameter name is sufficient. + + + + Element that describes the value for this property. + + + This is NOT marked as a ConfigurationProperty because this + child element is polymorphic, and the element tag determines + the type. Standard configuration properties only let you do + this if it's a collection, but we only want one value. Thus + the separate property. The element is deserialized in + . + + + + A string describing where the value this element contains + is being used. For example, if setting a property Prop1, + this should return "property Prop1" (in english). + + + + + A collection of objects. + + + + + Gets the element key for a specified configuration element when overridden in a derived class. + + + An that acts as the key for the specified . + + The to return the key for. + + + + A collection of objects. + + + + + Causes the configuration system to throw an exception. + + + true if the unrecognized element was deserialized successfully; otherwise, false. The default is false. + + The name of the unrecognized element. + An input stream that reads XML from the configuration file. + The element specified in is the <clear> element. + starts with the reserved prefix "config" or "lock". + + + + When overridden in a derived class, creates a new . + + + A new . + + + + + Gets the element key for a specified configuration element when overridden in a derived class. + + + An that acts as the key for the specified . + + The to return the key for. + + + + String that will be deserialized to provide the value. + + + + + A string describing where the value this element contains + is being used. For example, if setting a property Prop1, + this should return "property Prop1" (in english). + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to An abstract ContainerConfiguringElement cannot be created. Please specify a concrete type.. + + + + + Looks up a localized string similar to An abstract ExtensionConfigurationElement object cannot be created. Please specify a concrete type.. + + + + + Looks up a localized string similar to An abstract InjectionMemberElement object cannot be created. Please specify a concrete type.. + + + + + Looks up a localized string similar to An abstract ParameterValueElement object cannot be created. Please specify a concrete type.. + + + + + Looks up a localized string similar to The type name or alias {0} could not be resolved. Please check your configuration file and verify this type name.. + + + + + Looks up a localized string similar to The dependency element for generic parameter {0} must not have an explicit type name but has '{1}'.. + + + + + Looks up a localized string similar to The optional dependency element for generic parameter {0} must not have an explicit type name but has '{1}'.. + + + + + Looks up a localized string similar to {0} {1}. + + + + + Looks up a localized string similar to The injection configuration for {0} has multiple values.. + + + + + Looks up a localized string similar to The configuration element type {0} has not been registered with the section.. + + + + + Looks up a localized string similar to The injection configuration for {0} is specified through both attributes and child value elements.. + + + + + Looks up a localized string similar to Could not load section extension type {0}.. + + + + + Looks up a localized string similar to The extension type {0} does not derive from SectionExtension.. + + + + + Looks up a localized string similar to The extension element type {0} that is being added does not derive from ContainerConfiguringElement, InjectionMemberElement, or ParameterValueElement. An extension element must derive from one of these types.. + + + + + Looks up a localized string similar to No valid attributes were found to construct the value for the {0}. Please check the configuration file.. + + + + + Looks up a localized string similar to Configuration is incorrect, the type {0} does not have a constructor that takes parameters named {1}.. + + + + + Looks up a localized string similar to Configuration is incorrect, the type {0} does not have a method named {1} that takes parameters named {2}.. + + + + + Looks up a localized string similar to The container named "{0}" is not defined in this configuration section.. + + + + + Looks up a localized string similar to The type {0} does not have a property named {1}.. + + + + + Looks up a localized string similar to The configuration is set to inject an array, but the type {0} is not an array type.. + + + + + Looks up a localized string similar to parameter. + + + + + Looks up a localized string similar to property. + + + + + Looks up a localized string similar to The attribute {0} must be present and non-empty.. + + + + + Looks up a localized string similar to The value element for {1} was specified for the generic array type {0}. Value elements are not allowed for generic array types.. + + + + + Looks up a localized string similar to The value element for {1} was specified for the generic parameter type {0}. Value elements are not allowed for generic parameter types.. + + + + + Looks up a localized string similar to The value element for {1} was specified for the generic type {0}. Value elements are not allowed for generic types.. + + + + + A class representing a property configuration element. + + + + + Construct a new instance of + + + + + Reads XML from the configuration file. + + The that reads from the configuration file. + true to serialize only the collection key properties; otherwise, false. + The element to read is locked. + - or - + An attribute of the current node is not recognized. + - or - + The lock status of the current node cannot be determined. + + + + + Gets a value indicating whether an unknown attribute is encountered during deserialization. + + + true when an unknown attribute is encountered while deserializing; otherwise, false. + + The name of the unrecognized attribute. + The value of the unrecognized attribute. + + + + Gets a value indicating whether an unknown element is encountered during deserialization. + + + true when an unknown element is encountered while deserializing; otherwise, false. + + The name of the unknown subelement. + The being used for deserialization. + The element identified by is locked. + - or - + One or more of the element's attributes is locked. + - or - + is unrecognized, or the element has an unrecognized attribute. + - or - + The element has a Boolean attribute with an invalid value. + - or - + An attempt was made to deserialize a property more than once. + - or - + An attempt was made to deserialize a property that is not a valid member of the element. + - or - + The element cannot contain a CDATA or text element. + + + + + Write the contents of this element to the given . + + The caller of this method has already written the start element tag before + calling this method, so deriving classes only need to write the element content, not + the start or end tags. + Writer to send XML content to. + + + + Return the set of s that are needed + to configure the container according to this configuration element. + + Container that is being configured. + Type that is being registered. + Type that is being mapped to. + Name this registration is under. + One or more objects that should be + applied to the container registration. + + + + Name of the property that will be set. + + + + + Each element must have a unique key, which is generated by the subclasses. + + + + + String that will be deserialized to provide the value. + + + + + A string describing where the value this element contains + is being used. For example, if setting a property Prop1, + this should return "property Prop1" (in english). + + + + + Element name to use to serialize this into XML. + + + + + A configuration element representing a single container type registration. + + + + + Apply the registrations from this element to the given container. + + Container to configure. + + + + Write the contents of this element to the given . + + The caller of this method has already written the start element tag before + calling this method, so deriving classes only need to write the element content, not + the start or end tags. + Writer to send XML content to. + + + + The type that is registered. + + + + + Name registered under. + + + + + Type that is mapped to. + + + + + Lifetime manager to register for this registration. + + + + + Any injection members (constructor, properties, etc.) that are specified for + this registration. + + + + + A collection of s. + + + + + Causes the configuration system to throw an exception. + + + true if the unrecognized element was deserialized successfully; otherwise, false. The default is false. + + The name of the unrecognized element. + An input stream that reads XML from the configuration file. + The element specified in is the <clear> element. + starts with the reserved prefix "config" or "lock". + + + + Gets the element key for a specified configuration element when overridden in a derived class. + + + An that acts as the key for the specified . + + The to return the key for. + + + + Base class for Unity configuration section extensions. + Derived classes are used to add custom elements and aliases + into the configuration section being loaded. + + + + + Add the extensions to the section via the context. + + Context object that can be used to add elements and aliases. + + + + An object that gives the ability to add + elements and aliases to a configuration section. + + + + + Add a new alias to the configuration section. This is useful + for those extensions that add commonly used types to configuration + so users don't have to alias them repeatedly. + + The alias to use. + Type the alias maps to. + + + + Add a new alias to the configuration section. This is useful + for those extensions that add commonly used types to configuration + so users don't have to alias them repeatedly. + + Type the alias maps to. + The alias to use + + + + Add a new element to the configuration section schema. + + Tag name in the XML. + Type the tag maps to. + + + + Add a new element to the configuration section schema. + + Type the tag maps to. + Tag name in the XML. + + + + A configuration element used to specify which extensions to + add to the configuration schema. + + + + + Reads XML from the configuration file. + + The that reads from the configuration file. + true to serialize only the collection key properties; otherwise, false. + The element to read is locked. + - or - + An attribute of the current node is not recognized. + - or - + The lock status of the current node cannot be determined. + + + + + Write the contents of this element to the given . + + The caller of this method has already written the start element tag before + calling this method, so deriving classes only need to write the element content, not + the start or end tags. + Writer to send XML content to. + + + + Type of the section extender object that will provide new elements to the schema. + + + + + Optional prefix that will be added to the element names added by this + section extender. If left out, no prefix will be added. + + + + + The extension object represented by this element. + + + + + A collection of s. + + + + + Gets the element key for a specified configuration element when overridden in a derived class. + + + An that acts as the key for the specified . + + The to return the key for. + + + + Type that manage access to a set of type aliases and implements + the logic for converting aliases to their actual types. + + + + + Set the set of aliases to use for resolution. + + Configuration section containing the various + type aliases, namespaces and assemblies. + + + + Resolves a type alias or type FullName to a concrete type. + + Type alias or type FullName + Type object or null if resolve fails. + Thrown if alias lookup fails. + + + + Resolves a type alias or type FullName to a concrete type. + + Alias or name to resolve. + if true and the alias does not + resolve, throw an , otherwise + return null on failure. + The type object or null if resolve fails and + is false. + + + + Resolve a type alias or type full name to a concrete type. + If is null or empty, return the + given instead. + + Type alias or full name to resolve. + Value to return if typeName is null or empty. + The concrete . + Thrown if alias lookup fails. + + + + Resolve a type alias or type full name to a concrete type. + If is null or empty, return the + given instead. + + Type alias or full name to resolve. + Value to return if typeName is null or empty. + if true and the alias does not + resolve, throw an , otherwise + return null on failure. + The concrete . + Thrown if alias lookup fails and + is true. + + + + A helper class that implements the actual logic for resolving a shorthand + type name (alias or raw type name) into an actual type object. + + + + + Construct a new that uses the given + sequence of alias, type name pairs to resolve types. + + Type aliases from the configuration file. + Assembly names to search. + Namespaces to search. + + + + Resolves a type alias or type FullName to a concrete type. + + Alias or name to resolve. + if true and the alias does not + resolve, throw an , otherwise + return null on failure. + The type object or null if resolve fails and + is false. + + + + Resolve a type alias or type full name to a concrete type. + If is null or empty, return the + given instead. + + Type alias or full name to resolve. + Value to return if typeName is null or empty. + if true and the alias does not + resolve, throw an , otherwise + return null on failure. + + If is null or an empty string, + then return . + Otherwise, return the resolved type object. If the resolution fails + and is false, then return null. + + + + + A configuration section describing configuration for an . + + + + + The name of the section where unity configuration is expected to be found. + + + + + XML Namespace string used for IntelliSense in this section. + + + + + Apply the configuration in the default container element to the given container. + + Container to configure. + The passed in . + + + + Apply the configuration in the default container element to the given container. + + Container to configure. + Name of the container element to use to configure the container. + The passed in . + + + + Reads XML from the configuration file. + + The object, which reads from the configuration file. + found no elements in the configuration file. + + + + Gets a value indicating whether an unknown element is encountered during deserialization. + + + true when an unknown element is encountered while deserializing; otherwise, false. + + The name of the unknown subelement. + The being used for deserialization. + + The element identified by is locked. + - or - + One or more of the element's attributes is locked. + - or - + is unrecognized, or the element has an unrecognized attribute. + - or - + The element has a Boolean attribute with an invalid value. + - or - + An attempt was made to deserialize a property more than once. + - or - + An attempt was made to deserialize a property that is not a valid member of the element. + - or - + The element cannot contain a CDATA or text element. + + + + + Creates an XML string containing an unmerged view of the object as a single section to write to a file. + + + An XML string containing an unmerged view of the object. + + The instance to use as the parent when performing the un-merge. + The name of the section to create. + The instance to use when writing to a string. + + + + The current that is being deserialized + or being configured from. + + + + + Storage for XML namespace. The namespace isn't used or validated by config, but + it is useful for Visual Studio XML IntelliSense to kick in. + + + + + The set of containers defined in this configuration section. + + + + + The set of type aliases defined in this configuration file. + + + + + Any schema extensions that are added. + + + + + Any namespaces added to the type search list. + + + + + Any assemblies added to the type search list. + + + + + Add a new alias to the configuration section. This is useful + for those extensions that add commonly used types to configuration + so users don't have to alias them repeatedly. + + The alias to use. + Type the alias maps to. + + + + Add a new element to the configuration section schema. + + Tag name in the XML. + Type the tag maps to. + + + + Collection element for s. + + + + + Plug point to get objects out of the collection. + + Index in the collection to retrieve the item from. + Item at that index or null if not present. + + + + Plug point to get objects out of the collection. + + Key to look up the object by. + Item with that key or null if not present. + + + + Gets the element key for a specified configuration element when overridden in a derived class. + + + An that acts as the key for the specified . + + The to return the key for. + + + + Retrieve a stored by name. + + Name to look up. + The stored container or null if not in the collection. + + + + Return the default container in the collection. The default is the one without a name. + + + + + Extensions to to simplify + loading configuration into a container. + + + + + Apply configuration from the given section and named container + into the given container. + + Unity container to configure. + Configuration section with config information. + Named container. + . + + + + Apply configuration from the default section (named "unity" pulled out of + ConfigurationManager) and the named container. + + Unity container to configure. + Named container element in configuration. + . + + + + Apply configuration from the default section and unnamed container element. + + Container to configure. + . + + + + Apply configuration from the default container in the given section. + + Unity container to configure. + Configuration section. + . + + + + Element that describes a constant value that will be + injected into the container. + + + + + Construct a new object. + + + + + Construct a new object, + initializing properties from the contents of + . + + Name/value pairs which + contain the values to initialize properties to. + + + + Write the contents of this element to the given . + + The caller of this method has already written the start element tag before + calling this method, so deriving classes only need to write the element content, not + the start or end tags. + Writer to send XML content to. + + + + Write the contents of this element to the given . This + method always outputs an explicit <dependency> tag, instead of providing + attributes to the parent method. + + Writer to send XML content to. + + + + Generate an object + that will be used to configure the container for a type registration. + + Container that is being configured. Supplied in order + to let custom implementations retrieve services; do not configure the container + directly in this method. + Type of the parameter to get the value for. + The required object. + + + + Value for this element + + + + + + + + + diff --git a/src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.Configuration.dll b/src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.Configuration.dll new file mode 100644 index 0000000000000000000000000000000000000000..870581cda9012eabb9e1b11a1514d6a3deec3a76 GIT binary patch literal 81408 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%0DrOmoo?QGut(23rnNA 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 Z?| + + + Microsoft.Practices.Unity.RegistrationByConvention + + + + + Provides helper methods to retrieve classes from assemblies. + + + + + Returns all visible, non-abstract classes from . + + The assemblies. + All visible, non-abstract classes found in the assemblies. + is . + contains elements. + All exceptions thrown while getting types from the assemblies are ignored, and the types that can be retrieved are returned. + + + + Returns all visible, non-abstract classes from , and optionally skips errors. + + to skip errors; otherwise, . + The assemblies. + + All visible, non-abstract classes. + + is . + contains elements. + + If is , all exceptions thrown while getting types from the assemblies are ignored, and the types + that can be retrieved are returned; otherwise, the original exception is thrown. + + + + + Returns all visible, non-abstract classes from . + + to skip errors; otherwise, . + The assemblies. + + All visible, non-abstract classes. + + is . + contains elements. + + If is , all exceptions thrown while getting types from the assemblies are ignored, and the types + that can be retrieved are returned; otherwise, the original exception is thrown. + + + + + Returns all visible, non-abstract classes from all assemblies that are loaded in the current application domain. + + to include system assemblies; otherwise, . Defaults to . + to include the Unity assemblies; otherwise, . Defaults to . + to include dynamic assemblies; otherwise, . Defaults to . + to skip errors; otherwise, . + + All visible, non-abstract classes in the loaded assemblies. + + + If is , all exceptions thrown while getting types from the assemblies are ignored, and the types + that can be retrieved are returned; otherwise, the original exception is thrown. + + + + + Returns all visible, non-abstract classes from all assemblies that are located in the base folder of the current application domain. + + to include system assemblies; otherwise, . Defaults to . + to include the Unity assemblies; otherwise, . Defaults to . + to skip errors; otherwise, . + + All visible, non-abstract classes. + + + If is , all exceptions thrown while loading assemblies or getting types from the assemblies are ignored, and the types + that can be retrieved are returned; otherwise, the original exception is thrown. + + + + + The exception that is thrown when registering multiple types would result in an type mapping being overwritten. + + + + + Initializes a new instance of the class. + + The name for the mapping. + The source type for the mapping. + The type currently mapped. + The new type to map. + + + + Gets the name for the mapping. + + + + + Gets the source type for the mapping. + + + + + Gets the type currently mapped. + + + + + Gets the new type to map. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to An attempt to override an existing mapping was detected for type {1} with name "{0}", currently mapped to type {2}, to type {3}.. + + + + + Looks up a localized string similar to The set of assemblies contains a null element.. + + + + + Represents a set of types to register and their registration settings. + + + + + Gets types to register. + + + + + Gets a function to get the types that will be requested for each type to configure. + + + + + Gets a function to get the name to use for the registration of each type. + + + + + Gets a function to get the for the registration of each type. Defaults to no lifetime management. + + + + + + Gets a function to get the additional objects for the registration of each type. Defaults to no injection members. + + + + + + Provides a set of convenience overloads to the + interface to support registration of multiple types. + + + + + Registers the supplied types by using the specified rules for name, lifetime manager, injection members, and registration types. + + The container to configure. + The types to register. The methods in the class can be used to scan assemblies to get types, and further filtering can be performed using LINQ queries. + A function that gets the types that will be requested for each type to configure. It can be a method from the class or a custom function. Defaults to no registration types, and registers only the supplied types. + A function that gets the name to use for the registration of each type. It can be a method from the or a custom function. Defaults to no name. + A function that gets the for the registration of each type. It can be a method from the class or a custom function. Defaults to no lifetime management. + A function that gets the additional objects for the registration of each type. Defaults to no injection members. + to overwrite existing mappings; otherwise, . Defaults to . + + The container that this method was called on. + + A new registration would overwrite an existing mapping and is . + + + + Registers the types according to the . + + The container to configure. + The convention to determine which types will be registered and how. + to overwrite existing mappings; otherwise, . Defaults to . + + The container that this method was called on. + + + + + Provides helper methods to specify the lifetime for a type with registration by convention. + + + + + Returns a . + + The type. + A lifetime manager + + + + Returns a . + + The type. + A container controlled lifetime manager. + + + + Returns a . + + The type. + An externally controlled lifetime manager. + + + + Returns a . + + The type. + A hierarchical lifetime manager. + + + + Returns a . + + The type. + A per resolve lifetime manager. + + + + Returns a . + + The type. + A transient lifetime manager. + + + + Returns a . + + The custom type. + The type. + + A lifetime manager. + + + + + Returns a . + + The type. + A per thread lifetime manager. + + + + Provides helper methods to map types to the types interfaces to which register them. + + + + + Returns no types. + + The type to register. + An empty enumeration. + + + + Returns an enumeration with the interface that matches the name of . + + The type to register. + An enumeration with the first interface matching the name of (for example, if type is MyType, a matching interface is IMyType), + or an empty enumeration if no such interface is found. + + + + Returns an enumeration with all the interfaces implemented by . + + The type to register. + An enumeration with all the interfaces implemented by the implementation type except . + + + + Returns an enumeration with all the interfaces implemented by that belong to the same assembly as implementationType. + + The type to register. + An enumeration with all the interfaces implemented by the implementation type that belong to the same assembly. + + + + Provides helper methods to get type names. + + + + + Returns the type name. + + The type. + The type name. + + + + Returns null for the registration name. + + The type. + + + + diff --git a/src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.RegistrationByConvention.dll b/src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.RegistrationByConvention.dll new file mode 100644 index 0000000000000000000000000000000000000000..fc76a46e8630a5a530b4cd88da942f346d1b9503 GIT binary patch literal 23552 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 literal 0 HcmV?d00001 diff --git a/src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.dll b/src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.dll new file mode 100644 index 0000000000000000000000000000000000000000..0d8c0040e78dc28e5e24949b30860d4ddd5364bf GIT binary patch literal 135680 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 Z=G*>LDJI(~^yY(ayX5~b@c#e={x_&(Z`=R? literal 0 HcmV?d00001 diff --git a/src/packages/Unity.2.0/lib/SL30/Microsoft.Practices.Unity.Silverlight.xml b/src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.xml similarity index 95% rename from src/packages/Unity.2.0/lib/SL30/Microsoft.Practices.Unity.Silverlight.xml rename to src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.xml index 8745044..f99ca70 100644 --- a/src/packages/Unity.2.0/lib/SL30/Microsoft.Practices.Unity.Silverlight.xml +++ b/src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.xml @@ -1,5871 +1,5916 @@ - - - - Microsoft.Practices.Unity.Silverlight - - - - - This attribute is used to mark properties and parameters as targets for injection. - - - For properties, this attribute is necessary for injection to happen. For parameters, - it's not needed unless you want to specify additional information to control how - the parameter is resolved. - - - - - Base class for attributes that can be placed on parameters - or properties to specify how to resolve the value for - that parameter or property. - - - - - Create an instance of that - will be used to get the value for the member this attribute is - applied to. - - Type of parameter or property that - this attribute is decoration. - The resolver object. - - - - Create an instance of with no name. - - - - - Create an instance of with the given name. - - Name to use when resolving this dependency. - - - - Create an instance of that - will be used to get the value for the member this attribute is - applied to. - - Type of parameter or property that - this attribute is decoration. - The resolver object. - - - - The name specified in the constructor. - - - - - This attribute is used to indicate which constructor to choose when - the container attempts to build a type. - - - - - This attribute is used to mark methods that should be called when - the container is building an object. - - - - - An used to mark a dependency - as optional - the container will try to resolve it, and return null - if the resolution fails rather than throw. - - - - - Construct a new object. - - - - - Construct a new object that - specifies a named dependency. - - Name of the dependency. - - - - Create an instance of that - will be used to get the value for the member this attribute is - applied to. - - Type of parameter or property that - this attribute is decoration. - The resolver object. - - - - Name of the dependency. - - - - - A that composites other - ResolverOverride objects. The GetResolver operation then - returns the resolver from the first child override that - matches the current context and request. - - - - - Base class for all override objects passed in the - method. - - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - Wrap this resolver in one that verifies the type of the object being built. - This allows you to narrow any override down to a specific type easily. - - Type to constrain the override to. - The new override. - - - - Wrap this resolver in one that verifies the type of the object being built. - This allows you to narrow any override down to a specific type easily. - - Type to constrain the override to. - The new override. - - - - Add a new to the collection - that is checked. - - item to add. - - - - Add a setof s to the collection. - - items to add. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - 2 - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - Class that returns information about the types registered in a container. - - - - - The type that was passed to the method - as the "from" type, or the only type if type mapping wasn't done. - - - - - The type that this registration is mapped to. If no type mapping was done, the - property and this one will have the same value. - - - - - Name the type was registered under. Null for default registration. - - - - - The registered lifetime manager instance. - - - - - The lifetime manager for this registration. - - - This property will be null if this registration is for an open generic. - - - - A class that overrides - the value injected whenever there is a dependency of the - given type, regardless of where it appears in the object graph. - - - - - Create an instance of to override - the given type with the given value. - - Type of the dependency. - Value to use. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - A convenience version of that lets you - specify the dependency type using generic syntax. - - Type of the dependency to override. - - - - Construct a new object that will - override the given dependency, and pass the given value. - - - - - A convenience form of that lets you - specify multiple parameter overrides in one shot rather than having - to construct multiple objects. - - - This class isn't really a collection, it just implements IEnumerable - so that we get use of the nice C# collection initializer syntax. - - - - - Base helper class for creating collections of objects - for use in passing a bunch of them to the resolve call. This base class provides - the mechanics needed to allow you to use the C# collection initializer syntax. - - Concrete type of the this class collects. - Key used to create the underlying override object. - Value that the override returns. - - - - Add a new override to the collection with the given key and value. - - Key - for example, a parameter or property name. - Value - the value to be returned by the override. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - 2 - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - When implemented in derived classes, this method is called from the - method to create the actual objects. - - Key value to create the resolver. - Value to store in the resolver. - The created . - - - - When implemented in derived classes, this method is called from the - method to create the actual objects. - - Key value to create the resolver. - Value to store in the resolver. - The created . - - - - Event argument class for the event. - - - - - Construct a new object with the - given child container object. - - An for the newly created child - container. - - - - The newly created child container. - - - - - An extension context for the created child container. - - - - - The class provides the means for extension objects - to manipulate the internal state of the . - - - - - Store a type/name pair for later resolution. - - - - When users register type mappings (or other things) with a named key, this method - allows you to register that name with the container so that when the - method is called, that name is included in the list that is returned. - - to register. - Name assocated with that type. - - - - The container that this context is associated with. - - The object. - - - - The strategies this container uses. - - The that the container uses to build objects. - - - - The strategies this container uses to construct build plans. - - The that this container uses when creating - build plans. - - - - The policies this container uses. - - The the that container uses to build objects. - - - - The that this container uses. - - The is used to manage objects that the container is managing. - - - - This event is raised when the method, - or one of its overloads, is called. - - - - - This event is raised when the method, - or one of its overloads, is called. - - - - - This event is raised when the method is called, providing - the newly created child container to extensions to act on as they see fit. - - - - - Base interface for all extension configuration interfaces. - - - - - Retrieve the container instance that we are currently configuring. - - - - - An EventArgs class that holds a string Name. - - - - - Create a new with a null name. - - - - - Create a new with the given name. - - Name to store. - - - - The name. - - Name used for this event arg object. - - - - Event argument class for the event. - - - - - Create a new instance of . - - Type to map from. - Type to map to. - Name for the registration. - to manage instances. - - - - Type to map from. - - - - - Type to map to. - - - - - to manage instances. - - - - - Event argument class for the event. - - - - - Create a default instance. - - - - - Create a instance initialized with the given arguments. - - Type of instance being registered. - The instance object itself. - Name to register under, null if default registration. - object that handles how - the instance will be owned. - - - - Type of instance being registered. - - - Type of instance being registered. - - - - - Instance object being registered. - - Instance object being registered - - - - that controls ownership of - this instance. - - - - - Base class for all extension objects. - - - - - The container calls this method when the extension is added. - - A instance that gives the - extension access to the internals of the container. - - - - Initial the container with this extension's functionality. - - - When overridden in a derived class, this method will modify the given - by adding strategies, policies, etc. to - install it's functions into the container. - - - - Removes the extension's functions from the container. - - - - This method is called when extensions are being removed from the container. It can be - used to do things like disconnect event handlers or clean up member state. You do not - need to remove strategies or policies here; the container will do that automatically. - - - The default implementation of this method does nothing. - - - - - The container this extension has been added to. - - The that this extension has been added to. - - - - The object used to manipulate - the inner state of the container. - - - - - A that lets you specify that - an instance of a generic type parameter should be resolved. - - - - - Base class for subclasses that let you specify that - an instance of a generic type parameter should be resolved. - - - - - Base type for objects that are used to configure parameters for - constructor or method injection, or for getting the value to - be injected into a property. - - - - - Test to see if this parameter value has a matching type for the given type. - - Type to check. - True if this parameter value is compatible with type , - false if not. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - Convert the given set of arbitrary values to a sequence of InjectionParameterValue - objects. The rules are: If it's already an InjectionParameterValue, return it. If - it's a Type, return a ResolvedParameter object for that type. Otherwise return - an InjectionParameter object for that value. - - The values to build the sequence from. - The resulting converted sequence. - - - - Convert an arbitrary value to an InjectionParameterValue object. The rules are: - If it's already an InjectionParameterValue, return it. If it's a Type, return a - ResolvedParameter object for that type. Otherwise return an InjectionParameter - object for that value. - - The value to convert. - The resulting . - - - - Name for the type represented by this . - This may be an actual type name or a generic argument name. - - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - name to use when looking up in the container. - - - - Test to see if this parameter value has a matching type for the given type. - - Type to check. - True if this parameter value is compatible with type , - false if not. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - Return a instance that will - return this types value for the parameter. - - The actual type to resolve. - The resolution key. - The . - - - - Name for the type represented by this . - This may be an actual type name or a generic argument name. - - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - name to use when looking up in the container. - - - - Return a instance that will - return this types value for the parameter. - - The actual type to resolve. - The resolution key. - The . - - - - A that lets you specify that - an array containing the registered instances of a generic type parameter - should be resolved. - - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - The values for the elements, that will - be converted to objects. - - - - Test to see if this parameter value has a matching type for the given type. - - Type to check. - True if this parameter value is compatible with type , - false if not. - A type is considered compatible if it is an array type of rank one - and its element type is a generic type parameter with a name matching this generic - parameter name configured for the receiver. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - Name for the type represented by this . - This may be an actual type name or a generic argument name. - - - - - A Unity container extension that allows you to configure - which constructors, properties, and methods get injected - via an API rather than through attributes. - - - - - Initial the container with this extension's functionality. - - - When overridden in a derived class, this method will modify the given - by adding strategies, policies, etc. to - install it's functions into the container. - - - - API to configure the injection settings for a particular type. - - Type the injection is being configured for. - Objects containing the details on which members to inject and how. - This extension object. - - - - API to configure the injection settings for a particular type/name pair. - - Type the injection is being configured for. - Name of registration - Objects containing the details on which members to inject and how. - This extension object. - - - - API to configure the injection settings for a particular type. - - Type to configure. - Objects containing the details on which members to inject and how. - This extension object. - - - - API to configure the injection settings for a particular type/name pair. - - Type to configure. - Name of registration. - Objects containing the details on which members to inject and how. - This extension object. - - - - API to configure the injection settings for a particular type/name pair. - - Type of interface/base class being registered (may be null). - Type of actual implementation class being registered. - Name of registration. - Objects containing the details on which members to inject and how. - This extension object. - - - - A class that holds the collection of information - for a constructor, so that the container can - be configured to call this constructor. - - - - - Base class for objects that can be used to configure what - class members get injected by the container. - - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Type to register. - Policy list to add policies to. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Type of interface being registered. If no interface, - this will be null. - Type of concrete type being registered. - Name used to resolve the type object. - Policy list to add policies to. - - - - Create a new instance of that looks - for a constructor with the given set of parameters. - - The values for the parameters, that will - be converted to objects. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Interface registered, ignored in this implementation. - Type to register. - Name used to resolve the type object. - Policy list to add policies to. - - - - A class that lets you specify a factory method the container - will use to create the object. - - This is a significantly easier way to do the same - thing the old static factory extension was used for. - - - - Create a new instance of with - the given factory function. - - Factory function. - - - - Create a new instance of with - the given factory function. - - Factory function. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Type of interface being registered. If no interface, - this will be null. This parameter is ignored in this implementation. - Type of concrete type being registered. - Name used to resolve the type object. - Policy list to add policies to. - - - - An that configures the - container to call a method as part of buildup. - - - - - Create a new instance which will configure - the container to call the given methods with the given parameters. - - Name of the method to call. - Parameter values for the method. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Type of interface registered, ignored in this implementation. - Type to register. - Name used to resolve the type object. - Policy list to add policies to. - - - - A small function to handle name matching. You can override this - to do things like case insensitive comparisons. - - MethodInfo for the method you're checking. - Name of the method you're looking for. - True if a match, false if not. - - - - A class that holds on to the given value and provides - the required - when the container is configured. - - - - - A base class for implementing classes - that deal in explicit types. - - - - - Create a new that exposes - information about the given . - - Type of the parameter. - - - - Test to see if this parameter value has a matching type for the given type. - - Type to check. - True if this parameter value is compatible with type , - false if not. - - - - The type of parameter this object represents. - - - - - Name for the type represented by this . - This may be an actual type name or a generic argument name. - - - - - Create an instance of that stores - the given value, using the runtime type of that value as the - type of the parameter. - - Value to be injected for this parameter. - - - - Create an instance of that stores - the given value, associated with the given type. - - Type of the parameter. - Value of the parameter - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - A generic version of that makes it a - little easier to specify the type of the parameter. - - Type of parameter. - - - - Create a new . - - Value for the parameter. - - - - This class stores information about which properties to inject, - and will configure the container accordingly. - - - - - Configure the container to inject the given property name, - resolving the value via the container. - - Name of the property to inject. - - - - Configure the container to inject the given property name, - using the value supplied. This value is converted to an - object using the - rules defined by the - method. - - Name of property to inject. - Value for property. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Interface being registered, ignored in this implemenation. - Type to register. - Name used to resolve the type object. - Policy list to add policies to. - - - - A that lets you specify that - an instance of a generic type parameter should be resolved, providing the - value if resolving fails. - - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - name to use when looking up in the container. - - - - Return a instance that will - return this types value for the parameter. - - The actual type to resolve. - The resolution key. - The . - - - - A that can be passed to - to configure a - parameter or property as an optional dependency. - - - - - Construct a new object that - specifies the given . - - Type of the dependency. - - - - Construct a new object that - specifies the given and . - - Type of the dependency. - Name for the dependency. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - A generic version of that lets you - specify the type of the dependency using generics syntax. - - Type of the dependency. - - - - Construct a new . - - - - - Construct a new with the given - . - - Name of the dependency. - - - - A class that stores a type, and generates a - resolver object that resolves all the named instances or the - type registered in a container. - - - - - Construct a new that - resolves to the given element type and collection of element values. - - The type of elements to resolve. - The values for the elements, that will - be converted to objects. - - - - Construct a new that - resolves to the given array and element types and collection of element values. - - The type for the array of elements to resolve. - The type of elements to resolve. - The values for the elements, that will - be converted to objects. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - A generic version of for convenience - when creating them by hand. - - Type of the elements for the array of the parameter. - - - - Construct a new that - resolves to the given element generic type with the given element values. - - The values for the elements, that will - be converted to objects. - - - - A class that stores a name and type, and generates a - resolver object that resolves the parameter via the - container. - - - - - Construct a new that - resolves to the given type. - - Type of this parameter. - - - - Construct a new that - resolves the given type and name. - - Type of this parameter. - Name to use when resolving parameter. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - A generic version of for convenience - when creating them by hand. - - Type of the parameter - - - - Create a new for the given - generic type and the default name. - - - - - Create a new for the given - generic type and name. - - Name to use to resolve this parameter. - - - - Interface defining the behavior of the Unity dependency injection container. - - - - - Register a type mapping with the container, where the created instances will use - the given . - - that will be requested. - that will actually be returned. - Name to use for registration, null if a default registration. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Name for registration. - - object that controls how this instance will be managed by the container. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Resolve an instance of the requested type with the given name from the container. - - of object to get from the container. - Name of the object to retrieve. - Any overrides for the resolve call. - The retrieved object. - - - - Return instances of all registered types requested. - - - - This method is useful if you've registered multiple types with the same - but different names. - - - Be aware that this method does NOT return an instance for the default (unnamed) registration. - - - The type requested. - Any overrides for the resolve calls. - Set of objects of type . - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - of object to perform injection on. - Instance to build up. - name to use when looking up the typemappings and other configurations. - Any overrides for the resolve calls. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Run an existing object through the container, and clean it up. - - The object to tear down. - - - - Add an extension object to the container. - - to add. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Resolve access to a configuration interface exposed by an extension. - - Extensions can expose configuration interfaces as well as adding - strategies and policies to the container. This method walks the list of - added extensions and returns the first one that implements the requested type. - - of configuration interface required. - The requested extension's configuration interface, or null if not found. - - - - Remove all installed extensions from this container. - - - - This method removes all extensions from the container, including the default ones - that implement the out-of-the-box behavior. After this method, if you want to use - the container again you will need to either readd the default extensions or replace - them with your own. - - - The registered instances and singletons that have already been set up in this container - do not get removed. - - - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Create a child container. - - - A child container shares the parent's configuration, but can be configured with different - settings or lifetime. - The new child container. - - - - The parent of this container. - - The parent container, or null if this container doesn't have one. - - - - Get a sequence of that describe the current state - of the container. - - - - - A that holds onto the instance given to it. - When the is disposed, - the instance is disposed with it. - - - - - Base class for Lifetime managers which need to synchronize calls to - . - - - - The purpose of this class is to provide a basic implementation of the lifetime manager synchronization pattern. - - - Calls to the method of a - instance acquire a lock, and if the instance has not been initialized with a value yet the lock will only be released - when such an initialization takes place by calling the method or if - the build request which resulted in the call to the GetValue method fails. - - - - - - - Base class for Lifetime managers - classes that control how - and when instances are created by the Unity container. - - - - - A that controls how instances are - persisted and recovered from an external store. Used to implement - things like singletons and per-http-request lifetime. - - - - - Represents a builder policy interface. Since there are no fixed requirements - for policies, it acts as a marker interface from which to derive all other - policy interfaces. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object to store. - - - - Remove the value this lifetime policy is managing from backing store. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - - - - Remove the given object from backing store. - - - - - This interface provides a hook for the builder context to - implement error recovery when a builder strategy throws - an exception. Since we can't get try/finally blocks onto - the call stack for later stages in the chain, we instead - add these objects to the context. If there's an exception, - all the current IRequiresRecovery instances will have - their Recover methods called. - - - - - A method that does whatever is needed to clean up - as part of cleaning up after an exception. - - - Don't do anything that could throw in this method, - it will cause later recover operations to get skipped - and play real havoc with the stack trace. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - Calls to this method acquire a lock which is released only if a non-null value - has been set for the lifetime manager. - - - - Performs the actual retrieval of a value from the backing store associated - with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - This method is invoked by - after it has acquired its lock. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - Setting a value will attempt to release the lock acquired by - . - - - - Performs the actual storage of the given value into backing store for retrieval later. - - The object being stored. - This method is invoked by - before releasing its lock. - - - - Remove the given object from backing store. - - - - - A method that does whatever is needed to clean up - as part of cleaning up after an exception. - - - Don't do anything that could throw in this method, - it will cause later recover operations to get skipped - and play real havoc with the stack trace. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - - - - Remove the given object from backing store. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - 2 - - - - Standard Dispose pattern implementation. Not needed, but it keeps FxCop happy. - - Always true, since we don't have a finalizer. - - - - A that holds a weak reference to - it's managed instance. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - - - - Remove the given object from backing store. - - - - - A special lifetime manager which works like , - except that in the presence of child containers, each child gets it's own instance - of the object, instead of sharing one in the common parent. - - - - - An implementation of that - creates instances of the type of the given Lifetime Manager - by resolving them through the container. - - - - - A builder policy used to create lifetime policy instances. - Used by the LifetimeStrategy when instantiating open - generic types. - - - - - Create a new instance of . - - The new instance. - - - - The type of Lifetime manager that will be created by this factory. - - - - - Create a new that will - return instances of the given type, creating them by - resolving through the container. - - Container to resolve with. - Type of LifetimeManager to create. - - - - Create a new instance of . - - The new instance. - - - - The type of Lifetime manager that will be created by this factory. - - - - - This is a custom lifetime manager that acts like , - but also provides a signal to the default build plan, marking the type so that - instances are reused across the build up object graph. - - - - - Construct a new object that does not - itself manage an instance. - - - - - Construct a new object that stores the - give value. This value will be returned by - but is not stored in the lifetime manager, nor is the value disposed. - This Lifetime manager is intended only for internal use, which is why the - normal method is not used here. - - Value to store. - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. In this class, - this is a noop, since it has special hooks down in the guts. - - The object being stored. - - - - Remove the given object from backing store. Noop in this class. - - - - - A that holds the instances given to it, - keeping one instance per thread. - - - - This LifetimeManager does not dispose the instances it holds. - - - - - - Initializes a new instance of the class. - - - - - Retrieve a value from the backing store associated with this Lifetime policy for the - current thread. - - the object desired, or if no such object is currently - stored for the current thread. - - - - Stores the given value into backing store for retrieval later when requested - in the current thread. - - The object being stored. - - - - Remove the given object from backing store. - - Not implemented for this lifetime manager. - - - - An implementation that does nothing, - thus ensuring that instances are created new every time. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - - - - Remove the given object from backing store. - - - - - This strategy implements the logic that will call container.ResolveAll - when an array parameter is detected. - - - - - Represents a strategy in the chain of responsibility. - Strategies are required to support both BuildUp and TearDown. - - - - - Represents a strategy in the chain of responsibility. - Strategies are required to support both BuildUp and TearDown. Although you - can implement this interface directly, you may also choose to use - as the base class for your strategies, as - this class provides useful helper methods and makes support BuildUp and TearDown - optional. - - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - Called during the chain of responsibility for a build operation. The - PostBuildUp method is called when the chain has finished the PreBuildUp - phase and executes in reverse order from the PreBuildUp calls. - - Context of the build operation. - - - - Called during the chain of responsibility for a teardown operation. The - PreTearDown method is called when the chain is being executed in the - forward direction. - - Context of the teardown operation. - - - - Called during the chain of responsibility for a teardown operation. The - PostTearDown method is called when the chain has finished the PreTearDown - phase and executes in reverse order from the PreTearDown calls. - - Context of the teardown operation. - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - Called during the chain of responsibility for a build operation. The - PostBuildUp method is called when the chain has finished the PreBuildUp - phase and executes in reverse order from the PreBuildUp calls. - - Context of the build operation. - - - - Called during the chain of responsibility for a teardown operation. The - PreTearDown method is called when the chain is being executed in the - forward direction. - - Context of the teardown operation. - - - - Called during the chain of responsibility for a teardown operation. The - PostTearDown method is called when the chain has finished the PreTearDown - phase and executes in reverse order from the PreTearDown calls. - - Context of the teardown operation. - - - - Do the PreBuildUp stage of construction. This is where the actual work is performed. - - Current build context. - - - - An implementation of that is - aware of the build keys used by the Unity container. - - - - - Base class that provides an implementation of - which lets you override how the parameter resolvers are created. - - - - - A that, when implemented, - will determine which constructor to call from the build plan. - - - - - Choose the constructor to call for the given type. - - Current build context - The to add any - generated resolver objects into. - The chosen constructor. - - - - Choose the constructor to call for the given type. - - Current build context - The to add any - generated resolver objects into. - The chosen constructor. - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. - - - - Value Condition Less than zerox is less than y.Zerox equals y.Greater than zerox is greater than y. - - - The second object to compare. - The first object to compare. - - - - Create a instance for the given - . - - - This implementation looks for the Unity on the - parameter and uses it to create an instance of - for this parameter. - Parameter to create the resolver for. - The resolver object. - - - - An implementation of that is aware - of the build keys used by the Unity container. - - - - - Base class that provides an implementation of - which lets you override how the parameter resolvers are created. - - Attribute that marks methods that should - be called. - - - - An that will examine the given - types and return a sequence of objects - that should be called as part of building the object. - - - - - Return the sequence of methods to call while building the target object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of methods to call. - - - - Return the sequence of methods to call while building the target object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of methods to call. - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - An implementation of that is aware of - the build keys used by the unity container. - - - - - Base class that provides an implementation of - which lets you override how the parameter resolvers are created. - - - - - An that returns a sequence - of properties that should be injected for the given type. - - - - - Returns sequence of properties on the given type that - should be set as part of building that object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of objects - that contain the properties to set. - - - - Returns sequence of properties on the given type that - should be set as part of building that object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of objects - that contain the properties to set. - - - - Create a for the given - property. - - Property to create resolver for. - The resolver object. - - - - Create a for the given - property. - - Property to create resolver for. - The resolver object. - - - - A strategy that handles Hierarchical lifetimes across a set of parent/child - containers. - - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - A implementation that returns - the value set in the constructor. - - - - - A that is used at build plan execution time - to resolve a dependent value. - - - - - Get the value for a dependency. - - Current build context. - The value for the dependency. - - - - Create a new instance of - which will return the given value when resolved. - - The value to return. - - - - Get the value for a dependency. - - Current build context. - The value for the dependency. - - - - An implementation of that stores a - type and name, and at resolution time puts them together into a - . - - - - - Create an instance of - with the given type and name. - - The type. - The name (may be null). - - - - Resolve the value for a dependency. - - Current build context. - The value for the dependency. - - - - The type that this resolver resolves. - - - - - The name that this resolver resolves. - - - - - A that will attempt to - resolve a value, and return null if it cannot rather than throwing. - - - - - Construct a new object - that will attempt to resolve the given name and type from the container. - - Type to resolve. Must be a reference type. - Name to resolve with. - - - - Construct a new object - that will attempt to resolve the given type from the container. - - Type to resolve. Must be a reference type. - - - - Get the value for a dependency. - - Current build context. - The value for the dependency. - - - - Type this resolver will resolve. - - - - - Name this resolver will resolve. - - - - - An implementation of that resolves to - to an array populated with the values that result from resolving other instances - of . - - - - - Create an instance of - with the given type and a collection of - instances to use when populating the result. - - The type. - The resolver policies to use when populating an array. - - - - Resolve the value for a dependency. - - Current build context. - An array pupulated with the results of resolving the resolver policies. - - - - An implementation of that selects - the given constructor and creates the appropriate resolvers to call it with - the specified parameters. - - - - - Create an instance of that - will return the given constructor, being passed the given injection values - as parameters. - - The constructor to call. - Set of objects - that describes how to obtain the values for the constructor parameters. - - - - Choose the constructor to call for the given type. - - Current build context - The to add any - generated resolver objects into. - The chosen constructor. - - - - Helper class for implementing selector policies that need to - set up dependency resolver policies. - - - - - Add dependency resolvers to the parameter set. - - Type that's currently being built (used to resolve open generics). - PolicyList to add the resolvers to. - Objects supplying the dependency resolvers. - Result object to store the keys in. - - - - A implementation that calls the specific - methods with the given parameters. - - - - - Add the given method and parameter collection to the list of methods - that will be returned when the selector's - method is called. - - Method to call. - sequence of objects - that describe how to create the method parameter values. - - - - Return the sequence of methods to call while building the target object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of methods to call. - - - - An implemnetation of which returns - the set of specific properties that the selector was configured with. - - - - - Add a property that will be par of the set returned when the - is called. - - The property to set. - object describing - how to create the value to inject. - - - - Returns sequence of properties on the given type that - should be set as part of building that object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of objects - that contain the properties to set. - - - - The build stages we use in the Unity container - strategy pipeline. - - - - - First stage. By default, nothing happens here. - - - - - Second stage. Type mapping occurs here. - - - - - Third stage. lifetime managers are checked here, - and if they're available the rest of the pipeline is skipped. - - - - - Fourth stage. Reflection over constructors, properties, etc. is - performed here. - - - - - Fifth stage. Instance creation happens here. - - - - - Sixth stage. Property sets and method injection happens here. - - - - - Seventh and final stage. By default, nothing happens here. - - - - - Represents the context in which a build-up or tear-down operation runs. - - - - - Represents the context in which a build-up or tear-down operation runs. - - - - - Add a new set of resolver override objects to the current build operation. - - objects to add. - - - - Get a object for the given - or null if that dependency hasn't been overridden. - - Type of the dependency. - Resolver to use, or null if no override matches for the current operation. - - - - A convenience method to do a new buildup operation on an existing context. - - Key to use to build up. - Created object. - - - - A convenience method to do a new buildup operation on an existing context. This - overload allows you to specify extra policies which will be in effect for the duration - of the build. - - Key defining what to build up. - A delegate that takes a . This - is invoked with the new child context before the build up process starts. This gives callers - the opportunity to customize the context for the build process. - Created object. - - - - Gets the head of the strategy chain. - - - The strategy that's first in the chain; returns null if there are no - strategies in the chain. - - - - - Gets the associated with the build. - - - The associated with the build. - - - - - Gets the original build key for the build operation. - - - The original build key for the build operation. - - - - - Get the current build key for the current build operation. - - - - - The set of policies that were passed into this context. - - This returns the policies passed into the context. - Policies added here will remain after buildup completes. - The persistent policies for the current context. - - - - Gets the policies for the current context. - - Any policies added to this object are transient - and will be erased at the end of the buildup. - - The policies for the current context. - - - - - Gets the collection of objects - that need to execute in event of an exception. - - - - - The current object being built up or torn down. - - - The current object being manipulated by the build operation. May - be null if the object hasn't been created yet. - - - - Flag indicating if the build operation should continue. - - true means that building should not call any more - strategies, false means continue to the next strategy. - - - - An object representing what is currently being done in the - build chain. Used to report back errors if there's a failure. - - - - - The build context used to resolve a dependency during the build operation represented by this context. - - - - - Initialize a new instance of the class. - - - - - Initialize a new instance of the class with a , - , and the - build key used to start this build operation. - - The to use for this context. - The to use for this context. - The to use for this context. - Build key to start building. - The existing object to build up. - - - - Create a new using the explicitly provided - values. - - The to use for this context. - The to use for this context. - The set of persistent policies to use for this context. - The set of transient policies to use for this context. It is - the caller's responsibility to ensure that the transient and persistent policies are properly - combined. - Build key for this context. - Existing object to build up. - - - - Add a new set of resolver override objects to the current build operation. - - objects to add. - - - - Get a object for the given - or null if that dependency hasn't been overridden. - - Type of the dependency. - Resolver to use, or null if no override matches for the current operation. - - - - A convenience method to do a new buildup operation on an existing context. - - Key to use to build up. - Created object. - - - - A convenience method to do a new buildup operation on an existing context. This - overload allows you to specify extra policies which will be in effect for the duration - of the build. - - Key defining what to build up. - A delegate that takes a . This - is invoked with the new child context before the build up process starts. This gives callers - the opportunity to customize the context for the build process. - Created object. - - - - Gets the head of the strategy chain. - - - The strategy that's first in the chain; returns null if there are no - strategies in the chain. - - - - - Get the current build key for the current build operation. - - - - - The current object being built up or torn down. - - - The current object being manipulated by the build operation. May - be null if the object hasn't been created yet. - - - - Gets the associated with the build. - - - The associated with the build. - - - - - Gets the original build key for the build operation. - - - The original build key for the build operation. - - - - - The set of policies that were passed into this context. - - This returns the policies passed into the context. - Policies added here will remain after buildup completes. - The persistent policies for the current context. - - - - Gets the policies for the current context. - - - Any modifications will be transient (meaning, they will be forgotten when - the outer BuildUp for this context is finished executing). - - - The policies for the current context. - - - - - Gets the collection of objects - that need to execute in event of an exception. - - - - - Flag indicating if the build operation should continue. - - true means that building should not call any more - strategies, false means continue to the next strategy. - - - - An object representing what is currently being done in the - build chain. Used to report back errors if there's a failure. - - - - - The build context used to resolve a dependency during the build operation represented by this context. - - - - - Represents that a dependency could not be resolved. - - - - - Initializes a new instance of the class with no extra information. - - - - - Initializes a new instance of the class with the given message. - - Some random message. - - - - Initialize a new instance of the class with the given - message and inner exception. - - Some random message - Inner exception. - - - - Initializes a new instance of the class with the build key of the object begin built. - - The build key of the object begin built. - - - - The exception thrown when injection is attempted on a method - that is an open generic or has out or ref params. - - - - - Construct a new with no - message. - - - - - Construct a with the given message - - Message to return. - - - - Construct a with the given message - and inner exception. - - Message to return. - Inner exception - - - - Extension methods to provide convenience overloads over the - interface. - - - - - Start a recursive build up operation to retrieve the default - value for the given type. - - Type of object to build. - Parent context. - Resulting object. - - - - Start a recursive build up operation to retrieve the named - implementation for the given type. - - Type to resolve. - Parent context. - Name to resolve with. - The resulting object. - - - - Add a set of s to the context, specified as a - variable argument list. - - Context to add overrides to. - The overrides. - - - - Data structure that stores the set of - objects and executes them when requested. - - - - - Add a new object to this - list. - - Object to add. - - - - Execute the method - of everything in the recovery list. Recoveries will execute - in the opposite order of add - it's a stack. - - - - - Return the number of recovery objects currently in the stack. - - - - - Represents a lifetime container. - - - A lifetime container tracks the lifetime of an object, and implements - IDisposable. When the container is disposed, any objects in the - container which implement IDisposable are also disposed. - - - - - Adds an object to the lifetime container. - - The item to be added to the lifetime container. - - - - Determine if a given object is in the lifetime container. - - - The item to locate in the lifetime container. - - - Returns true if the object is contained in the lifetime - container; returns false otherwise. - - - - - Removes an item from the lifetime container. The item is - not disposed. - - The item to be removed. - - - - Gets the number of references in the lifetime container - - - The number of references in the lifetime container - - - - - Represents a lifetime container. - - - A lifetime container tracks the lifetime of an object, and implements - IDisposable. When the container is disposed, any objects in the - container which implement IDisposable are also disposed. - - - - - Adds an object to the lifetime container. - - The item to be added to the lifetime container. - - - - Determine if a given object is in the lifetime container. - - - The item to locate in the lifetime container. - - - Returns true if the object is contained in the lifetime - container; returns false otherwise. - - - - - Releases the resources used by the . - - - - - Releases the managed resources used by the DbDataReader and optionally releases the unmanaged resources. - - - true to release managed and unmanaged resources; false to release only unmanaged resources. - - - - - Returns an enumerator that iterates through the lifetime container. - - - An object that can be used to iterate through the life time container. - - - - - Returns an enumerator that iterates through the lifetime container. - - - An object that can be used to iterate through the life time container. - - - - - Removes an item from the lifetime container. The item is - not disposed. - - The item to be removed. - - - - Gets the number of references in the lifetime container - - - The number of references in the lifetime container - - - - - A custom collection over objects. - - - - - Removes an individual policy type for a build key. - - The type of policy to remove. - The key the policy applies. - - - - Removes all policies from the list. - - - - - Removes a default policy. - - The type the policy was registered as. - - - - Gets an individual policy. - - The interface the policy is registered under. - The key the policy applies. - true if the policy searches local only; otherwise false to seach up the parent chain. - The policy list in the chain that the searched for policy was found in, null if the policy was - not found. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - The interface the policy is registered under. - The key the policy applies to. - True if the search should be in the local policy list only; otherwise false to search up the parent chain. - The policy list in the chain that the searched for policy was found in, null if the policy was - not found. - The policy in the list if present; returns null otherwise. - - - - Sets an individual policy. - - The of the policy. - The policy to be registered. - The key the policy applies. - - - - Sets a default policy. When checking for a policy, if no specific individual policy - is available, the default will be used. - - The interface to register the policy under. - The default policy to be registered. - - - - A custom collection wrapper over objects. - - - - - Initialize a new instance of a class. - - - - - Initialize a new instance of a class with another policy list. - - An inner policy list to search. - - - - Removes an individual policy type for a build key. - - The type of policy to remove. - The key the policy applies. - - - - Removes all policies from the list. - - - - - Removes a default policy. - - The type the policy was registered as. - - - - Gets an individual policy. - - The interface the policy is registered under. - The key the policy applies. - true if the policy searches local only; otherwise false to seach up the parent chain. - The policy list in the chain that the searched for policy was found in, null if the policy was - not found. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - The interface the policy is registered under. - The key the policy applies to. - True if the search should be in the local policy list only; otherwise false to search up the parent chain. - The policy list in the chain that the searched for policy was found in, null if the policy was - not found. - The policy in the list if present; returns null otherwise. - - - - Sets an individual policy. - - The of the policy. - The policy to be registered. - The key the policy applies. - - - - Sets a default policy. When checking for a policy, if no specific individual policy - is available, the default will be used. - - The interface to register the policy under. - The default policy to be registered. - - - - Gets the number of items in the locator. - - - The number of items in the locator. - - - - - Extension methods on to provide convenience - overloads (generic versions, mostly). - - - - - Removes an individual policy type for a build key. - - The type the policy was registered as. - to remove the policy from. - The key the policy applies. - - - - Removes a default policy. - - The type the policy was registered as. - to remove the policy from. - - - - Gets an individual policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - The policy list that actually contains the returned policy. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - to search. - The interface the policy is registered under. - The key the policy applies. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - to search. - The interface the policy is registered under. - The key the policy applies. - The policy list that actually contains the returned policy. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - true if the policy searches local only; otherwise false to seach up the parent chain. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - true if the policy searches local only; otherwise false to seach up the parent chain. - The policy list that actually contains the returned policy. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - to search. - The interface the policy is registered under. - The key the policy applies. - true if the policy searches local only; otherwise false to seach up the parent chain. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - true if the policy searches local only; otherwise false to seach up the parent chain. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - true if the policy searches local only; otherwise false to seach up the parent chain. - The policy list that actually contains the returned policy. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - to search. - The interface the policy is registered under. - The key the policy applies. - true if the policy searches local only; otherwise false to seach up the parent chain. - The policy in the list, if present; returns null otherwise. - - - - Sets an individual policy. - - The interface the policy is registered under. - to add the policy to. - The policy to be registered. - The key the policy applies. - - - - Sets a default policy. When checking for a policy, if no specific individual policy - is available, the default will be used. - - The interface to register the policy under. - to add the policy to. - The default policy to be registered. - - - - An implementation of . - - - - - Add a new object to this - list. - - Object to add. - - - - Execute the method - of everything in the recovery list. Recoveries will execute - in the opposite order of add - it's a stack. - - - - - Return the number of recovery objects currently in the stack. - - - - - Implementation of which will notify an object about - the completion of a BuildUp operation, or start of a TearDown operation. - - - This strategy checks the object that is passing through the builder chain to see if it - implements IBuilderAware and if it does, it will call - and . This strategy is meant to be used from the - stage. - - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - Called during the chain of responsibility for a teardown operation. The - PreTearDown method is called when the chain is being executed in the - forward direction. - - Context of the teardown operation. - - - - Implemented on a class when it wants to receive notifications - about the build process. - - - - - Called by the when the object is being built up. - - The key of the object that was just built up. - - - - Called by the when the object is being torn down. - - - - - Enumeration to represent the object builder stages. - - - The order of the values in the enumeration is the order in which the stages are run. - - - - - Strategies in this stage run before creation. Typical work done in this stage might - include strategies that use reflection to set policies into the context that other - strategies would later use. - - - - - Strategies in this stage create objects. Typically you will only have a single policy-driven - creation strategy in this stage. - - - - - Strategies in this stage work on created objects. Typical work done in this stage might - include setter injection and method calls. - - - - - Strategies in this stage work on objects that are already initialized. Typical work done in - this stage might include looking to see if the object implements some notification interface - to discover when its initialization stage has been completed. - - - - - Represents a builder policy for mapping build keys. - - - - - Represents a builder policy for mapping build keys. - - - - - Maps the build key. - - The build key to map. - Current build context. Used for contextual information - if writing a more sophisticated mapping. This parameter can be null - (called when getting container registrations). - The new build key. - - - - Initialize a new instance of the with the new build key. - - The new build key. - - - - Maps the build key. - - The build key to map. - Current build context. Used for contextual information - if writing a more sophisticated mapping, unused in this implementation. - The new build key. - - - - Represents a strategy for mapping build keys in the build up operation. - - - - - Called during the chain of responsibility for a build operation. Looks for the - and if found maps the build key for the current operation. - - The context for the operation. - - - - An implementation of that can map - generic types. - - - - - Create a new instance - that will map generic types. - - Build key to map to. This must be or contain an open generic type. - - - - Maps the build key. - - The build key to map. - Current build context. Used for contextual information - if writing a more sophisticated mapping. - The new build key. - - - - Base class for the current operation stored in the build context. - - - - - Create a new . - - Type currently being built. - - - - The type that's currently being built. - - - - - A that will look for a build plan - in the current context. If it exists, it invokes it, otherwise - it creates one and stores it for later, and invokes it. - - - - - Called during the chain of responsibility for a build operation. - - The context for the operation. - - - - An implementation of that chooses - constructors based on these criteria: first, pick a constructor marked with the - attribute. If there - isn't one, then choose the constructor with the longest parameter list. If that is ambiguous, - then throw. - - Thrown when the constructor to choose is ambiguous. - Attribute used to mark the constructor to call. - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - Objects of this type are the return value from . - It encapsulates the desired with the string keys - needed to look up the for each - parameter. - - - - - Base class for return values from selector policies that - return a memberinfo of some sort plus a list of parameter - keys to look up the parameter resolvers. - - - - - Base class for return of selector policies that need - to keep track of a set of parameter keys. - - - - - Add a new parameter key to this object. Keys are assumed - to be in the order of the parameters to the constructor. - - Key for the next parameter to look up. - - - - The set of keys for the constructor parameters. - - - - - Construct a new , storing - the given member info. - - Member info to store. - - - - The member info stored. - - - - - Create a new instance which - contains the given constructor. - - The constructor to wrap. - - - - The constructor this object wraps. - - - - - Create a object used to host the - dynamically generated build plan. This class creates the - dynamic method in the anonymous hosting assembly provided by - the Silverlight runtime. - - - - - This interface defines a policy that manages creation of the dynamic methods - used by the ObjectBuilder code generation. This way, we can replace the details - of how the dynamic method is created to handle differences in CLR (like Silverlight - vs desktop) or security policies. - - - - - Create a builder method for the given type, using the given name. - - Type that will be built by the generated method. - Name to give to the method. - A object with the proper signature to use - as part of a build plan. - - - - Create a builder method for the given type, using the given name. - - Type that will be built by the generated method. - Name to give to the method. - A object with the proper signature to use - as part of a build plan. - - - - This class records the information about which constructor argument is currently - being resolved, and is responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - The type that is being constructed. - A string representing the constructor being called. - Parameter being resolved. - - - - Generate the string describing what parameter was being resolved. - - The description string. - - - - String describing the constructor being set up. - - - - - Parameter that's being resolved. - - - - - A that emits IL to call constructors - as part of creating a build plan. - - - - - Called during the chain of responsibility for a build operation. - - Existing object is an instance of . - The context for the operation. - - - - A helper method used by the generated IL to throw an exception if - a dependency cannot be resolved. - - The currently being - used for the build of this object. - - - - A helper method used by the generated IL to throw an exception if - a dependency cannot be resolved because of an invalid constructor. - - The currently being - used for the build of this object. - The signature of the invalid constructor. - - - - A helper method used by the generated IL to throw an exception if - no existing object is present, but the user is attempting to build - an interface (usually due to the lack of a type mapping). - - The currently being - used for the build of this object. - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A helper method used by the generated IL to set up a PerResolveLifetimeManager lifetime manager - if the current object is such. - - Current build context. - - - - A class that records that a constructor is about to be call, and is - responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - - - - Generate the description string. - - The string. - - - - Constructor we're trying to call. - - - - - This object tracks the current state of the build plan generation, - accumulates the IL, provides the preamble & postamble for the dynamic - method, and tracks things like local variables in the generated IL - so that they can be reused across IL generation strategies. - - - - - Create a that is initialized - to handle creation of a dynamic method to build the given type. - - Type that we're trying to create a build plan for. - An object that actually - creates our object. - - - - Completes generation of the dynamic method and returns the - generated dynamic method delegate. - - The created - - - - Emit the IL to put the build context on top of the IL stack. - - - - - Emit the IL to put the current build key on top of the IL stack. - - - - - Emit the IL to put the current "existing" object on the top of the IL stack. - - - - - Emit the IL to make the top of the IL stack our current "existing" object. - - - - - Emit the IL to load the given object onto the top of the IL stack. - - Type to load on the stack. - - - - Emit the IL needed to look up an and - call it to get a value. - - Type of the dependency to resolve. - Key to look up the policy by. - - - - Emit the IL needed to clear the . - - - - - Emit the IL needed to either cast the top of the stack to the target type - or unbox it, if it's a value type. - - Type to convert the top of the stack to. - - - - A helper method used by the generated IL to clear the current operation in the build context. - - - - - Helper method used by generated IL to look up a dependency resolver based on the given key. - - Current build context. - Type of the dependency being resolved. - Key the resolver was stored under. - The found dependency resolver. - - - - A reflection helper method to make it easier to grab a property getter - for the given property. - - Type that implements the property we want. - Type of the property. - Name of the property. - The property getter's . - - - - A reflection helper method that makes it easier to grab a - for a method. - - Type that implements the method we want. - Name of the method. - Types of arguments to the method. - The method's . - - - - The underlying that can be used to - emit IL into the generated dynamic method. - - - - - The type we're currently creating the method to build. - - - - - A delegate type that defines the signature of the - dynamic method created by the build plans. - - used to build up the object. - - - - An implementation of that runs the - given delegate to execute the plan. - - - - - A build plan is an object that, when invoked, will create a new object - or fill in a given existing one. It encapsulates all the information - gathered by the strategies to construct a particular object. - - - - - Creates an instance of this build plan's type, or fills - in the existing type if passed in. - - Context used to build up the object. - - - - An implementation - that constructs a build plan via dynamic IL emission. - - - - - A that can create and return an - for the given build key. - - - - - Create a build plan using the given context and build key. - - Current build context. - Current build key. - The build plan. - - - - Construct a that - uses the given strategy chain to construct the build plan. - - The strategy chain. - - - - Construct a build plan. - - The current build context. - The current build key. - The created build plan. - - - - A that generates IL to call - chosen methods (as specified by the current ) - as part of object build up. - - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A class that records that a constructor is about to be call, and is - responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - - - - Generate the description string. - - The string. - - - - Method we're trying to call. - - - - - This class records the information about which constructor argument is currently - being resolved, and is responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - The type that is being constructed. - A string representing the method being called. - Parameter being resolved. - - - - Generate the string describing what parameter was being resolved. - - The description string. - - - - String describing the method being set up. - - - - - Parameter that's being resolved. - - - - - A that generates IL to resolve properties - on an object being built. - - - - - Called during the chain of responsibility for a build operation. - - The context for the operation. - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A base class that holds the information shared by all operations - performed by the container while setting properties. - - - - - Initializes a new instance of the class. - - - - - Generate the description of this operation. - - The string. - - - - Get a format string used to create the description. Called by - the base method. - - The format string. - - - - The property value currently being resolved. - - - - - This class records the information about which property value is currently - being resolved, and is responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - - - - Get a format string used to create the description. Called by - the base method. - - The format string. - - - - This class records the information about which property value is currently - being set, and is responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - Type property is on. - Name of property being set. - - - - Get a format string used to create the description. Called by - the base method. - - The format string. - - - - Build plan for that will - return a func that will resolve the requested type - through this container later. - - - - - Creates an instance of this build plan's type, or fills - in the existing type if passed in. - - Context used to build up the object. - - - - An implementation of that selects - methods by looking for the given - attribute on those methods. - - Type of attribute used to mark methods - to inject. - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - Objects of this type are the return value from . - It encapsulates the desired with the string keys - needed to look up the for each - parameter. - - - - - Create a new instance which - contains the given method. - - The method - - - - The constructor this object wraps. - - - - - Creates an instance of this build plan's type, or fills - in the existing type if passed in. - - Context used to build up the object. - - - - An implementation of that looks - for properties marked with the - attribute that are also settable and not indexers. - - - - - - Create a for the given - property. - - Property to create resolver for. - The resolver object. - - - - Objects of this type are returned from - . - This class combines the about - the property with the string key used to look up the resolver - for this property's value. - - - - - Create an instance of - with the given and key. - - The property. - Key to use to look up the resolver. - - - - PropertyInfo for this property. - - - - - Key to look up this property's resolver. - - - - - Implementation of . - - - - - A builder policy that lets you keep track of the current - resolvers and will remove them from the given policy set. - - - - - Add a new resolver to track by key. - - Key that was used to add the resolver to the policy set. - - - - Remove the currently tracked resolvers from the given policy list. - - Policy list to remove the resolvers from. - - - - Add a new resolver to track by key. - - Key that was used to add the resolver to the policy set. - - - - Remove the currently tracked resolvers from the given policy list. - - Policy list to remove the resolvers from. - - - - Get an instance that implements , - either the current one in the policy set or creating a new one if it doesn't - exist. - - Policy list to look up from. - Build key to track. - The resolver tracker. - - - - Add a key to be tracked to the current tracker. - - Policy list containing the resolvers and trackers. - Build key for the resolvers being tracked. - Key for the resolver. - - - - Remove the resolvers for the given build key. - - Policy list containing the build key. - Build key. - - - - An implementation of that - calls back into the build chain to build up the dependency, passing - a type given at compile time as its build key. - - - - - Create a new instance storing the given type. - - Type to resolve. - - - - Get the value for a dependency. - - Current build context. - The value for the dependency. - - - - This interface defines a standard method to convert any - regardless - of the stage enum into a regular, flat strategy chain. - - - - - Convert this into - a flat . - - The flattened . - - - - Represents a chain of responsibility for builder strategies. - - - - - Reverse the order of the strategy chain. - - The reversed strategy chain. - - - - Execute this strategy chain against the given context, - calling the Buildup methods on the strategies. - - Context for the build process. - The build up object - - - - Execute this strategy chain against the given context, - calling the TearDown methods on the strategies. - - Context for the teardown process. - - - - An implementation that uses - a to figure out if an object - has already been created and to update or remove that - object from some backing store. - - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - Called during the chain of responsibility for a build operation. The - PostBuildUp method is called when the chain has finished the PreBuildUp - phase and executes in reverse order from the PreBuildUp calls. - - Context of the build operation. - - - - Represents a chain of responsibility for builder strategies partitioned by stages. - - The stage enumeration to partition the strategies. - - - - Initialize a new instance of the class. - - - - - Initialize a new instance of the class with an inner strategy chain to use when building. - - The inner strategy chain to use first when finding strategies in the build operation. - - - - Adds a strategy to the chain at a particular stage. - - The strategy to add to the chain. - The stage to add the strategy. - - - - Add a new strategy for the . - - The of - The stage to add the strategy. - - - - Clear the current strategy chain list. - - - This will not clear the inner strategy chain if this instane was created with one. - - - - - Makes a strategy chain based on this instance. - - A new . - - - - Represents a chain of responsibility for builder strategies. - - - - - Initialzie a new instance of the class. - - - - - Initialzie a new instance of the class with a colleciton of strategies. - - A collection of strategies to initialize the chain. - - - - Adds a strategy to the chain. - - The strategy to add to the chain. - - - - Adds strategies to the chain. - - The strategies to add to the chain. - - - - Reverse the order of the strategy chain. - - The reversed strategy chain. - - - - Execute this strategy chain against the given context to build up. - - Context for the build processes. - The build up object - - - - Execute this strategy chain against the given context, - calling the TearDown methods on the strategies. - - Context for the teardown process. - - - - Returns an enumerator that iterates through the collection. - - - - A that can be used to iterate through the collection. - - 1 - - - - Returns an enumerator that iterates through a collection. - - - - An object that can be used to iterate through the collection. - - 2 - - - - The almost inevitable collection of extra helper methods on - to augment the rich set of what - Linq already gives us. - - - - - Execute the provided on every item in . - - Type of the items stored in - Sequence of items to process. - Code to run over each item. - - - - Create a single string from a sequenc of items, separated by the provided , - and with the conversion to string done by the given . - - This method does basically the same thing as , - but will work on any sequence of items, not just arrays. - Type of items in the sequence. - Sequence of items to convert. - Separator to place between the items in the string. - The conversion function to change TItem -> string. - The resulting string. - - - - Create a single string from a sequenc of items, separated by the provided , - and with the conversion to string done by the item's method. - - This method does basically the same thing as , - but will work on any sequence of items, not just arrays. - Type of items in the sequence. - Sequence of items to convert. - Separator to place between the items in the string. - The resulting string. - - - - Build key used to combine a type object with a string name. Used by - ObjectBuilder to indicate exactly what is being built. - - - - - Create a new instance with the given - type and name. - - to build. - Key to use to look up type mappings and singletons. - - - - Create a new instance for the default - buildup of the given type. - - to build. - - - - This helper method creates a new instance. It is - initialized for the default key for the given type. - - Type to build. - A new instance. - - - - This helper method creates a new instance for - the given type and key. - - Type to build - Key to use to look up type mappings and singletons. - A new instance initialized with the given type and name. - - - - Compare two instances. - - Two instances compare equal - if they contain the same name and the same type. Also, comparing - against a different type will also return false. - Object to compare to. - True if the two keys are equal, false if not. - - - - Calculate a hash code for this instance. - - A hash code. - - - - Compare two instances for equality. - - Two instances compare equal - if they contain the same name and the same type. - First of the two keys to compare. - Second of the two keys to compare. - True if the values of the keys are the same, else false. - - - - Compare two instances for inequality. - - Two instances compare equal - if they contain the same name and the same type. If either field differs - the keys are not equal. - First of the two keys to compare. - Second of the two keys to compare. - false if the values of the keys are the same, else true. - - - - Formats the build key as a string (primarily for debugging). - - A readable string representation of the build key. - - - - Return the stored in this build key. - - The type to build. - - - - Returns the name stored in this build key. - - The name to use when building. - - - - A generic version of so that - you can new up a key using generic syntax. - - Type for the key. - - - - Construct a new that - specifies the given type. - - - - - Construct a new that - specifies the given type and name. - - Name for the key. - - - - A series of helper methods to deal with sequences - - objects that implement . - - - - - A function that turns an arbitrary parameter list into an - . - - Type of arguments. - The items to put into the collection. - An array that contains the values of the . - - - - Given two sequences, return a new sequence containing the corresponding values - from each one. - - Type of first sequence. - Type of second sequence. - First sequence of items. - Second sequence of items. - New sequence of pairs. This sequence ends when the shorter of sequence1 and sequence2 does. - - - - A class that lets you - override a named parameter passed to a constructor. - - - - - Construct a new object that will - override the given named constructor parameter, and pass the given - value. - - Name of the constructor parameter. - Value to pass for the constructor. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - A convenience form of that lets you - specify multiple parameter overrides in one shot rather than having - to construct multiple objects. - - - - - When implemented in derived classes, this method is called from the - method to create the actual objects. - - Key value to create the resolver. - Value to store in the resolver. - The created . - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to The type {0} has multiple constructors of length {1}. Unable to disambiguate.. - - - - - Looks up a localized string similar to The provided string argument must not be empty.. - - - - - Looks up a localized string similar to The current build operation (build key {2}) failed: {3} (Strategy type {0}, index {1}). - - - - - Looks up a localized string similar to The current type, {0}, is an interface and cannot be constructed. Are you missing a type mapping?. - - - - - Looks up a localized string similar to Cannot extract type from build key {0}.. - - - - - Looks up a localized string similar to The method {0}.{1}({2}) is an open generic method. Open generic methods cannot be injected.. - - - - - Looks up a localized string similar to The property {0} on type {1} is an indexer. Indexed properties cannot be injected.. - - - - - Looks up a localized string similar to The method {1} on type {0} has an out parameter. Injection cannot be performed.. - - - - - Looks up a localized string similar to The method {0}.{1}({2}) has at least one out parameter. Methods with out parameters cannot be injected.. - - - - - Looks up a localized string similar to The method {0}.{1}({2}) has at least one ref parameter.Methods with ref parameters cannot be injected.. - - - - - Looks up a localized string similar to The method {1} on type {0} is marked for injection, but it is an open generic method. Injection cannot be performed.. - - - - - Looks up a localized string similar to The method {0}.{1}({2}) is static. Static methods cannot be injected.. - - - - - Looks up a localized string similar to The type {0} is an open generic type. An open generic type cannot be resolved.. - - - - - Looks up a localized string similar to Resolving parameter "{0}" of constructor {1}. - - - - - Looks up a localized string similar to The parameter {0} could not be resolved when attempting to call constructor {1}.. - - - - - Looks up a localized string similar to Parameter type inference does not work for null values. Indicate the parameter type explicitly using a properly configured instance of the InjectionParameter or InjectionParameter<T> classes.. - - - - - Looks up a localized string similar to Calling constructor {0}. - - - - - Looks up a localized string similar to Calling method {0}.{1}. - - - - - Looks up a localized string similar to An item with the given key is already present in the dictionary.. - - - - - Looks up a localized string similar to The lifetime manager is already registered. Lifetime managers cannot be reused, please create a new one.. - - - - - Looks up a localized string similar to The override marker build plan policy has been invoked. This should never happen, looks like a bug in the container.. - - - - - Looks up a localized string similar to Resolving parameter "{0}" of method {1}.{2}. - - - - - Looks up a localized string similar to The value for parameter "{1}" of method {0} could not be resolved. . - - - - - Looks up a localized string similar to Could not resolve dependency for build key {0}.. - - - - - Looks up a localized string similar to The type {0} has multiple constructors marked with the InjectionConstructor attribute. Unable to disambiguate.. - - - - - Looks up a localized string similar to The supplied type {0} must be an open generic type.. - - - - - Looks up a localized string similar to The supplied type {0} does not have the same number of generic arguments as the target type {1}.. - - - - - Looks up a localized string similar to The type {0} does not have an accessible constructor.. - - - - - Looks up a localized string similar to The type {0} does not have a generic argument named "{1}". - - - - - Looks up a localized string similar to while resolving. - - - - - Looks up a localized string similar to The type {0} does not have a constructor that takes the parameters ({1}).. - - - - - Looks up a localized string similar to The type {0} does not have a public method named {1} that takes the parameters ({2}).. - - - - - Looks up a localized string similar to The type {0} does not contain an instance property named {1}.. - - - - - Looks up a localized string similar to The type {0} is not a generic type, and you are attempting to inject a generic parameter named "{1}".. - - - - - Looks up a localized string similar to The type {0} is not an array type with rank 1, and you are attempting to use a [DependencyArray] attribute on a parameter or property with this type.. - - - - - Looks up a localized string similar to Optional dependencies must be reference types. The type {0} is a value type.. - - - - - Looks up a localized string similar to The property {0} on type {1} is not settable.. - - - - - Looks up a localized string similar to The property {0} on type {1} is of type {2}, and cannot be injected with a value of type {3}.. - - - - - Looks up a localized string similar to The value for the property "{0}" could not be resolved.. - - - - - Looks up a localized string similar to The provided string argument must not be empty.. - - - - - Looks up a localized string similar to Resolution of the dependency failed, type = "{0}", name = "{1}". - Exception occurred while: {2}. - Exception is: {3} - {4} - ----------------------------------------------- - At the time of the exception, the container was: - . - - - - - Looks up a localized string similar to Resolving {0},{1}. - - - - - Looks up a localized string similar to Resolving {0},{1} (mapped from {2}, {3}). - - - - - Looks up a localized string similar to Resolving value for property {0}.{1}. - - - - - Looks up a localized string similar to The constructor {1} selected for type {0} has ref or out parameters. Such parameters are not supported for constructor injection.. - - - - - Looks up a localized string similar to Setting value for property {0}.{1}. - - - - - Looks up a localized string similar to The type {0} cannot be constructed. You must configure the container to supply this value.. - - - - - Looks up a localized string similar to The type {1} cannot be assigned to variables of type {0}.. - - - - - Looks up a localized string similar to <unknown>. - - - - - A that lets you override - the value for a specified property. - - - - - Create an instance of . - - The property name. - Value to use for the property. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - A convenience form of that lets you - specify multiple property overrides in one shot rather than having - to construct multiple objects. - - - - - When implemented in derived classes, this method is called from the - method to create the actual objects. - - Key value to create the resolver. - Value to store in the resolver. - The created . - - - - The exception thrown by the Unity container when - an attempt to resolve a dependency fails. - - - - - Create a new that records - the exception for the given type and name. - - Type requested from the container. - Name requested from the container. - The actual exception that caused the failure of the build. - The build context representing the failed operation. - - - - The type that was being requested from the container at the time of failure. - - - - - The name that was being requested from the container at the time of failure. - - - - - Interface defining the configuration interface exposed by the - Static Factory extension. - - - - - Register the given factory delegate to be called when the container is - asked to resolve . - - Type that will be requested from the container. - Delegate to invoke to create the instance. - The container extension object this method was invoked on. - - - - Register the given factory delegate to be called when the container is - asked to resolve and . - - Type that will be requested from the container. - The name that will be used when requesting to resolve this type. - Delegate to invoke to create the instance. - The container extension object this method was invoked on. - - - - A that lets you register a - delegate with the container to create an object, rather than calling - the object's constructor. - - - - - Initialize this extension. This particular extension requires no - initialization work. - - - - - Register the given factory delegate to be called when the container is - asked to resolve and . - - Type that will be requested from the container. - The name that will be used when requesting to resolve this type. - Delegate to invoke to create the instance. - The container extension object this method was invoked on. - - - - Register the given factory delegate to be called when the container is - asked to resolve . - - Type that will be requested from the container. - Delegate to invoke to create the instance. - The container extension object this method was invoked on. - - - - An implementation of that - acts as a decorator over another . - This checks to see if the current type being built is the - right one before checking the inner . - - - - - Create an instance of - - Type to check for. - Inner override to check after type matches. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - A convenience version of that lets you - specify the type to construct via generics syntax. - - Type to check for. - - - - Create an instance of . - - Inner override to check after type matches. - - - - A simple, extensible dependency injection container. - - - - - Create a default . - - - - - Create a with the given parent container. - - The parent . The current object - will apply its own settings first, and then check the parent for additional ones. - - - - RegisterType a type mapping with the container, where the created instances will use - the given . - - that will be requested. - that will actually be returned. - Name to use for registration, null if a default registration. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - RegisterType an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Name for registration. - - If true, the container will take over the lifetime of the instance, - calling Dispose on it (if it's ) when the container is Disposed. - - If false, container will not maintain a strong reference to . User is reponsible - for disposing instance, and for keeping the instance from being garbage collected. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Get an instance of the requested type with the given name from the container. - - of object to get from the container. - Name of the object to retrieve. - Any overrides for the resolve call. - The retrieved object. - - - - Return instances of all registered types requested. - - - - This method is useful if you've registered multiple types with the same - but different names. - - - Be aware that this method does NOT return an instance for the default (unnamed) registration. - - - The type requested. - Any overrides for the resolve calls. - Set of objects of type . - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - of object to perform injection on. - Instance to build up. - name to use when looking up the typemappings and other configurations. - Any overrides for the buildup. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Run an existing object through the container, and clean it up. - - The object to tear down. - - - - Add an extension object to the container. - - to add. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Get access to a configuration interface exposed by an extension. - - Extensions can expose configuration interfaces as well as adding - strategies and policies to the container. This method walks the list of - added extensions and returns the first one that implements the requested type. - - of configuration interface required. - The requested extension's configuration interface, or null if not found. - - - - Remove all installed extensions from this container. - - - - This method removes all extensions from the container, including the default ones - that implement the out-of-the-box behavior. After this method, if you want to use - the container again you will need to either readd the default extensions or replace - them with your own. - - - The registered instances and singletons that have already been set up in this container - do not get removed. - - - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Create a child container. - - - A child container shares the parent's configuration, but can be configured with different - settings or lifetime. - The new child container. - - - - Dispose this container instance. - - - Disposing the container also disposes any child containers, - and disposes any instances whose lifetimes are managed - by the container. - - - - - Dispose this container instance. - - - This class doesn't have a finalizer, so will always be true. - True if being called from the IDisposable.Dispose - method, false if being called from a finalizer. - - - - Remove policies associated with building this type. This removes the - compiled build plan so that it can be rebuilt with the new settings - the next time this type is resolved. - - Type of object to clear the plan for. - Name the object is being registered with. - - - - The parent of this container. - - The parent container, or null if this container doesn't have one. - - - - Get a sequence of that describe the current state - of the container. - - - - - Implementation of the ExtensionContext that is actually used - by the UnityContainer implementation. - - - This is a nested class so that it can access state in the - container that would otherwise be inaccessible. - - - - - This event is raised when the method, - or one of its overloads, is called. - - - - - Extension class that adds a set of convenience overloads to the - interface. - - - - - Register a type with specific members to be injected. - - Type this registration is for. - Container to configure. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container. - - - - This method is used to tell the container that when asked for type , - actually return an instance of type . This is very useful for - getting instances of interfaces. - - - This overload registers a default mapping and transient lifetime. - - - that will be requested. - that will actually be returned. - Container to configure. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container, where the created instances will use - the given . - - that will be requested. - that will actually be returned. - Container to configure. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container. - - - This method is used to tell the container that when asked for type , - actually return an instance of type . This is very useful for - getting instances of interfaces. - - that will be requested. - that will actually be returned. - Container to configure. - Name of this mapping. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container, where the created instances will use - the given . - - that will be requested. - that will actually be returned. - Container to configure. - Name to use for registration, null if a default registration. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type with the container. - No type mapping is performed for this type. - - The type to apply the to. - Container to configure. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type with the container. - No type mapping is performed for this type. - - The type to configure injection on. - Container to configure. - Name that will be used to request the type. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type and name with the container. - No type mapping is performed for this type. - - The type to apply the to. - Container to configure. - Name that will be used to request the type. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type with specific members to be injected. - - Container to configure. - Type this registration is for. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container. - - - - This method is used to tell the container that when asked for type , - actually return an instance of type . This is very useful for - getting instances of interfaces. - - - This overload registers a default mapping. - - - Container to configure. - that will be requested. - that will actually be returned. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container. - - - This method is used to tell the container that when asked for type , - actually return an instance of type . This is very useful for - getting instances of interfaces. - - Container to configure. - that will be requested. - that will actually be returned. - Name to use for registration, null if a default registration. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container, where the created instances will use - the given . - - Container to configure. - that will be requested. - that will actually be returned. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type and name with the container. - No type mapping is performed for this type. - - Container to configure. - The to apply the to. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type and name with the container. - No type mapping is performed for this type. - - Container to configure. - The to configure in the container. - Name to use for registration, null if a default registration. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type and name with the container. - No type mapping is performed for this type. - - Container to configure. - The to apply the to. - Name to use for registration, null if a default registration. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload does a default registration and has the container take over the lifetime of the instance. - - Type of instance to register (may be an implemented interface instead of the full type). - Container to configure. - Object to returned. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload does a default registration (name = null). - - - Type of instance to register (may be an implemented interface instead of the full type). - Container to configure. - Object to returned. - - object that controls how this instance will be managed by the container. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload automatically has the container take ownership of the . - - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Container to configure. - Name for registration. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Container to configure. - Name for registration. - - object that controls how this instance will be managed by the container. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload does a default registration and has the container take over the lifetime of the instance. - - Container to configure. - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload does a default registration (name = null). - - - Container to configure. - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - - object that controls how this instance will be managed by the container. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload automatically has the container take ownership of the . - - Container to configure. - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Name for registration. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Resolve an instance of the default requested type from the container. - - of object to get from the container. - Container to resolve from. - Any overrides for the resolve call. - The retrieved object. - - - - Resolve an instance of the requested type with the given name from the container. - - of object to get from the container. - Container to resolve from. - Name of the object to retrieve. - Any overrides for the resolve call. - The retrieved object. - - - - Resolve an instance of the default requested type from the container. - - Container to resolve from. - of object to get from the container. - Any overrides for the resolve call. - The retrieved object. - - - - Return instances of all registered types requested. - - - - This method is useful if you've registered multiple types with the same - but different names. - - - Be aware that this method does NOT return an instance for the default (unnamed) registration. - - - The type requested. - Container to resolve from. - Any overrides for the resolve calls. - Set of objects of type . - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - - This overload uses the default registrations. - - - of object to perform injection on. - Container to resolve through. - Instance to build up. - Any overrides for the buildup. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - of object to perform injection on. - Conatiner to resolve through. - Instance to build up. - name to use when looking up the typemappings and other configurations. - Any overrides for the Buildup. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - - This overload uses the default registrations. - - - Container to resolve through. - of object to perform injection on. - Instance to build up. - Any overrides for the Buildup. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Creates a new extension object and adds it to the container. - - Type of to add. The extension type - will be resolved from within the supplied . - Container to add the extension to. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Resolve access to a configuration interface exposed by an extension. - - Extensions can expose configuration interfaces as well as adding - strategies and policies to the container. This method walks the list of - added extensions and returns the first one that implements the requested type. - - The configuration interface required. - Container to configure. - The requested extension's configuration interface, or null if not found. - - - - Check if a particular type has been registered with the container with - the default name. - - Container to inspect. - Type to check registration for. - True if this type has been registered, false if not. - - - - Check if a particular type/name pair has been registered with the container. - - Container to inspect. - Type to check registration for. - Name to check registration for. - True if this type/name pair has been registered, false if not. - - - - Check if a particular type has been registered with the container with the default name. - - Type to check registration for. - Container to inspect. - True if this type has been registered, false if not. - - - - Check if a particular type/name pair has been registered with the container. - - Type to check registration for. - Container to inspect. - Name to check registration for. - True if this type/name pair has been registered, false if not. - - - - This extension supplies the default behavior of the UnityContainer API - by handling the context events and setting policies. - - - - - Install the default container behavior into the container. - - - - - Remove the default behavior from the container. - - - - - This extension installs the default strategies and policies into the container - to implement the standard behavior of the Unity container. - - - This extension installs the default strategies and policies into the container - to implement the standard behavior of the Unity container. - - - - - Add the default ObjectBuilder strategies & policies to the container. - - - - - Add the correct to the policy - set. This version adds the appropriate policy for running on the desktop CLR. - - - - - An implementation of that wraps a Unity container. - - - - - Initializes a new instance of the class for a container. - - The to wrap with the - interface implementation. - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - 2 - - - - When implemented by inheriting classes, this method will do the actual work of resolving - the requested service instance. - - Type of instance requested.Name of registered service you want. May be null. - - The requested service instance. - - - - - When implemented by inheriting classes, this method will do the actual work of - resolving all the requested service instances. - - Type of service requested. - - Sequence of service instance objects. - - - - - A static helper class that includes various parameter checking routines. - - - - - Throws if the given argument is null. - - if tested value if null. - Argument value to test. - Name of the argument being tested. - - - - Throws an exception if the tested string argument is null or the empty string. - - Thrown if string value is null. - Thrown if the string is empty - Argument value to check. - Name of argument being checked. - - - - Verifies that an argument type is assignable from the provided type (meaning - interfaces are implemented, or classes exist in the base class hierarchy). - - The argument type that will be assigned to. - The type of the value being assigned. - Argument name. - - - - Verifies that an argument instance is assignable from the provided type (meaning - interfaces are implemented, or classes exist in the base class hierarchy, or instance can be - assigned through a runtime wrapper, as is the case for COM Objects). - - The argument type that will be assigned to. - The instance that will be assigned. - Argument name. - - - - Helper class to wrap common reflection stuff dealing with - methods. - - - - - Create a new instance that - lets us do more reflection stuff on that method. - - The method to reflect on. - - - - Given our set of generic type arguments, - - The generic type arguments. - An array with closed parameter types. - - - - Returns true if any of the parameters of this method - are open generics. - - - - - Return the of each parameter for this - method. - - Sequence of objects, one for - each parameter in order. - - - - A helper class that encapsulates two different - data items together into a a single item. - - - - - Create a new containing - the two values give. - - First value - Second value - - - - The first value of the pair. - - - - - The second value of the pair. - - - - - Container for a Pair helper method. - - - - - A helper factory method that lets users take advantage of type inference. - - Type of first value. - Type of second value. - First value. - Second value. - A new instance. - - - - A utility class that handles the logic of matching parameter - lists, so we can find the right constructor and method overloads. - - - - - Create a new that will attempt to - match the given parameter types. - - Target parameters to match against. - - - - Tests to see if the given set of types matches the ones - we're looking for. - - parameter list to look for. - true if they match, false if they don't. - - - - Tests to see if the given set of types matches the ones we're looking for. - - Candidate method signature to look for. - True if they match, false if they don't. - - - - Another reflection helper class that has extra methods - for dealing with ParameterInfos. - - - - - A small helper class to encapsulate details of the - reflection API, particularly around generics. - - - - - Create a new instance that - lets you look at information about the given type. - - Type to do reflection on. - - - - Test the given object, looking at - the parameters. Determine if any of the parameters are - open generic types that need type attributes filled in. - - The method to check. - True if any of the parameters are open generics. False if not. - - - - If this type is an open generic, use the - given array to - determine what the required closed type is and return that. - - If the parameter is not an open type, just - return this parameter's type. - Type arguments to substitute in for - the open type parameters. - Corresponding closed type of this parameter. - - - - Given a generic argument name, return the corresponding type for this - closed type. For example, if the current type is SomeType<User>, and the - corresponding definition was SomeType<TSomething>, calling this method - and passing "TSomething" will return typeof(User). - - Name of the generic parameter. - Type of the corresponding generic parameter, or null if there - is no matching name. - - - - The object we're reflecting over. - - - - - Is this type generic? - - - - - Is this type an open generic (no type parameter specified) - - - - - Is this type an array type? - - - - - Is this type an array of generic elements? - - - - - The type of the elements in this type (if it's an array). - - - - - Create a new instance of that - lets you query information about the given ParameterInfo object. - - Parameter to query. - - - - A set of helper methods to pick through lambdas and pull out - from them. - - - - - Pull out a object from an expression of the form - () => SomeClass.SomeMethod() - - Expression describing the method to call. - Corresponding . - - - - Pull out a object from an expression of the form - x => x.SomeMethod() - - The type where the method is defined. - Expression describing the method to call. - Corresponding . - - - - Pull out a object for the get method from an expression of the form - x => x.SomeProperty - - The type where the method is defined. - The type for the property. - Expression describing the property for which the get method is to be extracted. - Corresponding . - - - - Pull out a object for the set method from an expression of the form - x => x.SomeProperty - - The type where the method is defined. - The type for the property. - Expression describing the property for which the set method is to be extracted. - Corresponding . - - - - Pull out a object from an expression of the form () => new SomeType() - - The type where the constructor is defined. - Expression invoking the desired constructor. - Corresponding . - - - + + + + Microsoft.Practices.Unity + + + + + Provides access to the names registered for a container. + + + + + Represents a builder policy interface. Since there are no fixed requirements + for policies, it acts as a marker interface from which to derive all other + policy interfaces. + + + + + Gets the names registered for a type. + + The type. + The names registered for . + + + + An implementation + that constructs a build plan for creating objects. + + + + + A that can create and return an + for the given build key. + + + + + Create a build plan using the given context and build key. + + Current build context. + Current build key. + The build plan. + + + + Creates a build plan using the given context and build key. + + Current build context. + Current build key. + + The build plan. + + + + + Provides extension methods to the class due to the introduction + of class in the .NET for Windows Store apps. + + + + + Returns the constructor in that matches the specified constructor parameter types. + + The type to inspect + The constructor parameter types. + The constructor that matches the specified parameter types. + + + + Returns the non-static declared methods of a type or its base types. + + The type to inspect + An enumerable of the objects. + + + + Returns the non-static method of a type or its based type. + + The type to inspect + The name of the method to seek. + The (closed) parameter type signature of the method. + The discovered + + + + Returns the declared properties of a type or its base types. + + The type to inspect + An enumerable of the objects. + + + + Determines if the types in a parameter set ordinally matches the set of supplied types. + + + + + + + + Base class for attributes that can be placed on parameters + or properties to specify how to resolve the value for + that parameter or property. + + + + + Create an instance of that + will be used to get the value for the member this attribute is + applied to. + + Type of parameter or property that + this attribute is decoration. + The resolver object. + + + + This attribute is used to indicate which constructor to choose when + the container attempts to build a type. + + + + + This attribute is used to mark methods that should be called when + the container is building an object. + + + + + This attribute is used to mark properties and parameters as targets for injection. + + + For properties, this attribute is necessary for injection to happen. For parameters, + it's not needed unless you want to specify additional information to control how + the parameter is resolved. + + + + + Create an instance of with no name. + + + + + Create an instance of with the given name. + + Name to use when resolving this dependency. + + + + Create an instance of that + will be used to get the value for the member this attribute is + applied to. + + Type of parameter or property that + this attribute is decoration. + The resolver object. + + + + The name specified in the constructor. + + + + + An used to mark a dependency + as optional - the container will try to resolve it, and return null + if the resolution fails rather than throw. + + + + + Construct a new object. + + + + + Construct a new object that + specifies a named dependency. + + Name of the dependency. + + + + Create an instance of that + will be used to get the value for the member this attribute is + applied to. + + Type of parameter or property that + this attribute is decoration. + The resolver object. + + + + Name of the dependency. + + + + + A that composites other + ResolverOverride objects. The GetResolver operation then + returns the resolver from the first child override that + matches the current context and request. + + + + + Base class for all override objects passed in the + method. + + + + + Return a that can be used to give a value + for the given desired dependency. + + Current build context. + Type of dependency desired. + a object if this override applies, null if not. + + + + Wrap this resolver in one that verifies the type of the object being built. + This allows you to narrow any override down to a specific type easily. + + Type to constrain the override to. + The new override. + + + + Wrap this resolver in one that verifies the type of the object being built. + This allows you to narrow any override down to a specific type easily. + + Type to constrain the override to. + The new override. + + + + Add a new to the collection + that is checked. + + item to add. + + + + Add a set of s to the collection. + + items to add. + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + 2 + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + 1 + + + + Return a that can be used to give a value + for the given desired dependency. + + Current build context. + Type of dependency desired. + a object if this override applies, null if not. + + + + Class that returns information about the types registered in a container. + + + + + The type that was passed to the method + as the "from" type, or the only type if type mapping wasn't done. + + + + + The type that this registration is mapped to. If no type mapping was done, the + property and this one will have the same value. + + + + + Name the type was registered under. Null for default registration. + + + + + The registered lifetime manager instance. + + + + + The lifetime manager for this registration. + + + This property will be null if this registration is for an open generic. + + + + A class that overrides + the value injected whenever there is a dependency of the + given type, regardless of where it appears in the object graph. + + + + + Create an instance of to override + the given type with the given value. + + Type of the dependency. + Value to use. + + + + Return a that can be used to give a value + for the given desired dependency. + + Current build context. + Type of dependency desired. + a object if this override applies, null if not. + + + + A convenience version of that lets you + specify the dependency type using generic syntax. + + Type of the dependency to override. + + + + Construct a new object that will + override the given dependency, and pass the given value. + + + + + A convenience form of that lets you + specify multiple parameter overrides in one shot rather than having + to construct multiple objects. + + + This class isn't really a collection, it just implements IEnumerable + so that we get use of the nice C# collection initializer syntax. + + + + + Base helper class for creating collections of objects + for use in passing a bunch of them to the resolve call. This base class provides + the mechanics needed to allow you to use the C# collection initializer syntax. + + Concrete type of the this class collects. + Key used to create the underlying override object. + Value that the override returns. + + + + Add a new override to the collection with the given key and value. + + Key - for example, a parameter or property name. + Value - the value to be returned by the override. + + + + Return a that can be used to give a value + for the given desired dependency. + + Current build context. + Type of dependency desired. + a object if this override applies, null if not. + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + 2 + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + 1 + + + + When implemented in derived classes, this method is called from the + method to create the actual objects. + + Key value to create the resolver. + Value to store in the resolver. + The created . + + + + When implemented in derived classes, this method is called from the + method to create the actual objects. + + Key value to create the resolver. + Value to store in the resolver. + The created . + + + + Event argument class for the event. + + + + + Construct a new object with the + given child container object. + + An for the newly created child + container. + + + + The newly created child container. + + + + + An extension context for the created child container. + + + + + Base class for subclasses that let you specify that + an instance of a generic type parameter should be resolved. + + + + + Base type for objects that are used to configure parameters for + constructor or method injection, or for getting the value to + be injected into a property. + + + + + Test to see if this parameter value has a matching type for the given type. + + Type to check. + True if this parameter value is compatible with type , + false if not. + + + + Return a instance that will + return this types value for the parameter. + + Type that contains the member that needs this parameter. Used + to resolve open generic parameters. + The . + + + + Convert the given set of arbitrary values to a sequence of InjectionParameterValue + objects. The rules are: If it's already an InjectionParameterValue, return it. If + it's a Type, return a ResolvedParameter object for that type. Otherwise return + an InjectionParameter object for that value. + + The values to build the sequence from. + The resulting converted sequence. + + + + Convert an arbitrary value to an InjectionParameterValue object. The rules are: + If it's already an InjectionParameterValue, return it. If it's a Type, return a + ResolvedParameter object for that type. Otherwise return an InjectionParameter + object for that value. + + The value to convert. + The resulting . + + + + Name for the type represented by this . + This may be an actual type name or a generic argument name. + + + + + Create a new instance that specifies + that the given named generic parameter should be resolved. + + The generic parameter name to resolve. + + + + Create a new instance that specifies + that the given named generic parameter should be resolved. + + The generic parameter name to resolve. + name to use when looking up in the container. + + + + Test to see if this parameter value has a matching type for the given type. + + Type to check. + True if this parameter value is compatible with type , + false if not. + + + + Return a instance that will + return this types value for the parameter. + + Type that contains the member that needs this parameter. Used + to resolve open generic parameters. + The . + + + + Return a instance that will + return this types value for the parameter. + + The actual type to resolve. + The resolution key. + The . + + + + Name for the type represented by this . + This may be an actual type name or a generic argument name. + + + + + A that lets you specify that + an instance of a generic type parameter should be resolved, providing the + value if resolving fails. + + + + + Create a new instance that specifies + that the given named generic parameter should be resolved. + + The generic parameter name to resolve. + + + + Create a new instance that specifies + that the given named generic parameter should be resolved. + + The generic parameter name to resolve. + name to use when looking up in the container. + + + + Return a instance that will + return this types value for the parameter. + + The actual type to resolve. + The resolution key. + The . + + + + A class that lets you specify a factory method the container + will use to create the object. + + This is a significantly easier way to do the same + thing the old static factory extension was used for. + + + + Base class for objects that can be used to configure what + class members get injected by the container. + + + + + Add policies to the to configure the + container to call this constructor with the appropriate parameter values. + + Type to register. + Policy list to add policies to. + + + + Add policies to the to configure the + container to call this constructor with the appropriate parameter values. + + Type of interface being registered. If no interface, + this will be null. + Type of concrete type being registered. + Name used to resolve the type object. + Policy list to add policies to. + + + + Create a new instance of with + the given factory function. + + Factory function. + + + + Create a new instance of with + the given factory function. + + Factory function. + + + + Add policies to the to configure the + container to call this constructor with the appropriate parameter values. + + Type of interface being registered. If no interface, + this will be null. This parameter is ignored in this implementation. + Type of concrete type being registered. + Name used to resolve the type object. + Policy list to add policies to. + + + + A that can be passed to + to configure a + parameter or property as an optional dependency. + + + + + A base class for implementing classes + that deal in explicit types. + + + + + Create a new that exposes + information about the given . + + Type of the parameter. + + + + Test to see if this parameter value has a matching type for the given type. + + Type to check. + True if this parameter value is compatible with type , + false if not. + + + + The type of parameter this object represents. + + + + + Name for the type represented by this . + This may be an actual type name or a generic argument name. + + + + + Construct a new object that + specifies the given . + + Type of the dependency. + + + + Construct a new object that + specifies the given and . + + Type of the dependency. + Name for the dependency. + + + + Return a instance that will + return this types value for the parameter. + + Type that contains the member that needs this parameter. Used + to resolve open generic parameters. + The . + + + + A generic version of that lets you + specify the type of the dependency using generics syntax. + + Type of the dependency. + + + + Construct a new . + + + + + Construct a new with the given + . + + Name of the dependency. + + + + A special lifetime manager which works like , + except that in the presence of child containers, each child gets it's own instance + of the object, instead of sharing one in the common parent. + + + + + A that holds onto the instance given to it. + When the is disposed, + the instance is disposed with it. + + + + + Base class for Lifetime managers which need to synchronize calls to + . + + + + The purpose of this class is to provide a basic implementation of the lifetime manager synchronization pattern. + + + Calls to the method of a + instance acquire a lock, and if the instance has not been initialized with a value yet the lock will only be released + when such an initialization takes place by calling the method or if + the build request which resulted in the call to the GetValue method fails. + + + + + + + Base class for Lifetime managers - classes that control how + and when instances are created by the Unity container. + + + + + A that controls how instances are + persisted and recovered from an external store. Used to implement + things like singletons and per-http-request lifetime. + + + + + Retrieve a value from the backing store associated with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + + + + Stores the given value into backing store for retrieval later. + + The object to store. + + + + Remove the value this lifetime policy is managing from backing store. + + + + + Retrieve a value from the backing store associated with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + + + + Stores the given value into backing store for retrieval later. + + The object being stored. + + + + Remove the given object from backing store. + + + + + This interface provides a hook for the builder context to + implement error recovery when a builder strategy throws + an exception. Since we can't get try/finally blocks onto + the call stack for later stages in the chain, we instead + add these objects to the context. If there's an exception, + all the current IRequiresRecovery instances will have + their Recover methods called. + + + + + A method that does whatever is needed to clean up + as part of cleaning up after an exception. + + + Don't do anything that could throw in this method, + it will cause later recover operations to get skipped + and play real havoc with the stack trace. + + + + + Retrieve a value from the backing store associated with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + Calls to this method acquire a lock which is released only if a non-null value + has been set for the lifetime manager. + + + + Performs the actual retrieval of a value from the backing store associated + with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + This method is invoked by + after it has acquired its lock. + + + + Stores the given value into backing store for retrieval later. + + The object being stored. + Setting a value will attempt to release the lock acquired by + . + + + + Performs the actual storage of the given value into backing store for retrieval later. + + The object being stored. + This method is invoked by + before releasing its lock. + + + + Remove the given object from backing store. + + + + + A method that does whatever is needed to clean up + as part of cleaning up after an exception. + + + Don't do anything that could throw in this method, + it will cause later recover operations to get skipped + and play real havoc with the stack trace. + + + + + Retrieve a value from the backing store associated with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + + + + Stores the given value into backing store for retrieval later. + + The object being stored. + + + + Remove the given object from backing store. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Standard Dispose pattern implementation. Not needed, but it keeps FxCop happy. + + Always true, since we don't have a finalizer. + + + + This is a custom lifetime manager that acts like , + but also provides a signal to the default build plan, marking the type so that + instances are reused across the build up object graph. + + + + + Construct a new object that does not + itself manage an instance. + + + + + Construct a new object that stores the + give value. This value will be returned by + but is not stored in the lifetime manager, nor is the value disposed. + This Lifetime manager is intended only for internal use, which is why the + normal method is not used here. + + Value to store. + + + + Retrieve a value from the backing store associated with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + + + + Stores the given value into backing store for retrieval later. In this class, + this is a noop, since it has special hooks down in the guts. + + The object being stored. + + + + Remove the given object from backing store. Noop in this class. + + + + + A strategy that handles Hierarchical lifetimes across a set of parent/child + containers. + + + + + Represents a strategy in the chain of responsibility. + Strategies are required to support both BuildUp and TearDown. + + + + + Represents a strategy in the chain of responsibility. + Strategies are required to support both BuildUp and TearDown. Although you + can implement this interface directly, you may also choose to use + as the base class for your strategies, as + this class provides useful helper methods and makes support BuildUp and TearDown + optional. + + + + + Called during the chain of responsibility for a build operation. The + PreBuildUp method is called when the chain is being executed in the + forward direction. + + Context of the build operation. + + + + Called during the chain of responsibility for a build operation. The + PostBuildUp method is called when the chain has finished the PreBuildUp + phase and executes in reverse order from the PreBuildUp calls. + + Context of the build operation. + + + + Called during the chain of responsibility for a teardown operation. The + PreTearDown method is called when the chain is being executed in the + forward direction. + + Context of the teardown operation. + + + + Called during the chain of responsibility for a teardown operation. The + PostTearDown method is called when the chain has finished the PreTearDown + phase and executes in reverse order from the PreTearDown calls. + + Context of the teardown operation. + + + + Called during the chain of responsibility for a build operation. The + PreBuildUp method is called when the chain is being executed in the + forward direction. + + Context of the build operation. + + + + Called during the chain of responsibility for a build operation. The + PostBuildUp method is called when the chain has finished the PreBuildUp + phase and executes in reverse order from the PreBuildUp calls. + + Context of the build operation. + + + + Called during the chain of responsibility for a teardown operation. The + PreTearDown method is called when the chain is being executed in the + forward direction. + + Context of the teardown operation. + + + + Called during the chain of responsibility for a teardown operation. The + PostTearDown method is called when the chain has finished the PreTearDown + phase and executes in reverse order from the PreTearDown calls. + + Context of the teardown operation. + + + + Called during the chain of responsibility for a build operation. The + PreBuildUp method is called when the chain is being executed in the + forward direction. + + Context of the build operation. + + + + A that will attempt to + resolve a value, and return null if it cannot rather than throwing. + + + + + A strategy that is used at build plan execution time + to resolve a dependent value. + + + + + Get the value for a dependency. + + Current build context. + The value for the dependency. + + + + Construct a new object + that will attempt to resolve the given name and type from the container. + + Type to resolve. Must be a reference type. + Name to resolve with. + + + + Construct a new object + that will attempt to resolve the given type from the container. + + Type to resolve. Must be a reference type. + + + + Get the value for a dependency. + + Current build context. + The value for the dependency. + + + + Type this resolver will resolve. + + + + + Name this resolver will resolve. + + + + + Extension methods on to provide convenience + overloads (generic versions, mostly). + + + + + Removes an individual policy type for a build key. + + The type the policy was registered as. + to remove the policy from. + The key the policy applies. + + + + Removes a default policy. + + The type the policy was registered as. + to remove the policy from. + + + + Gets an individual policy. + + The interface the policy is registered under. + to search. + The key the policy applies. + The policy in the list, if present; returns null otherwise. + + + + Gets an individual policy. + + The interface the policy is registered under. + to search. + The key the policy applies. + The policy list that actually contains the returned policy. + The policy in the list, if present; returns null otherwise. + + + + Gets an individual policy. + + to search. + The interface the policy is registered under. + The key the policy applies. + The policy in the list, if present; returns null otherwise. + + + + Gets an individual policy. + + to search. + The interface the policy is registered under. + The key the policy applies. + The policy list that actually contains the returned policy. + The policy in the list, if present; returns null otherwise. + + + + Gets an individual policy. + + The interface the policy is registered under. + to search. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy in the list, if present; returns null otherwise. + + + + Gets an individual policy. + + The interface the policy is registered under. + to search. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy list that actually contains the returned policy. + The policy in the list, if present; returns null otherwise. + + + + Gets an individual policy. + + to search. + The interface the policy is registered under. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy in the list, if present; returns null otherwise. + + + + Get the non default policy. + + The interface the policy is registered under. + to search. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy in the list, if present; returns null otherwise. + + + + Get the non default policy. + + The interface the policy is registered under. + to search. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy list that actually contains the returned policy. + The policy in the list, if present; returns null otherwise. + + + + Get the non default policy. + + to search. + The interface the policy is registered under. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy in the list, if present; returns null otherwise. + + + + Sets an individual policy. + + The interface the policy is registered under. + to add the policy to. + The policy to be registered. + The key the policy applies. + + + + Sets a default policy. When checking for a policy, if no specific individual policy + is available, the default will be used. + + The interface to register the policy under. + to add the policy to. + The default policy to be registered. + + + + Base class for the current operation stored in the build context. + + + + + Create a new . + + Type currently being built. + + + + The type that's currently being built. + + + + + Build plan for that will return a Func that will resolve the requested type + through this container later. + + + + + A build plan is an object that, when invoked, will create a new object + or fill in a given existing one. It encapsulates all the information + gathered by the strategies to construct a particular object. + + + + + Creates an instance of this build plan's type, or fills + in the existing type if passed in. + + Context used to build up the object. + + + + Creates an instance of this build plan's type, or fills + in the existing type if passed in. + + Context used to build up the object. + + + + The almost inevitable collection of extra helper methods on + to augment the rich set of what + LINQ already gives us. + + + + + Execute the provided on every item in . + + Type of the items stored in + Sequence of items to process. + Code to run over each item. + + + + Create a single string from a sequence of items, separated by the provided , + and with the conversion to string done by the given . + + This method does basically the same thing as , + but will work on any sequence of items, not just arrays. + Type of items in the sequence. + Sequence of items to convert. + Separator to place between the items in the string. + The conversion function to change TItem -> string. + The resulting string. + + + + Create a single string from a sequence of items, separated by the provided , + and with the conversion to string done by the item's method. + + This method does basically the same thing as , + but will work on any sequence of items, not just arrays. + Type of items in the sequence. + Sequence of items to convert. + Separator to place between the items in the string. + The resulting string. + + + + A class that lets you + override a named parameter passed to a constructor. + + + + + Construct a new object that will + override the given named constructor parameter, and pass the given + value. + + Name of the constructor parameter. + Value to pass for the constructor. + + + + Return a that can be used to give a value + for the given desired dependency. + + Current build context. + Type of dependency desired. + a object if this override applies, null if not. + + + + A convenience form of that lets you + specify multiple parameter overrides in one shot rather than having + to construct multiple objects. + + + + + When implemented in derived classes, this method is called from the + method to create the actual objects. + + Key value to create the resolver. + Value to store in the resolver. + The created . + + + + A that lets you override + the value for a specified property. + + + + + Create an instance of . + + The property name. + Value to use for the property. + + + + Return a that can be used to give a value + for the given desired dependency. + + Current build context. + Type of dependency desired. + a object if this override applies, null if not. + + + + A convenience form of that lets you + specify multiple property overrides in one shot rather than having + to construct multiple objects. + + + + + When implemented in derived classes, this method is called from the + method to create the actual objects. + + Key value to create the resolver. + Value to store in the resolver. + The created . + + + + Interface defining the configuration interface exposed by the + Static Factory extension. + + + + + Base interface for all extension configuration interfaces. + + + + + Retrieve the container instance that we are currently configuring. + + + + + Register the given factory delegate to be called when the container is + asked to resolve . + + Type that will be requested from the container. + Delegate to invoke to create the instance. + The container extension object this method was invoked on. + + + + Register the given factory delegate to be called when the container is + asked to resolve and . + + Type that will be requested from the container. + The name that will be used when requesting to resolve this type. + Delegate to invoke to create the instance. + The container extension object this method was invoked on. + + + + Represents the context in which a build-up or tear-down operation runs. + + + + + Represents the context in which a build-up or tear-down operation runs. + + + + + Add a new set of resolver override objects to the current build operation. + + objects to add. + + + + Get a object for the given + or null if that dependency hasn't been overridden. + + Type of the dependency. + Resolver to use, or null if no override matches for the current operation. + + + + A convenience method to do a new buildup operation on an existing context. + + Key to use to build up. + Created object. + + + + A convenience method to do a new buildup operation on an existing context. This + overload allows you to specify extra policies which will be in effect for the duration + of the build. + + Key defining what to build up. + A delegate that takes a . This + is invoked with the new child context before the build up process starts. This gives callers + the opportunity to customize the context for the build process. + Created object. + + + + Gets the head of the strategy chain. + + + The strategy that's first in the chain; returns null if there are no + strategies in the chain. + + + + + Gets the associated with the build. + + + The associated with the build. + + + + + Gets the original build key for the build operation. + + + The original build key for the build operation. + + + + + Get the current build key for the current build operation. + + + + + The set of policies that were passed into this context. + + This returns the policies passed into the context. + Policies added here will remain after buildup completes. + The persistent policies for the current context. + + + + Gets the policies for the current context. + + Any policies added to this object are transient + and will be erased at the end of the buildup. + + The policies for the current context. + + + + + Gets the collection of objects + that need to execute in event of an exception. + + + + + The current object being built up or torn down. + + + The current object being manipulated by the build operation. May + be null if the object hasn't been created yet. + + + + Flag indicating if the build operation should continue. + + true means that building should not call any more + strategies, false means continue to the next strategy. + + + + An object representing what is currently being done in the + build chain. Used to report back errors if there's a failure. + + + + + The build context used to resolve a dependency during the build operation represented by this context. + + + + + Initialize a new instance of the class. + + + + + Initialize a new instance of the class with a , + , and the + build key used to start this build operation. + + The to use for this context. + The to use for this context. + The to use for this context. + Build key to start building. + The existing object to build up. + + + + Create a new using the explicitly provided + values. + + The to use for this context. + The to use for this context. + The set of persistent policies to use for this context. + The set of transient policies to use for this context. It is + the caller's responsibility to ensure that the transient and persistent policies are properly + combined. + Build key for this context. + Existing object to build up. + + + + Create a new using the explicitly provided + values. + + The to use for this context. + The to use for this context. + The set of persistent policies to use for this context. + The set of transient policies to use for this context. It is + the caller's responsibility to ensure that the transient and persistent policies are properly + combined. + Build key for this context. + The resolver overrides. + + + + Add a new set of resolver override objects to the current build operation. + + objects to add. + + + + Get a object for the given + or null if that dependency hasn't been overridden. + + Type of the dependency. + Resolver to use, or null if no override matches for the current operation. + + + + A convenience method to do a new buildup operation on an existing context. + + Key to use to build up. + Created object. + + + + A convenience method to do a new buildup operation on an existing context. This + overload allows you to specify extra policies which will be in effect for the duration + of the build. + + Key defining what to build up. + A delegate that takes a . This + is invoked with the new child context before the build up process starts. This gives callers + the opportunity to customize the context for the build process. + Created object. + + + + Gets the head of the strategy chain. + + + The strategy that's first in the chain; returns null if there are no + strategies in the chain. + + + + + Get the current build key for the current build operation. + + + + + The current object being built up or torn down. + + + The current object being manipulated by the build operation. May + be null if the object hasn't been created yet. + + + + Gets the associated with the build. + + + The associated with the build. + + + + + Gets the original build key for the build operation. + + + The original build key for the build operation. + + + + + The set of policies that were passed into this context. + + This returns the policies passed into the context. + Policies added here will remain after buildup completes. + The persistent policies for the current context. + + + + Gets the policies for the current context. + + + Any modifications will be transient (meaning, they will be forgotten when + the outer BuildUp for this context is finished executing). + + + The policies for the current context. + + + + + Gets the collection of objects + that need to execute in event of an exception. + + + + + Flag indicating if the build operation should continue. + + true means that building should not call any more + strategies, false means continue to the next strategy. + + + + An object representing what is currently being done in the + build chain. Used to report back errors if there's a failure. + + + + + The build context used to resolve a dependency during the build operation represented by this context. + + + + + Represents that a dependency could not be resolved. + + + + + Initializes a new instance of the class with no extra information. + + + + + Initializes a new instance of the class with the given message. + + Some random message. + + + + Initialize a new instance of the class with the given + message and inner exception. + + Some random message + Inner exception. + + + + Initializes a new instance of the class with the build key of the object begin built. + + The build key of the object begin built. + + + + The exception thrown when injection is attempted on a method + that is an open generic or has out or ref params. + + + + + Construct a new with no + message. + + + + + Construct a with the given message + + Message to return. + + + + Construct a with the given message + and inner exception. + + Message to return. + Inner exception + + + + Extension methods to provide convenience overloads over the + interface. + + + + + Start a recursive build up operation to retrieve the default + value for the given type. + + Type of object to build. + Parent context. + Resulting object. + + + + Start a recursive build up operation to retrieve the named + implementation for the given type. + + Type to resolve. + Parent context. + Name to resolve with. + The resulting object. + + + + Add a set of s to the context, specified as a + variable argument list. + + Context to add overrides to. + The overrides. + + + + Data structure that stores the set of + objects and executes them when requested. + + + + + Add a new object to this + list. + + Object to add. + + + + Execute the method + of everything in the recovery list. Recoveries will execute + in the opposite order of add - it's a stack. + + + + + Return the number of recovery objects currently in the stack. + + + + + Represents a lifetime container. + + + A lifetime container tracks the lifetime of an object, and implements + IDisposable. When the container is disposed, any objects in the + container which implement IDisposable are also disposed. + + + + + Adds an object to the lifetime container. + + The item to be added to the lifetime container. + + + + Determine if a given object is in the lifetime container. + + + The item to locate in the lifetime container. + + + Returns true if the object is contained in the lifetime + container; returns false otherwise. + + + + + Removes an item from the lifetime container. The item is + not disposed. + + The item to be removed. + + + + Gets the number of references in the lifetime container + + + The number of references in the lifetime container + + + + + Represents a lifetime container. + + + A lifetime container tracks the lifetime of an object, and implements + IDisposable. When the container is disposed, any objects in the + container which implement IDisposable are also disposed. + + + + + Adds an object to the lifetime container. + + The item to be added to the lifetime container. + + + + Determine if a given object is in the lifetime container. + + + The item to locate in the lifetime container. + + + Returns true if the object is contained in the lifetime + container; returns false otherwise. + + + + + Releases the resources used by the . + + + + + Releases the resources used by the . + + + true to release managed and unmanaged resources; false to release only unmanaged resources. + + + + + Returns an enumerator that iterates through the lifetime container. + + + An object that can be used to iterate through the life time container. + + + + + Returns an enumerator that iterates through the lifetime container. + + + An object that can be used to iterate through the life time container. + + + + + Removes an item from the lifetime container. The item is + not disposed. + + The item to be removed. + + + + Gets the number of references in the lifetime container + + + The number of references in the lifetime container + + + + + A custom collection over objects. + + + + + Removes an individual policy type for a build key. + + The type of policy to remove. + The key the policy applies. + + + + Removes all policies from the list. + + + + + Removes a default policy. + + The type the policy was registered as. + + + + Gets an individual policy. + + The interface the policy is registered under. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy list in the chain that the searched for policy was found in, null if the policy was + not found. + The policy in the list, if present; returns null otherwise. + + + + Get the non default policy. + + The interface the policy is registered under. + The key the policy applies to. + True if the search should be in the local policy list only; otherwise false to search up the parent chain. + The policy list in the chain that the searched for policy was found in, null if the policy was + not found. + The policy in the list if present; returns null otherwise. + + + + Sets an individual policy. + + The of the policy. + The policy to be registered. + The key the policy applies. + + + + Sets a default policy. When checking for a policy, if no specific individual policy + is available, the default will be used. + + The interface to register the policy under. + The default policy to be registered. + + + + A custom collection wrapper over objects. + + + + + Initialize a new instance of a class. + + + + + Initialize a new instance of a class with another policy list. + + An inner policy list to search. + + + + Removes an individual policy type for a build key. + + The type of policy to remove. + The key the policy applies. + + + + Removes all policies from the list. + + + + + Removes a default policy. + + The type the policy was registered as. + + + + Gets an individual policy. + + The interface the policy is registered under. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy list in the chain that the searched for policy was found in, null if the policy was + not found. + The policy in the list, if present; returns null otherwise. + + + + Get the non default policy. + + The interface the policy is registered under. + The key the policy applies to. + True if the search should be in the local policy list only; otherwise false to search up the parent chain. + The policy list in the chain that the searched for policy was found in, null if the policy was + not found. + The policy in the list if present; returns null otherwise. + + + + Sets an individual policy. + + The of the policy. + The policy to be registered. + The key the policy applies. + + + + Sets a default policy. When checking for a policy, if no specific individual policy + is available, the default will be used. + + The interface to register the policy under. + The default policy to be registered. + + + + Gets the number of items in the locator. + + + The number of items in the locator. + + + + + An implementation of . + + + + + Add a new object to this + list. + + Object to add. + + + + Execute the method + of everything in the recovery list. Recoveries will execute + in the opposite order of add - it's a stack. + + + + + Return the number of recovery objects currently in the stack. + + + + + Implementation of which will notify an object about + the completion of a BuildUp operation, or start of a TearDown operation. + + + This strategy checks the object that is passing through the builder chain to see if it + implements IBuilderAware and if it does, it will call + and . This strategy is meant to be used from the + stage. + + + + + Called during the chain of responsibility for a build operation. The + PreBuildUp method is called when the chain is being executed in the + forward direction. + + Context of the build operation. + + + + Called during the chain of responsibility for a teardown operation. The + PreTearDown method is called when the chain is being executed in the + forward direction. + + Context of the teardown operation. + + + + Implemented on a class when it wants to receive notifications + about the build process. + + + + + Called by the when the object is being built up. + + The key of the object that was just built up. + + + + Called by the when the object is being torn down. + + + + + Enumeration to represent the object builder stages. + + + The order of the values in the enumeration is the order in which the stages are run. + + + + + Strategies in this stage run before creation. Typical work done in this stage might + include strategies that use reflection to set policies into the context that other + strategies would later use. + + + + + Strategies in this stage create objects. Typically you will only have a single policy-driven + creation strategy in this stage. + + + + + Strategies in this stage work on created objects. Typical work done in this stage might + include setter injection and method calls. + + + + + Strategies in this stage work on objects that are already initialized. Typical work done in + this stage might include looking to see if the object implements some notification interface + to discover when its initialization stage has been completed. + + + + + Represents a builder policy for mapping build keys. + + + + + Represents a builder policy for mapping build keys. + + + + + Maps the build key. + + The build key to map. + Current build context. Used for contextual information + if writing a more sophisticated mapping. This parameter can be null + (called when getting container registrations). + The new build key. + + + + Initialize a new instance of the with the new build key. + + The new build key. + + + + Maps the build key. + + The build key to map. + Current build context. Used for contextual information + if writing a more sophisticated mapping, unused in this implementation. + The new build key. + + + + Represents a strategy for mapping build keys in the build up operation. + + + + + Called during the chain of responsibility for a build operation. Looks for the + and if found maps the build key for the current operation. + + The context for the operation. + + + + An implementation of that can map + generic types. + + + + + Create a new instance + that will map generic types. + + Build key to map to. This must be or contain an open generic type. + + + + Maps the build key. + + The build key to map. + Current build context. Used for contextual information + if writing a more sophisticated mapping. + The new build key. + + + + A that will look for a build plan + in the current context. If it exists, it invokes it, otherwise + it creates one and stores it for later, and invokes it. + + + + + Called during the chain of responsibility for a build operation. + + The context for the operation. + + + + An implementation of that chooses + constructors based on these criteria: first, pick a constructor marked with the + attribute. If there + isn't one, then choose the constructor with the longest parameter list. If that is ambiguous, + then throw. + + Thrown when the constructor to choose is ambiguous. + Attribute used to mark the constructor to call. + + + + Base class that provides an implementation of + which lets you override how the parameter resolvers are created. + + + + + A that, when implemented, + will determine which constructor to call from the build plan. + + + + + Choose the constructor to call for the given type. + + Current build context + The to add any + generated resolver objects into. + The chosen constructor. + + + + Choose the constructor to call for the given type. + + Current build context + The to add any + generated resolver objects into. + The chosen constructor. + + + + Create a instance for the given + . + + Parameter to create the resolver for. + The resolver object. + + + + Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. + + The second object to compare. + The first object to compare. + + Value Condition Less than zero is less than y. Zero equals y. Greater than zero is greater than y. + + + + + Create a instance for the given + . + + Parameter to create the resolver for. + The resolver object. + + + + Objects of this type are the return value from . + It encapsulates the desired with the string keys + needed to look up the for each + parameter. + + + + + Base class for return values from selector policies that + return a MemberInfo of some sort plus a list of parameter + keys to look up the parameter resolvers. + + + + + Base class for return of selector policies that need + to keep track of a set of parameter resolvers. + + + + + Adds the parameter resolver. Resolvers are assumed + to be in the order of the parameters to the member. + + The new resolver. + + + + Gets the parameter resolvers. + + An array with the parameter resolvers. + + + + Construct a new , storing + the given member info. + + Member info to store. + + + + The member info stored. + + + + + Create a new instance which + contains the given constructor. + + The constructor to wrap. + + + + The constructor this object wraps. + + + + + This class records the information about which constructor argument is currently + being resolved, and is responsible for generating the error string required when + an error has occurred. + + + + + Initializes a new instance of the class. + + The type that is being constructed. + A string representing the constructor being called. + Parameter being resolved. + + + + Generate the string describing what parameter was being resolved. + + The description string. + + + + String describing the constructor being set up. + + + + + Parameter that's being resolved. + + + + + A that emits IL to call constructors + as part of creating a build plan. + + + + + Called during the chain of responsibility for a build operation. + + Existing object is an instance of . + The context for the operation. + + + + A helper method used by the generated IL to set up a PerResolveLifetimeManager lifetime manager + if the current object is such. + + Current build context. + + + + Build up the string that will represent the constructor signature + in any exception message. + + + + + + + A helper method used by the generated IL to store the current operation in the build context. + + + + + A helper method used by the generated IL to store the current operation in the build context. + + + + + A helper method used by the generated IL to throw an exception if + no existing object is present, but the user is attempting to build + an interface (usually due to the lack of a type mapping). + + The currently being + used for the build of this object. + + + + A helper method used by the generated IL to throw an exception if + no existing object is present, but the user is attempting to build + an abstract class (usually due to the lack of a type mapping). + + The currently being + used for the build of this object. + + + + A helper method used by the generated IL to throw an exception if + no existing object is present, but the user is attempting to build + an delegate other than Func{T} or Func{IEnumerable{T}}. + + The currently being + used for the build of this object. + + + + A helper method used by the generated IL to throw an exception if + a dependency cannot be resolved. + + The currently being + used for the build of this object. + + + + A helper method used by the generated IL to throw an exception if + a dependency cannot be resolved because of an invalid constructor. + + The currently being + used for the build of this object. + The signature of the invalid constructor. + + + + A class that records that a constructor is about to be call, and is + responsible for generating the error string required when + an error has occurred. + + + + + Initializes a new instance of the class. + + + + + Generate the description string. + + The string. + + + + Constructor we're trying to call. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Helper method used by generated IL to look up a dependency resolver based on the given key. + + Current build context. + Type of the dependency being resolved. + Key the resolver was stored under. + The found dependency resolver. + + + + Helper method used by generated IL to look up a dependency resolver based on the given key. + + Current build context. + Type of the dependency being resolved. + The configured resolver. + The found dependency resolver. + + + + The type that is to be built with the dynamic build plan. + + + + + The context parameter representing the used when the build plan is executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + An implementation + that constructs a build plan via dynamic IL emission. + + + + + Construct a that + uses the given strategy chain to construct the build plan. + + The strategy chain. + + + + Construct a build plan. + + The current build context. + The current build key. + The created build plan. + + + + A class that records that a constructor is about to be call, and is + responsible for generating the error string required when + an error has occurred. + + + + + Initializes a new instance of the class. + + + + + Generate the description string. + + The string. + + + + Method we're trying to call. + + + + + This class records the information about which constructor argument is currently + being resolved, and is responsible for generating the error string required when + an error has occurred. + + + + + Initializes a new instance of the class. + + The type that is being constructed. + A string representing the method being called. + Parameter being resolved. + + + + Generate the string describing what parameter was being resolved. + + The description string. + + + + String describing the method being set up. + + + + + Parameter that's being resolved. + + + + + A that generates IL to call + chosen methods (as specified by the current ) + as part of object build up. + + + + + Called during the chain of responsibility for a build operation. The + PreBuildUp method is called when the chain is being executed in the + forward direction. + + Context of the build operation. + + + + A helper method used by the generated IL to store the current operation in the build context. + + + + + A helper method used by the generated IL to store the current operation in the build context. + + + + + A base class that holds the information shared by all operations + performed by the container while setting properties. + + + + + Initializes a new instance of the class. + + + + + Generate the description of this operation. + + The string. + + + + Get a format string used to create the description. Called by + the base method. + + The format string. + + + + The property value currently being resolved. + + + + + This class records the information about which property value is currently + being resolved, and is responsible for generating the error string required when + an error has occurred. + + + + + Initializes a new instance of the class. + + + + + Get a format string used to create the description. Called by + the base method. + + The format string. + + + + A that generates IL to resolve properties + on an object being built. + + + + + Called during the chain of responsibility for a build operation. + + The context for the operation. + + + + A helper method used by the generated IL to store the current operation in the build context. + + + + + A helper method used by the generated IL to store the current operation in the build context. + + + + + This class records the information about which property value is currently + being set, and is responsible for generating the error string required when + an error has occurred. + + + + + Initializes a new instance of the class. + + Type property is on. + Name of property being set. + + + + Get a format string used to create the description. Called by + the base method. + + The format string. + + + + Creates an instance of this build plan's type, or fills + in the existing type if passed in. + + Context used to build up the object. + + + + An that will examine the given + types and return a sequence of objects + that should be called as part of building the object. + + + + + Return the sequence of methods to call while building the target object. + + Current build context. + The to add any + generated resolver objects into. + Sequence of methods to call. + + + + An implementation of that selects + methods by looking for the given + attribute on those methods. + + Type of attribute used to mark methods + to inject. + + + + Base class that provides an implementation of + which lets you override how the parameter resolvers are created. + + Attribute that marks methods that should + be called. + + + + Return the sequence of methods to call while building the target object. + + Current build context. + The to add any + generated resolver objects into. + Sequence of methods to call. + + + + Create a instance for the given + . + + Parameter to create the resolver for. + The resolver object. + + + + Create a instance for the given + . + + Parameter to create the resolver for. + The resolver object. + + + + Objects of this type are the return value from . + It encapsulates the desired with the string keys + needed to look up the for each + parameter. + + + + + Create a new instance which + contains the given method. + + The method + + + + The constructor this object wraps. + + + + + An that returns a sequence + of properties that should be injected for the given type. + + + + + Returns sequence of properties on the given type that + should be set as part of building that object. + + Current build context. + The to add any + generated resolver objects into. + Sequence of objects + that contain the properties to set. + + + + Base class that provides an implementation of + which lets you override how the parameter resolvers are created. + + + + + Returns sequence of properties on the given type that + should be set as part of building that object. + + Current build context. + The to add any + generated resolver objects into. + Sequence of objects + that contain the properties to set. + + + + Create a for the given + property. + + Property to create resolver for. + The resolver object. + + + + An implementation of that looks + for properties marked with the + attribute that are also settable and not indexers. + + + + + + Create a for the given + property. + + Property to create resolver for. + The resolver object. + + + + Objects of this type are returned from + . + This class combines the about + the property with the string key used to look up the resolver + for this property's value. + + + + + Create an instance of + with the given and key. + + The property. + + + + + PropertyInfo for this property. + + + + + IDependencyResolverPolicy for this property + + + + + Implementation of . + + + + + A builder policy that lets you keep track of the current + resolvers and will remove them from the given policy set. + + + + + Add a new resolver to track by key. + + Key that was used to add the resolver to the policy set. + + + + Remove the currently tracked resolvers from the given policy list. + + Policy list to remove the resolvers from. + + + + Add a new resolver to track by key. + + Key that was used to add the resolver to the policy set. + + + + Remove the currently tracked resolvers from the given policy list. + + Policy list to remove the resolvers from. + + + + Get an instance that implements , + either the current one in the policy set or creating a new one if it doesn't + exist. + + Policy list to look up from. + Build key to track. + The resolver tracker. + + + + Add a key to be tracked to the current tracker. + + Policy list containing the resolvers and trackers. + Build key for the resolvers being tracked. + Key for the resolver. + + + + Remove the resolvers for the given build key. + + Policy list containing the build key. + Build key. + + + + An implementation of that + calls back into the build chain to build up the dependency, passing + a type given at compile time as its build key. + + + + + Create a new instance storing the given type. + + Type to resolve. + + + + Get the value for a dependency. + + Current build context. + The value for the dependency. + + + + This interface defines a standard method to convert any regardless + of the stage enum into a regular, flat strategy chain. + + + + + Convert this into + a flat . + + The flattened . + + + + Represents a chain of responsibility for builder strategies. + + + + + Reverse the order of the strategy chain. + + The reversed strategy chain. + + + + Execute this strategy chain against the given context, + calling the Buildup methods on the strategies. + + Context for the build process. + The build up object + + + + Execute this strategy chain against the given context, + calling the TearDown methods on the strategies. + + Context for the teardown process. + + + + A builder policy used to create lifetime policy instances. + Used by the LifetimeStrategy when instantiating open + generic types. + + + + + Create a new instance of . + + The new instance. + + + + The type of Lifetime manager that will be created by this factory. + + + + + An implementation that uses + a to figure out if an object + has already been created and to update or remove that + object from some backing store. + + + + + Called during the chain of responsibility for a build operation. The + PreBuildUp method is called when the chain is being executed in the + forward direction. + + Context of the build operation. + + + + Called during the chain of responsibility for a build operation. The + PostBuildUp method is called when the chain has finished the PreBuildUp + phase and executes in reverse order from the PreBuildUp calls. + + Context of the build operation. + + + + Represents a chain of responsibility for builder strategies partitioned by stages. + + The stage enumeration to partition the strategies. + + + + Initialize a new instance of the class. + + + + + Initialize a new instance of the class with an inner strategy chain to use when building. + + The inner strategy chain to use first when finding strategies in the build operation. + + + + Adds a strategy to the chain at a particular stage. + + The strategy to add to the chain. + The stage to add the strategy. + + + + Add a new strategy for the . + + The of + The stage to add the strategy. + + + + Clear the current strategy chain list. + + + This will not clear the inner strategy chain if this instance was created with one. + + + + + Makes a strategy chain based on this instance. + + A new . + + + + Represents a chain of responsibility for builder strategies. + + + + + Initialize a new instance of the class. + + + + + Initialize a new instance of the class with a collection of strategies. + + A collection of strategies to initialize the chain. + + + + Adds a strategy to the chain. + + The strategy to add to the chain. + + + + Adds strategies to the chain. + + The strategies to add to the chain. + + + + Reverse the order of the strategy chain. + + The reversed strategy chain. + + + + Execute this strategy chain against the given context to build up. + + Context for the build processes. + The build up object + + + + Execute this strategy chain against the given context, + calling the TearDown methods on the strategies. + + Context for the teardown process. + + + + Returns an enumerator that iterates through the collection. + + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + + An object that can be used to iterate through the collection. + + + + + Build key used to combine a type object with a string name. Used by + ObjectBuilder to indicate exactly what is being built. + + + + + Create a new instance with the given + type and name. + + to build. + Key to use to look up type mappings and singletons. + + + + Create a new instance for the default + buildup of the given type. + + to build. + + + + This helper method creates a new instance. It is + initialized for the default key for the given type. + + Type to build. + A new instance. + + + + This helper method creates a new instance for + the given type and key. + + Type to build + Key to use to look up type mappings and singletons. + A new instance initialized with the given type and name. + + + + Compare two instances. + + Two instances compare equal + if they contain the same name and the same type. Also, comparing + against a different type will also return false. + Object to compare to. + True if the two keys are equal, false if not. + + + + Calculate a hash code for this instance. + + A hash code. + + + + Compare two instances for equality. + + Two instances compare equal + if they contain the same name and the same type. + First of the two keys to compare. + Second of the two keys to compare. + True if the values of the keys are the same, else false. + + + + Compare two instances for inequality. + + Two instances compare equal + if they contain the same name and the same type. If either field differs + the keys are not equal. + First of the two keys to compare. + Second of the two keys to compare. + false if the values of the keys are the same, else true. + + + + Formats the build key as a string (primarily for debugging). + + A readable string representation of the build key. + + + + Return the stored in this build key. + + The type to build. + + + + Returns the name stored in this build key. + + The name to use when building. + + + + A generic version of so that + you can new up a key using generic syntax. + + Type for the key. + + + + Construct a new that + specifies the given type. + + + + + Construct a new that + specifies the given type and name. + + Name for the key. + + + + A series of helper methods to deal with sequences - + objects that implement . + + + + + A function that turns an arbitrary parameter list into an + . + + Type of arguments. + The items to put into the collection. + An array that contains the values of the . + + + + Given two sequences, return a new sequence containing the corresponding values + from each one. + + Type of first sequence. + Type of second sequence. + First sequence of items. + Second sequence of items. + New sequence of pairs. This sequence ends when the shorter of sequence1 and sequence2 does. + + + + A that lets you register a + delegate with the container to create an object, rather than calling + the object's constructor. + + + + + Base class for all extension objects. + + + + + The container calls this method when the extension is added. + + A instance that gives the + extension access to the internals of the container. + + + + Initial the container with this extension's functionality. + + + When overridden in a derived class, this method will modify the given + by adding strategies, policies, etc. to + install it's functions into the container. + + + + Removes the extension's functions from the container. + + + + This method is called when extensions are being removed from the container. It can be + used to do things like disconnect event handlers or clean up member state. You do not + need to remove strategies or policies here; the container will do that automatically. + + + The default implementation of this method does nothing. + + + + + The container this extension has been added to. + + The that this extension has been added to. + + + + The object used to manipulate + the inner state of the container. + + + + + Initialize this extension. This particular extension requires no + initialization work. + + + + + Register the given factory delegate to be called when the container is + asked to resolve and . + + Type that will be requested from the container. + The name that will be used when requesting to resolve this type. + Delegate to invoke to create the instance. + The container extension object this method was invoked on. + + + + Register the given factory delegate to be called when the container is + asked to resolve . + + Type that will be requested from the container. + Delegate to invoke to create the instance. + The container extension object this method was invoked on. + + + + An implementation of that + acts as a decorator over another . + This checks to see if the current type being built is the + right one before checking the inner . + + + + + Create an instance of + + Type to check for. + Inner override to check after type matches. + + + + Return a that can be used to give a value + for the given desired dependency. + + Current build context. + Type of dependency desired. + a object if this override applies, null if not. + + + + A convenience version of that lets you + specify the type to construct via generics syntax. + + Type to check for. + + + + Create an instance of . + + Inner override to check after type matches. + + + + Extension class that adds a set of convenience overloads to the + interface. + + + + + Register a type with specific members to be injected. + + Type this registration is for. + Container to configure. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type mapping with the container. + + + + This method is used to tell the container that when asked for type , + actually return an instance of type . This is very useful for + getting instances of interfaces. + + + This overload registers a default mapping and transient lifetime. + + + that will be requested. + that will actually be returned. + Container to configure. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type mapping with the container, where the created instances will use + the given . + + that will be requested. + that will actually be returned. + Container to configure. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type mapping with the container. + + + This method is used to tell the container that when asked for type , + actually return an instance of type . This is very useful for + getting instances of interfaces. + + that will be requested. + that will actually be returned. + Container to configure. + Name of this mapping. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type mapping with the container, where the created instances will use + the given . + + that will be requested. + that will actually be returned. + Container to configure. + Name to use for registration, null if a default registration. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a for the given type with the container. + No type mapping is performed for this type. + + The type to apply the to. + Container to configure. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a for the given type with the container. + No type mapping is performed for this type. + + The type to configure injection on. + Container to configure. + Name that will be used to request the type. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a for the given type and name with the container. + No type mapping is performed for this type. + + The type to apply the to. + Container to configure. + Name that will be used to request the type. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type with specific members to be injected. + + Container to configure. + Type this registration is for. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type mapping with the container. + + + + This method is used to tell the container that when asked for type , + actually return an instance of type . This is very useful for + getting instances of interfaces. + + + This overload registers a default mapping. + + + Container to configure. + that will be requested. + that will actually be returned. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type mapping with the container. + + + This method is used to tell the container that when asked for type , + actually return an instance of type . This is very useful for + getting instances of interfaces. + + Container to configure. + that will be requested. + that will actually be returned. + Name to use for registration, null if a default registration. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type mapping with the container, where the created instances will use + the given . + + Container to configure. + that will be requested. + that will actually be returned. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a for the given type and name with the container. + No type mapping is performed for this type. + + Container to configure. + The to apply the to. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a for the given type and name with the container. + No type mapping is performed for this type. + + Container to configure. + The to configure in the container. + Name to use for registration, null if a default registration. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a for the given type and name with the container. + No type mapping is performed for this type. + + Container to configure. + The to apply the to. + Name to use for registration, null if a default registration. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + This overload does a default registration and has the container take over the lifetime of the instance. + + Type of instance to register (may be an implemented interface instead of the full type). + Container to configure. + Object to returned. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + This overload does a default registration (name = null). + + + Type of instance to register (may be an implemented interface instead of the full type). + Container to configure. + Object to returned. + + object that controls how this instance will be managed by the container. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + This overload automatically has the container take ownership of the . + + Type of instance to register (may be an implemented interface instead of the full type). + Object to returned. + Container to configure. + Name for registration. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + Type of instance to register (may be an implemented interface instead of the full type). + Object to returned. + Container to configure. + Name for registration. + + object that controls how this instance will be managed by the container. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + This overload does a default registration and has the container take over the lifetime of the instance. + + Container to configure. + Type of instance to register (may be an implemented interface instead of the full type). + Object to returned. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + This overload does a default registration (name = null). + + + Container to configure. + Type of instance to register (may be an implemented interface instead of the full type). + Object to returned. + + object that controls how this instance will be managed by the container. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + This overload automatically has the container take ownership of the . + + Container to configure. + Type of instance to register (may be an implemented interface instead of the full type). + Object to returned. + Name for registration. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Resolve an instance of the default requested type from the container. + + of object to get from the container. + Container to resolve from. + Any overrides for the resolve call. + The retrieved object. + + + + Resolve an instance of the requested type with the given name from the container. + + of object to get from the container. + Container to resolve from. + Name of the object to retrieve. + Any overrides for the resolve call. + The retrieved object. + + + + Resolve an instance of the default requested type from the container. + + Container to resolve from. + of object to get from the container. + Any overrides for the resolve call. + The retrieved object. + + + + Return instances of all registered types requested. + + + + This method is useful if you've registered multiple types with the same + but different names. + + + Be aware that this method does NOT return an instance for the default (unnamed) registration. + + + The type requested. + Container to resolve from. + Any overrides for the resolve calls. + Set of objects of type . + + + + Run an existing object through the container and perform injection on it. + + + + This method is useful when you don't control the construction of an + instance (ASP.NET pages or objects created via XAML, for instance) + but you still want properties and other injection performed. + + + This overload uses the default registrations. + + + of object to perform injection on. + Container to resolve through. + Instance to build up. + Any overrides for the buildup. + The resulting object. By default, this will be , but + container extensions may add things like automatic proxy creation which would + cause this to return a different object (but still type compatible with ). + + + + Run an existing object through the container and perform injection on it. + + + + This method is useful when you don't control the construction of an + instance (ASP.NET pages or objects created via XAML, for instance) + but you still want properties and other injection performed. + + of object to perform injection on. + Container to resolve through. + Instance to build up. + name to use when looking up the typemappings and other configurations. + Any overrides for the Buildup. + The resulting object. By default, this will be , but + container extensions may add things like automatic proxy creation which would + cause this to return a different object (but still type compatible with ). + + + + Run an existing object through the container and perform injection on it. + + + + This method is useful when you don't control the construction of an + instance (ASP.NET pages or objects created via XAML, for instance) + but you still want properties and other injection performed. + + + This overload uses the default registrations. + + + Container to resolve through. + of object to perform injection on. + Instance to build up. + Any overrides for the Buildup. + The resulting object. By default, this will be , but + container extensions may add things like automatic proxy creation which would + cause this to return a different object (but still type compatible with ). + + + + Creates a new extension object and adds it to the container. + + Type of to add. The extension type + will be resolved from within the supplied . + Container to add the extension to. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Resolve access to a configuration interface exposed by an extension. + + Extensions can expose configuration interfaces as well as adding + strategies and policies to the container. This method walks the list of + added extensions and returns the first one that implements the requested type. + + The configuration interface required. + Container to configure. + The requested extension's configuration interface, or null if not found. + + + + Check if a particular type has been registered with the container with + the default name. + + Container to inspect. + Type to check registration for. + True if this type has been registered, false if not. + + + + Check if a particular type/name pair has been registered with the container. + + Container to inspect. + Type to check registration for. + Name to check registration for. + True if this type/name pair has been registered, false if not. + + + + Check if a particular type has been registered with the container with the default name. + + Type to check registration for. + Container to inspect. + True if this type has been registered, false if not. + + + + Check if a particular type/name pair has been registered with the container. + + Type to check registration for. + Container to inspect. + Name to check registration for. + True if this type/name pair has been registered, false if not. + + + + The class provides the means for extension objects + to manipulate the internal state of the . + + + + + Store a type/name pair for later resolution. + + + + When users register type mappings (or other things) with a named key, this method + allows you to register that name with the container so that when the + method is called, that name is included in the list that is returned. + + to register. + Name associated with that type. + + + + The container that this context is associated with. + + The object. + + + + The strategies this container uses. + + The that the container uses to build objects. + + + + The strategies this container uses to construct build plans. + + The that this container uses when creating + build plans. + + + + The policies this container uses. + + The the that container uses to build objects. + + + + The that this container uses. + + The is used to manage objects that the container is managing. + + + + This event is raised when the method, + or one of its overloads, is called. + + + + + This event is raised when the method, + or one of its overloads, is called. + + + + + This event is raised when the method is called, providing + the newly created child container to extensions to act on as they see fit. + + + + + An EventArgs class that holds a string Name. + + + + + Create a new with a null name. + + + + + Create a new with the given name. + + Name to store. + + + + The name. + + Name used for this EventArg object. + + + + Event argument class for the event. + + + + + Create a new instance of . + + Type to map from. + Type to map to. + Name for the registration. + to manage instances. + + + + Type to map from. + + + + + Type to map to. + + + + + to manage instances. + + + + + Event argument class for the event. + + + + + Create a default instance. + + + + + Create a instance initialized with the given arguments. + + Type of instance being registered. + The instance object itself. + Name to register under, null if default registration. + object that handles how + the instance will be owned. + + + + Type of instance being registered. + + + Type of instance being registered. + + + + + Instance object being registered. + + Instance object being registered + + + + that controls ownership of + this instance. + + + + + A that lets you specify that + an instance of a generic type parameter should be resolved. + + + + + Create a new instance that specifies + that the given named generic parameter should be resolved. + + The generic parameter name to resolve. + + + + Create a new instance that specifies + that the given named generic parameter should be resolved. + + The generic parameter name to resolve. + name to use when looking up in the container. + + + + Return a instance that will + return this types value for the parameter. + + The actual type to resolve. + The resolution key. + The . + + + + A that lets you specify that + an array containing the registered instances of a generic type parameter + should be resolved. + + + + + Create a new instance that specifies + that the given named generic parameter should be resolved. + + The generic parameter name to resolve. + The values for the elements, that will + be converted to objects. + + + + Test to see if this parameter value has a matching type for the given type. + + Type to check. + True if this parameter value is compatible with type , + false if not. + A type is considered compatible if it is an array type of rank one + and its element type is a generic type parameter with a name matching this generic + parameter name configured for the receiver. + + + + Return a instance that will + return this types value for the parameter. + + Type that contains the member that needs this parameter. Used + to resolve open generic parameters. + The . + + + + Name for the type represented by this . + This may be an actual type name or a generic argument name. + + + + + A Unity container extension that allows you to configure + which constructors, properties, and methods get injected + via an API rather than through attributes. + + + + + Initial the container with this extension's functionality. + + + When overridden in a derived class, this method will modify the given + by adding strategies, policies, etc. to + install it's functions into the container. + + + + API to configure the injection settings for a particular type. + + Type the injection is being configured for. + Objects containing the details on which members to inject and how. + This extension object. + + + + API to configure the injection settings for a particular type/name pair. + + Type the injection is being configured for. + Name of registration + Objects containing the details on which members to inject and how. + This extension object. + + + + API to configure the injection settings for a particular type. + + Type to configure. + Objects containing the details on which members to inject and how. + This extension object. + + + + API to configure the injection settings for a particular type/name pair. + + Type to configure. + Name of registration. + Objects containing the details on which members to inject and how. + This extension object. + + + + API to configure the injection settings for a particular type/name pair. + + Type of interface/base class being registered (may be null). + Type of actual implementation class being registered. + Name of registration. + Objects containing the details on which members to inject and how. + This extension object. + + + + A class that holds the collection of information + for a constructor, so that the container can + be configured to call this constructor. + + + + + Create a new instance of that looks + for a constructor with the given set of parameters. + + The values for the parameters, that will + be converted to objects. + + + + Add policies to the to configure the + container to call this constructor with the appropriate parameter values. + + Interface registered, ignored in this implementation. + Type to register. + Name used to resolve the type object. + Policy list to add policies to. + + + + An that configures the + container to call a method as part of buildup. + + + + + Create a new instance which will configure + the container to call the given methods with the given parameters. + + Name of the method to call. + Parameter values for the method. + + + + Add policies to the to configure the + container to call this constructor with the appropriate parameter values. + + Type of interface registered, ignored in this implementation. + Type to register. + Name used to resolve the type object. + Policy list to add policies to. + + + + A small function to handle name matching. You can override this + to do things like case insensitive comparisons. + + MethodInfo for the method you're checking. + Name of the method you're looking for. + True if a match, false if not. + + + + A class that holds on to the given value and provides + the required + when the container is configured. + + + + + Create an instance of that stores + the given value, using the runtime type of that value as the + type of the parameter. + + Value to be injected for this parameter. + + + + Create an instance of that stores + the given value, associated with the given type. + + Type of the parameter. + Value of the parameter + + + + Return a instance that will + return this types value for the parameter. + + Type that contains the member that needs this parameter. Used + to resolve open generic parameters. + The . + + + + A generic version of that makes it a + little easier to specify the type of the parameter. + + Type of parameter. + + + + Create a new . + + Value for the parameter. + + + + This class stores information about which properties to inject, + and will configure the container accordingly. + + + + + Configure the container to inject the given property name, + resolving the value via the container. + + Name of the property to inject. + + + + Configure the container to inject the given property name, + using the value supplied. This value is converted to an + object using the + rules defined by the + method. + + Name of property to inject. + Value for property. + + + + Add policies to the to configure the + container to call this constructor with the appropriate parameter values. + + Interface being registered, ignored in this implementation. + Type to register. + Name used to resolve the type object. + Policy list to add policies to. + + + + A class that stores a type, and generates a + resolver object that resolves all the named instances or the + type registered in a container. + + + + + Construct a new that + resolves to the given element type and collection of element values. + + The type of elements to resolve. + The values for the elements, that will + be converted to objects. + + + + Construct a new that + resolves to the given array and element types and collection of element values. + + The type for the array of elements to resolve. + The type of elements to resolve. + The values for the elements, that will + be converted to objects. + + + + Return a instance that will + return this types value for the parameter. + + Type that contains the member that needs this parameter. Used + to resolve open generic parameters. + The . + + + + A generic version of for convenience + when creating them by hand. + + Type of the elements for the array of the parameter. + + + + Construct a new that + resolves to the given element generic type with the given element values. + + The values for the elements, that will + be converted to objects. + + + + Interface defining the behavior of the Unity dependency injection container. + + + + + Register a type mapping with the container, where the created instances will use + the given . + + that will be requested. + that will actually be returned. + Name to use for registration, null if a default registration. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + Type of instance to register (may be an implemented interface instead of the full type). + Object to returned. + Name for registration. + + object that controls how this instance will be managed by the container. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Resolve an instance of the requested type with the given name from the container. + + of object to get from the container. + Name of the object to retrieve. + Any overrides for the resolve call. + The retrieved object. + + + + Return instances of all registered types requested. + + + + This method is useful if you've registered multiple types with the same + but different names. + + + Be aware that this method does NOT return an instance for the default (unnamed) registration. + + + The type requested. + Any overrides for the resolve calls. + Set of objects of type . + + + + Run an existing object through the container and perform injection on it. + + + + This method is useful when you don't control the construction of an + instance (ASP.NET pages or objects created via XAML, for instance) + but you still want properties and other injection performed. + + of object to perform injection on. + Instance to build up. + name to use when looking up the TypeMappings and other configurations. + Any overrides for the resolve calls. + The resulting object. By default, this will be , but + container extensions may add things like automatic proxy creation which would + cause this to return a different object (but still type compatible with ). + + + + Run an existing object through the container, and clean it up. + + The object to tear down. + + + + Add an extension object to the container. + + to add. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Resolve access to a configuration interface exposed by an extension. + + Extensions can expose configuration interfaces as well as adding + strategies and policies to the container. This method walks the list of + added extensions and returns the first one that implements the requested type. + + of configuration interface required. + The requested extension's configuration interface, or null if not found. + + + + Remove all installed extensions from this container. + + + + This method removes all extensions from the container, including the default ones + that implement the out-of-the-box behavior. After this method, if you want to use + the container again you will need to either read the default extensions or replace + them with your own. + + + The registered instances and singletons that have already been set up in this container + do not get removed. + + + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Create a child container. + + + A child container shares the parent's configuration, but can be configured with different + settings or lifetime. + The new child container. + + + + The parent of this container. + + The parent container, or null if this container doesn't have one. + + + + Get a sequence of that describe the current state + of the container. + + + + + A that holds a weak reference to + it's managed instance. + + + + + Retrieve a value from the backing store associated with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + + + + Stores the given value into backing store for retrieval later. + + The object being stored. + + + + Remove the given object from backing store. + + + + + An implementation of that + creates instances of the type of the given Lifetime Manager + by resolving them through the container. + + + + + Create a new that will + return instances of the given type, creating them by + resolving through the container. + + Container to resolve with. + Type of LifetimeManager to create. + + + + Create a new instance of . + + The new instance. + + + + The type of Lifetime manager that will be created by this factory. + + + + + A that holds the instances given to it, + keeping one instance per thread. + + + + This LifetimeManager does not dispose the instances it holds. + + + + + + Initializes a new instance of the class. + + + + + Retrieve a value from the backing store associated with this Lifetime policy for the + current thread. + + the object desired, or if no such object is currently + stored for the current thread. + + + + Stores the given value into backing store for retrieval later when requested + in the current thread. + + The object being stored. + + + + Remove the given object from backing store. + + Not implemented for this lifetime manager. + + + + An implementation that does nothing, + thus ensuring that instances are created new every time. + + + + + Retrieve a value from the backing store associated with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + + + + Stores the given value into backing store for retrieval later. + + The object being stored. + + + + Remove the given object from backing store. + + + + + This strategy implements the logic that will call container.ResolveAll + when an array parameter is detected. + + + + + Do the PreBuildUp stage of construction. This is where the actual work is performed. + + Current build context. + + + + An implementation of that is + aware of the build keys used by the Unity container. + + + + + Create a instance for the given + . + + + This implementation looks for the Unity on the + parameter and uses it to create an instance of + for this parameter. + Parameter to create the resolver for. + The resolver object. + + + + An implementation of that is aware + of the build keys used by the Unity container. + + + + + Create a instance for the given + . + + Parameter to create the resolver for. + The resolver object. + + + + An implementation of that is aware of + the build keys used by the unity container. + + + + + Create a for the given + property. + + Property to create resolver for. + The resolver object. + + + + A implementation that returns + the value set in the constructor. + + + + + Create a new instance of + which will return the given value when resolved. + + The value to return. + + + + Get the value for a dependency. + + Current build context. + The value for the dependency. + + + + An implementation of that stores a + type and name, and at resolution time puts them together into a + . + + + + + Create an instance of + with the given type and name. + + The type. + The name (may be null). + + + + Resolve the value for a dependency. + + Current build context. + The value for the dependency. + + + + The type that this resolver resolves. + + + + + The name that this resolver resolves. + + + + + An implementation of that resolves to + to an array populated with the values that result from resolving other instances + of . + + + + + Create an instance of + with the given type and a collection of + instances to use when populating the result. + + The type. + The resolver policies to use when populating an array. + + + + Resolve the value for a dependency. + + Current build context. + An array populated with the results of resolving the resolver policies. + + + + An implementation of that selects + the given constructor and creates the appropriate resolvers to call it with + the specified parameters. + + + + + Create an instance of that + will return the given constructor, being passed the given injection values + as parameters. + + The constructor to call. + Set of objects + that describes how to obtain the values for the constructor parameters. + + + + Choose the constructor to call for the given type. + + Current build context + The to add any + generated resolver objects into. + The chosen constructor. + + + + Helper class for implementing selector policies that need to + set up dependency resolver policies. + + + + + Add dependency resolvers to the parameter set. + + Type that's currently being built (used to resolve open generics). + PolicyList to add the resolvers to. + Objects supplying the dependency resolvers. + Result object to store the keys in. + + + + A implementation that calls the specific + methods with the given parameters. + + + + + Add the given method and parameter collection to the list of methods + that will be returned when the selector's + method is called. + + Method to call. + sequence of objects + that describe how to create the method parameter values. + + + + Return the sequence of methods to call while building the target object. + + Current build context. + The to add any + generated resolver objects into. + Sequence of methods to call. + + + + An implementation of which returns + the set of specific properties that the selector was configured with. + + + + + Add a property that will be par of the set returned when the + is called. + + The property to set. + object describing + how to create the value to inject. + + + + Returns sequence of properties on the given type that + should be set as part of building that object. + + Current build context. + The to add any + generated resolver objects into. + Sequence of objects + that contain the properties to set. + + + + The exception thrown by the Unity container when + an attempt to resolve a dependency fails. + + + + + Create a new that records + the exception for the given type and name. + + Type requested from the container. + Name requested from the container. + The actual exception that caused the failure of the build. + The build context representing the failed operation. + + + + The type that was being requested from the container at the time of failure. + + + + + The name that was being requested from the container at the time of failure. + + + + + A class that stores a name and type, and generates a + resolver object that resolves the parameter via the + container. + + + + + Construct a new that + resolves to the given type. + + Type of this parameter. + + + + Construct a new that + resolves the given type and name. + + Type of this parameter. + Name to use when resolving parameter. + + + + Return a instance that will + return this types value for the parameter. + + Type that contains the member that needs this parameter. Used + to resolve open generic parameters. + The . + + + + A generic version of for convenience + when creating them by hand. + + Type of the parameter + + + + Create a new for the given + generic type and the default name. + + + + + Create a new for the given + generic type and name. + + Name to use to resolve this parameter. + + + + An implementation of that wraps a Unity container. + + + + + Initializes a new instance of the class for a container. + + The to wrap with the + interface implementation. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + When implemented by inheriting classes, this method will do the actual work of resolving + the requested service instance. + + Type of instance requested.Name of registered service you want. May be null. + + The requested service instance. + + + + + When implemented by inheriting classes, this method will do the actual work of + resolving all the requested service instances. + + Type of service requested. + + Sequence of service instance objects. + + + + + A static helper class that includes various parameter checking routines. + + + + + Throws if the given argument is null. + + if tested value if null. + Argument value to test. + Name of the argument being tested. + + + + Throws an exception if the tested string argument is null or the empty string. + + Thrown if string value is null. + Thrown if the string is empty + Argument value to check. + Name of argument being checked. + + + + Verifies that an argument type is assignable from the provided type (meaning + interfaces are implemented, or classes exist in the base class hierarchy). + + The argument type that will be assigned to. + The type of the value being assigned. + Argument name. + + + + Verifies that an argument instance is assignable from the provided type (meaning + interfaces are implemented, or classes exist in the base class hierarchy, or instance can be + assigned through a runtime wrapper, as is the case for COM Objects). + + The argument type that will be assigned to. + The instance that will be assigned. + Argument name. + + + + A helper class to manage the names that get registered in the container + + + + + The build stages we use in the Unity container + strategy pipeline. + + + + + First stage. By default, nothing happens here. + + + + + Second stage. Type mapping occurs here. + + + + + Third stage. lifetime managers are checked here, + and if they're available the rest of the pipeline is skipped. + + + + + Fourth stage. Reflection over constructors, properties, etc. is + performed here. + + + + + Fifth stage. Instance creation happens here. + + + + + Sixth stage. Property sets and method injection happens here. + + + + + Seventh and final stage. By default, nothing happens here. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to The type {0} has multiple constructors of length {1}. Unable to disambiguate.. + + + + + Looks up a localized string similar to The provided string argument must not be empty.. + + + + + Looks up a localized string similar to The current build operation (build key {2}) failed: {3} (Strategy type {0}, index {1}). + + + + + Looks up a localized string similar to The current type, {0}, is an abstract class and cannot be constructed. Are you missing a type mapping?. + + + + + Looks up a localized string similar to The current type, {0}, is delegate and cannot be constructed. Unity only supports resolving Func<T> and Func<IEnumerable<T>> by default.. + + + + + Looks up a localized string similar to The current type, {0}, is an interface and cannot be constructed. Are you missing a type mapping?. + + + + + Looks up a localized string similar to Cannot extract type from build key {0}.. + + + + + Looks up a localized string similar to The method {0}.{1}({2}) is an open generic method. Open generic methods cannot be injected.. + + + + + Looks up a localized string similar to The property {0} on type {1} is an indexer. Indexed properties cannot be injected.. + + + + + Looks up a localized string similar to The method {1} on type {0} has an out parameter. Injection cannot be performed.. + + + + + Looks up a localized string similar to The method {0}.{1}({2}) has at least one out parameter. Methods with out parameters cannot be injected.. + + + + + Looks up a localized string similar to The method {0}.{1}({2}) has at least one ref parameter.Methods with ref parameters cannot be injected.. + + + + + Looks up a localized string similar to The method {1} on type {0} is marked for injection, but it is an open generic method. Injection cannot be performed.. + + + + + Looks up a localized string similar to The method {0}.{1}({2}) is static. Static methods cannot be injected.. + + + + + Looks up a localized string similar to The type {0} is an open generic type. An open generic type cannot be resolved.. + + + + + Looks up a localized string similar to Resolving parameter "{0}" of constructor {1}. + + + + + Looks up a localized string similar to The parameter {0} could not be resolved when attempting to call constructor {1}.. + + + + + Looks up a localized string similar to Parameter type inference does not work for null values. Indicate the parameter type explicitly using a properly configured instance of the InjectionParameter or InjectionParameter<T> classes.. + + + + + Looks up a localized string similar to Calling constructor {0}. + + + + + Looks up a localized string similar to Calling method {0}.{1}. + + + + + Looks up a localized string similar to An item with the given key is already present in the dictionary.. + + + + + Looks up a localized string similar to The lifetime manager is already registered. Lifetime managers cannot be reused, please create a new one.. + + + + + Looks up a localized string similar to The override marker build plan policy has been invoked. This should never happen, looks like a bug in the container.. + + + + + Looks up a localized string similar to Resolving parameter "{0}" of method {1}.{2}. + + + + + Looks up a localized string similar to The value for parameter "{1}" of method {0} could not be resolved. . + + + + + Looks up a localized string similar to Could not resolve dependency for build key {0}.. + + + + + Looks up a localized string similar to The type {0} has multiple constructors marked with the InjectionConstructor attribute. Unable to disambiguate.. + + + + + Looks up a localized string similar to The supplied type {0} must be an open generic type.. + + + + + Looks up a localized string similar to The supplied type {0} does not have the same number of generic arguments as the target type {1}.. + + + + + Looks up a localized string similar to The type {0} does not have an accessible constructor.. + + + + + Looks up a localized string similar to The type {0} does not have a generic argument named "{1}". + + + + + Looks up a localized string similar to while resolving. + + + + + Looks up a localized string similar to The type {0} does not have a constructor that takes the parameters ({1}).. + + + + + Looks up a localized string similar to The type {0} does not have a public method named {1} that takes the parameters ({2}).. + + + + + Looks up a localized string similar to The type {0} does not contain an instance property named {1}.. + + + + + Looks up a localized string similar to The type {0} is not a generic type, and you are attempting to inject a generic parameter named "{1}".. + + + + + Looks up a localized string similar to The type {0} is not an array type with rank 1, and you are attempting to use a [DependencyArray] attribute on a parameter or property with this type.. + + + + + Looks up a localized string similar to Optional dependencies must be reference types. The type {0} is a value type.. + + + + + Looks up a localized string similar to The property {0} on type {1} is not settable.. + + + + + Looks up a localized string similar to The property {0} on type {1} is of type {2}, and cannot be injected with a value of type {3}.. + + + + + Looks up a localized string similar to The value for the property "{0}" could not be resolved.. + + + + + Looks up a localized string similar to The provided string argument must not be empty.. + + + + + Looks up a localized string similar to Resolution of the dependency failed, type = "{0}", name = "{1}". + Exception occurred while: {2}. + Exception is: {3} - {4} + ----------------------------------------------- + At the time of the exception, the container was: + . + + + + + Looks up a localized string similar to Resolving {0},{1}. + + + + + Looks up a localized string similar to Resolving {0},{1} (mapped from {2}, {3}). + + + + + Looks up a localized string similar to Resolving value for property {0}.{1}. + + + + + Looks up a localized string similar to The constructor {1} selected for type {0} has ref or out parameters. Such parameters are not supported for constructor injection.. + + + + + Looks up a localized string similar to Setting value for property {0}.{1}. + + + + + Looks up a localized string similar to The type {0} cannot be constructed. You must configure the container to supply this value.. + + + + + Looks up a localized string similar to The type {1} cannot be assigned to variables of type {0}.. + + + + + Looks up a localized string similar to <unknown>. + + + + + A simple, extensible dependency injection container. + + + + + Create a default . + + + + + Create a with the given parent container. + + The parent . The current object + will apply its own settings first, and then check the parent for additional ones. + + + + RegisterType a type mapping with the container, where the created instances will use + the given . + + that will be requested. + that will actually be returned. + Name to use for registration, null if a default registration. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + RegisterType an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + Type of instance to register (may be an implemented interface instead of the full type). + Object to returned. + Name for registration. + + If true, the container will take over the lifetime of the instance, + calling Dispose on it (if it's ) when the container is Disposed. + + If false, container will not maintain a strong reference to . User is responsible + for disposing instance, and for keeping the instance from being garbage collected. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Get an instance of the requested type with the given name from the container. + + of object to get from the container. + Name of the object to retrieve. + Any overrides for the resolve call. + The retrieved object. + + + + Return instances of all registered types requested. + + + + This method is useful if you've registered multiple types with the same + but different names. + + + Be aware that this method does NOT return an instance for the default (unnamed) registration. + + + The type requested. + Any overrides for the resolve calls. + Set of objects of type . + + + + Run an existing object through the container and perform injection on it. + + + + This method is useful when you don't control the construction of an + instance (ASP.NET pages or objects created via XAML, for instance) + but you still want properties and other injection performed. + + of object to perform injection on. + Instance to build up. + name to use when looking up the typemappings and other configurations. + Any overrides for the buildup. + The resulting object. By default, this will be , but + container extensions may add things like automatic proxy creation which would + cause this to return a different object (but still type compatible with ). + + + + Run an existing object through the container, and clean it up. + + The object to tear down. + + + + Add an extension object to the container. + + to add. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Get access to a configuration interface exposed by an extension. + + Extensions can expose configuration interfaces as well as adding + strategies and policies to the container. This method walks the list of + added extensions and returns the first one that implements the requested type. + + of configuration interface required. + The requested extension's configuration interface, or null if not found. + + + + Remove all installed extensions from this container. + + + + This method removes all extensions from the container, including the default ones + that implement the out-of-the-box behavior. After this method, if you want to use + the container again you will need to either read the default extensions or replace + them with your own. + + + The registered instances and singletons that have already been set up in this container + do not get removed. + + + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Create a child container. + + + A child container shares the parent's configuration, but can be configured with different + settings or lifetime. + The new child container. + + + + Dispose this container instance. + + + Disposing the container also disposes any child containers, + and disposes any instances whose lifetimes are managed + by the container. + + + + + Dispose this container instance. + + + This class doesn't have a finalizer, so will always be true. + True if being called from the IDisposable.Dispose + method, false if being called from a finalizer. + + + + Remove policies associated with building this type. This removes the + compiled build plan so that it can be rebuilt with the new settings + the next time this type is resolved. + + Type of object to clear the plan for. + Name the object is being registered with. + + + + The parent of this container. + + The parent container, or null if this container doesn't have one. + + + + Get a sequence of that describe the current state + of the container. + + + + + Implementation of the ExtensionContext that is actually used + by the UnityContainer implementation. + + + This is a nested class so that it can access state in the + container that would otherwise be inaccessible. + + + + + This event is raised when the method, + or one of its overloads, is called. + + + + + This extension supplies the default behavior of the UnityContainer API + by handling the context events and setting policies. + + + + + Install the default container behavior into the container. + + + + + Remove the default behavior from the container. + + + + + This extension installs the default strategies and policies into the container + to implement the standard behavior of the Unity container. + + + + + Add the default ObjectBuilder strategies & policies to the container. + + + + + Helper class to wrap common reflection stuff dealing with + methods. + + + + + Create a new instance that + lets us do more reflection stuff on that method. + + The method to reflect on. + + + + Given our set of generic type arguments, + + The generic type arguments. + An array with closed parameter types. + + + + Returns true if any of the parameters of this method + are open generics. + + + + + Return the of each parameter for this + method. + + Sequence of objects, one for + each parameter in order. + + + + A helper class that encapsulates two different + data items together into a a single item. + + + + + Create a new containing + the two values give. + + First value + Second value + + + + The first value of the pair. + + + + + The second value of the pair. + + + + + Container for a Pair helper method. + + + + + A helper factory method that lets users take advantage of type inference. + + Type of first value. + Type of second value. + First value. + Second value. + A new instance. + + + + A utility class that handles the logic of matching parameter + lists, so we can find the right constructor and method overloads. + + + + + Create a new that will attempt to + match the given parameter types. + + Target parameters to match against. + + + + Tests to see if the given set of types matches the ones + we're looking for. + + parameter list to look for. + true if they match, false if they don't. + + + + Tests to see if the given set of types matches the ones we're looking for. + + Candidate method signature to look for. + True if they match, false if they don't. + + + + Another reflection helper class that has extra methods + for dealing with ParameterInfo. + + + + + A small helper class to encapsulate details of the + reflection API, particularly around generics. + + + + + Create a new instance that + lets you look at information about the given type. + + Type to do reflection on. + + + + Test the given object, looking at + the parameters. Determine if any of the parameters are + open generic types that need type attributes filled in. + + The method to check. + True if any of the parameters are open generics. False if not. + + + + If this type is an open generic, use the + given array to + determine what the required closed type is and return that. + + If the parameter is not an open type, just + return this parameter's type. + Type arguments to substitute in for + the open type parameters. + Corresponding closed type of this parameter. + + + + Given a generic argument name, return the corresponding type for this + closed type. For example, if the current type is SomeType<User>, and the + corresponding definition was SomeType<TSomething>, calling this method + and passing "TSomething" will return typeof(User). + + Name of the generic parameter. + Type of the corresponding generic parameter, or null if there + is no matching name. + + + + The object we're reflecting over. + + + + + Is this type generic? + + + + + Is this type an open generic (no type parameter specified) + + + + + Is this type an array type? + + + + + Is this type an array of generic elements? + + + + + The type of the elements in this type (if it's an array). + + + + + Returns all the public constructors defined for the current reflected . + + + An enumeration of ConstructorInfo objects representing all the public instance constructors defined for the + current reflected , but not including the type initializer (static constructor). + + + + + Create a new instance of that + lets you query information about the given ParameterInfo object. + + Parameter to query. + + + + A set of helper methods to pick through lambdas and pull out + from them. + + + + + Pull out a object from an expression of the form + () => SomeClass.SomeMethod() + + Expression describing the method to call. + Corresponding . + + + + Pull out a object from an expression of the form + x => x.SomeMethod() + + The type where the method is defined. + Expression describing the method to call. + Corresponding . + + + + Pull out a object for the get method from an expression of the form + x => x.SomeProperty + + The type where the method is defined. + The type for the property. + Expression describing the property for which the get method is to be extracted. + Corresponding . + + + + Pull out a object for the set method from an expression of the form + x => x.SomeProperty + + The type where the method is defined. + The type for the property. + Expression describing the property for which the set method is to be extracted. + Corresponding . + + + + + + + + + + + + + Pull out a object from an expression of the form () => new SomeType() + + The type where the constructor is defined. + Expression invoking the desired constructor. + Corresponding . + + + diff --git a/src/packages/Unity.4.0.1/lib/portable-net45+wp80+win8+wpa81+MonoAndroid10+MonoTouch10/Microsoft.Practices.Unity.dll b/src/packages/Unity.4.0.1/lib/portable-net45+wp80+win8+wpa81+MonoAndroid10+MonoTouch10/Microsoft.Practices.Unity.dll new file mode 100644 index 0000000000000000000000000000000000000000..0d8c0040e78dc28e5e24949b30860d4ddd5364bf GIT binary patch literal 135680 zcmb@v31C#!^*?^+y_q-3WPy;71Q3{jiI15{SY=a?O%Y_1-JJvmh(I3BBnXTXqgHDz z@O8JPtqazzYW-T5wzlrI?wYo?wQ6yzcC(9q>$f}pKc92on|VnlX#d||l>6>E_ug~Q zJ@?#m_dAPEyI@+SGZP9s4S46it8?YM}VxCExt>zN!mI{D0{W43ulu#f-}T^IsPv3V%C6 zcLhD5+f70A{#$3LQs8FUhB~5m*x}%)QboS-BETp5;HLKE&UV1B6oXlWNm=3b|3#Hr z*OW@9)&nWLfk!E5Y0rqWz+O`-xz#~L@~XhIVw8b>;>}^O|L?ykSNxGTLxt3(-OzzG z0aYwmrEa`Wso$XB%c4qkxwyl9x@Haj^`5UDJKVhM$d|t}yxv*(%?F3IzcBpaha-Rf z#$`9YbMjx-6py-k=?QOM_Ug2=hh6x@M`xe){QNgg|Lf7I12_DBSLCbjFHJu?BRqVr zy6f!oCm%g`$S3zN|G3FA|26N!%VyY#@3g*@=(y|aBi}pj^REv%>D-MEZg}RQma8A{ z{OeU!CBOXOy5BWFcJ_3`9!g=F*#Kk}iy1bUk5nHD#2zs+M48S(Ls^|Db+ECb>W~G+ zvC_j4r;8}T+lUvBU2mrF-ERL3(SxaqoY(n7Kv{N}$vy{POsUFoA$2~4g6I{7JrcB> zC^Ow3u{2Z%C^5xyM&Zkf4A`ULn^@n8%!4(1L%@_4RlAXO(gQ`#k%&_gujxbrH&R(~ zwRNCa2ZX!VqQ-=fQ;(SK1Y;v~@nbDUrU6JJa}?a_y=9Dw^2KA7<4m;xyaK2&oM%vq z#_4Grks_AiJPFYGBMOxr1B_+Z$U2@y2_uGe$cp2ePS9zD<2;MVhTTFDc)2b#GEE3_ z^F!fuep8VjD0%sfNsmRO9QknoNPaxN=?Qcu!ts-@9A~K;Km!CTs=6VqxIGC`+6O>x zHG5HafrwRIwPy-S)lEl)Vjqnt2P}IsKGl0iQ0Ooval73_8NpGci*l{%Mn(1^R}$`r zT=+2LSeH3TcoIpO&NSrJILLIS<7;G|Lo6Hi$cj}lX#1aC(qy;fg|4dLn7gL1Kn>ZBvFUD9*NDD=&;VZh@#fn0Ao^AKWWo=1G= zcz6>znY=&}KAAwrX!a}87r8QF8Y`G(JVR(hDxafN$h2L`e9Uo1&c3qz;GjVHOI;>U zKsuNPX{z-5d52b6b~%%?t$=9-6{#>%qdf~?rckBYE*Se-&3&y+Ms=(@60bF^{my() zGx4Rk8-cfK)3t3W`GV+~lYESwen4%bC z!>0LTLoXz@d>Nab^gc!!VWbx_&rzn4HkjPg%*jRuIs$We5`%NlBA3AiCO$#OaTWu) z2jw3YgRL_a+9&(A3LR=gVDXw$BJtrGww$GiZU!Al*D47oj4*_73R>vcH>+X`jr1~v zW|_5N!ya0(KYA8BnEowI4>T`m7$F;`z_OtV76D{w*<)P*jo-3iF09xDBg5!ok|{2z zTo3{>v*PhWY0(%8MbV++0Rl>*5#o`uArJO_6%ZmRQ!V2WD^Y1_xXPIZVmd#6-bibx zvym2w&Cwk2w&1tv&cq^i_h7G$JzBkyVs{krKi0_^~Z2n3? zTSzN5G`$|5-BJdqueJ?Rh6uF$cyy~A2FSk{DXt?$5F|ZA)hc7CrU%_5JrNh%J!H>8 z3kw`;^GYryOO&|mqJxjXCK)oEMYU8^r#Aov^OB{2SUc>=t*q3CZd{|xU|OmP(oZry zvf7BRVcK(9M-vPi2HSEl3X~=SE!8bTJSYhBL!YXk4i$DQQ)XVFW(+nmKf!n8p@}6% zb(UTu5)W6WuM(4OWPS!r_NQ>f;_Lx72AP@a7SPi5&NRMyKOX_m4~#cZdZAaNKSqXR zvaiBHPQSn>J`Z&)aE9Ri?9UlyWcbla{bM3(B|WNrGOArD8WO)|tx(Z`CItI@mtkKG zF0~$90bfr&`07`4dO+eiJ@DEelmxoWT>9#Prc4VYNjK(dTbL55W+_xyE?soDJ)#ao z?jsL*V$D*lqMw!H0ty;VU8pcR21B`Er3@=(bf6Cph@nY8$4WKQTm5Fg!7!`rlUVf_ zlZ^|ib3lWChP?ntGqua>+RW6=@D6p(Mx8g7o2ff;5JnL?uyYH-oUL#qG!JG6flUa# z5}$ZE)LP(bfsJ6cie-f~hy@$q!^rVrrta}LFfvTv*kEcaxefUwYFuC*08PMdgBOD- z(}Cr{2*-4`_aGrE}0l>p*x(b!mK5xF|Qx=vBCcad2i)&DzqUFx2~1oqsTwKjsqt{ENN( zi~aedE43H0WKf%+RvTKBeMB`GRc2Mt!K^($sPGLgUV~IjX9w7nanw;L0|bS>C4CKe zC<&Wc#xShLvhX46TA5OK(^E|+VmYlyoQS)L1sGuoMct|Aa}XHgcU=K}a@)z=q@k{(EM}q-VBjsZoEnh; z`IrSh0D%uP;0;C{bcB{@ESOZhK&sA=vq9%*Q49$k$U&>!U5W9 zEpz6`N<3aYv+V@bDDVO_?B5W?vUejVgRK!G26kS8%mB$Dfys7*u@Us!iizTgPnCcU zMk(^=COHpD5(9nd51I`J71{**QuZQcLzRgRGk|_?DB@O) zfu__HG*sF?bRq6;6!-`f7>bEWcu=dX*ak>|0hEM<=rLat@`oJ#<<{|ZEN`gn{0JPE z91Jy7l^j&zTzwB$k)u=y^Nzp{!`INeVQJj~sT1PxI8`{*2{W+8@WrpTzk-}@A%WPH zg;SZ;L8k}_b)*=qpiTrE;o||=kVNZAKlmBw2X#VCAM#;6p>--K5ayhDdu9ehgH*vh zuK(0BAdli)89p@+Mvd+B=j{{O9ttbyL>T9?!^Lq*7$rBbwK15GR*5#QTcvn(-@6Vx zL0$ZMVd|x+MW!r4MYMYBmA6}|9WH`1yV9_I8&HXe6}B-*vC87bR=CK%onEt8){#uT zOa*R6LT#NWoa+7HUxRg2`$|KMa<>WnvPT00^IQ$xV_%a7e^BF!ZcOO(#7nQ)RR$}9 z)#ibUpmPBdM7p8hI;|TVst7SSB*7(mvX`nyqjN4q{8D!yP-#_I)y9Det0oA?z6e2O zMVRY-4j#7KpgI@%LtGe7up*OmCL6O8>A05EMWuEq6|_;du)`2bu+IFSA@w% zSU9K*78jvh!h>hJR_Dg87lQ&C{UzkE#mESlA>?0a%+-DN^NhF9$nfi58*H-wg`ue) z>Uf!OZa4+y1(VSKlROJ$IF}-ENxVGld;uOzs2$j~NZ45gxAAueBjJP<7F&(UmY!=3 zQbQA*j&trN)2rAwP3Mb^pIeXzW0D#eo1fBoNqcCO(s-uxM3O>@8BY-28 zEAR~mvsdDiz6uV8e;B-6P4F5xHUQFUXiw2it+m z=GJTIczw73?pLwE#o`^JAn>p&b z;F!M!<>OzUQ1mMej2g@y#ZP&V>(Tt$zW`Yy#3gA?`1nbek#bzZL-y+o*R$XRQ8ih# zSq>VR-zhq~PtDJzk8EACZuTLaeYw?tHj)o?QvN=zT%VFpmCmNz%1TkHby3izQa0>b zVQ;i86%P<&J%o6Gp!gV*;^UVB)mleYAIDR?06AuvMJ%o6GnBXDAL%V3G=_n z_EqXVr%zv_N2X8cs5uw1WV{T^fc3f*Q1&M6Gg{20g7u{scHRJXH0az2Z^=On;H@G%1OFQs zh-tfOsNo~ET_qieR-y6d>6G-KV>&k>vCs)?I!I864(d~(vh#F$@?$y&`ZDCv84=a| zaBPp2H)ul^k-6SvDDbY(3M$ORxz(_ZQq;=eAk$aY^v#Hk8PnJCv7B4rR)*rWgF@_W zVfJNCP+9~*NdE%-ZNN9ad9Zv?=uq`ETKKg-$1M^h2ffGY7-4<>^XNXg}yInbb=vFq8WE`F0NtLH(Cv8jAN|qBw#srW~g%) z;z74eu?w&)71fyhkq&e#pyh32%E4W(V7dVw=Wg<9SVCO7a97uSI?^~cuWK-K3YJWC zMCj&ptrw#`i=WfCy3v}JOsxm7w6qJBIvI2;@P81hdj!yIts!(amGIX$P9ta$t`c|* zU;zgUIMf5H1uOx`xHW)ctAmMBmsTy|@?h1;Rk4RciTaRl=vm7sdTD1kVwDHWL$;0{ zV)Vj9t`8ph>Nh0y8+7gg#m`p1oLa%4QA%hM)F)l1|4pR=&+Ko|%g8>5 zsTVm~+=U)VgXm4;w|xK?Unt(0j? z!fx6!Gc23mG7pVu+x$V!He-X{I8Y>$UpWkrz89SB9-97Efsd}|q3)+g6tr$w=m-~e zvQtq?jBzmB4aROY6Gxh|HPk%^Ovw~v;vnN30_H7(8bje!V|O6KgmxU@$a<_*F}*-* zWBUgv2^r0X zs>zd1)s$`mu`U`5S}!RdZ5P_8v{y5Qg#^9M!R`hoEm)sxx*3cjuu%9QvhUSw-F921 zhR5c$U$H~utQpX993-qhhUCnW(u-Zg_F_u4k8Ve^A7#l*oj2(4;3N;(K zbD$<)&P~uT^*&|3^EaIzB9WdM=k_g47lCsKpzQpBWIgh<2d9CK9*Yb`fz8wnUQL;L zwvBOF#CZr#<2cxzDG)Rsnabq`HZ0cHbV4JXLTi<9j6ouW2tON;e8=D-T`0Gx$FAUgw=KmyO ziKwuY{(Y3BzA@Zj*$-2WV8jU9kHCwGA$VsQz?T|N8tGM#6&6~c@{!W&viRVl;{7F- z5q2I0!dZsE;+nN(#YNalc(3OoagF^LNs?Yj?FPLGpl5jN(Ay#E&c_i!PFp)f-Ve|E7iJV-FHz zeAAN;H<$DekT>-%jtt9+3ucH+MHJvDT;q9*CQj9iypL`{>yNAf`B|w5))ej8fIbH6 zLcXmO7Q(ZQ2h7y#UNZ}(-pqO340RpsYds~G;7l|1t{2OcBPQwRP$3M5y2+UsrR$^W{Gjl7p%&1q(<|6jxk_Wu&rfe7*BSzn9glV%!eSqIXaetq-e`}>M-qS`x@F&)7}79VF=E} zr^S!9oPf<#FoU6H68TY?3b{%m1`)T z1?mQ=M5)=i5M=B#kvL{?A|<$!^0@9=Z<){eu^YN57a9~BtchdL8-gIbk}cU~dzkRfSBVLF$A zqBO2;h@Ac@!n=qPyj=$lSXXSDL-57Os-nuwotiVWl=LyV*kx6n3y@MH&2F$7kb#Jt zrL%v|oN3G1XG{Sd_dLLxNW${~2k~{!1JH}}0F~A08_{HOLLu`OFj+eAzeE4q+W#y1 z-_`#2>3@%YYWA0rl6E$vN(0_G3(}2P#|OaxOr;o`r|?BWHT5@euzxOD>->xiGchtG zZ)8Z=X@-chzs_N`6kkKZQh#LwdmX+8qpEXBE`_L^CM2Q~DP(`i@EXahCYH~X*@>p= zJcYWEVRrT#pxljexB>-%hz(XFnpACJQaj15ziI( z-?zK<{TE=ebWq(EdNu|0nuc-#1Bp4;xpkFa~nZh>)&(Muhb}2mwE1 zU6;WFu}ikq*$)v5Yel4*Zx-2)h^^6a+`yA5&yR_(&i*exQ}3eA7#Trjh}ob09|jv4 zvTI}n$OxqjbJ6GfsyY`-s2>jrM|w3FBg3+}3PgHZf!;z)X9qcf#`2U3OMz1=^F3zk zB`cg#amz)%0P$l8lbYdut;fy&egsy=WI_Oie-{;?pb_b&z zof~N<7e{RIao}@M&-&3rfZz8R0_3ydI6xq8ZqN=6cORbCZ~q_C`rUs{YgT_{G;;#y zFehI|pXmL^cUZ5ekHYe*0q#s%}W)Gopt?Dj}jE{xi6Z4y(jSe*u zdqQJ;cUMLNotlrH!a;W$vC+9k+{q8=qI(6;mfTx|Vpddjt_Cel#O%gE$v0{bb{~bV z(nfz7(WCgc;Okt4`1v`2@B{f$$xWL>Q&!nfer3IPIP#l`e6a2IR}mWqGx~zg!6K~O zpfi`Fin3mZsH&<;6>R|*tk+WkqtB>Fe*^Z869Ec7H%T*W&g;-$jY5Ad^PCz_(7HHS zamBDM;$Wl@X`hSb=PWtE^^ZG2F5QL1v2T8w^eAIfDg-A0K1*aBw<*<%3P@vcg6<0P zHh6YP&d2-5CZ>b#83p5-jUM+{3M;c}7Ii5n`qV8TWm7jJR`*^c=-ssXH@8wNIjKPX zSeJ48NH|@r#;Wd4NFh&88=(H}BCG*5q?ejNcdPc0-8|3Qw)bO4sc?CHP2J%Yk5;t% znH~kSF^rAq0*G0xz%iGQUC%;bfEe#$JMgV^VxdqPD8Ht20c$wF40;L!Q5QkkW10;a z_qmyuh8@7pFScy#OW`XCJCA{#u)_^uoXyyckG{8et&t%)=LKN&nK|ze-Vc!gCq{pY zkKblNmBoa}m%2R(`oOV}wpoAgG0?CNPzY?txz$D963DHF_!d_%o#x`o=_HS`h2$)9 zp661aN+>^*<09!}Gw0W8`_il<5W;8sX-0ymejH2}b5bGDv zh&aZ?Mc5g+8)9-kLU}5!sh5HX&J%%Fq%v4jhQ*Wz5o&)44yxFNt_0-yuk!h?h98SH zXM#EC0Y;xNAvB0Gv(^hemXjuemdK@GfD~e1LG)jMwm*g=t2*EV%^)&;E9OE6ODimF zyjprgwis*hmcu!;UjA|S6OL71`MJI(>#b$Lu6T3Xe}F5_ZU2t1JGZ4*&u#B>O;|91 zc`F^5vwtBp`%gIVAEN)?+K+wcVD=OGX-n@yO4?HY+?I3?Gq;s&tFr;n!E}^VMaVK= z$r{AgWF?LpD05pJfaKiP!pEE23Mxa){w$6PlNi}GG6H0TQii#BbK5f{)Q^7?^6fR| zGcqijJGUjh-gDc(kxH#_=+140*?P$evst%Xi#hA?Sl$Z&3Mdp`uH=eGC4_vv$6 zX4}u)miZT&+cFEb5=ok$+X}mSZcC+*xh-+%e7(6X^#*fWS1q(gm|1EB=C)J@%x$R$ zR&2T9{4a!sx6XwBi3(n6Qii&$o#Zz~q^YP~5Hfj;$F78xtBK}IBi8zmJ;;dw_ z=R{nu)O+Kqm%u|1JXCdG3+{S%t+2v<2H6;6_i7*qtbWGz{fxTV>Z-c0>ycl6Cf1vH zxSuh7KcjHkTAHEDdi7|{8lRDGAzg581VcH6F#7a4xHQ7Fu0rTzPG3Wk*igGtOrF@h zmFT>Vhdljj4068LUE}ZB=h*o^=i4B~bL{MMFc4;+gSP1PIgc?EwkIM(^vV!s3?n$| zfQ4ks3@wb2(ib?(S`qU=8+%JR}|G&b*}$( zN<#|uW29?;9gZIURu)$j3!i$3h5TiH(4$i;`P5ELpY1tT{cCEV6cUp5d?LOlNE?DJ z!iY0bWI5moS$EX0_m%um%-E71i$Iz?CG3eW&6*2;da7;iyhBJ{Yx?Wt;fuTTuEOWo0LVI)9 z;+ftzUU>xp58>a`m*HS7UdT)D9my|@WpU|(7jpTLi~F5L@JT0E3{QGCO3+1=;N=;C zEbbOC2|v6<5XoZuhu3|XL3}wv2s>pADQ8HAZvI+wwfz`~CdMEli>8Aeoc4-j2NJFo zLhfZ?VOkU9AhPi$!>&LiJ>nPypIicE8-vcO4?oP^0VS#2ID=%; zV3IC$7Z`&Np_d$}(Qtpyxr7rKf}aszoVJxEZkzfKLm`C;C|jPkI!bE}{f)k3rYuj0TuJ5)O2dM5pdUE}%h_Q_sK# z2I62b5wyVdjin7Pcof5JhG*#N$3d34fn$K#*V;H+g9TNZ(r{zP;LT#GfhtWtpwhO> zlFN+Di&|ulD1iuCs~h3#HI4>TivOU$@&|n+-G20&c@@@gX3~#-3%$I4OJ!*NrY4Af z3r?g+{T6BV(r@Yy^xIVrtr@t11_IP?eJ>uJAdW&hO=Qxv(vL#XsW3y?QlP;1a-o7R z`j|3u$Q`4=7Fi^gzu>Y74IZnMn`y=&4TAg%tk315+2zjVwj$VfppD>XKKHy0bg(Fm z^)YZ5sV+4#Lahv^gKhu@norn)nxo#udppnvBRG#-tj`y_N0x)}0fU12$g&x>!CoBT zZHU|W8=O=Q`cEp8_rMWQTD;<6yJvz8tO^`)rYffb&{hn?7wg-+4;=@sh}Br0ewJ2) zCodAf$lkn`xf}0?47P&K6O=jYqp~**T${#D2ZOyM$SjdtJGhq1TEey5-yuf!Y=p#G z{6j_~L!6v#*L~hX&|eH5{gL#&vB_Zj6=A1iB+7}CPq--gG}?FA`53O{pvSdvrn}rM z(ig;PoacdoV90kAbeHs`o1>>Mra4K*rks|0aeaf>YQFqIk&X22r0IE79ZHB(Sf>3` z;jXbZ{WT~fOz~4>OGlSmoaBXPZTEma7SVC{`$@!b4|d5xU*8}>j=$wx*!{a&VIO(&} zli*^{kgw(l2D7+dab$Hg@Ho^k86SuSvN7Z=^BB9ws9QrowMLb z|2rF=^c*-{LPJyTWNLUV-JNq5ba4#CZcd(-OeGuP$!;#~8jes^JAZM*sQja9-^jt8D zTAzoHm42H{As%(O3t#lpejA3?Fv4`6LtAb3Q7i_krgw-k6|`}NsZ z@OGq|A2>l?y*T__Ar4=Xn7z2V*vD0Gb|4(KP4csPz2@fxT_$Hfio6GnU>L6nh!FCa z3%wpBdk)niC{O<-%&K@Gm_=FK3+lh6^ylR7G)s3AJ0XuS^oe5h_awu9UlQxS0jj3& zAmr{Hd@$#EIm1b6yz!H&Fx7T%rN{peRFy3v^`lIUiWo8u z;MgBSId5*d2)S|WzZhS4>`yPo{&+uV34ApDOYzMvg9HD`^e?BML%9|3u>UvJe}S&_ zFG33E0u3Pe552pJ@4%p6=o%T)aaNMbDmWOLlNgVRMY3z)#Ag~Aeq|#eF%#j8#+OY{ zPZF>eaQYND*;C+ZEN}QsrZa-bkAEeV9{*ArqBD992g}1T z?rFfH=-Jcp#iM{{@Dn>=HkPDdqqe7UI+f?^<=Lie8Wn_|v7I01pHx9)NF=|+#_~g8 zu{&JzjY34HQn&2CBLxnGVgiY43)R6iYRW=2Pk;y;3@qtYnS6asUh?}liDSQY6r$ky z2JGDDY;F$7ByYZeLZoEVcOK<7!$JZhr}{y#lIm)l3KUpu|^! zTuQz0!Gbwd$z?lD=zu@#e63ZPGTO57gsJ6R$m+#&9r^n26EUbG^+U}Jenx6;#E_xQ1IcqE#TO=frob({JpXuKBcH<0zjG0ar?2kz69A6}x?9J)4H$KkXw;+xNKNx38 zr8u8wic9>l^3riG%`w&Ki(#gkbEW`YWIZW(Q~t|L2Q~(l1?vgHiFk1o<9k3@rqOQ~ zaQRgF5{%Up_FyW~FJmQ_Z#^&p-g;n6UtVD$T(QCXTWf-I4IUe^h%r$@e6BvF3l|LynL|&rxCmHWabo5 z2fPyzV2*e3gBJ~UyYY$Uik*a$03!%OJU~cH#&DC^lgX}+GB_jU^Y{VfED0bT(LzW( zKrn(J!~=xHBxTQ2=#4RX>-1+vx&<=Lp3gjbzfcDP7!G0In4v*?J_O~gM{JG^86XeX z@&1U{zn+9Tu8@A{9`9_i`)XXV=_C=ahA+9A@_?Lo_;wq_oT%}gaa*j;z@7c3k>d5X0IQ`E@oTKismyP4rFhm4-1P$9T_@D?C7M2D0%T ztlXG~s-c(e9dpb>o&k;YeXI)iJi`Pv%Dq?4etiyj;h4^S(y0!yKhxWDWw`Wtu@;P8NeLC9t4$*?^&$VpnV!r@)0>B!wAmVsG0Obz*Uio!xH#m09Dq0wzZKiDloriJu2EycfxD8s|l<*qQ!0gL#nfwI?UFp4O&WQRUqyeVv_vGGZm%Uk2ZAMu)psc>PDuc4yWE`?GhUrAkBE~$ zuyR-u!UM+y(qCfgj9mCKz14WEU51hj-5Y>yD8xyvj(orxB09k7a&O*Xd}M6`3udG7 z9=yCdkr<5I_}2dR5Xkm8R)xiGJR?8h=ORVuHx03zJUt(!fep&y1EI5TxfygZ^uwCE z42-_WO4ZMU22(g9rzhm0)U%!!1GLMe;u$lPA0!zWB4iX&5D?u`h*y>DHU zt52MK58~uIRxlwS_ZbXb6-X*$mG5J$f>$B(V-;_FvPhkHwcb~vJx4oGo2Ya7cS~hh zgq4;YL#6SdSl1>)B^InY`S*>D44vOEk)PquPe-(T10-$NhpVIJ>HHTOc@Y`%elH%2 z>_%^;R|Ncv3?gwD3~avyopZnm7LiRJEskV~lEFz;9(G?H&2J#?MI=~@tEJ*-?;tnY z0gMS4Bnvl&eHDV;Nzib3<(YO|ZVN*{5?;(k1jr#MthdUWpPUWw!8$#r7SBTW{ZSs| zk7O@r81o#8JZq7s{bkVT#A+GZKLhd9O9vu0zzX&b!i&8uEH>yQeq$tkF5oVvjYX<} zm$}GRj&$@m3F}L$Rq7Ls#oJna65-xf6$ZzV#7aw#uP2^l$>_SI^9oS(y`mV#kv#cb zlhUGYu&6IA=-)LVh=&~U{sBtSW4F$mgq0N= z+1>aSXXwgCSruPEhs8~7vV2oal)@^>!@ga+Bf|c8qi8G`*+$Kx*Rs)W@F{96D?VhM zhdk0*IHg542K8|^yLha6FAU8vJgq5KDfJ$ksEm~d=%YM5(u1+2-W!3$-CG+YnbRyd zohXy;+Ydkz>DfSa5hZxOdmitiR5`>&lX2(W$X;!c`oUI+TR+wI`QVMysW@j|kO9xx z<6Xo`tJ=8`KK;gkQ%Ne?U!{M00;DfOxX9Sx8MFVlv_I$3)^A8@zVlo5-9?^Is_lyr z)n5XSaWUe;IC#B;^zx^&uF}%U$T#0suLc@s@*0NrxCd!uBq+lW8KvmGXEZj^ot|$kvd9PzfgTDB9?`V`J*nDju3{`V)l5>1Vz;SpdmjI0n-9L zKJ@HPFjX1Mb$}B+FW&SqBLJYk2{~IX7Q}RQpDX3K4dW;4=r+;340qhzV6-zz4~0!YbYD{GjMVz zn56?h&dlJMN$tm>m0-4!ezxJCAhtf^1QX2n@zEoY7G6j(ktqfd3L7H|+n{PHHW7Hn zNwU)Pg4= zYxp8+_&x-?b{_pC-$3?sdH24ZNv zMzDK!kLi79_XZ*0V`S>R^C0An3`zKu6h|niq&=}>b+S00z#!%?g>wFjg~b5_HUv_e z`ZbU@jPr=HFK6Hk1{xWDoGXaHF$HK;4$e0LyA>r!G$1mwk%#t0d5sK{NarrsHZ=u} zbqQSw!gv6U(a?G7<7wHWnNh8<<(}b_@@n3$LW=1tb^HF|HKUSb?7It0CRRYYrtnWc7! zLS9X&Qw3dxdopNScwk| z%36aqUbIgK!b5|NIC6lQ)HNs%y7p`F!NtStX5TOA=tD%5;q%TC#tP z3x4v|(zHV;7Vn@`+0R49GJ!q~v7r_>P#r+ilsnValy!doY4rHrj4dFND8>_?_RA!q ze?g5ycFQZy?=t~SmnfW^#_KO7g!)we)50zVR-e?zlGydj=KY(?v?-Eyl4}UD$ z%{+k~zs$iEoL>9jQpPsJ-Vc_rTy-OI#*-eGBci<+2E2g}MG~19q`$J_iC?lHE_S`f z;XDC1pVD6ejoliB*FNRvBK1z<{{G{+(YU3ERrkiQsZS-uI`e+R`6>uEmfF8YB-4FI zkLAz5)n|Z(8&KmqF%LLAn}hVTYHlmv30XEa=oXq^m*DCQmWaG}GJ-wwSf||ep+0$h z*gFqjE0&Dh7gqXaWWR=@xNBKnZo{CfLy*_G)K#J6ybW$62a6l*TGW2zAVh?4eWnS& znOm-kF_j7M(cL#FzPwRAfXXq_UxU=LH?f|6XJq&_o$Dz`SZ;yRHvr<@EL42Zej6mb zXg2{DbPm9kzFV(5phOk+5>E7t3^R~lv!ln9-$IocEQ0bGNdyg&ppGEFwnwCMGs$Cd zM1ZdoK)23mk2C=s*9+RW5X<&96XixTs7PbFi*?Fimcd?LB#yn)_YovN!HS`dFezDE zHpbR*DP@knZaY&!b2n&q-U)8>nW#j4swSkici)U&-5w2Av_-xh8Km!k6S2A&SyIG? zcHRX)h<3?$wf!z6n8Fg>b_sC4LFQfTy#=vv7Q_}?g(%D|h)oy7-ck_zc0ugmaG~60 z6vX0pBny=7dj+xoEQp;_RER=rLF~;1vA-{fJ-WCM-E9T2w-v{$h|y9#2jD~SDeLG14fVrP^U z;w)JZ`(FjI&lkj&loz7gSP*+kLF`uwVqY(a9X+5>ZmSAnFDi(=rzaNnineeJz8Urr znFnEiB0Oed-vwLKUWuV{sc{~$MPdH_9G2w56W?T?(O6WA8jB;3&UJchi3QmKpO=Gzd za{fBx#=qQx*4@b1#1)XtH{mgO7uGUtoLRJt&hG*vd+5^urtg7NyND9JJw&2B=jmtI1|JQ=oPRK2odK!8o zM=HxhsTVze$UDb8&@>a?uOZfPI5fof0zBRp4W|CYG_T5dfXbvNQ0eJFINt(OW|TF37QnyIl~0>ehF<03LZxQ!s$WM<{mYa=S5tAK_GR$t&Us*A zazDuT7l=?liH2FedvHgemy&j+CqAC0zXbM650;deAy3P_b1txo3XQMC)APmP?Q^0V z)K=VCo6TSC5KYeCUSd!qR{W%fA4TD@RUz6P$M&qG^WR>|&2_^1m4JPyZGL!2&>bE>c)}2FS#QB{b}*2-aSiexbepjwOErlyQn= z2K`UMZ=)@+*^9ksz_$dnb7ySCDq8k4qTDP)8s)<=lS-Y4_7!$QT_XD67Z0vZAqOp2 z=S@_b^As{Gi60+!aO+ckj_qlD(Fa+2Zi*~${T4sQ@hm(#ot2+#%4Vsa-Z7$kx$3^2 zzvAZE%6fJ34y{AH1xQ0;W*?@Y(R}5LnJB-aot%~mAQk5UQe7TE1Hi>@iN+ekf$Cp^ zEU$?XXFBZm^U%;95c~Ul*bzM-cJ%qM5rpu2V5aPoLaZ2%{DYD|WMR!kk2RdJERTm? zLNv!0&Uiupow4NzV|pcm_{+Fh)_EisKTif7Rv|JISSrvZY_ z4ETc1RJcx)co{V9YQ)vCbU!4f=p-H6hnc47ISEObCnejZ>6s{iCZaPCtbHnq5ub9{ zgjf^qCt=Vz4p}8?4L{==X)hItQ}=`1`xo8!$~#vW%#{+!^O&GBAEA=mk9H5HN$p4h ztu*{mWgUl#r=1Uv*d9pZ$%;Li*f?FFfRh4@P*%J1?Ts^SnqX_v5es21z!QN2v5XaxEU&huJDjQ$LRn zfNA`>ImAGrhHIj6AEMSdqc`Hro`|8&S-lbK@`yNy4t1J)B8E9Fy%Fp42Ll}gBe1479EV5S&CpPbX#p1~BiKRCi*?3M-e zk`s2~^4FyD#||E)>@iGfrF!0K*r(y!`52Hgpg03i`gt_^E}{g_O%;8PMgJD&rO+pL zfB6J-3EX=_m3ez_^yjlXh-@i)-p5!F^czE@skqe@hc) zbC9GPbMr&tNpEFQz-TC12GXVtxzx)#z}}TBVpqC+X5e&iXrC<=MjobshcD#oYca^N zz82x@o(G^;*VjLhl=Za)m@FNsufG7>yS|v_F!d!QYqIjuRY33gNmPk$T^H;n@gM?q{D^=;bR*%Bw4jl9sn#1Se(W zTQ5>pcM`|?sYU**AJm^Kel2;Ew{;=({LwAUbNEBVnAmdOe% z`^rKt-Gm?4;6@p2{d`VIzhRi2KLAOw^GQ^7`sYa8MU>#}EifC-dg@QUw|I)|p$zgp zL4WmttBy3U?Tz8Ym2q{PSCIiYz*v_!$6*re5uS}a5YgU>ua3BlA^C{g2~zgQLni1B zuur}qx8xyqUtX^m?Y>^Y;>k%1EEup`O9X354-W9ZXYsRYxmtnt7EW4<0s5IP5$jd-jsifTtBb`(~roL``H`*93;ZD|o-cl@nR?Lc2K zhqwT4%tw#E>lVQaFK#4Bi*OOeir%6~%yy$Ckwtx3&BR(S9VMeP)+dJh;)|WvD0NK$ zCP-`y1|n)7w+Y&qEaLZC{G95$g2~ z%7=2%aW5CSVEoCGr#S6|Wv9lH)Gp|T9w_6;RpGe*LOJ@0I~hD&k>jD`Y{|F>Rm=G$ zvg)WnNI@C~e^-I$hN1i4&grQXDNpXj9Fv+{A4+UP3DCK!ARUYlA&*{c9i((t8_t{f z9?|3%1my6mBb0jSxj$jWNy?|TuGp1sPi|{ko=iI(srAWp&bK_-ydjxNM7O2aJE^U$ zEs5yrWGdb2w9S~*G>-ozqH{a8ws)kGGuo0J?WyLiiRiM9maVPpPfG4u>1;{1&1ji2 zrTOUfM^7Fisht}ZY;hfp?`2W*CTebI@<$vD0 z=#D*?Kk`ugilXM!6=(az&EN04=i%u!_dfEs=mTG_Hy@n6YxYAQ+;-w4ZTIee^y5^;XTbYI@HYUr1>ZjdF0=5~HYyG?6EzEdEK{ko5#EjXuYvAMpoR5Ubv@$02Rv2`)EDu6 z3h;E~aTDUJJEi5dWqj{|gZB zN~Gi8V$hv}!O8U5I2zo7Bm0{$Dsk{Htrn;@OqY|mj@1sl18AuSO#epUlRV~)lSe&N<^J! z7nqzn7g5^qA8GYvVm27pOf?Hrb3wKln6!EoiJK0ecph@wihrAsq#a+JLr~)mpM-*8 z)D&*qFvp~N9*L&=6R{kWl4fWn3cVfCP5{P%81iL53D{i<>nm!4Ke=D@^AV*D|56ar zddM{i!ka;6gTiH2)zDuulGuRAJ0)QG3utE~LK{)zgj_ubQP0+Z3*FshR&5 z0%>*1e@bFGSl{U5A+4SOi5_zH3u>vzxDC&$_9w6y8c>hA^(S9}@=^tQOZi45>Y;#S zD~$@+s&>FvI9IR6e~rW^^wn54o8B#^5Lqga*Z8KORi9XxRKA+198{G&F;=5)N&a@0 z1hL6|8`~1p`d0kcm*8q}vK668^=%}bO2O@b47PxF8`@4`zO-!oh1dlX)YLn%U;p|h zxe`f6>2@+3ETq6fGc}*oR$eCM^4On%}J=hVA$!KeH`|UL$#vXT48^C_Y`u-$arVdnZ|eq^ts}6nhp* zc_}KVXY1@O#j zt_t+ESZTE$q{ewwU6_-;`TrV;5?<9W0DWBneL3)Sr(^)+>?KHx%G0puR-&!pCP=}H zz6sH*R{^mF{~R2@ZOf_b0R#mWuiTuBw(r`WjAq7Vqnn%4(QTLjwQk>UAy6SGl!1*T{1$xXX*+$W-~Z5xt1$>5m4Mn7Ga zFTnyLN;=xy7Hw_;Yt8H1qwBXer-|7RUEkd1a+WK1azj&eb}AX&<#a^1wWiZj7M?LBysk|uX<$5K~oJB(3>YwdKi0Rm;(2rHjL9k-%iXl7O@DyihEFwYYT z-WN+tCI%OL1Zw7@U@T(~VU5cMs=a`oIvtpW%4vmUbi-i2n_723T(mi?(5)#f?(IT5 zPo~+Iw8A7H4hqXQ+MGgPvw0;DTU$3KxjYAjZEN0?gtq3>rjnalv2utqHbocpis#p> zRI($T+>nT(muya>`$EpN^3k^Bxopu*0ck7Fj$|r@eo!}!lxrflZ-pt@?m*7Fq`PfN zq71EVJFvKjTvu+UUT@aQkpuz6*$$0NM7KK5mNdBE!i-uvHhBev_}ZIWVM&_;@xv;m zCr)(Vu*8A66ox2;=ty2WM?qsni@gN>X=_t7Fm`TEja?l^cLa7fKofTfU0)B*exZ%I z=GtNZ!wuJ(hz(>l=9Fn}eo(@Ol4^y8LBs8DJTj5_v18rZ3dPN3ECUe?LQoZb+Iv%A zUExHzhPAnQhi*O?`6Q$0kXuksXbWD4=8botSZPthc3_h2ZuXFW;OHJ==t&qnHLu5_ zb-I-!EMMzr3QRj(vOd{I+rZuiSS8eFV8FSXF?PxiEdmP;OUsunN`UUFy?G1FN;{;P z)0A}72I(LCVU4>`e|an)4M9g_X^f+-)i-Crj28ShN&f2n^rWe2e7R$J2at_-=o} z=;#-Em!jD<4w_mcgL8Qm7;;g#>12C5N2X1IGd?Xkdk*BwVZD|}zLV90hvG_!JT`I( zCZhRFA^E)RYWMS|JK=)e>;I4G$-#iw)D9Wvx!s-L!pVdrq02Hu4*(LPA5lVRcui%I z<9Du4N?k;q^)k~z(byOU5+()geKl|^QwokAAUy}8ULz0AQR zg51Ufdv$JedU{zTP?7I5P^$^B9I*SKqBiF{s1h0KOPyf~HYRXnK4!i){93|sf8YXX zA%2U(=AXvoh{Jj5CA2QMLv4;lq1io$z8K|otlym1eb`nsSj%sPVx$wBgqc>6wU=XjRjVZhkD5sLpJGe(Dd1tOMX2pH_D!;joD}G zrZ(`7WILKut!zFr+4lHo3KSpP(YB?{Ik#=*oD~b_1QfPc@P{QCwS$|M6UR*)KaH3W zS5;IyF3ODVRO&5!U)cmdrpXv(r5WS?Lr90c-O;O7sK*8b)Ii`y&tJ7*9=_dxe={HO zoUJ@?D1X=|39K3UU`a6#js2s3qN)Z0-re~34F2IviozKe^#@a_{eZDK%k!k_6MV6^ ztAJKm0hHhB#Z@0UQT>M4cQd;V!f%^wq>UMEo9QZBx z|2XhlMAZB6m#YPX>IX&Cyvi#o zB5DiVLF$o8rh222^ha0GKeC3oOb~bK5c(asgVgg!d<*V(hm-Q05m!`HtL1gm>#Eg7 zqo>ymQn!yLe(^}=cyv8e&4C+HS2qx|B2G-jSh{D4`}uL1aYNOd3F9Y>Q0WP0PO#MU znco^%t%l8>US}zL_I~(hi2ru@E%i@vN6h_Xj-|%UubywI1@lRHow(WgpUfGmu9!c5 z!YK8@{1*@!I+3Y{oya(o#69E0#V1;7xA?y-?)~DvEbec_4J=^%5#p{{FmFLgV9NrW z|S80hs1qV+{T5(oValRzy{U2@Qj5KwR<7cb^~Ln*(cHMgj=m{J&96!04{TC3Co^=WxVMS>2;2#3;_^|;C#Yp`Ewybqg z3*&#k<<=HU{S@v5^-;^H<<;u^P1EbB=V&P62GmXX+Hx|IEu7G)e9s7e#u zEPSU3m59M~1M#~b3>yik9Op)73N#VW5J0me=5jzGyg4~fptAw31hi0Mo)2iP8jOY5 z3qa*d5_2%#x+2Zn0j)#WS_%8Eq^riULWaEvXfsN8mOyU;+KN+jEh5kVF?c4m7E8aR zX`0Nv7Awh=b*0I$A=tQKSUtja0%{W~vjKJC4Z$4(Z2l@%)cg~}1Q z$3-f40t&&_T_Q2RhnQCb`l7^q)s4AV!ahP6WA2l>tqd~V2v}EAv0dmUNjC)$UPe)0 zhdWT6C}AVjEzpaBY7?w<2w`^$lo6;--7PV%l$fK`J(9z>TfbI7U%;BI}+L#Ko0)~RIM8D+ohD*fDm=J0k1q0niN`webNT?h(J3-#BRL$arUVeE_5*4}*fa^dO~PgaV!B5Fg|KEnU7%M0U5)M5V+Hy^!se)%0+ods zHWz1On8Qdw3edd31)wq=PzccR!sn^j3Jsy9ERuBX2x|beM4-zh<~+4bpt}Lh3mmUj z2=oG=7>;4A66h^Jw*y)uP_T%(pQug~s2SW~zGzU-!tuG~|-2iAB+FO@|Wh88^ z`kX*l3UrFPM4$%&-43hv1%X}?=rpxQpg#b*8ow=Yxs)$l%$UvUYZ5jD(9QtbsX)^J zU5!?Ivp{D^*an5?DTaQVr-UWdHznN<0X1PK?>>Qk31|YK z2PEAGl5V5=wxkP2NOL33AhG_20h$cE@UTFWBy5vROtX2I$pi2Zg zTRkT+ua}rx)C&UL=Rz+E^n?p_OS)eGx*A(IKNjeBfH=zgxj?Ff(028fK;;6Rqkbz; z6i{~{t^R_+_dqpC!qV!0r9?AIXi?JYZxVA=$+FNJfev*@psfg-ge_geU}-x6{VH%S z&QO!em6GmU6*8!Uce>CRfxZuD2sW1{OSXs;2<)B<}?h_ESJR0qqs&?|?!$k$Z(e1IrlpU+Nlx#t3wU z+Aq)?Kv&~j<@JUMEj$&2+G()QH%r*&vVCPU0o^9hgMj7$xPzcc7 z0*x#ubhWxipxNc*Ol!hNz5;)hop|K5$G%G`x17a3q35*j|KXw zdQ70dfM%WgntD>8@&T0R4eB|8qJY|s8&$W#F~cN4v(=62$CAT|130?4N&O6ygMn%Z z!U(;Nn7AG@U|(6Ix>>y=Vdo6U3<#mec}Hm8C^7F=LrmITy#1j59C%pGgvbV}A0X_F zz$5A;33~@&JJDC1EMfnYut(J@frbra?vJW90!%srr40MA+9S|MClh*2T_cdr;dOPLKu@h?*e}(W1-f)Kq2H*R1k(BaReeLC zkJd2kZ|W|A?!-mMkO~JL5NIhb!G%;s;1Pi)V3HM5!vaqWq^TSkcv+x%>loG$_>n+2 z2y|57CjyOYX4uhzH+<=41>O@#mv(mG*8<(Vo-yYHek)MZ214@!zZa+?N$8}&Uj({- zBcbJie?#&Y4!TuUC~IN;!13yrSPbr$hmD1M+puQD`OdIO@IMbXpk5h9KHne4-2Z~mfGR(NJlIDNGhh544^AWg zO-I}V_rH%|+Q$U{{IEBI4Qj@)iw(@OhF=?)tnM8?I}}il4_^b9WwESZ4L>Wiy6c1C zEpY!PZeRrc1L4-GqehUQiEvp96C3K($0NRjv=c|ZjL`OxEEh{RUcEJvwG)Waohoip z+-t>sLfk)#JF<>7Xf1pf)HH>2M^lE^jXv1||D#t~R=<%#|99}xe&3Dzbto*w==aciVbjcU9#LJnJ})~Pv- zEbn3$!_qx`7TpUMF?9bB^2U+|Tpjy-6LTjW>gr1+b!z0;4-q!Em~N6E`q|{(*2S)ba__ z;hsO?IH9nmETG2C*bX;U-vM{d47$$`J0I@q8Mi8E$c)dyf6k10w3-WNuq(rl)(>1bxZk;NgMM<(nSW>?hC`>jz_r2MZFo$QYS!%$XNfiP0vq_p=M2urM@vcd{j>g*DjfUl%=kmcO2ZSSJAy;-aNRsuA=+sJf?kg72TIsEkN476#7fc zHfyQ-S4-N}S-myP(lOs5Ys^wh9l3^~Us!X%E<}Guj9k^OrTgB@cVd>R zUrU$m+EU}!(mi1i2Avo&-aht^Lm~4 z+3&U2UVA)yIOjb3^g>)Zb0FfbR7%O)sgyfP;pNj`J*08^C#UqsTx`xFJe2h$`X0|B zJ3nMmiFswu#TL>gdl;9=mLZqVS5SOoo7ZNOg=rkNEISl^Z_TDW-Z8Z^x@ko7f*vDC z=d~Q~W>m9ujl4OQ`iI6PM)AI#+dG-UQcYR)G7YbwrkVkBNVCfn((E=z*Wl%Cel&uv zqqpV|9-lJ}L!F*eoQxB2{MC9EwOor={f806R)pTs@;SWI^$oKIL4FF3GpmBLX%PW< z1A~9Ho>eVh!TCj-jzk*-F>gp=Rt4|1+=q9mzBlYd%Xjd;a#knOtbz;3{9t@%VieyY zykE9K`-LtXeb&z(ma^X(a0GpVeg_O|9aM*RtyXuTaBHAv&{=2!2Mn7S^dG!G65dt& zEyhkX2wvfERgg1gUSKQOW!N*w@Mb#yYCUfY@)ND0fWs~4w1h$#Go7+fSlWm!Z^Z7h zS%?UQwVF8|4QeaGU<0#Spcum769O|?t zycX0`w1?9+>yPXQW;zcY;8)}KK~S>j0N#;gXayV&N)r*#idnrl9h8ovOgm-`qE+xz zWWAZy0>#%6igY+Gm(K7HX3LPx5uIVT_HzslE*6pSu3=-D9cEVPm>FD-en*WTl}k4` zV^|Stc7q>`=1SD;2EQ4<$Ag!MD3IMK)s>FT!4=5-HG}=ZD@1n~Y1qfeqG69==YsDR zF>sa{)!!x&3yvtVqI1*}dNL!w&7wCXX$Btz?Zny5bT`d@a04@4N(11f?qr2ZsYVPS zC;n}mD27!3Z=WOIe% zaI3S(f|*r1PPY0Inf}!_>lM;g;GZS=SL>M?BBhH>4Dl23@K6kSu7R8oha3vq3@Z)^ zk_m8{nNH_0_}*qAVi^2kvv8RRi(|=3t%Kql4$CzIif=gnNt6A6;!7qc{%Sn8hjfy7 zuZ#UE;k}S@F#@U$JB938Xy21GsU$+gNa$v>aG3^unAHGT84ZKA9|X0Ik+`(uU#(|Q z>;7^)j9@>Vhjhrbt&ElF@Sx46$qd-StQM{Gm)F5hcDQme4ZM4i(ORD|t&7F=5Ud&J z_IilbjB|TE{EHc-x?D`h861TpHeY7K7NbceF%#cEw)_s^eeRYv3lX!(1An!i1+B|u z7Q2a+x85vV?3UJtARD@JxMhyjtry8`oDGulGRMQMmm{kB(oZ3I(8>~ z%B%(`1}7XhjBGmLG_zVDn{(iMW)0#;W`Ao9^Laq>Fimu97#{eu2p5*{mJ10?5)<1ck#tm>5Rk z@ZT_oQMe+QV;F@ihPljiDJ_6v?FVFK0UT$hb6aA^7ae+!EP>Ou-+WmLWBQV}ZlC2a zSu@AL&|+~T%ruPp-5X&pvj#y{ZiFq&*1)vTHF6;wGORfCak&`I8+LQ()AA;8^rINo zz|EmA%cao6W^c$_AmTO^%VfTjms>fj_Gb+Jyu@2@lTj6*V^Zo>sGplrL4J}8ef3=>z zVXNeNs9?VaL2Lt@V^#$%!-Cb5@Vj9h!`iB+AcDL4DjdT*s;8mau%xh9^(=J0hOFv3 z+5|B+8=^Krl4cMcnyg-c>utZ0$nuR}ZrFJBA}nR5)AAy$vNaFEOR$>R8dwxIRlNkE zbc-A7p&~3_y#jM>wp6_e)0kC3=k$b#*WhMml(JQ78$85JkAJU29Wxr8?p8bDjIDVH zcEb-gTcvh`e;mc9!|j0#W)yCX+6Ob3>AcsF8vbgV)r5U5Z0311>@nreo>y;aMb!K? zY?s<^Ge?^@-B_zOZ@aPRMr>f458V7x+I*r8*jA=DVsqOZb@RKaO__9Qu57bexY+$| z7Rk45D^Imq>c+NVxOZ&7_b{A`9d7lNde`#v{HjfwaIuSR{KP@quUXsE>OD7hUcC=a zE5EGnlnAVfR~vy_)rPf!*;`{l@Qz`W z_pjiPVU+i;;0wd3Hs>z*)nnbWgxfhEeIBfZq+H(mer+CngO(RDvhK&oC;% z6A)||mEcJTH;hW~By=^5O7Lsw!Hi})tK`?T$0`0A1eIq4++rA&=P6ii7?tN~IBm1@ z>I_`R6CvFq&%z9wg^05-$7YK>&Ox!wHjD4zF`FHN^YE0-Ld1D^(PoQ0zK8A1)s`l20`I|hvkM*xIf^aVKk=x2}haL@R<51 zR1DSOS_Np>HQd}^M($Z4!mIPQzl$IbdV;IFy37>`U_Gm3i4LcqFokv^ogkh@PpB@onn_-QJg*VMk^p}?M{#0=VU(l6Vyt15qroD>Fv`&oG2Jjq%P=w9FiK0Z$Ty7AGC~wH z)1^C7EV9`qF;c8zRtshAp7j_dUNLM*yC*zGi}#tWajb0D*K@S^*|7VNjTN{|z+V-t zYZvc1UNmRcAj;Z}@SGq97`CL{1kXug0y7HS&WYA}&KJAf{0hZent`LkUe7{t*syjT4tN%cIycQC@e?zO{V@8;k(?Gs zLWg8kEPRTog0?h=`Xjp&@_b+^dPAU|DWtHm=W zM-OHki(D->v1S!taaE$g)|@Y^#8S;1RD$=3<;-;H-X~tRHOtZOYopn!OR>0Ld}~Bm2&D)fSSBK(q+2Uof zTG6vBt^oo)cS)AKeYz zBz|L72{(6b@OnW+OtY-amoJOnnmHco+E#29am;jCZx)Me&F?%ni`8y^TgB&Y;kJr; z!>E;S73Yj5weqc^{|t%`SLI!Q_IgdsVO9kmk)GbKi)DsIAlo7K8#Wjj?vOr{!c{>= zq@VXLk;F{5);Gi)!-^x5y!MGZjppN#Exl{RH?t_5Zgp>oCC26(Q;$WyC0;iyWZJRF zS`omSx>oj!ADK~KFkkK$GK;M^UWsfg-WLAMbh+SO&HStJe3SjgvLD4aU%oA-FslLb zdsk#J)4l1t;=^nTSOvqog?S$oU1k$o12eiMdA%n_8g?794@AEl^3!?vNEEQ2PUlBr zi0wCDek4+v>G%$dF}B|{d01pJ(=7yd>f>Ln=hki!-XDt^C(&9#>{D@?StZnT>+Suy zoj>YZ|1CPtAx+&we<5CGn^kc8w0VJFh#26xdIPYU3Lo>(c-4eWU zD=+@ldY+sGGb`i)h38M%{{xLSb4wM@DTHE;c3Vl*bv- zpEVl<`F$gn8b*F+Meq$2ZVePft@b`A;tg9E^|1GMVyay>ZnJXn zlX#4ozB_WkPRkupyVTD%d$bXIGU^`b^4k)%O8&>ztciNg`=Z5~eI8XTE{bg&gKm)* z1-`OOxdpmU^oxjRRtYV;zvTU^SZi1pWWR|NdNtpa=kH=_BleWd-u3=nY|{+yW`E-S zhwz`z;b3z2OR?v){d?JgFJRE*wf;Fzj&9@A!e-j3SDmK~M>L%B6-;33|%VV(mvI z=p{EYs~2~6cR0M|>&CBDaJul82bodq^QE`^)@J3xM_y#M2L98%rNdV`7LZM1VaVDr zTjBVUc9c8S| zZg+H%lWq2pqnoU-*+xf;$^JO zJbaR5s?9=tM#vd9i}V>K%WXEmXPms-u#M3peA4A>Hk;&gojhu@ET5^;bD@rJWAuEV z=`z}8OMPa^RGY2xnJqJIw#H|UTxeKy=z5EYzl*nHU z^9}pVr%ZNQq+|CDYw%ep$Jp#=pCvNau$pM;d#ilFu;bDGz7_H{!!Aa*@~xB}i?x-D z(d~Vg$y}R7`L2+aHtX%XQa;WM=L|7}d~Y*tP~Ycsv0uXy-2A%7xHGzImWvIe_^RbUG{g8p#5#G0&BEmq@&RW03ET$xnC6{^CAdxgVzcwU+whwzI%V|y zZ@ZkptP=Y6_}O=t9LcN-vS#JP?Uu2(kS5ji3%+m2G0gOH!@aVCS&f+4;}74r5$Wgmp*&#NU}T4+ zqe9!vhz#;OBFmUn!N)z?_+R096UN{IMMcCgthbwXw_)1~yaJi@FJ ze(4eGcSiogj8fgt?;9ES53*7Pfjx)$eJd9k*0twIzwhNX!-gXJLH=Rbl%C`Kev}!@ zbhsOPPWHPX2b&mtvW~_5M?TDcl(HFq7v&~qbiF(Mew78wDV)yHAMzZtD!8v_u=-Q} z&5XjG_x($f9?dwbqKo|gw%Nw$Tm3wg}JN<%H_&+&zeqtM}x*JB% zFoV@V!{`}iD>aB2<&W4{n;rIRrE-}y2%4L=R$Dalp}A>mwUb$;qj#@zWN+Ew4ne5; zjG2Cd8mj&>jA9Q}AuDvsDE2TF%B%{CdY$zPQ!&Pmo->E3o`zAlFxA^FTpQJwnND>Z z6>t1#4ckT?VO9ledY$)cs}8TE__SuYTEk4Q&caoRX0R}8USK$vuC>x{XBe&Y?~xsB zMl1aYn`L&r=+{{tWh;7J)kXDO<%+MXieskzx~kjV{36x;wqKTar24m;UpMuY%{Gf} z>IY_er4glmwf*MH?yALY6rc8sQT>?dd26g1Vi=88u_{F~tZ5(rSoNY?xSr}mW>v7c zSCBt`_a+)weJ3tAsE5 z%$H^ADQ5KE#UZ#+y~ON3$31;hn%$@_7`DFeC}h7I_F~@&$kc-r!+nk&eWx^AsKN|8 z#;liNzc5QREU+JGPB*MCvjv8YW46+;dCVR)>@H@T4SSB++lIZ#?6_eK%zie^w?D<_ z_mEC!Pi7qro4{~?048}q0VOH_qnw3fklJDBO~_Ga~=_QPxJ*=9GZibu%` z_Q^PZxkYt)Of#ClEK@TLqxs89m2Vi$Uv5{c45RtWoobU|G=EvGf*;pbX#P^AHX26r zmwQ#6VKjfaPc5z1nlxj%Pd%%d56x!oQ?D35dg^?iI><~vb-qt!tfO$1@Zivwo87On zY__}EgX#~%)(zdI9#M0j(3&p}Jp_-aUo>;n4o&cVM73DYevU7gMH=?&(1Xn$Q9}*$ zPdJ2ZDYFJ2noB*RKGS~CIbpthMEP&fF^o+3tl6XL9WLD}@SOBu;$!NdVc|KCCswQX z4I7{Hbm9|gZ#9Lhg2J5W;TzNq#^zT!Q-(jOHnB~rv1gk-t#&Z0bFCTpe7nd?d(OB#Z0fxUQ(}UKcM?dFR7EvDq%~)g=R0QBTrH6mGDNwAI)A- zW1iORP=ZJEE$S#U-CAE$Czb%^bI>i*DhzDf|O6{&ZTlsfo`J z(>AxMX*O%we48rP%yBMZk=(8#o?}f%i($ddwyU9~yTfutI^-kWQwy+o6l)?q2lcdLIhqq~gbke#r@ z&1$|!{lctPh{XKndsXI(6d$qD=KE9zvno(|&o+Nktz<^=m5Um+Ml-%w`IdUjFu%k_ z@-6j}VeOcGVpuO`Ckz|H>~F)yB^Hafl>bW<`x;mDlJ*s20D*lc(6gDTNz_DcGo`FpCs_>D{YwE6q$A;T6R`#{wg&D)c{Y5t*dY^M0uz{5#D zHUCIWFzm%7?-qyDDrQx%FDb0WVf8^rD`kh^i277Bh#sA+j;Pd5?tWu6gBhd8qu-Ry z?tZg0gTOI^0*|PyE-t^1)m+VRL-LmbKUQT?9@*j(bw9I8*o>N=s)%SE!_x5|xB67&7)I~wf2s-$ zqu4)Hy<>FjC&zz@nsJ(O?4PPc!zlJo)jXp~v45&cnd#U+Rd+F~goP6h!Dnh*PqImV z#3pNoy<&Fj&(z6lTz+4ubDF_-lRoS4h3Y+u(;`l0^yqd>J!lxE`k1OVj8c6}Z5z#+ zK0~it>~&1-(Tr1lOzk&}QhiLlZ8Ry>$J9s6bgGZ3h%v7CzEmp>qxim5s|}<0zEt0j zb;b9k`b9I2?@NUnIODHgP<&si7|nbrzAsfjW;(tv)mUbg;5X$E99OL;Q#f5p$5n)8 zux83Cd0hQ*y|zguQKxdIYep%nQw4@m%Ieg?O!niFs8dHYXi2ktw|}X zQ!SY3l+~&3%>o~FjGEz^aqM5IE{0L;Xwzs?>|dz@W;*t-)Cy)g_7f_rM8}>m?hPV z!zlI>D!o+4{`QQZ{wLIQ%{cZGYPMk%`w5k6G%5BIs(_h}{e=2-5m_O22u`ZwnnBbo zuYo7k&J`}duT_m^FfFUc;ICEu9UQx$I%-f48b;}CP}PP}IvZ3Xub}IFsE!)cNX)5G|PN^cpDE3ookzo}3DfQVstm#8_ zbV}7}#<8DLrwyanPpK$ghu8C!b4vAQrei;)Mlq{|2eJ>rX*FVvt6Wa2ahgHP*;@lo zs|ucD>he6JR%r&)bK;ZEsEqZlaNnp*&ETD!weXEv`;5-fwYlAr&#L2wQI5{4(}q!w z&Z=$C>KxscTa12tG~*ndRR;{C9Gz7^8BHqBv+8$dI!9+!tLMmyzT(cQG0f^kPv`jL zbLt+$DE4#eA;T#4b87A;9ecHNCTbRI#<8DMiwvXK&#CoBlVU%oo@1tCKd0VeRtaHq z4&e@P-l46;W|%c$m_NVnJ^ly7BE|OfT>9Xl@S^fXJh14dgC5eDBjIQ=+m92Y=%0?Z@?NC7p>ubp^ z?7lvXe08ak+p=&Mhg!or+D-4(D*U%S>9`~UTBeZXPPX%~Z9#&*j@++~XIN+JRdrrw z`;;CD+O2cf6m<`vW9inO(m*KT4YqJQ*VJl6-5Yq|&LXs{%BM|yx1rnv>QL^pSBh0rB$2p-3#Gw_%U{>Rl~7-a+Lv0X zb#;(ifJ@T2RbO51-X^uCZj&#CH@2zm|6gO#S6^$)BVAJx>quY4I!2OTF3nexlLf0E z_`l_jdJ<{IO-h@Dj$HmOYyWTgy;7-m$5^ad>(4R9v1DiyxAskD-&FS165UQ*ZAqBk zPv=6*^>ySf(ei$LeYwl8Wy>yW5+>Uc%e{+7y<(QrI4f}HAwn&8PodVii8cFmAe|NL zrv6Rh9ywIY)WcZ4)4k{`d6t4Zl(43jY<6?M;pQeCg?oOG1+A$iWZAN*W7Ij)y_t?z zOUP}-=*qPf)+NFIhhupqgDkt!Z_NbWX5a8AvPPq=f+H-UeoW$iGZgA9OFUAowCTQ7 zK~NKk*6)CFoP#A;`Z`q-B2lh@dQtLb?mw|>e;DwYx$Kz=`?6eoKCU0Bvzf$IH>0j0(TyAxm`1g#Y$(b|2sMD8GnX(K35}Xw4tAM9)$-u!W}XNjURY;Or@OwMz37zaSllJrn!7~LxU@da(6Hy^Ihead z$Ko#6c1YjDO<$LQRSvt{+7-DK?oMQtiKU|@WX+m`U1`?mE~oTZv&7+8&Jy=OBl|j? zy5!yUwOg-bb?sbT^XjWYy~g~W>z7h)jY00~N`2K(EYh^ek1_9!-Q;Vv^QJ3DZJ`sc z_XRZdr5;QGtxpB$zLD+>NZiZqYWiPs8qRYq=&;lSOJnDE_SN$Lty|Bxby(fIl3Uk^ zHR9-T$196c_%M$<8fm=7evBo$47FR2M|#}RtD7s818x?KHg&vI&Q`o6*SS-;j~(e~ zP4{s`w+%g#`mh~co-2D&SY6A_*$zpRk?3@iL>LM6Hj?`&_jYLYIj$D2xPS1#-5DvY zyIfyiTH@~3SEX*TTHcY<*_p8iqrOYf0Y^XyDJ;?Xa=&}vKKkfU_`jdw=iKW5F`^vs0P-}vs6mecMs689RUTBenwhZ$9`B%g@otmjt>rg53Omw>+K zquaKY>o%kB#pyH;;(JH#ZmoGew^iNR^{j^60%mcH^Eobe_f0In2T_6c)sppY5^@XN zF_F;K>a4p`?vkcG=anSd+W)^TU$4Pk>9@u&Eopk~=zdt2^HwgC<~dZ4tq^e!)GN5> zv9J4_P1lhtUTZwMQdw#F0gO??2OO`vo32^wE~_5D^p&e;$RDx3#v!vPosSPA{U;F{ zyU(+vf%P@&71Q@D(boQAw_f)}jv))~SGQhCX>4&V`CeV3eYG9kt7MI%P#Q@txxFdS z_rUd4qwkrxYwF&~UE=Q6xh~+b!(ARTo8ofSjuo$^qridJu|FOToc}q%3xe@*;J$fY z{KbcsxDQ`T+}pJs%GyI29uA1WuO{F=aL^T2LpS76uoe#o#NZJNoA7WzFFg0c^EGe; zzaeoHzbn%Qk3c-y;a4Os;L!#T`l3WTNW|U$lkiAJ>nZR(?q%=54}V99G(3;S^JqMe z#bX@q;Xe+~hxO0;O_holL0sh0b z0MGL=z4P&01cUJi#C_Qv_}$}exCi@AJO<-_>w&mG`VrjO`ZGL^!0njEJ7JHw6ZP)L zu=nHn0X#o|=QVi7eFt%m@BZQ;JU@(aKaA%`Fy2S-{5Xc)08zMaP&?RyzFTl_{w?T! z6`sN)5RYf^n21L^*alK;L)kX)!t+Etx5FuxH}1WP-%QwrvRx?Kjb9s}oo9FBKF_#sH=f(UUJSbz zWqUE~UX<-c***-r4`ur>>^_w3Ls>2SThyYg7QV#uL_D{{-M7CH`%$(ZzQglGJh#K| z4gFgjK-mG*JAkqSDC-FHpS&`}8nIZ=)6YuA+Ys@eHH`maT!*++KEv*p5yRznmh5H8 z+l(I}9)i!=UC(%i@dw6V8HFUvK8%5g9a?lmjBL>z@euT3^Z{}YVt0}pKPn<%3reev}I59fGJ4{54StP^6fHA`Y>mhl}z0LpNuxT=L%-Fy*`R$mS0=wg`98%W9 zPh)Ni^uRLN;#CjcV~a(a3?BP%pb+$Cc#m!c7dF#N-UGZf&LgO zSp?%wF^4^a#o?eEf`V~J!?K_>c}MsPbU!e54I<^&2OdMqv4VE@juo`eVJz=`xDMz^ zVt>(mT(VjR!|++*AfUJW)C(i<;m_uhCx@3_SC z`xgJ=np(#gkMTyfz%Q{-Z8DDG7&F+yGqUr<@4T^2C;r+h2}>ggb2@dR2&spxiHl^C zT-mNHq&v{NP~BnSM5@yjh-u>fiKCh&$=4% z4DHUX;%zx((z?*MWfJ3vNzdZ`WX0(Afyzmn+tx$XBz$Xv?R1CDla@EHhc_qXbT}iA zPs;B=EoVW80zoaLKv2smWA{?d#d6NYofz+7&p`sxpYXUJcNhs0gM?rD*$(#$+I@H} zr)mS2{|5Hm!16&xLT}k@;xwnpu=IckAKv$33ro6iiN!MRAiv>MgL~_c{9&Vs?^vO}Z zhym%{P?D4$-<*60bfHoTm%nn&3Ux=zNnL!f^=@wK1N7h8qheY5Vf^+5rR1nsm7c7Q zVkmsi1nx|y8l;vyhIcI)1GHPo7~b7v4DUG-sQyZi$6=QCj2;8DUrCyDWQ>SB$ri#? zNJbvY$=W&2<2m8TxIOY5`(6;V-+Bi69!8|yM(BEcDDn*S&3GJfT*fnz^>AGV)-pI5 z%QB=q163LOBD=$@DER~JP=B&F;{xh`Iy$hMhonBxU(yvJMEvApfp#Wmb~^*k$+?J& zCzl{rPJTQR-^Is#QK*&Ou&qv^t2KT~WYif*nv&Tqn9C|yj-GPZlO(w)ugaK*m^)=< zR6UeWxfk8Tq8^G0m(+Tb;JGQUqU7l4x1#dJXH!0m%Eof$fA%4g=IrP$oVHj_8^!xl zG}+t}9VXUIU4%RD`A?&3CwT0S(fwI7o;7cS8PkfzZBRIk`lY3)lZ!3td`y^l4BaV` zcGgajbfu?Ynj>4J$Ti~vVpAmT5S=1vFXj|U@3o{z+ATU0YidDYChuF2B5CL7F&r0$ z!kwctIK~u7dr4>VE(j@-_MuLZ^fpn7q_+_=x!yCmPII~La=GqqgW=N`$xKd9CZ{Kp z)02tmxivPE)04^R$&~b_OD3nM0MnBlTflo4$O>f2yv zW`cL7q`j(dgLg8A1s3q$2$`6|GPFi1%;Xdn@ZJXnoWdIJSC>lK>3*rCf6*_MwBP-5 zuHU5wX*c|Qbu2U9bGfA6nEH^X`Yc8FC#XqR+)_#Z$6uhR%oivc9qPe%#@DDr`{pl| z^pE^IIsIh$hM?t=uHWU7`taqFuB_#lud*QQE!&^#niKrcZF|a#~ne~LnNly7W zwtP;~h?6F#%}R?qiC6mVkrz1jKiJm;Et9nyXRV5(Sa3I4v^+MjyJ(wLCcER+x>;1B z9LE$9pVeY;u%ezSSW!wVbRz(BP;>z2W3 z@}aDsuj#L-g!?Nh?WJ7r%Na@M@xgbpJ6=)E#w)6Y6h-Z7jH365$0&M#I7Lyu;yK<7 z*34kdOxDb0&0N;ZWX%lLOoH{|5Uvwt799px%*LQNR@8p~=<&@mdxQWBAPlH~VGlH<4a5Z6kQSId}Y4%i@jBW{!fn)SpL z!tQH(;`(f3YEReB*diTX49#glsqGj*I*9@4kQSC4u*CbXfm!H& zKdb^VuT3TUR~EXYk|bFzxwKI-x@8vP z#PAB1RIr3_Vt6%6s?ohId=FxByFDx+_e7R#3$J5I9ZGh!gCNo*9MYa}BD%SD43cjm z>m;&-+!I+cqr!mMlZ}r1)xfSEGAKdqRxeAla`&_j~OLCx+LtCInO7 zA((sU=op4@Ni7}Zmn=yy6l5rX1dd5AisdnCEcOAP=uv>(ZO~u%m zF_|%kv668a<9f!ujBhfYU{qn8$2RG3HX@M`+OmW(kugh4!bzUUn8jGZSk1VHF|i%j zV|%vNo=PmsAjz{>Ucr(IbWaSgY2Oxgpkq3$=uEgRJc8Yci0`$ph)jp}U8@-@x=}6c zL2TbOF^b&Pj9J|&RTbUYmoY1bbzKq{xn?!gDafx?*6uDb=uj@^k(3fLG+|as?F|i+o%3_56>EIbtjkuxp9>$6Rq@Q>V z>s-U`f$6Y2wqhX1g>H;}5SBxaJ&5~y)*+_%N*tUHU-ya_k`60-CnC1)LpZu+-4M1j zl-w1J5eezAs&5@)Q9l@#4)^r0PNed$P9&W@21!!K@;a7468SI{-i7)}xx&i2t=Ga!Q9U52+s-$a%qvLwqO=~S@0 znsEx&SI=!tTxCgWOq$6#aoB^XCvxZ0x9H%6td}&LcS3w z+1Ha0Q_J#1bdPSC$nGq3&y2`ocP{H!u)CUZ4{PpWcMbd2vAd4tkeUvC2BxG^EE^d2 zprmGi#|V-vXFSQ6do4*kMzSVjmo#=W?n$H8k}`@U6{EjEtQ$>|h_U2OWXxjB9ZNbj zj9tc&J8K-Zv0Qf7Fs6)W`FIMuXM8%yK{YIim_T)xh*&cqi?M>S8u4rdA=W$M%0XF^ zC~O7eo^)>886>I8Aos}(vLAupO2-z?xcoYj)G)$iYT+J}Ns`N0!IG2g_LxHQ#3?wY z49-II4)K^ul8R}R&aCUxVfoO+>FLlSAu%%@HVxY_lYBj9u{FjT?am@eN;ctgMvvL# zuFl14FmVqej^m7p&UC0u+TbMLh`cWl6B)A@D;TRa&LiLI0>=52o`^znR}`kh@#Jb7 zm!#C8TjTL$C?YrE@#I8A>=O_}QVEx&WU+)$yN@UDDGpLtl8g}x$lYZ@TS^tXbJ<M$PBb1SE1Y;s&1!Fa19V3*JP6cB%V;v*h$d(zi z7^@lgFv3E%%$UVk!MKO9jxk~pTVSkUtY)lZgvIR3n8jGlxJOHFBHs$eJ&bjX5lc7} zV+CV1V;v(bWnacDjW@F$#yyO6j1jl6CSwI-HDetk+{(U;S&Y?;dl;dDd?OgM7%Lb{ z1GWa74u}bK2JQ&_AaHHaGeNHh9SC|qXi0EI@VQn$wz?_g+SX%QuWbET>(J2lp-+Ww zZ#yb{fBUH&7I(O#LrsT15tAaOM&x!(?L5Bo%+5ufgS&L<(!0yZE}>oT?)qm}|Hw9x z9V62t%Of{Oz8~q=ZF0BDZVz_r5j7-gc+^c%uSb0xbxU+r^gGe#qJNF9jX53jTg<@N z@v)D^I(t;~nB042@0{M7`fToVpig$+d40?KF6;Yq-|PA>>;LM29RtL`t^>~uoEi62 z+|Ia~xFc~V;?Blhh$|lCJGlMeIfK^>eqr#|!FfZ4Y(l@|2;1jSX@q1MGgg6!-&*8W0CLwl?o%~-({Lq3wKF4c;&zFPosZT3> zY8C>1_>9XRpJ_G6r(-Sf`^|wc0H37|gdlt()*in)-5sBXMdK5&7<>X2i%-6Kz-au^ z@g#h1mX05X$-ukXlc66>!LR&I$LDC77;+}wJ)eV5sBVBE_|$4BK95VlCsm2~JZ?CC zyZlV?0osC3e752fo^AL<=XETXr-JYU zcm{J?J%;WQMlHXU-Ab)Tc~A)Lb=fK855%P*6iVaF))Y#+H?*#l0HZ=lqAmQ)?n7Y| zHni=Z3hSe-@&Jf!>w`FyaYWk|=$^)y@6`(3v)i^soY$7DEoOJ8kPax(7IY}B<8G~~ zou(G<2!9IgTnQ`NQ_9D7_}mj4+YU{}&<*Y!m&fK6S=SEJVXERrNA zyCq{Y92WIY#Qf&BBYqP_p;`vIN=BDSaWs{uRXzp20Ow-}b!q6_>5{xRmcl;5sB1*m z*Qr=4D=pEr@JCN7ZPn{7zstqDuQ#ReL&op=v}*=1yzg|xm*TP!x5ecle!}=IqZ~w% z4vYgCComQ=u3}uvxP$Qv#@`vk228rjJmY*5~$V|G2WYS8hzI#e21uO;p+9fU>LRY)x)SR_70=Aw|`h#bE~y% zN+jRc84oai$ap-F+QavWkD%t>aTMzJanuqXnQ#i5YYc z_ytD%@-?Ew-qai2ZIlD$VTc0zRUeecAO=9V@s0?^L9tvhdB`V zOt}ZT-(-9X(<`w*?t{1=M+tlj1xFW&J@Wu`zl&pqgm(}HyoY0kgoBLlcbT9gZskzQQ*#BtCZ|Jb@#O zfRl*$t{RRs__bt23IDk$9I5l2FE{DvC7;V-5mCW#q{8Tgemd_PTOBTf@J zh}Yxyy(AQiJj7Cwk60$=A>Jh_rdi1>? z5#NHAPa?h|pGK^a&mg`f=}Vf&<@1OqGud=2r8+>ZE- z+<|yj?m|2#-$49U?nV4gzKM8VzJ>TbenDNr5AtoqALYA_^bRJ@i+Me;_vbp;ve!j;-C0rNy1<91mfTFYeZ0|5CuLR#Vb{vMO5lr zL=SZy(Nq0^=%s!_^j1G3I@Co(AN4DuulgO)PyLDLul`1ChR;Q@&EPl5aYm&)5d#!% zEe(On2eGB{Lkv>Q5Q9|<#8xU0F+>F+wpOhWLse_U7!`)tSG7g#r`jR*R~--ssE&x& zsLqJPR9D1A)eSL8bw?boVi1#655%de7veP42XU6_hnS@XAm*uoh;!8-#C$ab@dh;% zah@86SfG*+i&Zk>3YCg@o4OY99+if8uNsZGR*gk`T#ZNEpe7_EqSDn%f{A-P@o)>TiQsi?UFu1C!skcpZ* zU?ytrfGpJ90kcta2jrsWPPhU0mfr~lsJRmgQFA90d!Ir{32N?yGSu7&H=^b)s6gLc za0_bgf~DR+;k#1*@ctQbIcn~L6{xujR-xu@xZnFhxf@oa=5DwbL+ysUy&piy8r0kk z525C6co;SJ!c!RgUf775d*NBs+zXp9_Py`|YVL)XP!s3WsJRbzV_f^-b=2GkJ5h5V zY{N9{gFUFZ5B8zvKBz&>TKL5K4pj@Ep(ehGg_^Z+)cY=!e2JR1P=}he@D*zAhtuBw z!tb7agPQx{9BSg*S>BJJw-E%>(ckY90V^+=UY9coE$m zj+YU=9Qe!#N4rqygyZQoxN=E>(U6X-k{o;rR0>P*$(+Tg_{|r1j$+p6>8shpioU zbvV)C#}2=BkP)LI@;eUeJhwA+3G6y6@*k0_BhN*4=oZ;+M%1RL>gbKpTVr;|^omW2 z9T~eOc4O>Iv9HB0?0swR^L=jWd$iv-{YLlC?mxGGQUAsL_YUwMcw}Jxz>>JdaTRgP z2DKX8Z}5=8QwQHO`0gR^52+vG89yj~Wc;HE&m{CuN=}-Zl$|tm_^jdchCes_mEqfm zhb9k8zBc*RjGMkX*nW0d#IGs|wV9xNtGQ`=BfCd2p%T z7ncb;xMNejfWA#-`kRf7OO;k;=#+z4-ATib*7@cA)b6_4OtXdTXqHo#kW z)Z&VEKOP70pkE;T#^oAh&YjG;3;Yp4Y3>4Ef!H77*^lcf&iE&p^Yze!<(cNZ7P6Q> zX3o{-ya6_|`~ZB+=XcEcL->LDA#*+nUR?Lz82cB@**yrl@|b2l*ycd`KJZq700 z+{2vvneza19%Rl#%sJlJ8)kTtIcJD0{HPh=%qx%M$r8GJW}9=4(D`+mbDlZR6}r6U z3SC}vg)Xmr<6mgbi-gYqO+x2;sR+QY!{h2+L`GA7ZWib8t$l!7&AGzF`?bi&e{KVu z;&TAJs%GFn2myDX(&_u$oWC{a^Ge%2ue9C2m9{H9^x4lthim5X7{}ktV*|(E!tfS` z2O1t|c#z>ihPN_yTAOp2Id}Ki&h}!=xraITGUtItZ;&|;HRoaGoMg_a9!J>DwH{~q zJl4p^oAc8i!9A!Po-yZPo;qLi%=t~P_lHsWzUlQPzS9nH)=T@J$1};#d*vmO{0GB- zF#IROe=_`M!+$pXBJ!ayIv~ztRlrH{KtMd61K`JiBIt?@^~ZoE*zRwJ<$*)-Sc%6H zJZ^@)=-wOnC{zVSi}iTCh{u+o1o2SoSac`g(L;2Pm@85va`9-u<1>{S5zGGGkweku zN|60pmC(tK(LR(E+() zT3j63O~9jG?hTAX`w4h7h*j9ok_WHEvbZQm2ON`GgI8j@|CGxEg}Qz4VR`%DeO}9k z?DP6-NVLZ-LvKdC!>Bi1bx)kG#^X_*I26Vty(z~e2^BYdwul>^fc9=vj}DLacpxAF z%P9fV{DAs&_yg(~9w+cPgU5M1e#YZ>JVbILrZo}MlZfd{6yA{ucswsUCa)BOlaI;g zlYjL3EyV-x5&Gd8*B_5&c(ma4t`GKsKG?hZ;K+^ZVLaO4(H4(zJoFp=4qSsea0TkX zvE6~|=l-~^^ub=(2k%j?#(sPhj`gEp1Rf*txDJkr$@oS*{^G|L<(3yX6JTt9PDxQ| z(VViL6H2mk%JOrZr9H1J%r9HqGq<1s(uSAk7vwriCKMIq=PbUg^7z>|ICIL3USCL? zLRukZ7e&cvt*oRx2h(;LU!6FYhs&r-HolnbWEWh{kE6cPSu!4v zlKfmJBp1yuE-KA0!(3sa8v7KMW#<<fZaaptDp=qxNtD#KtEh#F@zsZ?I%y*V#m*mXN z&&e*hH24InEw0B)eXJ`ky$mbTnYS3sm1XnGnYBIBTy<=<6O&!5kglkp^~T_}>vpwp z(q_`C3Eug$}#sv z*g(?DuoQAkOLTeB)pq4xv{4|tKc%Rgi^{CZwWzCd#^#rn<`?FrF3NFoF9B)T#PYHW z?53|f7?;0kCdQJT1I(M%o-rjk^IVq!X>zv#Rugnd(p-%J+??ae3kuw*c8+!~Hah4^ zT~MA)ohbEI*(G>YHICdQGHD_Dx!SC|)G857Y#w&D?1gs6W)~M@ap)Me&i^E}?VC=9 zdXB4@qanl&l7>Z5YC89HC-sZ=0CYtk>e#S(yZMiC7Uq@BwTr^dr?E{8r3KDh-R(`u zFPm#Otb#+jJgGOl|tc-Mf0%K-Taz_<`Si{<5K2c z0@b-~8~e6~Zn4lPTHEsq;>Lr2nn{qhY19J(^v(;SAVWmpviNw zpQ7$pkBEj^y_P9d6V#Gg%5WJ|l$S=fXrjvL;2NP0t%-#5zn~mvg-*D_U_nv2#s|9x z<|zx6ZLU24aaZInLF-pAS_-xy>$>8!xh7uL{JE(l4g0WcOt8zR$$ZNQO!ed@m6T*J zwtF5k`?7i^w>h3$kKmf3Si;n zt~4pL+J~9-S<_0Kk7dlog+`M}95z^7IAHgANkHJD;-v8c!D>)$a-2irM0!qkc|n<# z(9+9~DOa97G+JCWvUa&^zmbAfte12rV{i#kl3l>vTGQ*(Tt#;CzoJH?N}=&8wZKWE z49=b#UCI`P^kQdD{+xU#Eg`N@47Q3M1+9dSbQWOu>@uKpUTS%pB-?>azVn@zYPc$E zM0P&T*IjcbD>HWUv?i&!w#2$Z)14(Z;u?8OQ4Y@uuPx6m$#wM>n0s3M;@W|0oVye5 zfY@Mp2`;X$GF5b?{F2_FNgt3lzqml_mKC zsl1RDXNH1q_~2SB8#UK5wX~<{ydcfBHo$6Xs_3qOZ&GEr`eEwoGxQ>o`ebnRlxZpX zrMTXv^#)|5VFIxZtf@E$VEwd9=erm`B?g07y`Woj*XtQqmT;D-XUVQqyOoPuz_h|S zMUbJd3UYJYW3gYsrDbWEHJv~WUNE^L&{e5JyIQ}?KZDz*PO#n5A;VnCmu;!;?VlDt z?!2gk+9eHjkTD{^q_hk&(s3gA-_d{6EF6L6c zc1*raZcCsLXCjd2ESp6=F!w9E>~x?87>1-TG^nI!#>N=+0l zDJ1t8?G?9~g>W)+?c0vJLn^~8Wfa-16UJuGbJ{%@6;R_Fa$GUC$cgtBsK6Qt;@w%3 z^xB>{*~Tv2reunuvs*5umYb*U{Y$Mvwi>Y+kTZ(x5T)QoT%(6=DDRScgls*(l&4tO zQDEceITkg)lp?IoOJd?dn2coNR6FBDr>v+1ev8f#KGjdMuNQrBp@<(TB0kJqji<`-Uv{UzB*V;9w$c4;&> zP@teFXC4lUctyKzO1dn&3GG-iN*1Rs$}fW(`97>3&zyKSOs_kyE5^GvrTV@-xl5cG z&g_zuqJ@Plw}~lhD5EQklIfZfa>ZXllMB!aWau`KhBpFAun?WVVl(NW0-O!i7ckT>Ii8n zV2`zW%rS+7!;#e_0mnOYTg~MON&LhByU`IiMa#~a3!{qi>24ERFLgC3ZuWKq)6JvU z+=kG8?)N0Pn6PwAY%Z78@mOn{4EKCd4Z3E1Y{Tm9n2ayU&&$U(6kkYIe{U0NoHij- zxNa(?r#*#b_O-)edR#;o5|PHY07-()vXt(SaE020eAqZmiwf`w0(&=>kWO+r-f=E0 zbKO>JwV;LHqf))rk_8@Ld#&h z7vh+tI~AJzSiK?Mn1z&lzPPeW7US{+D_Cpcg+{H{onwR1cPaC8F7=`-6tGrfzxriI6O8i(4v$3XeewAF1U0V9z1h9r)ql@!}OFN&8B3*@;D!VkUrfoe=a4S!j zI`-|{_obsX9E^$zEiZk$VoZMFf}W|1ic6gMoDM4%yEV&gTCR2Xm93N)yZNV;HZ5Nh zh^vKa0Mo<|QS?0He_LC|nl-SM7pG&#!uPICe{R~D`z={l0_llUS(E%*7o^p6O}n+H z*lDHX@CI*5{(S6Mumk@u>*w-%m#G=B%HZlv@9Jue8r{`Zt>$KHHNBLs;&u6ph$qq3 z4AX9+u7c;uBd)h>FPK>FET^Z6vuXKFcSl^xrPfVK*9_b=Q5-j{zRV@DDxO+Z;~v4f zkHK9KbMRxz1y<*%_f=g4Fb zRq;NB^D6ezvv0hbw|l`umq4YO&YHXQF}6&kfv z8l5-**P2No^>+9^2MyR*GS=lipWk6}_2N|II)F=dDZlKMWnD2^nMWzN^0BkxDnU#J z4ctZ_uU(o@Tk|7#Kb(S$D;i&}n?R#b?1SrIwvIC(8gnlHn!?qua-9YoM)`fNY+Mdw z32Ejk1u7Y%khAEhycnXozrMOqnEHHUtXYALklX zj2>5L`MFrBxt1x?q$d?uADZ0by}a%vFIC5Am|l!?S`#FbEGj1BG$*ZK zl1R<3aX2gOP;AnrZ@AFIEB7L2VlGI00AT65t+HrRs3-51S}DwPF6QQrPtoYHFiw*3 zOp54X^)hr{3&#?=I2P+iyOW$4JGKI|Qs8!svs**$I}``*WS4Y$9-M*{kIDe z0AC=v6f8Sl&?~=0#u7yEVM#O~86+VIF)1n{BsGl`8U&UkEC35(0g`a+b{CF2c4DQ> zG?~h&}=$1wWHlO30t-Y z4-U8cjy=?7;1#G-F3*z7JpPiuI=2+;^-)WR8vwz4-yS^^bdz+!khx@8?UA`<>9)K> zj3g`5%U~!2UtFC+Ilet$NmGw3*Vsdu!hbkKM`cPIE77I|?E&qH=-SD?MH-|B=C_4@ z9fR(|6*lPPof_srSXjjdA`L{ZK+%&Cprl>Et0qzGm>7+@4*1^DW7CVX^Hmwlr)OtV zJ2~8jS*3MtOH^By*o7`x(^^lS9&Sz98LUX`Zb(ywX}48n`jQ4< zoZ6iZGcM8u3)tYy%hZP6tWzGBEfzx=tt}~s7&n(+mV=U31_}?RGL|jgG%c9OZOIz= zag-YVdVG5ESm*{MnG?wfWNDmjQ7r%2^lOU@Oi3)vnSE-aASUgWMu#R7mi^T<-p1!O zMz(HxTM+dzZj$Zvl@;3$wO(fN^mGz`=_~N}mK3XavTm#Il{r~Y(=F6fteW7MNkEHr zjlP<}-(JMzXJw0Kl4sM}#S8YJG|G(&j0NO|3EfJ!L2lWuyxA`B2ld=eM93XmzCBZ& zejZf@#vme_iDp$WZp$!HRb&m;!E}#EZyi>zM_1=&-R^EOkUil#i~T@J0bM~#+L!}r zE#KmCBbM`AID^X{YNt*)-aimWF}~IHtdWIqBhxHfhe6E_A2PNGQ&E&T!O|J z53sdt?OB+~tH^xX(5|EeKtPH>W?m}8F%;Q(dj^{EtTDrK_8x0{biQ^jGcg`#)x;#Q zrAf>j;!@>OZN~~VwwSKz7sHAlUpR+bc5M|yO6O?|t1Tkn)M}lLrj=t=M}P_&xjoY6 z0%WaCFD}+H%VDdrpi73-M9?KIQ&X};xRxwlg1e-m^#lC4&SY)-Z~`3$rjV8Q)W~bw z<2}0!4{@>9QE_J$=bs262JY2od9syVdsDfU;s%{`In|LUqT%dHuDpQZ{mf)*#9fx# zxpaHJR*q*|#Ew?Wm@*8B(KM?|I}IqVm~%p%e&t$<8GID2X`pRSl8>ClBzOF zh(N-=fvW^}%t^H{HxJBO8L$0@L-s7`5DYBsqYdW;GFypPE*~NG(z;C(N4@69W0*#| zp(LigrE&l9%uS)T{0RFwKD5Vckqf1q)m_o8Zx|IKxKmUG-Y$?mUOTfoBQt2Kab>YN zy7FvMWQB@X#zTWCb-@D07gO~@lLTLx=T9#>?RA`uK_qJM#}HycB~VR4*$Cp1DpQR} zU5kBCPOz~c*Es7>Ofb^xiac^$;*8g)uf-mW`G@Et_nk$TvWV;<4iyync+q$Gq(kW`sQ94r~}ZA7w3{Rh%u`jhE@H5%suq znbz7jm)B&GMW*^j*VJ@jnHBI=RPbQ84Vt)vlUBu{pS-_?44i_VuP|JB$})tdcCLB2 z1HDaa>qtpEu7m!uR3%R`pd#@e1vD)V37brWf8SN};DN?q*QNJ(nX6^KbEE@np99ycX z-C<$wW6_%7XHJGqkE`J%VNKytwYrkQX32_WsveHG)AOen=hqTXvF>)bs?NBRB47*h zViBT`TV7Q*e^_Z^0J2`!qjLtv0Xb>as~VLV`D%;UptPrm7cCL-EQEuL6-sR(cyJw) ze=q_kI94J${McH`P?1Mwa&#n+UPAY8 zpVnMU+ytalqse7o-Up*u&c!RUrpu+wM7cH?a|G&53tXarI)>pHjE%fU3QktEy&RMu zv!9v&R5f$EspH(4tteA(oI0!9*^LsisRJb3(@Pc^hAP)W5bfLhq-oDTx?{#}UXb6q z5EUcN`z|znw(ZQMZl~DUIjCMC?2+NXg{*(m!D?7%!0w+jl7#| znVSe<$H(%Y^Lt`6|5q-i1M|rkhbg|F;O&L+QB_;$b1J_yRSUpoFBdTu6OKZkwI+Lh&wz|Mk zx6Y(sCg@BEsO(HYfvs+ss2L)+5{Q5kvrY|J6`gSBc)+>U3m3%Lvuqv*5pm-Z;xd$q zG$vruh2>QCc!ah2WOaV}itkTl)rEqF1a{Tz%Azb43xuyYvZzs%ho~)wJDDCjclPW7 zZhky|=7XaTJ$Ux)aa){>FV+^<7BH$i(}+fo5jO9=kEXK0*k-fJ&)5bIYM9paahD?u zQ7)2p8q!5w@(d?Mwd28cIdu*L3#w^%-Ag3O5!k}npdYqQXoixDXX_rpZXz>4MY(+o zUMiE`q~C=Yc|U~Gfi1d<5eJ%#J~VUotj@{IPp_F<>IfR3d(8)trE`Q1JcX3nUgU6l z5w?k9sYA)|jP2cp-g+;x{`z~a$IKBV$Rd7psWgjGiD#ArT0WK6#MM&)pk=fiB4qZT-alhJM-bbY4}IA|DkFb$6olfm|o@Cp$Hg`>l#tZP50$TboXir=)eI zZ&|!c6#Rx=7nHVlK`Sw-VL;A$BoJol56x=Uo?>(Fap_2-4;?&vHmI4AtK7(kh!#fE zqt6cwtFhoNX${A4n7sL#;sGdX(7qstwfr|^%^j5<*6d-?Oy@?Ur60pH{R+p^`w zt#R_eU!>KfzjN_$GT&%3qabtjsWTE?`3EAS*`@dFrAI2 zHMM(t-9$SAQ8&M`w`ivoXY*&z8XKOT#{-ltu}MzQK6L2p*-JWi2rBIv(V5{;7!Alh zlm!ppEM{+^+ij?gA~+|6CKfNvap9Y^)BL3H{k++9crNu!1TW9Y83C8yy3CSH41@;` zB!W9)j2Y(1;C@`JNFKXh|1gawtlj=-c z1`X|!3i#X6duR1|2Lwr=hz1|CRNzx+!q5w2)p``e;0j{jUT_M@PNkZ@B4cK@#(b1- zhz1?h<}df@0jRLCHlY(wE=?xuM#lz>sGDcC1#yPl-mCYV{@`pCi~@M@;LZapxwM1JB!BWTYj zr`KwEV}iebf)!!%#A^K_M{So{X+=ZJOKQ2DrSrW*K!+(F)-@VU~&vbtMkLD;$e7_jGQ%%YdWuXOrD>*SX~SQ$rgwL zGISLV`amsbR?nd?)a$3uCuXn6RqytT(QZd$9Ais!q5flB%XvN-UtCK@9nCm_nn5`` zGj(gK`@@D!P`>8(r%!4i1RD7C4hqj>$DzYBvTrHQ>w2~1+yM#rH;}bFi1noMd zYbZEnSy@FUH@UZ7LS-hi2%X8sKc~UopNyud`HBn@C~+x}f-=9XLJv}HCX=Q!L3Az) zx*GflD;%?6h?!(Z{Naa~Zn)^wtu$G$?ZO6+9G~IhA6w!?jukXTY>2oOXA6)=tG+kl z3@u|-lREyIu|n4!vJ$>u{od4{s3vOcq14eNMW3j--7uNdV+`B z;f|K(32C(kapX%^h)dXK5I>xO8D&2z1Rrf>ir(uyTg*Ai+9{Oi@>Cbh9&~f#%`Fe6 zLsQg%o}V3wv1;KoHYlt1+|53jHA-qQ?;hH>_wf~c8Zx6>4gx!p%^-Nb7BZF z%i3+D1DQ_!3roqU9R9-%BHl?M)fEh#=wvW&?XME#V!)U3))S)?RgoZ<|l(~7+IoakKP&_l? zYg9J|gas?>6^!Yv*YAZ}6N3>hXN7_iwGCa@-X{Mu_H68rn7RBO9A zzbWsVt)8eY49C3zW`XU6$`;JtQ@WevyC2nM?gn^@t^C%+xEEx-NME3fu&t1`#qIHn z*krVWGM`Ma0t+8T2*Kew1WR-5%>K5h@ddK&F&qC#VTkHg#SWn&0t z(kDHhRUei_^oxa)oij--S;VEUigV5ipHMrOtR{2Gd@{@T{;Ig^B!f%Ibh6C<1>Ti! znO)%I;TiI97?*c=qtzkDz-3C$@T?JfqNCgt^(|3?^7}9FT(sKeDAAes@z7$j`6u}z zT(Wr|U&T#&=;58`Nr`Q&@tvYo>X}KB56#iTC3;o0o@z|f{GYSF#g>!ZOT2S87$xSs zCwH!dUQLm5EFFEaCB`Q^pR}ARcZpCk*!n(B{5+5oEMB0z#xelJh+ANzWDj zQ^%f8{3SaD`OAFcSNL22rcMRz7)*BlG~b2#Y*OJHd?P#)zWk;4ec>I9Y`%xojIt3>I~AI~`r5kF&hZF}@0=YWxZkn1rot#ULi?N_v+04~Bba z3H&XS%j*}0k`H;W)fTgYmS+(&9hJtj~uh#gi1as{@?er>4O$&B=P5{f+)Z~3PYMhKw zzc?{Znji{(_h(f97I1&?xQ$-0=TJPq4w1;u$LVjJXX@i|FzAp>?z?fx6ZA;fzCeD_ zMKW^Z{DOq?;l66nro_kcB}6llGmeRf*GGsEZ_UOVc;umc**ugVrHxGfw9LS}H!7p@ zn(0@pf63TJ`SP_rWAt$mo~SvH$+_g=+bIndy{+<^iRW{ziwZYt-?{f9-+|u{LM=GV zL-h<}bgn%Xuc(GJ|NERGD8p+_mOn+c`NP?SNxcG=Dbmc>x&w}&2V34&3%#I zKE~K@f_f+0^Pi!dpe>4#6c9{LgNN4H)($sX{*X9)cZzw06luZeN{5t7_`(z2G%i8m z#&su0RHl=PI;mXH7uVN(Og^AeXJ}XLbnjR4o_wA>W|N_OiYT*Ycv`04VCa2HWy80v z=P6IHQ7WCwUMQ=%!bKVU7p^16eUjKksP;6!Q1OpzgpnIapX#Iym)Q|xlBF84=7?sI z>jtqEFmiW$zrELI$jgBgS`WJC{`P#a4yV-xayqt>kG1E_xW`*k{=;7O67(+_#p;_{ zrJITZoSx#yyq|5l!d-9K!biI0m@?=~9}+w@YH4@Lc(=R}GosHW{(9dwsNvzP28~Ih z*cdvU)SEmiJV^79z9M*Zr%}!0dcbohzX8i55ue@r(52;jBYr2T*qC3)WK6xhNkM6l|cJlS#`NEl>|3%nE z|2H2#``35>(bl8AgQXpX(qVh-Nwy4@9_uN6yfj$$P~*D;G4%Tb<;}`l?i(!aFYIpi zQ)Hx2I>Kx7fx@0d&&R_1)$Dyt@n7|K8fski{G|`-d9_g5=jo+N|HyAY@bs^K^zkEG zDh0JOP#WCSTU!5_-b$gsV_T(IYJ8*AxK?Vu+0$DZ>q`oy<|j*oeY*;zH?FaOE^JAP zr6Z-mq0->i#Of%GDcGaOKrVKoG)UIsP-&9Lz6!-(E)5oY2R6~v02K}N>`Ml=s==4l z;Na#1g#-|h@i6%r_bEb~)vv>J)>}Hfsgjg_yuXqRmYyP>t~cM@Qt2tsa;b4$iGx;R zP{At}yrQNDN!9ZTPsTOK|0|pJky}4kc$@026vJW?EX`r{CuH)t~QUXi@~fN-PvJI86uKW}k1~+% z-<k#`SVQ>h&!|>`fH2V^^WaL%VntPWyQRmVsnb3|dN>uQ;%)u*r)Qm9j0%Slmi3 zHMBP=s|gSG0sw{w91Ji$rD-1@q!NM}%|3yj2gH)>Nv!|t`wSI3Ao5+RP1L&=I;iqn zqNM?k;PD)z8Q4ai7-g_73vZff_GF$791ux=Px%GYod@Vq<9k+K?}pJg^xODL3%}_I zf77C_+pi%%0Jiz&j!Ll%J*rE9*$Chb{Zd}U@TP^Y+wb?mOxZ%$L^E&j)A&pMh=dx~ zcU3ks@7^Fz;BUTJ-c#w#MR?pDopGfHR2)P@Tcx`|v|!V?77=`H04S?(Lt$cl21@Ct zEB#PQvD|BO4*1yYDsQg{=YwU#YrjphQoo=l1om$w^IQ=IRqA*0x;{|ZZ26hwqJ$k@ zJiKkIh?YEMn;HmZ`ykNruF_y{QY@F9VNfUkHYJ7rGNWm3-%=^69sbdf9^wrPh0PCxL5tuyjO>=7_iml^Gv0mbO}IK1);7OE*r6wk>9? zKZFK$R(eFQ9^E`SKu#l?1jHTbPkP`Dlm|Mz`;*52jA>1y|11TC>84s=v+=D8!mAq1 zAZbLe0yiSyd@mdMev-lPzP6279XRg5jx0=^MnPr8Liyd>sjTsNnk+TGSav9UUdT`- zk_ZaF?%~%5l$VT>84SC1WG@Xc(+j0B@XJVeXgn_p-eaYSot2^iq4|`TPBlU4NvUt2Tt)4!Nsa zg1l;6?cIfpYrZMY%R|#KkSSBNFtj(}UwK#2pfXrme-%cyH)V9Ny8ito-xSZnzr>YHRss6qvDHF)pD$vwl~L;@;?OILtEcpK1&(|*GA zu87P-t>qnA3uQ`WZ%9=tC%a%MfJ*uS6<#P`Rs{_5@J=$hbn%QqOs?+(VWq=C0_sf# zsoo2gc@bJw3&M+#RSpZV;h-G#cwj)}pr9nPo&#{S(v_{E8pv?>`WIaGH+})4`9Usx z-KkRXPi)6*z7LQlh-$e66;ue9IB2JqFdPOlbqUGtLY0$89k%>o17z9#A`KC$}mN4%L zHc8PUorO%;RGmOmONs;Z)29Lbb;&e1RNjdI62>TDgoY|*?*ky6T!E+`wN(S89IPCY6P^Gi1Qo8L!L!6T4ijV~jl_+|1JgvK)LgQ4&c zzg&NIbFU-^te7z>BzjXGg#l^|?xL&4Zxt_|%S1n-3jY2kDwwiXj}X|6oD)mGZe5xx zHBXdGRvEJ>jd?7R4w!p*AeRj63}`%E%S1<@E2wO&0z8b$2RnR4Ja7}NT4G7^Cur%k zA~jQh49f?Co8h2kP-N-XzD{mFn}byWp^AjJ5r;kB6rj@-Pac%K$& z=(-YZVt_KRe-*K(!5QcdL)^TS!<)%a#6SGuXLgz}XuKB3Br88FR+fv1dR0D}Sx_m6?D3RN;{=cl_y&uU`Jdkw5sO zyZ^zjT|V`5tGj;TI}0=a{@!Oc{ipx&+C!Jl|Kp!N@u}bblgo3T`isj)|KPuTcK2uh z&A`QzDuR&%gL5zxL}-7Lr|=mjqWVa1i9Z$Hzww96oS#{8DXh z)(-rp=aA}!WNKi?k8v7`?@#-IiCun?TxCv9VO*_JWp)$?#D1SE4iv-VU8$@QIcR~S zYeAE-^nx&n)EN{q26s2_6@JHf2bip%2DkTZVgf2cd6=-@k-EB7YKpx8`>o=0 zk_f^C&*livAW6PW#w~rIm2#H2{@qaYyS#6+Lf$XJ6!fr{P!76@ZUqIrxVwoOi*oZI zb7(uVxH*RMNxxQIm_i;%!_^@aPWsdM_5MB#1-zox(s76q8-opWk{+@^J5pqg2OwI2 z!nnxQ$9R4hiYk`IG@r>lRz&WGtjaSM$zEm>OCRijvS4k^qIZH7tM&I)cp?^_=;oc6&h{S92I;id zHr<8#?i2MLID9nt2)R#P{mjMMDqrpK!<+K$Nj-`>DRSF*y~6bnP;zxvl<;Q&q4ABD zrttUUz}0@5x_{)r(Mb*;i=erc!rRd;uE%S98gYhm$mh?`UFmG(Sq>{!aOvd)b!ECT zO#jr)u$>GevLc;Xx9y~;|hf^!tPIk>erN2AP|aEZM68&>!z&dT(aVGw>Q zXCQ)lkuSTOlSZ|ABI98{XhK4;@F|lL)|}ox)_N?Bh-p@Y?Pf)(D;Dvc9ZVxuGb^^F z`Hm&Oso%!S7=b?30wCuE_Zlva1Wv$5yE$ogDFc1|bo|JTFw%uLyh|=zI&E8>y{9s_ za(BIQ9{Zqds}4<6-QuiX_CPXlmD^$9zH6=rkiblMw=FoPzdlYgI zBdtVLY98IyhjNs@mDay!BIg@6tG}@Djw0uMH%88|NthRmR=(8-t*n2mH2CQ*J@}x= z({a;{pbBbn~0T&`9wbGQgD z?1&lOl*roMSHOhEvZV1+A=#PHi`^kIL`NPtFmjZyBh6JWKef1;znik&N)}sY-O(w zYRj`hDjlnGjwZ(oIw5uN6I>Zq;i9FAzNAJov(VDz`*YsdQIr>@?Ko_!NFETbr{mg2;=T^{w}^4bd#jsF2|lrA6QUaHl3ZaM;Cz>k+`1%rw_V^Tc!(M2 zWJu$SE$ui#?PI|Ak9@RK^hRlcDBza5**2!o!x4veO8U`bVa_q?x0rNmEj@A2zsH#4 zi0fMM6r0@%-%82FgCDq!mOtCl@;eTLy@Ej)em7?Gvn|cP&4C~482HDY@98r$WlJ0@p2oLqp-^hP&eQa~y?Q*wT7ieQ7Pt1fuYM_ysE+j!;OSmC2RUr&x;ZjaRla%^R&3B!tRx6WHqNly>l}UM55l5I) zh4PlZo+8>kA#6k_@&u$s%TCo3-g|AuUw)VGWU!AsoJZ2sML(zE*VTFYj!z{bcrRFbTmR+^b zmla};v4@Wx*6d*Hf|3(~g#BZ6fQnyG@0*9|v^M36bQ_e?-^rp$KAsr+eg8T&U2FK0 zh%74AMywlx)fPonFAvNqtI@8q%GQ^h8=6!4c~(CsHL;admX=jXzx98M$SI8 zYk}duPQI9z+KsxH@eXl@oR#^7wMyO0u)fmOmxU|UE4qFbxs_fn9#-LSJN7dNcJ%eK z4LLb90NR-7B9Ni-kMyw-E3orUbZUjHGtA+N?n?e z+kr<+1XD`mTGH%(;hK%*h{>_7N?|5~!QQR*DD~kjBklc>wnRU(T+dc z`ZlMu+<2|aEW1Vf)=!xo$*o%0iXbplF56f@snP^v&R(jz+Jz9{o1N@bNXz2-+T~>o zk7n_inb(E_irjg(w5R4UgUZVRDz65pyn0vP);RW;8T+fHH6Q$|KD&UeChHg`%1Y0k zV1+lvvoHGnG+$yX3qXlk;*ARk>;Xeaw2A-z<|EbA|8Z3NUrQ z4S2ZnWOdQD?x1nafGC(UwcmE$V9S*S<`K%BEbr+?or|yG#^3BRl(%7cZ8gYjw61#_ zDs|)PJK3QPZJlqUM?ZY>YTe)&?n3~tls=m zR;FiJ!B1OiJ*aA%cNG%MJ+kxcO#(LoYQ^$UfL}l2Ob(tf|2N9$TRguV6sP95o%KqL ze%nz`@q z$?bB$LETs;J~TapBt{=IMB}X2KcGENEoqA@EiF0+)Q02z2S<)ZQ9x`p?AJsSGPdFk z_dV~5_|;C)3cKjqR$OuOdA0Idl2iuprJiR6&pRK_w=jvGYc1TRWYU^~~p32^K`WA7TDqs1K(R|-S*tLMD4dC)+ zg4f^K>Mv}Q=V8c;DPjEw*3>rJ)c3Fn>^%i9S5O}Bj^~zTG3HkIhqfQQky?JzP;3@4 zA+0VG8h2^U@trXiN%LzcYS_R?i85b4ACma&%yApIC&j(v3x(ty+o8xczZpyz9Gy!2 zt?sEz=|=2__G#j$cUM2+AF$dtJUqOAf8P3~R#`~+XG`$5@V!YbQBd9RY?T7n!2i0? zm07t2yag+3ryBydF^0R6T>oKS-N+ZA@zpLf>lT%=;#94DX>+VY9b2j0SP@$?Z-tyb zhKDONLEbi{-H52*RW<55=4erC%2DOXEE*_o@XyiG`t`=w-tqmy(}4s6hBbp{a7J2@ zk=8c^b%%82+$tVME<1do4p$>9Ujjzuf+pj}VsJQ`VxN$8PM@>csXJJ1n|mt@v(i+E z{INnZA%YdDO`0(kn}VBThx0@ndzQ1!ior;fx|?8<;4=qIPo*#u5T_*nk6?uvz&{uc zfCfJ$Z(l%p#2A7d8noCu!;ylx_n^#T2%A|bP7MsQwp;(EToI0N_QaMNM=&mFO;cLG zxKjqFZxS5yMTjjSIp^^u8DTksLAHs~`h1Lj8T)1mfuZsb*}I}m@h-`>Dj}F5p$D^9 z+y1Rfqg$WC9h2t$om2Rd+-O;ZpVr_1wip$pk9&+iS46~pN^ocRR zModR-{!7y~+5Wb;(&x4}{!R<+<=N;>ZJo5*0=7M|T(vK0ut00)3%B3{_3=V-C|njP zgS6dE=wB)vX2pa>nvW%-FwVwA+exl2_Z=QSpub6Sv_>n>@wG zy0q~f?$Ou9vS^Gl?)|Y2Y(Rs5Y{d69-gJWV>-Yt*VfXLw7uS&nP6%SKoz`DJY_>~l zPMi#6y!FE=KO!0C!S-jC>w1=plR%a`eVU2b4z=7Ft9ruo#D@-2*%1|gUbpSm(i5EQ zDU|VyMu2}34Y>aumfbo3BF&#!zGrcvVsg@a6>UCWE8XQri>3}yvCh60*3{R0O?}PS z=z7zguC)@Q&F*DaFqlcL(lr{U9tLc@q zHH>VsN}x@)DwEQh)~}YmQPjydwBe&sXchDL#a*zj>=0Vhn z>~s?>K#eF~dDjn^d1Ie`8!uV-yZT)pwXmm7S-4@pD`qlTe?7YGzOLW|}H zyKP&@2eKPv>zwF#VO4&Nix^dC^@87sTNmh?V*u0O4(UwjJU0@%sTs~T~Pug!~FbYUeSS+;WiIu zr;7K>LUu5mVY4QdIGSc3mV2an+3aLJjCZs7<8E1$(M}myYx;ftcW0L6CzkasaS9Ln zb&R2Pue`m0R(keDwM_w2r6^6b_kM;K3>`OyC;{OPfsb0_}c{ML#09skq= z$}@BH+4}O#v#XqHT6@+NmS+uW&z>O~>G5nB$g^p;huh)1G{$Km&tNUFk(g6Oc z!j+kvvIgGC9rtTxWSc&dt-OE%QIw^q>Ey z4!LpwmjBuFVN3Pc3{oC>!gA_%H$Dx*4OqITOgCcL&CR5J(CYG=(R9z2Zd#0Y*Le-! z-1I#vEzqazmbcEDzGZn1FmC^Qm^;1PC z%e_o)-N=>i%{|PTLOO~QjHGU5=g6DybA@^jFe$UVPm@=-iTf>LYWFbr=pNwzh&`Ey zsMiI9jNb{X`zhyhJ?-r0Ti??=OAVs6i^=<``y_qP-L&&Iz9rzWOn)wr${m?q;ws5& z5NKz+8^dST#&9~+t2@fnTEvy!baz@enBV+ZW^F8fKi;g}$*3EFW6j;_t|Zyr#T9Oz z(|vq?FM5XC3b%cxx08bxRKaiuUu>ftgBkvkORZRsWrTOp Z=G*>LDJI(~^yY(ayX5~b@c#e={x_&(Z`=R? literal 0 HcmV?d00001 diff --git a/src/packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.xml b/src/packages/Unity.4.0.1/lib/portable-net45+wp80+win8+wpa81+MonoAndroid10+MonoTouch10/Microsoft.Practices.Unity.xml similarity index 94% rename from src/packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.xml rename to src/packages/Unity.4.0.1/lib/portable-net45+wp80+win8+wpa81+MonoAndroid10+MonoTouch10/Microsoft.Practices.Unity.xml index 2e0af9b..f99ca70 100644 --- a/src/packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.xml +++ b/src/packages/Unity.4.0.1/lib/portable-net45+wp80+win8+wpa81+MonoAndroid10+MonoTouch10/Microsoft.Practices.Unity.xml @@ -1,5910 +1,5916 @@ - - - - Microsoft.Practices.Unity - - - - - Base class for attributes that can be placed on parameters - or properties to specify how to resolve the value for - that parameter or property. - - - - - Create an instance of that - will be used to get the value for the member this attribute is - applied to. - - Type of parameter or property that - this attribute is decoration. - The resolver object. - - - - This attribute is used to indicate which constructor to choose when - the container attempts to build a type. - - - - - This attribute is used to mark methods that should be called when - the container is building an object. - - - - - This attribute is used to mark properties and parameters as targets for injection. - - - For properties, this attribute is necessary for injection to happen. For parameters, - it's not needed unless you want to specify additional information to control how - the parameter is resolved. - - - - - Create an instance of with no name. - - - - - Create an instance of with the given name. - - Name to use when resolving this dependency. - - - - Create an instance of that - will be used to get the value for the member this attribute is - applied to. - - Type of parameter or property that - this attribute is decoration. - The resolver object. - - - - The name specified in the constructor. - - - - - An used to mark a dependency - as optional - the container will try to resolve it, and return null - if the resolution fails rather than throw. - - - - - Construct a new object. - - - - - Construct a new object that - specifies a named dependency. - - Name of the dependency. - - - - Create an instance of that - will be used to get the value for the member this attribute is - applied to. - - Type of parameter or property that - this attribute is decoration. - The resolver object. - - - - Name of the dependency. - - - - - A that composites other - ResolverOverride objects. The GetResolver operation then - returns the resolver from the first child override that - matches the current context and request. - - - - - Base class for all override objects passed in the - method. - - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - Wrap this resolver in one that verifies the type of the object being built. - This allows you to narrow any override down to a specific type easily. - - Type to constrain the override to. - The new override. - - - - Wrap this resolver in one that verifies the type of the object being built. - This allows you to narrow any override down to a specific type easily. - - Type to constrain the override to. - The new override. - - - - Add a new to the collection - that is checked. - - item to add. - - - - Add a setof s to the collection. - - items to add. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - 2 - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - Class that returns information about the types registered in a container. - - - - - The type that was passed to the method - as the "from" type, or the only type if type mapping wasn't done. - - - - - The type that this registration is mapped to. If no type mapping was done, the - property and this one will have the same value. - - - - - Name the type was registered under. Null for default registration. - - - - - The registered lifetime manager instance. - - - - - The lifetime manager for this registration. - - - This property will be null if this registration is for an open generic. - - - - A class that overrides - the value injected whenever there is a dependency of the - given type, regardless of where it appears in the object graph. - - - - - Create an instance of to override - the given type with the given value. - - Type of the dependency. - Value to use. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - A convenience version of that lets you - specify the dependency type using generic syntax. - - Type of the dependency to override. - - - - Construct a new object that will - override the given dependency, and pass the given value. - - - - - A convenience form of that lets you - specify multiple parameter overrides in one shot rather than having - to construct multiple objects. - - - This class isn't really a collection, it just implements IEnumerable - so that we get use of the nice C# collection initializer syntax. - - - - - Base helper class for creating collections of objects - for use in passing a bunch of them to the resolve call. This base class provides - the mechanics needed to allow you to use the C# collection initializer syntax. - - Concrete type of the this class collects. - Key used to create the underlying override object. - Value that the override returns. - - - - Add a new override to the collection with the given key and value. - - Key - for example, a parameter or property name. - Value - the value to be returned by the override. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - 2 - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - When implemented in derived classes, this method is called from the - method to create the actual objects. - - Key value to create the resolver. - Value to store in the resolver. - The created . - - - - When implemented in derived classes, this method is called from the - method to create the actual objects. - - Key value to create the resolver. - Value to store in the resolver. - The created . - - - - Event argument class for the event. - - - - - Construct a new object with the - given child container object. - - An for the newly created child - container. - - - - The newly created child container. - - - - - An extension context for the created child container. - - - - - Base class for subclasses that let you specify that - an instance of a generic type parameter should be resolved. - - - - - Base type for objects that are used to configure parameters for - constructor or method injection, or for getting the value to - be injected into a property. - - - - - Test to see if this parameter value has a matching type for the given type. - - Type to check. - True if this parameter value is compatible with type , - false if not. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - Convert the given set of arbitrary values to a sequence of InjectionParameterValue - objects. The rules are: If it's already an InjectionParameterValue, return it. If - it's a Type, return a ResolvedParameter object for that type. Otherwise return - an InjectionParameter object for that value. - - The values to build the sequence from. - The resulting converted sequence. - - - - Convert an arbitrary value to an InjectionParameterValue object. The rules are: - If it's already an InjectionParameterValue, return it. If it's a Type, return a - ResolvedParameter object for that type. Otherwise return an InjectionParameter - object for that value. - - The value to convert. - The resulting . - - - - Name for the type represented by this . - This may be an actual type name or a generic argument name. - - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - name to use when looking up in the container. - - - - Test to see if this parameter value has a matching type for the given type. - - Type to check. - True if this parameter value is compatible with type , - false if not. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - Return a instance that will - return this types value for the parameter. - - The actual type to resolve. - The resolution key. - The . - - - - Name for the type represented by this . - This may be an actual type name or a generic argument name. - - - - - A that lets you specify that - an instance of a generic type parameter should be resolved, providing the - value if resolving fails. - - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - name to use when looking up in the container. - - - - Return a instance that will - return this types value for the parameter. - - The actual type to resolve. - The resolution key. - The . - - - - A class that lets you specify a factory method the container - will use to create the object. - - This is a significantly easier way to do the same - thing the old static factory extension was used for. - - - - Base class for objects that can be used to configure what - class members get injected by the container. - - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Type to register. - Policy list to add policies to. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Type of interface being registered. If no interface, - this will be null. - Type of concrete type being registered. - Name used to resolve the type object. - Policy list to add policies to. - - - - Create a new instance of with - the given factory function. - - Factory function. - - - - Create a new instance of with - the given factory function. - - Factory function. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Type of interface being registered. If no interface, - this will be null. This parameter is ignored in this implementation. - Type of concrete type being registered. - Name used to resolve the type object. - Policy list to add policies to. - - - - A that can be passed to - to configure a - parameter or property as an optional dependency. - - - - - A base class for implementing classes - that deal in explicit types. - - - - - Create a new that exposes - information about the given . - - Type of the parameter. - - - - Test to see if this parameter value has a matching type for the given type. - - Type to check. - True if this parameter value is compatible with type , - false if not. - - - - The type of parameter this object represents. - - - - - Name for the type represented by this . - This may be an actual type name or a generic argument name. - - - - - Construct a new object that - specifies the given . - - Type of the dependency. - - - - Construct a new object that - specifies the given and . - - Type of the dependency. - Name for the dependency. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - A generic version of that lets you - specify the type of the dependency using generics syntax. - - Type of the dependency. - - - - Construct a new . - - - - - Construct a new with the given - . - - Name of the dependency. - - - - A special lifetime manager which works like , - except that in the presence of child containers, each child gets it's own instance - of the object, instead of sharing one in the common parent. - - - - - A that holds onto the instance given to it. - When the is disposed, - the instance is disposed with it. - - - - - Base class for Lifetime managers which need to synchronize calls to - . - - - - The purpose of this class is to provide a basic implementation of the lifetime manager synchronization pattern. - - - Calls to the method of a - instance acquire a lock, and if the instance has not been initialized with a value yet the lock will only be released - when such an initialization takes place by calling the method or if - the build request which resulted in the call to the GetValue method fails. - - - - - - - Base class for Lifetime managers - classes that control how - and when instances are created by the Unity container. - - - - - A that controls how instances are - persisted and recovered from an external store. Used to implement - things like singletons and per-http-request lifetime. - - - - - Represents a builder policy interface. Since there are no fixed requirements - for policies, it acts as a marker interface from which to derive all other - policy interfaces. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object to store. - - - - Remove the value this lifetime policy is managing from backing store. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - - - - Remove the given object from backing store. - - - - - This interface provides a hook for the builder context to - implement error recovery when a builder strategy throws - an exception. Since we can't get try/finally blocks onto - the call stack for later stages in the chain, we instead - add these objects to the context. If there's an exception, - all the current IRequiresRecovery instances will have - their Recover methods called. - - - - - A method that does whatever is needed to clean up - as part of cleaning up after an exception. - - - Don't do anything that could throw in this method, - it will cause later recover operations to get skipped - and play real havoc with the stack trace. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - Calls to this method acquire a lock which is released only if a non-null value - has been set for the lifetime manager. - - - - Performs the actual retrieval of a value from the backing store associated - with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - This method is invoked by - after it has acquired its lock. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - Setting a value will attempt to release the lock acquired by - . - - - - Performs the actual storage of the given value into backing store for retrieval later. - - The object being stored. - This method is invoked by - before releasing its lock. - - - - Remove the given object from backing store. - - - - - A method that does whatever is needed to clean up - as part of cleaning up after an exception. - - - Don't do anything that could throw in this method, - it will cause later recover operations to get skipped - and play real havoc with the stack trace. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - - - - Remove the given object from backing store. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - 2 - - - - Standard Dispose pattern implementation. Not needed, but it keeps FxCop happy. - - Always true, since we don't have a finalizer. - - - - This is a custom lifetime manager that acts like , - but also provides a signal to the default build plan, marking the type so that - instances are reused across the build up object graph. - - - - - Construct a new object that does not - itself manage an instance. - - - - - Construct a new object that stores the - give value. This value will be returned by - but is not stored in the lifetime manager, nor is the value disposed. - This Lifetime manager is intended only for internal use, which is why the - normal method is not used here. - - Value to store. - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. In this class, - this is a noop, since it has special hooks down in the guts. - - The object being stored. - - - - Remove the given object from backing store. Noop in this class. - - - - - A strategy that handles Hierarchical lifetimes across a set of parent/child - containers. - - - - - Represents a strategy in the chain of responsibility. - Strategies are required to support both BuildUp and TearDown. - - - - - Represents a strategy in the chain of responsibility. - Strategies are required to support both BuildUp and TearDown. Although you - can implement this interface directly, you may also choose to use - as the base class for your strategies, as - this class provides useful helper methods and makes support BuildUp and TearDown - optional. - - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - Called during the chain of responsibility for a build operation. The - PostBuildUp method is called when the chain has finished the PreBuildUp - phase and executes in reverse order from the PreBuildUp calls. - - Context of the build operation. - - - - Called during the chain of responsibility for a teardown operation. The - PreTearDown method is called when the chain is being executed in the - forward direction. - - Context of the teardown operation. - - - - Called during the chain of responsibility for a teardown operation. The - PostTearDown method is called when the chain has finished the PreTearDown - phase and executes in reverse order from the PreTearDown calls. - - Context of the teardown operation. - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - Called during the chain of responsibility for a build operation. The - PostBuildUp method is called when the chain has finished the PreBuildUp - phase and executes in reverse order from the PreBuildUp calls. - - Context of the build operation. - - - - Called during the chain of responsibility for a teardown operation. The - PreTearDown method is called when the chain is being executed in the - forward direction. - - Context of the teardown operation. - - - - Called during the chain of responsibility for a teardown operation. The - PostTearDown method is called when the chain has finished the PreTearDown - phase and executes in reverse order from the PreTearDown calls. - - Context of the teardown operation. - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - A that will attempt to - resolve a value, and return null if it cannot rather than throwing. - - - - - A that is used at build plan execution time - to resolve a dependent value. - - - - - Get the value for a dependency. - - Current build context. - The value for the dependency. - - - - Construct a new object - that will attempt to resolve the given name and type from the container. - - Type to resolve. Must be a reference type. - Name to resolve with. - - - - Construct a new object - that will attempt to resolve the given type from the container. - - Type to resolve. Must be a reference type. - - - - Get the value for a dependency. - - Current build context. - The value for the dependency. - - - - Type this resolver will resolve. - - - - - Name this resolver will resolve. - - - - - Extension methods on to provide convenience - overloads (generic versions, mostly). - - - - - Removes an individual policy type for a build key. - - The type the policy was registered as. - to remove the policy from. - The key the policy applies. - - - - Removes a default policy. - - The type the policy was registered as. - to remove the policy from. - - - - Gets an individual policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - The policy list that actually contains the returned policy. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - to search. - The interface the policy is registered under. - The key the policy applies. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - to search. - The interface the policy is registered under. - The key the policy applies. - The policy list that actually contains the returned policy. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - true if the policy searches local only; otherwise false to seach up the parent chain. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - true if the policy searches local only; otherwise false to seach up the parent chain. - The policy list that actually contains the returned policy. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - to search. - The interface the policy is registered under. - The key the policy applies. - true if the policy searches local only; otherwise false to seach up the parent chain. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - true if the policy searches local only; otherwise false to seach up the parent chain. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - true if the policy searches local only; otherwise false to seach up the parent chain. - The policy list that actually contains the returned policy. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - to search. - The interface the policy is registered under. - The key the policy applies. - true if the policy searches local only; otherwise false to seach up the parent chain. - The policy in the list, if present; returns null otherwise. - - - - Sets an individual policy. - - The interface the policy is registered under. - to add the policy to. - The policy to be registered. - The key the policy applies. - - - - Sets a default policy. When checking for a policy, if no specific individual policy - is available, the default will be used. - - The interface to register the policy under. - to add the policy to. - The default policy to be registered. - - - - Base class for the current operation stored in the build context. - - - - - Create a new . - - Type currently being built. - - - - The type that's currently being built. - - - - - Build plan for that will - return a func that will resolve the requested type - through this container later. - - - - - A build plan is an object that, when invoked, will create a new object - or fill in a given existing one. It encapsulates all the information - gathered by the strategies to construct a particular object. - - - - - Creates an instance of this build plan's type, or fills - in the existing type if passed in. - - Context used to build up the object. - - - - Creates an instance of this build plan's type, or fills - in the existing type if passed in. - - Context used to build up the object. - - - - The almost inevitable collection of extra helper methods on - to augment the rich set of what - Linq already gives us. - - - - - Execute the provided on every item in . - - Type of the items stored in - Sequence of items to process. - Code to run over each item. - - - - Create a single string from a sequenc of items, separated by the provided , - and with the conversion to string done by the given . - - This method does basically the same thing as , - but will work on any sequence of items, not just arrays. - Type of items in the sequence. - Sequence of items to convert. - Separator to place between the items in the string. - The conversion function to change TItem -> string. - The resulting string. - - - - Create a single string from a sequenc of items, separated by the provided , - and with the conversion to string done by the item's method. - - This method does basically the same thing as , - but will work on any sequence of items, not just arrays. - Type of items in the sequence. - Sequence of items to convert. - Separator to place between the items in the string. - The resulting string. - - - - A class that lets you - override a named parameter passed to a constructor. - - - - - Construct a new object that will - override the given named constructor parameter, and pass the given - value. - - Name of the constructor parameter. - Value to pass for the constructor. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - A convenience form of that lets you - specify multiple parameter overrides in one shot rather than having - to construct multiple objects. - - - - - When implemented in derived classes, this method is called from the - method to create the actual objects. - - Key value to create the resolver. - Value to store in the resolver. - The created . - - - - A that lets you override - the value for a specified property. - - - - - Create an instance of . - - The property name. - Value to use for the property. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - A convenience form of that lets you - specify multiple property overrides in one shot rather than having - to construct multiple objects. - - - - - When implemented in derived classes, this method is called from the - method to create the actual objects. - - Key value to create the resolver. - Value to store in the resolver. - The created . - - - - Interface defining the configuration interface exposed by the - Static Factory extension. - - - - - Base interface for all extension configuration interfaces. - - - - - Retrieve the container instance that we are currently configuring. - - - - - Register the given factory delegate to be called when the container is - asked to resolve . - - Type that will be requested from the container. - Delegate to invoke to create the instance. - The container extension object this method was invoked on. - - - - Register the given factory delegate to be called when the container is - asked to resolve and . - - Type that will be requested from the container. - The name that will be used when requesting to resolve this type. - Delegate to invoke to create the instance. - The container extension object this method was invoked on. - - - - Represents the context in which a build-up or tear-down operation runs. - - - - - Represents the context in which a build-up or tear-down operation runs. - - - - - Add a new set of resolver override objects to the current build operation. - - objects to add. - - - - Get a object for the given - or null if that dependency hasn't been overridden. - - Type of the dependency. - Resolver to use, or null if no override matches for the current operation. - - - - A convenience method to do a new buildup operation on an existing context. - - Key to use to build up. - Created object. - - - - A convenience method to do a new buildup operation on an existing context. This - overload allows you to specify extra policies which will be in effect for the duration - of the build. - - Key defining what to build up. - A delegate that takes a . This - is invoked with the new child context before the build up process starts. This gives callers - the opportunity to customize the context for the build process. - Created object. - - - - Gets the head of the strategy chain. - - - The strategy that's first in the chain; returns null if there are no - strategies in the chain. - - - - - Gets the associated with the build. - - - The associated with the build. - - - - - Gets the original build key for the build operation. - - - The original build key for the build operation. - - - - - Get the current build key for the current build operation. - - - - - The set of policies that were passed into this context. - - This returns the policies passed into the context. - Policies added here will remain after buildup completes. - The persistent policies for the current context. - - - - Gets the policies for the current context. - - Any policies added to this object are transient - and will be erased at the end of the buildup. - - The policies for the current context. - - - - - Gets the collection of objects - that need to execute in event of an exception. - - - - - The current object being built up or torn down. - - - The current object being manipulated by the build operation. May - be null if the object hasn't been created yet. - - - - Flag indicating if the build operation should continue. - - true means that building should not call any more - strategies, false means continue to the next strategy. - - - - An object representing what is currently being done in the - build chain. Used to report back errors if there's a failure. - - - - - The build context used to resolve a dependency during the build operation represented by this context. - - - - - Initialize a new instance of the class. - - - - - Initialize a new instance of the class with a , - , and the - build key used to start this build operation. - - The to use for this context. - The to use for this context. - The to use for this context. - Build key to start building. - The existing object to build up. - - - - Create a new using the explicitly provided - values. - - The to use for this context. - The to use for this context. - The set of persistent policies to use for this context. - The set of transient policies to use for this context. It is - the caller's responsibility to ensure that the transient and persistent policies are properly - combined. - Build key for this context. - Existing object to build up. - - - - Add a new set of resolver override objects to the current build operation. - - objects to add. - - - - Get a object for the given - or null if that dependency hasn't been overridden. - - Type of the dependency. - Resolver to use, or null if no override matches for the current operation. - - - - A convenience method to do a new buildup operation on an existing context. - - Key to use to build up. - Created object. - - - - A convenience method to do a new buildup operation on an existing context. This - overload allows you to specify extra policies which will be in effect for the duration - of the build. - - Key defining what to build up. - A delegate that takes a . This - is invoked with the new child context before the build up process starts. This gives callers - the opportunity to customize the context for the build process. - Created object. - - - - Gets the head of the strategy chain. - - - The strategy that's first in the chain; returns null if there are no - strategies in the chain. - - - - - Get the current build key for the current build operation. - - - - - The current object being built up or torn down. - - - The current object being manipulated by the build operation. May - be null if the object hasn't been created yet. - - - - Gets the associated with the build. - - - The associated with the build. - - - - - Gets the original build key for the build operation. - - - The original build key for the build operation. - - - - - The set of policies that were passed into this context. - - This returns the policies passed into the context. - Policies added here will remain after buildup completes. - The persistent policies for the current context. - - - - Gets the policies for the current context. - - - Any modifications will be transient (meaning, they will be forgotten when - the outer BuildUp for this context is finished executing). - - - The policies for the current context. - - - - - Gets the collection of objects - that need to execute in event of an exception. - - - - - Flag indicating if the build operation should continue. - - true means that building should not call any more - strategies, false means continue to the next strategy. - - - - An object representing what is currently being done in the - build chain. Used to report back errors if there's a failure. - - - - - The build context used to resolve a dependency during the build operation represented by this context. - - - - - Represents that a dependency could not be resolved. - - - Represents that a dependency could not be resolved. - - - - - Initializes a new instance of the class with no extra information. - - - - - Initializes a new instance of the class with the given message. - - Some random message. - - - - Initialize a new instance of the class with the given - message and inner exception. - - Some random message - Inner exception. - - - - Initializes a new instance of the class with the build key of the object begin built. - - The build key of the object begin built. - - - - Initializes a new instance of the class with serialized data. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - - The exception thrown when injection is attempted on a method - that is an open generic or has out or ref params. - - - The exception thrown when injection is attempted on a method - that is an open generic or has out or ref params. - - - - - Construct a new with no - message. - - - - - Construct a with the given message - - Message to return. - - - - Construct a with the given message - and inner exception. - - Message to return. - Inner exception - - - - Used for serialization. - - Serialization info. - Serialization context. - - - - Extension methods to provide convenience overloads over the - interface. - - - - - Start a recursive build up operation to retrieve the default - value for the given type. - - Type of object to build. - Parent context. - Resulting object. - - - - Start a recursive build up operation to retrieve the named - implementation for the given type. - - Type to resolve. - Parent context. - Name to resolve with. - The resulting object. - - - - Add a set of s to the context, specified as a - variable argument list. - - Context to add overrides to. - The overrides. - - - - Data structure that stores the set of - objects and executes them when requested. - - - - - Add a new object to this - list. - - Object to add. - - - - Execute the method - of everything in the recovery list. Recoveries will execute - in the opposite order of add - it's a stack. - - - - - Return the number of recovery objects currently in the stack. - - - - - Represents a lifetime container. - - - A lifetime container tracks the lifetime of an object, and implements - IDisposable. When the container is disposed, any objects in the - container which implement IDisposable are also disposed. - - - - - Adds an object to the lifetime container. - - The item to be added to the lifetime container. - - - - Determine if a given object is in the lifetime container. - - - The item to locate in the lifetime container. - - - Returns true if the object is contained in the lifetime - container; returns false otherwise. - - - - - Removes an item from the lifetime container. The item is - not disposed. - - The item to be removed. - - - - Gets the number of references in the lifetime container - - - The number of references in the lifetime container - - - - - Represents a lifetime container. - - - A lifetime container tracks the lifetime of an object, and implements - IDisposable. When the container is disposed, any objects in the - container which implement IDisposable are also disposed. - - - - - Adds an object to the lifetime container. - - The item to be added to the lifetime container. - - - - Determine if a given object is in the lifetime container. - - - The item to locate in the lifetime container. - - - Returns true if the object is contained in the lifetime - container; returns false otherwise. - - - - - Releases the resources used by the . - - - - - Releases the managed resources used by the DbDataReader and optionally releases the unmanaged resources. - - - true to release managed and unmanaged resources; false to release only unmanaged resources. - - - - - Returns an enumerator that iterates through the lifetime container. - - - An object that can be used to iterate through the life time container. - - - - - Returns an enumerator that iterates through the lifetime container. - - - An object that can be used to iterate through the life time container. - - - - - Removes an item from the lifetime container. The item is - not disposed. - - The item to be removed. - - - - Gets the number of references in the lifetime container - - - The number of references in the lifetime container - - - - - A custom collection over objects. - - - - - Removes an individual policy type for a build key. - - The type of policy to remove. - The key the policy applies. - - - - Removes all policies from the list. - - - - - Removes a default policy. - - The type the policy was registered as. - - - - Gets an individual policy. - - The interface the policy is registered under. - The key the policy applies. - true if the policy searches local only; otherwise false to seach up the parent chain. - The policy list in the chain that the searched for policy was found in, null if the policy was - not found. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - The interface the policy is registered under. - The key the policy applies to. - True if the search should be in the local policy list only; otherwise false to search up the parent chain. - The policy list in the chain that the searched for policy was found in, null if the policy was - not found. - The policy in the list if present; returns null otherwise. - - - - Sets an individual policy. - - The of the policy. - The policy to be registered. - The key the policy applies. - - - - Sets a default policy. When checking for a policy, if no specific individual policy - is available, the default will be used. - - The interface to register the policy under. - The default policy to be registered. - - - - A custom collection wrapper over objects. - - - - - Initialize a new instance of a class. - - - - - Initialize a new instance of a class with another policy list. - - An inner policy list to search. - - - - Removes an individual policy type for a build key. - - The type of policy to remove. - The key the policy applies. - - - - Removes all policies from the list. - - - - - Removes a default policy. - - The type the policy was registered as. - - - - Gets an individual policy. - - The interface the policy is registered under. - The key the policy applies. - true if the policy searches local only; otherwise false to seach up the parent chain. - The policy list in the chain that the searched for policy was found in, null if the policy was - not found. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - The interface the policy is registered under. - The key the policy applies to. - True if the search should be in the local policy list only; otherwise false to search up the parent chain. - The policy list in the chain that the searched for policy was found in, null if the policy was - not found. - The policy in the list if present; returns null otherwise. - - - - Sets an individual policy. - - The of the policy. - The policy to be registered. - The key the policy applies. - - - - Sets a default policy. When checking for a policy, if no specific individual policy - is available, the default will be used. - - The interface to register the policy under. - The default policy to be registered. - - - - Gets the number of items in the locator. - - - The number of items in the locator. - - - - - An implementation of . - - - - - Add a new object to this - list. - - Object to add. - - - - Execute the method - of everything in the recovery list. Recoveries will execute - in the opposite order of add - it's a stack. - - - - - Return the number of recovery objects currently in the stack. - - - - - Implementation of which will notify an object about - the completion of a BuildUp operation, or start of a TearDown operation. - - - This strategy checks the object that is passing through the builder chain to see if it - implements IBuilderAware and if it does, it will call - and . This strategy is meant to be used from the - stage. - - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - Called during the chain of responsibility for a teardown operation. The - PreTearDown method is called when the chain is being executed in the - forward direction. - - Context of the teardown operation. - - - - Implemented on a class when it wants to receive notifications - about the build process. - - - - - Called by the when the object is being built up. - - The key of the object that was just built up. - - - - Called by the when the object is being torn down. - - - - - Enumeration to represent the object builder stages. - - - The order of the values in the enumeration is the order in which the stages are run. - - - - - Strategies in this stage run before creation. Typical work done in this stage might - include strategies that use reflection to set policies into the context that other - strategies would later use. - - - - - Strategies in this stage create objects. Typically you will only have a single policy-driven - creation strategy in this stage. - - - - - Strategies in this stage work on created objects. Typical work done in this stage might - include setter injection and method calls. - - - - - Strategies in this stage work on objects that are already initialized. Typical work done in - this stage might include looking to see if the object implements some notification interface - to discover when its initialization stage has been completed. - - - - - Represents a builder policy for mapping build keys. - - - - - Represents a builder policy for mapping build keys. - - - - - Maps the build key. - - The build key to map. - Current build context. Used for contextual information - if writing a more sophisticated mapping. This parameter can be null - (called when getting container registrations). - The new build key. - - - - Initialize a new instance of the with the new build key. - - The new build key. - - - - Maps the build key. - - The build key to map. - Current build context. Used for contextual information - if writing a more sophisticated mapping, unused in this implementation. - The new build key. - - - - Represents a strategy for mapping build keys in the build up operation. - - - - - Called during the chain of responsibility for a build operation. Looks for the - and if found maps the build key for the current operation. - - The context for the operation. - - - - An implementation of that can map - generic types. - - - - - Create a new instance - that will map generic types. - - Build key to map to. This must be or contain an open generic type. - - - - Maps the build key. - - The build key to map. - Current build context. Used for contextual information - if writing a more sophisticated mapping. - The new build key. - - - - A that will look for a build plan - in the current context. If it exists, it invokes it, otherwise - it creates one and stores it for later, and invokes it. - - - - - Called during the chain of responsibility for a build operation. - - The context for the operation. - - - - An implementation of that chooses - constructors based on these criteria: first, pick a constructor marked with the - attribute. If there - isn't one, then choose the constructor with the longest parameter list. If that is ambiguous, - then throw. - - Thrown when the constructor to choose is ambiguous. - Attribute used to mark the constructor to call. - - - - Base class that provides an implementation of - which lets you override how the parameter resolvers are created. - - - - - A that, when implemented, - will determine which constructor to call from the build plan. - - - - - Choose the constructor to call for the given type. - - Current build context - The to add any - generated resolver objects into. - The chosen constructor. - - - - Choose the constructor to call for the given type. - - Current build context - The to add any - generated resolver objects into. - The chosen constructor. - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. - - - - Value Condition Less than zerox is less than y.Zerox equals y.Greater than zerox is greater than y. - - - The second object to compare. - The first object to compare. - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - Objects of this type are the return value from . - It encapsulates the desired with the string keys - needed to look up the for each - parameter. - - - - - Base class for return values from selector policies that - return a memberinfo of some sort plus a list of parameter - keys to look up the parameter resolvers. - - - - - Base class for return of selector policies that need - to keep track of a set of parameter keys. - - - - - Add a new parameter key to this object. Keys are assumed - to be in the order of the parameters to the constructor. - - Key for the next parameter to look up. - - - - The set of keys for the constructor parameters. - - - - - Construct a new , storing - the given member info. - - Member info to store. - - - - The member info stored. - - - - - Create a new instance which - contains the given constructor. - - The constructor to wrap. - - - - The constructor this object wraps. - - - - - This class records the information about which constructor argument is currently - being resolved, and is responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - The type that is being constructed. - A string representing the constructor being called. - Parameter being resolved. - - - - Generate the string describing what parameter was being resolved. - - The description string. - - - - String describing the constructor being set up. - - - - - Parameter that's being resolved. - - - - - A that emits IL to call constructors - as part of creating a build plan. - - - - - Called during the chain of responsibility for a build operation. - - Existing object is an instance of . - The context for the operation. - - - - A helper method used by the generated IL to throw an exception if - a dependency cannot be resolved. - - The currently being - used for the build of this object. - - - - A helper method used by the generated IL to throw an exception if - a dependency cannot be resolved because of an invalid constructor. - - The currently being - used for the build of this object. - The signature of the invalid constructor. - - - - A helper method used by the generated IL to throw an exception if - no existing object is present, but the user is attempting to build - an interface (usually due to the lack of a type mapping). - - The currently being - used for the build of this object. - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A helper method used by the generated IL to set up a PerResolveLifetimeManager lifetime manager - if the current object is such. - - Current build context. - - - - A class that records that a constructor is about to be call, and is - responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - - - - Generate the description string. - - The string. - - - - Constructor we're trying to call. - - - - - An implementation of that will - check for full trust and if we're building a class or an interface. If in full - trust, attach to the class or module of the interface respectively. If in partial - trust, attach to the OB2 module instead. - - - - - This interface defines a policy that manages creation of the dynamic methods - used by the ObjectBuilder code generation. This way, we can replace the details - of how the dynamic method is created to handle differences in CLR (like Silverlight - vs desktop) or security policies. - - - - - Create a builder method for the given type, using the given name. - - Type that will be built by the generated method. - Name to give to the method. - A object with the proper signature to use - as part of a build plan. - - - - Create a builder method for the given type, using the given name. - - Type that will be built by the generated method. - Name to give to the method. - A object with the proper signature to use - as part of a build plan. - - - - This object tracks the current state of the build plan generation, - accumulates the IL, provides the preamble & postamble for the dynamic - method, and tracks things like local variables in the generated IL - so that they can be reused across IL generation strategies. - - - - - Create a that is initialized - to handle creation of a dynamic method to build the given type. - - Type that we're trying to create a build plan for. - An object that actually - creates our object. - - - - Completes generation of the dynamic method and returns the - generated dynamic method delegate. - - The created - - - - Emit the IL to put the build context on top of the IL stack. - - - - - Emit the IL to put the current build key on top of the IL stack. - - - - - Emit the IL to put the current "existing" object on the top of the IL stack. - - - - - Emit the IL to make the top of the IL stack our current "existing" object. - - - - - Emit the IL to load the given object onto the top of the IL stack. - - Type to load on the stack. - - - - Emit the IL needed to look up an and - call it to get a value. - - Type of the dependency to resolve. - Key to look up the policy by. - - - - Emit the IL needed to clear the . - - - - - Emit the IL needed to either cast the top of the stack to the target type - or unbox it, if it's a value type. - - Type to convert the top of the stack to. - - - - A helper method used by the generated IL to clear the current operation in the build context. - - - - - Helper method used by generated IL to look up a dependency resolver based on the given key. - - Current build context. - Type of the dependency being resolved. - Key the resolver was stored under. - The found dependency resolver. - - - - A reflection helper method to make it easier to grab a property getter - for the given property. - - Type that implements the property we want. - Type of the property. - Name of the property. - The property getter's . - - - - A reflection helper method that makes it easier to grab a - for a method. - - Type that implements the method we want. - Name of the method. - Types of arguments to the method. - The method's . - - - - The underlying that can be used to - emit IL into the generated dynamic method. - - - - - The type we're currently creating the method to build. - - - - - A delegate type that defines the signature of the - dynamic method created by the build plans. - - used to build up the object. - - - - An implementation of that runs the - given delegate to execute the plan. - - - - - An implementation - that constructs a build plan via dynamic IL emission. - - - - - A that can create and return an - for the given build key. - - - - - Create a build plan using the given context and build key. - - Current build context. - Current build key. - The build plan. - - - - Construct a that - uses the given strategy chain to construct the build plan. - - The strategy chain. - - - - Construct a build plan. - - The current build context. - The current build key. - The created build plan. - - - - A class that records that a constructor is about to be call, and is - responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - - - - Generate the description string. - - The string. - - - - Method we're trying to call. - - - - - This class records the information about which constructor argument is currently - being resolved, and is responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - The type that is being constructed. - A string representing the method being called. - Parameter being resolved. - - - - Generate the string describing what parameter was being resolved. - - The description string. - - - - String describing the method being set up. - - - - - Parameter that's being resolved. - - - - - A that generates IL to call - chosen methods (as specified by the current ) - as part of object build up. - - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A base class that holds the information shared by all operations - performed by the container while setting properties. - - - - - Initializes a new instance of the class. - - - - - Generate the description of this operation. - - The string. - - - - Get a format string used to create the description. Called by - the base method. - - The format string. - - - - The property value currently being resolved. - - - - - This class records the information about which property value is currently - being resolved, and is responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - - - - Get a format string used to create the description. Called by - the base method. - - The format string. - - - - A that generates IL to resolve properties - on an object being built. - - - - - Called during the chain of responsibility for a build operation. - - The context for the operation. - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - This class records the information about which property value is currently - being set, and is responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - Type property is on. - Name of property being set. - - - - Get a format string used to create the description. Called by - the base method. - - The format string. - - - - Creates an instance of this build plan's type, or fills - in the existing type if passed in. - - Context used to build up the object. - - - - An that will examine the given - types and return a sequence of objects - that should be called as part of building the object. - - - - - Return the sequence of methods to call while building the target object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of methods to call. - - - - An implementation of that selects - methods by looking for the given - attribute on those methods. - - Type of attribute used to mark methods - to inject. - - - - Base class that provides an implementation of - which lets you override how the parameter resolvers are created. - - Attribute that marks methods that should - be called. - - - - Return the sequence of methods to call while building the target object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of methods to call. - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - Objects of this type are the return value from . - It encapsulates the desired with the string keys - needed to look up the for each - parameter. - - - - - Create a new instance which - contains the given method. - - The method - - - - The constructor this object wraps. - - - - - An that returns a sequence - of properties that should be injected for the given type. - - - - - Returns sequence of properties on the given type that - should be set as part of building that object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of objects - that contain the properties to set. - - - - Base class that provides an implementation of - which lets you override how the parameter resolvers are created. - - - - - Returns sequence of properties on the given type that - should be set as part of building that object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of objects - that contain the properties to set. - - - - Create a for the given - property. - - Property to create resolver for. - The resolver object. - - - - An implementation of that looks - for properties marked with the - attribute that are also settable and not indexers. - - - - - - Create a for the given - property. - - Property to create resolver for. - The resolver object. - - - - Objects of this type are returned from - . - This class combines the about - the property with the string key used to look up the resolver - for this property's value. - - - - - Create an instance of - with the given and key. - - The property. - Key to use to look up the resolver. - - - - PropertyInfo for this property. - - - - - Key to look up this property's resolver. - - - - - Implementation of . - - - - - A builder policy that lets you keep track of the current - resolvers and will remove them from the given policy set. - - - - - Add a new resolver to track by key. - - Key that was used to add the resolver to the policy set. - - - - Remove the currently tracked resolvers from the given policy list. - - Policy list to remove the resolvers from. - - - - Add a new resolver to track by key. - - Key that was used to add the resolver to the policy set. - - - - Remove the currently tracked resolvers from the given policy list. - - Policy list to remove the resolvers from. - - - - Get an instance that implements , - either the current one in the policy set or creating a new one if it doesn't - exist. - - Policy list to look up from. - Build key to track. - The resolver tracker. - - - - Add a key to be tracked to the current tracker. - - Policy list containing the resolvers and trackers. - Build key for the resolvers being tracked. - Key for the resolver. - - - - Remove the resolvers for the given build key. - - Policy list containing the build key. - Build key. - - - - An implementation of that - calls back into the build chain to build up the dependency, passing - a type given at compile time as its build key. - - - - - Create a new instance storing the given type. - - Type to resolve. - - - - Get the value for a dependency. - - Current build context. - The value for the dependency. - - - - This interface defines a standard method to convert any - regardless - of the stage enum into a regular, flat strategy chain. - - - - - Convert this into - a flat . - - The flattened . - - - - Represents a chain of responsibility for builder strategies. - - - - - Reverse the order of the strategy chain. - - The reversed strategy chain. - - - - Execute this strategy chain against the given context, - calling the Buildup methods on the strategies. - - Context for the build process. - The build up object - - - - Execute this strategy chain against the given context, - calling the TearDown methods on the strategies. - - Context for the teardown process. - - - - A builder policy used to create lifetime policy instances. - Used by the LifetimeStrategy when instantiating open - generic types. - - - - - Create a new instance of . - - The new instance. - - - - The type of Lifetime manager that will be created by this factory. - - - - - An implementation that uses - a to figure out if an object - has already been created and to update or remove that - object from some backing store. - - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - Called during the chain of responsibility for a build operation. The - PostBuildUp method is called when the chain has finished the PreBuildUp - phase and executes in reverse order from the PreBuildUp calls. - - Context of the build operation. - - - - Represents a chain of responsibility for builder strategies partitioned by stages. - - The stage enumeration to partition the strategies. - - - - Initialize a new instance of the class. - - - - - Initialize a new instance of the class with an inner strategy chain to use when building. - - The inner strategy chain to use first when finding strategies in the build operation. - - - - Adds a strategy to the chain at a particular stage. - - The strategy to add to the chain. - The stage to add the strategy. - - - - Add a new strategy for the . - - The of - The stage to add the strategy. - - - - Clear the current strategy chain list. - - - This will not clear the inner strategy chain if this instane was created with one. - - - - - Makes a strategy chain based on this instance. - - A new . - - - - Represents a chain of responsibility for builder strategies. - - - - - Initialzie a new instance of the class. - - - - - Initialzie a new instance of the class with a colleciton of strategies. - - A collection of strategies to initialize the chain. - - - - Adds a strategy to the chain. - - The strategy to add to the chain. - - - - Adds strategies to the chain. - - The strategies to add to the chain. - - - - Reverse the order of the strategy chain. - - The reversed strategy chain. - - - - Execute this strategy chain against the given context to build up. - - Context for the build processes. - The build up object - - - - Execute this strategy chain against the given context, - calling the TearDown methods on the strategies. - - Context for the teardown process. - - - - Returns an enumerator that iterates through the collection. - - - - A that can be used to iterate through the collection. - - 1 - - - - Returns an enumerator that iterates through a collection. - - - - An object that can be used to iterate through the collection. - - 2 - - - - Build key used to combine a type object with a string name. Used by - ObjectBuilder to indicate exactly what is being built. - - - - - Create a new instance with the given - type and name. - - to build. - Key to use to look up type mappings and singletons. - - - - Create a new instance for the default - buildup of the given type. - - to build. - - - - This helper method creates a new instance. It is - initialized for the default key for the given type. - - Type to build. - A new instance. - - - - This helper method creates a new instance for - the given type and key. - - Type to build - Key to use to look up type mappings and singletons. - A new instance initialized with the given type and name. - - - - Compare two instances. - - Two instances compare equal - if they contain the same name and the same type. Also, comparing - against a different type will also return false. - Object to compare to. - True if the two keys are equal, false if not. - - - - Calculate a hash code for this instance. - - A hash code. - - - - Compare two instances for equality. - - Two instances compare equal - if they contain the same name and the same type. - First of the two keys to compare. - Second of the two keys to compare. - True if the values of the keys are the same, else false. - - - - Compare two instances for inequality. - - Two instances compare equal - if they contain the same name and the same type. If either field differs - the keys are not equal. - First of the two keys to compare. - Second of the two keys to compare. - false if the values of the keys are the same, else true. - - - - Formats the build key as a string (primarily for debugging). - - A readable string representation of the build key. - - - - Return the stored in this build key. - - The type to build. - - - - Returns the name stored in this build key. - - The name to use when building. - - - - A generic version of so that - you can new up a key using generic syntax. - - Type for the key. - - - - Construct a new that - specifies the given type. - - - - - Construct a new that - specifies the given type and name. - - Name for the key. - - - - A series of helper methods to deal with sequences - - objects that implement . - - - - - A function that turns an arbitrary parameter list into an - . - - Type of arguments. - The items to put into the collection. - An array that contains the values of the . - - - - Given two sequences, return a new sequence containing the corresponding values - from each one. - - Type of first sequence. - Type of second sequence. - First sequence of items. - Second sequence of items. - New sequence of pairs. This sequence ends when the shorter of sequence1 and sequence2 does. - - - - The exception thrown by the Unity container when - an attempt to resolve a dependency fails. - - - The exception thrown by the Unity container when - an attempt to resolve a dependency fails. - - - - - Constructor to create a from serialized state. - - Serialization info - Serialization context - - - - Serialize this object into the given context. - - Serialization info - Streaming context - - - - Create a new that records - the exception for the given type and name. - - Type requested from the container. - Name requested from the container. - The actual exception that caused the failure of the build. - The build context representing the failed operation. - - - - The type that was being requested from the container at the time of failure. - - - - - The name that was being requested from the container at the time of failure. - - - - - A that lets you register a - delegate with the container to create an object, rather than calling - the object's constructor. - - - - - Base class for all extension objects. - - - - - The container calls this method when the extension is added. - - A instance that gives the - extension access to the internals of the container. - - - - Initial the container with this extension's functionality. - - - When overridden in a derived class, this method will modify the given - by adding strategies, policies, etc. to - install it's functions into the container. - - - - Removes the extension's functions from the container. - - - - This method is called when extensions are being removed from the container. It can be - used to do things like disconnect event handlers or clean up member state. You do not - need to remove strategies or policies here; the container will do that automatically. - - - The default implementation of this method does nothing. - - - - - The container this extension has been added to. - - The that this extension has been added to. - - - - The object used to manipulate - the inner state of the container. - - - - - Initialize this extension. This particular extension requires no - initialization work. - - - - - Register the given factory delegate to be called when the container is - asked to resolve and . - - Type that will be requested from the container. - The name that will be used when requesting to resolve this type. - Delegate to invoke to create the instance. - The container extension object this method was invoked on. - - - - Register the given factory delegate to be called when the container is - asked to resolve . - - Type that will be requested from the container. - Delegate to invoke to create the instance. - The container extension object this method was invoked on. - - - - An implementation of that - acts as a decorator over another . - This checks to see if the current type being built is the - right one before checking the inner . - - - - - Create an instance of - - Type to check for. - Inner override to check after type matches. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - A convenience version of that lets you - specify the type to construct via generics syntax. - - Type to check for. - - - - Create an instance of . - - Inner override to check after type matches. - - - - Extension class that adds a set of convenience overloads to the - interface. - - - - - Register a type with specific members to be injected. - - Type this registration is for. - Container to configure. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container. - - - - This method is used to tell the container that when asked for type , - actually return an instance of type . This is very useful for - getting instances of interfaces. - - - This overload registers a default mapping and transient lifetime. - - - that will be requested. - that will actually be returned. - Container to configure. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container, where the created instances will use - the given . - - that will be requested. - that will actually be returned. - Container to configure. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container. - - - This method is used to tell the container that when asked for type , - actually return an instance of type . This is very useful for - getting instances of interfaces. - - that will be requested. - that will actually be returned. - Container to configure. - Name of this mapping. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container, where the created instances will use - the given . - - that will be requested. - that will actually be returned. - Container to configure. - Name to use for registration, null if a default registration. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type with the container. - No type mapping is performed for this type. - - The type to apply the to. - Container to configure. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type with the container. - No type mapping is performed for this type. - - The type to configure injection on. - Container to configure. - Name that will be used to request the type. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type and name with the container. - No type mapping is performed for this type. - - The type to apply the to. - Container to configure. - Name that will be used to request the type. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type with specific members to be injected. - - Container to configure. - Type this registration is for. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container. - - - - This method is used to tell the container that when asked for type , - actually return an instance of type . This is very useful for - getting instances of interfaces. - - - This overload registers a default mapping. - - - Container to configure. - that will be requested. - that will actually be returned. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container. - - - This method is used to tell the container that when asked for type , - actually return an instance of type . This is very useful for - getting instances of interfaces. - - Container to configure. - that will be requested. - that will actually be returned. - Name to use for registration, null if a default registration. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container, where the created instances will use - the given . - - Container to configure. - that will be requested. - that will actually be returned. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type and name with the container. - No type mapping is performed for this type. - - Container to configure. - The to apply the to. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type and name with the container. - No type mapping is performed for this type. - - Container to configure. - The to configure in the container. - Name to use for registration, null if a default registration. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type and name with the container. - No type mapping is performed for this type. - - Container to configure. - The to apply the to. - Name to use for registration, null if a default registration. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload does a default registration and has the container take over the lifetime of the instance. - - Type of instance to register (may be an implemented interface instead of the full type). - Container to configure. - Object to returned. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload does a default registration (name = null). - - - Type of instance to register (may be an implemented interface instead of the full type). - Container to configure. - Object to returned. - - object that controls how this instance will be managed by the container. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload automatically has the container take ownership of the . - - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Container to configure. - Name for registration. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Container to configure. - Name for registration. - - object that controls how this instance will be managed by the container. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload does a default registration and has the container take over the lifetime of the instance. - - Container to configure. - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload does a default registration (name = null). - - - Container to configure. - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - - object that controls how this instance will be managed by the container. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload automatically has the container take ownership of the . - - Container to configure. - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Name for registration. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Resolve an instance of the default requested type from the container. - - of object to get from the container. - Container to resolve from. - Any overrides for the resolve call. - The retrieved object. - - - - Resolve an instance of the requested type with the given name from the container. - - of object to get from the container. - Container to resolve from. - Name of the object to retrieve. - Any overrides for the resolve call. - The retrieved object. - - - - Resolve an instance of the default requested type from the container. - - Container to resolve from. - of object to get from the container. - Any overrides for the resolve call. - The retrieved object. - - - - Return instances of all registered types requested. - - - - This method is useful if you've registered multiple types with the same - but different names. - - - Be aware that this method does NOT return an instance for the default (unnamed) registration. - - - The type requested. - Container to resolve from. - Any overrides for the resolve calls. - Set of objects of type . - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - - This overload uses the default registrations. - - - of object to perform injection on. - Container to resolve through. - Instance to build up. - Any overrides for the buildup. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - of object to perform injection on. - Conatiner to resolve through. - Instance to build up. - name to use when looking up the typemappings and other configurations. - Any overrides for the Buildup. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - - This overload uses the default registrations. - - - Container to resolve through. - of object to perform injection on. - Instance to build up. - Any overrides for the Buildup. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Creates a new extension object and adds it to the container. - - Type of to add. The extension type - will be resolved from within the supplied . - Container to add the extension to. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Resolve access to a configuration interface exposed by an extension. - - Extensions can expose configuration interfaces as well as adding - strategies and policies to the container. This method walks the list of - added extensions and returns the first one that implements the requested type. - - The configuration interface required. - Container to configure. - The requested extension's configuration interface, or null if not found. - - - - Check if a particular type has been registered with the container with - the default name. - - Container to inspect. - Type to check registration for. - True if this type has been registered, false if not. - - - - Check if a particular type/name pair has been registered with the container. - - Container to inspect. - Type to check registration for. - Name to check registration for. - True if this type/name pair has been registered, false if not. - - - - Check if a particular type has been registered with the container with the default name. - - Type to check registration for. - Container to inspect. - True if this type has been registered, false if not. - - - - Check if a particular type/name pair has been registered with the container. - - Type to check registration for. - Container to inspect. - Name to check registration for. - True if this type/name pair has been registered, false if not. - - - - This extension installs the default strategies and policies into the container - to implement the standard behavior of the Unity container. - - - This extension installs the default strategies and policies into the container - to implement the standard behavior of the Unity container. - - - - - Add the correct to the policy - set. This version adds the appropriate policy for running on the desktop CLR. - - - - - Add the default ObjectBuilder strategies & policies to the container. - - - - - The class provides the means for extension objects - to manipulate the internal state of the . - - - - - Store a type/name pair for later resolution. - - - - When users register type mappings (or other things) with a named key, this method - allows you to register that name with the container so that when the - method is called, that name is included in the list that is returned. - - to register. - Name assocated with that type. - - - - The container that this context is associated with. - - The object. - - - - The strategies this container uses. - - The that the container uses to build objects. - - - - The strategies this container uses to construct build plans. - - The that this container uses when creating - build plans. - - - - The policies this container uses. - - The the that container uses to build objects. - - - - The that this container uses. - - The is used to manage objects that the container is managing. - - - - This event is raised when the method, - or one of its overloads, is called. - - - - - This event is raised when the method, - or one of its overloads, is called. - - - - - This event is raised when the method is called, providing - the newly created child container to extensions to act on as they see fit. - - - - - An EventArgs class that holds a string Name. - - - - - Create a new with a null name. - - - - - Create a new with the given name. - - Name to store. - - - - The name. - - Name used for this event arg object. - - - - Event argument class for the event. - - - - - Create a new instance of . - - Type to map from. - Type to map to. - Name for the registration. - to manage instances. - - - - Type to map from. - - - - - Type to map to. - - - - - to manage instances. - - - - - Event argument class for the event. - - - - - Create a default instance. - - - - - Create a instance initialized with the given arguments. - - Type of instance being registered. - The instance object itself. - Name to register under, null if default registration. - object that handles how - the instance will be owned. - - - - Type of instance being registered. - - - Type of instance being registered. - - - - - Instance object being registered. - - Instance object being registered - - - - that controls ownership of - this instance. - - - - - A that lets you specify that - an instance of a generic type parameter should be resolved. - - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - name to use when looking up in the container. - - - - Return a instance that will - return this types value for the parameter. - - The actual type to resolve. - The resolution key. - The . - - - - A that lets you specify that - an array containing the registered instances of a generic type parameter - should be resolved. - - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - The values for the elements, that will - be converted to objects. - - - - Test to see if this parameter value has a matching type for the given type. - - Type to check. - True if this parameter value is compatible with type , - false if not. - A type is considered compatible if it is an array type of rank one - and its element type is a generic type parameter with a name matching this generic - parameter name configured for the receiver. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - Name for the type represented by this . - This may be an actual type name or a generic argument name. - - - - - A Unity container extension that allows you to configure - which constructors, properties, and methods get injected - via an API rather than through attributes. - - - - - Initial the container with this extension's functionality. - - - When overridden in a derived class, this method will modify the given - by adding strategies, policies, etc. to - install it's functions into the container. - - - - API to configure the injection settings for a particular type. - - Type the injection is being configured for. - Objects containing the details on which members to inject and how. - This extension object. - - - - API to configure the injection settings for a particular type/name pair. - - Type the injection is being configured for. - Name of registration - Objects containing the details on which members to inject and how. - This extension object. - - - - API to configure the injection settings for a particular type. - - Type to configure. - Objects containing the details on which members to inject and how. - This extension object. - - - - API to configure the injection settings for a particular type/name pair. - - Type to configure. - Name of registration. - Objects containing the details on which members to inject and how. - This extension object. - - - - API to configure the injection settings for a particular type/name pair. - - Type of interface/base class being registered (may be null). - Type of actual implementation class being registered. - Name of registration. - Objects containing the details on which members to inject and how. - This extension object. - - - - A class that holds the collection of information - for a constructor, so that the container can - be configured to call this constructor. - - - - - Create a new instance of that looks - for a constructor with the given set of parameters. - - The values for the parameters, that will - be converted to objects. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Interface registered, ignored in this implementation. - Type to register. - Name used to resolve the type object. - Policy list to add policies to. - - - - An that configures the - container to call a method as part of buildup. - - - - - Create a new instance which will configure - the container to call the given methods with the given parameters. - - Name of the method to call. - Parameter values for the method. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Type of interface registered, ignored in this implementation. - Type to register. - Name used to resolve the type object. - Policy list to add policies to. - - - - A small function to handle name matching. You can override this - to do things like case insensitive comparisons. - - MethodInfo for the method you're checking. - Name of the method you're looking for. - True if a match, false if not. - - - - A class that holds on to the given value and provides - the required - when the container is configured. - - - - - Create an instance of that stores - the given value, using the runtime type of that value as the - type of the parameter. - - Value to be injected for this parameter. - - - - Create an instance of that stores - the given value, associated with the given type. - - Type of the parameter. - Value of the parameter - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - A generic version of that makes it a - little easier to specify the type of the parameter. - - Type of parameter. - - - - Create a new . - - Value for the parameter. - - - - This class stores information about which properties to inject, - and will configure the container accordingly. - - - - - Configure the container to inject the given property name, - resolving the value via the container. - - Name of the property to inject. - - - - Configure the container to inject the given property name, - using the value supplied. This value is converted to an - object using the - rules defined by the - method. - - Name of property to inject. - Value for property. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Interface being registered, ignored in this implemenation. - Type to register. - Name used to resolve the type object. - Policy list to add policies to. - - - - A class that stores a type, and generates a - resolver object that resolves all the named instances or the - type registered in a container. - - - - - Construct a new that - resolves to the given element type and collection of element values. - - The type of elements to resolve. - The values for the elements, that will - be converted to objects. - - - - Construct a new that - resolves to the given array and element types and collection of element values. - - The type for the array of elements to resolve. - The type of elements to resolve. - The values for the elements, that will - be converted to objects. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - A generic version of for convenience - when creating them by hand. - - Type of the elements for the array of the parameter. - - - - Construct a new that - resolves to the given element generic type with the given element values. - - The values for the elements, that will - be converted to objects. - - - - Interface defining the behavior of the Unity dependency injection container. - - - - - Register a type mapping with the container, where the created instances will use - the given . - - that will be requested. - that will actually be returned. - Name to use for registration, null if a default registration. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Name for registration. - - object that controls how this instance will be managed by the container. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Resolve an instance of the requested type with the given name from the container. - - of object to get from the container. - Name of the object to retrieve. - Any overrides for the resolve call. - The retrieved object. - - - - Return instances of all registered types requested. - - - - This method is useful if you've registered multiple types with the same - but different names. - - - Be aware that this method does NOT return an instance for the default (unnamed) registration. - - - The type requested. - Any overrides for the resolve calls. - Set of objects of type . - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - of object to perform injection on. - Instance to build up. - name to use when looking up the typemappings and other configurations. - Any overrides for the resolve calls. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Run an existing object through the container, and clean it up. - - The object to tear down. - - - - Add an extension object to the container. - - to add. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Resolve access to a configuration interface exposed by an extension. - - Extensions can expose configuration interfaces as well as adding - strategies and policies to the container. This method walks the list of - added extensions and returns the first one that implements the requested type. - - of configuration interface required. - The requested extension's configuration interface, or null if not found. - - - - Remove all installed extensions from this container. - - - - This method removes all extensions from the container, including the default ones - that implement the out-of-the-box behavior. After this method, if you want to use - the container again you will need to either readd the default extensions or replace - them with your own. - - - The registered instances and singletons that have already been set up in this container - do not get removed. - - - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Create a child container. - - - A child container shares the parent's configuration, but can be configured with different - settings or lifetime. - The new child container. - - - - The parent of this container. - - The parent container, or null if this container doesn't have one. - - - - Get a sequence of that describe the current state - of the container. - - - - - A that holds a weak reference to - it's managed instance. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - - - - Remove the given object from backing store. - - - - - An implementation of that - creates instances of the type of the given Lifetime Manager - by resolving them through the container. - - - - - Create a new that will - return instances of the given type, creating them by - resolving through the container. - - Container to resolve with. - Type of LifetimeManager to create. - - - - Create a new instance of . - - The new instance. - - - - The type of Lifetime manager that will be created by this factory. - - - - - A that holds the instances given to it, - keeping one instance per thread. - - - - This LifetimeManager does not dispose the instances it holds. - - - - - - Initializes a new instance of the class. - - - - - Retrieve a value from the backing store associated with this Lifetime policy for the - current thread. - - the object desired, or if no such object is currently - stored for the current thread. - - - - Stores the given value into backing store for retrieval later when requested - in the current thread. - - The object being stored. - - - - Remove the given object from backing store. - - Not implemented for this lifetime manager. - - - - An implementation that does nothing, - thus ensuring that instances are created new every time. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - - - - Remove the given object from backing store. - - - - - This strategy implements the logic that will call container.ResolveAll - when an array parameter is detected. - - - - - Do the PreBuildUp stage of construction. This is where the actual work is performed. - - Current build context. - - - - An implementation of that is - aware of the build keys used by the Unity container. - - - - - Create a instance for the given - . - - - This implementation looks for the Unity on the - parameter and uses it to create an instance of - for this parameter. - Parameter to create the resolver for. - The resolver object. - - - - An implementation of that is aware - of the build keys used by the Unity container. - - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - An implementation of that is aware of - the build keys used by the unity container. - - - - - Create a for the given - property. - - Property to create resolver for. - The resolver object. - - - - A implementation that returns - the value set in the constructor. - - - - - Create a new instance of - which will return the given value when resolved. - - The value to return. - - - - Get the value for a dependency. - - Current build context. - The value for the dependency. - - - - An implementation of that stores a - type and name, and at resolution time puts them together into a - . - - - - - Create an instance of - with the given type and name. - - The type. - The name (may be null). - - - - Resolve the value for a dependency. - - Current build context. - The value for the dependency. - - - - The type that this resolver resolves. - - - - - The name that this resolver resolves. - - - - - An implementation of that resolves to - to an array populated with the values that result from resolving other instances - of . - - - - - Create an instance of - with the given type and a collection of - instances to use when populating the result. - - The type. - The resolver policies to use when populating an array. - - - - Resolve the value for a dependency. - - Current build context. - An array pupulated with the results of resolving the resolver policies. - - - - An implementation of that selects - the given constructor and creates the appropriate resolvers to call it with - the specified parameters. - - - - - Create an instance of that - will return the given constructor, being passed the given injection values - as parameters. - - The constructor to call. - Set of objects - that describes how to obtain the values for the constructor parameters. - - - - Choose the constructor to call for the given type. - - Current build context - The to add any - generated resolver objects into. - The chosen constructor. - - - - Helper class for implementing selector policies that need to - set up dependency resolver policies. - - - - - Add dependency resolvers to the parameter set. - - Type that's currently being built (used to resolve open generics). - PolicyList to add the resolvers to. - Objects supplying the dependency resolvers. - Result object to store the keys in. - - - - A implementation that calls the specific - methods with the given parameters. - - - - - Add the given method and parameter collection to the list of methods - that will be returned when the selector's - method is called. - - Method to call. - sequence of objects - that describe how to create the method parameter values. - - - - Return the sequence of methods to call while building the target object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of methods to call. - - - - An implemnetation of which returns - the set of specific properties that the selector was configured with. - - - - - Add a property that will be par of the set returned when the - is called. - - The property to set. - object describing - how to create the value to inject. - - - - Returns sequence of properties on the given type that - should be set as part of building that object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of objects - that contain the properties to set. - - - - A class that stores a name and type, and generates a - resolver object that resolves the parameter via the - container. - - - - - Construct a new that - resolves to the given type. - - Type of this parameter. - - - - Construct a new that - resolves the given type and name. - - Type of this parameter. - Name to use when resolving parameter. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - A generic version of for convenience - when creating them by hand. - - Type of the parameter - - - - Create a new for the given - generic type and the default name. - - - - - Create a new for the given - generic type and name. - - Name to use to resolve this parameter. - - - - An implementation of that wraps a Unity container. - - - - - Initializes a new instance of the class for a container. - - The to wrap with the - interface implementation. - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - 2 - - - - When implemented by inheriting classes, this method will do the actual work of resolving - the requested service instance. - - Type of instance requested.Name of registered service you want. May be null. - - The requested service instance. - - - - - When implemented by inheriting classes, this method will do the actual work of - resolving all the requested service instances. - - Type of service requested. - - Sequence of service instance objects. - - - - - A static helper class that includes various parameter checking routines. - - - - - Throws if the given argument is null. - - if tested value if null. - Argument value to test. - Name of the argument being tested. - - - - Throws an exception if the tested string argument is null or the empty string. - - Thrown if string value is null. - Thrown if the string is empty - Argument value to check. - Name of argument being checked. - - - - Verifies that an argument type is assignable from the provided type (meaning - interfaces are implemented, or classes exist in the base class hierarchy). - - The argument type that will be assigned to. - The type of the value being assigned. - Argument name. - - - - Verifies that an argument instance is assignable from the provided type (meaning - interfaces are implemented, or classes exist in the base class hierarchy, or instance can be - assigned through a runtime wrapper, as is the case for COM Objects). - - The argument type that will be assigned to. - The instance that will be assigned. - Argument name. - - - - The build stages we use in the Unity container - strategy pipeline. - - - - - First stage. By default, nothing happens here. - - - - - Second stage. Type mapping occurs here. - - - - - Third stage. lifetime managers are checked here, - and if they're available the rest of the pipeline is skipped. - - - - - Fourth stage. Reflection over constructors, properties, etc. is - performed here. - - - - - Fifth stage. Instance creation happens here. - - - - - Sixth stage. Property sets and method injection happens here. - - - - - Seventh and final stage. By default, nothing happens here. - - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to The type {0} has multiple constructors of length {1}. Unable to disambiguate.. - - - - - Looks up a localized string similar to The provided string argument must not be empty.. - - - - - Looks up a localized string similar to The current build operation (build key {2}) failed: {3} (Strategy type {0}, index {1}). - - - - - Looks up a localized string similar to The current type, {0}, is an interface and cannot be constructed. Are you missing a type mapping?. - - - - - Looks up a localized string similar to Cannot extract type from build key {0}.. - - - - - Looks up a localized string similar to The method {0}.{1}({2}) is an open generic method. Open generic methods cannot be injected.. - - - - - Looks up a localized string similar to The property {0} on type {1} is an indexer. Indexed properties cannot be injected.. - - - - - Looks up a localized string similar to The method {1} on type {0} has an out parameter. Injection cannot be performed.. - - - - - Looks up a localized string similar to The method {0}.{1}({2}) has at least one out parameter. Methods with out parameters cannot be injected.. - - - - - Looks up a localized string similar to The method {0}.{1}({2}) has at least one ref parameter.Methods with ref parameters cannot be injected.. - - - - - Looks up a localized string similar to The method {1} on type {0} is marked for injection, but it is an open generic method. Injection cannot be performed.. - - - - - Looks up a localized string similar to The method {0}.{1}({2}) is static. Static methods cannot be injected.. - - - - - Looks up a localized string similar to The type {0} is an open generic type. An open generic type cannot be resolved.. - - - - - Looks up a localized string similar to Resolving parameter "{0}" of constructor {1}. - - - - - Looks up a localized string similar to The parameter {0} could not be resolved when attempting to call constructor {1}.. - - - - - Looks up a localized string similar to Parameter type inference does not work for null values. Indicate the parameter type explicitly using a properly configured instance of the InjectionParameter or InjectionParameter<T> classes.. - - - - - Looks up a localized string similar to Calling constructor {0}. - - - - - Looks up a localized string similar to Calling method {0}.{1}. - - - - - Looks up a localized string similar to An item with the given key is already present in the dictionary.. - - - - - Looks up a localized string similar to The lifetime manager is already registered. Lifetime managers cannot be reused, please create a new one.. - - - - - Looks up a localized string similar to The override marker build plan policy has been invoked. This should never happen, looks like a bug in the container.. - - - - - Looks up a localized string similar to Resolving parameter "{0}" of method {1}.{2}. - - - - - Looks up a localized string similar to The value for parameter "{1}" of method {0} could not be resolved. . - - - - - Looks up a localized string similar to Could not resolve dependency for build key {0}.. - - - - - Looks up a localized string similar to The type {0} has multiple constructors marked with the InjectionConstructor attribute. Unable to disambiguate.. - - - - - Looks up a localized string similar to The supplied type {0} must be an open generic type.. - - - - - Looks up a localized string similar to The supplied type {0} does not have the same number of generic arguments as the target type {1}.. - - - - - Looks up a localized string similar to The type {0} does not have an accessible constructor.. - - - - - Looks up a localized string similar to The type {0} does not have a generic argument named "{1}". - - - - - Looks up a localized string similar to while resolving. - - - - - Looks up a localized string similar to The type {0} does not have a constructor that takes the parameters ({1}).. - - - - - Looks up a localized string similar to The type {0} does not have a public method named {1} that takes the parameters ({2}).. - - - - - Looks up a localized string similar to The type {0} does not contain an instance property named {1}.. - - - - - Looks up a localized string similar to The type {0} is not a generic type, and you are attempting to inject a generic parameter named "{1}".. - - - - - Looks up a localized string similar to The type {0} is not an array type with rank 1, and you are attempting to use a [DependencyArray] attribute on a parameter or property with this type.. - - - - - Looks up a localized string similar to Optional dependencies must be reference types. The type {0} is a value type.. - - - - - Looks up a localized string similar to The property {0} on type {1} is not settable.. - - - - - Looks up a localized string similar to The property {0} on type {1} is of type {2}, and cannot be injected with a value of type {3}.. - - - - - Looks up a localized string similar to The value for the property "{0}" could not be resolved.. - - - - - Looks up a localized string similar to The provided string argument must not be empty.. - - - - - Looks up a localized string similar to Resolution of the dependency failed, type = "{0}", name = "{1}". - Exception occurred while: {2}. - Exception is: {3} - {4} - ----------------------------------------------- - At the time of the exception, the container was: - . - - - - - Looks up a localized string similar to Resolving {0},{1}. - - - - - Looks up a localized string similar to Resolving {0},{1} (mapped from {2}, {3}). - - - - - Looks up a localized string similar to Resolving value for property {0}.{1}. - - - - - Looks up a localized string similar to The constructor {1} selected for type {0} has ref or out parameters. Such parameters are not supported for constructor injection.. - - - - - Looks up a localized string similar to Setting value for property {0}.{1}. - - - - - Looks up a localized string similar to The type {0} cannot be constructed. You must configure the container to supply this value.. - - - - - Looks up a localized string similar to The type {1} cannot be assigned to variables of type {0}.. - - - - - Looks up a localized string similar to <unknown>. - - - - - A simple, extensible dependency injection container. - - - - - Create a default . - - - - - Create a with the given parent container. - - The parent . The current object - will apply its own settings first, and then check the parent for additional ones. - - - - RegisterType a type mapping with the container, where the created instances will use - the given . - - that will be requested. - that will actually be returned. - Name to use for registration, null if a default registration. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - RegisterType an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Name for registration. - - If true, the container will take over the lifetime of the instance, - calling Dispose on it (if it's ) when the container is Disposed. - - If false, container will not maintain a strong reference to . User is reponsible - for disposing instance, and for keeping the instance from being garbage collected. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Get an instance of the requested type with the given name from the container. - - of object to get from the container. - Name of the object to retrieve. - Any overrides for the resolve call. - The retrieved object. - - - - Return instances of all registered types requested. - - - - This method is useful if you've registered multiple types with the same - but different names. - - - Be aware that this method does NOT return an instance for the default (unnamed) registration. - - - The type requested. - Any overrides for the resolve calls. - Set of objects of type . - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - of object to perform injection on. - Instance to build up. - name to use when looking up the typemappings and other configurations. - Any overrides for the buildup. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Run an existing object through the container, and clean it up. - - The object to tear down. - - - - Add an extension object to the container. - - to add. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Get access to a configuration interface exposed by an extension. - - Extensions can expose configuration interfaces as well as adding - strategies and policies to the container. This method walks the list of - added extensions and returns the first one that implements the requested type. - - of configuration interface required. - The requested extension's configuration interface, or null if not found. - - - - Remove all installed extensions from this container. - - - - This method removes all extensions from the container, including the default ones - that implement the out-of-the-box behavior. After this method, if you want to use - the container again you will need to either readd the default extensions or replace - them with your own. - - - The registered instances and singletons that have already been set up in this container - do not get removed. - - - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Create a child container. - - - A child container shares the parent's configuration, but can be configured with different - settings or lifetime. - The new child container. - - - - Dispose this container instance. - - - Disposing the container also disposes any child containers, - and disposes any instances whose lifetimes are managed - by the container. - - - - - Dispose this container instance. - - - This class doesn't have a finalizer, so will always be true. - True if being called from the IDisposable.Dispose - method, false if being called from a finalizer. - - - - Remove policies associated with building this type. This removes the - compiled build plan so that it can be rebuilt with the new settings - the next time this type is resolved. - - Type of object to clear the plan for. - Name the object is being registered with. - - - - The parent of this container. - - The parent container, or null if this container doesn't have one. - - - - Get a sequence of that describe the current state - of the container. - - - - - Implementation of the ExtensionContext that is actually used - by the UnityContainer implementation. - - - This is a nested class so that it can access state in the - container that would otherwise be inaccessible. - - - - - This event is raised when the method, - or one of its overloads, is called. - - - - - This extension supplies the default behavior of the UnityContainer API - by handling the context events and setting policies. - - - - - Install the default container behavior into the container. - - - - - Remove the default behavior from the container. - - - - - Helper class to wrap common reflection stuff dealing with - methods. - - - - - Create a new instance that - lets us do more reflection stuff on that method. - - The method to reflect on. - - - - Given our set of generic type arguments, - - The generic type arguments. - An array with closed parameter types. - - - - Returns true if any of the parameters of this method - are open generics. - - - - - Return the of each parameter for this - method. - - Sequence of objects, one for - each parameter in order. - - - - A helper class that encapsulates two different - data items together into a a single item. - - - - - Create a new containing - the two values give. - - First value - Second value - - - - The first value of the pair. - - - - - The second value of the pair. - - - - - Container for a Pair helper method. - - - - - A helper factory method that lets users take advantage of type inference. - - Type of first value. - Type of second value. - First value. - Second value. - A new instance. - - - - A utility class that handles the logic of matching parameter - lists, so we can find the right constructor and method overloads. - - - - - Create a new that will attempt to - match the given parameter types. - - Target parameters to match against. - - - - Tests to see if the given set of types matches the ones - we're looking for. - - parameter list to look for. - true if they match, false if they don't. - - - - Tests to see if the given set of types matches the ones we're looking for. - - Candidate method signature to look for. - True if they match, false if they don't. - - - - Another reflection helper class that has extra methods - for dealing with ParameterInfos. - - - - - A small helper class to encapsulate details of the - reflection API, particularly around generics. - - - - - Create a new instance that - lets you look at information about the given type. - - Type to do reflection on. - - - - Test the given object, looking at - the parameters. Determine if any of the parameters are - open generic types that need type attributes filled in. - - The method to check. - True if any of the parameters are open generics. False if not. - - - - If this type is an open generic, use the - given array to - determine what the required closed type is and return that. - - If the parameter is not an open type, just - return this parameter's type. - Type arguments to substitute in for - the open type parameters. - Corresponding closed type of this parameter. - - - - Given a generic argument name, return the corresponding type for this - closed type. For example, if the current type is SomeType<User>, and the - corresponding definition was SomeType<TSomething>, calling this method - and passing "TSomething" will return typeof(User). - - Name of the generic parameter. - Type of the corresponding generic parameter, or null if there - is no matching name. - - - - The object we're reflecting over. - - - - - Is this type generic? - - - - - Is this type an open generic (no type parameter specified) - - - - - Is this type an array type? - - - - - Is this type an array of generic elements? - - - - - The type of the elements in this type (if it's an array). - - - - - Create a new instance of that - lets you query information about the given ParameterInfo object. - - Parameter to query. - - - - A set of helper methods to pick through lambdas and pull out - from them. - - - - - Pull out a object from an expression of the form - () => SomeClass.SomeMethod() - - Expression describing the method to call. - Corresponding . - - - - Pull out a object from an expression of the form - x => x.SomeMethod() - - The type where the method is defined. - Expression describing the method to call. - Corresponding . - - - - Pull out a object for the get method from an expression of the form - x => x.SomeProperty - - The type where the method is defined. - The type for the property. - Expression describing the property for which the get method is to be extracted. - Corresponding . - - - - Pull out a object for the set method from an expression of the form - x => x.SomeProperty - - The type where the method is defined. - The type for the property. - Expression describing the property for which the set method is to be extracted. - Corresponding . - - - - Pull out a object from an expression of the form () => new SomeType() - - The type where the constructor is defined. - Expression invoking the desired constructor. - Corresponding . - - - + + + + Microsoft.Practices.Unity + + + + + Provides access to the names registered for a container. + + + + + Represents a builder policy interface. Since there are no fixed requirements + for policies, it acts as a marker interface from which to derive all other + policy interfaces. + + + + + Gets the names registered for a type. + + The type. + The names registered for . + + + + An implementation + that constructs a build plan for creating objects. + + + + + A that can create and return an + for the given build key. + + + + + Create a build plan using the given context and build key. + + Current build context. + Current build key. + The build plan. + + + + Creates a build plan using the given context and build key. + + Current build context. + Current build key. + + The build plan. + + + + + Provides extension methods to the class due to the introduction + of class in the .NET for Windows Store apps. + + + + + Returns the constructor in that matches the specified constructor parameter types. + + The type to inspect + The constructor parameter types. + The constructor that matches the specified parameter types. + + + + Returns the non-static declared methods of a type or its base types. + + The type to inspect + An enumerable of the objects. + + + + Returns the non-static method of a type or its based type. + + The type to inspect + The name of the method to seek. + The (closed) parameter type signature of the method. + The discovered + + + + Returns the declared properties of a type or its base types. + + The type to inspect + An enumerable of the objects. + + + + Determines if the types in a parameter set ordinally matches the set of supplied types. + + + + + + + + Base class for attributes that can be placed on parameters + or properties to specify how to resolve the value for + that parameter or property. + + + + + Create an instance of that + will be used to get the value for the member this attribute is + applied to. + + Type of parameter or property that + this attribute is decoration. + The resolver object. + + + + This attribute is used to indicate which constructor to choose when + the container attempts to build a type. + + + + + This attribute is used to mark methods that should be called when + the container is building an object. + + + + + This attribute is used to mark properties and parameters as targets for injection. + + + For properties, this attribute is necessary for injection to happen. For parameters, + it's not needed unless you want to specify additional information to control how + the parameter is resolved. + + + + + Create an instance of with no name. + + + + + Create an instance of with the given name. + + Name to use when resolving this dependency. + + + + Create an instance of that + will be used to get the value for the member this attribute is + applied to. + + Type of parameter or property that + this attribute is decoration. + The resolver object. + + + + The name specified in the constructor. + + + + + An used to mark a dependency + as optional - the container will try to resolve it, and return null + if the resolution fails rather than throw. + + + + + Construct a new object. + + + + + Construct a new object that + specifies a named dependency. + + Name of the dependency. + + + + Create an instance of that + will be used to get the value for the member this attribute is + applied to. + + Type of parameter or property that + this attribute is decoration. + The resolver object. + + + + Name of the dependency. + + + + + A that composites other + ResolverOverride objects. The GetResolver operation then + returns the resolver from the first child override that + matches the current context and request. + + + + + Base class for all override objects passed in the + method. + + + + + Return a that can be used to give a value + for the given desired dependency. + + Current build context. + Type of dependency desired. + a object if this override applies, null if not. + + + + Wrap this resolver in one that verifies the type of the object being built. + This allows you to narrow any override down to a specific type easily. + + Type to constrain the override to. + The new override. + + + + Wrap this resolver in one that verifies the type of the object being built. + This allows you to narrow any override down to a specific type easily. + + Type to constrain the override to. + The new override. + + + + Add a new to the collection + that is checked. + + item to add. + + + + Add a set of s to the collection. + + items to add. + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + 2 + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + 1 + + + + Return a that can be used to give a value + for the given desired dependency. + + Current build context. + Type of dependency desired. + a object if this override applies, null if not. + + + + Class that returns information about the types registered in a container. + + + + + The type that was passed to the method + as the "from" type, or the only type if type mapping wasn't done. + + + + + The type that this registration is mapped to. If no type mapping was done, the + property and this one will have the same value. + + + + + Name the type was registered under. Null for default registration. + + + + + The registered lifetime manager instance. + + + + + The lifetime manager for this registration. + + + This property will be null if this registration is for an open generic. + + + + A class that overrides + the value injected whenever there is a dependency of the + given type, regardless of where it appears in the object graph. + + + + + Create an instance of to override + the given type with the given value. + + Type of the dependency. + Value to use. + + + + Return a that can be used to give a value + for the given desired dependency. + + Current build context. + Type of dependency desired. + a object if this override applies, null if not. + + + + A convenience version of that lets you + specify the dependency type using generic syntax. + + Type of the dependency to override. + + + + Construct a new object that will + override the given dependency, and pass the given value. + + + + + A convenience form of that lets you + specify multiple parameter overrides in one shot rather than having + to construct multiple objects. + + + This class isn't really a collection, it just implements IEnumerable + so that we get use of the nice C# collection initializer syntax. + + + + + Base helper class for creating collections of objects + for use in passing a bunch of them to the resolve call. This base class provides + the mechanics needed to allow you to use the C# collection initializer syntax. + + Concrete type of the this class collects. + Key used to create the underlying override object. + Value that the override returns. + + + + Add a new override to the collection with the given key and value. + + Key - for example, a parameter or property name. + Value - the value to be returned by the override. + + + + Return a that can be used to give a value + for the given desired dependency. + + Current build context. + Type of dependency desired. + a object if this override applies, null if not. + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + 2 + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + 1 + + + + When implemented in derived classes, this method is called from the + method to create the actual objects. + + Key value to create the resolver. + Value to store in the resolver. + The created . + + + + When implemented in derived classes, this method is called from the + method to create the actual objects. + + Key value to create the resolver. + Value to store in the resolver. + The created . + + + + Event argument class for the event. + + + + + Construct a new object with the + given child container object. + + An for the newly created child + container. + + + + The newly created child container. + + + + + An extension context for the created child container. + + + + + Base class for subclasses that let you specify that + an instance of a generic type parameter should be resolved. + + + + + Base type for objects that are used to configure parameters for + constructor or method injection, or for getting the value to + be injected into a property. + + + + + Test to see if this parameter value has a matching type for the given type. + + Type to check. + True if this parameter value is compatible with type , + false if not. + + + + Return a instance that will + return this types value for the parameter. + + Type that contains the member that needs this parameter. Used + to resolve open generic parameters. + The . + + + + Convert the given set of arbitrary values to a sequence of InjectionParameterValue + objects. The rules are: If it's already an InjectionParameterValue, return it. If + it's a Type, return a ResolvedParameter object for that type. Otherwise return + an InjectionParameter object for that value. + + The values to build the sequence from. + The resulting converted sequence. + + + + Convert an arbitrary value to an InjectionParameterValue object. The rules are: + If it's already an InjectionParameterValue, return it. If it's a Type, return a + ResolvedParameter object for that type. Otherwise return an InjectionParameter + object for that value. + + The value to convert. + The resulting . + + + + Name for the type represented by this . + This may be an actual type name or a generic argument name. + + + + + Create a new instance that specifies + that the given named generic parameter should be resolved. + + The generic parameter name to resolve. + + + + Create a new instance that specifies + that the given named generic parameter should be resolved. + + The generic parameter name to resolve. + name to use when looking up in the container. + + + + Test to see if this parameter value has a matching type for the given type. + + Type to check. + True if this parameter value is compatible with type , + false if not. + + + + Return a instance that will + return this types value for the parameter. + + Type that contains the member that needs this parameter. Used + to resolve open generic parameters. + The . + + + + Return a instance that will + return this types value for the parameter. + + The actual type to resolve. + The resolution key. + The . + + + + Name for the type represented by this . + This may be an actual type name or a generic argument name. + + + + + A that lets you specify that + an instance of a generic type parameter should be resolved, providing the + value if resolving fails. + + + + + Create a new instance that specifies + that the given named generic parameter should be resolved. + + The generic parameter name to resolve. + + + + Create a new instance that specifies + that the given named generic parameter should be resolved. + + The generic parameter name to resolve. + name to use when looking up in the container. + + + + Return a instance that will + return this types value for the parameter. + + The actual type to resolve. + The resolution key. + The . + + + + A class that lets you specify a factory method the container + will use to create the object. + + This is a significantly easier way to do the same + thing the old static factory extension was used for. + + + + Base class for objects that can be used to configure what + class members get injected by the container. + + + + + Add policies to the to configure the + container to call this constructor with the appropriate parameter values. + + Type to register. + Policy list to add policies to. + + + + Add policies to the to configure the + container to call this constructor with the appropriate parameter values. + + Type of interface being registered. If no interface, + this will be null. + Type of concrete type being registered. + Name used to resolve the type object. + Policy list to add policies to. + + + + Create a new instance of with + the given factory function. + + Factory function. + + + + Create a new instance of with + the given factory function. + + Factory function. + + + + Add policies to the to configure the + container to call this constructor with the appropriate parameter values. + + Type of interface being registered. If no interface, + this will be null. This parameter is ignored in this implementation. + Type of concrete type being registered. + Name used to resolve the type object. + Policy list to add policies to. + + + + A that can be passed to + to configure a + parameter or property as an optional dependency. + + + + + A base class for implementing classes + that deal in explicit types. + + + + + Create a new that exposes + information about the given . + + Type of the parameter. + + + + Test to see if this parameter value has a matching type for the given type. + + Type to check. + True if this parameter value is compatible with type , + false if not. + + + + The type of parameter this object represents. + + + + + Name for the type represented by this . + This may be an actual type name or a generic argument name. + + + + + Construct a new object that + specifies the given . + + Type of the dependency. + + + + Construct a new object that + specifies the given and . + + Type of the dependency. + Name for the dependency. + + + + Return a instance that will + return this types value for the parameter. + + Type that contains the member that needs this parameter. Used + to resolve open generic parameters. + The . + + + + A generic version of that lets you + specify the type of the dependency using generics syntax. + + Type of the dependency. + + + + Construct a new . + + + + + Construct a new with the given + . + + Name of the dependency. + + + + A special lifetime manager which works like , + except that in the presence of child containers, each child gets it's own instance + of the object, instead of sharing one in the common parent. + + + + + A that holds onto the instance given to it. + When the is disposed, + the instance is disposed with it. + + + + + Base class for Lifetime managers which need to synchronize calls to + . + + + + The purpose of this class is to provide a basic implementation of the lifetime manager synchronization pattern. + + + Calls to the method of a + instance acquire a lock, and if the instance has not been initialized with a value yet the lock will only be released + when such an initialization takes place by calling the method or if + the build request which resulted in the call to the GetValue method fails. + + + + + + + Base class for Lifetime managers - classes that control how + and when instances are created by the Unity container. + + + + + A that controls how instances are + persisted and recovered from an external store. Used to implement + things like singletons and per-http-request lifetime. + + + + + Retrieve a value from the backing store associated with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + + + + Stores the given value into backing store for retrieval later. + + The object to store. + + + + Remove the value this lifetime policy is managing from backing store. + + + + + Retrieve a value from the backing store associated with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + + + + Stores the given value into backing store for retrieval later. + + The object being stored. + + + + Remove the given object from backing store. + + + + + This interface provides a hook for the builder context to + implement error recovery when a builder strategy throws + an exception. Since we can't get try/finally blocks onto + the call stack for later stages in the chain, we instead + add these objects to the context. If there's an exception, + all the current IRequiresRecovery instances will have + their Recover methods called. + + + + + A method that does whatever is needed to clean up + as part of cleaning up after an exception. + + + Don't do anything that could throw in this method, + it will cause later recover operations to get skipped + and play real havoc with the stack trace. + + + + + Retrieve a value from the backing store associated with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + Calls to this method acquire a lock which is released only if a non-null value + has been set for the lifetime manager. + + + + Performs the actual retrieval of a value from the backing store associated + with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + This method is invoked by + after it has acquired its lock. + + + + Stores the given value into backing store for retrieval later. + + The object being stored. + Setting a value will attempt to release the lock acquired by + . + + + + Performs the actual storage of the given value into backing store for retrieval later. + + The object being stored. + This method is invoked by + before releasing its lock. + + + + Remove the given object from backing store. + + + + + A method that does whatever is needed to clean up + as part of cleaning up after an exception. + + + Don't do anything that could throw in this method, + it will cause later recover operations to get skipped + and play real havoc with the stack trace. + + + + + Retrieve a value from the backing store associated with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + + + + Stores the given value into backing store for retrieval later. + + The object being stored. + + + + Remove the given object from backing store. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Standard Dispose pattern implementation. Not needed, but it keeps FxCop happy. + + Always true, since we don't have a finalizer. + + + + This is a custom lifetime manager that acts like , + but also provides a signal to the default build plan, marking the type so that + instances are reused across the build up object graph. + + + + + Construct a new object that does not + itself manage an instance. + + + + + Construct a new object that stores the + give value. This value will be returned by + but is not stored in the lifetime manager, nor is the value disposed. + This Lifetime manager is intended only for internal use, which is why the + normal method is not used here. + + Value to store. + + + + Retrieve a value from the backing store associated with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + + + + Stores the given value into backing store for retrieval later. In this class, + this is a noop, since it has special hooks down in the guts. + + The object being stored. + + + + Remove the given object from backing store. Noop in this class. + + + + + A strategy that handles Hierarchical lifetimes across a set of parent/child + containers. + + + + + Represents a strategy in the chain of responsibility. + Strategies are required to support both BuildUp and TearDown. + + + + + Represents a strategy in the chain of responsibility. + Strategies are required to support both BuildUp and TearDown. Although you + can implement this interface directly, you may also choose to use + as the base class for your strategies, as + this class provides useful helper methods and makes support BuildUp and TearDown + optional. + + + + + Called during the chain of responsibility for a build operation. The + PreBuildUp method is called when the chain is being executed in the + forward direction. + + Context of the build operation. + + + + Called during the chain of responsibility for a build operation. The + PostBuildUp method is called when the chain has finished the PreBuildUp + phase and executes in reverse order from the PreBuildUp calls. + + Context of the build operation. + + + + Called during the chain of responsibility for a teardown operation. The + PreTearDown method is called when the chain is being executed in the + forward direction. + + Context of the teardown operation. + + + + Called during the chain of responsibility for a teardown operation. The + PostTearDown method is called when the chain has finished the PreTearDown + phase and executes in reverse order from the PreTearDown calls. + + Context of the teardown operation. + + + + Called during the chain of responsibility for a build operation. The + PreBuildUp method is called when the chain is being executed in the + forward direction. + + Context of the build operation. + + + + Called during the chain of responsibility for a build operation. The + PostBuildUp method is called when the chain has finished the PreBuildUp + phase and executes in reverse order from the PreBuildUp calls. + + Context of the build operation. + + + + Called during the chain of responsibility for a teardown operation. The + PreTearDown method is called when the chain is being executed in the + forward direction. + + Context of the teardown operation. + + + + Called during the chain of responsibility for a teardown operation. The + PostTearDown method is called when the chain has finished the PreTearDown + phase and executes in reverse order from the PreTearDown calls. + + Context of the teardown operation. + + + + Called during the chain of responsibility for a build operation. The + PreBuildUp method is called when the chain is being executed in the + forward direction. + + Context of the build operation. + + + + A that will attempt to + resolve a value, and return null if it cannot rather than throwing. + + + + + A strategy that is used at build plan execution time + to resolve a dependent value. + + + + + Get the value for a dependency. + + Current build context. + The value for the dependency. + + + + Construct a new object + that will attempt to resolve the given name and type from the container. + + Type to resolve. Must be a reference type. + Name to resolve with. + + + + Construct a new object + that will attempt to resolve the given type from the container. + + Type to resolve. Must be a reference type. + + + + Get the value for a dependency. + + Current build context. + The value for the dependency. + + + + Type this resolver will resolve. + + + + + Name this resolver will resolve. + + + + + Extension methods on to provide convenience + overloads (generic versions, mostly). + + + + + Removes an individual policy type for a build key. + + The type the policy was registered as. + to remove the policy from. + The key the policy applies. + + + + Removes a default policy. + + The type the policy was registered as. + to remove the policy from. + + + + Gets an individual policy. + + The interface the policy is registered under. + to search. + The key the policy applies. + The policy in the list, if present; returns null otherwise. + + + + Gets an individual policy. + + The interface the policy is registered under. + to search. + The key the policy applies. + The policy list that actually contains the returned policy. + The policy in the list, if present; returns null otherwise. + + + + Gets an individual policy. + + to search. + The interface the policy is registered under. + The key the policy applies. + The policy in the list, if present; returns null otherwise. + + + + Gets an individual policy. + + to search. + The interface the policy is registered under. + The key the policy applies. + The policy list that actually contains the returned policy. + The policy in the list, if present; returns null otherwise. + + + + Gets an individual policy. + + The interface the policy is registered under. + to search. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy in the list, if present; returns null otherwise. + + + + Gets an individual policy. + + The interface the policy is registered under. + to search. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy list that actually contains the returned policy. + The policy in the list, if present; returns null otherwise. + + + + Gets an individual policy. + + to search. + The interface the policy is registered under. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy in the list, if present; returns null otherwise. + + + + Get the non default policy. + + The interface the policy is registered under. + to search. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy in the list, if present; returns null otherwise. + + + + Get the non default policy. + + The interface the policy is registered under. + to search. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy list that actually contains the returned policy. + The policy in the list, if present; returns null otherwise. + + + + Get the non default policy. + + to search. + The interface the policy is registered under. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy in the list, if present; returns null otherwise. + + + + Sets an individual policy. + + The interface the policy is registered under. + to add the policy to. + The policy to be registered. + The key the policy applies. + + + + Sets a default policy. When checking for a policy, if no specific individual policy + is available, the default will be used. + + The interface to register the policy under. + to add the policy to. + The default policy to be registered. + + + + Base class for the current operation stored in the build context. + + + + + Create a new . + + Type currently being built. + + + + The type that's currently being built. + + + + + Build plan for that will return a Func that will resolve the requested type + through this container later. + + + + + A build plan is an object that, when invoked, will create a new object + or fill in a given existing one. It encapsulates all the information + gathered by the strategies to construct a particular object. + + + + + Creates an instance of this build plan's type, or fills + in the existing type if passed in. + + Context used to build up the object. + + + + Creates an instance of this build plan's type, or fills + in the existing type if passed in. + + Context used to build up the object. + + + + The almost inevitable collection of extra helper methods on + to augment the rich set of what + LINQ already gives us. + + + + + Execute the provided on every item in . + + Type of the items stored in + Sequence of items to process. + Code to run over each item. + + + + Create a single string from a sequence of items, separated by the provided , + and with the conversion to string done by the given . + + This method does basically the same thing as , + but will work on any sequence of items, not just arrays. + Type of items in the sequence. + Sequence of items to convert. + Separator to place between the items in the string. + The conversion function to change TItem -> string. + The resulting string. + + + + Create a single string from a sequence of items, separated by the provided , + and with the conversion to string done by the item's method. + + This method does basically the same thing as , + but will work on any sequence of items, not just arrays. + Type of items in the sequence. + Sequence of items to convert. + Separator to place between the items in the string. + The resulting string. + + + + A class that lets you + override a named parameter passed to a constructor. + + + + + Construct a new object that will + override the given named constructor parameter, and pass the given + value. + + Name of the constructor parameter. + Value to pass for the constructor. + + + + Return a that can be used to give a value + for the given desired dependency. + + Current build context. + Type of dependency desired. + a object if this override applies, null if not. + + + + A convenience form of that lets you + specify multiple parameter overrides in one shot rather than having + to construct multiple objects. + + + + + When implemented in derived classes, this method is called from the + method to create the actual objects. + + Key value to create the resolver. + Value to store in the resolver. + The created . + + + + A that lets you override + the value for a specified property. + + + + + Create an instance of . + + The property name. + Value to use for the property. + + + + Return a that can be used to give a value + for the given desired dependency. + + Current build context. + Type of dependency desired. + a object if this override applies, null if not. + + + + A convenience form of that lets you + specify multiple property overrides in one shot rather than having + to construct multiple objects. + + + + + When implemented in derived classes, this method is called from the + method to create the actual objects. + + Key value to create the resolver. + Value to store in the resolver. + The created . + + + + Interface defining the configuration interface exposed by the + Static Factory extension. + + + + + Base interface for all extension configuration interfaces. + + + + + Retrieve the container instance that we are currently configuring. + + + + + Register the given factory delegate to be called when the container is + asked to resolve . + + Type that will be requested from the container. + Delegate to invoke to create the instance. + The container extension object this method was invoked on. + + + + Register the given factory delegate to be called when the container is + asked to resolve and . + + Type that will be requested from the container. + The name that will be used when requesting to resolve this type. + Delegate to invoke to create the instance. + The container extension object this method was invoked on. + + + + Represents the context in which a build-up or tear-down operation runs. + + + + + Represents the context in which a build-up or tear-down operation runs. + + + + + Add a new set of resolver override objects to the current build operation. + + objects to add. + + + + Get a object for the given + or null if that dependency hasn't been overridden. + + Type of the dependency. + Resolver to use, or null if no override matches for the current operation. + + + + A convenience method to do a new buildup operation on an existing context. + + Key to use to build up. + Created object. + + + + A convenience method to do a new buildup operation on an existing context. This + overload allows you to specify extra policies which will be in effect for the duration + of the build. + + Key defining what to build up. + A delegate that takes a . This + is invoked with the new child context before the build up process starts. This gives callers + the opportunity to customize the context for the build process. + Created object. + + + + Gets the head of the strategy chain. + + + The strategy that's first in the chain; returns null if there are no + strategies in the chain. + + + + + Gets the associated with the build. + + + The associated with the build. + + + + + Gets the original build key for the build operation. + + + The original build key for the build operation. + + + + + Get the current build key for the current build operation. + + + + + The set of policies that were passed into this context. + + This returns the policies passed into the context. + Policies added here will remain after buildup completes. + The persistent policies for the current context. + + + + Gets the policies for the current context. + + Any policies added to this object are transient + and will be erased at the end of the buildup. + + The policies for the current context. + + + + + Gets the collection of objects + that need to execute in event of an exception. + + + + + The current object being built up or torn down. + + + The current object being manipulated by the build operation. May + be null if the object hasn't been created yet. + + + + Flag indicating if the build operation should continue. + + true means that building should not call any more + strategies, false means continue to the next strategy. + + + + An object representing what is currently being done in the + build chain. Used to report back errors if there's a failure. + + + + + The build context used to resolve a dependency during the build operation represented by this context. + + + + + Initialize a new instance of the class. + + + + + Initialize a new instance of the class with a , + , and the + build key used to start this build operation. + + The to use for this context. + The to use for this context. + The to use for this context. + Build key to start building. + The existing object to build up. + + + + Create a new using the explicitly provided + values. + + The to use for this context. + The to use for this context. + The set of persistent policies to use for this context. + The set of transient policies to use for this context. It is + the caller's responsibility to ensure that the transient and persistent policies are properly + combined. + Build key for this context. + Existing object to build up. + + + + Create a new using the explicitly provided + values. + + The to use for this context. + The to use for this context. + The set of persistent policies to use for this context. + The set of transient policies to use for this context. It is + the caller's responsibility to ensure that the transient and persistent policies are properly + combined. + Build key for this context. + The resolver overrides. + + + + Add a new set of resolver override objects to the current build operation. + + objects to add. + + + + Get a object for the given + or null if that dependency hasn't been overridden. + + Type of the dependency. + Resolver to use, or null if no override matches for the current operation. + + + + A convenience method to do a new buildup operation on an existing context. + + Key to use to build up. + Created object. + + + + A convenience method to do a new buildup operation on an existing context. This + overload allows you to specify extra policies which will be in effect for the duration + of the build. + + Key defining what to build up. + A delegate that takes a . This + is invoked with the new child context before the build up process starts. This gives callers + the opportunity to customize the context for the build process. + Created object. + + + + Gets the head of the strategy chain. + + + The strategy that's first in the chain; returns null if there are no + strategies in the chain. + + + + + Get the current build key for the current build operation. + + + + + The current object being built up or torn down. + + + The current object being manipulated by the build operation. May + be null if the object hasn't been created yet. + + + + Gets the associated with the build. + + + The associated with the build. + + + + + Gets the original build key for the build operation. + + + The original build key for the build operation. + + + + + The set of policies that were passed into this context. + + This returns the policies passed into the context. + Policies added here will remain after buildup completes. + The persistent policies for the current context. + + + + Gets the policies for the current context. + + + Any modifications will be transient (meaning, they will be forgotten when + the outer BuildUp for this context is finished executing). + + + The policies for the current context. + + + + + Gets the collection of objects + that need to execute in event of an exception. + + + + + Flag indicating if the build operation should continue. + + true means that building should not call any more + strategies, false means continue to the next strategy. + + + + An object representing what is currently being done in the + build chain. Used to report back errors if there's a failure. + + + + + The build context used to resolve a dependency during the build operation represented by this context. + + + + + Represents that a dependency could not be resolved. + + + + + Initializes a new instance of the class with no extra information. + + + + + Initializes a new instance of the class with the given message. + + Some random message. + + + + Initialize a new instance of the class with the given + message and inner exception. + + Some random message + Inner exception. + + + + Initializes a new instance of the class with the build key of the object begin built. + + The build key of the object begin built. + + + + The exception thrown when injection is attempted on a method + that is an open generic or has out or ref params. + + + + + Construct a new with no + message. + + + + + Construct a with the given message + + Message to return. + + + + Construct a with the given message + and inner exception. + + Message to return. + Inner exception + + + + Extension methods to provide convenience overloads over the + interface. + + + + + Start a recursive build up operation to retrieve the default + value for the given type. + + Type of object to build. + Parent context. + Resulting object. + + + + Start a recursive build up operation to retrieve the named + implementation for the given type. + + Type to resolve. + Parent context. + Name to resolve with. + The resulting object. + + + + Add a set of s to the context, specified as a + variable argument list. + + Context to add overrides to. + The overrides. + + + + Data structure that stores the set of + objects and executes them when requested. + + + + + Add a new object to this + list. + + Object to add. + + + + Execute the method + of everything in the recovery list. Recoveries will execute + in the opposite order of add - it's a stack. + + + + + Return the number of recovery objects currently in the stack. + + + + + Represents a lifetime container. + + + A lifetime container tracks the lifetime of an object, and implements + IDisposable. When the container is disposed, any objects in the + container which implement IDisposable are also disposed. + + + + + Adds an object to the lifetime container. + + The item to be added to the lifetime container. + + + + Determine if a given object is in the lifetime container. + + + The item to locate in the lifetime container. + + + Returns true if the object is contained in the lifetime + container; returns false otherwise. + + + + + Removes an item from the lifetime container. The item is + not disposed. + + The item to be removed. + + + + Gets the number of references in the lifetime container + + + The number of references in the lifetime container + + + + + Represents a lifetime container. + + + A lifetime container tracks the lifetime of an object, and implements + IDisposable. When the container is disposed, any objects in the + container which implement IDisposable are also disposed. + + + + + Adds an object to the lifetime container. + + The item to be added to the lifetime container. + + + + Determine if a given object is in the lifetime container. + + + The item to locate in the lifetime container. + + + Returns true if the object is contained in the lifetime + container; returns false otherwise. + + + + + Releases the resources used by the . + + + + + Releases the resources used by the . + + + true to release managed and unmanaged resources; false to release only unmanaged resources. + + + + + Returns an enumerator that iterates through the lifetime container. + + + An object that can be used to iterate through the life time container. + + + + + Returns an enumerator that iterates through the lifetime container. + + + An object that can be used to iterate through the life time container. + + + + + Removes an item from the lifetime container. The item is + not disposed. + + The item to be removed. + + + + Gets the number of references in the lifetime container + + + The number of references in the lifetime container + + + + + A custom collection over objects. + + + + + Removes an individual policy type for a build key. + + The type of policy to remove. + The key the policy applies. + + + + Removes all policies from the list. + + + + + Removes a default policy. + + The type the policy was registered as. + + + + Gets an individual policy. + + The interface the policy is registered under. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy list in the chain that the searched for policy was found in, null if the policy was + not found. + The policy in the list, if present; returns null otherwise. + + + + Get the non default policy. + + The interface the policy is registered under. + The key the policy applies to. + True if the search should be in the local policy list only; otherwise false to search up the parent chain. + The policy list in the chain that the searched for policy was found in, null if the policy was + not found. + The policy in the list if present; returns null otherwise. + + + + Sets an individual policy. + + The of the policy. + The policy to be registered. + The key the policy applies. + + + + Sets a default policy. When checking for a policy, if no specific individual policy + is available, the default will be used. + + The interface to register the policy under. + The default policy to be registered. + + + + A custom collection wrapper over objects. + + + + + Initialize a new instance of a class. + + + + + Initialize a new instance of a class with another policy list. + + An inner policy list to search. + + + + Removes an individual policy type for a build key. + + The type of policy to remove. + The key the policy applies. + + + + Removes all policies from the list. + + + + + Removes a default policy. + + The type the policy was registered as. + + + + Gets an individual policy. + + The interface the policy is registered under. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy list in the chain that the searched for policy was found in, null if the policy was + not found. + The policy in the list, if present; returns null otherwise. + + + + Get the non default policy. + + The interface the policy is registered under. + The key the policy applies to. + True if the search should be in the local policy list only; otherwise false to search up the parent chain. + The policy list in the chain that the searched for policy was found in, null if the policy was + not found. + The policy in the list if present; returns null otherwise. + + + + Sets an individual policy. + + The of the policy. + The policy to be registered. + The key the policy applies. + + + + Sets a default policy. When checking for a policy, if no specific individual policy + is available, the default will be used. + + The interface to register the policy under. + The default policy to be registered. + + + + Gets the number of items in the locator. + + + The number of items in the locator. + + + + + An implementation of . + + + + + Add a new object to this + list. + + Object to add. + + + + Execute the method + of everything in the recovery list. Recoveries will execute + in the opposite order of add - it's a stack. + + + + + Return the number of recovery objects currently in the stack. + + + + + Implementation of which will notify an object about + the completion of a BuildUp operation, or start of a TearDown operation. + + + This strategy checks the object that is passing through the builder chain to see if it + implements IBuilderAware and if it does, it will call + and . This strategy is meant to be used from the + stage. + + + + + Called during the chain of responsibility for a build operation. The + PreBuildUp method is called when the chain is being executed in the + forward direction. + + Context of the build operation. + + + + Called during the chain of responsibility for a teardown operation. The + PreTearDown method is called when the chain is being executed in the + forward direction. + + Context of the teardown operation. + + + + Implemented on a class when it wants to receive notifications + about the build process. + + + + + Called by the when the object is being built up. + + The key of the object that was just built up. + + + + Called by the when the object is being torn down. + + + + + Enumeration to represent the object builder stages. + + + The order of the values in the enumeration is the order in which the stages are run. + + + + + Strategies in this stage run before creation. Typical work done in this stage might + include strategies that use reflection to set policies into the context that other + strategies would later use. + + + + + Strategies in this stage create objects. Typically you will only have a single policy-driven + creation strategy in this stage. + + + + + Strategies in this stage work on created objects. Typical work done in this stage might + include setter injection and method calls. + + + + + Strategies in this stage work on objects that are already initialized. Typical work done in + this stage might include looking to see if the object implements some notification interface + to discover when its initialization stage has been completed. + + + + + Represents a builder policy for mapping build keys. + + + + + Represents a builder policy for mapping build keys. + + + + + Maps the build key. + + The build key to map. + Current build context. Used for contextual information + if writing a more sophisticated mapping. This parameter can be null + (called when getting container registrations). + The new build key. + + + + Initialize a new instance of the with the new build key. + + The new build key. + + + + Maps the build key. + + The build key to map. + Current build context. Used for contextual information + if writing a more sophisticated mapping, unused in this implementation. + The new build key. + + + + Represents a strategy for mapping build keys in the build up operation. + + + + + Called during the chain of responsibility for a build operation. Looks for the + and if found maps the build key for the current operation. + + The context for the operation. + + + + An implementation of that can map + generic types. + + + + + Create a new instance + that will map generic types. + + Build key to map to. This must be or contain an open generic type. + + + + Maps the build key. + + The build key to map. + Current build context. Used for contextual information + if writing a more sophisticated mapping. + The new build key. + + + + A that will look for a build plan + in the current context. If it exists, it invokes it, otherwise + it creates one and stores it for later, and invokes it. + + + + + Called during the chain of responsibility for a build operation. + + The context for the operation. + + + + An implementation of that chooses + constructors based on these criteria: first, pick a constructor marked with the + attribute. If there + isn't one, then choose the constructor with the longest parameter list. If that is ambiguous, + then throw. + + Thrown when the constructor to choose is ambiguous. + Attribute used to mark the constructor to call. + + + + Base class that provides an implementation of + which lets you override how the parameter resolvers are created. + + + + + A that, when implemented, + will determine which constructor to call from the build plan. + + + + + Choose the constructor to call for the given type. + + Current build context + The to add any + generated resolver objects into. + The chosen constructor. + + + + Choose the constructor to call for the given type. + + Current build context + The to add any + generated resolver objects into. + The chosen constructor. + + + + Create a instance for the given + . + + Parameter to create the resolver for. + The resolver object. + + + + Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. + + The second object to compare. + The first object to compare. + + Value Condition Less than zero is less than y. Zero equals y. Greater than zero is greater than y. + + + + + Create a instance for the given + . + + Parameter to create the resolver for. + The resolver object. + + + + Objects of this type are the return value from . + It encapsulates the desired with the string keys + needed to look up the for each + parameter. + + + + + Base class for return values from selector policies that + return a MemberInfo of some sort plus a list of parameter + keys to look up the parameter resolvers. + + + + + Base class for return of selector policies that need + to keep track of a set of parameter resolvers. + + + + + Adds the parameter resolver. Resolvers are assumed + to be in the order of the parameters to the member. + + The new resolver. + + + + Gets the parameter resolvers. + + An array with the parameter resolvers. + + + + Construct a new , storing + the given member info. + + Member info to store. + + + + The member info stored. + + + + + Create a new instance which + contains the given constructor. + + The constructor to wrap. + + + + The constructor this object wraps. + + + + + This class records the information about which constructor argument is currently + being resolved, and is responsible for generating the error string required when + an error has occurred. + + + + + Initializes a new instance of the class. + + The type that is being constructed. + A string representing the constructor being called. + Parameter being resolved. + + + + Generate the string describing what parameter was being resolved. + + The description string. + + + + String describing the constructor being set up. + + + + + Parameter that's being resolved. + + + + + A that emits IL to call constructors + as part of creating a build plan. + + + + + Called during the chain of responsibility for a build operation. + + Existing object is an instance of . + The context for the operation. + + + + A helper method used by the generated IL to set up a PerResolveLifetimeManager lifetime manager + if the current object is such. + + Current build context. + + + + Build up the string that will represent the constructor signature + in any exception message. + + + + + + + A helper method used by the generated IL to store the current operation in the build context. + + + + + A helper method used by the generated IL to store the current operation in the build context. + + + + + A helper method used by the generated IL to throw an exception if + no existing object is present, but the user is attempting to build + an interface (usually due to the lack of a type mapping). + + The currently being + used for the build of this object. + + + + A helper method used by the generated IL to throw an exception if + no existing object is present, but the user is attempting to build + an abstract class (usually due to the lack of a type mapping). + + The currently being + used for the build of this object. + + + + A helper method used by the generated IL to throw an exception if + no existing object is present, but the user is attempting to build + an delegate other than Func{T} or Func{IEnumerable{T}}. + + The currently being + used for the build of this object. + + + + A helper method used by the generated IL to throw an exception if + a dependency cannot be resolved. + + The currently being + used for the build of this object. + + + + A helper method used by the generated IL to throw an exception if + a dependency cannot be resolved because of an invalid constructor. + + The currently being + used for the build of this object. + The signature of the invalid constructor. + + + + A class that records that a constructor is about to be call, and is + responsible for generating the error string required when + an error has occurred. + + + + + Initializes a new instance of the class. + + + + + Generate the description string. + + The string. + + + + Constructor we're trying to call. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Helper method used by generated IL to look up a dependency resolver based on the given key. + + Current build context. + Type of the dependency being resolved. + Key the resolver was stored under. + The found dependency resolver. + + + + Helper method used by generated IL to look up a dependency resolver based on the given key. + + Current build context. + Type of the dependency being resolved. + The configured resolver. + The found dependency resolver. + + + + The type that is to be built with the dynamic build plan. + + + + + The context parameter representing the used when the build plan is executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + An implementation + that constructs a build plan via dynamic IL emission. + + + + + Construct a that + uses the given strategy chain to construct the build plan. + + The strategy chain. + + + + Construct a build plan. + + The current build context. + The current build key. + The created build plan. + + + + A class that records that a constructor is about to be call, and is + responsible for generating the error string required when + an error has occurred. + + + + + Initializes a new instance of the class. + + + + + Generate the description string. + + The string. + + + + Method we're trying to call. + + + + + This class records the information about which constructor argument is currently + being resolved, and is responsible for generating the error string required when + an error has occurred. + + + + + Initializes a new instance of the class. + + The type that is being constructed. + A string representing the method being called. + Parameter being resolved. + + + + Generate the string describing what parameter was being resolved. + + The description string. + + + + String describing the method being set up. + + + + + Parameter that's being resolved. + + + + + A that generates IL to call + chosen methods (as specified by the current ) + as part of object build up. + + + + + Called during the chain of responsibility for a build operation. The + PreBuildUp method is called when the chain is being executed in the + forward direction. + + Context of the build operation. + + + + A helper method used by the generated IL to store the current operation in the build context. + + + + + A helper method used by the generated IL to store the current operation in the build context. + + + + + A base class that holds the information shared by all operations + performed by the container while setting properties. + + + + + Initializes a new instance of the class. + + + + + Generate the description of this operation. + + The string. + + + + Get a format string used to create the description. Called by + the base method. + + The format string. + + + + The property value currently being resolved. + + + + + This class records the information about which property value is currently + being resolved, and is responsible for generating the error string required when + an error has occurred. + + + + + Initializes a new instance of the class. + + + + + Get a format string used to create the description. Called by + the base method. + + The format string. + + + + A that generates IL to resolve properties + on an object being built. + + + + + Called during the chain of responsibility for a build operation. + + The context for the operation. + + + + A helper method used by the generated IL to store the current operation in the build context. + + + + + A helper method used by the generated IL to store the current operation in the build context. + + + + + This class records the information about which property value is currently + being set, and is responsible for generating the error string required when + an error has occurred. + + + + + Initializes a new instance of the class. + + Type property is on. + Name of property being set. + + + + Get a format string used to create the description. Called by + the base method. + + The format string. + + + + Creates an instance of this build plan's type, or fills + in the existing type if passed in. + + Context used to build up the object. + + + + An that will examine the given + types and return a sequence of objects + that should be called as part of building the object. + + + + + Return the sequence of methods to call while building the target object. + + Current build context. + The to add any + generated resolver objects into. + Sequence of methods to call. + + + + An implementation of that selects + methods by looking for the given + attribute on those methods. + + Type of attribute used to mark methods + to inject. + + + + Base class that provides an implementation of + which lets you override how the parameter resolvers are created. + + Attribute that marks methods that should + be called. + + + + Return the sequence of methods to call while building the target object. + + Current build context. + The to add any + generated resolver objects into. + Sequence of methods to call. + + + + Create a instance for the given + . + + Parameter to create the resolver for. + The resolver object. + + + + Create a instance for the given + . + + Parameter to create the resolver for. + The resolver object. + + + + Objects of this type are the return value from . + It encapsulates the desired with the string keys + needed to look up the for each + parameter. + + + + + Create a new instance which + contains the given method. + + The method + + + + The constructor this object wraps. + + + + + An that returns a sequence + of properties that should be injected for the given type. + + + + + Returns sequence of properties on the given type that + should be set as part of building that object. + + Current build context. + The to add any + generated resolver objects into. + Sequence of objects + that contain the properties to set. + + + + Base class that provides an implementation of + which lets you override how the parameter resolvers are created. + + + + + Returns sequence of properties on the given type that + should be set as part of building that object. + + Current build context. + The to add any + generated resolver objects into. + Sequence of objects + that contain the properties to set. + + + + Create a for the given + property. + + Property to create resolver for. + The resolver object. + + + + An implementation of that looks + for properties marked with the + attribute that are also settable and not indexers. + + + + + + Create a for the given + property. + + Property to create resolver for. + The resolver object. + + + + Objects of this type are returned from + . + This class combines the about + the property with the string key used to look up the resolver + for this property's value. + + + + + Create an instance of + with the given and key. + + The property. + + + + + PropertyInfo for this property. + + + + + IDependencyResolverPolicy for this property + + + + + Implementation of . + + + + + A builder policy that lets you keep track of the current + resolvers and will remove them from the given policy set. + + + + + Add a new resolver to track by key. + + Key that was used to add the resolver to the policy set. + + + + Remove the currently tracked resolvers from the given policy list. + + Policy list to remove the resolvers from. + + + + Add a new resolver to track by key. + + Key that was used to add the resolver to the policy set. + + + + Remove the currently tracked resolvers from the given policy list. + + Policy list to remove the resolvers from. + + + + Get an instance that implements , + either the current one in the policy set or creating a new one if it doesn't + exist. + + Policy list to look up from. + Build key to track. + The resolver tracker. + + + + Add a key to be tracked to the current tracker. + + Policy list containing the resolvers and trackers. + Build key for the resolvers being tracked. + Key for the resolver. + + + + Remove the resolvers for the given build key. + + Policy list containing the build key. + Build key. + + + + An implementation of that + calls back into the build chain to build up the dependency, passing + a type given at compile time as its build key. + + + + + Create a new instance storing the given type. + + Type to resolve. + + + + Get the value for a dependency. + + Current build context. + The value for the dependency. + + + + This interface defines a standard method to convert any regardless + of the stage enum into a regular, flat strategy chain. + + + + + Convert this into + a flat . + + The flattened . + + + + Represents a chain of responsibility for builder strategies. + + + + + Reverse the order of the strategy chain. + + The reversed strategy chain. + + + + Execute this strategy chain against the given context, + calling the Buildup methods on the strategies. + + Context for the build process. + The build up object + + + + Execute this strategy chain against the given context, + calling the TearDown methods on the strategies. + + Context for the teardown process. + + + + A builder policy used to create lifetime policy instances. + Used by the LifetimeStrategy when instantiating open + generic types. + + + + + Create a new instance of . + + The new instance. + + + + The type of Lifetime manager that will be created by this factory. + + + + + An implementation that uses + a to figure out if an object + has already been created and to update or remove that + object from some backing store. + + + + + Called during the chain of responsibility for a build operation. The + PreBuildUp method is called when the chain is being executed in the + forward direction. + + Context of the build operation. + + + + Called during the chain of responsibility for a build operation. The + PostBuildUp method is called when the chain has finished the PreBuildUp + phase and executes in reverse order from the PreBuildUp calls. + + Context of the build operation. + + + + Represents a chain of responsibility for builder strategies partitioned by stages. + + The stage enumeration to partition the strategies. + + + + Initialize a new instance of the class. + + + + + Initialize a new instance of the class with an inner strategy chain to use when building. + + The inner strategy chain to use first when finding strategies in the build operation. + + + + Adds a strategy to the chain at a particular stage. + + The strategy to add to the chain. + The stage to add the strategy. + + + + Add a new strategy for the . + + The of + The stage to add the strategy. + + + + Clear the current strategy chain list. + + + This will not clear the inner strategy chain if this instance was created with one. + + + + + Makes a strategy chain based on this instance. + + A new . + + + + Represents a chain of responsibility for builder strategies. + + + + + Initialize a new instance of the class. + + + + + Initialize a new instance of the class with a collection of strategies. + + A collection of strategies to initialize the chain. + + + + Adds a strategy to the chain. + + The strategy to add to the chain. + + + + Adds strategies to the chain. + + The strategies to add to the chain. + + + + Reverse the order of the strategy chain. + + The reversed strategy chain. + + + + Execute this strategy chain against the given context to build up. + + Context for the build processes. + The build up object + + + + Execute this strategy chain against the given context, + calling the TearDown methods on the strategies. + + Context for the teardown process. + + + + Returns an enumerator that iterates through the collection. + + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + + An object that can be used to iterate through the collection. + + + + + Build key used to combine a type object with a string name. Used by + ObjectBuilder to indicate exactly what is being built. + + + + + Create a new instance with the given + type and name. + + to build. + Key to use to look up type mappings and singletons. + + + + Create a new instance for the default + buildup of the given type. + + to build. + + + + This helper method creates a new instance. It is + initialized for the default key for the given type. + + Type to build. + A new instance. + + + + This helper method creates a new instance for + the given type and key. + + Type to build + Key to use to look up type mappings and singletons. + A new instance initialized with the given type and name. + + + + Compare two instances. + + Two instances compare equal + if they contain the same name and the same type. Also, comparing + against a different type will also return false. + Object to compare to. + True if the two keys are equal, false if not. + + + + Calculate a hash code for this instance. + + A hash code. + + + + Compare two instances for equality. + + Two instances compare equal + if they contain the same name and the same type. + First of the two keys to compare. + Second of the two keys to compare. + True if the values of the keys are the same, else false. + + + + Compare two instances for inequality. + + Two instances compare equal + if they contain the same name and the same type. If either field differs + the keys are not equal. + First of the two keys to compare. + Second of the two keys to compare. + false if the values of the keys are the same, else true. + + + + Formats the build key as a string (primarily for debugging). + + A readable string representation of the build key. + + + + Return the stored in this build key. + + The type to build. + + + + Returns the name stored in this build key. + + The name to use when building. + + + + A generic version of so that + you can new up a key using generic syntax. + + Type for the key. + + + + Construct a new that + specifies the given type. + + + + + Construct a new that + specifies the given type and name. + + Name for the key. + + + + A series of helper methods to deal with sequences - + objects that implement . + + + + + A function that turns an arbitrary parameter list into an + . + + Type of arguments. + The items to put into the collection. + An array that contains the values of the . + + + + Given two sequences, return a new sequence containing the corresponding values + from each one. + + Type of first sequence. + Type of second sequence. + First sequence of items. + Second sequence of items. + New sequence of pairs. This sequence ends when the shorter of sequence1 and sequence2 does. + + + + A that lets you register a + delegate with the container to create an object, rather than calling + the object's constructor. + + + + + Base class for all extension objects. + + + + + The container calls this method when the extension is added. + + A instance that gives the + extension access to the internals of the container. + + + + Initial the container with this extension's functionality. + + + When overridden in a derived class, this method will modify the given + by adding strategies, policies, etc. to + install it's functions into the container. + + + + Removes the extension's functions from the container. + + + + This method is called when extensions are being removed from the container. It can be + used to do things like disconnect event handlers or clean up member state. You do not + need to remove strategies or policies here; the container will do that automatically. + + + The default implementation of this method does nothing. + + + + + The container this extension has been added to. + + The that this extension has been added to. + + + + The object used to manipulate + the inner state of the container. + + + + + Initialize this extension. This particular extension requires no + initialization work. + + + + + Register the given factory delegate to be called when the container is + asked to resolve and . + + Type that will be requested from the container. + The name that will be used when requesting to resolve this type. + Delegate to invoke to create the instance. + The container extension object this method was invoked on. + + + + Register the given factory delegate to be called when the container is + asked to resolve . + + Type that will be requested from the container. + Delegate to invoke to create the instance. + The container extension object this method was invoked on. + + + + An implementation of that + acts as a decorator over another . + This checks to see if the current type being built is the + right one before checking the inner . + + + + + Create an instance of + + Type to check for. + Inner override to check after type matches. + + + + Return a that can be used to give a value + for the given desired dependency. + + Current build context. + Type of dependency desired. + a object if this override applies, null if not. + + + + A convenience version of that lets you + specify the type to construct via generics syntax. + + Type to check for. + + + + Create an instance of . + + Inner override to check after type matches. + + + + Extension class that adds a set of convenience overloads to the + interface. + + + + + Register a type with specific members to be injected. + + Type this registration is for. + Container to configure. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type mapping with the container. + + + + This method is used to tell the container that when asked for type , + actually return an instance of type . This is very useful for + getting instances of interfaces. + + + This overload registers a default mapping and transient lifetime. + + + that will be requested. + that will actually be returned. + Container to configure. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type mapping with the container, where the created instances will use + the given . + + that will be requested. + that will actually be returned. + Container to configure. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type mapping with the container. + + + This method is used to tell the container that when asked for type , + actually return an instance of type . This is very useful for + getting instances of interfaces. + + that will be requested. + that will actually be returned. + Container to configure. + Name of this mapping. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type mapping with the container, where the created instances will use + the given . + + that will be requested. + that will actually be returned. + Container to configure. + Name to use for registration, null if a default registration. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a for the given type with the container. + No type mapping is performed for this type. + + The type to apply the to. + Container to configure. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a for the given type with the container. + No type mapping is performed for this type. + + The type to configure injection on. + Container to configure. + Name that will be used to request the type. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a for the given type and name with the container. + No type mapping is performed for this type. + + The type to apply the to. + Container to configure. + Name that will be used to request the type. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type with specific members to be injected. + + Container to configure. + Type this registration is for. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type mapping with the container. + + + + This method is used to tell the container that when asked for type , + actually return an instance of type . This is very useful for + getting instances of interfaces. + + + This overload registers a default mapping. + + + Container to configure. + that will be requested. + that will actually be returned. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type mapping with the container. + + + This method is used to tell the container that when asked for type , + actually return an instance of type . This is very useful for + getting instances of interfaces. + + Container to configure. + that will be requested. + that will actually be returned. + Name to use for registration, null if a default registration. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type mapping with the container, where the created instances will use + the given . + + Container to configure. + that will be requested. + that will actually be returned. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a for the given type and name with the container. + No type mapping is performed for this type. + + Container to configure. + The to apply the to. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a for the given type and name with the container. + No type mapping is performed for this type. + + Container to configure. + The to configure in the container. + Name to use for registration, null if a default registration. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a for the given type and name with the container. + No type mapping is performed for this type. + + Container to configure. + The to apply the to. + Name to use for registration, null if a default registration. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + This overload does a default registration and has the container take over the lifetime of the instance. + + Type of instance to register (may be an implemented interface instead of the full type). + Container to configure. + Object to returned. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + This overload does a default registration (name = null). + + + Type of instance to register (may be an implemented interface instead of the full type). + Container to configure. + Object to returned. + + object that controls how this instance will be managed by the container. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + This overload automatically has the container take ownership of the . + + Type of instance to register (may be an implemented interface instead of the full type). + Object to returned. + Container to configure. + Name for registration. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + Type of instance to register (may be an implemented interface instead of the full type). + Object to returned. + Container to configure. + Name for registration. + + object that controls how this instance will be managed by the container. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + This overload does a default registration and has the container take over the lifetime of the instance. + + Container to configure. + Type of instance to register (may be an implemented interface instead of the full type). + Object to returned. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + This overload does a default registration (name = null). + + + Container to configure. + Type of instance to register (may be an implemented interface instead of the full type). + Object to returned. + + object that controls how this instance will be managed by the container. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + This overload automatically has the container take ownership of the . + + Container to configure. + Type of instance to register (may be an implemented interface instead of the full type). + Object to returned. + Name for registration. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Resolve an instance of the default requested type from the container. + + of object to get from the container. + Container to resolve from. + Any overrides for the resolve call. + The retrieved object. + + + + Resolve an instance of the requested type with the given name from the container. + + of object to get from the container. + Container to resolve from. + Name of the object to retrieve. + Any overrides for the resolve call. + The retrieved object. + + + + Resolve an instance of the default requested type from the container. + + Container to resolve from. + of object to get from the container. + Any overrides for the resolve call. + The retrieved object. + + + + Return instances of all registered types requested. + + + + This method is useful if you've registered multiple types with the same + but different names. + + + Be aware that this method does NOT return an instance for the default (unnamed) registration. + + + The type requested. + Container to resolve from. + Any overrides for the resolve calls. + Set of objects of type . + + + + Run an existing object through the container and perform injection on it. + + + + This method is useful when you don't control the construction of an + instance (ASP.NET pages or objects created via XAML, for instance) + but you still want properties and other injection performed. + + + This overload uses the default registrations. + + + of object to perform injection on. + Container to resolve through. + Instance to build up. + Any overrides for the buildup. + The resulting object. By default, this will be , but + container extensions may add things like automatic proxy creation which would + cause this to return a different object (but still type compatible with ). + + + + Run an existing object through the container and perform injection on it. + + + + This method is useful when you don't control the construction of an + instance (ASP.NET pages or objects created via XAML, for instance) + but you still want properties and other injection performed. + + of object to perform injection on. + Container to resolve through. + Instance to build up. + name to use when looking up the typemappings and other configurations. + Any overrides for the Buildup. + The resulting object. By default, this will be , but + container extensions may add things like automatic proxy creation which would + cause this to return a different object (but still type compatible with ). + + + + Run an existing object through the container and perform injection on it. + + + + This method is useful when you don't control the construction of an + instance (ASP.NET pages or objects created via XAML, for instance) + but you still want properties and other injection performed. + + + This overload uses the default registrations. + + + Container to resolve through. + of object to perform injection on. + Instance to build up. + Any overrides for the Buildup. + The resulting object. By default, this will be , but + container extensions may add things like automatic proxy creation which would + cause this to return a different object (but still type compatible with ). + + + + Creates a new extension object and adds it to the container. + + Type of to add. The extension type + will be resolved from within the supplied . + Container to add the extension to. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Resolve access to a configuration interface exposed by an extension. + + Extensions can expose configuration interfaces as well as adding + strategies and policies to the container. This method walks the list of + added extensions and returns the first one that implements the requested type. + + The configuration interface required. + Container to configure. + The requested extension's configuration interface, or null if not found. + + + + Check if a particular type has been registered with the container with + the default name. + + Container to inspect. + Type to check registration for. + True if this type has been registered, false if not. + + + + Check if a particular type/name pair has been registered with the container. + + Container to inspect. + Type to check registration for. + Name to check registration for. + True if this type/name pair has been registered, false if not. + + + + Check if a particular type has been registered with the container with the default name. + + Type to check registration for. + Container to inspect. + True if this type has been registered, false if not. + + + + Check if a particular type/name pair has been registered with the container. + + Type to check registration for. + Container to inspect. + Name to check registration for. + True if this type/name pair has been registered, false if not. + + + + The class provides the means for extension objects + to manipulate the internal state of the . + + + + + Store a type/name pair for later resolution. + + + + When users register type mappings (or other things) with a named key, this method + allows you to register that name with the container so that when the + method is called, that name is included in the list that is returned. + + to register. + Name associated with that type. + + + + The container that this context is associated with. + + The object. + + + + The strategies this container uses. + + The that the container uses to build objects. + + + + The strategies this container uses to construct build plans. + + The that this container uses when creating + build plans. + + + + The policies this container uses. + + The the that container uses to build objects. + + + + The that this container uses. + + The is used to manage objects that the container is managing. + + + + This event is raised when the method, + or one of its overloads, is called. + + + + + This event is raised when the method, + or one of its overloads, is called. + + + + + This event is raised when the method is called, providing + the newly created child container to extensions to act on as they see fit. + + + + + An EventArgs class that holds a string Name. + + + + + Create a new with a null name. + + + + + Create a new with the given name. + + Name to store. + + + + The name. + + Name used for this EventArg object. + + + + Event argument class for the event. + + + + + Create a new instance of . + + Type to map from. + Type to map to. + Name for the registration. + to manage instances. + + + + Type to map from. + + + + + Type to map to. + + + + + to manage instances. + + + + + Event argument class for the event. + + + + + Create a default instance. + + + + + Create a instance initialized with the given arguments. + + Type of instance being registered. + The instance object itself. + Name to register under, null if default registration. + object that handles how + the instance will be owned. + + + + Type of instance being registered. + + + Type of instance being registered. + + + + + Instance object being registered. + + Instance object being registered + + + + that controls ownership of + this instance. + + + + + A that lets you specify that + an instance of a generic type parameter should be resolved. + + + + + Create a new instance that specifies + that the given named generic parameter should be resolved. + + The generic parameter name to resolve. + + + + Create a new instance that specifies + that the given named generic parameter should be resolved. + + The generic parameter name to resolve. + name to use when looking up in the container. + + + + Return a instance that will + return this types value for the parameter. + + The actual type to resolve. + The resolution key. + The . + + + + A that lets you specify that + an array containing the registered instances of a generic type parameter + should be resolved. + + + + + Create a new instance that specifies + that the given named generic parameter should be resolved. + + The generic parameter name to resolve. + The values for the elements, that will + be converted to objects. + + + + Test to see if this parameter value has a matching type for the given type. + + Type to check. + True if this parameter value is compatible with type , + false if not. + A type is considered compatible if it is an array type of rank one + and its element type is a generic type parameter with a name matching this generic + parameter name configured for the receiver. + + + + Return a instance that will + return this types value for the parameter. + + Type that contains the member that needs this parameter. Used + to resolve open generic parameters. + The . + + + + Name for the type represented by this . + This may be an actual type name or a generic argument name. + + + + + A Unity container extension that allows you to configure + which constructors, properties, and methods get injected + via an API rather than through attributes. + + + + + Initial the container with this extension's functionality. + + + When overridden in a derived class, this method will modify the given + by adding strategies, policies, etc. to + install it's functions into the container. + + + + API to configure the injection settings for a particular type. + + Type the injection is being configured for. + Objects containing the details on which members to inject and how. + This extension object. + + + + API to configure the injection settings for a particular type/name pair. + + Type the injection is being configured for. + Name of registration + Objects containing the details on which members to inject and how. + This extension object. + + + + API to configure the injection settings for a particular type. + + Type to configure. + Objects containing the details on which members to inject and how. + This extension object. + + + + API to configure the injection settings for a particular type/name pair. + + Type to configure. + Name of registration. + Objects containing the details on which members to inject and how. + This extension object. + + + + API to configure the injection settings for a particular type/name pair. + + Type of interface/base class being registered (may be null). + Type of actual implementation class being registered. + Name of registration. + Objects containing the details on which members to inject and how. + This extension object. + + + + A class that holds the collection of information + for a constructor, so that the container can + be configured to call this constructor. + + + + + Create a new instance of that looks + for a constructor with the given set of parameters. + + The values for the parameters, that will + be converted to objects. + + + + Add policies to the to configure the + container to call this constructor with the appropriate parameter values. + + Interface registered, ignored in this implementation. + Type to register. + Name used to resolve the type object. + Policy list to add policies to. + + + + An that configures the + container to call a method as part of buildup. + + + + + Create a new instance which will configure + the container to call the given methods with the given parameters. + + Name of the method to call. + Parameter values for the method. + + + + Add policies to the to configure the + container to call this constructor with the appropriate parameter values. + + Type of interface registered, ignored in this implementation. + Type to register. + Name used to resolve the type object. + Policy list to add policies to. + + + + A small function to handle name matching. You can override this + to do things like case insensitive comparisons. + + MethodInfo for the method you're checking. + Name of the method you're looking for. + True if a match, false if not. + + + + A class that holds on to the given value and provides + the required + when the container is configured. + + + + + Create an instance of that stores + the given value, using the runtime type of that value as the + type of the parameter. + + Value to be injected for this parameter. + + + + Create an instance of that stores + the given value, associated with the given type. + + Type of the parameter. + Value of the parameter + + + + Return a instance that will + return this types value for the parameter. + + Type that contains the member that needs this parameter. Used + to resolve open generic parameters. + The . + + + + A generic version of that makes it a + little easier to specify the type of the parameter. + + Type of parameter. + + + + Create a new . + + Value for the parameter. + + + + This class stores information about which properties to inject, + and will configure the container accordingly. + + + + + Configure the container to inject the given property name, + resolving the value via the container. + + Name of the property to inject. + + + + Configure the container to inject the given property name, + using the value supplied. This value is converted to an + object using the + rules defined by the + method. + + Name of property to inject. + Value for property. + + + + Add policies to the to configure the + container to call this constructor with the appropriate parameter values. + + Interface being registered, ignored in this implementation. + Type to register. + Name used to resolve the type object. + Policy list to add policies to. + + + + A class that stores a type, and generates a + resolver object that resolves all the named instances or the + type registered in a container. + + + + + Construct a new that + resolves to the given element type and collection of element values. + + The type of elements to resolve. + The values for the elements, that will + be converted to objects. + + + + Construct a new that + resolves to the given array and element types and collection of element values. + + The type for the array of elements to resolve. + The type of elements to resolve. + The values for the elements, that will + be converted to objects. + + + + Return a instance that will + return this types value for the parameter. + + Type that contains the member that needs this parameter. Used + to resolve open generic parameters. + The . + + + + A generic version of for convenience + when creating them by hand. + + Type of the elements for the array of the parameter. + + + + Construct a new that + resolves to the given element generic type with the given element values. + + The values for the elements, that will + be converted to objects. + + + + Interface defining the behavior of the Unity dependency injection container. + + + + + Register a type mapping with the container, where the created instances will use + the given . + + that will be requested. + that will actually be returned. + Name to use for registration, null if a default registration. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + Type of instance to register (may be an implemented interface instead of the full type). + Object to returned. + Name for registration. + + object that controls how this instance will be managed by the container. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Resolve an instance of the requested type with the given name from the container. + + of object to get from the container. + Name of the object to retrieve. + Any overrides for the resolve call. + The retrieved object. + + + + Return instances of all registered types requested. + + + + This method is useful if you've registered multiple types with the same + but different names. + + + Be aware that this method does NOT return an instance for the default (unnamed) registration. + + + The type requested. + Any overrides for the resolve calls. + Set of objects of type . + + + + Run an existing object through the container and perform injection on it. + + + + This method is useful when you don't control the construction of an + instance (ASP.NET pages or objects created via XAML, for instance) + but you still want properties and other injection performed. + + of object to perform injection on. + Instance to build up. + name to use when looking up the TypeMappings and other configurations. + Any overrides for the resolve calls. + The resulting object. By default, this will be , but + container extensions may add things like automatic proxy creation which would + cause this to return a different object (but still type compatible with ). + + + + Run an existing object through the container, and clean it up. + + The object to tear down. + + + + Add an extension object to the container. + + to add. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Resolve access to a configuration interface exposed by an extension. + + Extensions can expose configuration interfaces as well as adding + strategies and policies to the container. This method walks the list of + added extensions and returns the first one that implements the requested type. + + of configuration interface required. + The requested extension's configuration interface, or null if not found. + + + + Remove all installed extensions from this container. + + + + This method removes all extensions from the container, including the default ones + that implement the out-of-the-box behavior. After this method, if you want to use + the container again you will need to either read the default extensions or replace + them with your own. + + + The registered instances and singletons that have already been set up in this container + do not get removed. + + + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Create a child container. + + + A child container shares the parent's configuration, but can be configured with different + settings or lifetime. + The new child container. + + + + The parent of this container. + + The parent container, or null if this container doesn't have one. + + + + Get a sequence of that describe the current state + of the container. + + + + + A that holds a weak reference to + it's managed instance. + + + + + Retrieve a value from the backing store associated with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + + + + Stores the given value into backing store for retrieval later. + + The object being stored. + + + + Remove the given object from backing store. + + + + + An implementation of that + creates instances of the type of the given Lifetime Manager + by resolving them through the container. + + + + + Create a new that will + return instances of the given type, creating them by + resolving through the container. + + Container to resolve with. + Type of LifetimeManager to create. + + + + Create a new instance of . + + The new instance. + + + + The type of Lifetime manager that will be created by this factory. + + + + + A that holds the instances given to it, + keeping one instance per thread. + + + + This LifetimeManager does not dispose the instances it holds. + + + + + + Initializes a new instance of the class. + + + + + Retrieve a value from the backing store associated with this Lifetime policy for the + current thread. + + the object desired, or if no such object is currently + stored for the current thread. + + + + Stores the given value into backing store for retrieval later when requested + in the current thread. + + The object being stored. + + + + Remove the given object from backing store. + + Not implemented for this lifetime manager. + + + + An implementation that does nothing, + thus ensuring that instances are created new every time. + + + + + Retrieve a value from the backing store associated with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + + + + Stores the given value into backing store for retrieval later. + + The object being stored. + + + + Remove the given object from backing store. + + + + + This strategy implements the logic that will call container.ResolveAll + when an array parameter is detected. + + + + + Do the PreBuildUp stage of construction. This is where the actual work is performed. + + Current build context. + + + + An implementation of that is + aware of the build keys used by the Unity container. + + + + + Create a instance for the given + . + + + This implementation looks for the Unity on the + parameter and uses it to create an instance of + for this parameter. + Parameter to create the resolver for. + The resolver object. + + + + An implementation of that is aware + of the build keys used by the Unity container. + + + + + Create a instance for the given + . + + Parameter to create the resolver for. + The resolver object. + + + + An implementation of that is aware of + the build keys used by the unity container. + + + + + Create a for the given + property. + + Property to create resolver for. + The resolver object. + + + + A implementation that returns + the value set in the constructor. + + + + + Create a new instance of + which will return the given value when resolved. + + The value to return. + + + + Get the value for a dependency. + + Current build context. + The value for the dependency. + + + + An implementation of that stores a + type and name, and at resolution time puts them together into a + . + + + + + Create an instance of + with the given type and name. + + The type. + The name (may be null). + + + + Resolve the value for a dependency. + + Current build context. + The value for the dependency. + + + + The type that this resolver resolves. + + + + + The name that this resolver resolves. + + + + + An implementation of that resolves to + to an array populated with the values that result from resolving other instances + of . + + + + + Create an instance of + with the given type and a collection of + instances to use when populating the result. + + The type. + The resolver policies to use when populating an array. + + + + Resolve the value for a dependency. + + Current build context. + An array populated with the results of resolving the resolver policies. + + + + An implementation of that selects + the given constructor and creates the appropriate resolvers to call it with + the specified parameters. + + + + + Create an instance of that + will return the given constructor, being passed the given injection values + as parameters. + + The constructor to call. + Set of objects + that describes how to obtain the values for the constructor parameters. + + + + Choose the constructor to call for the given type. + + Current build context + The to add any + generated resolver objects into. + The chosen constructor. + + + + Helper class for implementing selector policies that need to + set up dependency resolver policies. + + + + + Add dependency resolvers to the parameter set. + + Type that's currently being built (used to resolve open generics). + PolicyList to add the resolvers to. + Objects supplying the dependency resolvers. + Result object to store the keys in. + + + + A implementation that calls the specific + methods with the given parameters. + + + + + Add the given method and parameter collection to the list of methods + that will be returned when the selector's + method is called. + + Method to call. + sequence of objects + that describe how to create the method parameter values. + + + + Return the sequence of methods to call while building the target object. + + Current build context. + The to add any + generated resolver objects into. + Sequence of methods to call. + + + + An implementation of which returns + the set of specific properties that the selector was configured with. + + + + + Add a property that will be par of the set returned when the + is called. + + The property to set. + object describing + how to create the value to inject. + + + + Returns sequence of properties on the given type that + should be set as part of building that object. + + Current build context. + The to add any + generated resolver objects into. + Sequence of objects + that contain the properties to set. + + + + The exception thrown by the Unity container when + an attempt to resolve a dependency fails. + + + + + Create a new that records + the exception for the given type and name. + + Type requested from the container. + Name requested from the container. + The actual exception that caused the failure of the build. + The build context representing the failed operation. + + + + The type that was being requested from the container at the time of failure. + + + + + The name that was being requested from the container at the time of failure. + + + + + A class that stores a name and type, and generates a + resolver object that resolves the parameter via the + container. + + + + + Construct a new that + resolves to the given type. + + Type of this parameter. + + + + Construct a new that + resolves the given type and name. + + Type of this parameter. + Name to use when resolving parameter. + + + + Return a instance that will + return this types value for the parameter. + + Type that contains the member that needs this parameter. Used + to resolve open generic parameters. + The . + + + + A generic version of for convenience + when creating them by hand. + + Type of the parameter + + + + Create a new for the given + generic type and the default name. + + + + + Create a new for the given + generic type and name. + + Name to use to resolve this parameter. + + + + An implementation of that wraps a Unity container. + + + + + Initializes a new instance of the class for a container. + + The to wrap with the + interface implementation. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + When implemented by inheriting classes, this method will do the actual work of resolving + the requested service instance. + + Type of instance requested.Name of registered service you want. May be null. + + The requested service instance. + + + + + When implemented by inheriting classes, this method will do the actual work of + resolving all the requested service instances. + + Type of service requested. + + Sequence of service instance objects. + + + + + A static helper class that includes various parameter checking routines. + + + + + Throws if the given argument is null. + + if tested value if null. + Argument value to test. + Name of the argument being tested. + + + + Throws an exception if the tested string argument is null or the empty string. + + Thrown if string value is null. + Thrown if the string is empty + Argument value to check. + Name of argument being checked. + + + + Verifies that an argument type is assignable from the provided type (meaning + interfaces are implemented, or classes exist in the base class hierarchy). + + The argument type that will be assigned to. + The type of the value being assigned. + Argument name. + + + + Verifies that an argument instance is assignable from the provided type (meaning + interfaces are implemented, or classes exist in the base class hierarchy, or instance can be + assigned through a runtime wrapper, as is the case for COM Objects). + + The argument type that will be assigned to. + The instance that will be assigned. + Argument name. + + + + A helper class to manage the names that get registered in the container + + + + + The build stages we use in the Unity container + strategy pipeline. + + + + + First stage. By default, nothing happens here. + + + + + Second stage. Type mapping occurs here. + + + + + Third stage. lifetime managers are checked here, + and if they're available the rest of the pipeline is skipped. + + + + + Fourth stage. Reflection over constructors, properties, etc. is + performed here. + + + + + Fifth stage. Instance creation happens here. + + + + + Sixth stage. Property sets and method injection happens here. + + + + + Seventh and final stage. By default, nothing happens here. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to The type {0} has multiple constructors of length {1}. Unable to disambiguate.. + + + + + Looks up a localized string similar to The provided string argument must not be empty.. + + + + + Looks up a localized string similar to The current build operation (build key {2}) failed: {3} (Strategy type {0}, index {1}). + + + + + Looks up a localized string similar to The current type, {0}, is an abstract class and cannot be constructed. Are you missing a type mapping?. + + + + + Looks up a localized string similar to The current type, {0}, is delegate and cannot be constructed. Unity only supports resolving Func<T> and Func<IEnumerable<T>> by default.. + + + + + Looks up a localized string similar to The current type, {0}, is an interface and cannot be constructed. Are you missing a type mapping?. + + + + + Looks up a localized string similar to Cannot extract type from build key {0}.. + + + + + Looks up a localized string similar to The method {0}.{1}({2}) is an open generic method. Open generic methods cannot be injected.. + + + + + Looks up a localized string similar to The property {0} on type {1} is an indexer. Indexed properties cannot be injected.. + + + + + Looks up a localized string similar to The method {1} on type {0} has an out parameter. Injection cannot be performed.. + + + + + Looks up a localized string similar to The method {0}.{1}({2}) has at least one out parameter. Methods with out parameters cannot be injected.. + + + + + Looks up a localized string similar to The method {0}.{1}({2}) has at least one ref parameter.Methods with ref parameters cannot be injected.. + + + + + Looks up a localized string similar to The method {1} on type {0} is marked for injection, but it is an open generic method. Injection cannot be performed.. + + + + + Looks up a localized string similar to The method {0}.{1}({2}) is static. Static methods cannot be injected.. + + + + + Looks up a localized string similar to The type {0} is an open generic type. An open generic type cannot be resolved.. + + + + + Looks up a localized string similar to Resolving parameter "{0}" of constructor {1}. + + + + + Looks up a localized string similar to The parameter {0} could not be resolved when attempting to call constructor {1}.. + + + + + Looks up a localized string similar to Parameter type inference does not work for null values. Indicate the parameter type explicitly using a properly configured instance of the InjectionParameter or InjectionParameter<T> classes.. + + + + + Looks up a localized string similar to Calling constructor {0}. + + + + + Looks up a localized string similar to Calling method {0}.{1}. + + + + + Looks up a localized string similar to An item with the given key is already present in the dictionary.. + + + + + Looks up a localized string similar to The lifetime manager is already registered. Lifetime managers cannot be reused, please create a new one.. + + + + + Looks up a localized string similar to The override marker build plan policy has been invoked. This should never happen, looks like a bug in the container.. + + + + + Looks up a localized string similar to Resolving parameter "{0}" of method {1}.{2}. + + + + + Looks up a localized string similar to The value for parameter "{1}" of method {0} could not be resolved. . + + + + + Looks up a localized string similar to Could not resolve dependency for build key {0}.. + + + + + Looks up a localized string similar to The type {0} has multiple constructors marked with the InjectionConstructor attribute. Unable to disambiguate.. + + + + + Looks up a localized string similar to The supplied type {0} must be an open generic type.. + + + + + Looks up a localized string similar to The supplied type {0} does not have the same number of generic arguments as the target type {1}.. + + + + + Looks up a localized string similar to The type {0} does not have an accessible constructor.. + + + + + Looks up a localized string similar to The type {0} does not have a generic argument named "{1}". + + + + + Looks up a localized string similar to while resolving. + + + + + Looks up a localized string similar to The type {0} does not have a constructor that takes the parameters ({1}).. + + + + + Looks up a localized string similar to The type {0} does not have a public method named {1} that takes the parameters ({2}).. + + + + + Looks up a localized string similar to The type {0} does not contain an instance property named {1}.. + + + + + Looks up a localized string similar to The type {0} is not a generic type, and you are attempting to inject a generic parameter named "{1}".. + + + + + Looks up a localized string similar to The type {0} is not an array type with rank 1, and you are attempting to use a [DependencyArray] attribute on a parameter or property with this type.. + + + + + Looks up a localized string similar to Optional dependencies must be reference types. The type {0} is a value type.. + + + + + Looks up a localized string similar to The property {0} on type {1} is not settable.. + + + + + Looks up a localized string similar to The property {0} on type {1} is of type {2}, and cannot be injected with a value of type {3}.. + + + + + Looks up a localized string similar to The value for the property "{0}" could not be resolved.. + + + + + Looks up a localized string similar to The provided string argument must not be empty.. + + + + + Looks up a localized string similar to Resolution of the dependency failed, type = "{0}", name = "{1}". + Exception occurred while: {2}. + Exception is: {3} - {4} + ----------------------------------------------- + At the time of the exception, the container was: + . + + + + + Looks up a localized string similar to Resolving {0},{1}. + + + + + Looks up a localized string similar to Resolving {0},{1} (mapped from {2}, {3}). + + + + + Looks up a localized string similar to Resolving value for property {0}.{1}. + + + + + Looks up a localized string similar to The constructor {1} selected for type {0} has ref or out parameters. Such parameters are not supported for constructor injection.. + + + + + Looks up a localized string similar to Setting value for property {0}.{1}. + + + + + Looks up a localized string similar to The type {0} cannot be constructed. You must configure the container to supply this value.. + + + + + Looks up a localized string similar to The type {1} cannot be assigned to variables of type {0}.. + + + + + Looks up a localized string similar to <unknown>. + + + + + A simple, extensible dependency injection container. + + + + + Create a default . + + + + + Create a with the given parent container. + + The parent . The current object + will apply its own settings first, and then check the parent for additional ones. + + + + RegisterType a type mapping with the container, where the created instances will use + the given . + + that will be requested. + that will actually be returned. + Name to use for registration, null if a default registration. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + RegisterType an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + Type of instance to register (may be an implemented interface instead of the full type). + Object to returned. + Name for registration. + + If true, the container will take over the lifetime of the instance, + calling Dispose on it (if it's ) when the container is Disposed. + + If false, container will not maintain a strong reference to . User is responsible + for disposing instance, and for keeping the instance from being garbage collected. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Get an instance of the requested type with the given name from the container. + + of object to get from the container. + Name of the object to retrieve. + Any overrides for the resolve call. + The retrieved object. + + + + Return instances of all registered types requested. + + + + This method is useful if you've registered multiple types with the same + but different names. + + + Be aware that this method does NOT return an instance for the default (unnamed) registration. + + + The type requested. + Any overrides for the resolve calls. + Set of objects of type . + + + + Run an existing object through the container and perform injection on it. + + + + This method is useful when you don't control the construction of an + instance (ASP.NET pages or objects created via XAML, for instance) + but you still want properties and other injection performed. + + of object to perform injection on. + Instance to build up. + name to use when looking up the typemappings and other configurations. + Any overrides for the buildup. + The resulting object. By default, this will be , but + container extensions may add things like automatic proxy creation which would + cause this to return a different object (but still type compatible with ). + + + + Run an existing object through the container, and clean it up. + + The object to tear down. + + + + Add an extension object to the container. + + to add. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Get access to a configuration interface exposed by an extension. + + Extensions can expose configuration interfaces as well as adding + strategies and policies to the container. This method walks the list of + added extensions and returns the first one that implements the requested type. + + of configuration interface required. + The requested extension's configuration interface, or null if not found. + + + + Remove all installed extensions from this container. + + + + This method removes all extensions from the container, including the default ones + that implement the out-of-the-box behavior. After this method, if you want to use + the container again you will need to either read the default extensions or replace + them with your own. + + + The registered instances and singletons that have already been set up in this container + do not get removed. + + + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Create a child container. + + + A child container shares the parent's configuration, but can be configured with different + settings or lifetime. + The new child container. + + + + Dispose this container instance. + + + Disposing the container also disposes any child containers, + and disposes any instances whose lifetimes are managed + by the container. + + + + + Dispose this container instance. + + + This class doesn't have a finalizer, so will always be true. + True if being called from the IDisposable.Dispose + method, false if being called from a finalizer. + + + + Remove policies associated with building this type. This removes the + compiled build plan so that it can be rebuilt with the new settings + the next time this type is resolved. + + Type of object to clear the plan for. + Name the object is being registered with. + + + + The parent of this container. + + The parent container, or null if this container doesn't have one. + + + + Get a sequence of that describe the current state + of the container. + + + + + Implementation of the ExtensionContext that is actually used + by the UnityContainer implementation. + + + This is a nested class so that it can access state in the + container that would otherwise be inaccessible. + + + + + This event is raised when the method, + or one of its overloads, is called. + + + + + This extension supplies the default behavior of the UnityContainer API + by handling the context events and setting policies. + + + + + Install the default container behavior into the container. + + + + + Remove the default behavior from the container. + + + + + This extension installs the default strategies and policies into the container + to implement the standard behavior of the Unity container. + + + + + Add the default ObjectBuilder strategies & policies to the container. + + + + + Helper class to wrap common reflection stuff dealing with + methods. + + + + + Create a new instance that + lets us do more reflection stuff on that method. + + The method to reflect on. + + + + Given our set of generic type arguments, + + The generic type arguments. + An array with closed parameter types. + + + + Returns true if any of the parameters of this method + are open generics. + + + + + Return the of each parameter for this + method. + + Sequence of objects, one for + each parameter in order. + + + + A helper class that encapsulates two different + data items together into a a single item. + + + + + Create a new containing + the two values give. + + First value + Second value + + + + The first value of the pair. + + + + + The second value of the pair. + + + + + Container for a Pair helper method. + + + + + A helper factory method that lets users take advantage of type inference. + + Type of first value. + Type of second value. + First value. + Second value. + A new instance. + + + + A utility class that handles the logic of matching parameter + lists, so we can find the right constructor and method overloads. + + + + + Create a new that will attempt to + match the given parameter types. + + Target parameters to match against. + + + + Tests to see if the given set of types matches the ones + we're looking for. + + parameter list to look for. + true if they match, false if they don't. + + + + Tests to see if the given set of types matches the ones we're looking for. + + Candidate method signature to look for. + True if they match, false if they don't. + + + + Another reflection helper class that has extra methods + for dealing with ParameterInfo. + + + + + A small helper class to encapsulate details of the + reflection API, particularly around generics. + + + + + Create a new instance that + lets you look at information about the given type. + + Type to do reflection on. + + + + Test the given object, looking at + the parameters. Determine if any of the parameters are + open generic types that need type attributes filled in. + + The method to check. + True if any of the parameters are open generics. False if not. + + + + If this type is an open generic, use the + given array to + determine what the required closed type is and return that. + + If the parameter is not an open type, just + return this parameter's type. + Type arguments to substitute in for + the open type parameters. + Corresponding closed type of this parameter. + + + + Given a generic argument name, return the corresponding type for this + closed type. For example, if the current type is SomeType<User>, and the + corresponding definition was SomeType<TSomething>, calling this method + and passing "TSomething" will return typeof(User). + + Name of the generic parameter. + Type of the corresponding generic parameter, or null if there + is no matching name. + + + + The object we're reflecting over. + + + + + Is this type generic? + + + + + Is this type an open generic (no type parameter specified) + + + + + Is this type an array type? + + + + + Is this type an array of generic elements? + + + + + The type of the elements in this type (if it's an array). + + + + + Returns all the public constructors defined for the current reflected . + + + An enumeration of ConstructorInfo objects representing all the public instance constructors defined for the + current reflected , but not including the type initializer (static constructor). + + + + + Create a new instance of that + lets you query information about the given ParameterInfo object. + + Parameter to query. + + + + A set of helper methods to pick through lambdas and pull out + from them. + + + + + Pull out a object from an expression of the form + () => SomeClass.SomeMethod() + + Expression describing the method to call. + Corresponding . + + + + Pull out a object from an expression of the form + x => x.SomeMethod() + + The type where the method is defined. + Expression describing the method to call. + Corresponding . + + + + Pull out a object for the get method from an expression of the form + x => x.SomeProperty + + The type where the method is defined. + The type for the property. + Expression describing the property for which the get method is to be extracted. + Corresponding . + + + + Pull out a object for the set method from an expression of the form + x => x.SomeProperty + + The type where the method is defined. + The type for the property. + Expression describing the property for which the set method is to be extracted. + Corresponding . + + + + + + + + + + + + + Pull out a object from an expression of the form () => new SomeType() + + The type where the constructor is defined. + Expression invoking the desired constructor. + Corresponding . + + + diff --git a/src/packages/Unity.4.0.1/lib/win8/Microsoft.Practices.Unity.RegistrationByConvention.XML b/src/packages/Unity.4.0.1/lib/win8/Microsoft.Practices.Unity.RegistrationByConvention.XML new file mode 100644 index 0000000..b706e6f --- /dev/null +++ b/src/packages/Unity.4.0.1/lib/win8/Microsoft.Practices.Unity.RegistrationByConvention.XML @@ -0,0 +1,306 @@ + + + + Microsoft.Practices.Unity.RegistrationByConvention + + + + + Provides helper methods to retrieve classes from assemblies. + + + + + Returns all visible, non-abstract classes from . + + The assemblies. + All visible, non-abstract classes found in the assemblies. + is . + contains elements. + All exceptions thrown while getting types from the assemblies are ignored, and the types that can be retrieved are returned. + + + + Returns all visible, non-abstract classes from , and optionally skips errors. + + to skip errors; otherwise, . + The assemblies. + + All visible, non-abstract classes. + + is . + contains elements. + + If is , all exceptions thrown while getting types from the assemblies are ignored, and the types + that can be retrieved are returned; otherwise, the original exception is thrown. + + + + + Returns all visible, non-abstract classes from . + + to skip errors; otherwise, . + The assemblies. + + All visible, non-abstract classes. + + is . + contains elements. + + If is , all exceptions thrown while getting types from the assemblies are ignored, and the types + that can be retrieved are returned; otherwise, the original exception is thrown. + + + + + Returns all visible, non-abstract classes from all assemblies located where the application is installed. + + to include the Unity assemblies; otherwise, . Defaults to . + to skip errors; otherwise, . + + All visible, non-abstract classes. + + + If is , all exceptions thrown while loading assemblies or getting types from the assemblies + are ignored, and the types that can be retrieved are returned; otherwise, the original exception is thrown. These exceptions might be wrapped in a + . + + + + + The exception that is thrown when registering multiple types would result in an type mapping being overwritten. + + + + + Initializes a new instance of the class. + + The name for the mapping. + The source type for the mapping. + The type currently mapped. + The new type to map. + + + + Gets the name for the mapping. + + + + + Gets the source type for the mapping. + + + + + Gets the type currently mapped. + + + + + Gets the new type to map. + + + + + Represents a set of types to register and their registration settings. + + + + + Gets types to register. + + + + + Gets a function to get the types that will be requested for each type to configure. + + + + + Gets a function to get the name to use for the registration of each type. + + + + + Gets a function to get the for the registration of each type. Defaults to no lifetime management. + + + + + + Gets a function to get the additional objects for the registration of each type. Defaults to no injection members. + + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + An attempt to override an existing mapping was detected for type {1} wit... + + + + + The set of assemblies contains a null element. + + + + + Provides a set of convenience overloads to the + interface to support registration of multiple types. + + + + + Registers the supplied types by using the specified rules for name, lifetime manager, injection members, and registration types. + + The container to configure. + The types to register. The methods in the class can be used to scan assemblies to get types, and further filtering can be performed using LINQ queries. + A function that gets the types that will be requested for each type to configure. It can be a method from the class or a custom function. Defaults to no registration types, and registers only the supplied types. + A function that gets the name to use for the registration of each type. It can be a method from the or a custom function. Defaults to no name. + A function that gets the for the registration of each type. It can be a method from the class or a custom function. Defaults to no lifetime management. + A function that gets the additional objects for the registration of each type. Defaults to no injection members. + to overwrite existing mappings; otherwise, . Defaults to . + + The container that this method was called on. + + A new registration would overwrite an existing mapping and is . + + + + Registers the types according to the . + + The container to configure. + The convention to determine which types will be registered and how. + to overwrite existing mappings; otherwise, . Defaults to . + + The container that this method was called on. + + + + + Provides helper methods to specify the lifetime for a type with registration by convention. + + + + + Returns a . + + The type. + A lifetime manager + + + + Returns a . + + The type. + A container controlled lifetime manager. + + + + Returns a . + + The type. + An externally controlled lifetime manager. + + + + Returns a . + + The type. + A hierarchical lifetime manager. + + + + Returns a . + + The type. + A per resolve lifetime manager. + + + + Returns a . + + The type. + A transient lifetime manager. + + + + Returns a . + + The custom type. + The type. + + A lifetime manager. + + + + + Returns a . + + The type. + A per thread lifetime manager. + + + + Provides helper methods to map types to the types interfaces to which register them. + + + + + Returns no types. + + The type to register. + An empty enumeration. + + + + Returns an enumeration with the interface that matches the name of . + + The type to register. + An enumeration with the first interface matching the name of (for example, if type is MyType, a matching interface is IMyType), + or an empty enumeration if no such interface is found. + + + + Returns an enumeration with all the interfaces implemented by . + + The type to register. + An enumeration with all the interfaces implemented by the implementation type except . + + + + Returns an enumeration with all the interfaces implemented by that belong to the same assembly as implementationType. + + The type to register. + An enumeration with all the interfaces implemented by the implementation type that belong to the same assembly. + + + + Provides helper methods to get type names. + + + + + Returns the type name. + + The type. + The type name. + + + + Returns null for the registration name. + + The type. + + + + diff --git a/src/packages/Unity.4.0.1/lib/win8/Microsoft.Practices.Unity.RegistrationByConvention.dll b/src/packages/Unity.4.0.1/lib/win8/Microsoft.Practices.Unity.RegistrationByConvention.dll new file mode 100644 index 0000000000000000000000000000000000000000..d6b24328014ce113d72954afc8fa041ba729e36a GIT binary patch literal 22528 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 D4M*ll literal 0 HcmV?d00001 diff --git a/src/packages/Unity.4.0.1/lib/win8/Microsoft.Practices.Unity.RegistrationByConvention.pri b/src/packages/Unity.4.0.1/lib/win8/Microsoft.Practices.Unity.RegistrationByConvention.pri new file mode 100644 index 0000000000000000000000000000000000000000..7a2c9e2144911daedf6128682e4698476268173f GIT binary patch literal 2184 zcmeHJ&1w@-6#nv~MpxO0D{<&jYSN~zM1)ogZd#-&LbVR#1;-7*1MrTsj>&`z zp2rmEnlSOBWPh-ytr;8>vwSM(nmjb4IbXboQ+_WGdnOL{JdZmLPPlxpmgh5*`*D!^ z{`~x>8qlo&`F`maRPCsthD&aPc2qe9m2!3X$LeS5bl~{Bo^a(S=}m0o7M|j<6U6xR z+jx)mDAw3>i9DM5`BiXl6QWOlHFajyptuo3Hqi{ewM)piPiwJ(Rw@qz* zj&gCe-vs6TqB>WN3zn-cHj2tTPC&Pe{g7Tt%A9{@@h-hNq@``FIu-wa z|6vcPt5#OO+-#shOhZ-e`l4{9k^08P66a#~BqLtgUd#FyZBLik^%8Yr>&!6E_CwWT z%t|as7tAw{Q#~=`h|nb_IY}GVrt74xRz03`9ePR+N#~T*Dd|;THl#du>jCxY23PeS z-Y}Qna!1)-phqm>>6r2!mdITpcL~d+Lfc6)a@40)=kuGLcK7bHx;s3rv%hlI$Z5%C z>_9zxn>vWB*MEv^J=;?v@?=p+u5J%(J!&W5Ov*ka-}E{4dPzC`>IbU%@#$o&?+txk H==$f}pKc92on|VnlX#d||l>6>E_ug~Q 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 Z=G*>LDJI(~^yY(ayX5~b@c#e={x_&(Z`=R? literal 0 HcmV?d00001 diff --git a/src/packages/Unity.4.0.1/lib/win8/Microsoft.Practices.Unity.xml b/src/packages/Unity.4.0.1/lib/win8/Microsoft.Practices.Unity.xml new file mode 100644 index 0000000..f99ca70 --- /dev/null +++ b/src/packages/Unity.4.0.1/lib/win8/Microsoft.Practices.Unity.xml @@ -0,0 +1,5916 @@ + + + + Microsoft.Practices.Unity + + + + + Provides access to the names registered for a container. + + + + + Represents a builder policy interface. Since there are no fixed requirements + for policies, it acts as a marker interface from which to derive all other + policy interfaces. + + + + + Gets the names registered for a type. + + The type. + The names registered for . + + + + An implementation + that constructs a build plan for creating objects. + + + + + A that can create and return an + for the given build key. + + + + + Create a build plan using the given context and build key. + + Current build context. + Current build key. + The build plan. + + + + Creates a build plan using the given context and build key. + + Current build context. + Current build key. + + The build plan. + + + + + Provides extension methods to the class due to the introduction + of class in the .NET for Windows Store apps. + + + + + Returns the constructor in that matches the specified constructor parameter types. + + The type to inspect + The constructor parameter types. + The constructor that matches the specified parameter types. + + + + Returns the non-static declared methods of a type or its base types. + + The type to inspect + An enumerable of the objects. + + + + Returns the non-static method of a type or its based type. + + The type to inspect + The name of the method to seek. + The (closed) parameter type signature of the method. + The discovered + + + + Returns the declared properties of a type or its base types. + + The type to inspect + An enumerable of the objects. + + + + Determines if the types in a parameter set ordinally matches the set of supplied types. + + + + + + + + Base class for attributes that can be placed on parameters + or properties to specify how to resolve the value for + that parameter or property. + + + + + Create an instance of that + will be used to get the value for the member this attribute is + applied to. + + Type of parameter or property that + this attribute is decoration. + The resolver object. + + + + This attribute is used to indicate which constructor to choose when + the container attempts to build a type. + + + + + This attribute is used to mark methods that should be called when + the container is building an object. + + + + + This attribute is used to mark properties and parameters as targets for injection. + + + For properties, this attribute is necessary for injection to happen. For parameters, + it's not needed unless you want to specify additional information to control how + the parameter is resolved. + + + + + Create an instance of with no name. + + + + + Create an instance of with the given name. + + Name to use when resolving this dependency. + + + + Create an instance of that + will be used to get the value for the member this attribute is + applied to. + + Type of parameter or property that + this attribute is decoration. + The resolver object. + + + + The name specified in the constructor. + + + + + An used to mark a dependency + as optional - the container will try to resolve it, and return null + if the resolution fails rather than throw. + + + + + Construct a new object. + + + + + Construct a new object that + specifies a named dependency. + + Name of the dependency. + + + + Create an instance of that + will be used to get the value for the member this attribute is + applied to. + + Type of parameter or property that + this attribute is decoration. + The resolver object. + + + + Name of the dependency. + + + + + A that composites other + ResolverOverride objects. The GetResolver operation then + returns the resolver from the first child override that + matches the current context and request. + + + + + Base class for all override objects passed in the + method. + + + + + Return a that can be used to give a value + for the given desired dependency. + + Current build context. + Type of dependency desired. + a object if this override applies, null if not. + + + + Wrap this resolver in one that verifies the type of the object being built. + This allows you to narrow any override down to a specific type easily. + + Type to constrain the override to. + The new override. + + + + Wrap this resolver in one that verifies the type of the object being built. + This allows you to narrow any override down to a specific type easily. + + Type to constrain the override to. + The new override. + + + + Add a new to the collection + that is checked. + + item to add. + + + + Add a set of s to the collection. + + items to add. + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + 2 + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + 1 + + + + Return a that can be used to give a value + for the given desired dependency. + + Current build context. + Type of dependency desired. + a object if this override applies, null if not. + + + + Class that returns information about the types registered in a container. + + + + + The type that was passed to the method + as the "from" type, or the only type if type mapping wasn't done. + + + + + The type that this registration is mapped to. If no type mapping was done, the + property and this one will have the same value. + + + + + Name the type was registered under. Null for default registration. + + + + + The registered lifetime manager instance. + + + + + The lifetime manager for this registration. + + + This property will be null if this registration is for an open generic. + + + + A class that overrides + the value injected whenever there is a dependency of the + given type, regardless of where it appears in the object graph. + + + + + Create an instance of to override + the given type with the given value. + + Type of the dependency. + Value to use. + + + + Return a that can be used to give a value + for the given desired dependency. + + Current build context. + Type of dependency desired. + a object if this override applies, null if not. + + + + A convenience version of that lets you + specify the dependency type using generic syntax. + + Type of the dependency to override. + + + + Construct a new object that will + override the given dependency, and pass the given value. + + + + + A convenience form of that lets you + specify multiple parameter overrides in one shot rather than having + to construct multiple objects. + + + This class isn't really a collection, it just implements IEnumerable + so that we get use of the nice C# collection initializer syntax. + + + + + Base helper class for creating collections of objects + for use in passing a bunch of them to the resolve call. This base class provides + the mechanics needed to allow you to use the C# collection initializer syntax. + + Concrete type of the this class collects. + Key used to create the underlying override object. + Value that the override returns. + + + + Add a new override to the collection with the given key and value. + + Key - for example, a parameter or property name. + Value - the value to be returned by the override. + + + + Return a that can be used to give a value + for the given desired dependency. + + Current build context. + Type of dependency desired. + a object if this override applies, null if not. + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + 2 + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + 1 + + + + When implemented in derived classes, this method is called from the + method to create the actual objects. + + Key value to create the resolver. + Value to store in the resolver. + The created . + + + + When implemented in derived classes, this method is called from the + method to create the actual objects. + + Key value to create the resolver. + Value to store in the resolver. + The created . + + + + Event argument class for the event. + + + + + Construct a new object with the + given child container object. + + An for the newly created child + container. + + + + The newly created child container. + + + + + An extension context for the created child container. + + + + + Base class for subclasses that let you specify that + an instance of a generic type parameter should be resolved. + + + + + Base type for objects that are used to configure parameters for + constructor or method injection, or for getting the value to + be injected into a property. + + + + + Test to see if this parameter value has a matching type for the given type. + + Type to check. + True if this parameter value is compatible with type , + false if not. + + + + Return a instance that will + return this types value for the parameter. + + Type that contains the member that needs this parameter. Used + to resolve open generic parameters. + The . + + + + Convert the given set of arbitrary values to a sequence of InjectionParameterValue + objects. The rules are: If it's already an InjectionParameterValue, return it. If + it's a Type, return a ResolvedParameter object for that type. Otherwise return + an InjectionParameter object for that value. + + The values to build the sequence from. + The resulting converted sequence. + + + + Convert an arbitrary value to an InjectionParameterValue object. The rules are: + If it's already an InjectionParameterValue, return it. If it's a Type, return a + ResolvedParameter object for that type. Otherwise return an InjectionParameter + object for that value. + + The value to convert. + The resulting . + + + + Name for the type represented by this . + This may be an actual type name or a generic argument name. + + + + + Create a new instance that specifies + that the given named generic parameter should be resolved. + + The generic parameter name to resolve. + + + + Create a new instance that specifies + that the given named generic parameter should be resolved. + + The generic parameter name to resolve. + name to use when looking up in the container. + + + + Test to see if this parameter value has a matching type for the given type. + + Type to check. + True if this parameter value is compatible with type , + false if not. + + + + Return a instance that will + return this types value for the parameter. + + Type that contains the member that needs this parameter. Used + to resolve open generic parameters. + The . + + + + Return a instance that will + return this types value for the parameter. + + The actual type to resolve. + The resolution key. + The . + + + + Name for the type represented by this . + This may be an actual type name or a generic argument name. + + + + + A that lets you specify that + an instance of a generic type parameter should be resolved, providing the + value if resolving fails. + + + + + Create a new instance that specifies + that the given named generic parameter should be resolved. + + The generic parameter name to resolve. + + + + Create a new instance that specifies + that the given named generic parameter should be resolved. + + The generic parameter name to resolve. + name to use when looking up in the container. + + + + Return a instance that will + return this types value for the parameter. + + The actual type to resolve. + The resolution key. + The . + + + + A class that lets you specify a factory method the container + will use to create the object. + + This is a significantly easier way to do the same + thing the old static factory extension was used for. + + + + Base class for objects that can be used to configure what + class members get injected by the container. + + + + + Add policies to the to configure the + container to call this constructor with the appropriate parameter values. + + Type to register. + Policy list to add policies to. + + + + Add policies to the to configure the + container to call this constructor with the appropriate parameter values. + + Type of interface being registered. If no interface, + this will be null. + Type of concrete type being registered. + Name used to resolve the type object. + Policy list to add policies to. + + + + Create a new instance of with + the given factory function. + + Factory function. + + + + Create a new instance of with + the given factory function. + + Factory function. + + + + Add policies to the to configure the + container to call this constructor with the appropriate parameter values. + + Type of interface being registered. If no interface, + this will be null. This parameter is ignored in this implementation. + Type of concrete type being registered. + Name used to resolve the type object. + Policy list to add policies to. + + + + A that can be passed to + to configure a + parameter or property as an optional dependency. + + + + + A base class for implementing classes + that deal in explicit types. + + + + + Create a new that exposes + information about the given . + + Type of the parameter. + + + + Test to see if this parameter value has a matching type for the given type. + + Type to check. + True if this parameter value is compatible with type , + false if not. + + + + The type of parameter this object represents. + + + + + Name for the type represented by this . + This may be an actual type name or a generic argument name. + + + + + Construct a new object that + specifies the given . + + Type of the dependency. + + + + Construct a new object that + specifies the given and . + + Type of the dependency. + Name for the dependency. + + + + Return a instance that will + return this types value for the parameter. + + Type that contains the member that needs this parameter. Used + to resolve open generic parameters. + The . + + + + A generic version of that lets you + specify the type of the dependency using generics syntax. + + Type of the dependency. + + + + Construct a new . + + + + + Construct a new with the given + . + + Name of the dependency. + + + + A special lifetime manager which works like , + except that in the presence of child containers, each child gets it's own instance + of the object, instead of sharing one in the common parent. + + + + + A that holds onto the instance given to it. + When the is disposed, + the instance is disposed with it. + + + + + Base class for Lifetime managers which need to synchronize calls to + . + + + + The purpose of this class is to provide a basic implementation of the lifetime manager synchronization pattern. + + + Calls to the method of a + instance acquire a lock, and if the instance has not been initialized with a value yet the lock will only be released + when such an initialization takes place by calling the method or if + the build request which resulted in the call to the GetValue method fails. + + + + + + + Base class for Lifetime managers - classes that control how + and when instances are created by the Unity container. + + + + + A that controls how instances are + persisted and recovered from an external store. Used to implement + things like singletons and per-http-request lifetime. + + + + + Retrieve a value from the backing store associated with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + + + + Stores the given value into backing store for retrieval later. + + The object to store. + + + + Remove the value this lifetime policy is managing from backing store. + + + + + Retrieve a value from the backing store associated with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + + + + Stores the given value into backing store for retrieval later. + + The object being stored. + + + + Remove the given object from backing store. + + + + + This interface provides a hook for the builder context to + implement error recovery when a builder strategy throws + an exception. Since we can't get try/finally blocks onto + the call stack for later stages in the chain, we instead + add these objects to the context. If there's an exception, + all the current IRequiresRecovery instances will have + their Recover methods called. + + + + + A method that does whatever is needed to clean up + as part of cleaning up after an exception. + + + Don't do anything that could throw in this method, + it will cause later recover operations to get skipped + and play real havoc with the stack trace. + + + + + Retrieve a value from the backing store associated with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + Calls to this method acquire a lock which is released only if a non-null value + has been set for the lifetime manager. + + + + Performs the actual retrieval of a value from the backing store associated + with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + This method is invoked by + after it has acquired its lock. + + + + Stores the given value into backing store for retrieval later. + + The object being stored. + Setting a value will attempt to release the lock acquired by + . + + + + Performs the actual storage of the given value into backing store for retrieval later. + + The object being stored. + This method is invoked by + before releasing its lock. + + + + Remove the given object from backing store. + + + + + A method that does whatever is needed to clean up + as part of cleaning up after an exception. + + + Don't do anything that could throw in this method, + it will cause later recover operations to get skipped + and play real havoc with the stack trace. + + + + + Retrieve a value from the backing store associated with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + + + + Stores the given value into backing store for retrieval later. + + The object being stored. + + + + Remove the given object from backing store. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Standard Dispose pattern implementation. Not needed, but it keeps FxCop happy. + + Always true, since we don't have a finalizer. + + + + This is a custom lifetime manager that acts like , + but also provides a signal to the default build plan, marking the type so that + instances are reused across the build up object graph. + + + + + Construct a new object that does not + itself manage an instance. + + + + + Construct a new object that stores the + give value. This value will be returned by + but is not stored in the lifetime manager, nor is the value disposed. + This Lifetime manager is intended only for internal use, which is why the + normal method is not used here. + + Value to store. + + + + Retrieve a value from the backing store associated with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + + + + Stores the given value into backing store for retrieval later. In this class, + this is a noop, since it has special hooks down in the guts. + + The object being stored. + + + + Remove the given object from backing store. Noop in this class. + + + + + A strategy that handles Hierarchical lifetimes across a set of parent/child + containers. + + + + + Represents a strategy in the chain of responsibility. + Strategies are required to support both BuildUp and TearDown. + + + + + Represents a strategy in the chain of responsibility. + Strategies are required to support both BuildUp and TearDown. Although you + can implement this interface directly, you may also choose to use + as the base class for your strategies, as + this class provides useful helper methods and makes support BuildUp and TearDown + optional. + + + + + Called during the chain of responsibility for a build operation. The + PreBuildUp method is called when the chain is being executed in the + forward direction. + + Context of the build operation. + + + + Called during the chain of responsibility for a build operation. The + PostBuildUp method is called when the chain has finished the PreBuildUp + phase and executes in reverse order from the PreBuildUp calls. + + Context of the build operation. + + + + Called during the chain of responsibility for a teardown operation. The + PreTearDown method is called when the chain is being executed in the + forward direction. + + Context of the teardown operation. + + + + Called during the chain of responsibility for a teardown operation. The + PostTearDown method is called when the chain has finished the PreTearDown + phase and executes in reverse order from the PreTearDown calls. + + Context of the teardown operation. + + + + Called during the chain of responsibility for a build operation. The + PreBuildUp method is called when the chain is being executed in the + forward direction. + + Context of the build operation. + + + + Called during the chain of responsibility for a build operation. The + PostBuildUp method is called when the chain has finished the PreBuildUp + phase and executes in reverse order from the PreBuildUp calls. + + Context of the build operation. + + + + Called during the chain of responsibility for a teardown operation. The + PreTearDown method is called when the chain is being executed in the + forward direction. + + Context of the teardown operation. + + + + Called during the chain of responsibility for a teardown operation. The + PostTearDown method is called when the chain has finished the PreTearDown + phase and executes in reverse order from the PreTearDown calls. + + Context of the teardown operation. + + + + Called during the chain of responsibility for a build operation. The + PreBuildUp method is called when the chain is being executed in the + forward direction. + + Context of the build operation. + + + + A that will attempt to + resolve a value, and return null if it cannot rather than throwing. + + + + + A strategy that is used at build plan execution time + to resolve a dependent value. + + + + + Get the value for a dependency. + + Current build context. + The value for the dependency. + + + + Construct a new object + that will attempt to resolve the given name and type from the container. + + Type to resolve. Must be a reference type. + Name to resolve with. + + + + Construct a new object + that will attempt to resolve the given type from the container. + + Type to resolve. Must be a reference type. + + + + Get the value for a dependency. + + Current build context. + The value for the dependency. + + + + Type this resolver will resolve. + + + + + Name this resolver will resolve. + + + + + Extension methods on to provide convenience + overloads (generic versions, mostly). + + + + + Removes an individual policy type for a build key. + + The type the policy was registered as. + to remove the policy from. + The key the policy applies. + + + + Removes a default policy. + + The type the policy was registered as. + to remove the policy from. + + + + Gets an individual policy. + + The interface the policy is registered under. + to search. + The key the policy applies. + The policy in the list, if present; returns null otherwise. + + + + Gets an individual policy. + + The interface the policy is registered under. + to search. + The key the policy applies. + The policy list that actually contains the returned policy. + The policy in the list, if present; returns null otherwise. + + + + Gets an individual policy. + + to search. + The interface the policy is registered under. + The key the policy applies. + The policy in the list, if present; returns null otherwise. + + + + Gets an individual policy. + + to search. + The interface the policy is registered under. + The key the policy applies. + The policy list that actually contains the returned policy. + The policy in the list, if present; returns null otherwise. + + + + Gets an individual policy. + + The interface the policy is registered under. + to search. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy in the list, if present; returns null otherwise. + + + + Gets an individual policy. + + The interface the policy is registered under. + to search. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy list that actually contains the returned policy. + The policy in the list, if present; returns null otherwise. + + + + Gets an individual policy. + + to search. + The interface the policy is registered under. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy in the list, if present; returns null otherwise. + + + + Get the non default policy. + + The interface the policy is registered under. + to search. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy in the list, if present; returns null otherwise. + + + + Get the non default policy. + + The interface the policy is registered under. + to search. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy list that actually contains the returned policy. + The policy in the list, if present; returns null otherwise. + + + + Get the non default policy. + + to search. + The interface the policy is registered under. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy in the list, if present; returns null otherwise. + + + + Sets an individual policy. + + The interface the policy is registered under. + to add the policy to. + The policy to be registered. + The key the policy applies. + + + + Sets a default policy. When checking for a policy, if no specific individual policy + is available, the default will be used. + + The interface to register the policy under. + to add the policy to. + The default policy to be registered. + + + + Base class for the current operation stored in the build context. + + + + + Create a new . + + Type currently being built. + + + + The type that's currently being built. + + + + + Build plan for that will return a Func that will resolve the requested type + through this container later. + + + + + A build plan is an object that, when invoked, will create a new object + or fill in a given existing one. It encapsulates all the information + gathered by the strategies to construct a particular object. + + + + + Creates an instance of this build plan's type, or fills + in the existing type if passed in. + + Context used to build up the object. + + + + Creates an instance of this build plan's type, or fills + in the existing type if passed in. + + Context used to build up the object. + + + + The almost inevitable collection of extra helper methods on + to augment the rich set of what + LINQ already gives us. + + + + + Execute the provided on every item in . + + Type of the items stored in + Sequence of items to process. + Code to run over each item. + + + + Create a single string from a sequence of items, separated by the provided , + and with the conversion to string done by the given . + + This method does basically the same thing as , + but will work on any sequence of items, not just arrays. + Type of items in the sequence. + Sequence of items to convert. + Separator to place between the items in the string. + The conversion function to change TItem -> string. + The resulting string. + + + + Create a single string from a sequence of items, separated by the provided , + and with the conversion to string done by the item's method. + + This method does basically the same thing as , + but will work on any sequence of items, not just arrays. + Type of items in the sequence. + Sequence of items to convert. + Separator to place between the items in the string. + The resulting string. + + + + A class that lets you + override a named parameter passed to a constructor. + + + + + Construct a new object that will + override the given named constructor parameter, and pass the given + value. + + Name of the constructor parameter. + Value to pass for the constructor. + + + + Return a that can be used to give a value + for the given desired dependency. + + Current build context. + Type of dependency desired. + a object if this override applies, null if not. + + + + A convenience form of that lets you + specify multiple parameter overrides in one shot rather than having + to construct multiple objects. + + + + + When implemented in derived classes, this method is called from the + method to create the actual objects. + + Key value to create the resolver. + Value to store in the resolver. + The created . + + + + A that lets you override + the value for a specified property. + + + + + Create an instance of . + + The property name. + Value to use for the property. + + + + Return a that can be used to give a value + for the given desired dependency. + + Current build context. + Type of dependency desired. + a object if this override applies, null if not. + + + + A convenience form of that lets you + specify multiple property overrides in one shot rather than having + to construct multiple objects. + + + + + When implemented in derived classes, this method is called from the + method to create the actual objects. + + Key value to create the resolver. + Value to store in the resolver. + The created . + + + + Interface defining the configuration interface exposed by the + Static Factory extension. + + + + + Base interface for all extension configuration interfaces. + + + + + Retrieve the container instance that we are currently configuring. + + + + + Register the given factory delegate to be called when the container is + asked to resolve . + + Type that will be requested from the container. + Delegate to invoke to create the instance. + The container extension object this method was invoked on. + + + + Register the given factory delegate to be called when the container is + asked to resolve and . + + Type that will be requested from the container. + The name that will be used when requesting to resolve this type. + Delegate to invoke to create the instance. + The container extension object this method was invoked on. + + + + Represents the context in which a build-up or tear-down operation runs. + + + + + Represents the context in which a build-up or tear-down operation runs. + + + + + Add a new set of resolver override objects to the current build operation. + + objects to add. + + + + Get a object for the given + or null if that dependency hasn't been overridden. + + Type of the dependency. + Resolver to use, or null if no override matches for the current operation. + + + + A convenience method to do a new buildup operation on an existing context. + + Key to use to build up. + Created object. + + + + A convenience method to do a new buildup operation on an existing context. This + overload allows you to specify extra policies which will be in effect for the duration + of the build. + + Key defining what to build up. + A delegate that takes a . This + is invoked with the new child context before the build up process starts. This gives callers + the opportunity to customize the context for the build process. + Created object. + + + + Gets the head of the strategy chain. + + + The strategy that's first in the chain; returns null if there are no + strategies in the chain. + + + + + Gets the associated with the build. + + + The associated with the build. + + + + + Gets the original build key for the build operation. + + + The original build key for the build operation. + + + + + Get the current build key for the current build operation. + + + + + The set of policies that were passed into this context. + + This returns the policies passed into the context. + Policies added here will remain after buildup completes. + The persistent policies for the current context. + + + + Gets the policies for the current context. + + Any policies added to this object are transient + and will be erased at the end of the buildup. + + The policies for the current context. + + + + + Gets the collection of objects + that need to execute in event of an exception. + + + + + The current object being built up or torn down. + + + The current object being manipulated by the build operation. May + be null if the object hasn't been created yet. + + + + Flag indicating if the build operation should continue. + + true means that building should not call any more + strategies, false means continue to the next strategy. + + + + An object representing what is currently being done in the + build chain. Used to report back errors if there's a failure. + + + + + The build context used to resolve a dependency during the build operation represented by this context. + + + + + Initialize a new instance of the class. + + + + + Initialize a new instance of the class with a , + , and the + build key used to start this build operation. + + The to use for this context. + The to use for this context. + The to use for this context. + Build key to start building. + The existing object to build up. + + + + Create a new using the explicitly provided + values. + + The to use for this context. + The to use for this context. + The set of persistent policies to use for this context. + The set of transient policies to use for this context. It is + the caller's responsibility to ensure that the transient and persistent policies are properly + combined. + Build key for this context. + Existing object to build up. + + + + Create a new using the explicitly provided + values. + + The to use for this context. + The to use for this context. + The set of persistent policies to use for this context. + The set of transient policies to use for this context. It is + the caller's responsibility to ensure that the transient and persistent policies are properly + combined. + Build key for this context. + The resolver overrides. + + + + Add a new set of resolver override objects to the current build operation. + + objects to add. + + + + Get a object for the given + or null if that dependency hasn't been overridden. + + Type of the dependency. + Resolver to use, or null if no override matches for the current operation. + + + + A convenience method to do a new buildup operation on an existing context. + + Key to use to build up. + Created object. + + + + A convenience method to do a new buildup operation on an existing context. This + overload allows you to specify extra policies which will be in effect for the duration + of the build. + + Key defining what to build up. + A delegate that takes a . This + is invoked with the new child context before the build up process starts. This gives callers + the opportunity to customize the context for the build process. + Created object. + + + + Gets the head of the strategy chain. + + + The strategy that's first in the chain; returns null if there are no + strategies in the chain. + + + + + Get the current build key for the current build operation. + + + + + The current object being built up or torn down. + + + The current object being manipulated by the build operation. May + be null if the object hasn't been created yet. + + + + Gets the associated with the build. + + + The associated with the build. + + + + + Gets the original build key for the build operation. + + + The original build key for the build operation. + + + + + The set of policies that were passed into this context. + + This returns the policies passed into the context. + Policies added here will remain after buildup completes. + The persistent policies for the current context. + + + + Gets the policies for the current context. + + + Any modifications will be transient (meaning, they will be forgotten when + the outer BuildUp for this context is finished executing). + + + The policies for the current context. + + + + + Gets the collection of objects + that need to execute in event of an exception. + + + + + Flag indicating if the build operation should continue. + + true means that building should not call any more + strategies, false means continue to the next strategy. + + + + An object representing what is currently being done in the + build chain. Used to report back errors if there's a failure. + + + + + The build context used to resolve a dependency during the build operation represented by this context. + + + + + Represents that a dependency could not be resolved. + + + + + Initializes a new instance of the class with no extra information. + + + + + Initializes a new instance of the class with the given message. + + Some random message. + + + + Initialize a new instance of the class with the given + message and inner exception. + + Some random message + Inner exception. + + + + Initializes a new instance of the class with the build key of the object begin built. + + The build key of the object begin built. + + + + The exception thrown when injection is attempted on a method + that is an open generic or has out or ref params. + + + + + Construct a new with no + message. + + + + + Construct a with the given message + + Message to return. + + + + Construct a with the given message + and inner exception. + + Message to return. + Inner exception + + + + Extension methods to provide convenience overloads over the + interface. + + + + + Start a recursive build up operation to retrieve the default + value for the given type. + + Type of object to build. + Parent context. + Resulting object. + + + + Start a recursive build up operation to retrieve the named + implementation for the given type. + + Type to resolve. + Parent context. + Name to resolve with. + The resulting object. + + + + Add a set of s to the context, specified as a + variable argument list. + + Context to add overrides to. + The overrides. + + + + Data structure that stores the set of + objects and executes them when requested. + + + + + Add a new object to this + list. + + Object to add. + + + + Execute the method + of everything in the recovery list. Recoveries will execute + in the opposite order of add - it's a stack. + + + + + Return the number of recovery objects currently in the stack. + + + + + Represents a lifetime container. + + + A lifetime container tracks the lifetime of an object, and implements + IDisposable. When the container is disposed, any objects in the + container which implement IDisposable are also disposed. + + + + + Adds an object to the lifetime container. + + The item to be added to the lifetime container. + + + + Determine if a given object is in the lifetime container. + + + The item to locate in the lifetime container. + + + Returns true if the object is contained in the lifetime + container; returns false otherwise. + + + + + Removes an item from the lifetime container. The item is + not disposed. + + The item to be removed. + + + + Gets the number of references in the lifetime container + + + The number of references in the lifetime container + + + + + Represents a lifetime container. + + + A lifetime container tracks the lifetime of an object, and implements + IDisposable. When the container is disposed, any objects in the + container which implement IDisposable are also disposed. + + + + + Adds an object to the lifetime container. + + The item to be added to the lifetime container. + + + + Determine if a given object is in the lifetime container. + + + The item to locate in the lifetime container. + + + Returns true if the object is contained in the lifetime + container; returns false otherwise. + + + + + Releases the resources used by the . + + + + + Releases the resources used by the . + + + true to release managed and unmanaged resources; false to release only unmanaged resources. + + + + + Returns an enumerator that iterates through the lifetime container. + + + An object that can be used to iterate through the life time container. + + + + + Returns an enumerator that iterates through the lifetime container. + + + An object that can be used to iterate through the life time container. + + + + + Removes an item from the lifetime container. The item is + not disposed. + + The item to be removed. + + + + Gets the number of references in the lifetime container + + + The number of references in the lifetime container + + + + + A custom collection over objects. + + + + + Removes an individual policy type for a build key. + + The type of policy to remove. + The key the policy applies. + + + + Removes all policies from the list. + + + + + Removes a default policy. + + The type the policy was registered as. + + + + Gets an individual policy. + + The interface the policy is registered under. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy list in the chain that the searched for policy was found in, null if the policy was + not found. + The policy in the list, if present; returns null otherwise. + + + + Get the non default policy. + + The interface the policy is registered under. + The key the policy applies to. + True if the search should be in the local policy list only; otherwise false to search up the parent chain. + The policy list in the chain that the searched for policy was found in, null if the policy was + not found. + The policy in the list if present; returns null otherwise. + + + + Sets an individual policy. + + The of the policy. + The policy to be registered. + The key the policy applies. + + + + Sets a default policy. When checking for a policy, if no specific individual policy + is available, the default will be used. + + The interface to register the policy under. + The default policy to be registered. + + + + A custom collection wrapper over objects. + + + + + Initialize a new instance of a class. + + + + + Initialize a new instance of a class with another policy list. + + An inner policy list to search. + + + + Removes an individual policy type for a build key. + + The type of policy to remove. + The key the policy applies. + + + + Removes all policies from the list. + + + + + Removes a default policy. + + The type the policy was registered as. + + + + Gets an individual policy. + + The interface the policy is registered under. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy list in the chain that the searched for policy was found in, null if the policy was + not found. + The policy in the list, if present; returns null otherwise. + + + + Get the non default policy. + + The interface the policy is registered under. + The key the policy applies to. + True if the search should be in the local policy list only; otherwise false to search up the parent chain. + The policy list in the chain that the searched for policy was found in, null if the policy was + not found. + The policy in the list if present; returns null otherwise. + + + + Sets an individual policy. + + The of the policy. + The policy to be registered. + The key the policy applies. + + + + Sets a default policy. When checking for a policy, if no specific individual policy + is available, the default will be used. + + The interface to register the policy under. + The default policy to be registered. + + + + Gets the number of items in the locator. + + + The number of items in the locator. + + + + + An implementation of . + + + + + Add a new object to this + list. + + Object to add. + + + + Execute the method + of everything in the recovery list. Recoveries will execute + in the opposite order of add - it's a stack. + + + + + Return the number of recovery objects currently in the stack. + + + + + Implementation of which will notify an object about + the completion of a BuildUp operation, or start of a TearDown operation. + + + This strategy checks the object that is passing through the builder chain to see if it + implements IBuilderAware and if it does, it will call + and . This strategy is meant to be used from the + stage. + + + + + Called during the chain of responsibility for a build operation. The + PreBuildUp method is called when the chain is being executed in the + forward direction. + + Context of the build operation. + + + + Called during the chain of responsibility for a teardown operation. The + PreTearDown method is called when the chain is being executed in the + forward direction. + + Context of the teardown operation. + + + + Implemented on a class when it wants to receive notifications + about the build process. + + + + + Called by the when the object is being built up. + + The key of the object that was just built up. + + + + Called by the when the object is being torn down. + + + + + Enumeration to represent the object builder stages. + + + The order of the values in the enumeration is the order in which the stages are run. + + + + + Strategies in this stage run before creation. Typical work done in this stage might + include strategies that use reflection to set policies into the context that other + strategies would later use. + + + + + Strategies in this stage create objects. Typically you will only have a single policy-driven + creation strategy in this stage. + + + + + Strategies in this stage work on created objects. Typical work done in this stage might + include setter injection and method calls. + + + + + Strategies in this stage work on objects that are already initialized. Typical work done in + this stage might include looking to see if the object implements some notification interface + to discover when its initialization stage has been completed. + + + + + Represents a builder policy for mapping build keys. + + + + + Represents a builder policy for mapping build keys. + + + + + Maps the build key. + + The build key to map. + Current build context. Used for contextual information + if writing a more sophisticated mapping. This parameter can be null + (called when getting container registrations). + The new build key. + + + + Initialize a new instance of the with the new build key. + + The new build key. + + + + Maps the build key. + + The build key to map. + Current build context. Used for contextual information + if writing a more sophisticated mapping, unused in this implementation. + The new build key. + + + + Represents a strategy for mapping build keys in the build up operation. + + + + + Called during the chain of responsibility for a build operation. Looks for the + and if found maps the build key for the current operation. + + The context for the operation. + + + + An implementation of that can map + generic types. + + + + + Create a new instance + that will map generic types. + + Build key to map to. This must be or contain an open generic type. + + + + Maps the build key. + + The build key to map. + Current build context. Used for contextual information + if writing a more sophisticated mapping. + The new build key. + + + + A that will look for a build plan + in the current context. If it exists, it invokes it, otherwise + it creates one and stores it for later, and invokes it. + + + + + Called during the chain of responsibility for a build operation. + + The context for the operation. + + + + An implementation of that chooses + constructors based on these criteria: first, pick a constructor marked with the + attribute. If there + isn't one, then choose the constructor with the longest parameter list. If that is ambiguous, + then throw. + + Thrown when the constructor to choose is ambiguous. + Attribute used to mark the constructor to call. + + + + Base class that provides an implementation of + which lets you override how the parameter resolvers are created. + + + + + A that, when implemented, + will determine which constructor to call from the build plan. + + + + + Choose the constructor to call for the given type. + + Current build context + The to add any + generated resolver objects into. + The chosen constructor. + + + + Choose the constructor to call for the given type. + + Current build context + The to add any + generated resolver objects into. + The chosen constructor. + + + + Create a instance for the given + . + + Parameter to create the resolver for. + The resolver object. + + + + Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. + + The second object to compare. + The first object to compare. + + Value Condition Less than zero is less than y. Zero equals y. Greater than zero is greater than y. + + + + + Create a instance for the given + . + + Parameter to create the resolver for. + The resolver object. + + + + Objects of this type are the return value from . + It encapsulates the desired with the string keys + needed to look up the for each + parameter. + + + + + Base class for return values from selector policies that + return a MemberInfo of some sort plus a list of parameter + keys to look up the parameter resolvers. + + + + + Base class for return of selector policies that need + to keep track of a set of parameter resolvers. + + + + + Adds the parameter resolver. Resolvers are assumed + to be in the order of the parameters to the member. + + The new resolver. + + + + Gets the parameter resolvers. + + An array with the parameter resolvers. + + + + Construct a new , storing + the given member info. + + Member info to store. + + + + The member info stored. + + + + + Create a new instance which + contains the given constructor. + + The constructor to wrap. + + + + The constructor this object wraps. + + + + + This class records the information about which constructor argument is currently + being resolved, and is responsible for generating the error string required when + an error has occurred. + + + + + Initializes a new instance of the class. + + The type that is being constructed. + A string representing the constructor being called. + Parameter being resolved. + + + + Generate the string describing what parameter was being resolved. + + The description string. + + + + String describing the constructor being set up. + + + + + Parameter that's being resolved. + + + + + A that emits IL to call constructors + as part of creating a build plan. + + + + + Called during the chain of responsibility for a build operation. + + Existing object is an instance of . + The context for the operation. + + + + A helper method used by the generated IL to set up a PerResolveLifetimeManager lifetime manager + if the current object is such. + + Current build context. + + + + Build up the string that will represent the constructor signature + in any exception message. + + + + + + + A helper method used by the generated IL to store the current operation in the build context. + + + + + A helper method used by the generated IL to store the current operation in the build context. + + + + + A helper method used by the generated IL to throw an exception if + no existing object is present, but the user is attempting to build + an interface (usually due to the lack of a type mapping). + + The currently being + used for the build of this object. + + + + A helper method used by the generated IL to throw an exception if + no existing object is present, but the user is attempting to build + an abstract class (usually due to the lack of a type mapping). + + The currently being + used for the build of this object. + + + + A helper method used by the generated IL to throw an exception if + no existing object is present, but the user is attempting to build + an delegate other than Func{T} or Func{IEnumerable{T}}. + + The currently being + used for the build of this object. + + + + A helper method used by the generated IL to throw an exception if + a dependency cannot be resolved. + + The currently being + used for the build of this object. + + + + A helper method used by the generated IL to throw an exception if + a dependency cannot be resolved because of an invalid constructor. + + The currently being + used for the build of this object. + The signature of the invalid constructor. + + + + A class that records that a constructor is about to be call, and is + responsible for generating the error string required when + an error has occurred. + + + + + Initializes a new instance of the class. + + + + + Generate the description string. + + The string. + + + + Constructor we're trying to call. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Helper method used by generated IL to look up a dependency resolver based on the given key. + + Current build context. + Type of the dependency being resolved. + Key the resolver was stored under. + The found dependency resolver. + + + + Helper method used by generated IL to look up a dependency resolver based on the given key. + + Current build context. + Type of the dependency being resolved. + The configured resolver. + The found dependency resolver. + + + + The type that is to be built with the dynamic build plan. + + + + + The context parameter representing the used when the build plan is executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + An implementation + that constructs a build plan via dynamic IL emission. + + + + + Construct a that + uses the given strategy chain to construct the build plan. + + The strategy chain. + + + + Construct a build plan. + + The current build context. + The current build key. + The created build plan. + + + + A class that records that a constructor is about to be call, and is + responsible for generating the error string required when + an error has occurred. + + + + + Initializes a new instance of the class. + + + + + Generate the description string. + + The string. + + + + Method we're trying to call. + + + + + This class records the information about which constructor argument is currently + being resolved, and is responsible for generating the error string required when + an error has occurred. + + + + + Initializes a new instance of the class. + + The type that is being constructed. + A string representing the method being called. + Parameter being resolved. + + + + Generate the string describing what parameter was being resolved. + + The description string. + + + + String describing the method being set up. + + + + + Parameter that's being resolved. + + + + + A that generates IL to call + chosen methods (as specified by the current ) + as part of object build up. + + + + + Called during the chain of responsibility for a build operation. The + PreBuildUp method is called when the chain is being executed in the + forward direction. + + Context of the build operation. + + + + A helper method used by the generated IL to store the current operation in the build context. + + + + + A helper method used by the generated IL to store the current operation in the build context. + + + + + A base class that holds the information shared by all operations + performed by the container while setting properties. + + + + + Initializes a new instance of the class. + + + + + Generate the description of this operation. + + The string. + + + + Get a format string used to create the description. Called by + the base method. + + The format string. + + + + The property value currently being resolved. + + + + + This class records the information about which property value is currently + being resolved, and is responsible for generating the error string required when + an error has occurred. + + + + + Initializes a new instance of the class. + + + + + Get a format string used to create the description. Called by + the base method. + + The format string. + + + + A that generates IL to resolve properties + on an object being built. + + + + + Called during the chain of responsibility for a build operation. + + The context for the operation. + + + + A helper method used by the generated IL to store the current operation in the build context. + + + + + A helper method used by the generated IL to store the current operation in the build context. + + + + + This class records the information about which property value is currently + being set, and is responsible for generating the error string required when + an error has occurred. + + + + + Initializes a new instance of the class. + + Type property is on. + Name of property being set. + + + + Get a format string used to create the description. Called by + the base method. + + The format string. + + + + Creates an instance of this build plan's type, or fills + in the existing type if passed in. + + Context used to build up the object. + + + + An that will examine the given + types and return a sequence of objects + that should be called as part of building the object. + + + + + Return the sequence of methods to call while building the target object. + + Current build context. + The to add any + generated resolver objects into. + Sequence of methods to call. + + + + An implementation of that selects + methods by looking for the given + attribute on those methods. + + Type of attribute used to mark methods + to inject. + + + + Base class that provides an implementation of + which lets you override how the parameter resolvers are created. + + Attribute that marks methods that should + be called. + + + + Return the sequence of methods to call while building the target object. + + Current build context. + The to add any + generated resolver objects into. + Sequence of methods to call. + + + + Create a instance for the given + . + + Parameter to create the resolver for. + The resolver object. + + + + Create a instance for the given + . + + Parameter to create the resolver for. + The resolver object. + + + + Objects of this type are the return value from . + It encapsulates the desired with the string keys + needed to look up the for each + parameter. + + + + + Create a new instance which + contains the given method. + + The method + + + + The constructor this object wraps. + + + + + An that returns a sequence + of properties that should be injected for the given type. + + + + + Returns sequence of properties on the given type that + should be set as part of building that object. + + Current build context. + The to add any + generated resolver objects into. + Sequence of objects + that contain the properties to set. + + + + Base class that provides an implementation of + which lets you override how the parameter resolvers are created. + + + + + Returns sequence of properties on the given type that + should be set as part of building that object. + + Current build context. + The to add any + generated resolver objects into. + Sequence of objects + that contain the properties to set. + + + + Create a for the given + property. + + Property to create resolver for. + The resolver object. + + + + An implementation of that looks + for properties marked with the + attribute that are also settable and not indexers. + + + + + + Create a for the given + property. + + Property to create resolver for. + The resolver object. + + + + Objects of this type are returned from + . + This class combines the about + the property with the string key used to look up the resolver + for this property's value. + + + + + Create an instance of + with the given and key. + + The property. + + + + + PropertyInfo for this property. + + + + + IDependencyResolverPolicy for this property + + + + + Implementation of . + + + + + A builder policy that lets you keep track of the current + resolvers and will remove them from the given policy set. + + + + + Add a new resolver to track by key. + + Key that was used to add the resolver to the policy set. + + + + Remove the currently tracked resolvers from the given policy list. + + Policy list to remove the resolvers from. + + + + Add a new resolver to track by key. + + Key that was used to add the resolver to the policy set. + + + + Remove the currently tracked resolvers from the given policy list. + + Policy list to remove the resolvers from. + + + + Get an instance that implements , + either the current one in the policy set or creating a new one if it doesn't + exist. + + Policy list to look up from. + Build key to track. + The resolver tracker. + + + + Add a key to be tracked to the current tracker. + + Policy list containing the resolvers and trackers. + Build key for the resolvers being tracked. + Key for the resolver. + + + + Remove the resolvers for the given build key. + + Policy list containing the build key. + Build key. + + + + An implementation of that + calls back into the build chain to build up the dependency, passing + a type given at compile time as its build key. + + + + + Create a new instance storing the given type. + + Type to resolve. + + + + Get the value for a dependency. + + Current build context. + The value for the dependency. + + + + This interface defines a standard method to convert any regardless + of the stage enum into a regular, flat strategy chain. + + + + + Convert this into + a flat . + + The flattened . + + + + Represents a chain of responsibility for builder strategies. + + + + + Reverse the order of the strategy chain. + + The reversed strategy chain. + + + + Execute this strategy chain against the given context, + calling the Buildup methods on the strategies. + + Context for the build process. + The build up object + + + + Execute this strategy chain against the given context, + calling the TearDown methods on the strategies. + + Context for the teardown process. + + + + A builder policy used to create lifetime policy instances. + Used by the LifetimeStrategy when instantiating open + generic types. + + + + + Create a new instance of . + + The new instance. + + + + The type of Lifetime manager that will be created by this factory. + + + + + An implementation that uses + a to figure out if an object + has already been created and to update or remove that + object from some backing store. + + + + + Called during the chain of responsibility for a build operation. The + PreBuildUp method is called when the chain is being executed in the + forward direction. + + Context of the build operation. + + + + Called during the chain of responsibility for a build operation. The + PostBuildUp method is called when the chain has finished the PreBuildUp + phase and executes in reverse order from the PreBuildUp calls. + + Context of the build operation. + + + + Represents a chain of responsibility for builder strategies partitioned by stages. + + The stage enumeration to partition the strategies. + + + + Initialize a new instance of the class. + + + + + Initialize a new instance of the class with an inner strategy chain to use when building. + + The inner strategy chain to use first when finding strategies in the build operation. + + + + Adds a strategy to the chain at a particular stage. + + The strategy to add to the chain. + The stage to add the strategy. + + + + Add a new strategy for the . + + The of + The stage to add the strategy. + + + + Clear the current strategy chain list. + + + This will not clear the inner strategy chain if this instance was created with one. + + + + + Makes a strategy chain based on this instance. + + A new . + + + + Represents a chain of responsibility for builder strategies. + + + + + Initialize a new instance of the class. + + + + + Initialize a new instance of the class with a collection of strategies. + + A collection of strategies to initialize the chain. + + + + Adds a strategy to the chain. + + The strategy to add to the chain. + + + + Adds strategies to the chain. + + The strategies to add to the chain. + + + + Reverse the order of the strategy chain. + + The reversed strategy chain. + + + + Execute this strategy chain against the given context to build up. + + Context for the build processes. + The build up object + + + + Execute this strategy chain against the given context, + calling the TearDown methods on the strategies. + + Context for the teardown process. + + + + Returns an enumerator that iterates through the collection. + + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + + An object that can be used to iterate through the collection. + + + + + Build key used to combine a type object with a string name. Used by + ObjectBuilder to indicate exactly what is being built. + + + + + Create a new instance with the given + type and name. + + to build. + Key to use to look up type mappings and singletons. + + + + Create a new instance for the default + buildup of the given type. + + to build. + + + + This helper method creates a new instance. It is + initialized for the default key for the given type. + + Type to build. + A new instance. + + + + This helper method creates a new instance for + the given type and key. + + Type to build + Key to use to look up type mappings and singletons. + A new instance initialized with the given type and name. + + + + Compare two instances. + + Two instances compare equal + if they contain the same name and the same type. Also, comparing + against a different type will also return false. + Object to compare to. + True if the two keys are equal, false if not. + + + + Calculate a hash code for this instance. + + A hash code. + + + + Compare two instances for equality. + + Two instances compare equal + if they contain the same name and the same type. + First of the two keys to compare. + Second of the two keys to compare. + True if the values of the keys are the same, else false. + + + + Compare two instances for inequality. + + Two instances compare equal + if they contain the same name and the same type. If either field differs + the keys are not equal. + First of the two keys to compare. + Second of the two keys to compare. + false if the values of the keys are the same, else true. + + + + Formats the build key as a string (primarily for debugging). + + A readable string representation of the build key. + + + + Return the stored in this build key. + + The type to build. + + + + Returns the name stored in this build key. + + The name to use when building. + + + + A generic version of so that + you can new up a key using generic syntax. + + Type for the key. + + + + Construct a new that + specifies the given type. + + + + + Construct a new that + specifies the given type and name. + + Name for the key. + + + + A series of helper methods to deal with sequences - + objects that implement . + + + + + A function that turns an arbitrary parameter list into an + . + + Type of arguments. + The items to put into the collection. + An array that contains the values of the . + + + + Given two sequences, return a new sequence containing the corresponding values + from each one. + + Type of first sequence. + Type of second sequence. + First sequence of items. + Second sequence of items. + New sequence of pairs. This sequence ends when the shorter of sequence1 and sequence2 does. + + + + A that lets you register a + delegate with the container to create an object, rather than calling + the object's constructor. + + + + + Base class for all extension objects. + + + + + The container calls this method when the extension is added. + + A instance that gives the + extension access to the internals of the container. + + + + Initial the container with this extension's functionality. + + + When overridden in a derived class, this method will modify the given + by adding strategies, policies, etc. to + install it's functions into the container. + + + + Removes the extension's functions from the container. + + + + This method is called when extensions are being removed from the container. It can be + used to do things like disconnect event handlers or clean up member state. You do not + need to remove strategies or policies here; the container will do that automatically. + + + The default implementation of this method does nothing. + + + + + The container this extension has been added to. + + The that this extension has been added to. + + + + The object used to manipulate + the inner state of the container. + + + + + Initialize this extension. This particular extension requires no + initialization work. + + + + + Register the given factory delegate to be called when the container is + asked to resolve and . + + Type that will be requested from the container. + The name that will be used when requesting to resolve this type. + Delegate to invoke to create the instance. + The container extension object this method was invoked on. + + + + Register the given factory delegate to be called when the container is + asked to resolve . + + Type that will be requested from the container. + Delegate to invoke to create the instance. + The container extension object this method was invoked on. + + + + An implementation of that + acts as a decorator over another . + This checks to see if the current type being built is the + right one before checking the inner . + + + + + Create an instance of + + Type to check for. + Inner override to check after type matches. + + + + Return a that can be used to give a value + for the given desired dependency. + + Current build context. + Type of dependency desired. + a object if this override applies, null if not. + + + + A convenience version of that lets you + specify the type to construct via generics syntax. + + Type to check for. + + + + Create an instance of . + + Inner override to check after type matches. + + + + Extension class that adds a set of convenience overloads to the + interface. + + + + + Register a type with specific members to be injected. + + Type this registration is for. + Container to configure. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type mapping with the container. + + + + This method is used to tell the container that when asked for type , + actually return an instance of type . This is very useful for + getting instances of interfaces. + + + This overload registers a default mapping and transient lifetime. + + + that will be requested. + that will actually be returned. + Container to configure. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type mapping with the container, where the created instances will use + the given . + + that will be requested. + that will actually be returned. + Container to configure. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type mapping with the container. + + + This method is used to tell the container that when asked for type , + actually return an instance of type . This is very useful for + getting instances of interfaces. + + that will be requested. + that will actually be returned. + Container to configure. + Name of this mapping. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type mapping with the container, where the created instances will use + the given . + + that will be requested. + that will actually be returned. + Container to configure. + Name to use for registration, null if a default registration. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a for the given type with the container. + No type mapping is performed for this type. + + The type to apply the to. + Container to configure. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a for the given type with the container. + No type mapping is performed for this type. + + The type to configure injection on. + Container to configure. + Name that will be used to request the type. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a for the given type and name with the container. + No type mapping is performed for this type. + + The type to apply the to. + Container to configure. + Name that will be used to request the type. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type with specific members to be injected. + + Container to configure. + Type this registration is for. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type mapping with the container. + + + + This method is used to tell the container that when asked for type , + actually return an instance of type . This is very useful for + getting instances of interfaces. + + + This overload registers a default mapping. + + + Container to configure. + that will be requested. + that will actually be returned. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type mapping with the container. + + + This method is used to tell the container that when asked for type , + actually return an instance of type . This is very useful for + getting instances of interfaces. + + Container to configure. + that will be requested. + that will actually be returned. + Name to use for registration, null if a default registration. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type mapping with the container, where the created instances will use + the given . + + Container to configure. + that will be requested. + that will actually be returned. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a for the given type and name with the container. + No type mapping is performed for this type. + + Container to configure. + The to apply the to. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a for the given type and name with the container. + No type mapping is performed for this type. + + Container to configure. + The to configure in the container. + Name to use for registration, null if a default registration. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a for the given type and name with the container. + No type mapping is performed for this type. + + Container to configure. + The to apply the to. + Name to use for registration, null if a default registration. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + This overload does a default registration and has the container take over the lifetime of the instance. + + Type of instance to register (may be an implemented interface instead of the full type). + Container to configure. + Object to returned. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + This overload does a default registration (name = null). + + + Type of instance to register (may be an implemented interface instead of the full type). + Container to configure. + Object to returned. + + object that controls how this instance will be managed by the container. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + This overload automatically has the container take ownership of the . + + Type of instance to register (may be an implemented interface instead of the full type). + Object to returned. + Container to configure. + Name for registration. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + Type of instance to register (may be an implemented interface instead of the full type). + Object to returned. + Container to configure. + Name for registration. + + object that controls how this instance will be managed by the container. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + This overload does a default registration and has the container take over the lifetime of the instance. + + Container to configure. + Type of instance to register (may be an implemented interface instead of the full type). + Object to returned. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + This overload does a default registration (name = null). + + + Container to configure. + Type of instance to register (may be an implemented interface instead of the full type). + Object to returned. + + object that controls how this instance will be managed by the container. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + This overload automatically has the container take ownership of the . + + Container to configure. + Type of instance to register (may be an implemented interface instead of the full type). + Object to returned. + Name for registration. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Resolve an instance of the default requested type from the container. + + of object to get from the container. + Container to resolve from. + Any overrides for the resolve call. + The retrieved object. + + + + Resolve an instance of the requested type with the given name from the container. + + of object to get from the container. + Container to resolve from. + Name of the object to retrieve. + Any overrides for the resolve call. + The retrieved object. + + + + Resolve an instance of the default requested type from the container. + + Container to resolve from. + of object to get from the container. + Any overrides for the resolve call. + The retrieved object. + + + + Return instances of all registered types requested. + + + + This method is useful if you've registered multiple types with the same + but different names. + + + Be aware that this method does NOT return an instance for the default (unnamed) registration. + + + The type requested. + Container to resolve from. + Any overrides for the resolve calls. + Set of objects of type . + + + + Run an existing object through the container and perform injection on it. + + + + This method is useful when you don't control the construction of an + instance (ASP.NET pages or objects created via XAML, for instance) + but you still want properties and other injection performed. + + + This overload uses the default registrations. + + + of object to perform injection on. + Container to resolve through. + Instance to build up. + Any overrides for the buildup. + The resulting object. By default, this will be , but + container extensions may add things like automatic proxy creation which would + cause this to return a different object (but still type compatible with ). + + + + Run an existing object through the container and perform injection on it. + + + + This method is useful when you don't control the construction of an + instance (ASP.NET pages or objects created via XAML, for instance) + but you still want properties and other injection performed. + + of object to perform injection on. + Container to resolve through. + Instance to build up. + name to use when looking up the typemappings and other configurations. + Any overrides for the Buildup. + The resulting object. By default, this will be , but + container extensions may add things like automatic proxy creation which would + cause this to return a different object (but still type compatible with ). + + + + Run an existing object through the container and perform injection on it. + + + + This method is useful when you don't control the construction of an + instance (ASP.NET pages or objects created via XAML, for instance) + but you still want properties and other injection performed. + + + This overload uses the default registrations. + + + Container to resolve through. + of object to perform injection on. + Instance to build up. + Any overrides for the Buildup. + The resulting object. By default, this will be , but + container extensions may add things like automatic proxy creation which would + cause this to return a different object (but still type compatible with ). + + + + Creates a new extension object and adds it to the container. + + Type of to add. The extension type + will be resolved from within the supplied . + Container to add the extension to. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Resolve access to a configuration interface exposed by an extension. + + Extensions can expose configuration interfaces as well as adding + strategies and policies to the container. This method walks the list of + added extensions and returns the first one that implements the requested type. + + The configuration interface required. + Container to configure. + The requested extension's configuration interface, or null if not found. + + + + Check if a particular type has been registered with the container with + the default name. + + Container to inspect. + Type to check registration for. + True if this type has been registered, false if not. + + + + Check if a particular type/name pair has been registered with the container. + + Container to inspect. + Type to check registration for. + Name to check registration for. + True if this type/name pair has been registered, false if not. + + + + Check if a particular type has been registered with the container with the default name. + + Type to check registration for. + Container to inspect. + True if this type has been registered, false if not. + + + + Check if a particular type/name pair has been registered with the container. + + Type to check registration for. + Container to inspect. + Name to check registration for. + True if this type/name pair has been registered, false if not. + + + + The class provides the means for extension objects + to manipulate the internal state of the . + + + + + Store a type/name pair for later resolution. + + + + When users register type mappings (or other things) with a named key, this method + allows you to register that name with the container so that when the + method is called, that name is included in the list that is returned. + + to register. + Name associated with that type. + + + + The container that this context is associated with. + + The object. + + + + The strategies this container uses. + + The that the container uses to build objects. + + + + The strategies this container uses to construct build plans. + + The that this container uses when creating + build plans. + + + + The policies this container uses. + + The the that container uses to build objects. + + + + The that this container uses. + + The is used to manage objects that the container is managing. + + + + This event is raised when the method, + or one of its overloads, is called. + + + + + This event is raised when the method, + or one of its overloads, is called. + + + + + This event is raised when the method is called, providing + the newly created child container to extensions to act on as they see fit. + + + + + An EventArgs class that holds a string Name. + + + + + Create a new with a null name. + + + + + Create a new with the given name. + + Name to store. + + + + The name. + + Name used for this EventArg object. + + + + Event argument class for the event. + + + + + Create a new instance of . + + Type to map from. + Type to map to. + Name for the registration. + to manage instances. + + + + Type to map from. + + + + + Type to map to. + + + + + to manage instances. + + + + + Event argument class for the event. + + + + + Create a default instance. + + + + + Create a instance initialized with the given arguments. + + Type of instance being registered. + The instance object itself. + Name to register under, null if default registration. + object that handles how + the instance will be owned. + + + + Type of instance being registered. + + + Type of instance being registered. + + + + + Instance object being registered. + + Instance object being registered + + + + that controls ownership of + this instance. + + + + + A that lets you specify that + an instance of a generic type parameter should be resolved. + + + + + Create a new instance that specifies + that the given named generic parameter should be resolved. + + The generic parameter name to resolve. + + + + Create a new instance that specifies + that the given named generic parameter should be resolved. + + The generic parameter name to resolve. + name to use when looking up in the container. + + + + Return a instance that will + return this types value for the parameter. + + The actual type to resolve. + The resolution key. + The . + + + + A that lets you specify that + an array containing the registered instances of a generic type parameter + should be resolved. + + + + + Create a new instance that specifies + that the given named generic parameter should be resolved. + + The generic parameter name to resolve. + The values for the elements, that will + be converted to objects. + + + + Test to see if this parameter value has a matching type for the given type. + + Type to check. + True if this parameter value is compatible with type , + false if not. + A type is considered compatible if it is an array type of rank one + and its element type is a generic type parameter with a name matching this generic + parameter name configured for the receiver. + + + + Return a instance that will + return this types value for the parameter. + + Type that contains the member that needs this parameter. Used + to resolve open generic parameters. + The . + + + + Name for the type represented by this . + This may be an actual type name or a generic argument name. + + + + + A Unity container extension that allows you to configure + which constructors, properties, and methods get injected + via an API rather than through attributes. + + + + + Initial the container with this extension's functionality. + + + When overridden in a derived class, this method will modify the given + by adding strategies, policies, etc. to + install it's functions into the container. + + + + API to configure the injection settings for a particular type. + + Type the injection is being configured for. + Objects containing the details on which members to inject and how. + This extension object. + + + + API to configure the injection settings for a particular type/name pair. + + Type the injection is being configured for. + Name of registration + Objects containing the details on which members to inject and how. + This extension object. + + + + API to configure the injection settings for a particular type. + + Type to configure. + Objects containing the details on which members to inject and how. + This extension object. + + + + API to configure the injection settings for a particular type/name pair. + + Type to configure. + Name of registration. + Objects containing the details on which members to inject and how. + This extension object. + + + + API to configure the injection settings for a particular type/name pair. + + Type of interface/base class being registered (may be null). + Type of actual implementation class being registered. + Name of registration. + Objects containing the details on which members to inject and how. + This extension object. + + + + A class that holds the collection of information + for a constructor, so that the container can + be configured to call this constructor. + + + + + Create a new instance of that looks + for a constructor with the given set of parameters. + + The values for the parameters, that will + be converted to objects. + + + + Add policies to the to configure the + container to call this constructor with the appropriate parameter values. + + Interface registered, ignored in this implementation. + Type to register. + Name used to resolve the type object. + Policy list to add policies to. + + + + An that configures the + container to call a method as part of buildup. + + + + + Create a new instance which will configure + the container to call the given methods with the given parameters. + + Name of the method to call. + Parameter values for the method. + + + + Add policies to the to configure the + container to call this constructor with the appropriate parameter values. + + Type of interface registered, ignored in this implementation. + Type to register. + Name used to resolve the type object. + Policy list to add policies to. + + + + A small function to handle name matching. You can override this + to do things like case insensitive comparisons. + + MethodInfo for the method you're checking. + Name of the method you're looking for. + True if a match, false if not. + + + + A class that holds on to the given value and provides + the required + when the container is configured. + + + + + Create an instance of that stores + the given value, using the runtime type of that value as the + type of the parameter. + + Value to be injected for this parameter. + + + + Create an instance of that stores + the given value, associated with the given type. + + Type of the parameter. + Value of the parameter + + + + Return a instance that will + return this types value for the parameter. + + Type that contains the member that needs this parameter. Used + to resolve open generic parameters. + The . + + + + A generic version of that makes it a + little easier to specify the type of the parameter. + + Type of parameter. + + + + Create a new . + + Value for the parameter. + + + + This class stores information about which properties to inject, + and will configure the container accordingly. + + + + + Configure the container to inject the given property name, + resolving the value via the container. + + Name of the property to inject. + + + + Configure the container to inject the given property name, + using the value supplied. This value is converted to an + object using the + rules defined by the + method. + + Name of property to inject. + Value for property. + + + + Add policies to the to configure the + container to call this constructor with the appropriate parameter values. + + Interface being registered, ignored in this implementation. + Type to register. + Name used to resolve the type object. + Policy list to add policies to. + + + + A class that stores a type, and generates a + resolver object that resolves all the named instances or the + type registered in a container. + + + + + Construct a new that + resolves to the given element type and collection of element values. + + The type of elements to resolve. + The values for the elements, that will + be converted to objects. + + + + Construct a new that + resolves to the given array and element types and collection of element values. + + The type for the array of elements to resolve. + The type of elements to resolve. + The values for the elements, that will + be converted to objects. + + + + Return a instance that will + return this types value for the parameter. + + Type that contains the member that needs this parameter. Used + to resolve open generic parameters. + The . + + + + A generic version of for convenience + when creating them by hand. + + Type of the elements for the array of the parameter. + + + + Construct a new that + resolves to the given element generic type with the given element values. + + The values for the elements, that will + be converted to objects. + + + + Interface defining the behavior of the Unity dependency injection container. + + + + + Register a type mapping with the container, where the created instances will use + the given . + + that will be requested. + that will actually be returned. + Name to use for registration, null if a default registration. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + Type of instance to register (may be an implemented interface instead of the full type). + Object to returned. + Name for registration. + + object that controls how this instance will be managed by the container. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Resolve an instance of the requested type with the given name from the container. + + of object to get from the container. + Name of the object to retrieve. + Any overrides for the resolve call. + The retrieved object. + + + + Return instances of all registered types requested. + + + + This method is useful if you've registered multiple types with the same + but different names. + + + Be aware that this method does NOT return an instance for the default (unnamed) registration. + + + The type requested. + Any overrides for the resolve calls. + Set of objects of type . + + + + Run an existing object through the container and perform injection on it. + + + + This method is useful when you don't control the construction of an + instance (ASP.NET pages or objects created via XAML, for instance) + but you still want properties and other injection performed. + + of object to perform injection on. + Instance to build up. + name to use when looking up the TypeMappings and other configurations. + Any overrides for the resolve calls. + The resulting object. By default, this will be , but + container extensions may add things like automatic proxy creation which would + cause this to return a different object (but still type compatible with ). + + + + Run an existing object through the container, and clean it up. + + The object to tear down. + + + + Add an extension object to the container. + + to add. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Resolve access to a configuration interface exposed by an extension. + + Extensions can expose configuration interfaces as well as adding + strategies and policies to the container. This method walks the list of + added extensions and returns the first one that implements the requested type. + + of configuration interface required. + The requested extension's configuration interface, or null if not found. + + + + Remove all installed extensions from this container. + + + + This method removes all extensions from the container, including the default ones + that implement the out-of-the-box behavior. After this method, if you want to use + the container again you will need to either read the default extensions or replace + them with your own. + + + The registered instances and singletons that have already been set up in this container + do not get removed. + + + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Create a child container. + + + A child container shares the parent's configuration, but can be configured with different + settings or lifetime. + The new child container. + + + + The parent of this container. + + The parent container, or null if this container doesn't have one. + + + + Get a sequence of that describe the current state + of the container. + + + + + A that holds a weak reference to + it's managed instance. + + + + + Retrieve a value from the backing store associated with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + + + + Stores the given value into backing store for retrieval later. + + The object being stored. + + + + Remove the given object from backing store. + + + + + An implementation of that + creates instances of the type of the given Lifetime Manager + by resolving them through the container. + + + + + Create a new that will + return instances of the given type, creating them by + resolving through the container. + + Container to resolve with. + Type of LifetimeManager to create. + + + + Create a new instance of . + + The new instance. + + + + The type of Lifetime manager that will be created by this factory. + + + + + A that holds the instances given to it, + keeping one instance per thread. + + + + This LifetimeManager does not dispose the instances it holds. + + + + + + Initializes a new instance of the class. + + + + + Retrieve a value from the backing store associated with this Lifetime policy for the + current thread. + + the object desired, or if no such object is currently + stored for the current thread. + + + + Stores the given value into backing store for retrieval later when requested + in the current thread. + + The object being stored. + + + + Remove the given object from backing store. + + Not implemented for this lifetime manager. + + + + An implementation that does nothing, + thus ensuring that instances are created new every time. + + + + + Retrieve a value from the backing store associated with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + + + + Stores the given value into backing store for retrieval later. + + The object being stored. + + + + Remove the given object from backing store. + + + + + This strategy implements the logic that will call container.ResolveAll + when an array parameter is detected. + + + + + Do the PreBuildUp stage of construction. This is where the actual work is performed. + + Current build context. + + + + An implementation of that is + aware of the build keys used by the Unity container. + + + + + Create a instance for the given + . + + + This implementation looks for the Unity on the + parameter and uses it to create an instance of + for this parameter. + Parameter to create the resolver for. + The resolver object. + + + + An implementation of that is aware + of the build keys used by the Unity container. + + + + + Create a instance for the given + . + + Parameter to create the resolver for. + The resolver object. + + + + An implementation of that is aware of + the build keys used by the unity container. + + + + + Create a for the given + property. + + Property to create resolver for. + The resolver object. + + + + A implementation that returns + the value set in the constructor. + + + + + Create a new instance of + which will return the given value when resolved. + + The value to return. + + + + Get the value for a dependency. + + Current build context. + The value for the dependency. + + + + An implementation of that stores a + type and name, and at resolution time puts them together into a + . + + + + + Create an instance of + with the given type and name. + + The type. + The name (may be null). + + + + Resolve the value for a dependency. + + Current build context. + The value for the dependency. + + + + The type that this resolver resolves. + + + + + The name that this resolver resolves. + + + + + An implementation of that resolves to + to an array populated with the values that result from resolving other instances + of . + + + + + Create an instance of + with the given type and a collection of + instances to use when populating the result. + + The type. + The resolver policies to use when populating an array. + + + + Resolve the value for a dependency. + + Current build context. + An array populated with the results of resolving the resolver policies. + + + + An implementation of that selects + the given constructor and creates the appropriate resolvers to call it with + the specified parameters. + + + + + Create an instance of that + will return the given constructor, being passed the given injection values + as parameters. + + The constructor to call. + Set of objects + that describes how to obtain the values for the constructor parameters. + + + + Choose the constructor to call for the given type. + + Current build context + The to add any + generated resolver objects into. + The chosen constructor. + + + + Helper class for implementing selector policies that need to + set up dependency resolver policies. + + + + + Add dependency resolvers to the parameter set. + + Type that's currently being built (used to resolve open generics). + PolicyList to add the resolvers to. + Objects supplying the dependency resolvers. + Result object to store the keys in. + + + + A implementation that calls the specific + methods with the given parameters. + + + + + Add the given method and parameter collection to the list of methods + that will be returned when the selector's + method is called. + + Method to call. + sequence of objects + that describe how to create the method parameter values. + + + + Return the sequence of methods to call while building the target object. + + Current build context. + The to add any + generated resolver objects into. + Sequence of methods to call. + + + + An implementation of which returns + the set of specific properties that the selector was configured with. + + + + + Add a property that will be par of the set returned when the + is called. + + The property to set. + object describing + how to create the value to inject. + + + + Returns sequence of properties on the given type that + should be set as part of building that object. + + Current build context. + The to add any + generated resolver objects into. + Sequence of objects + that contain the properties to set. + + + + The exception thrown by the Unity container when + an attempt to resolve a dependency fails. + + + + + Create a new that records + the exception for the given type and name. + + Type requested from the container. + Name requested from the container. + The actual exception that caused the failure of the build. + The build context representing the failed operation. + + + + The type that was being requested from the container at the time of failure. + + + + + The name that was being requested from the container at the time of failure. + + + + + A class that stores a name and type, and generates a + resolver object that resolves the parameter via the + container. + + + + + Construct a new that + resolves to the given type. + + Type of this parameter. + + + + Construct a new that + resolves the given type and name. + + Type of this parameter. + Name to use when resolving parameter. + + + + Return a instance that will + return this types value for the parameter. + + Type that contains the member that needs this parameter. Used + to resolve open generic parameters. + The . + + + + A generic version of for convenience + when creating them by hand. + + Type of the parameter + + + + Create a new for the given + generic type and the default name. + + + + + Create a new for the given + generic type and name. + + Name to use to resolve this parameter. + + + + An implementation of that wraps a Unity container. + + + + + Initializes a new instance of the class for a container. + + The to wrap with the + interface implementation. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + When implemented by inheriting classes, this method will do the actual work of resolving + the requested service instance. + + Type of instance requested.Name of registered service you want. May be null. + + The requested service instance. + + + + + When implemented by inheriting classes, this method will do the actual work of + resolving all the requested service instances. + + Type of service requested. + + Sequence of service instance objects. + + + + + A static helper class that includes various parameter checking routines. + + + + + Throws if the given argument is null. + + if tested value if null. + Argument value to test. + Name of the argument being tested. + + + + Throws an exception if the tested string argument is null or the empty string. + + Thrown if string value is null. + Thrown if the string is empty + Argument value to check. + Name of argument being checked. + + + + Verifies that an argument type is assignable from the provided type (meaning + interfaces are implemented, or classes exist in the base class hierarchy). + + The argument type that will be assigned to. + The type of the value being assigned. + Argument name. + + + + Verifies that an argument instance is assignable from the provided type (meaning + interfaces are implemented, or classes exist in the base class hierarchy, or instance can be + assigned through a runtime wrapper, as is the case for COM Objects). + + The argument type that will be assigned to. + The instance that will be assigned. + Argument name. + + + + A helper class to manage the names that get registered in the container + + + + + The build stages we use in the Unity container + strategy pipeline. + + + + + First stage. By default, nothing happens here. + + + + + Second stage. Type mapping occurs here. + + + + + Third stage. lifetime managers are checked here, + and if they're available the rest of the pipeline is skipped. + + + + + Fourth stage. Reflection over constructors, properties, etc. is + performed here. + + + + + Fifth stage. Instance creation happens here. + + + + + Sixth stage. Property sets and method injection happens here. + + + + + Seventh and final stage. By default, nothing happens here. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to The type {0} has multiple constructors of length {1}. Unable to disambiguate.. + + + + + Looks up a localized string similar to The provided string argument must not be empty.. + + + + + Looks up a localized string similar to The current build operation (build key {2}) failed: {3} (Strategy type {0}, index {1}). + + + + + Looks up a localized string similar to The current type, {0}, is an abstract class and cannot be constructed. Are you missing a type mapping?. + + + + + Looks up a localized string similar to The current type, {0}, is delegate and cannot be constructed. Unity only supports resolving Func<T> and Func<IEnumerable<T>> by default.. + + + + + Looks up a localized string similar to The current type, {0}, is an interface and cannot be constructed. Are you missing a type mapping?. + + + + + Looks up a localized string similar to Cannot extract type from build key {0}.. + + + + + Looks up a localized string similar to The method {0}.{1}({2}) is an open generic method. Open generic methods cannot be injected.. + + + + + Looks up a localized string similar to The property {0} on type {1} is an indexer. Indexed properties cannot be injected.. + + + + + Looks up a localized string similar to The method {1} on type {0} has an out parameter. Injection cannot be performed.. + + + + + Looks up a localized string similar to The method {0}.{1}({2}) has at least one out parameter. Methods with out parameters cannot be injected.. + + + + + Looks up a localized string similar to The method {0}.{1}({2}) has at least one ref parameter.Methods with ref parameters cannot be injected.. + + + + + Looks up a localized string similar to The method {1} on type {0} is marked for injection, but it is an open generic method. Injection cannot be performed.. + + + + + Looks up a localized string similar to The method {0}.{1}({2}) is static. Static methods cannot be injected.. + + + + + Looks up a localized string similar to The type {0} is an open generic type. An open generic type cannot be resolved.. + + + + + Looks up a localized string similar to Resolving parameter "{0}" of constructor {1}. + + + + + Looks up a localized string similar to The parameter {0} could not be resolved when attempting to call constructor {1}.. + + + + + Looks up a localized string similar to Parameter type inference does not work for null values. Indicate the parameter type explicitly using a properly configured instance of the InjectionParameter or InjectionParameter<T> classes.. + + + + + Looks up a localized string similar to Calling constructor {0}. + + + + + Looks up a localized string similar to Calling method {0}.{1}. + + + + + Looks up a localized string similar to An item with the given key is already present in the dictionary.. + + + + + Looks up a localized string similar to The lifetime manager is already registered. Lifetime managers cannot be reused, please create a new one.. + + + + + Looks up a localized string similar to The override marker build plan policy has been invoked. This should never happen, looks like a bug in the container.. + + + + + Looks up a localized string similar to Resolving parameter "{0}" of method {1}.{2}. + + + + + Looks up a localized string similar to The value for parameter "{1}" of method {0} could not be resolved. . + + + + + Looks up a localized string similar to Could not resolve dependency for build key {0}.. + + + + + Looks up a localized string similar to The type {0} has multiple constructors marked with the InjectionConstructor attribute. Unable to disambiguate.. + + + + + Looks up a localized string similar to The supplied type {0} must be an open generic type.. + + + + + Looks up a localized string similar to The supplied type {0} does not have the same number of generic arguments as the target type {1}.. + + + + + Looks up a localized string similar to The type {0} does not have an accessible constructor.. + + + + + Looks up a localized string similar to The type {0} does not have a generic argument named "{1}". + + + + + Looks up a localized string similar to while resolving. + + + + + Looks up a localized string similar to The type {0} does not have a constructor that takes the parameters ({1}).. + + + + + Looks up a localized string similar to The type {0} does not have a public method named {1} that takes the parameters ({2}).. + + + + + Looks up a localized string similar to The type {0} does not contain an instance property named {1}.. + + + + + Looks up a localized string similar to The type {0} is not a generic type, and you are attempting to inject a generic parameter named "{1}".. + + + + + Looks up a localized string similar to The type {0} is not an array type with rank 1, and you are attempting to use a [DependencyArray] attribute on a parameter or property with this type.. + + + + + Looks up a localized string similar to Optional dependencies must be reference types. The type {0} is a value type.. + + + + + Looks up a localized string similar to The property {0} on type {1} is not settable.. + + + + + Looks up a localized string similar to The property {0} on type {1} is of type {2}, and cannot be injected with a value of type {3}.. + + + + + Looks up a localized string similar to The value for the property "{0}" could not be resolved.. + + + + + Looks up a localized string similar to The provided string argument must not be empty.. + + + + + Looks up a localized string similar to Resolution of the dependency failed, type = "{0}", name = "{1}". + Exception occurred while: {2}. + Exception is: {3} - {4} + ----------------------------------------------- + At the time of the exception, the container was: + . + + + + + Looks up a localized string similar to Resolving {0},{1}. + + + + + Looks up a localized string similar to Resolving {0},{1} (mapped from {2}, {3}). + + + + + Looks up a localized string similar to Resolving value for property {0}.{1}. + + + + + Looks up a localized string similar to The constructor {1} selected for type {0} has ref or out parameters. Such parameters are not supported for constructor injection.. + + + + + Looks up a localized string similar to Setting value for property {0}.{1}. + + + + + Looks up a localized string similar to The type {0} cannot be constructed. You must configure the container to supply this value.. + + + + + Looks up a localized string similar to The type {1} cannot be assigned to variables of type {0}.. + + + + + Looks up a localized string similar to <unknown>. + + + + + A simple, extensible dependency injection container. + + + + + Create a default . + + + + + Create a with the given parent container. + + The parent . The current object + will apply its own settings first, and then check the parent for additional ones. + + + + RegisterType a type mapping with the container, where the created instances will use + the given . + + that will be requested. + that will actually be returned. + Name to use for registration, null if a default registration. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + RegisterType an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + Type of instance to register (may be an implemented interface instead of the full type). + Object to returned. + Name for registration. + + If true, the container will take over the lifetime of the instance, + calling Dispose on it (if it's ) when the container is Disposed. + + If false, container will not maintain a strong reference to . User is responsible + for disposing instance, and for keeping the instance from being garbage collected. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Get an instance of the requested type with the given name from the container. + + of object to get from the container. + Name of the object to retrieve. + Any overrides for the resolve call. + The retrieved object. + + + + Return instances of all registered types requested. + + + + This method is useful if you've registered multiple types with the same + but different names. + + + Be aware that this method does NOT return an instance for the default (unnamed) registration. + + + The type requested. + Any overrides for the resolve calls. + Set of objects of type . + + + + Run an existing object through the container and perform injection on it. + + + + This method is useful when you don't control the construction of an + instance (ASP.NET pages or objects created via XAML, for instance) + but you still want properties and other injection performed. + + of object to perform injection on. + Instance to build up. + name to use when looking up the typemappings and other configurations. + Any overrides for the buildup. + The resulting object. By default, this will be , but + container extensions may add things like automatic proxy creation which would + cause this to return a different object (but still type compatible with ). + + + + Run an existing object through the container, and clean it up. + + The object to tear down. + + + + Add an extension object to the container. + + to add. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Get access to a configuration interface exposed by an extension. + + Extensions can expose configuration interfaces as well as adding + strategies and policies to the container. This method walks the list of + added extensions and returns the first one that implements the requested type. + + of configuration interface required. + The requested extension's configuration interface, or null if not found. + + + + Remove all installed extensions from this container. + + + + This method removes all extensions from the container, including the default ones + that implement the out-of-the-box behavior. After this method, if you want to use + the container again you will need to either read the default extensions or replace + them with your own. + + + The registered instances and singletons that have already been set up in this container + do not get removed. + + + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Create a child container. + + + A child container shares the parent's configuration, but can be configured with different + settings or lifetime. + The new child container. + + + + Dispose this container instance. + + + Disposing the container also disposes any child containers, + and disposes any instances whose lifetimes are managed + by the container. + + + + + Dispose this container instance. + + + This class doesn't have a finalizer, so will always be true. + True if being called from the IDisposable.Dispose + method, false if being called from a finalizer. + + + + Remove policies associated with building this type. This removes the + compiled build plan so that it can be rebuilt with the new settings + the next time this type is resolved. + + Type of object to clear the plan for. + Name the object is being registered with. + + + + The parent of this container. + + The parent container, or null if this container doesn't have one. + + + + Get a sequence of that describe the current state + of the container. + + + + + Implementation of the ExtensionContext that is actually used + by the UnityContainer implementation. + + + This is a nested class so that it can access state in the + container that would otherwise be inaccessible. + + + + + This event is raised when the method, + or one of its overloads, is called. + + + + + This extension supplies the default behavior of the UnityContainer API + by handling the context events and setting policies. + + + + + Install the default container behavior into the container. + + + + + Remove the default behavior from the container. + + + + + This extension installs the default strategies and policies into the container + to implement the standard behavior of the Unity container. + + + + + Add the default ObjectBuilder strategies & policies to the container. + + + + + Helper class to wrap common reflection stuff dealing with + methods. + + + + + Create a new instance that + lets us do more reflection stuff on that method. + + The method to reflect on. + + + + Given our set of generic type arguments, + + The generic type arguments. + An array with closed parameter types. + + + + Returns true if any of the parameters of this method + are open generics. + + + + + Return the of each parameter for this + method. + + Sequence of objects, one for + each parameter in order. + + + + A helper class that encapsulates two different + data items together into a a single item. + + + + + Create a new containing + the two values give. + + First value + Second value + + + + The first value of the pair. + + + + + The second value of the pair. + + + + + Container for a Pair helper method. + + + + + A helper factory method that lets users take advantage of type inference. + + Type of first value. + Type of second value. + First value. + Second value. + A new instance. + + + + A utility class that handles the logic of matching parameter + lists, so we can find the right constructor and method overloads. + + + + + Create a new that will attempt to + match the given parameter types. + + Target parameters to match against. + + + + Tests to see if the given set of types matches the ones + we're looking for. + + parameter list to look for. + true if they match, false if they don't. + + + + Tests to see if the given set of types matches the ones we're looking for. + + Candidate method signature to look for. + True if they match, false if they don't. + + + + Another reflection helper class that has extra methods + for dealing with ParameterInfo. + + + + + A small helper class to encapsulate details of the + reflection API, particularly around generics. + + + + + Create a new instance that + lets you look at information about the given type. + + Type to do reflection on. + + + + Test the given object, looking at + the parameters. Determine if any of the parameters are + open generic types that need type attributes filled in. + + The method to check. + True if any of the parameters are open generics. False if not. + + + + If this type is an open generic, use the + given array to + determine what the required closed type is and return that. + + If the parameter is not an open type, just + return this parameter's type. + Type arguments to substitute in for + the open type parameters. + Corresponding closed type of this parameter. + + + + Given a generic argument name, return the corresponding type for this + closed type. For example, if the current type is SomeType<User>, and the + corresponding definition was SomeType<TSomething>, calling this method + and passing "TSomething" will return typeof(User). + + Name of the generic parameter. + Type of the corresponding generic parameter, or null if there + is no matching name. + + + + The object we're reflecting over. + + + + + Is this type generic? + + + + + Is this type an open generic (no type parameter specified) + + + + + Is this type an array type? + + + + + Is this type an array of generic elements? + + + + + The type of the elements in this type (if it's an array). + + + + + Returns all the public constructors defined for the current reflected . + + + An enumeration of ConstructorInfo objects representing all the public instance constructors defined for the + current reflected , but not including the type initializer (static constructor). + + + + + Create a new instance of that + lets you query information about the given ParameterInfo object. + + Parameter to query. + + + + A set of helper methods to pick through lambdas and pull out + from them. + + + + + Pull out a object from an expression of the form + () => SomeClass.SomeMethod() + + Expression describing the method to call. + Corresponding . + + + + Pull out a object from an expression of the form + x => x.SomeMethod() + + The type where the method is defined. + Expression describing the method to call. + Corresponding . + + + + Pull out a object for the get method from an expression of the form + x => x.SomeProperty + + The type where the method is defined. + The type for the property. + Expression describing the property for which the get method is to be extracted. + Corresponding . + + + + Pull out a object for the set method from an expression of the form + x => x.SomeProperty + + The type where the method is defined. + The type for the property. + Expression describing the property for which the set method is to be extracted. + Corresponding . + + + + + + + + + + + + + Pull out a object from an expression of the form () => new SomeType() + + The type where the constructor is defined. + Expression invoking the desired constructor. + Corresponding . + + + diff --git a/src/packages/Unity.4.0.1/lib/wp80/Microsoft.Practices.Unity.RegistrationByConvention.XML b/src/packages/Unity.4.0.1/lib/wp80/Microsoft.Practices.Unity.RegistrationByConvention.XML new file mode 100644 index 0000000..a679199 --- /dev/null +++ b/src/packages/Unity.4.0.1/lib/wp80/Microsoft.Practices.Unity.RegistrationByConvention.XML @@ -0,0 +1,312 @@ + + + + Microsoft.Practices.Unity.RegistrationByConvention + + + + + Provides helper methods to retrieve classes from assemblies. + + + + + Returns all visible, non-abstract classes from . + + The assemblies. + All visible, non-abstract classes found in the assemblies. + is . + contains elements. + All exceptions thrown while getting types from the assemblies are ignored, and the types that can be retrieved are returned. + + + + Returns all visible, non-abstract classes from , and optionally skips errors. + + to skip errors; otherwise, . + The assemblies. + + All visible, non-abstract classes. + + is . + contains elements. + + If is , all exceptions thrown while getting types from the assemblies are ignored, and the types + that can be retrieved are returned; otherwise, the original exception is thrown. + + + + + Returns all visible, non-abstract classes from . + + to skip errors; otherwise, . + The assemblies. + + All visible, non-abstract classes. + + is . + contains elements. + + If is , all exceptions thrown while getting types from the assemblies are ignored, and the types + that can be retrieved are returned; otherwise, the original exception is thrown. + + + + + Returns all visible, non-abstract classes from all assemblies located where the application is installed. + + to include the Unity assemblies; otherwise, . Defaults to . + to skip errors; otherwise, . + + All visible, non-abstract classes. + + + If is , all exceptions thrown while loading assemblies or getting types from the assemblies + are ignored, and the types that can be retrieved are returned; otherwise, the original exception is thrown. These exceptions might be wrapped in a + . + + + + + The exception that is thrown when registering multiple types would result in an type mapping being overwritten. + + + + + Initializes a new instance of the class. + + The name for the mapping. + The source type for the mapping. + The type currently mapped. + The new type to map. + + + + Gets the name for the mapping. + + + + + Gets the source type for the mapping. + + + + + Gets the type currently mapped. + + + + + Gets the new type to map. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to An attempt to override an existing mapping was detected for type {1} with name "{0}", currently mapped to type {2}, to type {3}.. + + + + + Looks up a localized string similar to The set of assemblies contains a null element.. + + + + + Represents a set of types to register and their registration settings. + + + + + Gets types to register. + + + + + Gets a function to get the types that will be requested for each type to configure. + + + + + Gets a function to get the name to use for the registration of each type. + + + + + Gets a function to get the for the registration of each type. Defaults to no lifetime management. + + + + + + Gets a function to get the additional objects for the registration of each type. Defaults to no injection members. + + + + + + Provides a set of convenience overloads to the + interface to support registration of multiple types. + + + + + Registers the supplied types by using the specified rules for name, lifetime manager, injection members, and registration types. + + The container to configure. + The types to register. The methods in the class can be used to scan assemblies to get types, and further filtering can be performed using LINQ queries. + A function that gets the types that will be requested for each type to configure. It can be a method from the class or a custom function. Defaults to no registration types, and registers only the supplied types. + A function that gets the name to use for the registration of each type. It can be a method from the or a custom function. Defaults to no name. + A function that gets the for the registration of each type. It can be a method from the class or a custom function. Defaults to no lifetime management. + A function that gets the additional objects for the registration of each type. Defaults to no injection members. + to overwrite existing mappings; otherwise, . Defaults to . + + The container that this method was called on. + + A new registration would overwrite an existing mapping and is . + + + + Registers the types according to the . + + The container to configure. + The convention to determine which types will be registered and how. + to overwrite existing mappings; otherwise, . Defaults to . + + The container that this method was called on. + + + + + Provides helper methods to specify the lifetime for a type with registration by convention. + + + + + Returns a . + + The type. + A lifetime manager + + + + Returns a . + + The type. + A container controlled lifetime manager. + + + + Returns a . + + The type. + An externally controlled lifetime manager. + + + + Returns a . + + The type. + A hierarchical lifetime manager. + + + + Returns a . + + The type. + A per resolve lifetime manager. + + + + Returns a . + + The type. + A transient lifetime manager. + + + + Returns a . + + The custom type. + The type. + + A lifetime manager. + + + + + Returns a . + + The type. + A per thread lifetime manager. + + + + Provides helper methods to map types to the types interfaces to which register them. + + + + + Returns no types. + + The type to register. + An empty enumeration. + + + + Returns an enumeration with the interface that matches the name of . + + The type to register. + An enumeration with the first interface matching the name of (for example, if type is MyType, a matching interface is IMyType), + or an empty enumeration if no such interface is found. + + + + Returns an enumeration with all the interfaces implemented by . + + The type to register. + An enumeration with all the interfaces implemented by the implementation type except . + + + + Returns an enumeration with all the interfaces implemented by that belong to the same assembly as implementationType. + + The type to register. + An enumeration with all the interfaces implemented by the implementation type that belong to the same assembly. + + + + Provides helper methods to get type names. + + + + + Returns the type name. + + The type. + The type name. + + + + Returns null for the registration name. + + The type. + + + + diff --git a/src/packages/Unity.4.0.1/lib/wp80/Microsoft.Practices.Unity.RegistrationByConvention.dll b/src/packages/Unity.4.0.1/lib/wp80/Microsoft.Practices.Unity.RegistrationByConvention.dll new file mode 100644 index 0000000000000000000000000000000000000000..e65d0d727187d1b07cc7eed58ad7cef401e5a641 GIT binary patch literal 23040 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 Z=G*>LDJI(~^yY(ayX5~b@c#e={x_&(Z`=R? literal 0 HcmV?d00001 diff --git a/src/packages/Unity.4.0.1/lib/wp80/Microsoft.Practices.Unity.xml b/src/packages/Unity.4.0.1/lib/wp80/Microsoft.Practices.Unity.xml new file mode 100644 index 0000000..f99ca70 --- /dev/null +++ b/src/packages/Unity.4.0.1/lib/wp80/Microsoft.Practices.Unity.xml @@ -0,0 +1,5916 @@ + + + + Microsoft.Practices.Unity + + + + + Provides access to the names registered for a container. + + + + + Represents a builder policy interface. Since there are no fixed requirements + for policies, it acts as a marker interface from which to derive all other + policy interfaces. + + + + + Gets the names registered for a type. + + The type. + The names registered for . + + + + An implementation + that constructs a build plan for creating objects. + + + + + A that can create and return an + for the given build key. + + + + + Create a build plan using the given context and build key. + + Current build context. + Current build key. + The build plan. + + + + Creates a build plan using the given context and build key. + + Current build context. + Current build key. + + The build plan. + + + + + Provides extension methods to the class due to the introduction + of class in the .NET for Windows Store apps. + + + + + Returns the constructor in that matches the specified constructor parameter types. + + The type to inspect + The constructor parameter types. + The constructor that matches the specified parameter types. + + + + Returns the non-static declared methods of a type or its base types. + + The type to inspect + An enumerable of the objects. + + + + Returns the non-static method of a type or its based type. + + The type to inspect + The name of the method to seek. + The (closed) parameter type signature of the method. + The discovered + + + + Returns the declared properties of a type or its base types. + + The type to inspect + An enumerable of the objects. + + + + Determines if the types in a parameter set ordinally matches the set of supplied types. + + + + + + + + Base class for attributes that can be placed on parameters + or properties to specify how to resolve the value for + that parameter or property. + + + + + Create an instance of that + will be used to get the value for the member this attribute is + applied to. + + Type of parameter or property that + this attribute is decoration. + The resolver object. + + + + This attribute is used to indicate which constructor to choose when + the container attempts to build a type. + + + + + This attribute is used to mark methods that should be called when + the container is building an object. + + + + + This attribute is used to mark properties and parameters as targets for injection. + + + For properties, this attribute is necessary for injection to happen. For parameters, + it's not needed unless you want to specify additional information to control how + the parameter is resolved. + + + + + Create an instance of with no name. + + + + + Create an instance of with the given name. + + Name to use when resolving this dependency. + + + + Create an instance of that + will be used to get the value for the member this attribute is + applied to. + + Type of parameter or property that + this attribute is decoration. + The resolver object. + + + + The name specified in the constructor. + + + + + An used to mark a dependency + as optional - the container will try to resolve it, and return null + if the resolution fails rather than throw. + + + + + Construct a new object. + + + + + Construct a new object that + specifies a named dependency. + + Name of the dependency. + + + + Create an instance of that + will be used to get the value for the member this attribute is + applied to. + + Type of parameter or property that + this attribute is decoration. + The resolver object. + + + + Name of the dependency. + + + + + A that composites other + ResolverOverride objects. The GetResolver operation then + returns the resolver from the first child override that + matches the current context and request. + + + + + Base class for all override objects passed in the + method. + + + + + Return a that can be used to give a value + for the given desired dependency. + + Current build context. + Type of dependency desired. + a object if this override applies, null if not. + + + + Wrap this resolver in one that verifies the type of the object being built. + This allows you to narrow any override down to a specific type easily. + + Type to constrain the override to. + The new override. + + + + Wrap this resolver in one that verifies the type of the object being built. + This allows you to narrow any override down to a specific type easily. + + Type to constrain the override to. + The new override. + + + + Add a new to the collection + that is checked. + + item to add. + + + + Add a set of s to the collection. + + items to add. + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + 2 + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + 1 + + + + Return a that can be used to give a value + for the given desired dependency. + + Current build context. + Type of dependency desired. + a object if this override applies, null if not. + + + + Class that returns information about the types registered in a container. + + + + + The type that was passed to the method + as the "from" type, or the only type if type mapping wasn't done. + + + + + The type that this registration is mapped to. If no type mapping was done, the + property and this one will have the same value. + + + + + Name the type was registered under. Null for default registration. + + + + + The registered lifetime manager instance. + + + + + The lifetime manager for this registration. + + + This property will be null if this registration is for an open generic. + + + + A class that overrides + the value injected whenever there is a dependency of the + given type, regardless of where it appears in the object graph. + + + + + Create an instance of to override + the given type with the given value. + + Type of the dependency. + Value to use. + + + + Return a that can be used to give a value + for the given desired dependency. + + Current build context. + Type of dependency desired. + a object if this override applies, null if not. + + + + A convenience version of that lets you + specify the dependency type using generic syntax. + + Type of the dependency to override. + + + + Construct a new object that will + override the given dependency, and pass the given value. + + + + + A convenience form of that lets you + specify multiple parameter overrides in one shot rather than having + to construct multiple objects. + + + This class isn't really a collection, it just implements IEnumerable + so that we get use of the nice C# collection initializer syntax. + + + + + Base helper class for creating collections of objects + for use in passing a bunch of them to the resolve call. This base class provides + the mechanics needed to allow you to use the C# collection initializer syntax. + + Concrete type of the this class collects. + Key used to create the underlying override object. + Value that the override returns. + + + + Add a new override to the collection with the given key and value. + + Key - for example, a parameter or property name. + Value - the value to be returned by the override. + + + + Return a that can be used to give a value + for the given desired dependency. + + Current build context. + Type of dependency desired. + a object if this override applies, null if not. + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + 2 + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + 1 + + + + When implemented in derived classes, this method is called from the + method to create the actual objects. + + Key value to create the resolver. + Value to store in the resolver. + The created . + + + + When implemented in derived classes, this method is called from the + method to create the actual objects. + + Key value to create the resolver. + Value to store in the resolver. + The created . + + + + Event argument class for the event. + + + + + Construct a new object with the + given child container object. + + An for the newly created child + container. + + + + The newly created child container. + + + + + An extension context for the created child container. + + + + + Base class for subclasses that let you specify that + an instance of a generic type parameter should be resolved. + + + + + Base type for objects that are used to configure parameters for + constructor or method injection, or for getting the value to + be injected into a property. + + + + + Test to see if this parameter value has a matching type for the given type. + + Type to check. + True if this parameter value is compatible with type , + false if not. + + + + Return a instance that will + return this types value for the parameter. + + Type that contains the member that needs this parameter. Used + to resolve open generic parameters. + The . + + + + Convert the given set of arbitrary values to a sequence of InjectionParameterValue + objects. The rules are: If it's already an InjectionParameterValue, return it. If + it's a Type, return a ResolvedParameter object for that type. Otherwise return + an InjectionParameter object for that value. + + The values to build the sequence from. + The resulting converted sequence. + + + + Convert an arbitrary value to an InjectionParameterValue object. The rules are: + If it's already an InjectionParameterValue, return it. If it's a Type, return a + ResolvedParameter object for that type. Otherwise return an InjectionParameter + object for that value. + + The value to convert. + The resulting . + + + + Name for the type represented by this . + This may be an actual type name or a generic argument name. + + + + + Create a new instance that specifies + that the given named generic parameter should be resolved. + + The generic parameter name to resolve. + + + + Create a new instance that specifies + that the given named generic parameter should be resolved. + + The generic parameter name to resolve. + name to use when looking up in the container. + + + + Test to see if this parameter value has a matching type for the given type. + + Type to check. + True if this parameter value is compatible with type , + false if not. + + + + Return a instance that will + return this types value for the parameter. + + Type that contains the member that needs this parameter. Used + to resolve open generic parameters. + The . + + + + Return a instance that will + return this types value for the parameter. + + The actual type to resolve. + The resolution key. + The . + + + + Name for the type represented by this . + This may be an actual type name or a generic argument name. + + + + + A that lets you specify that + an instance of a generic type parameter should be resolved, providing the + value if resolving fails. + + + + + Create a new instance that specifies + that the given named generic parameter should be resolved. + + The generic parameter name to resolve. + + + + Create a new instance that specifies + that the given named generic parameter should be resolved. + + The generic parameter name to resolve. + name to use when looking up in the container. + + + + Return a instance that will + return this types value for the parameter. + + The actual type to resolve. + The resolution key. + The . + + + + A class that lets you specify a factory method the container + will use to create the object. + + This is a significantly easier way to do the same + thing the old static factory extension was used for. + + + + Base class for objects that can be used to configure what + class members get injected by the container. + + + + + Add policies to the to configure the + container to call this constructor with the appropriate parameter values. + + Type to register. + Policy list to add policies to. + + + + Add policies to the to configure the + container to call this constructor with the appropriate parameter values. + + Type of interface being registered. If no interface, + this will be null. + Type of concrete type being registered. + Name used to resolve the type object. + Policy list to add policies to. + + + + Create a new instance of with + the given factory function. + + Factory function. + + + + Create a new instance of with + the given factory function. + + Factory function. + + + + Add policies to the to configure the + container to call this constructor with the appropriate parameter values. + + Type of interface being registered. If no interface, + this will be null. This parameter is ignored in this implementation. + Type of concrete type being registered. + Name used to resolve the type object. + Policy list to add policies to. + + + + A that can be passed to + to configure a + parameter or property as an optional dependency. + + + + + A base class for implementing classes + that deal in explicit types. + + + + + Create a new that exposes + information about the given . + + Type of the parameter. + + + + Test to see if this parameter value has a matching type for the given type. + + Type to check. + True if this parameter value is compatible with type , + false if not. + + + + The type of parameter this object represents. + + + + + Name for the type represented by this . + This may be an actual type name or a generic argument name. + + + + + Construct a new object that + specifies the given . + + Type of the dependency. + + + + Construct a new object that + specifies the given and . + + Type of the dependency. + Name for the dependency. + + + + Return a instance that will + return this types value for the parameter. + + Type that contains the member that needs this parameter. Used + to resolve open generic parameters. + The . + + + + A generic version of that lets you + specify the type of the dependency using generics syntax. + + Type of the dependency. + + + + Construct a new . + + + + + Construct a new with the given + . + + Name of the dependency. + + + + A special lifetime manager which works like , + except that in the presence of child containers, each child gets it's own instance + of the object, instead of sharing one in the common parent. + + + + + A that holds onto the instance given to it. + When the is disposed, + the instance is disposed with it. + + + + + Base class for Lifetime managers which need to synchronize calls to + . + + + + The purpose of this class is to provide a basic implementation of the lifetime manager synchronization pattern. + + + Calls to the method of a + instance acquire a lock, and if the instance has not been initialized with a value yet the lock will only be released + when such an initialization takes place by calling the method or if + the build request which resulted in the call to the GetValue method fails. + + + + + + + Base class for Lifetime managers - classes that control how + and when instances are created by the Unity container. + + + + + A that controls how instances are + persisted and recovered from an external store. Used to implement + things like singletons and per-http-request lifetime. + + + + + Retrieve a value from the backing store associated with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + + + + Stores the given value into backing store for retrieval later. + + The object to store. + + + + Remove the value this lifetime policy is managing from backing store. + + + + + Retrieve a value from the backing store associated with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + + + + Stores the given value into backing store for retrieval later. + + The object being stored. + + + + Remove the given object from backing store. + + + + + This interface provides a hook for the builder context to + implement error recovery when a builder strategy throws + an exception. Since we can't get try/finally blocks onto + the call stack for later stages in the chain, we instead + add these objects to the context. If there's an exception, + all the current IRequiresRecovery instances will have + their Recover methods called. + + + + + A method that does whatever is needed to clean up + as part of cleaning up after an exception. + + + Don't do anything that could throw in this method, + it will cause later recover operations to get skipped + and play real havoc with the stack trace. + + + + + Retrieve a value from the backing store associated with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + Calls to this method acquire a lock which is released only if a non-null value + has been set for the lifetime manager. + + + + Performs the actual retrieval of a value from the backing store associated + with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + This method is invoked by + after it has acquired its lock. + + + + Stores the given value into backing store for retrieval later. + + The object being stored. + Setting a value will attempt to release the lock acquired by + . + + + + Performs the actual storage of the given value into backing store for retrieval later. + + The object being stored. + This method is invoked by + before releasing its lock. + + + + Remove the given object from backing store. + + + + + A method that does whatever is needed to clean up + as part of cleaning up after an exception. + + + Don't do anything that could throw in this method, + it will cause later recover operations to get skipped + and play real havoc with the stack trace. + + + + + Retrieve a value from the backing store associated with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + + + + Stores the given value into backing store for retrieval later. + + The object being stored. + + + + Remove the given object from backing store. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Standard Dispose pattern implementation. Not needed, but it keeps FxCop happy. + + Always true, since we don't have a finalizer. + + + + This is a custom lifetime manager that acts like , + but also provides a signal to the default build plan, marking the type so that + instances are reused across the build up object graph. + + + + + Construct a new object that does not + itself manage an instance. + + + + + Construct a new object that stores the + give value. This value will be returned by + but is not stored in the lifetime manager, nor is the value disposed. + This Lifetime manager is intended only for internal use, which is why the + normal method is not used here. + + Value to store. + + + + Retrieve a value from the backing store associated with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + + + + Stores the given value into backing store for retrieval later. In this class, + this is a noop, since it has special hooks down in the guts. + + The object being stored. + + + + Remove the given object from backing store. Noop in this class. + + + + + A strategy that handles Hierarchical lifetimes across a set of parent/child + containers. + + + + + Represents a strategy in the chain of responsibility. + Strategies are required to support both BuildUp and TearDown. + + + + + Represents a strategy in the chain of responsibility. + Strategies are required to support both BuildUp and TearDown. Although you + can implement this interface directly, you may also choose to use + as the base class for your strategies, as + this class provides useful helper methods and makes support BuildUp and TearDown + optional. + + + + + Called during the chain of responsibility for a build operation. The + PreBuildUp method is called when the chain is being executed in the + forward direction. + + Context of the build operation. + + + + Called during the chain of responsibility for a build operation. The + PostBuildUp method is called when the chain has finished the PreBuildUp + phase and executes in reverse order from the PreBuildUp calls. + + Context of the build operation. + + + + Called during the chain of responsibility for a teardown operation. The + PreTearDown method is called when the chain is being executed in the + forward direction. + + Context of the teardown operation. + + + + Called during the chain of responsibility for a teardown operation. The + PostTearDown method is called when the chain has finished the PreTearDown + phase and executes in reverse order from the PreTearDown calls. + + Context of the teardown operation. + + + + Called during the chain of responsibility for a build operation. The + PreBuildUp method is called when the chain is being executed in the + forward direction. + + Context of the build operation. + + + + Called during the chain of responsibility for a build operation. The + PostBuildUp method is called when the chain has finished the PreBuildUp + phase and executes in reverse order from the PreBuildUp calls. + + Context of the build operation. + + + + Called during the chain of responsibility for a teardown operation. The + PreTearDown method is called when the chain is being executed in the + forward direction. + + Context of the teardown operation. + + + + Called during the chain of responsibility for a teardown operation. The + PostTearDown method is called when the chain has finished the PreTearDown + phase and executes in reverse order from the PreTearDown calls. + + Context of the teardown operation. + + + + Called during the chain of responsibility for a build operation. The + PreBuildUp method is called when the chain is being executed in the + forward direction. + + Context of the build operation. + + + + A that will attempt to + resolve a value, and return null if it cannot rather than throwing. + + + + + A strategy that is used at build plan execution time + to resolve a dependent value. + + + + + Get the value for a dependency. + + Current build context. + The value for the dependency. + + + + Construct a new object + that will attempt to resolve the given name and type from the container. + + Type to resolve. Must be a reference type. + Name to resolve with. + + + + Construct a new object + that will attempt to resolve the given type from the container. + + Type to resolve. Must be a reference type. + + + + Get the value for a dependency. + + Current build context. + The value for the dependency. + + + + Type this resolver will resolve. + + + + + Name this resolver will resolve. + + + + + Extension methods on to provide convenience + overloads (generic versions, mostly). + + + + + Removes an individual policy type for a build key. + + The type the policy was registered as. + to remove the policy from. + The key the policy applies. + + + + Removes a default policy. + + The type the policy was registered as. + to remove the policy from. + + + + Gets an individual policy. + + The interface the policy is registered under. + to search. + The key the policy applies. + The policy in the list, if present; returns null otherwise. + + + + Gets an individual policy. + + The interface the policy is registered under. + to search. + The key the policy applies. + The policy list that actually contains the returned policy. + The policy in the list, if present; returns null otherwise. + + + + Gets an individual policy. + + to search. + The interface the policy is registered under. + The key the policy applies. + The policy in the list, if present; returns null otherwise. + + + + Gets an individual policy. + + to search. + The interface the policy is registered under. + The key the policy applies. + The policy list that actually contains the returned policy. + The policy in the list, if present; returns null otherwise. + + + + Gets an individual policy. + + The interface the policy is registered under. + to search. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy in the list, if present; returns null otherwise. + + + + Gets an individual policy. + + The interface the policy is registered under. + to search. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy list that actually contains the returned policy. + The policy in the list, if present; returns null otherwise. + + + + Gets an individual policy. + + to search. + The interface the policy is registered under. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy in the list, if present; returns null otherwise. + + + + Get the non default policy. + + The interface the policy is registered under. + to search. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy in the list, if present; returns null otherwise. + + + + Get the non default policy. + + The interface the policy is registered under. + to search. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy list that actually contains the returned policy. + The policy in the list, if present; returns null otherwise. + + + + Get the non default policy. + + to search. + The interface the policy is registered under. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy in the list, if present; returns null otherwise. + + + + Sets an individual policy. + + The interface the policy is registered under. + to add the policy to. + The policy to be registered. + The key the policy applies. + + + + Sets a default policy. When checking for a policy, if no specific individual policy + is available, the default will be used. + + The interface to register the policy under. + to add the policy to. + The default policy to be registered. + + + + Base class for the current operation stored in the build context. + + + + + Create a new . + + Type currently being built. + + + + The type that's currently being built. + + + + + Build plan for that will return a Func that will resolve the requested type + through this container later. + + + + + A build plan is an object that, when invoked, will create a new object + or fill in a given existing one. It encapsulates all the information + gathered by the strategies to construct a particular object. + + + + + Creates an instance of this build plan's type, or fills + in the existing type if passed in. + + Context used to build up the object. + + + + Creates an instance of this build plan's type, or fills + in the existing type if passed in. + + Context used to build up the object. + + + + The almost inevitable collection of extra helper methods on + to augment the rich set of what + LINQ already gives us. + + + + + Execute the provided on every item in . + + Type of the items stored in + Sequence of items to process. + Code to run over each item. + + + + Create a single string from a sequence of items, separated by the provided , + and with the conversion to string done by the given . + + This method does basically the same thing as , + but will work on any sequence of items, not just arrays. + Type of items in the sequence. + Sequence of items to convert. + Separator to place between the items in the string. + The conversion function to change TItem -> string. + The resulting string. + + + + Create a single string from a sequence of items, separated by the provided , + and with the conversion to string done by the item's method. + + This method does basically the same thing as , + but will work on any sequence of items, not just arrays. + Type of items in the sequence. + Sequence of items to convert. + Separator to place between the items in the string. + The resulting string. + + + + A class that lets you + override a named parameter passed to a constructor. + + + + + Construct a new object that will + override the given named constructor parameter, and pass the given + value. + + Name of the constructor parameter. + Value to pass for the constructor. + + + + Return a that can be used to give a value + for the given desired dependency. + + Current build context. + Type of dependency desired. + a object if this override applies, null if not. + + + + A convenience form of that lets you + specify multiple parameter overrides in one shot rather than having + to construct multiple objects. + + + + + When implemented in derived classes, this method is called from the + method to create the actual objects. + + Key value to create the resolver. + Value to store in the resolver. + The created . + + + + A that lets you override + the value for a specified property. + + + + + Create an instance of . + + The property name. + Value to use for the property. + + + + Return a that can be used to give a value + for the given desired dependency. + + Current build context. + Type of dependency desired. + a object if this override applies, null if not. + + + + A convenience form of that lets you + specify multiple property overrides in one shot rather than having + to construct multiple objects. + + + + + When implemented in derived classes, this method is called from the + method to create the actual objects. + + Key value to create the resolver. + Value to store in the resolver. + The created . + + + + Interface defining the configuration interface exposed by the + Static Factory extension. + + + + + Base interface for all extension configuration interfaces. + + + + + Retrieve the container instance that we are currently configuring. + + + + + Register the given factory delegate to be called when the container is + asked to resolve . + + Type that will be requested from the container. + Delegate to invoke to create the instance. + The container extension object this method was invoked on. + + + + Register the given factory delegate to be called when the container is + asked to resolve and . + + Type that will be requested from the container. + The name that will be used when requesting to resolve this type. + Delegate to invoke to create the instance. + The container extension object this method was invoked on. + + + + Represents the context in which a build-up or tear-down operation runs. + + + + + Represents the context in which a build-up or tear-down operation runs. + + + + + Add a new set of resolver override objects to the current build operation. + + objects to add. + + + + Get a object for the given + or null if that dependency hasn't been overridden. + + Type of the dependency. + Resolver to use, or null if no override matches for the current operation. + + + + A convenience method to do a new buildup operation on an existing context. + + Key to use to build up. + Created object. + + + + A convenience method to do a new buildup operation on an existing context. This + overload allows you to specify extra policies which will be in effect for the duration + of the build. + + Key defining what to build up. + A delegate that takes a . This + is invoked with the new child context before the build up process starts. This gives callers + the opportunity to customize the context for the build process. + Created object. + + + + Gets the head of the strategy chain. + + + The strategy that's first in the chain; returns null if there are no + strategies in the chain. + + + + + Gets the associated with the build. + + + The associated with the build. + + + + + Gets the original build key for the build operation. + + + The original build key for the build operation. + + + + + Get the current build key for the current build operation. + + + + + The set of policies that were passed into this context. + + This returns the policies passed into the context. + Policies added here will remain after buildup completes. + The persistent policies for the current context. + + + + Gets the policies for the current context. + + Any policies added to this object are transient + and will be erased at the end of the buildup. + + The policies for the current context. + + + + + Gets the collection of objects + that need to execute in event of an exception. + + + + + The current object being built up or torn down. + + + The current object being manipulated by the build operation. May + be null if the object hasn't been created yet. + + + + Flag indicating if the build operation should continue. + + true means that building should not call any more + strategies, false means continue to the next strategy. + + + + An object representing what is currently being done in the + build chain. Used to report back errors if there's a failure. + + + + + The build context used to resolve a dependency during the build operation represented by this context. + + + + + Initialize a new instance of the class. + + + + + Initialize a new instance of the class with a , + , and the + build key used to start this build operation. + + The to use for this context. + The to use for this context. + The to use for this context. + Build key to start building. + The existing object to build up. + + + + Create a new using the explicitly provided + values. + + The to use for this context. + The to use for this context. + The set of persistent policies to use for this context. + The set of transient policies to use for this context. It is + the caller's responsibility to ensure that the transient and persistent policies are properly + combined. + Build key for this context. + Existing object to build up. + + + + Create a new using the explicitly provided + values. + + The to use for this context. + The to use for this context. + The set of persistent policies to use for this context. + The set of transient policies to use for this context. It is + the caller's responsibility to ensure that the transient and persistent policies are properly + combined. + Build key for this context. + The resolver overrides. + + + + Add a new set of resolver override objects to the current build operation. + + objects to add. + + + + Get a object for the given + or null if that dependency hasn't been overridden. + + Type of the dependency. + Resolver to use, or null if no override matches for the current operation. + + + + A convenience method to do a new buildup operation on an existing context. + + Key to use to build up. + Created object. + + + + A convenience method to do a new buildup operation on an existing context. This + overload allows you to specify extra policies which will be in effect for the duration + of the build. + + Key defining what to build up. + A delegate that takes a . This + is invoked with the new child context before the build up process starts. This gives callers + the opportunity to customize the context for the build process. + Created object. + + + + Gets the head of the strategy chain. + + + The strategy that's first in the chain; returns null if there are no + strategies in the chain. + + + + + Get the current build key for the current build operation. + + + + + The current object being built up or torn down. + + + The current object being manipulated by the build operation. May + be null if the object hasn't been created yet. + + + + Gets the associated with the build. + + + The associated with the build. + + + + + Gets the original build key for the build operation. + + + The original build key for the build operation. + + + + + The set of policies that were passed into this context. + + This returns the policies passed into the context. + Policies added here will remain after buildup completes. + The persistent policies for the current context. + + + + Gets the policies for the current context. + + + Any modifications will be transient (meaning, they will be forgotten when + the outer BuildUp for this context is finished executing). + + + The policies for the current context. + + + + + Gets the collection of objects + that need to execute in event of an exception. + + + + + Flag indicating if the build operation should continue. + + true means that building should not call any more + strategies, false means continue to the next strategy. + + + + An object representing what is currently being done in the + build chain. Used to report back errors if there's a failure. + + + + + The build context used to resolve a dependency during the build operation represented by this context. + + + + + Represents that a dependency could not be resolved. + + + + + Initializes a new instance of the class with no extra information. + + + + + Initializes a new instance of the class with the given message. + + Some random message. + + + + Initialize a new instance of the class with the given + message and inner exception. + + Some random message + Inner exception. + + + + Initializes a new instance of the class with the build key of the object begin built. + + The build key of the object begin built. + + + + The exception thrown when injection is attempted on a method + that is an open generic or has out or ref params. + + + + + Construct a new with no + message. + + + + + Construct a with the given message + + Message to return. + + + + Construct a with the given message + and inner exception. + + Message to return. + Inner exception + + + + Extension methods to provide convenience overloads over the + interface. + + + + + Start a recursive build up operation to retrieve the default + value for the given type. + + Type of object to build. + Parent context. + Resulting object. + + + + Start a recursive build up operation to retrieve the named + implementation for the given type. + + Type to resolve. + Parent context. + Name to resolve with. + The resulting object. + + + + Add a set of s to the context, specified as a + variable argument list. + + Context to add overrides to. + The overrides. + + + + Data structure that stores the set of + objects and executes them when requested. + + + + + Add a new object to this + list. + + Object to add. + + + + Execute the method + of everything in the recovery list. Recoveries will execute + in the opposite order of add - it's a stack. + + + + + Return the number of recovery objects currently in the stack. + + + + + Represents a lifetime container. + + + A lifetime container tracks the lifetime of an object, and implements + IDisposable. When the container is disposed, any objects in the + container which implement IDisposable are also disposed. + + + + + Adds an object to the lifetime container. + + The item to be added to the lifetime container. + + + + Determine if a given object is in the lifetime container. + + + The item to locate in the lifetime container. + + + Returns true if the object is contained in the lifetime + container; returns false otherwise. + + + + + Removes an item from the lifetime container. The item is + not disposed. + + The item to be removed. + + + + Gets the number of references in the lifetime container + + + The number of references in the lifetime container + + + + + Represents a lifetime container. + + + A lifetime container tracks the lifetime of an object, and implements + IDisposable. When the container is disposed, any objects in the + container which implement IDisposable are also disposed. + + + + + Adds an object to the lifetime container. + + The item to be added to the lifetime container. + + + + Determine if a given object is in the lifetime container. + + + The item to locate in the lifetime container. + + + Returns true if the object is contained in the lifetime + container; returns false otherwise. + + + + + Releases the resources used by the . + + + + + Releases the resources used by the . + + + true to release managed and unmanaged resources; false to release only unmanaged resources. + + + + + Returns an enumerator that iterates through the lifetime container. + + + An object that can be used to iterate through the life time container. + + + + + Returns an enumerator that iterates through the lifetime container. + + + An object that can be used to iterate through the life time container. + + + + + Removes an item from the lifetime container. The item is + not disposed. + + The item to be removed. + + + + Gets the number of references in the lifetime container + + + The number of references in the lifetime container + + + + + A custom collection over objects. + + + + + Removes an individual policy type for a build key. + + The type of policy to remove. + The key the policy applies. + + + + Removes all policies from the list. + + + + + Removes a default policy. + + The type the policy was registered as. + + + + Gets an individual policy. + + The interface the policy is registered under. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy list in the chain that the searched for policy was found in, null if the policy was + not found. + The policy in the list, if present; returns null otherwise. + + + + Get the non default policy. + + The interface the policy is registered under. + The key the policy applies to. + True if the search should be in the local policy list only; otherwise false to search up the parent chain. + The policy list in the chain that the searched for policy was found in, null if the policy was + not found. + The policy in the list if present; returns null otherwise. + + + + Sets an individual policy. + + The of the policy. + The policy to be registered. + The key the policy applies. + + + + Sets a default policy. When checking for a policy, if no specific individual policy + is available, the default will be used. + + The interface to register the policy under. + The default policy to be registered. + + + + A custom collection wrapper over objects. + + + + + Initialize a new instance of a class. + + + + + Initialize a new instance of a class with another policy list. + + An inner policy list to search. + + + + Removes an individual policy type for a build key. + + The type of policy to remove. + The key the policy applies. + + + + Removes all policies from the list. + + + + + Removes a default policy. + + The type the policy was registered as. + + + + Gets an individual policy. + + The interface the policy is registered under. + The key the policy applies. + true if the policy searches local only; otherwise false to search up the parent chain. + The policy list in the chain that the searched for policy was found in, null if the policy was + not found. + The policy in the list, if present; returns null otherwise. + + + + Get the non default policy. + + The interface the policy is registered under. + The key the policy applies to. + True if the search should be in the local policy list only; otherwise false to search up the parent chain. + The policy list in the chain that the searched for policy was found in, null if the policy was + not found. + The policy in the list if present; returns null otherwise. + + + + Sets an individual policy. + + The of the policy. + The policy to be registered. + The key the policy applies. + + + + Sets a default policy. When checking for a policy, if no specific individual policy + is available, the default will be used. + + The interface to register the policy under. + The default policy to be registered. + + + + Gets the number of items in the locator. + + + The number of items in the locator. + + + + + An implementation of . + + + + + Add a new object to this + list. + + Object to add. + + + + Execute the method + of everything in the recovery list. Recoveries will execute + in the opposite order of add - it's a stack. + + + + + Return the number of recovery objects currently in the stack. + + + + + Implementation of which will notify an object about + the completion of a BuildUp operation, or start of a TearDown operation. + + + This strategy checks the object that is passing through the builder chain to see if it + implements IBuilderAware and if it does, it will call + and . This strategy is meant to be used from the + stage. + + + + + Called during the chain of responsibility for a build operation. The + PreBuildUp method is called when the chain is being executed in the + forward direction. + + Context of the build operation. + + + + Called during the chain of responsibility for a teardown operation. The + PreTearDown method is called when the chain is being executed in the + forward direction. + + Context of the teardown operation. + + + + Implemented on a class when it wants to receive notifications + about the build process. + + + + + Called by the when the object is being built up. + + The key of the object that was just built up. + + + + Called by the when the object is being torn down. + + + + + Enumeration to represent the object builder stages. + + + The order of the values in the enumeration is the order in which the stages are run. + + + + + Strategies in this stage run before creation. Typical work done in this stage might + include strategies that use reflection to set policies into the context that other + strategies would later use. + + + + + Strategies in this stage create objects. Typically you will only have a single policy-driven + creation strategy in this stage. + + + + + Strategies in this stage work on created objects. Typical work done in this stage might + include setter injection and method calls. + + + + + Strategies in this stage work on objects that are already initialized. Typical work done in + this stage might include looking to see if the object implements some notification interface + to discover when its initialization stage has been completed. + + + + + Represents a builder policy for mapping build keys. + + + + + Represents a builder policy for mapping build keys. + + + + + Maps the build key. + + The build key to map. + Current build context. Used for contextual information + if writing a more sophisticated mapping. This parameter can be null + (called when getting container registrations). + The new build key. + + + + Initialize a new instance of the with the new build key. + + The new build key. + + + + Maps the build key. + + The build key to map. + Current build context. Used for contextual information + if writing a more sophisticated mapping, unused in this implementation. + The new build key. + + + + Represents a strategy for mapping build keys in the build up operation. + + + + + Called during the chain of responsibility for a build operation. Looks for the + and if found maps the build key for the current operation. + + The context for the operation. + + + + An implementation of that can map + generic types. + + + + + Create a new instance + that will map generic types. + + Build key to map to. This must be or contain an open generic type. + + + + Maps the build key. + + The build key to map. + Current build context. Used for contextual information + if writing a more sophisticated mapping. + The new build key. + + + + A that will look for a build plan + in the current context. If it exists, it invokes it, otherwise + it creates one and stores it for later, and invokes it. + + + + + Called during the chain of responsibility for a build operation. + + The context for the operation. + + + + An implementation of that chooses + constructors based on these criteria: first, pick a constructor marked with the + attribute. If there + isn't one, then choose the constructor with the longest parameter list. If that is ambiguous, + then throw. + + Thrown when the constructor to choose is ambiguous. + Attribute used to mark the constructor to call. + + + + Base class that provides an implementation of + which lets you override how the parameter resolvers are created. + + + + + A that, when implemented, + will determine which constructor to call from the build plan. + + + + + Choose the constructor to call for the given type. + + Current build context + The to add any + generated resolver objects into. + The chosen constructor. + + + + Choose the constructor to call for the given type. + + Current build context + The to add any + generated resolver objects into. + The chosen constructor. + + + + Create a instance for the given + . + + Parameter to create the resolver for. + The resolver object. + + + + Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. + + The second object to compare. + The first object to compare. + + Value Condition Less than zero is less than y. Zero equals y. Greater than zero is greater than y. + + + + + Create a instance for the given + . + + Parameter to create the resolver for. + The resolver object. + + + + Objects of this type are the return value from . + It encapsulates the desired with the string keys + needed to look up the for each + parameter. + + + + + Base class for return values from selector policies that + return a MemberInfo of some sort plus a list of parameter + keys to look up the parameter resolvers. + + + + + Base class for return of selector policies that need + to keep track of a set of parameter resolvers. + + + + + Adds the parameter resolver. Resolvers are assumed + to be in the order of the parameters to the member. + + The new resolver. + + + + Gets the parameter resolvers. + + An array with the parameter resolvers. + + + + Construct a new , storing + the given member info. + + Member info to store. + + + + The member info stored. + + + + + Create a new instance which + contains the given constructor. + + The constructor to wrap. + + + + The constructor this object wraps. + + + + + This class records the information about which constructor argument is currently + being resolved, and is responsible for generating the error string required when + an error has occurred. + + + + + Initializes a new instance of the class. + + The type that is being constructed. + A string representing the constructor being called. + Parameter being resolved. + + + + Generate the string describing what parameter was being resolved. + + The description string. + + + + String describing the constructor being set up. + + + + + Parameter that's being resolved. + + + + + A that emits IL to call constructors + as part of creating a build plan. + + + + + Called during the chain of responsibility for a build operation. + + Existing object is an instance of . + The context for the operation. + + + + A helper method used by the generated IL to set up a PerResolveLifetimeManager lifetime manager + if the current object is such. + + Current build context. + + + + Build up the string that will represent the constructor signature + in any exception message. + + + + + + + A helper method used by the generated IL to store the current operation in the build context. + + + + + A helper method used by the generated IL to store the current operation in the build context. + + + + + A helper method used by the generated IL to throw an exception if + no existing object is present, but the user is attempting to build + an interface (usually due to the lack of a type mapping). + + The currently being + used for the build of this object. + + + + A helper method used by the generated IL to throw an exception if + no existing object is present, but the user is attempting to build + an abstract class (usually due to the lack of a type mapping). + + The currently being + used for the build of this object. + + + + A helper method used by the generated IL to throw an exception if + no existing object is present, but the user is attempting to build + an delegate other than Func{T} or Func{IEnumerable{T}}. + + The currently being + used for the build of this object. + + + + A helper method used by the generated IL to throw an exception if + a dependency cannot be resolved. + + The currently being + used for the build of this object. + + + + A helper method used by the generated IL to throw an exception if + a dependency cannot be resolved because of an invalid constructor. + + The currently being + used for the build of this object. + The signature of the invalid constructor. + + + + A class that records that a constructor is about to be call, and is + responsible for generating the error string required when + an error has occurred. + + + + + Initializes a new instance of the class. + + + + + Generate the description string. + + The string. + + + + Constructor we're trying to call. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Helper method used by generated IL to look up a dependency resolver based on the given key. + + Current build context. + Type of the dependency being resolved. + Key the resolver was stored under. + The found dependency resolver. + + + + Helper method used by generated IL to look up a dependency resolver based on the given key. + + Current build context. + Type of the dependency being resolved. + The configured resolver. + The found dependency resolver. + + + + The type that is to be built with the dynamic build plan. + + + + + The context parameter representing the used when the build plan is executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + An implementation + that constructs a build plan via dynamic IL emission. + + + + + Construct a that + uses the given strategy chain to construct the build plan. + + The strategy chain. + + + + Construct a build plan. + + The current build context. + The current build key. + The created build plan. + + + + A class that records that a constructor is about to be call, and is + responsible for generating the error string required when + an error has occurred. + + + + + Initializes a new instance of the class. + + + + + Generate the description string. + + The string. + + + + Method we're trying to call. + + + + + This class records the information about which constructor argument is currently + being resolved, and is responsible for generating the error string required when + an error has occurred. + + + + + Initializes a new instance of the class. + + The type that is being constructed. + A string representing the method being called. + Parameter being resolved. + + + + Generate the string describing what parameter was being resolved. + + The description string. + + + + String describing the method being set up. + + + + + Parameter that's being resolved. + + + + + A that generates IL to call + chosen methods (as specified by the current ) + as part of object build up. + + + + + Called during the chain of responsibility for a build operation. The + PreBuildUp method is called when the chain is being executed in the + forward direction. + + Context of the build operation. + + + + A helper method used by the generated IL to store the current operation in the build context. + + + + + A helper method used by the generated IL to store the current operation in the build context. + + + + + A base class that holds the information shared by all operations + performed by the container while setting properties. + + + + + Initializes a new instance of the class. + + + + + Generate the description of this operation. + + The string. + + + + Get a format string used to create the description. Called by + the base method. + + The format string. + + + + The property value currently being resolved. + + + + + This class records the information about which property value is currently + being resolved, and is responsible for generating the error string required when + an error has occurred. + + + + + Initializes a new instance of the class. + + + + + Get a format string used to create the description. Called by + the base method. + + The format string. + + + + A that generates IL to resolve properties + on an object being built. + + + + + Called during the chain of responsibility for a build operation. + + The context for the operation. + + + + A helper method used by the generated IL to store the current operation in the build context. + + + + + A helper method used by the generated IL to store the current operation in the build context. + + + + + This class records the information about which property value is currently + being set, and is responsible for generating the error string required when + an error has occurred. + + + + + Initializes a new instance of the class. + + Type property is on. + Name of property being set. + + + + Get a format string used to create the description. Called by + the base method. + + The format string. + + + + Creates an instance of this build plan's type, or fills + in the existing type if passed in. + + Context used to build up the object. + + + + An that will examine the given + types and return a sequence of objects + that should be called as part of building the object. + + + + + Return the sequence of methods to call while building the target object. + + Current build context. + The to add any + generated resolver objects into. + Sequence of methods to call. + + + + An implementation of that selects + methods by looking for the given + attribute on those methods. + + Type of attribute used to mark methods + to inject. + + + + Base class that provides an implementation of + which lets you override how the parameter resolvers are created. + + Attribute that marks methods that should + be called. + + + + Return the sequence of methods to call while building the target object. + + Current build context. + The to add any + generated resolver objects into. + Sequence of methods to call. + + + + Create a instance for the given + . + + Parameter to create the resolver for. + The resolver object. + + + + Create a instance for the given + . + + Parameter to create the resolver for. + The resolver object. + + + + Objects of this type are the return value from . + It encapsulates the desired with the string keys + needed to look up the for each + parameter. + + + + + Create a new instance which + contains the given method. + + The method + + + + The constructor this object wraps. + + + + + An that returns a sequence + of properties that should be injected for the given type. + + + + + Returns sequence of properties on the given type that + should be set as part of building that object. + + Current build context. + The to add any + generated resolver objects into. + Sequence of objects + that contain the properties to set. + + + + Base class that provides an implementation of + which lets you override how the parameter resolvers are created. + + + + + Returns sequence of properties on the given type that + should be set as part of building that object. + + Current build context. + The to add any + generated resolver objects into. + Sequence of objects + that contain the properties to set. + + + + Create a for the given + property. + + Property to create resolver for. + The resolver object. + + + + An implementation of that looks + for properties marked with the + attribute that are also settable and not indexers. + + + + + + Create a for the given + property. + + Property to create resolver for. + The resolver object. + + + + Objects of this type are returned from + . + This class combines the about + the property with the string key used to look up the resolver + for this property's value. + + + + + Create an instance of + with the given and key. + + The property. + + + + + PropertyInfo for this property. + + + + + IDependencyResolverPolicy for this property + + + + + Implementation of . + + + + + A builder policy that lets you keep track of the current + resolvers and will remove them from the given policy set. + + + + + Add a new resolver to track by key. + + Key that was used to add the resolver to the policy set. + + + + Remove the currently tracked resolvers from the given policy list. + + Policy list to remove the resolvers from. + + + + Add a new resolver to track by key. + + Key that was used to add the resolver to the policy set. + + + + Remove the currently tracked resolvers from the given policy list. + + Policy list to remove the resolvers from. + + + + Get an instance that implements , + either the current one in the policy set or creating a new one if it doesn't + exist. + + Policy list to look up from. + Build key to track. + The resolver tracker. + + + + Add a key to be tracked to the current tracker. + + Policy list containing the resolvers and trackers. + Build key for the resolvers being tracked. + Key for the resolver. + + + + Remove the resolvers for the given build key. + + Policy list containing the build key. + Build key. + + + + An implementation of that + calls back into the build chain to build up the dependency, passing + a type given at compile time as its build key. + + + + + Create a new instance storing the given type. + + Type to resolve. + + + + Get the value for a dependency. + + Current build context. + The value for the dependency. + + + + This interface defines a standard method to convert any regardless + of the stage enum into a regular, flat strategy chain. + + + + + Convert this into + a flat . + + The flattened . + + + + Represents a chain of responsibility for builder strategies. + + + + + Reverse the order of the strategy chain. + + The reversed strategy chain. + + + + Execute this strategy chain against the given context, + calling the Buildup methods on the strategies. + + Context for the build process. + The build up object + + + + Execute this strategy chain against the given context, + calling the TearDown methods on the strategies. + + Context for the teardown process. + + + + A builder policy used to create lifetime policy instances. + Used by the LifetimeStrategy when instantiating open + generic types. + + + + + Create a new instance of . + + The new instance. + + + + The type of Lifetime manager that will be created by this factory. + + + + + An implementation that uses + a to figure out if an object + has already been created and to update or remove that + object from some backing store. + + + + + Called during the chain of responsibility for a build operation. The + PreBuildUp method is called when the chain is being executed in the + forward direction. + + Context of the build operation. + + + + Called during the chain of responsibility for a build operation. The + PostBuildUp method is called when the chain has finished the PreBuildUp + phase and executes in reverse order from the PreBuildUp calls. + + Context of the build operation. + + + + Represents a chain of responsibility for builder strategies partitioned by stages. + + The stage enumeration to partition the strategies. + + + + Initialize a new instance of the class. + + + + + Initialize a new instance of the class with an inner strategy chain to use when building. + + The inner strategy chain to use first when finding strategies in the build operation. + + + + Adds a strategy to the chain at a particular stage. + + The strategy to add to the chain. + The stage to add the strategy. + + + + Add a new strategy for the . + + The of + The stage to add the strategy. + + + + Clear the current strategy chain list. + + + This will not clear the inner strategy chain if this instance was created with one. + + + + + Makes a strategy chain based on this instance. + + A new . + + + + Represents a chain of responsibility for builder strategies. + + + + + Initialize a new instance of the class. + + + + + Initialize a new instance of the class with a collection of strategies. + + A collection of strategies to initialize the chain. + + + + Adds a strategy to the chain. + + The strategy to add to the chain. + + + + Adds strategies to the chain. + + The strategies to add to the chain. + + + + Reverse the order of the strategy chain. + + The reversed strategy chain. + + + + Execute this strategy chain against the given context to build up. + + Context for the build processes. + The build up object + + + + Execute this strategy chain against the given context, + calling the TearDown methods on the strategies. + + Context for the teardown process. + + + + Returns an enumerator that iterates through the collection. + + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + + An object that can be used to iterate through the collection. + + + + + Build key used to combine a type object with a string name. Used by + ObjectBuilder to indicate exactly what is being built. + + + + + Create a new instance with the given + type and name. + + to build. + Key to use to look up type mappings and singletons. + + + + Create a new instance for the default + buildup of the given type. + + to build. + + + + This helper method creates a new instance. It is + initialized for the default key for the given type. + + Type to build. + A new instance. + + + + This helper method creates a new instance for + the given type and key. + + Type to build + Key to use to look up type mappings and singletons. + A new instance initialized with the given type and name. + + + + Compare two instances. + + Two instances compare equal + if they contain the same name and the same type. Also, comparing + against a different type will also return false. + Object to compare to. + True if the two keys are equal, false if not. + + + + Calculate a hash code for this instance. + + A hash code. + + + + Compare two instances for equality. + + Two instances compare equal + if they contain the same name and the same type. + First of the two keys to compare. + Second of the two keys to compare. + True if the values of the keys are the same, else false. + + + + Compare two instances for inequality. + + Two instances compare equal + if they contain the same name and the same type. If either field differs + the keys are not equal. + First of the two keys to compare. + Second of the two keys to compare. + false if the values of the keys are the same, else true. + + + + Formats the build key as a string (primarily for debugging). + + A readable string representation of the build key. + + + + Return the stored in this build key. + + The type to build. + + + + Returns the name stored in this build key. + + The name to use when building. + + + + A generic version of so that + you can new up a key using generic syntax. + + Type for the key. + + + + Construct a new that + specifies the given type. + + + + + Construct a new that + specifies the given type and name. + + Name for the key. + + + + A series of helper methods to deal with sequences - + objects that implement . + + + + + A function that turns an arbitrary parameter list into an + . + + Type of arguments. + The items to put into the collection. + An array that contains the values of the . + + + + Given two sequences, return a new sequence containing the corresponding values + from each one. + + Type of first sequence. + Type of second sequence. + First sequence of items. + Second sequence of items. + New sequence of pairs. This sequence ends when the shorter of sequence1 and sequence2 does. + + + + A that lets you register a + delegate with the container to create an object, rather than calling + the object's constructor. + + + + + Base class for all extension objects. + + + + + The container calls this method when the extension is added. + + A instance that gives the + extension access to the internals of the container. + + + + Initial the container with this extension's functionality. + + + When overridden in a derived class, this method will modify the given + by adding strategies, policies, etc. to + install it's functions into the container. + + + + Removes the extension's functions from the container. + + + + This method is called when extensions are being removed from the container. It can be + used to do things like disconnect event handlers or clean up member state. You do not + need to remove strategies or policies here; the container will do that automatically. + + + The default implementation of this method does nothing. + + + + + The container this extension has been added to. + + The that this extension has been added to. + + + + The object used to manipulate + the inner state of the container. + + + + + Initialize this extension. This particular extension requires no + initialization work. + + + + + Register the given factory delegate to be called when the container is + asked to resolve and . + + Type that will be requested from the container. + The name that will be used when requesting to resolve this type. + Delegate to invoke to create the instance. + The container extension object this method was invoked on. + + + + Register the given factory delegate to be called when the container is + asked to resolve . + + Type that will be requested from the container. + Delegate to invoke to create the instance. + The container extension object this method was invoked on. + + + + An implementation of that + acts as a decorator over another . + This checks to see if the current type being built is the + right one before checking the inner . + + + + + Create an instance of + + Type to check for. + Inner override to check after type matches. + + + + Return a that can be used to give a value + for the given desired dependency. + + Current build context. + Type of dependency desired. + a object if this override applies, null if not. + + + + A convenience version of that lets you + specify the type to construct via generics syntax. + + Type to check for. + + + + Create an instance of . + + Inner override to check after type matches. + + + + Extension class that adds a set of convenience overloads to the + interface. + + + + + Register a type with specific members to be injected. + + Type this registration is for. + Container to configure. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type mapping with the container. + + + + This method is used to tell the container that when asked for type , + actually return an instance of type . This is very useful for + getting instances of interfaces. + + + This overload registers a default mapping and transient lifetime. + + + that will be requested. + that will actually be returned. + Container to configure. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type mapping with the container, where the created instances will use + the given . + + that will be requested. + that will actually be returned. + Container to configure. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type mapping with the container. + + + This method is used to tell the container that when asked for type , + actually return an instance of type . This is very useful for + getting instances of interfaces. + + that will be requested. + that will actually be returned. + Container to configure. + Name of this mapping. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type mapping with the container, where the created instances will use + the given . + + that will be requested. + that will actually be returned. + Container to configure. + Name to use for registration, null if a default registration. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a for the given type with the container. + No type mapping is performed for this type. + + The type to apply the to. + Container to configure. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a for the given type with the container. + No type mapping is performed for this type. + + The type to configure injection on. + Container to configure. + Name that will be used to request the type. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a for the given type and name with the container. + No type mapping is performed for this type. + + The type to apply the to. + Container to configure. + Name that will be used to request the type. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type with specific members to be injected. + + Container to configure. + Type this registration is for. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type mapping with the container. + + + + This method is used to tell the container that when asked for type , + actually return an instance of type . This is very useful for + getting instances of interfaces. + + + This overload registers a default mapping. + + + Container to configure. + that will be requested. + that will actually be returned. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type mapping with the container. + + + This method is used to tell the container that when asked for type , + actually return an instance of type . This is very useful for + getting instances of interfaces. + + Container to configure. + that will be requested. + that will actually be returned. + Name to use for registration, null if a default registration. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a type mapping with the container, where the created instances will use + the given . + + Container to configure. + that will be requested. + that will actually be returned. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a for the given type and name with the container. + No type mapping is performed for this type. + + Container to configure. + The to apply the to. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a for the given type and name with the container. + No type mapping is performed for this type. + + Container to configure. + The to configure in the container. + Name to use for registration, null if a default registration. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register a for the given type and name with the container. + No type mapping is performed for this type. + + Container to configure. + The to apply the to. + Name to use for registration, null if a default registration. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + This overload does a default registration and has the container take over the lifetime of the instance. + + Type of instance to register (may be an implemented interface instead of the full type). + Container to configure. + Object to returned. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + This overload does a default registration (name = null). + + + Type of instance to register (may be an implemented interface instead of the full type). + Container to configure. + Object to returned. + + object that controls how this instance will be managed by the container. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + This overload automatically has the container take ownership of the . + + Type of instance to register (may be an implemented interface instead of the full type). + Object to returned. + Container to configure. + Name for registration. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + Type of instance to register (may be an implemented interface instead of the full type). + Object to returned. + Container to configure. + Name for registration. + + object that controls how this instance will be managed by the container. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + This overload does a default registration and has the container take over the lifetime of the instance. + + Container to configure. + Type of instance to register (may be an implemented interface instead of the full type). + Object to returned. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + This overload does a default registration (name = null). + + + Container to configure. + Type of instance to register (may be an implemented interface instead of the full type). + Object to returned. + + object that controls how this instance will be managed by the container. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + This overload automatically has the container take ownership of the . + + Container to configure. + Type of instance to register (may be an implemented interface instead of the full type). + Object to returned. + Name for registration. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Resolve an instance of the default requested type from the container. + + of object to get from the container. + Container to resolve from. + Any overrides for the resolve call. + The retrieved object. + + + + Resolve an instance of the requested type with the given name from the container. + + of object to get from the container. + Container to resolve from. + Name of the object to retrieve. + Any overrides for the resolve call. + The retrieved object. + + + + Resolve an instance of the default requested type from the container. + + Container to resolve from. + of object to get from the container. + Any overrides for the resolve call. + The retrieved object. + + + + Return instances of all registered types requested. + + + + This method is useful if you've registered multiple types with the same + but different names. + + + Be aware that this method does NOT return an instance for the default (unnamed) registration. + + + The type requested. + Container to resolve from. + Any overrides for the resolve calls. + Set of objects of type . + + + + Run an existing object through the container and perform injection on it. + + + + This method is useful when you don't control the construction of an + instance (ASP.NET pages or objects created via XAML, for instance) + but you still want properties and other injection performed. + + + This overload uses the default registrations. + + + of object to perform injection on. + Container to resolve through. + Instance to build up. + Any overrides for the buildup. + The resulting object. By default, this will be , but + container extensions may add things like automatic proxy creation which would + cause this to return a different object (but still type compatible with ). + + + + Run an existing object through the container and perform injection on it. + + + + This method is useful when you don't control the construction of an + instance (ASP.NET pages or objects created via XAML, for instance) + but you still want properties and other injection performed. + + of object to perform injection on. + Container to resolve through. + Instance to build up. + name to use when looking up the typemappings and other configurations. + Any overrides for the Buildup. + The resulting object. By default, this will be , but + container extensions may add things like automatic proxy creation which would + cause this to return a different object (but still type compatible with ). + + + + Run an existing object through the container and perform injection on it. + + + + This method is useful when you don't control the construction of an + instance (ASP.NET pages or objects created via XAML, for instance) + but you still want properties and other injection performed. + + + This overload uses the default registrations. + + + Container to resolve through. + of object to perform injection on. + Instance to build up. + Any overrides for the Buildup. + The resulting object. By default, this will be , but + container extensions may add things like automatic proxy creation which would + cause this to return a different object (but still type compatible with ). + + + + Creates a new extension object and adds it to the container. + + Type of to add. The extension type + will be resolved from within the supplied . + Container to add the extension to. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Resolve access to a configuration interface exposed by an extension. + + Extensions can expose configuration interfaces as well as adding + strategies and policies to the container. This method walks the list of + added extensions and returns the first one that implements the requested type. + + The configuration interface required. + Container to configure. + The requested extension's configuration interface, or null if not found. + + + + Check if a particular type has been registered with the container with + the default name. + + Container to inspect. + Type to check registration for. + True if this type has been registered, false if not. + + + + Check if a particular type/name pair has been registered with the container. + + Container to inspect. + Type to check registration for. + Name to check registration for. + True if this type/name pair has been registered, false if not. + + + + Check if a particular type has been registered with the container with the default name. + + Type to check registration for. + Container to inspect. + True if this type has been registered, false if not. + + + + Check if a particular type/name pair has been registered with the container. + + Type to check registration for. + Container to inspect. + Name to check registration for. + True if this type/name pair has been registered, false if not. + + + + The class provides the means for extension objects + to manipulate the internal state of the . + + + + + Store a type/name pair for later resolution. + + + + When users register type mappings (or other things) with a named key, this method + allows you to register that name with the container so that when the + method is called, that name is included in the list that is returned. + + to register. + Name associated with that type. + + + + The container that this context is associated with. + + The object. + + + + The strategies this container uses. + + The that the container uses to build objects. + + + + The strategies this container uses to construct build plans. + + The that this container uses when creating + build plans. + + + + The policies this container uses. + + The the that container uses to build objects. + + + + The that this container uses. + + The is used to manage objects that the container is managing. + + + + This event is raised when the method, + or one of its overloads, is called. + + + + + This event is raised when the method, + or one of its overloads, is called. + + + + + This event is raised when the method is called, providing + the newly created child container to extensions to act on as they see fit. + + + + + An EventArgs class that holds a string Name. + + + + + Create a new with a null name. + + + + + Create a new with the given name. + + Name to store. + + + + The name. + + Name used for this EventArg object. + + + + Event argument class for the event. + + + + + Create a new instance of . + + Type to map from. + Type to map to. + Name for the registration. + to manage instances. + + + + Type to map from. + + + + + Type to map to. + + + + + to manage instances. + + + + + Event argument class for the event. + + + + + Create a default instance. + + + + + Create a instance initialized with the given arguments. + + Type of instance being registered. + The instance object itself. + Name to register under, null if default registration. + object that handles how + the instance will be owned. + + + + Type of instance being registered. + + + Type of instance being registered. + + + + + Instance object being registered. + + Instance object being registered + + + + that controls ownership of + this instance. + + + + + A that lets you specify that + an instance of a generic type parameter should be resolved. + + + + + Create a new instance that specifies + that the given named generic parameter should be resolved. + + The generic parameter name to resolve. + + + + Create a new instance that specifies + that the given named generic parameter should be resolved. + + The generic parameter name to resolve. + name to use when looking up in the container. + + + + Return a instance that will + return this types value for the parameter. + + The actual type to resolve. + The resolution key. + The . + + + + A that lets you specify that + an array containing the registered instances of a generic type parameter + should be resolved. + + + + + Create a new instance that specifies + that the given named generic parameter should be resolved. + + The generic parameter name to resolve. + The values for the elements, that will + be converted to objects. + + + + Test to see if this parameter value has a matching type for the given type. + + Type to check. + True if this parameter value is compatible with type , + false if not. + A type is considered compatible if it is an array type of rank one + and its element type is a generic type parameter with a name matching this generic + parameter name configured for the receiver. + + + + Return a instance that will + return this types value for the parameter. + + Type that contains the member that needs this parameter. Used + to resolve open generic parameters. + The . + + + + Name for the type represented by this . + This may be an actual type name or a generic argument name. + + + + + A Unity container extension that allows you to configure + which constructors, properties, and methods get injected + via an API rather than through attributes. + + + + + Initial the container with this extension's functionality. + + + When overridden in a derived class, this method will modify the given + by adding strategies, policies, etc. to + install it's functions into the container. + + + + API to configure the injection settings for a particular type. + + Type the injection is being configured for. + Objects containing the details on which members to inject and how. + This extension object. + + + + API to configure the injection settings for a particular type/name pair. + + Type the injection is being configured for. + Name of registration + Objects containing the details on which members to inject and how. + This extension object. + + + + API to configure the injection settings for a particular type. + + Type to configure. + Objects containing the details on which members to inject and how. + This extension object. + + + + API to configure the injection settings for a particular type/name pair. + + Type to configure. + Name of registration. + Objects containing the details on which members to inject and how. + This extension object. + + + + API to configure the injection settings for a particular type/name pair. + + Type of interface/base class being registered (may be null). + Type of actual implementation class being registered. + Name of registration. + Objects containing the details on which members to inject and how. + This extension object. + + + + A class that holds the collection of information + for a constructor, so that the container can + be configured to call this constructor. + + + + + Create a new instance of that looks + for a constructor with the given set of parameters. + + The values for the parameters, that will + be converted to objects. + + + + Add policies to the to configure the + container to call this constructor with the appropriate parameter values. + + Interface registered, ignored in this implementation. + Type to register. + Name used to resolve the type object. + Policy list to add policies to. + + + + An that configures the + container to call a method as part of buildup. + + + + + Create a new instance which will configure + the container to call the given methods with the given parameters. + + Name of the method to call. + Parameter values for the method. + + + + Add policies to the to configure the + container to call this constructor with the appropriate parameter values. + + Type of interface registered, ignored in this implementation. + Type to register. + Name used to resolve the type object. + Policy list to add policies to. + + + + A small function to handle name matching. You can override this + to do things like case insensitive comparisons. + + MethodInfo for the method you're checking. + Name of the method you're looking for. + True if a match, false if not. + + + + A class that holds on to the given value and provides + the required + when the container is configured. + + + + + Create an instance of that stores + the given value, using the runtime type of that value as the + type of the parameter. + + Value to be injected for this parameter. + + + + Create an instance of that stores + the given value, associated with the given type. + + Type of the parameter. + Value of the parameter + + + + Return a instance that will + return this types value for the parameter. + + Type that contains the member that needs this parameter. Used + to resolve open generic parameters. + The . + + + + A generic version of that makes it a + little easier to specify the type of the parameter. + + Type of parameter. + + + + Create a new . + + Value for the parameter. + + + + This class stores information about which properties to inject, + and will configure the container accordingly. + + + + + Configure the container to inject the given property name, + resolving the value via the container. + + Name of the property to inject. + + + + Configure the container to inject the given property name, + using the value supplied. This value is converted to an + object using the + rules defined by the + method. + + Name of property to inject. + Value for property. + + + + Add policies to the to configure the + container to call this constructor with the appropriate parameter values. + + Interface being registered, ignored in this implementation. + Type to register. + Name used to resolve the type object. + Policy list to add policies to. + + + + A class that stores a type, and generates a + resolver object that resolves all the named instances or the + type registered in a container. + + + + + Construct a new that + resolves to the given element type and collection of element values. + + The type of elements to resolve. + The values for the elements, that will + be converted to objects. + + + + Construct a new that + resolves to the given array and element types and collection of element values. + + The type for the array of elements to resolve. + The type of elements to resolve. + The values for the elements, that will + be converted to objects. + + + + Return a instance that will + return this types value for the parameter. + + Type that contains the member that needs this parameter. Used + to resolve open generic parameters. + The . + + + + A generic version of for convenience + when creating them by hand. + + Type of the elements for the array of the parameter. + + + + Construct a new that + resolves to the given element generic type with the given element values. + + The values for the elements, that will + be converted to objects. + + + + Interface defining the behavior of the Unity dependency injection container. + + + + + Register a type mapping with the container, where the created instances will use + the given . + + that will be requested. + that will actually be returned. + Name to use for registration, null if a default registration. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Register an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + Type of instance to register (may be an implemented interface instead of the full type). + Object to returned. + Name for registration. + + object that controls how this instance will be managed by the container. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Resolve an instance of the requested type with the given name from the container. + + of object to get from the container. + Name of the object to retrieve. + Any overrides for the resolve call. + The retrieved object. + + + + Return instances of all registered types requested. + + + + This method is useful if you've registered multiple types with the same + but different names. + + + Be aware that this method does NOT return an instance for the default (unnamed) registration. + + + The type requested. + Any overrides for the resolve calls. + Set of objects of type . + + + + Run an existing object through the container and perform injection on it. + + + + This method is useful when you don't control the construction of an + instance (ASP.NET pages or objects created via XAML, for instance) + but you still want properties and other injection performed. + + of object to perform injection on. + Instance to build up. + name to use when looking up the TypeMappings and other configurations. + Any overrides for the resolve calls. + The resulting object. By default, this will be , but + container extensions may add things like automatic proxy creation which would + cause this to return a different object (but still type compatible with ). + + + + Run an existing object through the container, and clean it up. + + The object to tear down. + + + + Add an extension object to the container. + + to add. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Resolve access to a configuration interface exposed by an extension. + + Extensions can expose configuration interfaces as well as adding + strategies and policies to the container. This method walks the list of + added extensions and returns the first one that implements the requested type. + + of configuration interface required. + The requested extension's configuration interface, or null if not found. + + + + Remove all installed extensions from this container. + + + + This method removes all extensions from the container, including the default ones + that implement the out-of-the-box behavior. After this method, if you want to use + the container again you will need to either read the default extensions or replace + them with your own. + + + The registered instances and singletons that have already been set up in this container + do not get removed. + + + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Create a child container. + + + A child container shares the parent's configuration, but can be configured with different + settings or lifetime. + The new child container. + + + + The parent of this container. + + The parent container, or null if this container doesn't have one. + + + + Get a sequence of that describe the current state + of the container. + + + + + A that holds a weak reference to + it's managed instance. + + + + + Retrieve a value from the backing store associated with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + + + + Stores the given value into backing store for retrieval later. + + The object being stored. + + + + Remove the given object from backing store. + + + + + An implementation of that + creates instances of the type of the given Lifetime Manager + by resolving them through the container. + + + + + Create a new that will + return instances of the given type, creating them by + resolving through the container. + + Container to resolve with. + Type of LifetimeManager to create. + + + + Create a new instance of . + + The new instance. + + + + The type of Lifetime manager that will be created by this factory. + + + + + A that holds the instances given to it, + keeping one instance per thread. + + + + This LifetimeManager does not dispose the instances it holds. + + + + + + Initializes a new instance of the class. + + + + + Retrieve a value from the backing store associated with this Lifetime policy for the + current thread. + + the object desired, or if no such object is currently + stored for the current thread. + + + + Stores the given value into backing store for retrieval later when requested + in the current thread. + + The object being stored. + + + + Remove the given object from backing store. + + Not implemented for this lifetime manager. + + + + An implementation that does nothing, + thus ensuring that instances are created new every time. + + + + + Retrieve a value from the backing store associated with this Lifetime policy. + + the object desired, or null if no such object is currently stored. + + + + Stores the given value into backing store for retrieval later. + + The object being stored. + + + + Remove the given object from backing store. + + + + + This strategy implements the logic that will call container.ResolveAll + when an array parameter is detected. + + + + + Do the PreBuildUp stage of construction. This is where the actual work is performed. + + Current build context. + + + + An implementation of that is + aware of the build keys used by the Unity container. + + + + + Create a instance for the given + . + + + This implementation looks for the Unity on the + parameter and uses it to create an instance of + for this parameter. + Parameter to create the resolver for. + The resolver object. + + + + An implementation of that is aware + of the build keys used by the Unity container. + + + + + Create a instance for the given + . + + Parameter to create the resolver for. + The resolver object. + + + + An implementation of that is aware of + the build keys used by the unity container. + + + + + Create a for the given + property. + + Property to create resolver for. + The resolver object. + + + + A implementation that returns + the value set in the constructor. + + + + + Create a new instance of + which will return the given value when resolved. + + The value to return. + + + + Get the value for a dependency. + + Current build context. + The value for the dependency. + + + + An implementation of that stores a + type and name, and at resolution time puts them together into a + . + + + + + Create an instance of + with the given type and name. + + The type. + The name (may be null). + + + + Resolve the value for a dependency. + + Current build context. + The value for the dependency. + + + + The type that this resolver resolves. + + + + + The name that this resolver resolves. + + + + + An implementation of that resolves to + to an array populated with the values that result from resolving other instances + of . + + + + + Create an instance of + with the given type and a collection of + instances to use when populating the result. + + The type. + The resolver policies to use when populating an array. + + + + Resolve the value for a dependency. + + Current build context. + An array populated with the results of resolving the resolver policies. + + + + An implementation of that selects + the given constructor and creates the appropriate resolvers to call it with + the specified parameters. + + + + + Create an instance of that + will return the given constructor, being passed the given injection values + as parameters. + + The constructor to call. + Set of objects + that describes how to obtain the values for the constructor parameters. + + + + Choose the constructor to call for the given type. + + Current build context + The to add any + generated resolver objects into. + The chosen constructor. + + + + Helper class for implementing selector policies that need to + set up dependency resolver policies. + + + + + Add dependency resolvers to the parameter set. + + Type that's currently being built (used to resolve open generics). + PolicyList to add the resolvers to. + Objects supplying the dependency resolvers. + Result object to store the keys in. + + + + A implementation that calls the specific + methods with the given parameters. + + + + + Add the given method and parameter collection to the list of methods + that will be returned when the selector's + method is called. + + Method to call. + sequence of objects + that describe how to create the method parameter values. + + + + Return the sequence of methods to call while building the target object. + + Current build context. + The to add any + generated resolver objects into. + Sequence of methods to call. + + + + An implementation of which returns + the set of specific properties that the selector was configured with. + + + + + Add a property that will be par of the set returned when the + is called. + + The property to set. + object describing + how to create the value to inject. + + + + Returns sequence of properties on the given type that + should be set as part of building that object. + + Current build context. + The to add any + generated resolver objects into. + Sequence of objects + that contain the properties to set. + + + + The exception thrown by the Unity container when + an attempt to resolve a dependency fails. + + + + + Create a new that records + the exception for the given type and name. + + Type requested from the container. + Name requested from the container. + The actual exception that caused the failure of the build. + The build context representing the failed operation. + + + + The type that was being requested from the container at the time of failure. + + + + + The name that was being requested from the container at the time of failure. + + + + + A class that stores a name and type, and generates a + resolver object that resolves the parameter via the + container. + + + + + Construct a new that + resolves to the given type. + + Type of this parameter. + + + + Construct a new that + resolves the given type and name. + + Type of this parameter. + Name to use when resolving parameter. + + + + Return a instance that will + return this types value for the parameter. + + Type that contains the member that needs this parameter. Used + to resolve open generic parameters. + The . + + + + A generic version of for convenience + when creating them by hand. + + Type of the parameter + + + + Create a new for the given + generic type and the default name. + + + + + Create a new for the given + generic type and name. + + Name to use to resolve this parameter. + + + + An implementation of that wraps a Unity container. + + + + + Initializes a new instance of the class for a container. + + The to wrap with the + interface implementation. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + When implemented by inheriting classes, this method will do the actual work of resolving + the requested service instance. + + Type of instance requested.Name of registered service you want. May be null. + + The requested service instance. + + + + + When implemented by inheriting classes, this method will do the actual work of + resolving all the requested service instances. + + Type of service requested. + + Sequence of service instance objects. + + + + + A static helper class that includes various parameter checking routines. + + + + + Throws if the given argument is null. + + if tested value if null. + Argument value to test. + Name of the argument being tested. + + + + Throws an exception if the tested string argument is null or the empty string. + + Thrown if string value is null. + Thrown if the string is empty + Argument value to check. + Name of argument being checked. + + + + Verifies that an argument type is assignable from the provided type (meaning + interfaces are implemented, or classes exist in the base class hierarchy). + + The argument type that will be assigned to. + The type of the value being assigned. + Argument name. + + + + Verifies that an argument instance is assignable from the provided type (meaning + interfaces are implemented, or classes exist in the base class hierarchy, or instance can be + assigned through a runtime wrapper, as is the case for COM Objects). + + The argument type that will be assigned to. + The instance that will be assigned. + Argument name. + + + + A helper class to manage the names that get registered in the container + + + + + The build stages we use in the Unity container + strategy pipeline. + + + + + First stage. By default, nothing happens here. + + + + + Second stage. Type mapping occurs here. + + + + + Third stage. lifetime managers are checked here, + and if they're available the rest of the pipeline is skipped. + + + + + Fourth stage. Reflection over constructors, properties, etc. is + performed here. + + + + + Fifth stage. Instance creation happens here. + + + + + Sixth stage. Property sets and method injection happens here. + + + + + Seventh and final stage. By default, nothing happens here. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to The type {0} has multiple constructors of length {1}. Unable to disambiguate.. + + + + + Looks up a localized string similar to The provided string argument must not be empty.. + + + + + Looks up a localized string similar to The current build operation (build key {2}) failed: {3} (Strategy type {0}, index {1}). + + + + + Looks up a localized string similar to The current type, {0}, is an abstract class and cannot be constructed. Are you missing a type mapping?. + + + + + Looks up a localized string similar to The current type, {0}, is delegate and cannot be constructed. Unity only supports resolving Func<T> and Func<IEnumerable<T>> by default.. + + + + + Looks up a localized string similar to The current type, {0}, is an interface and cannot be constructed. Are you missing a type mapping?. + + + + + Looks up a localized string similar to Cannot extract type from build key {0}.. + + + + + Looks up a localized string similar to The method {0}.{1}({2}) is an open generic method. Open generic methods cannot be injected.. + + + + + Looks up a localized string similar to The property {0} on type {1} is an indexer. Indexed properties cannot be injected.. + + + + + Looks up a localized string similar to The method {1} on type {0} has an out parameter. Injection cannot be performed.. + + + + + Looks up a localized string similar to The method {0}.{1}({2}) has at least one out parameter. Methods with out parameters cannot be injected.. + + + + + Looks up a localized string similar to The method {0}.{1}({2}) has at least one ref parameter.Methods with ref parameters cannot be injected.. + + + + + Looks up a localized string similar to The method {1} on type {0} is marked for injection, but it is an open generic method. Injection cannot be performed.. + + + + + Looks up a localized string similar to The method {0}.{1}({2}) is static. Static methods cannot be injected.. + + + + + Looks up a localized string similar to The type {0} is an open generic type. An open generic type cannot be resolved.. + + + + + Looks up a localized string similar to Resolving parameter "{0}" of constructor {1}. + + + + + Looks up a localized string similar to The parameter {0} could not be resolved when attempting to call constructor {1}.. + + + + + Looks up a localized string similar to Parameter type inference does not work for null values. Indicate the parameter type explicitly using a properly configured instance of the InjectionParameter or InjectionParameter<T> classes.. + + + + + Looks up a localized string similar to Calling constructor {0}. + + + + + Looks up a localized string similar to Calling method {0}.{1}. + + + + + Looks up a localized string similar to An item with the given key is already present in the dictionary.. + + + + + Looks up a localized string similar to The lifetime manager is already registered. Lifetime managers cannot be reused, please create a new one.. + + + + + Looks up a localized string similar to The override marker build plan policy has been invoked. This should never happen, looks like a bug in the container.. + + + + + Looks up a localized string similar to Resolving parameter "{0}" of method {1}.{2}. + + + + + Looks up a localized string similar to The value for parameter "{1}" of method {0} could not be resolved. . + + + + + Looks up a localized string similar to Could not resolve dependency for build key {0}.. + + + + + Looks up a localized string similar to The type {0} has multiple constructors marked with the InjectionConstructor attribute. Unable to disambiguate.. + + + + + Looks up a localized string similar to The supplied type {0} must be an open generic type.. + + + + + Looks up a localized string similar to The supplied type {0} does not have the same number of generic arguments as the target type {1}.. + + + + + Looks up a localized string similar to The type {0} does not have an accessible constructor.. + + + + + Looks up a localized string similar to The type {0} does not have a generic argument named "{1}". + + + + + Looks up a localized string similar to while resolving. + + + + + Looks up a localized string similar to The type {0} does not have a constructor that takes the parameters ({1}).. + + + + + Looks up a localized string similar to The type {0} does not have a public method named {1} that takes the parameters ({2}).. + + + + + Looks up a localized string similar to The type {0} does not contain an instance property named {1}.. + + + + + Looks up a localized string similar to The type {0} is not a generic type, and you are attempting to inject a generic parameter named "{1}".. + + + + + Looks up a localized string similar to The type {0} is not an array type with rank 1, and you are attempting to use a [DependencyArray] attribute on a parameter or property with this type.. + + + + + Looks up a localized string similar to Optional dependencies must be reference types. The type {0} is a value type.. + + + + + Looks up a localized string similar to The property {0} on type {1} is not settable.. + + + + + Looks up a localized string similar to The property {0} on type {1} is of type {2}, and cannot be injected with a value of type {3}.. + + + + + Looks up a localized string similar to The value for the property "{0}" could not be resolved.. + + + + + Looks up a localized string similar to The provided string argument must not be empty.. + + + + + Looks up a localized string similar to Resolution of the dependency failed, type = "{0}", name = "{1}". + Exception occurred while: {2}. + Exception is: {3} - {4} + ----------------------------------------------- + At the time of the exception, the container was: + . + + + + + Looks up a localized string similar to Resolving {0},{1}. + + + + + Looks up a localized string similar to Resolving {0},{1} (mapped from {2}, {3}). + + + + + Looks up a localized string similar to Resolving value for property {0}.{1}. + + + + + Looks up a localized string similar to The constructor {1} selected for type {0} has ref or out parameters. Such parameters are not supported for constructor injection.. + + + + + Looks up a localized string similar to Setting value for property {0}.{1}. + + + + + Looks up a localized string similar to The type {0} cannot be constructed. You must configure the container to supply this value.. + + + + + Looks up a localized string similar to The type {1} cannot be assigned to variables of type {0}.. + + + + + Looks up a localized string similar to <unknown>. + + + + + A simple, extensible dependency injection container. + + + + + Create a default . + + + + + Create a with the given parent container. + + The parent . The current object + will apply its own settings first, and then check the parent for additional ones. + + + + RegisterType a type mapping with the container, where the created instances will use + the given . + + that will be requested. + that will actually be returned. + Name to use for registration, null if a default registration. + The that controls the lifetime + of the returned instance. + Injection configuration objects. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + RegisterType an instance with the container. + + + + Instance registration is much like setting a type as a singleton, except that instead + of the container creating the instance the first time it is requested, the user + creates the instance ahead of type and adds that instance to the container. + + + Type of instance to register (may be an implemented interface instead of the full type). + Object to returned. + Name for registration. + + If true, the container will take over the lifetime of the instance, + calling Dispose on it (if it's ) when the container is Disposed. + + If false, container will not maintain a strong reference to . User is responsible + for disposing instance, and for keeping the instance from being garbage collected. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Get an instance of the requested type with the given name from the container. + + of object to get from the container. + Name of the object to retrieve. + Any overrides for the resolve call. + The retrieved object. + + + + Return instances of all registered types requested. + + + + This method is useful if you've registered multiple types with the same + but different names. + + + Be aware that this method does NOT return an instance for the default (unnamed) registration. + + + The type requested. + Any overrides for the resolve calls. + Set of objects of type . + + + + Run an existing object through the container and perform injection on it. + + + + This method is useful when you don't control the construction of an + instance (ASP.NET pages or objects created via XAML, for instance) + but you still want properties and other injection performed. + + of object to perform injection on. + Instance to build up. + name to use when looking up the typemappings and other configurations. + Any overrides for the buildup. + The resulting object. By default, this will be , but + container extensions may add things like automatic proxy creation which would + cause this to return a different object (but still type compatible with ). + + + + Run an existing object through the container, and clean it up. + + The object to tear down. + + + + Add an extension object to the container. + + to add. + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Get access to a configuration interface exposed by an extension. + + Extensions can expose configuration interfaces as well as adding + strategies and policies to the container. This method walks the list of + added extensions and returns the first one that implements the requested type. + + of configuration interface required. + The requested extension's configuration interface, or null if not found. + + + + Remove all installed extensions from this container. + + + + This method removes all extensions from the container, including the default ones + that implement the out-of-the-box behavior. After this method, if you want to use + the container again you will need to either read the default extensions or replace + them with your own. + + + The registered instances and singletons that have already been set up in this container + do not get removed. + + + The object that this method was called on (this in C#, Me in Visual Basic). + + + + Create a child container. + + + A child container shares the parent's configuration, but can be configured with different + settings or lifetime. + The new child container. + + + + Dispose this container instance. + + + Disposing the container also disposes any child containers, + and disposes any instances whose lifetimes are managed + by the container. + + + + + Dispose this container instance. + + + This class doesn't have a finalizer, so will always be true. + True if being called from the IDisposable.Dispose + method, false if being called from a finalizer. + + + + Remove policies associated with building this type. This removes the + compiled build plan so that it can be rebuilt with the new settings + the next time this type is resolved. + + Type of object to clear the plan for. + Name the object is being registered with. + + + + The parent of this container. + + The parent container, or null if this container doesn't have one. + + + + Get a sequence of that describe the current state + of the container. + + + + + Implementation of the ExtensionContext that is actually used + by the UnityContainer implementation. + + + This is a nested class so that it can access state in the + container that would otherwise be inaccessible. + + + + + This event is raised when the method, + or one of its overloads, is called. + + + + + This extension supplies the default behavior of the UnityContainer API + by handling the context events and setting policies. + + + + + Install the default container behavior into the container. + + + + + Remove the default behavior from the container. + + + + + This extension installs the default strategies and policies into the container + to implement the standard behavior of the Unity container. + + + + + Add the default ObjectBuilder strategies & policies to the container. + + + + + Helper class to wrap common reflection stuff dealing with + methods. + + + + + Create a new instance that + lets us do more reflection stuff on that method. + + The method to reflect on. + + + + Given our set of generic type arguments, + + The generic type arguments. + An array with closed parameter types. + + + + Returns true if any of the parameters of this method + are open generics. + + + + + Return the of each parameter for this + method. + + Sequence of objects, one for + each parameter in order. + + + + A helper class that encapsulates two different + data items together into a a single item. + + + + + Create a new containing + the two values give. + + First value + Second value + + + + The first value of the pair. + + + + + The second value of the pair. + + + + + Container for a Pair helper method. + + + + + A helper factory method that lets users take advantage of type inference. + + Type of first value. + Type of second value. + First value. + Second value. + A new instance. + + + + A utility class that handles the logic of matching parameter + lists, so we can find the right constructor and method overloads. + + + + + Create a new that will attempt to + match the given parameter types. + + Target parameters to match against. + + + + Tests to see if the given set of types matches the ones + we're looking for. + + parameter list to look for. + true if they match, false if they don't. + + + + Tests to see if the given set of types matches the ones we're looking for. + + Candidate method signature to look for. + True if they match, false if they don't. + + + + Another reflection helper class that has extra methods + for dealing with ParameterInfo. + + + + + A small helper class to encapsulate details of the + reflection API, particularly around generics. + + + + + Create a new instance that + lets you look at information about the given type. + + Type to do reflection on. + + + + Test the given object, looking at + the parameters. Determine if any of the parameters are + open generic types that need type attributes filled in. + + The method to check. + True if any of the parameters are open generics. False if not. + + + + If this type is an open generic, use the + given array to + determine what the required closed type is and return that. + + If the parameter is not an open type, just + return this parameter's type. + Type arguments to substitute in for + the open type parameters. + Corresponding closed type of this parameter. + + + + Given a generic argument name, return the corresponding type for this + closed type. For example, if the current type is SomeType<User>, and the + corresponding definition was SomeType<TSomething>, calling this method + and passing "TSomething" will return typeof(User). + + Name of the generic parameter. + Type of the corresponding generic parameter, or null if there + is no matching name. + + + + The object we're reflecting over. + + + + + Is this type generic? + + + + + Is this type an open generic (no type parameter specified) + + + + + Is this type an array type? + + + + + Is this type an array of generic elements? + + + + + The type of the elements in this type (if it's an array). + + + + + Returns all the public constructors defined for the current reflected . + + + An enumeration of ConstructorInfo objects representing all the public instance constructors defined for the + current reflected , but not including the type initializer (static constructor). + + + + + Create a new instance of that + lets you query information about the given ParameterInfo object. + + Parameter to query. + + + + A set of helper methods to pick through lambdas and pull out + from them. + + + + + Pull out a object from an expression of the form + () => SomeClass.SomeMethod() + + Expression describing the method to call. + Corresponding . + + + + Pull out a object from an expression of the form + x => x.SomeMethod() + + The type where the method is defined. + Expression describing the method to call. + Corresponding . + + + + Pull out a object for the get method from an expression of the form + x => x.SomeProperty + + The type where the method is defined. + The type for the property. + Expression describing the property for which the get method is to be extracted. + Corresponding . + + + + Pull out a object for the set method from an expression of the form + x => x.SomeProperty + + The type where the method is defined. + The type for the property. + Expression describing the property for which the set method is to be extracted. + Corresponding . + + + + + + + + + + + + + Pull out a object from an expression of the form () => new SomeType() + + The type where the constructor is defined. + Expression invoking the desired constructor. + Corresponding . + + + From 1ce1458e1aeb9bf323e0dac8cf0b5f7b9f7a023d Mon Sep 17 00:00:00 2001 From: Issa Fram Date: Mon, 23 May 2016 16:36:13 -0400 Subject: [PATCH 3/5] Remove abandoned Unity 2.X references. --- src/AutoMoq.Tests/AutoMoq.Tests.csproj | 18 ++++++------------ src/AutoMoq/AutoMoq.csproj | 18 ++++++------------ 2 files changed, 12 insertions(+), 24 deletions(-) diff --git a/src/AutoMoq.Tests/AutoMoq.Tests.csproj b/src/AutoMoq.Tests/AutoMoq.Tests.csproj index b1df383..4cb2e8b 100644 --- a/src/AutoMoq.Tests/AutoMoq.Tests.csproj +++ b/src/AutoMoq.Tests/AutoMoq.Tests.csproj @@ -50,12 +50,6 @@ ..\packages\Unity.4.0.1\lib\net45\Microsoft.Practices.Unity.Configuration.dll True - - ..\packages\Unity.2.0\lib\20\Microsoft.Practices.Unity.Interception.dll - - - ..\packages\Unity.2.0\lib\20\Microsoft.Practices.Unity.Interception.Configuration.dll - ..\packages\Unity.4.0.1\lib\net45\Microsoft.Practices.Unity.RegistrationByConvention.dll True @@ -115,11 +109,11 @@

|~4EU>0^bru+;vz-NY=y}cu%O#x;)Fht>_GHDO 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ˍBH;!K6}| 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.Configuration.xml b/src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.Configuration.XML similarity index 89% rename from src/packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.Configuration.xml rename to src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.Configuration.XML index 5623914..5c24c78 100644 --- a/src/packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.Configuration.xml +++ b/src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.Configuration.XML @@ -1,2451 +1,2424 @@ - - - - Microsoft.Practices.Unity.Configuration - - - -

- \ No newline at end of file diff --git a/src/AutoMoq/AutoMoq.csproj b/src/AutoMoq/AutoMoq.csproj index e3d58ae..c1afa92 100644 --- a/src/AutoMoq/AutoMoq.csproj +++ b/src/AutoMoq/AutoMoq.csproj @@ -51,12 +51,6 @@ ..\packages\Unity.4.0.1\lib\net45\Microsoft.Practices.Unity.Configuration.dll True - - ..\packages\Unity.2.0\lib\20\Microsoft.Practices.Unity.Interception.dll - - - ..\packages\Unity.2.0\lib\20\Microsoft.Practices.Unity.Interception.Configuration.dll - ..\packages\Unity.4.0.1\lib\net45\Microsoft.Practices.Unity.RegistrationByConvention.dll True @@ -98,11 +92,11 @@ - \ No newline at end of file From 49be82b6d2692b1183b52311003021fb162bc3df Mon Sep 17 00:00:00 2001 From: Darren Cauthon Date: Wed, 25 May 2016 12:08:50 -0500 Subject: [PATCH 4/5] Define the 4.0-or-greater dependencies on moq and unity. --- src/AutoMoq/AutoMoq.nuspec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/AutoMoq/AutoMoq.nuspec b/src/AutoMoq/AutoMoq.nuspec index 8eb5318..a4bc4e7 100644 --- a/src/AutoMoq/AutoMoq.nuspec +++ b/src/AutoMoq/AutoMoq.nuspec @@ -13,5 +13,9 @@ Added support for strict-mocking. Copyright 2010-2016 moq unity tdd testing test + + + + From 926f18d3e01287c2fd87a379e13eaa3b6f9e63f3 Mon Sep 17 00:00:00 2001 From: Darren Cauthon Date: Wed, 25 May 2016 12:12:08 -0500 Subject: [PATCH 5/5] Make the big jump to 2.0. --- src/AutoMoq/AutoMoq.nuspec | 4 ++-- src/AutoMoq/Properties/AssemblyInfo.cs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/AutoMoq/AutoMoq.nuspec b/src/AutoMoq/AutoMoq.nuspec index a4bc4e7..a2fef61 100644 --- a/src/AutoMoq/AutoMoq.nuspec +++ b/src/AutoMoq/AutoMoq.nuspec @@ -2,7 +2,7 @@ AutoMoq - 1.8.1.0 + 2.0.0.0 AutoMoq Darren Cauthon Darren Cauthon @@ -10,7 +10,7 @@ https://github.com/darrencauthon/AutoMoq false Auto-mocking container - Added support for strict-mocking. + Upgraded Unity to 4. Copyright 2010-2016 moq unity tdd testing test diff --git a/src/AutoMoq/Properties/AssemblyInfo.cs b/src/AutoMoq/Properties/AssemblyInfo.cs index 3127598..f626de8 100644 --- a/src/AutoMoq/Properties/AssemblyInfo.cs +++ b/src/AutoMoq/Properties/AssemblyInfo.cs @@ -35,5 +35,5 @@ // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.8.1.0")] -[assembly: AssemblyFileVersion("1.8.1.0")] +[assembly: AssemblyVersion("2.0.0.0")] +[assembly: AssemblyFileVersion("2.0.0.0")]