From f9bda4ca1fbbeb08c80a18ea68b524ccbe20c4cb Mon Sep 17 00:00:00 2001 From: Steven Reid Date: Sat, 2 Jul 2011 14:40:50 +0100 Subject: [PATCH 01/31] testing --- helloworld.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 helloworld.txt diff --git a/helloworld.txt b/helloworld.txt new file mode 100644 index 0000000..e69de29 From 0acfe7c84958399fee886100b2f2d0eefdfdb0a3 Mon Sep 17 00:00:00 2001 From: Ivan Zlatev Date: Sat, 2 Jul 2011 14:57:41 +0100 Subject: [PATCH 02/31] Solution import with first-pass Data Model. --- CharityPortal/.gitignore | 7 + CharityPortal/CharityPortal.Data/App.Config | 3 + .../CharityPortal.Data.csproj | 67 + .../DataContext.Designer.cs | 1156 ++ .../CharityPortal.Data/DataContext.edmx | 171 + .../Properties/AssemblyInfo.cs | 36 + CharityPortal/CharityPortal.Tests/App.config | 14 + .../CharityPortal.Tests.csproj | 72 + .../Controllers/HomeControllerTest.cs | 41 + .../Properties/AssemblyInfo.cs | 35 + CharityPortal/CharityPortal.sln | 32 + .../CharityPortal/CharityPortal.csproj | 184 + CharityPortal/CharityPortal/Content/Site.css | 324 + .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 180 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 178 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 120 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 105 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 111 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 110 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 119 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 101 bytes .../base/images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes .../base/images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4369 bytes .../base/images/ui-icons_454545_256x240.png | Bin 0 -> 4369 bytes .../base/images/ui-icons_888888_256x240.png | Bin 0 -> 4369 bytes .../base/images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4369 bytes .../themes/base/jquery.ui.accordion.css | 24 + .../Content/themes/base/jquery.ui.all.css | 16 + .../themes/base/jquery.ui.autocomplete.css | 62 + .../Content/themes/base/jquery.ui.base.css | 11 + .../Content/themes/base/jquery.ui.button.css | 43 + .../Content/themes/base/jquery.ui.core.css | 46 + .../themes/base/jquery.ui.datepicker.css | 73 + .../Content/themes/base/jquery.ui.dialog.css | 26 + .../themes/base/jquery.ui.progressbar.css | 16 + .../themes/base/jquery.ui.resizable.css | 25 + .../themes/base/jquery.ui.selectable.css | 15 + .../Content/themes/base/jquery.ui.slider.css | 29 + .../Content/themes/base/jquery.ui.tabs.css | 23 + .../Content/themes/base/jquery.ui.theme.css | 257 + .../Controllers/AccountController.cs | 174 + .../Controllers/HomeController.cs | 23 + CharityPortal/CharityPortal/Global.asax | 1 + CharityPortal/CharityPortal/Global.asax.cs | 40 + .../CharityPortal/Models/AccountModels.cs | 67 + .../CharityPortal/Properties/AssemblyInfo.cs | 35 + .../Scripts/MicrosoftAjax.debug.js | 7117 +++++++++ .../CharityPortal/Scripts/MicrosoftAjax.js | 6 + .../Scripts/MicrosoftMvcAjax.debug.js | 408 + .../CharityPortal/Scripts/MicrosoftMvcAjax.js | 25 + .../Scripts/MicrosoftMvcValidation.debug.js | 883 ++ .../Scripts/MicrosoftMvcValidation.js | 55 + .../Scripts/jquery-1.5.1-vsdoc.js | 9110 +++++++++++ .../CharityPortal/Scripts/jquery-1.5.1.js | 8325 ++++++++++ .../CharityPortal/Scripts/jquery-1.5.1.min.js | 19 + .../CharityPortal/Scripts/jquery-ui-1.8.11.js | 11700 ++++++++++++++ .../Scripts/jquery-ui-1.8.11.min.js | 938 ++ .../Scripts/jquery.unobtrusive-ajax.js | 165 + .../Scripts/jquery.unobtrusive-ajax.min.js | 5 + .../Scripts/jquery.validate-vsdoc.js | 1299 ++ .../CharityPortal/Scripts/jquery.validate.js | 1162 ++ .../Scripts/jquery.validate.min.js | 53 + .../Scripts/jquery.validate.unobtrusive.js | 319 + .../jquery.validate.unobtrusive.min.js | 5 + .../CharityPortal/Scripts/modernizr-1.7.js | 969 ++ .../Scripts/modernizr-1.7.min.js | 10 + .../Views/Account/ChangePassword.cshtml | 53 + .../Account/ChangePasswordSuccess.cshtml | 8 + .../CharityPortal/Views/Account/LogOn.cshtml | 48 + .../Views/Account/Register.cshtml | 61 + .../CharityPortal/Views/Home/About.cshtml | 8 + .../CharityPortal/Views/Home/Index.cshtml | 8 + .../CharityPortal/Views/Shared/Error.cshtml | 9 + .../CharityPortal/Views/Shared/_Layout.cshtml | 33 + .../Views/Shared/_LogOnPartial.cshtml | 7 + CharityPortal/CharityPortal/Views/Web.config | 58 + .../CharityPortal/Views/_ViewStart.cshtml | 3 + CharityPortal/CharityPortal/Web.Debug.config | 30 + .../CharityPortal/Web.Release.config | 31 + CharityPortal/CharityPortal/Web.config | 85 + CharityPortal/CharityPortal/packages.config | 9 + .../EntityFramework.4.1.10331.0.nupkg | Bin 0 -> 458371 bytes .../lib/EntityFramework.xml | 13206 ++++++++++++++++ .../Content/Scripts/modernizr-1.7.js | 969 ++ .../Content/Scripts/modernizr-1.7.min.js | 10 + .../Modernizr.1.7/Modernizr.1.7.nupkg | Bin 0 -> 20919 bytes .../Content/Scripts/jquery-1.5.1.js | 8325 ++++++++++ .../Content/Scripts/jquery-1.5.1.min.js | 19 + .../packages/jQuery.1.5.1/jQuery.1.5.1.nupkg | Bin 0 -> 107931 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 180 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 178 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 120 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 105 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 111 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 110 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 119 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 101 bytes .../base/images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes .../base/images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4369 bytes .../base/images/ui-icons_454545_256x240.png | Bin 0 -> 4369 bytes .../base/images/ui-icons_888888_256x240.png | Bin 0 -> 4369 bytes .../base/images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4369 bytes .../themes/base/jquery.ui.accordion.css | 24 + .../Content/themes/base/jquery.ui.all.css | 16 + .../themes/base/jquery.ui.autocomplete.css | 62 + .../Content/themes/base/jquery.ui.base.css | 11 + .../Content/themes/base/jquery.ui.button.css | 43 + .../Content/themes/base/jquery.ui.core.css | 46 + .../themes/base/jquery.ui.datepicker.css | 73 + .../Content/themes/base/jquery.ui.dialog.css | 26 + .../themes/base/jquery.ui.progressbar.css | 16 + .../themes/base/jquery.ui.resizable.css | 25 + .../themes/base/jquery.ui.selectable.css | 15 + .../Content/themes/base/jquery.ui.slider.css | 29 + .../Content/themes/base/jquery.ui.tabs.css | 23 + .../Content/themes/base/jquery.ui.theme.css | 257 + .../Content/Scripts/jquery-ui-1.8.11.js | 11700 ++++++++++++++ .../Content/Scripts/jquery-ui-1.8.11.min.js | 938 ++ .../jQuery.UI.Combined.1.8.11.nupkg | Bin 0 -> 213431 bytes .../Content/Scripts/jquery.validate-vsdoc.js | 1299 ++ .../Content/Scripts/jquery.validate.js | 1162 ++ .../Content/Scripts/jquery.validate.min.js | 53 + .../jQuery.Validation.1.8.0.nupkg | Bin 0 -> 35004 bytes .../Content/Scripts/jquery-1.5.1-vsdoc.js | 9110 +++++++++++ .../jQuery.vsdoc.1.5.1.nupkg | Bin 0 -> 76970 bytes CharityPortal/packages/repositories.config | 4 + 126 files changed, 93633 insertions(+) create mode 100644 CharityPortal/.gitignore create mode 100644 CharityPortal/CharityPortal.Data/App.Config create mode 100644 CharityPortal/CharityPortal.Data/CharityPortal.Data.csproj create mode 100644 CharityPortal/CharityPortal.Data/DataContext.Designer.cs create mode 100644 CharityPortal/CharityPortal.Data/DataContext.edmx create mode 100644 CharityPortal/CharityPortal.Data/Properties/AssemblyInfo.cs create mode 100644 CharityPortal/CharityPortal.Tests/App.config create mode 100644 CharityPortal/CharityPortal.Tests/CharityPortal.Tests.csproj create mode 100644 CharityPortal/CharityPortal.Tests/Controllers/HomeControllerTest.cs create mode 100644 CharityPortal/CharityPortal.Tests/Properties/AssemblyInfo.cs create mode 100644 CharityPortal/CharityPortal.sln create mode 100644 CharityPortal/CharityPortal/CharityPortal.csproj create mode 100644 CharityPortal/CharityPortal/Content/Site.css create mode 100644 CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_flat_75_ffffff_40x100.png create mode 100644 CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100644 CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_75_dadada_1x400.png create mode 100644 CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100644 CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100644 CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100644 CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_222222_256x240.png create mode 100644 CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_2e83ff_256x240.png create mode 100644 CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_454545_256x240.png create mode 100644 CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_888888_256x240.png create mode 100644 CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_cd0a0a_256x240.png create mode 100644 CharityPortal/CharityPortal/Content/themes/base/jquery.ui.accordion.css create mode 100644 CharityPortal/CharityPortal/Content/themes/base/jquery.ui.all.css create mode 100644 CharityPortal/CharityPortal/Content/themes/base/jquery.ui.autocomplete.css create mode 100644 CharityPortal/CharityPortal/Content/themes/base/jquery.ui.base.css create mode 100644 CharityPortal/CharityPortal/Content/themes/base/jquery.ui.button.css create mode 100644 CharityPortal/CharityPortal/Content/themes/base/jquery.ui.core.css create mode 100644 CharityPortal/CharityPortal/Content/themes/base/jquery.ui.datepicker.css create mode 100644 CharityPortal/CharityPortal/Content/themes/base/jquery.ui.dialog.css create mode 100644 CharityPortal/CharityPortal/Content/themes/base/jquery.ui.progressbar.css create mode 100644 CharityPortal/CharityPortal/Content/themes/base/jquery.ui.resizable.css create mode 100644 CharityPortal/CharityPortal/Content/themes/base/jquery.ui.selectable.css create mode 100644 CharityPortal/CharityPortal/Content/themes/base/jquery.ui.slider.css create mode 100644 CharityPortal/CharityPortal/Content/themes/base/jquery.ui.tabs.css create mode 100644 CharityPortal/CharityPortal/Content/themes/base/jquery.ui.theme.css create mode 100644 CharityPortal/CharityPortal/Controllers/AccountController.cs create mode 100644 CharityPortal/CharityPortal/Controllers/HomeController.cs create mode 100644 CharityPortal/CharityPortal/Global.asax create mode 100644 CharityPortal/CharityPortal/Global.asax.cs create mode 100644 CharityPortal/CharityPortal/Models/AccountModels.cs create mode 100644 CharityPortal/CharityPortal/Properties/AssemblyInfo.cs create mode 100644 CharityPortal/CharityPortal/Scripts/MicrosoftAjax.debug.js create mode 100644 CharityPortal/CharityPortal/Scripts/MicrosoftAjax.js create mode 100644 CharityPortal/CharityPortal/Scripts/MicrosoftMvcAjax.debug.js create mode 100644 CharityPortal/CharityPortal/Scripts/MicrosoftMvcAjax.js create mode 100644 CharityPortal/CharityPortal/Scripts/MicrosoftMvcValidation.debug.js create mode 100644 CharityPortal/CharityPortal/Scripts/MicrosoftMvcValidation.js create mode 100644 CharityPortal/CharityPortal/Scripts/jquery-1.5.1-vsdoc.js create mode 100644 CharityPortal/CharityPortal/Scripts/jquery-1.5.1.js create mode 100644 CharityPortal/CharityPortal/Scripts/jquery-1.5.1.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/jquery-ui-1.8.11.js create mode 100644 CharityPortal/CharityPortal/Scripts/jquery-ui-1.8.11.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/jquery.unobtrusive-ajax.js create mode 100644 CharityPortal/CharityPortal/Scripts/jquery.unobtrusive-ajax.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/jquery.validate-vsdoc.js create mode 100644 CharityPortal/CharityPortal/Scripts/jquery.validate.js create mode 100644 CharityPortal/CharityPortal/Scripts/jquery.validate.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/jquery.validate.unobtrusive.js create mode 100644 CharityPortal/CharityPortal/Scripts/jquery.validate.unobtrusive.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/modernizr-1.7.js create mode 100644 CharityPortal/CharityPortal/Scripts/modernizr-1.7.min.js create mode 100644 CharityPortal/CharityPortal/Views/Account/ChangePassword.cshtml create mode 100644 CharityPortal/CharityPortal/Views/Account/ChangePasswordSuccess.cshtml create mode 100644 CharityPortal/CharityPortal/Views/Account/LogOn.cshtml create mode 100644 CharityPortal/CharityPortal/Views/Account/Register.cshtml create mode 100644 CharityPortal/CharityPortal/Views/Home/About.cshtml create mode 100644 CharityPortal/CharityPortal/Views/Home/Index.cshtml create mode 100644 CharityPortal/CharityPortal/Views/Shared/Error.cshtml create mode 100644 CharityPortal/CharityPortal/Views/Shared/_Layout.cshtml create mode 100644 CharityPortal/CharityPortal/Views/Shared/_LogOnPartial.cshtml create mode 100644 CharityPortal/CharityPortal/Views/Web.config create mode 100644 CharityPortal/CharityPortal/Views/_ViewStart.cshtml create mode 100644 CharityPortal/CharityPortal/Web.Debug.config create mode 100644 CharityPortal/CharityPortal/Web.Release.config create mode 100644 CharityPortal/CharityPortal/Web.config create mode 100644 CharityPortal/CharityPortal/packages.config create mode 100644 CharityPortal/packages/EntityFramework.4.1.10331.0/EntityFramework.4.1.10331.0.nupkg create mode 100644 CharityPortal/packages/EntityFramework.4.1.10331.0/lib/EntityFramework.xml create mode 100644 CharityPortal/packages/Modernizr.1.7/Content/Scripts/modernizr-1.7.js create mode 100644 CharityPortal/packages/Modernizr.1.7/Content/Scripts/modernizr-1.7.min.js create mode 100644 CharityPortal/packages/Modernizr.1.7/Modernizr.1.7.nupkg create mode 100644 CharityPortal/packages/jQuery.1.5.1/Content/Scripts/jquery-1.5.1.js create mode 100644 CharityPortal/packages/jQuery.1.5.1/Content/Scripts/jquery-1.5.1.min.js create mode 100644 CharityPortal/packages/jQuery.1.5.1/jQuery.1.5.1.nupkg create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/images/ui-bg_flat_75_ffffff_40x100.png create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/images/ui-bg_glass_75_dadada_1x400.png create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/images/ui-icons_222222_256x240.png create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/images/ui-icons_2e83ff_256x240.png create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/images/ui-icons_454545_256x240.png create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/images/ui-icons_888888_256x240.png create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/images/ui-icons_cd0a0a_256x240.png create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/jquery.ui.accordion.css create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/jquery.ui.all.css create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/jquery.ui.autocomplete.css create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/jquery.ui.base.css create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/jquery.ui.button.css create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/jquery.ui.core.css create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/jquery.ui.datepicker.css create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/jquery.ui.dialog.css create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/jquery.ui.progressbar.css create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/jquery.ui.resizable.css create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/jquery.ui.selectable.css create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/jquery.ui.slider.css create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/jquery.ui.tabs.css create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/jquery.ui.theme.css create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Scripts/jquery-ui-1.8.11.js create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Scripts/jquery-ui-1.8.11.min.js create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/jQuery.UI.Combined.1.8.11.nupkg create mode 100644 CharityPortal/packages/jQuery.Validation.1.8.0/Content/Scripts/jquery.validate-vsdoc.js create mode 100644 CharityPortal/packages/jQuery.Validation.1.8.0/Content/Scripts/jquery.validate.js create mode 100644 CharityPortal/packages/jQuery.Validation.1.8.0/Content/Scripts/jquery.validate.min.js create mode 100644 CharityPortal/packages/jQuery.Validation.1.8.0/jQuery.Validation.1.8.0.nupkg create mode 100644 CharityPortal/packages/jQuery.vsdoc.1.5.1/Content/Scripts/jquery-1.5.1-vsdoc.js create mode 100644 CharityPortal/packages/jQuery.vsdoc.1.5.1/jQuery.vsdoc.1.5.1.nupkg create mode 100644 CharityPortal/packages/repositories.config diff --git a/CharityPortal/.gitignore b/CharityPortal/.gitignore new file mode 100644 index 0000000..5e5cc32 --- /dev/null +++ b/CharityPortal/.gitignore @@ -0,0 +1,7 @@ +*.dll +*.pdb +*.vs10x +*.csproj.user +*.suo +**/bin/* +**/obj/* \ No newline at end of file diff --git a/CharityPortal/CharityPortal.Data/App.Config b/CharityPortal/CharityPortal.Data/App.Config new file mode 100644 index 0000000..9c3d200 --- /dev/null +++ b/CharityPortal/CharityPortal.Data/App.Config @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal.Data/CharityPortal.Data.csproj b/CharityPortal/CharityPortal.Data/CharityPortal.Data.csproj new file mode 100644 index 0000000..9a6440a --- /dev/null +++ b/CharityPortal/CharityPortal.Data/CharityPortal.Data.csproj @@ -0,0 +1,67 @@ + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {1D773A47-6822-4511-9B27-B37386F866DD} + Library + Properties + CharityPortal.Data + CharityPortal.Data + v4.0 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + True + True + DataContext.edmx + + + + + + EntityModelCodeGenerator + DataContext.Designer.cs + + + + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal.Data/DataContext.Designer.cs b/CharityPortal/CharityPortal.Data/DataContext.Designer.cs new file mode 100644 index 0000000..b2e74de --- /dev/null +++ b/CharityPortal/CharityPortal.Data/DataContext.Designer.cs @@ -0,0 +1,1156 @@ +//------------------------------------------------------------------------------ +// +// This code was generated from a template. +// +// Manual changes to this file may cause unexpected behavior in your application. +// Manual changes to this file will be overwritten if the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Data.Objects; +using System.Data.Objects.DataClasses; +using System.Data.EntityClient; +using System.ComponentModel; +using System.Xml.Serialization; +using System.Runtime.Serialization; + +[assembly: EdmSchemaAttribute()] +#region EDM Relationship Metadata + +[assembly: EdmRelationshipAttribute("DataContext", "OrganizationProject", "Organization", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(CharityPortal.Data.Organization), "Project", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(CharityPortal.Data.Project))] +[assembly: EdmRelationshipAttribute("DataContext", "ProjectResource", "Project", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(CharityPortal.Data.Project), "Resource", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(CharityPortal.Data.Resource))] +[assembly: EdmRelationshipAttribute("DataContext", "OrganizationResource", "Organization", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(CharityPortal.Data.Organization), "Resource", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(CharityPortal.Data.Resource))] +[assembly: EdmRelationshipAttribute("DataContext", "ResourceResource", "Resource", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(CharityPortal.Data.Resource), "Resource1", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(CharityPortal.Data.Resource))] +[assembly: EdmRelationshipAttribute("DataContext", "TagResource", "Tag", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(CharityPortal.Data.Tag), "Resource", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(CharityPortal.Data.Resource))] + +#endregion + +namespace CharityPortal.Data +{ + #region Contexts + + /// + /// No Metadata Documentation available. + /// + public partial class DataContextContainer : ObjectContext + { + #region Constructors + + /// + /// Initializes a new DataContextContainer object using the connection string found in the 'DataContextContainer' section of the application configuration file. + /// + public DataContextContainer() : base("name=DataContextContainer", "DataContextContainer") + { + this.ContextOptions.LazyLoadingEnabled = true; + OnContextCreated(); + } + + /// + /// Initialize a new DataContextContainer object. + /// + public DataContextContainer(string connectionString) : base(connectionString, "DataContextContainer") + { + this.ContextOptions.LazyLoadingEnabled = true; + OnContextCreated(); + } + + /// + /// Initialize a new DataContextContainer object. + /// + public DataContextContainer(EntityConnection connection) : base(connection, "DataContextContainer") + { + this.ContextOptions.LazyLoadingEnabled = true; + OnContextCreated(); + } + + #endregion + + #region Partial Methods + + partial void OnContextCreated(); + + #endregion + + #region ObjectSet Properties + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Projects + { + get + { + if ((_Projects == null)) + { + _Projects = base.CreateObjectSet("Projects"); + } + return _Projects; + } + } + private ObjectSet _Projects; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Resources + { + get + { + if ((_Resources == null)) + { + _Resources = base.CreateObjectSet("Resources"); + } + return _Resources; + } + } + private ObjectSet _Resources; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Organizations + { + get + { + if ((_Organizations == null)) + { + _Organizations = base.CreateObjectSet("Organizations"); + } + return _Organizations; + } + } + private ObjectSet _Organizations; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Tags + { + get + { + if ((_Tags == null)) + { + _Tags = base.CreateObjectSet("Tags"); + } + return _Tags; + } + } + private ObjectSet _Tags; + + #endregion + #region AddTo Methods + + /// + /// Deprecated Method for adding a new object to the Projects EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToProjects(Project project) + { + base.AddObject("Projects", project); + } + + /// + /// Deprecated Method for adding a new object to the Resources EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToResources(Resource resource) + { + base.AddObject("Resources", resource); + } + + /// + /// Deprecated Method for adding a new object to the Organizations EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToOrganizations(Organization organization) + { + base.AddObject("Organizations", organization); + } + + /// + /// Deprecated Method for adding a new object to the Tags EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToTags(Tag tag) + { + base.AddObject("Tags", tag); + } + + #endregion + } + + + #endregion + + #region Entities + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="DataContext", Name="Organization")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Organization : EntityObject + { + #region Factory Method + + /// + /// Create a new Organization object. + /// + /// Initial value of the Id property. + /// Initial value of the Name property. + /// Initial value of the ContactEmail property. + public static Organization CreateOrganization(global::System.Int32 id, global::System.String name, global::System.String contactEmail) + { + Organization organization = new Organization(); + organization.Id = id; + organization.Name = name; + organization.ContactEmail = contactEmail; + return organization; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int32 Id + { + get + { + return _Id; + } + set + { + if (_Id != value) + { + OnIdChanging(value); + ReportPropertyChanging("Id"); + _Id = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Id"); + OnIdChanged(); + } + } + } + private global::System.Int32 _Id; + partial void OnIdChanging(global::System.Int32 value); + partial void OnIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String Name + { + get + { + return _Name; + } + set + { + OnNameChanging(value); + ReportPropertyChanging("Name"); + _Name = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Name"); + OnNameChanged(); + } + } + private global::System.String _Name; + partial void OnNameChanging(global::System.String value); + partial void OnNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String ContactEmail + { + get + { + return _ContactEmail; + } + set + { + OnContactEmailChanging(value); + ReportPropertyChanging("ContactEmail"); + _ContactEmail = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("ContactEmail"); + OnContactEmailChanged(); + } + } + private global::System.String _ContactEmail; + partial void OnContactEmailChanging(global::System.String value); + partial void OnContactEmailChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DataContext", "OrganizationProject", "Project")] + public EntityCollection Projects + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("DataContext.OrganizationProject", "Project"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("DataContext.OrganizationProject", "Project", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DataContext", "OrganizationResource", "Resource")] + public EntityCollection AvailableResources + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("DataContext.OrganizationResource", "Resource"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("DataContext.OrganizationResource", "Resource", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="DataContext", Name="Project")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Project : EntityObject + { + #region Factory Method + + /// + /// Create a new Project object. + /// + /// Initial value of the Id property. + /// Initial value of the Name property. + /// Initial value of the Description property. + /// Initial value of the IsActive property. + /// Initial value of the Location property. + public static Project CreateProject(global::System.Int32 id, global::System.String name, global::System.String description, global::System.Boolean isActive, Location location) + { + Project project = new Project(); + project.Id = id; + project.Name = name; + project.Description = description; + project.IsActive = isActive; + project.Location = StructuralObject.VerifyComplexObjectIsNotNull(location, "Location"); + return project; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int32 Id + { + get + { + return _Id; + } + set + { + if (_Id != value) + { + OnIdChanging(value); + ReportPropertyChanging("Id"); + _Id = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Id"); + OnIdChanged(); + } + } + } + private global::System.Int32 _Id; + partial void OnIdChanging(global::System.Int32 value); + partial void OnIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String Name + { + get + { + return _Name; + } + set + { + OnNameChanging(value); + ReportPropertyChanging("Name"); + _Name = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Name"); + OnNameChanged(); + } + } + private global::System.String _Name; + partial void OnNameChanging(global::System.String value); + partial void OnNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String Description + { + get + { + return _Description; + } + set + { + OnDescriptionChanging(value); + ReportPropertyChanging("Description"); + _Description = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Description"); + OnDescriptionChanged(); + } + } + private global::System.String _Description; + partial void OnDescriptionChanging(global::System.String value); + partial void OnDescriptionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Boolean IsActive + { + get + { + return _IsActive; + } + set + { + OnIsActiveChanging(value); + ReportPropertyChanging("IsActive"); + _IsActive = StructuralObject.SetValidValue(value); + ReportPropertyChanged("IsActive"); + OnIsActiveChanged(); + } + } + private global::System.Boolean _IsActive; + partial void OnIsActiveChanging(global::System.Boolean value); + partial void OnIsActiveChanged(); + + #endregion + #region Complex Properties + + /// + /// No Metadata Documentation available. + /// + [EdmComplexPropertyAttribute()] + [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] + [XmlElement(IsNullable=true)] + [SoapElement(IsNullable=true)] + [DataMemberAttribute()] + public Location Location + { + get + { + _Location = GetValidValue(_Location, "Location", false, _LocationInitialized); + _LocationInitialized = true; + return _Location; + } + set + { + OnLocationChanging(value); + ReportPropertyChanging("Location"); + _Location = SetValidValue(_Location, value, "Location"); + _LocationInitialized = true; + ReportPropertyChanged("Location"); + OnLocationChanged(); + } + } + private Location _Location; + private bool _LocationInitialized; + partial void OnLocationChanging(Location value); + partial void OnLocationChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DataContext", "OrganizationProject", "Organization")] + public Organization AdminOrganization + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.OrganizationProject", "Organization").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.OrganizationProject", "Organization").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference AdminOrganizationReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.OrganizationProject", "Organization"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("DataContext.OrganizationProject", "Organization", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DataContext", "ProjectResource", "Resource")] + public EntityCollection RequiredResources + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("DataContext.ProjectResource", "Resource"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("DataContext.ProjectResource", "Resource", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="DataContext", Name="Resource")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Resource : EntityObject + { + #region Factory Method + + /// + /// Create a new Resource object. + /// + /// Initial value of the Id property. + /// Initial value of the Title property. + /// Initial value of the Description property. + /// Initial value of the Quantity property. + /// Initial value of the QuantityUnits property. + /// Initial value of the Location property. + public static Resource CreateResource(global::System.Int64 id, global::System.String title, global::System.String description, global::System.Double quantity, global::System.String quantityUnits, Location location) + { + Resource resource = new Resource(); + resource.Id = id; + resource.Title = title; + resource.Description = description; + resource.Quantity = quantity; + resource.QuantityUnits = quantityUnits; + resource.Location = StructuralObject.VerifyComplexObjectIsNotNull(location, "Location"); + return resource; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 Id + { + get + { + return _Id; + } + set + { + if (_Id != value) + { + OnIdChanging(value); + ReportPropertyChanging("Id"); + _Id = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Id"); + OnIdChanged(); + } + } + } + private global::System.Int64 _Id; + partial void OnIdChanging(global::System.Int64 value); + partial void OnIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String Title + { + get + { + return _Title; + } + set + { + OnTitleChanging(value); + ReportPropertyChanging("Title"); + _Title = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Title"); + OnTitleChanged(); + } + } + private global::System.String _Title; + partial void OnTitleChanging(global::System.String value); + partial void OnTitleChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String Description + { + get + { + return _Description; + } + set + { + OnDescriptionChanging(value); + ReportPropertyChanging("Description"); + _Description = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Description"); + OnDescriptionChanged(); + } + } + private global::System.String _Description; + partial void OnDescriptionChanging(global::System.String value); + partial void OnDescriptionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Double Quantity + { + get + { + return _Quantity; + } + set + { + OnQuantityChanging(value); + ReportPropertyChanging("Quantity"); + _Quantity = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Quantity"); + OnQuantityChanged(); + } + } + private global::System.Double _Quantity; + partial void OnQuantityChanging(global::System.Double value); + partial void OnQuantityChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String QuantityUnits + { + get + { + return _QuantityUnits; + } + set + { + OnQuantityUnitsChanging(value); + ReportPropertyChanging("QuantityUnits"); + _QuantityUnits = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("QuantityUnits"); + OnQuantityUnitsChanged(); + } + } + private global::System.String _QuantityUnits; + partial void OnQuantityUnitsChanging(global::System.String value); + partial void OnQuantityUnitsChanged(); + + #endregion + #region Complex Properties + + /// + /// No Metadata Documentation available. + /// + [EdmComplexPropertyAttribute()] + [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] + [XmlElement(IsNullable=true)] + [SoapElement(IsNullable=true)] + [DataMemberAttribute()] + public Location Location + { + get + { + _Location = GetValidValue(_Location, "Location", false, _LocationInitialized); + _LocationInitialized = true; + return _Location; + } + set + { + OnLocationChanging(value); + ReportPropertyChanging("Location"); + _Location = SetValidValue(_Location, value, "Location"); + _LocationInitialized = true; + ReportPropertyChanged("Location"); + OnLocationChanged(); + } + } + private Location _Location; + private bool _LocationInitialized; + partial void OnLocationChanging(Location value); + partial void OnLocationChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DataContext", "ProjectResource", "Project")] + public Project Project + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ProjectResource", "Project").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ProjectResource", "Project").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference ProjectReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ProjectResource", "Project"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("DataContext.ProjectResource", "Project", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DataContext", "OrganizationResource", "Organization")] + public Organization Organization + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.OrganizationResource", "Organization").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.OrganizationResource", "Organization").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference OrganizationReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.OrganizationResource", "Organization"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("DataContext.OrganizationResource", "Organization", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DataContext", "ResourceResource", "Resource1")] + public Resource Fulfills + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ResourceResource", "Resource1").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ResourceResource", "Resource1").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference FulfillsReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ResourceResource", "Resource1"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("DataContext.ResourceResource", "Resource1", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DataContext", "ResourceResource", "Resource")] + public Resource FulfilledBy + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ResourceResource", "Resource").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ResourceResource", "Resource").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference FulfilledByReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ResourceResource", "Resource"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("DataContext.ResourceResource", "Resource", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DataContext", "TagResource", "Tag")] + public EntityCollection Tag + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("DataContext.TagResource", "Tag"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("DataContext.TagResource", "Tag", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="DataContext", Name="Tag")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Tag : EntityObject + { + #region Factory Method + + /// + /// Create a new Tag object. + /// + /// Initial value of the Id property. + /// Initial value of the Name property. + public static Tag CreateTag(global::System.Int32 id, global::System.String name) + { + Tag tag = new Tag(); + tag.Id = id; + tag.Name = name; + return tag; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int32 Id + { + get + { + return _Id; + } + set + { + if (_Id != value) + { + OnIdChanging(value); + ReportPropertyChanging("Id"); + _Id = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Id"); + OnIdChanged(); + } + } + } + private global::System.Int32 _Id; + partial void OnIdChanging(global::System.Int32 value); + partial void OnIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String Name + { + get + { + return _Name; + } + set + { + OnNameChanging(value); + ReportPropertyChanging("Name"); + _Name = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Name"); + OnNameChanged(); + } + } + private global::System.String _Name; + partial void OnNameChanging(global::System.String value); + partial void OnNameChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DataContext", "TagResource", "Resource")] + public EntityCollection Resources + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("DataContext.TagResource", "Resource"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("DataContext.TagResource", "Resource", value); + } + } + } + + #endregion + } + + #endregion + #region ComplexTypes + + /// + /// No Metadata Documentation available. + /// + [EdmComplexTypeAttribute(NamespaceName="DataContext", Name="Location")] + [DataContractAttribute(IsReference=true)] + [Serializable()] + public partial class Location : ComplexObject + { + #region Factory Method + + /// + /// Create a new Location object. + /// + /// Initial value of the Longitude property. + /// Initial value of the Latitude property. + /// Initial value of the Address property. + public static Location CreateLocation(global::System.Double longitude, global::System.Double latitude, global::System.String address) + { + Location location = new Location(); + location.Longitude = longitude; + location.Latitude = latitude; + location.Address = address; + return location; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Double Longitude + { + get + { + return _Longitude; + } + set + { + OnLongitudeChanging(value); + ReportPropertyChanging("Longitude"); + _Longitude = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Longitude"); + OnLongitudeChanged(); + } + } + private global::System.Double _Longitude; + partial void OnLongitudeChanging(global::System.Double value); + partial void OnLongitudeChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Double Latitude + { + get + { + return _Latitude; + } + set + { + OnLatitudeChanging(value); + ReportPropertyChanging("Latitude"); + _Latitude = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Latitude"); + OnLatitudeChanged(); + } + } + private global::System.Double _Latitude; + partial void OnLatitudeChanging(global::System.Double value); + partial void OnLatitudeChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String Address + { + get + { + return _Address; + } + set + { + OnAddressChanging(value); + ReportPropertyChanging("Address"); + _Address = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Address"); + OnAddressChanged(); + } + } + private global::System.String _Address; + partial void OnAddressChanging(global::System.String value); + partial void OnAddressChanged(); + + #endregion + } + + #endregion + +} diff --git a/CharityPortal/CharityPortal.Data/DataContext.edmx b/CharityPortal/CharityPortal.Data/DataContext.edmx new file mode 100644 index 0000000..8e55005 --- /dev/null +++ b/CharityPortal/CharityPortal.Data/DataContext.edmx @@ -0,0 +1,171 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CharityPortal/CharityPortal.Data/Properties/AssemblyInfo.cs b/CharityPortal/CharityPortal.Data/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..58f5348 --- /dev/null +++ b/CharityPortal/CharityPortal.Data/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("CharityPortal.Data")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("CharityPortal.Data")] +[assembly: AssemblyCopyright("Copyright © Microsoft 2011")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("5fcd76ca-74bf-4905-9d77-2187cf9d4afa")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/CharityPortal/CharityPortal.Tests/App.config b/CharityPortal/CharityPortal.Tests/App.config new file mode 100644 index 0000000..5a526f8 --- /dev/null +++ b/CharityPortal/CharityPortal.Tests/App.config @@ -0,0 +1,14 @@ + + + + + + + + + + + diff --git a/CharityPortal/CharityPortal.Tests/CharityPortal.Tests.csproj b/CharityPortal/CharityPortal.Tests/CharityPortal.Tests.csproj new file mode 100644 index 0000000..260203d --- /dev/null +++ b/CharityPortal/CharityPortal.Tests/CharityPortal.Tests.csproj @@ -0,0 +1,72 @@ + + + + Debug + AnyCPU + + + 2.0 + {3AA419E8-E022-4912-AFAF-56FECE9013D6} + Library + Properties + CharityPortal.Tests + CharityPortal.Tests + v4.0 + 512 + {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + {873FA52F-68B3-4B6E-843C-C7045F51C88B} + CharityPortal + + + + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal.Tests/Controllers/HomeControllerTest.cs b/CharityPortal/CharityPortal.Tests/Controllers/HomeControllerTest.cs new file mode 100644 index 0000000..aa0aa96 --- /dev/null +++ b/CharityPortal/CharityPortal.Tests/Controllers/HomeControllerTest.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Web.Mvc; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using CharityPortal; +using CharityPortal.Controllers; + +namespace CharityPortal.Tests.Controllers +{ + [TestClass] + public class HomeControllerTest + { + [TestMethod] + public void Index() + { + // Arrange + HomeController controller = new HomeController(); + + // Act + ViewResult result = controller.Index() as ViewResult; + + // Assert + Assert.AreEqual("Welcome to ASP.NET MVC!", result.ViewBag.Message); + } + + [TestMethod] + public void About() + { + // Arrange + HomeController controller = new HomeController(); + + // Act + ViewResult result = controller.About() as ViewResult; + + // Assert + Assert.IsNotNull(result); + } + } +} diff --git a/CharityPortal/CharityPortal.Tests/Properties/AssemblyInfo.cs b/CharityPortal/CharityPortal.Tests/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..90125be --- /dev/null +++ b/CharityPortal/CharityPortal.Tests/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("CharityPortal.Tests")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("CharityPortal.Tests")] +[assembly: AssemblyCopyright("Copyright © Microsoft 2011")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("fefa2b30-0522-4b23-b03a-3fa6294b871b")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Revision and Build Numbers +// by using the '*' as shown below: +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/CharityPortal/CharityPortal.sln b/CharityPortal/CharityPortal.sln new file mode 100644 index 0000000..eff4e4c --- /dev/null +++ b/CharityPortal/CharityPortal.sln @@ -0,0 +1,32 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CharityPortal", "CharityPortal\CharityPortal.csproj", "{873FA52F-68B3-4B6E-843C-C7045F51C88B}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CharityPortal.Tests", "CharityPortal.Tests\CharityPortal.Tests.csproj", "{3AA419E8-E022-4912-AFAF-56FECE9013D6}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CharityPortal.Data", "CharityPortal.Data\CharityPortal.Data.csproj", "{1D773A47-6822-4511-9B27-B37386F866DD}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {873FA52F-68B3-4B6E-843C-C7045F51C88B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {873FA52F-68B3-4B6E-843C-C7045F51C88B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {873FA52F-68B3-4B6E-843C-C7045F51C88B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {873FA52F-68B3-4B6E-843C-C7045F51C88B}.Release|Any CPU.Build.0 = Release|Any CPU + {3AA419E8-E022-4912-AFAF-56FECE9013D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3AA419E8-E022-4912-AFAF-56FECE9013D6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3AA419E8-E022-4912-AFAF-56FECE9013D6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3AA419E8-E022-4912-AFAF-56FECE9013D6}.Release|Any CPU.Build.0 = Release|Any CPU + {1D773A47-6822-4511-9B27-B37386F866DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1D773A47-6822-4511-9B27-B37386F866DD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1D773A47-6822-4511-9B27-B37386F866DD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1D773A47-6822-4511-9B27-B37386F866DD}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/CharityPortal/CharityPortal/CharityPortal.csproj b/CharityPortal/CharityPortal/CharityPortal.csproj new file mode 100644 index 0000000..8e4be71 --- /dev/null +++ b/CharityPortal/CharityPortal/CharityPortal.csproj @@ -0,0 +1,184 @@ + + + + Debug + AnyCPU + + + 2.0 + {873FA52F-68B3-4B6E-843C-C7045F51C88B} + {E53F8FEA-EAE0-44A6-8774-FFD645390401};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} + Library + Properties + CharityPortal + CharityPortal + v4.0 + false + false + + + true + full + false + bin\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\ + TRACE + prompt + 4 + + + + ..\packages\EntityFramework.4.1.10331.0\lib\EntityFramework.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Global.asax + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Web.config + + + Web.config + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {1D773A47-6822-4511-9B27-B37386F866DD} + CharityPortal.Data + + + + + + + + + + + + + False + True + 56070 + / + + + False + False + + + False + + + + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/Site.css b/CharityPortal/CharityPortal/Content/Site.css new file mode 100644 index 0000000..5244089 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/Site.css @@ -0,0 +1,324 @@ +/*---------------------------------------------------------- +The base color for this template is #5c87b2. If you'd like +to use a different color start by replacing all instances of +#5c87b2 with your new color. +----------------------------------------------------------*/ +body { + background-color: #5c87b2; + font-size: .85em; + font-family: "Trebuchet MS", Verdana, Helvetica, Sans-Serif; + margin: 0; + padding: 0; + color: #696969; +} + +a:link { + color: #034af3; + text-decoration: underline; +} + +a:visited { + color: #505abc; +} + +a:hover { + color: #1d60ff; + text-decoration: none; +} + +a:active { + color: #12eb87; +} + +p, ul { + margin-bottom: 20px; + line-height: 1.6em; +} + +header, +footer, +nav, +section { + display: block; +} + +/* HEADINGS +----------------------------------------------------------*/ +h1, h2, h3, h4, h5, h6 { + font-size: 1.5em; + color: #000; +} + +h1 { + font-size: 2em; + padding-bottom: 0; + margin-bottom: 0; +} + +h2 { + padding: 0 0 10px 0; +} + +h3 { + font-size: 1.2em; +} + +h4 { + font-size: 1.1em; +} + +h5, h6 { + font-size: 1em; +} + +/* PRIMARY LAYOUT ELEMENTS +----------------------------------------------------------*/ + +/* you can specify a greater or lesser percentage for the +page width. Or, you can specify an exact pixel width. */ +.page { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +header, #header { + position: relative; + margin-bottom: 0px; + color: #000; + padding: 0; +} + +header h1, #header h1 { + font-weight: bold; + padding: 5px 0; + margin: 0; + color: #fff; + border: none; + line-height: 2em; + font-size: 32px !important; + text-shadow: 1px 1px 2px #111; +} + +#main { + padding: 30px 30px 15px 30px; + background-color: #fff; + border-radius: 4px 0 0 0; + -webkit-border-radius: 4px 0 0 0; + -moz-border-radius: 4px 0 0 0; +} + +footer, +#footer { + background-color: #fff; + color: #999; + padding: 10px 0; + text-align: center; + line-height: normal; + margin: 0 0 30px 0; + font-size: .9em; + border-radius: 0 0 4px 4px; + -webkit-border-radius: 0 0 4px 4px; + -moz-border-radius: 0 0 4px 4px; +} + +/* TAB MENU +----------------------------------------------------------*/ +ul#menu { + border-bottom: 1px #5C87B2 solid; + padding: 0 0 2px; + position: relative; + margin: 0; + text-align: right; +} + +ul#menu li { + display: inline; + list-style: none; +} + +ul#menu li#greeting { + padding: 10px 20px; + font-weight: bold; + text-decoration: none; + line-height: 2.8em; + color: #fff; +} + +ul#menu li a { + padding: 10px 20px; + font-weight: bold; + text-decoration: none; + line-height: 2.8em; + background-color: #e8eef4; + color: #034af3; + border-radius: 4px 4px 0 0; + -webkit-border-radius: 4px 4px 0 0; + -moz-border-radius: 4px 4px 0 0; +} + +ul#menu li a:hover { + background-color: #fff; + text-decoration: none; +} + +ul#menu li a:active { + background-color: #a6e2a6; + text-decoration: none; +} + +ul#menu li.selected a { + background-color: #fff; + color: #000; +} + +/* FORM LAYOUT ELEMENTS +----------------------------------------------------------*/ + +fieldset { + border: 1px solid #ddd; + padding: 0 1.4em 1.4em 1.4em; + margin: 0 0 1.5em 0; +} + +legend { + font-size: 1.2em; + font-weight: bold; +} + +textarea { + min-height: 75px; +} + +input[type="text"], +input[type="password"] { + border: 1px solid #ccc; + padding: 2px; + font-size: 1.2em; + color: #444; + width: 200px; +} + +select { + border: 1px solid #ccc; + padding: 2px; + font-size: 1.2em; + color: #444; +} + +input[type="submit"] { + font-size: 1.2em; + padding: 5px; +} + +/* TABLE +----------------------------------------------------------*/ + +table { + border: solid 1px #e8eef4; + border-collapse: collapse; +} + +table td { + padding: 5px; + border: solid 1px #e8eef4; +} + +table th { + padding: 6px 5px; + text-align: left; + background-color: #e8eef4; + border: solid 1px #e8eef4; +} + +/* MISC +----------------------------------------------------------*/ +.clear { + clear: both; +} + +.error { + color: Red; +} + +nav, +#menucontainer { + margin-top: 40px; +} + +div#title { + display: block; + float: left; + text-align: left; +} + +#logindisplay { + font-size: 1.1em; + display: block; + text-align: right; + margin: 10px; + color: White; +} + +#logindisplay a:link { + color: white; + text-decoration: underline; +} + +#logindisplay a:visited { + color: white; + text-decoration: underline; +} + +#logindisplay a:hover { + color: white; + text-decoration: none; +} + +/* Styles for validation helpers +-----------------------------------------------------------*/ +.field-validation-error { + color: #ff0000; +} + +.field-validation-valid { + display: none; +} + +.input-validation-error { + border: 1px solid #ff0000; + background-color: #ffeeee; +} + +.validation-summary-errors { + font-weight: bold; + color: #ff0000; +} + +.validation-summary-valid { + display: none; +} + +/* Styles for editor and display helpers +----------------------------------------------------------*/ +.display-label, +.editor-label { + margin: 1em 0 0 0; +} + +.display-field, +.editor-field { + margin: 0.5em 0 0 0; +} + +.text-box { + width: 30em; +} + +.text-box.multi-line { + height: 6.5em; +} + +.tri-state { + width: 6em; +} diff --git a/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png b/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png new file mode 100644 index 0000000000000000000000000000000000000000..5b5dab2ab7b1c50dea9cfe73dc5a269a92d2d4b4 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!3HG1q!d*FscKIb$B>N1x91EQ4=4yQ7#`R^ z$vje}bP0l+XkK DSH>_4 literal 0 HcmV?d00001 diff --git a/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_flat_75_ffffff_40x100.png b/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_flat_75_ffffff_40x100.png new file mode 100644 index 0000000000000000000000000000000000000000..ac8b229af950c29356abf64a6c4aa894575445f0 GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!3HG1q!d*FsY*{5$B>N1x91EQ4=4yQYz+E8 zPo9&<{J;c_6SHRil>2s{Zw^OT)6@jj2u|u!(plXsM>LJD`vD!n;OXk;vd$@?2>^GI BH@yG= literal 0 HcmV?d00001 diff --git a/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png b/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..ad3d6346e00f246102f72f2e026ed0491988b394 GIT binary patch literal 120 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnour0hLi978O6-<~(*I$*%ybaDOn z{W;e!B}_MSUQoPXhYd^Y6RUoS1yepnPx`2Kz)7OXQG!!=-jY=F+d2OOy?#DnJ32>z UEim$g7SJdLPgg&ebxsLQ09~*s;{X5v literal 0 HcmV?d00001 diff --git a/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_65_ffffff_1x400.png b/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_65_ffffff_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..42ccba269b6e91bef12ad0fa18be651b5ef0ee68 GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnouqzpV=978O6-=0?FV^9z|eBtf= z|7WztIJ;WT>{+tN>ySr~=F{k$>;_x^_y?afmf9pRKH0)6?eSP?3s5hEr>mdKI;Vst E0O;M1& literal 0 HcmV?d00001 diff --git a/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_75_dadada_1x400.png b/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_75_dadada_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..5a46b47cb16631068aee9e0bd61269fc4e95e5cd GIT binary patch literal 111 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnouq|7{B978O6lPf+wIa#m9#>Unb zm^4K~wN3Zq+uP{vDV26o)#~38k_!`W=^oo1w6ixmPC4R1b Tyd6G3lNdZ*{an^LB{Ts5`idse literal 0 HcmV?d00001 diff --git a/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png new file mode 100644 index 0000000000000000000000000000000000000000..7c9fa6c6edcfcdd3e5b77e6f547b719e6fc66e30 GIT binary patch literal 101 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 literal 0 HcmV?d00001 diff --git a/CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_2e83ff_256x240.png b/CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_2e83ff_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..45e8928e5284adacea3f9ec07b9b50667d2ac65f GIT binary patch literal 4369 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 literal 0 HcmV?d00001 diff --git a/CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_454545_256x240.png b/CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_454545_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..7ec70d11bfb2f77374dfd00ef61ba0c3647b5a0c GIT binary patch literal 4369 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 k*Kv;w;*%(i9W@fAqs5i2wiq literal 0 HcmV?d00001 diff --git a/CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_888888_256x240.png b/CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_888888_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..5ba708c39172a69e069136bd1309c4322c61f571 GIT binary patch literal 4369 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 literal 0 HcmV?d00001 diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.accordion.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.accordion.css new file mode 100644 index 0000000..4a67cbf --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.accordion.css @@ -0,0 +1,24 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Accordion 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Accordion#theming + */ +/* IE/Win - Fix animation bug - #4615 */ +.ui-accordion { width: 100%; } +.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; } +.ui-accordion .ui-accordion-li-fix { display: inline; } +.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; } +.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; } +.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; } +.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; } +.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; } +.ui-accordion .ui-accordion-content-active { display: block; } diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.all.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.all.css new file mode 100644 index 0000000..2b2c103 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.all.css @@ -0,0 +1,16 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI CSS Framework 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Theming + */ +@import "jquery.ui.base.css"; +@import "jquery.ui.theme.css"; diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.autocomplete.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.autocomplete.css new file mode 100644 index 0000000..aac4e20 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.autocomplete.css @@ -0,0 +1,62 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Autocomplete 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * http://docs.jquery.com/UI/Autocomplete#theming + */ +.ui-autocomplete { position: absolute; cursor: default; } + +/* workarounds */ +* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ + +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Menu 1.8.11 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Menu#theming + */ +.ui-menu { + list-style:none; + padding: 2px; + margin: 0; + display:block; + float: left; +} +.ui-menu .ui-menu { + margin-top: -3px; +} +.ui-menu .ui-menu-item { + margin:0; + padding: 0; + zoom: 1; + float: left; + clear: left; + width: 100%; +} +.ui-menu .ui-menu-item a { + text-decoration:none; + display:block; + padding:.2em .4em; + line-height:1.5; + zoom:1; +} +.ui-menu .ui-menu-item a.ui-state-hover, +.ui-menu .ui-menu-item a.ui-state-active { + font-weight: normal; + margin: -1px; +} diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.base.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.base.css new file mode 100644 index 0000000..f52ee39 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.base.css @@ -0,0 +1,11 @@ +@import url("jquery.ui.core.css"); +@import url("jquery.ui.resizable.css"); +@import url("jquery.ui.selectable.css"); +@import url("jquery.ui.accordion.css"); +@import url("jquery.ui.autocomplete.css"); +@import url("jquery.ui.button.css"); +@import url("jquery.ui.dialog.css"); +@import url("jquery.ui.slider.css"); +@import url("jquery.ui.tabs.css"); +@import url("jquery.ui.datepicker.css"); +@import url("jquery.ui.progressbar.css"); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.button.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.button.css new file mode 100644 index 0000000..af6c985 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.button.css @@ -0,0 +1,43 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Button 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Button#theming + */ +.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */ +.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */ +button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */ +.ui-button-icons-only { width: 3.4em; } +button.ui-button-icons-only { width: 3.7em; } + +/*button text element */ +.ui-button .ui-button-text { display: block; line-height: 1.4; } +.ui-button-text-only .ui-button-text { padding: .4em 1em; } +.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; } +.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; } +.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; } +.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; } +/* no icon support for input elements, provide padding by default */ +input.ui-button { padding: .4em 1em; } + +/*button icon element(s) */ +.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; } +.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; } +.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; } +.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } +.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } + +/*button sets*/ +.ui-buttonset { margin-right: 7px; } +.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; } + +/* workarounds */ +button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.core.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.core.css new file mode 100644 index 0000000..55fb8b0 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.core.css @@ -0,0 +1,46 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI CSS Framework 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Theming/API + */ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { display: none; } +.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } +.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } +.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } +.ui-helper-clearfix { display: inline-block; } +/* required comment for clearfix to work in Opera \*/ +* html .ui-helper-clearfix { height:1%; } +.ui-helper-clearfix { display:block; } +/* end clearfix */ +.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { cursor: default !important; } + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.datepicker.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.datepicker.css new file mode 100644 index 0000000..7126923 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.datepicker.css @@ -0,0 +1,73 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Datepicker 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Datepicker#theming + */ +.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; } +.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } +.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } +.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } +.ui-datepicker .ui-datepicker-prev { left:2px; } +.ui-datepicker .ui-datepicker-next { right:2px; } +.ui-datepicker .ui-datepicker-prev-hover { left:1px; } +.ui-datepicker .ui-datepicker-next-hover { right:1px; } +.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } +.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } +.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; } +.ui-datepicker select.ui-datepicker-month-year {width: 100%;} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { width: 49%;} +.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; } +.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } +.ui-datepicker td { border: 0; padding: 1px; } +.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } +.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } +.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { width:auto; } +.ui-datepicker-multi .ui-datepicker-group { float:left; } +.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } +.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } +.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } +.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } +.ui-datepicker-row-break { clear:both; width:100%; } + +/* RTL support */ +.ui-datepicker-rtl { direction: rtl; } +.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } +.ui-datepicker-rtl .ui-datepicker-group { float:right; } +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } + +/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ +.ui-datepicker-cover { + display: none; /*sorry for IE5*/ + display/**/: block; /*sorry for IE5*/ + position: absolute; /*must have*/ + z-index: -1; /*must have*/ + filter: mask(); /*must have*/ + top: -4px; /*must have*/ + left: -4px; /*must have*/ + width: 200px; /*must have*/ + height: 200px; /*must have*/ +} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.dialog.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.dialog.css new file mode 100644 index 0000000..311dd32 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.dialog.css @@ -0,0 +1,26 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Dialog 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Dialog#theming + */ +.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; } +.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; } +.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; } +.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; } +.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; } +.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; } +.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; } +.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; } +.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; } +.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; } +.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } +.ui-draggable .ui-dialog-titlebar { cursor: move; } diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.progressbar.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.progressbar.css new file mode 100644 index 0000000..6e8718e --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.progressbar.css @@ -0,0 +1,16 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Progressbar 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Progressbar#theming + */ +.ui-progressbar { height:2em; text-align: left; } +.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.resizable.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.resizable.css new file mode 100644 index 0000000..bf037be --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.resizable.css @@ -0,0 +1,25 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Resizable 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)] + * + * http://docs.jquery.com/UI/Resizable#theming + */ +.ui-resizable { position: relative;} +.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;} +.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } +.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; } +.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } +.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; } +.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; } +.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } +.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } +.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } +.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.selectable.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.selectable.css new file mode 100644 index 0000000..011416b --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.selectable.css @@ -0,0 +1,15 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Selectable 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Selectable#theming + */ +.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; } diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.slider.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.slider.css new file mode 100644 index 0000000..3bbfb93 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.slider.css @@ -0,0 +1,29 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Slider 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Slider#theming + */ +.ui-slider { position: relative; text-align: left; } +.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } +.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } + +.ui-slider-horizontal { height: .8em; } +.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } +.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } +.ui-slider-horizontal .ui-slider-range-min { left: 0; } +.ui-slider-horizontal .ui-slider-range-max { right: 0; } + +.ui-slider-vertical { width: .8em; height: 100px; } +.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } +.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } +.ui-slider-vertical .ui-slider-range-min { bottom: 0; } +.ui-slider-vertical .ui-slider-range-max { top: 0; } \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.tabs.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.tabs.css new file mode 100644 index 0000000..aa5cd8a --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.tabs.css @@ -0,0 +1,23 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Tabs 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Tabs#theming + */ +.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ +.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; } +.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; } +.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; } +.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ +.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } +.ui-tabs .ui-tabs-hide { display: none !important; } diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.theme.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.theme.css new file mode 100644 index 0000000..0d5b735 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.theme.css @@ -0,0 +1,257 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI CSS Framework 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Theming/API + * + * To view and modify this theme, visit http://jqueryui.com/themeroller/ + */ + + +/* Component containers +----------------------------------*/ +.ui-widget { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1.1em/*{fsDefault}*/; } +.ui-widget .ui-widget { font-size: 1em; } +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1em; } +.ui-widget-content { border: 1px solid #aaaaaa/*{borderColorContent}*/; background: #ffffff/*{bgColorContent}*/ url(images/ui-bg_flat_75_ffffff_40x100.png)/*{bgImgUrlContent}*/ 50%/*{bgContentXPos}*/ 50%/*{bgContentYPos}*/ repeat-x/*{bgContentRepeat}*/; color: #222222/*{fcContent}*/; } +.ui-widget-content a { color: #222222/*{fcContent}*/; } +.ui-widget-header { border: 1px solid #aaaaaa/*{borderColorHeader}*/; background: #cccccc/*{bgColorHeader}*/ url(images/ui-bg_highlight-soft_75_cccccc_1x100.png)/*{bgImgUrlHeader}*/ 50%/*{bgHeaderXPos}*/ 50%/*{bgHeaderYPos}*/ repeat-x/*{bgHeaderRepeat}*/; color: #222222/*{fcHeader}*/; font-weight: bold; } +.ui-widget-header a { color: #222222/*{fcHeader}*/; } + +/* Interaction states +----------------------------------*/ +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3/*{borderColorDefault}*/; background: #e6e6e6/*{bgColorDefault}*/ url(images/ui-bg_glass_75_e6e6e6_1x400.png)/*{bgImgUrlDefault}*/ 50%/*{bgDefaultXPos}*/ 50%/*{bgDefaultYPos}*/ repeat-x/*{bgDefaultRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #555555/*{fcDefault}*/; } +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555/*{fcDefault}*/; text-decoration: none; } +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999/*{borderColorHover}*/; background: #dadada/*{bgColorHover}*/ url(images/ui-bg_glass_75_dadada_1x400.png)/*{bgImgUrlHover}*/ 50%/*{bgHoverXPos}*/ 50%/*{bgHoverYPos}*/ repeat-x/*{bgHoverRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcHover}*/; } +.ui-state-hover a, .ui-state-hover a:hover { color: #212121/*{fcHover}*/; text-decoration: none; } +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa/*{borderColorActive}*/; background: #ffffff/*{bgColorActive}*/ url(images/ui-bg_glass_65_ffffff_1x400.png)/*{bgImgUrlActive}*/ 50%/*{bgActiveXPos}*/ 50%/*{bgActiveYPos}*/ repeat-x/*{bgActiveRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcActive}*/; } +.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121/*{fcActive}*/; text-decoration: none; } +.ui-widget :active { outline: none; } + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1/*{borderColorHighlight}*/; background: #fbf9ee/*{bgColorHighlight}*/ url(images/ui-bg_glass_55_fbf9ee_1x400.png)/*{bgImgUrlHighlight}*/ 50%/*{bgHighlightXPos}*/ 50%/*{bgHighlightYPos}*/ repeat-x/*{bgHighlightRepeat}*/; color: #363636/*{fcHighlight}*/; } +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636/*{fcHighlight}*/; } +.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a/*{borderColorError}*/; background: #fef1ec/*{bgColorError}*/ url(images/ui-bg_glass_95_fef1ec_1x400.png)/*{bgImgUrlError}*/ 50%/*{bgErrorXPos}*/ 50%/*{bgErrorYPos}*/ repeat-x/*{bgErrorRepeat}*/; color: #cd0a0a/*{fcError}*/; } +.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a/*{fcError}*/; } +.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a/*{fcError}*/; } +.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } +.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } +.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png)/*{iconsContent}*/; } +.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png)/*{iconsContent}*/; } +.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png)/*{iconsHeader}*/; } +.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png)/*{iconsDefault}*/; } +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png)/*{iconsHover}*/; } +.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png)/*{iconsActive}*/; } +.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png)/*{iconsHighlight}*/; } +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png)/*{iconsError}*/; } + +/* positioning */ +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-off { background-position: -96px -144px; } +.ui-icon-radio-on { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-tl { -moz-border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; border-top-left-radius: 4px/*{cornerRadius}*/; } +.ui-corner-tr { -moz-border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; border-top-right-radius: 4px/*{cornerRadius}*/; } +.ui-corner-bl { -moz-border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; border-bottom-left-radius: 4px/*{cornerRadius}*/; } +.ui-corner-br { -moz-border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; border-bottom-right-radius: 4px/*{cornerRadius}*/; } +.ui-corner-top { -moz-border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; border-top-left-radius: 4px/*{cornerRadius}*/; -moz-border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; border-top-right-radius: 4px/*{cornerRadius}*/; } +.ui-corner-bottom { -moz-border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; border-bottom-left-radius: 4px/*{cornerRadius}*/; -moz-border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; border-bottom-right-radius: 4px/*{cornerRadius}*/; } +.ui-corner-right { -moz-border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; border-top-right-radius: 4px/*{cornerRadius}*/; -moz-border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; border-bottom-right-radius: 4px/*{cornerRadius}*/; } +.ui-corner-left { -moz-border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; border-top-left-radius: 4px/*{cornerRadius}*/; -moz-border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; border-bottom-left-radius: 4px/*{cornerRadius}*/; } +.ui-corner-all { -moz-border-radius: 4px/*{cornerRadius}*/; -webkit-border-radius: 4px/*{cornerRadius}*/; border-radius: 4px/*{cornerRadius}*/; } + +/* Overlays */ +.ui-widget-overlay { background: #aaaaaa/*{bgColorOverlay}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlOverlay}*/ 50%/*{bgOverlayXPos}*/ 50%/*{bgOverlayYPos}*/ repeat-x/*{bgOverlayRepeat}*/; opacity: .3;filter:Alpha(Opacity=30)/*{opacityOverlay}*/; } +.ui-widget-shadow { margin: -8px/*{offsetTopShadow}*/ 0 0 -8px/*{offsetLeftShadow}*/; padding: 8px/*{thicknessShadow}*/; background: #aaaaaa/*{bgColorShadow}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlShadow}*/ 50%/*{bgShadowXPos}*/ 50%/*{bgShadowYPos}*/ repeat-x/*{bgShadowRepeat}*/; opacity: .3;filter:Alpha(Opacity=30)/*{opacityShadow}*/; -moz-border-radius: 8px/*{cornerRadiusShadow}*/; -webkit-border-radius: 8px/*{cornerRadiusShadow}*/; border-radius: 8px/*{cornerRadiusShadow}*/; } \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Controllers/AccountController.cs b/CharityPortal/CharityPortal/Controllers/AccountController.cs new file mode 100644 index 0000000..e41005c --- /dev/null +++ b/CharityPortal/CharityPortal/Controllers/AccountController.cs @@ -0,0 +1,174 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Mvc; +using System.Web.Routing; +using System.Web.Security; +using CharityPortal.Models; + +namespace CharityPortal.Controllers +{ + public class AccountController : Controller + { + + // + // GET: /Account/LogOn + + public ActionResult LogOn() + { + return View(); + } + + // + // POST: /Account/LogOn + + [HttpPost] + public ActionResult LogOn(LogOnModel model, string returnUrl) + { + if (ModelState.IsValid) { + if (Membership.ValidateUser(model.UserName, model.Password)) { + FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe); + if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") + && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\")) { + return Redirect(returnUrl); + } else { + return RedirectToAction("Index", "Home"); + } + } else { + ModelState.AddModelError("", "The user name or password provided is incorrect."); + } + } + + // If we got this far, something failed, redisplay form + return View(model); + } + + // + // GET: /Account/LogOff + + public ActionResult LogOff() + { + FormsAuthentication.SignOut(); + + return RedirectToAction("Index", "Home"); + } + + // + // GET: /Account/Register + + public ActionResult Register() + { + return View(); + } + + // + // POST: /Account/Register + + [HttpPost] + public ActionResult Register(RegisterModel model) + { + if (ModelState.IsValid) { + // Attempt to register the user + MembershipCreateStatus createStatus; + Membership.CreateUser(model.UserName, model.Password, model.Email, null, null, true, null, out createStatus); + + if (createStatus == MembershipCreateStatus.Success) { + FormsAuthentication.SetAuthCookie(model.UserName, false /* createPersistentCookie */); + return RedirectToAction("Index", "Home"); + } else { + ModelState.AddModelError("", ErrorCodeToString(createStatus)); + } + } + + // If we got this far, something failed, redisplay form + return View(model); + } + + // + // GET: /Account/ChangePassword + + [Authorize] + public ActionResult ChangePassword() + { + return View(); + } + + // + // POST: /Account/ChangePassword + + [Authorize] + [HttpPost] + public ActionResult ChangePassword(ChangePasswordModel model) + { + if (ModelState.IsValid) { + + // ChangePassword will throw an exception rather + // than return false in certain failure scenarios. + bool changePasswordSucceeded; + try { + MembershipUser currentUser = Membership.GetUser(User.Identity.Name, true /* userIsOnline */); + changePasswordSucceeded = currentUser.ChangePassword(model.OldPassword, model.NewPassword); + } catch (Exception) { + changePasswordSucceeded = false; + } + + if (changePasswordSucceeded) { + return RedirectToAction("ChangePasswordSuccess"); + } else { + ModelState.AddModelError("", "The current password is incorrect or the new password is invalid."); + } + } + + // If we got this far, something failed, redisplay form + return View(model); + } + + // + // GET: /Account/ChangePasswordSuccess + + public ActionResult ChangePasswordSuccess() + { + return View(); + } + + #region Status Codes + private static string ErrorCodeToString(MembershipCreateStatus createStatus) + { + // See http://go.microsoft.com/fwlink/?LinkID=177550 for + // a full list of status codes. + switch (createStatus) { + case MembershipCreateStatus.DuplicateUserName: + return "User name already exists. Please enter a different user name."; + + case MembershipCreateStatus.DuplicateEmail: + return "A user name for that e-mail address already exists. Please enter a different e-mail address."; + + case MembershipCreateStatus.InvalidPassword: + return "The password provided is invalid. Please enter a valid password value."; + + case MembershipCreateStatus.InvalidEmail: + return "The e-mail address provided is invalid. Please check the value and try again."; + + case MembershipCreateStatus.InvalidAnswer: + return "The password retrieval answer provided is invalid. Please check the value and try again."; + + case MembershipCreateStatus.InvalidQuestion: + return "The password retrieval question provided is invalid. Please check the value and try again."; + + case MembershipCreateStatus.InvalidUserName: + return "The user name provided is invalid. Please check the value and try again."; + + case MembershipCreateStatus.ProviderError: + return "The authentication provider returned an error. Please verify your entry and try again. If the problem persists, please contact your system administrator."; + + case MembershipCreateStatus.UserRejected: + return "The user creation request has been canceled. Please verify your entry and try again. If the problem persists, please contact your system administrator."; + + default: + return "An unknown error occurred. Please verify your entry and try again. If the problem persists, please contact your system administrator."; + } + } + #endregion + } +} diff --git a/CharityPortal/CharityPortal/Controllers/HomeController.cs b/CharityPortal/CharityPortal/Controllers/HomeController.cs new file mode 100644 index 0000000..59c72f8 --- /dev/null +++ b/CharityPortal/CharityPortal/Controllers/HomeController.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Mvc; + +namespace CharityPortal.Controllers +{ + public class HomeController : Controller + { + public ActionResult Index() + { + ViewBag.Message = "Welcome to ASP.NET MVC!"; + + return View(); + } + + public ActionResult About() + { + return View(); + } + } +} diff --git a/CharityPortal/CharityPortal/Global.asax b/CharityPortal/CharityPortal/Global.asax new file mode 100644 index 0000000..459b4c6 --- /dev/null +++ b/CharityPortal/CharityPortal/Global.asax @@ -0,0 +1 @@ +<%@ Application Codebehind="Global.asax.cs" Inherits="CharityPortal.MvcApplication" Language="C#" %> diff --git a/CharityPortal/CharityPortal/Global.asax.cs b/CharityPortal/CharityPortal/Global.asax.cs new file mode 100644 index 0000000..0f753b5 --- /dev/null +++ b/CharityPortal/CharityPortal/Global.asax.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Mvc; +using System.Web.Routing; + +namespace CharityPortal +{ + // Note: For instructions on enabling IIS6 or IIS7 classic mode, + // visit http://go.microsoft.com/?LinkId=9394801 + + public class MvcApplication : System.Web.HttpApplication + { + public static void RegisterGlobalFilters(GlobalFilterCollection filters) + { + filters.Add(new HandleErrorAttribute()); + } + + public static void RegisterRoutes(RouteCollection routes) + { + routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); + + routes.MapRoute( + "Default", // Route name + "{controller}/{action}/{id}", // URL with parameters + new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults + ); + + } + + protected void Application_Start() + { + AreaRegistration.RegisterAllAreas(); + + RegisterGlobalFilters(GlobalFilters.Filters); + RegisterRoutes(RouteTable.Routes); + } + } +} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Models/AccountModels.cs b/CharityPortal/CharityPortal/Models/AccountModels.cs new file mode 100644 index 0000000..6251e4c --- /dev/null +++ b/CharityPortal/CharityPortal/Models/AccountModels.cs @@ -0,0 +1,67 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Globalization; +using System.Web.Mvc; +using System.Web.Security; + +namespace CharityPortal.Models +{ + + public class ChangePasswordModel + { + [Required] + [DataType(DataType.Password)] + [Display(Name = "Current password")] + public string OldPassword { get; set; } + + [Required] + [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)] + [DataType(DataType.Password)] + [Display(Name = "New password")] + public string NewPassword { get; set; } + + [DataType(DataType.Password)] + [Display(Name = "Confirm new password")] + [Compare("NewPassword", ErrorMessage = "The new password and confirmation password do not match.")] + public string ConfirmPassword { get; set; } + } + + public class LogOnModel + { + [Required] + [Display(Name = "User name")] + public string UserName { get; set; } + + [Required] + [DataType(DataType.Password)] + [Display(Name = "Password")] + public string Password { get; set; } + + [Display(Name = "Remember me?")] + public bool RememberMe { get; set; } + } + + public class RegisterModel + { + [Required] + [Display(Name = "User name")] + public string UserName { get; set; } + + [Required] + [DataType(DataType.EmailAddress)] + [Display(Name = "Email address")] + public string Email { get; set; } + + [Required] + [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)] + [DataType(DataType.Password)] + [Display(Name = "Password")] + public string Password { get; set; } + + [DataType(DataType.Password)] + [Display(Name = "Confirm password")] + [Compare("Password", ErrorMessage = "The password and confirmation password do not match.")] + public string ConfirmPassword { get; set; } + } +} diff --git a/CharityPortal/CharityPortal/Properties/AssemblyInfo.cs b/CharityPortal/CharityPortal/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..02df337 --- /dev/null +++ b/CharityPortal/CharityPortal/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("CharityPortal")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("CharityPortal")] +[assembly: AssemblyCopyright("Copyright © Microsoft 2011")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("1a30e09d-7aa7-4ba9-8f83-a07ced2311c4")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Revision and Build Numbers +// by using the '*' as shown below: +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/CharityPortal/CharityPortal/Scripts/MicrosoftAjax.debug.js b/CharityPortal/CharityPortal/Scripts/MicrosoftAjax.debug.js new file mode 100644 index 0000000..51d7b06 --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/MicrosoftAjax.debug.js @@ -0,0 +1,7117 @@ +// Name: MicrosoftAjax.debug.js +// Assembly: System.Web.Extensions +// Version: 4.0.0.0 +// FileVersion: 4.0.20526.0 +//----------------------------------------------------------------------- +// Copyright (C) Microsoft Corporation. All rights reserved. +//----------------------------------------------------------------------- +// MicrosoftAjax.js +// Microsoft AJAX Framework. + +Function.__typeName = 'Function'; +Function.__class = true; +Function.createCallback = function Function$createCallback(method, context) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "method", type: Function}, + {name: "context", mayBeNull: true} + ]); + if (e) throw e; + return function() { + var l = arguments.length; + if (l > 0) { + var args = []; + for (var i = 0; i < l; i++) { + args[i] = arguments[i]; + } + args[l] = context; + return method.apply(this, args); + } + return method.call(this, context); + } +} +Function.createDelegate = function Function$createDelegate(instance, method) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "instance", mayBeNull: true}, + {name: "method", type: Function} + ]); + if (e) throw e; + return function() { + return method.apply(instance, arguments); + } +} +Function.emptyFunction = Function.emptyMethod = function Function$emptyMethod() { + /// +} +Function.validateParameters = function Function$validateParameters(parameters, expectedParameters, validateParameterCount) { + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "parameters"}, + {name: "expectedParameters"}, + {name: "validateParameterCount", type: Boolean, optional: true} + ]); + if (e) throw e; + return Function._validateParams(parameters, expectedParameters, validateParameterCount); +} +Function._validateParams = function Function$_validateParams(params, expectedParams, validateParameterCount) { + var e, expectedLength = expectedParams.length; + validateParameterCount = validateParameterCount || (typeof(validateParameterCount) === "undefined"); + e = Function._validateParameterCount(params, expectedParams, validateParameterCount); + if (e) { + e.popStackFrame(); + return e; + } + for (var i = 0, l = params.length; i < l; i++) { + var expectedParam = expectedParams[Math.min(i, expectedLength - 1)], + paramName = expectedParam.name; + if (expectedParam.parameterArray) { + paramName += "[" + (i - expectedLength + 1) + "]"; + } + else if (!validateParameterCount && (i >= expectedLength)) { + break; + } + e = Function._validateParameter(params[i], expectedParam, paramName); + if (e) { + e.popStackFrame(); + return e; + } + } + return null; +} +Function._validateParameterCount = function Function$_validateParameterCount(params, expectedParams, validateParameterCount) { + var i, error, + expectedLen = expectedParams.length, + actualLen = params.length; + if (actualLen < expectedLen) { + var minParams = expectedLen; + for (i = 0; i < expectedLen; i++) { + var param = expectedParams[i]; + if (param.optional || param.parameterArray) { + minParams--; + } + } + if (actualLen < minParams) { + error = true; + } + } + else if (validateParameterCount && (actualLen > expectedLen)) { + error = true; + for (i = 0; i < expectedLen; i++) { + if (expectedParams[i].parameterArray) { + error = false; + break; + } + } + } + if (error) { + var e = Error.parameterCount(); + e.popStackFrame(); + return e; + } + return null; +} +Function._validateParameter = function Function$_validateParameter(param, expectedParam, paramName) { + var e, + expectedType = expectedParam.type, + expectedInteger = !!expectedParam.integer, + expectedDomElement = !!expectedParam.domElement, + mayBeNull = !!expectedParam.mayBeNull; + e = Function._validateParameterType(param, expectedType, expectedInteger, expectedDomElement, mayBeNull, paramName); + if (e) { + e.popStackFrame(); + return e; + } + var expectedElementType = expectedParam.elementType, + elementMayBeNull = !!expectedParam.elementMayBeNull; + if (expectedType === Array && typeof(param) !== "undefined" && param !== null && + (expectedElementType || !elementMayBeNull)) { + var expectedElementInteger = !!expectedParam.elementInteger, + expectedElementDomElement = !!expectedParam.elementDomElement; + for (var i=0; i < param.length; i++) { + var elem = param[i]; + e = Function._validateParameterType(elem, expectedElementType, + expectedElementInteger, expectedElementDomElement, elementMayBeNull, + paramName + "[" + i + "]"); + if (e) { + e.popStackFrame(); + return e; + } + } + } + return null; +} +Function._validateParameterType = function Function$_validateParameterType(param, expectedType, expectedInteger, expectedDomElement, mayBeNull, paramName) { + var e, i; + if (typeof(param) === "undefined") { + if (mayBeNull) { + return null; + } + else { + e = Error.argumentUndefined(paramName); + e.popStackFrame(); + return e; + } + } + if (param === null) { + if (mayBeNull) { + return null; + } + else { + e = Error.argumentNull(paramName); + e.popStackFrame(); + return e; + } + } + if (expectedType && expectedType.__enum) { + if (typeof(param) !== 'number') { + e = Error.argumentType(paramName, Object.getType(param), expectedType); + e.popStackFrame(); + return e; + } + if ((param % 1) === 0) { + var values = expectedType.prototype; + if (!expectedType.__flags || (param === 0)) { + for (i in values) { + if (values[i] === param) return null; + } + } + else { + var v = param; + for (i in values) { + var vali = values[i]; + if (vali === 0) continue; + if ((vali & param) === vali) { + v -= vali; + } + if (v === 0) return null; + } + } + } + e = Error.argumentOutOfRange(paramName, param, String.format(Sys.Res.enumInvalidValue, param, expectedType.getName())); + e.popStackFrame(); + return e; + } + if (expectedDomElement && (!Sys._isDomElement(param) || (param.nodeType === 3))) { + e = Error.argument(paramName, Sys.Res.argumentDomElement); + e.popStackFrame(); + return e; + } + if (expectedType && !Sys._isInstanceOfType(expectedType, param)) { + e = Error.argumentType(paramName, Object.getType(param), expectedType); + e.popStackFrame(); + return e; + } + if (expectedType === Number && expectedInteger) { + if ((param % 1) !== 0) { + e = Error.argumentOutOfRange(paramName, param, Sys.Res.argumentInteger); + e.popStackFrame(); + return e; + } + } + return null; +} + +Error.__typeName = 'Error'; +Error.__class = true; +Error.create = function Error$create(message, errorInfo) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "message", type: String, mayBeNull: true, optional: true}, + {name: "errorInfo", mayBeNull: true, optional: true} + ]); + if (e) throw e; + var err = new Error(message); + err.message = message; + if (errorInfo) { + for (var v in errorInfo) { + err[v] = errorInfo[v]; + } + } + err.popStackFrame(); + return err; +} +Error.argument = function Error$argument(paramName, message) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "paramName", type: String, mayBeNull: true, optional: true}, + {name: "message", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var displayMessage = "Sys.ArgumentException: " + (message ? message : Sys.Res.argument); + if (paramName) { + displayMessage += "\n" + String.format(Sys.Res.paramName, paramName); + } + var err = Error.create(displayMessage, { name: "Sys.ArgumentException", paramName: paramName }); + err.popStackFrame(); + return err; +} +Error.argumentNull = function Error$argumentNull(paramName, message) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "paramName", type: String, mayBeNull: true, optional: true}, + {name: "message", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var displayMessage = "Sys.ArgumentNullException: " + (message ? message : Sys.Res.argumentNull); + if (paramName) { + displayMessage += "\n" + String.format(Sys.Res.paramName, paramName); + } + var err = Error.create(displayMessage, { name: "Sys.ArgumentNullException", paramName: paramName }); + err.popStackFrame(); + return err; +} +Error.argumentOutOfRange = function Error$argumentOutOfRange(paramName, actualValue, message) { + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "paramName", type: String, mayBeNull: true, optional: true}, + {name: "actualValue", mayBeNull: true, optional: true}, + {name: "message", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var displayMessage = "Sys.ArgumentOutOfRangeException: " + (message ? message : Sys.Res.argumentOutOfRange); + if (paramName) { + displayMessage += "\n" + String.format(Sys.Res.paramName, paramName); + } + if (typeof(actualValue) !== "undefined" && actualValue !== null) { + displayMessage += "\n" + String.format(Sys.Res.actualValue, actualValue); + } + var err = Error.create(displayMessage, { + name: "Sys.ArgumentOutOfRangeException", + paramName: paramName, + actualValue: actualValue + }); + err.popStackFrame(); + return err; +} +Error.argumentType = function Error$argumentType(paramName, actualType, expectedType, message) { + /// + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "paramName", type: String, mayBeNull: true, optional: true}, + {name: "actualType", type: Type, mayBeNull: true, optional: true}, + {name: "expectedType", type: Type, mayBeNull: true, optional: true}, + {name: "message", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var displayMessage = "Sys.ArgumentTypeException: "; + if (message) { + displayMessage += message; + } + else if (actualType && expectedType) { + displayMessage += + String.format(Sys.Res.argumentTypeWithTypes, actualType.getName(), expectedType.getName()); + } + else { + displayMessage += Sys.Res.argumentType; + } + if (paramName) { + displayMessage += "\n" + String.format(Sys.Res.paramName, paramName); + } + var err = Error.create(displayMessage, { + name: "Sys.ArgumentTypeException", + paramName: paramName, + actualType: actualType, + expectedType: expectedType + }); + err.popStackFrame(); + return err; +} +Error.argumentUndefined = function Error$argumentUndefined(paramName, message) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "paramName", type: String, mayBeNull: true, optional: true}, + {name: "message", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var displayMessage = "Sys.ArgumentUndefinedException: " + (message ? message : Sys.Res.argumentUndefined); + if (paramName) { + displayMessage += "\n" + String.format(Sys.Res.paramName, paramName); + } + var err = Error.create(displayMessage, { name: "Sys.ArgumentUndefinedException", paramName: paramName }); + err.popStackFrame(); + return err; +} +Error.format = function Error$format(message) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "message", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var displayMessage = "Sys.FormatException: " + (message ? message : Sys.Res.format); + var err = Error.create(displayMessage, {name: 'Sys.FormatException'}); + err.popStackFrame(); + return err; +} +Error.invalidOperation = function Error$invalidOperation(message) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "message", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var displayMessage = "Sys.InvalidOperationException: " + (message ? message : Sys.Res.invalidOperation); + var err = Error.create(displayMessage, {name: 'Sys.InvalidOperationException'}); + err.popStackFrame(); + return err; +} +Error.notImplemented = function Error$notImplemented(message) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "message", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var displayMessage = "Sys.NotImplementedException: " + (message ? message : Sys.Res.notImplemented); + var err = Error.create(displayMessage, {name: 'Sys.NotImplementedException'}); + err.popStackFrame(); + return err; +} +Error.parameterCount = function Error$parameterCount(message) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "message", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var displayMessage = "Sys.ParameterCountException: " + (message ? message : Sys.Res.parameterCount); + var err = Error.create(displayMessage, {name: 'Sys.ParameterCountException'}); + err.popStackFrame(); + return err; +} +Error.prototype.popStackFrame = function Error$popStackFrame() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (typeof(this.stack) === "undefined" || this.stack === null || + typeof(this.fileName) === "undefined" || this.fileName === null || + typeof(this.lineNumber) === "undefined" || this.lineNumber === null) { + return; + } + var stackFrames = this.stack.split("\n"); + var currentFrame = stackFrames[0]; + var pattern = this.fileName + ":" + this.lineNumber; + while(typeof(currentFrame) !== "undefined" && + currentFrame !== null && + currentFrame.indexOf(pattern) === -1) { + stackFrames.shift(); + currentFrame = stackFrames[0]; + } + var nextFrame = stackFrames[1]; + if (typeof(nextFrame) === "undefined" || nextFrame === null) { + return; + } + var nextFrameParts = nextFrame.match(/@(.*):(\d+)$/); + if (typeof(nextFrameParts) === "undefined" || nextFrameParts === null) { + return; + } + this.fileName = nextFrameParts[1]; + this.lineNumber = parseInt(nextFrameParts[2]); + stackFrames.shift(); + this.stack = stackFrames.join("\n"); +} + +Object.__typeName = 'Object'; +Object.__class = true; +Object.getType = function Object$getType(instance) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "instance"} + ]); + if (e) throw e; + var ctor = instance.constructor; + if (!ctor || (typeof(ctor) !== "function") || !ctor.__typeName || (ctor.__typeName === 'Object')) { + return Object; + } + return ctor; +} +Object.getTypeName = function Object$getTypeName(instance) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "instance"} + ]); + if (e) throw e; + return Object.getType(instance).getName(); +} + +String.__typeName = 'String'; +String.__class = true; +String.prototype.endsWith = function String$endsWith(suffix) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "suffix", type: String} + ]); + if (e) throw e; + return (this.substr(this.length - suffix.length) === suffix); +} +String.prototype.startsWith = function String$startsWith(prefix) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "prefix", type: String} + ]); + if (e) throw e; + return (this.substr(0, prefix.length) === prefix); +} +String.prototype.trim = function String$trim() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this.replace(/^\s+|\s+$/g, ''); +} +String.prototype.trimEnd = function String$trimEnd() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this.replace(/\s+$/, ''); +} +String.prototype.trimStart = function String$trimStart() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this.replace(/^\s+/, ''); +} +String.format = function String$format(format, args) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "format", type: String}, + {name: "args", mayBeNull: true, parameterArray: true} + ]); + if (e) throw e; + return String._toFormattedString(false, arguments); +} +String._toFormattedString = function String$_toFormattedString(useLocale, args) { + var result = ''; + var format = args[0]; + for (var i=0;;) { + var open = format.indexOf('{', i); + var close = format.indexOf('}', i); + if ((open < 0) && (close < 0)) { + result += format.slice(i); + break; + } + if ((close > 0) && ((close < open) || (open < 0))) { + if (format.charAt(close + 1) !== '}') { + throw Error.argument('format', Sys.Res.stringFormatBraceMismatch); + } + result += format.slice(i, close + 1); + i = close + 2; + continue; + } + result += format.slice(i, open); + i = open + 1; + if (format.charAt(i) === '{') { + result += '{'; + i++; + continue; + } + if (close < 0) throw Error.argument('format', Sys.Res.stringFormatBraceMismatch); + var brace = format.substring(i, close); + var colonIndex = brace.indexOf(':'); + var argNumber = parseInt((colonIndex < 0)? brace : brace.substring(0, colonIndex), 10) + 1; + if (isNaN(argNumber)) throw Error.argument('format', Sys.Res.stringFormatInvalid); + var argFormat = (colonIndex < 0)? '' : brace.substring(colonIndex + 1); + var arg = args[argNumber]; + if (typeof(arg) === "undefined" || arg === null) { + arg = ''; + } + if (arg.toFormattedString) { + result += arg.toFormattedString(argFormat); + } + else if (useLocale && arg.localeFormat) { + result += arg.localeFormat(argFormat); + } + else if (arg.format) { + result += arg.format(argFormat); + } + else + result += arg.toString(); + i = close + 1; + } + return result; +} + +Boolean.__typeName = 'Boolean'; +Boolean.__class = true; +Boolean.parse = function Boolean$parse(value) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "value", type: String} + ], false); + if (e) throw e; + var v = value.trim().toLowerCase(); + if (v === 'false') return false; + if (v === 'true') return true; + throw Error.argumentOutOfRange('value', value, Sys.Res.boolTrueOrFalse); +} + +Date.__typeName = 'Date'; +Date.__class = true; + +Number.__typeName = 'Number'; +Number.__class = true; + +RegExp.__typeName = 'RegExp'; +RegExp.__class = true; + +if (!window) this.window = this; +window.Type = Function; +Type.__fullyQualifiedIdentifierRegExp = new RegExp("^[^.0-9 \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]([^ \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*[^. \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\])?$", "i"); +Type.__identifierRegExp = new RegExp("^[^.0-9 \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\][^. \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*$", "i"); +Type.prototype.callBaseMethod = function Type$callBaseMethod(instance, name, baseArguments) { + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "instance"}, + {name: "name", type: String}, + {name: "baseArguments", type: Array, mayBeNull: true, optional: true, elementMayBeNull: true} + ]); + if (e) throw e; + var baseMethod = Sys._getBaseMethod(this, instance, name); + if (!baseMethod) throw Error.invalidOperation(String.format(Sys.Res.methodNotFound, name)); + if (!baseArguments) { + return baseMethod.apply(instance); + } + else { + return baseMethod.apply(instance, baseArguments); + } +} +Type.prototype.getBaseMethod = function Type$getBaseMethod(instance, name) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "instance"}, + {name: "name", type: String} + ]); + if (e) throw e; + return Sys._getBaseMethod(this, instance, name); +} +Type.prototype.getBaseType = function Type$getBaseType() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return (typeof(this.__baseType) === "undefined") ? null : this.__baseType; +} +Type.prototype.getInterfaces = function Type$getInterfaces() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + var result = []; + var type = this; + while(type) { + var interfaces = type.__interfaces; + if (interfaces) { + for (var i = 0, l = interfaces.length; i < l; i++) { + var interfaceType = interfaces[i]; + if (!Array.contains(result, interfaceType)) { + result[result.length] = interfaceType; + } + } + } + type = type.__baseType; + } + return result; +} +Type.prototype.getName = function Type$getName() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return (typeof(this.__typeName) === "undefined") ? "" : this.__typeName; +} +Type.prototype.implementsInterface = function Type$implementsInterface(interfaceType) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "interfaceType", type: Type} + ]); + if (e) throw e; + this.resolveInheritance(); + var interfaceName = interfaceType.getName(); + var cache = this.__interfaceCache; + if (cache) { + var cacheEntry = cache[interfaceName]; + if (typeof(cacheEntry) !== 'undefined') return cacheEntry; + } + else { + cache = this.__interfaceCache = {}; + } + var baseType = this; + while (baseType) { + var interfaces = baseType.__interfaces; + if (interfaces) { + if (Array.indexOf(interfaces, interfaceType) !== -1) { + return cache[interfaceName] = true; + } + } + baseType = baseType.__baseType; + } + return cache[interfaceName] = false; +} +Type.prototype.inheritsFrom = function Type$inheritsFrom(parentType) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "parentType", type: Type} + ]); + if (e) throw e; + this.resolveInheritance(); + var baseType = this.__baseType; + while (baseType) { + if (baseType === parentType) { + return true; + } + baseType = baseType.__baseType; + } + return false; +} +Type.prototype.initializeBase = function Type$initializeBase(instance, baseArguments) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "instance"}, + {name: "baseArguments", type: Array, mayBeNull: true, optional: true, elementMayBeNull: true} + ]); + if (e) throw e; + if (!Sys._isInstanceOfType(this, instance)) throw Error.argumentType('instance', Object.getType(instance), this); + this.resolveInheritance(); + if (this.__baseType) { + if (!baseArguments) { + this.__baseType.apply(instance); + } + else { + this.__baseType.apply(instance, baseArguments); + } + } + return instance; +} +Type.prototype.isImplementedBy = function Type$isImplementedBy(instance) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "instance", mayBeNull: true} + ]); + if (e) throw e; + if (typeof(instance) === "undefined" || instance === null) return false; + var instanceType = Object.getType(instance); + return !!(instanceType.implementsInterface && instanceType.implementsInterface(this)); +} +Type.prototype.isInstanceOfType = function Type$isInstanceOfType(instance) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "instance", mayBeNull: true} + ]); + if (e) throw e; + return Sys._isInstanceOfType(this, instance); +} +Type.prototype.registerClass = function Type$registerClass(typeName, baseType, interfaceTypes) { + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "typeName", type: String}, + {name: "baseType", type: Type, mayBeNull: true, optional: true}, + {name: "interfaceTypes", type: Type, parameterArray: true} + ]); + if (e) throw e; + if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw Error.argument('typeName', Sys.Res.notATypeName); + var parsedName; + try { + parsedName = eval(typeName); + } + catch(e) { + throw Error.argument('typeName', Sys.Res.argumentTypeName); + } + if (parsedName !== this) throw Error.argument('typeName', Sys.Res.badTypeName); + if (Sys.__registeredTypes[typeName]) throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, typeName)); + if ((arguments.length > 1) && (typeof(baseType) === 'undefined')) throw Error.argumentUndefined('baseType'); + if (baseType && !baseType.__class) throw Error.argument('baseType', Sys.Res.baseNotAClass); + this.prototype.constructor = this; + this.__typeName = typeName; + this.__class = true; + if (baseType) { + this.__baseType = baseType; + this.__basePrototypePending = true; + } + Sys.__upperCaseTypes[typeName.toUpperCase()] = this; + if (interfaceTypes) { + this.__interfaces = []; + this.resolveInheritance(); + for (var i = 2, l = arguments.length; i < l; i++) { + var interfaceType = arguments[i]; + if (!interfaceType.__interface) throw Error.argument('interfaceTypes[' + (i - 2) + ']', Sys.Res.notAnInterface); + for (var methodName in interfaceType.prototype) { + var method = interfaceType.prototype[methodName]; + if (!this.prototype[methodName]) { + this.prototype[methodName] = method; + } + } + this.__interfaces.push(interfaceType); + } + } + Sys.__registeredTypes[typeName] = true; + return this; +} +Type.prototype.registerInterface = function Type$registerInterface(typeName) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "typeName", type: String} + ]); + if (e) throw e; + if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw Error.argument('typeName', Sys.Res.notATypeName); + var parsedName; + try { + parsedName = eval(typeName); + } + catch(e) { + throw Error.argument('typeName', Sys.Res.argumentTypeName); + } + if (parsedName !== this) throw Error.argument('typeName', Sys.Res.badTypeName); + if (Sys.__registeredTypes[typeName]) throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, typeName)); + Sys.__upperCaseTypes[typeName.toUpperCase()] = this; + this.prototype.constructor = this; + this.__typeName = typeName; + this.__interface = true; + Sys.__registeredTypes[typeName] = true; + return this; +} +Type.prototype.resolveInheritance = function Type$resolveInheritance() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (this.__basePrototypePending) { + var baseType = this.__baseType; + baseType.resolveInheritance(); + for (var memberName in baseType.prototype) { + var memberValue = baseType.prototype[memberName]; + if (!this.prototype[memberName]) { + this.prototype[memberName] = memberValue; + } + } + delete this.__basePrototypePending; + } +} +Type.getRootNamespaces = function Type$getRootNamespaces() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return Array.clone(Sys.__rootNamespaces); +} +Type.isClass = function Type$isClass(type) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "type", mayBeNull: true} + ]); + if (e) throw e; + if ((typeof(type) === 'undefined') || (type === null)) return false; + return !!type.__class; +} +Type.isInterface = function Type$isInterface(type) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "type", mayBeNull: true} + ]); + if (e) throw e; + if ((typeof(type) === 'undefined') || (type === null)) return false; + return !!type.__interface; +} +Type.isNamespace = function Type$isNamespace(object) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "object", mayBeNull: true} + ]); + if (e) throw e; + if ((typeof(object) === 'undefined') || (object === null)) return false; + return !!object.__namespace; +} +Type.parse = function Type$parse(typeName, ns) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "typeName", type: String, mayBeNull: true}, + {name: "ns", mayBeNull: true, optional: true} + ]); + if (e) throw e; + var fn; + if (ns) { + fn = Sys.__upperCaseTypes[ns.getName().toUpperCase() + '.' + typeName.toUpperCase()]; + return fn || null; + } + if (!typeName) return null; + if (!Type.__htClasses) { + Type.__htClasses = {}; + } + fn = Type.__htClasses[typeName]; + if (!fn) { + fn = eval(typeName); + if (typeof(fn) !== 'function') throw Error.argument('typeName', Sys.Res.notATypeName); + Type.__htClasses[typeName] = fn; + } + return fn; +} +Type.registerNamespace = function Type$registerNamespace(namespacePath) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "namespacePath", type: String} + ]); + if (e) throw e; + Type._registerNamespace(namespacePath); +} +Type._registerNamespace = function Type$_registerNamespace(namespacePath) { + if (!Type.__fullyQualifiedIdentifierRegExp.test(namespacePath)) throw Error.argument('namespacePath', Sys.Res.invalidNameSpace); + var rootObject = window; + var namespaceParts = namespacePath.split('.'); + for (var i = 0; i < namespaceParts.length; i++) { + var currentPart = namespaceParts[i]; + var ns = rootObject[currentPart]; + var nsType = typeof(ns); + if ((nsType !== "undefined") && (ns !== null)) { + if (nsType === "function") { + throw Error.invalidOperation(String.format(Sys.Res.namespaceContainsClass, namespaceParts.splice(0, i + 1).join('.'))); + } + if ((typeof(ns) !== "object") || (ns instanceof Array)) { + throw Error.invalidOperation(String.format(Sys.Res.namespaceContainsNonObject, namespaceParts.splice(0, i + 1).join('.'))); + } + } + if (!ns) { + ns = rootObject[currentPart] = {}; + } + if (!ns.__namespace) { + if ((i === 0) && (namespacePath !== "Sys")) { + Sys.__rootNamespaces[Sys.__rootNamespaces.length] = ns; + } + ns.__namespace = true; + ns.__typeName = namespaceParts.slice(0, i + 1).join('.'); + var parsedName; + try { + parsedName = eval(ns.__typeName); + } + catch(e) { + parsedName = null; + } + if (parsedName !== ns) { + delete rootObject[currentPart]; + throw Error.argument('namespacePath', Sys.Res.invalidNameSpace); + } + ns.getName = function ns$getName() {return this.__typeName;} + } + rootObject = ns; + } +} +Type._checkDependency = function Type$_checkDependency(dependency, featureName) { + var scripts = Type._registerScript._scripts, isDependent = (scripts ? (!!scripts[dependency]) : false); + if ((typeof(featureName) !== 'undefined') && !isDependent) { + throw Error.invalidOperation(String.format(Sys.Res.requiredScriptReferenceNotIncluded, + featureName, dependency)); + } + return isDependent; +} +Type._registerScript = function Type$_registerScript(scriptName, dependencies) { + var scripts = Type._registerScript._scripts; + if (!scripts) { + Type._registerScript._scripts = scripts = {}; + } + if (scripts[scriptName]) { + throw Error.invalidOperation(String.format(Sys.Res.scriptAlreadyLoaded, scriptName)); + } + scripts[scriptName] = true; + if (dependencies) { + for (var i = 0, l = dependencies.length; i < l; i++) { + var dependency = dependencies[i]; + if (!Type._checkDependency(dependency)) { + throw Error.invalidOperation(String.format(Sys.Res.scriptDependencyNotFound, scriptName, dependency)); + } + } + } +} +Type._registerNamespace("Sys"); +Sys.__upperCaseTypes = {}; +Sys.__rootNamespaces = [Sys]; +Sys.__registeredTypes = {}; +Sys._isInstanceOfType = function Sys$_isInstanceOfType(type, instance) { + if (typeof(instance) === "undefined" || instance === null) return false; + if (instance instanceof type) return true; + var instanceType = Object.getType(instance); + return !!(instanceType === type) || + (instanceType.inheritsFrom && instanceType.inheritsFrom(type)) || + (instanceType.implementsInterface && instanceType.implementsInterface(type)); +} +Sys._getBaseMethod = function Sys$_getBaseMethod(type, instance, name) { + if (!Sys._isInstanceOfType(type, instance)) throw Error.argumentType('instance', Object.getType(instance), type); + var baseType = type.getBaseType(); + if (baseType) { + var baseMethod = baseType.prototype[name]; + return (baseMethod instanceof Function) ? baseMethod : null; + } + return null; +} +Sys._isDomElement = function Sys$_isDomElement(obj) { + var val = false; + if (typeof (obj.nodeType) !== 'number') { + var doc = obj.ownerDocument || obj.document || obj; + if (doc != obj) { + var w = doc.defaultView || doc.parentWindow; + val = (w != obj); + } + else { + val = (typeof (doc.body) === 'undefined'); + } + } + return !val; +} + +Array.__typeName = 'Array'; +Array.__class = true; +Array.add = Array.enqueue = function Array$enqueue(array, item) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true}, + {name: "item", mayBeNull: true} + ]); + if (e) throw e; + array[array.length] = item; +} +Array.addRange = function Array$addRange(array, items) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true}, + {name: "items", type: Array, elementMayBeNull: true} + ]); + if (e) throw e; + array.push.apply(array, items); +} +Array.clear = function Array$clear(array) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true} + ]); + if (e) throw e; + array.length = 0; +} +Array.clone = function Array$clone(array) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true} + ]); + if (e) throw e; + if (array.length === 1) { + return [array[0]]; + } + else { + return Array.apply(null, array); + } +} +Array.contains = function Array$contains(array, item) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true}, + {name: "item", mayBeNull: true} + ]); + if (e) throw e; + return (Sys._indexOf(array, item) >= 0); +} +Array.dequeue = function Array$dequeue(array) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true} + ]); + if (e) throw e; + return array.shift(); +} +Array.forEach = function Array$forEach(array, method, instance) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true}, + {name: "method", type: Function}, + {name: "instance", mayBeNull: true, optional: true} + ]); + if (e) throw e; + for (var i = 0, l = array.length; i < l; i++) { + var elt = array[i]; + if (typeof(elt) !== 'undefined') method.call(instance, elt, i, array); + } +} +Array.indexOf = function Array$indexOf(array, item, start) { + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true}, + {name: "item", mayBeNull: true, optional: true}, + {name: "start", mayBeNull: true, optional: true} + ]); + if (e) throw e; + return Sys._indexOf(array, item, start); +} +Array.insert = function Array$insert(array, index, item) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true}, + {name: "index", mayBeNull: true}, + {name: "item", mayBeNull: true} + ]); + if (e) throw e; + array.splice(index, 0, item); +} +Array.parse = function Array$parse(value) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "value", type: String, mayBeNull: true} + ]); + if (e) throw e; + if (!value) return []; + var v = eval(value); + if (!Array.isInstanceOfType(v)) throw Error.argument('value', Sys.Res.arrayParseBadFormat); + return v; +} +Array.remove = function Array$remove(array, item) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true}, + {name: "item", mayBeNull: true} + ]); + if (e) throw e; + var index = Sys._indexOf(array, item); + if (index >= 0) { + array.splice(index, 1); + } + return (index >= 0); +} +Array.removeAt = function Array$removeAt(array, index) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true}, + {name: "index", mayBeNull: true} + ]); + if (e) throw e; + array.splice(index, 1); +} +Sys._indexOf = function Sys$_indexOf(array, item, start) { + if (typeof(item) === "undefined") return -1; + var length = array.length; + if (length !== 0) { + start = start - 0; + if (isNaN(start)) { + start = 0; + } + else { + if (isFinite(start)) { + start = start - (start % 1); + } + if (start < 0) { + start = Math.max(0, length + start); + } + } + for (var i = start; i < length; i++) { + if ((typeof(array[i]) !== "undefined") && (array[i] === item)) { + return i; + } + } + } + return -1; +} +Type._registerScript._scripts = { + "MicrosoftAjaxCore.js": true, + "MicrosoftAjaxGlobalization.js": true, + "MicrosoftAjaxSerialization.js": true, + "MicrosoftAjaxComponentModel.js": true, + "MicrosoftAjaxHistory.js": true, + "MicrosoftAjaxNetwork.js" : true, + "MicrosoftAjaxWebServices.js": true }; + +Sys.IDisposable = function Sys$IDisposable() { + throw Error.notImplemented(); +} + function Sys$IDisposable$dispose() { + throw Error.notImplemented(); + } +Sys.IDisposable.prototype = { + dispose: Sys$IDisposable$dispose +} +Sys.IDisposable.registerInterface('Sys.IDisposable'); + +Sys.StringBuilder = function Sys$StringBuilder(initialText) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "initialText", mayBeNull: true, optional: true} + ]); + if (e) throw e; + this._parts = (typeof(initialText) !== 'undefined' && initialText !== null && initialText !== '') ? + [initialText.toString()] : []; + this._value = {}; + this._len = 0; +} + function Sys$StringBuilder$append(text) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "text", mayBeNull: true} + ]); + if (e) throw e; + this._parts[this._parts.length] = text; + } + function Sys$StringBuilder$appendLine(text) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "text", mayBeNull: true, optional: true} + ]); + if (e) throw e; + this._parts[this._parts.length] = + ((typeof(text) === 'undefined') || (text === null) || (text === '')) ? + '\r\n' : text + '\r\n'; + } + function Sys$StringBuilder$clear() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + this._parts = []; + this._value = {}; + this._len = 0; + } + function Sys$StringBuilder$isEmpty() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (this._parts.length === 0) return true; + return this.toString() === ''; + } + function Sys$StringBuilder$toString(separator) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "separator", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + separator = separator || ''; + var parts = this._parts; + if (this._len !== parts.length) { + this._value = {}; + this._len = parts.length; + } + var val = this._value; + if (typeof(val[separator]) === 'undefined') { + if (separator !== '') { + for (var i = 0; i < parts.length;) { + if ((typeof(parts[i]) === 'undefined') || (parts[i] === '') || (parts[i] === null)) { + parts.splice(i, 1); + } + else { + i++; + } + } + } + val[separator] = this._parts.join(separator); + } + return val[separator]; + } +Sys.StringBuilder.prototype = { + append: Sys$StringBuilder$append, + appendLine: Sys$StringBuilder$appendLine, + clear: Sys$StringBuilder$clear, + isEmpty: Sys$StringBuilder$isEmpty, + toString: Sys$StringBuilder$toString +} +Sys.StringBuilder.registerClass('Sys.StringBuilder'); + +Sys.Browser = {}; +Sys.Browser.InternetExplorer = {}; +Sys.Browser.Firefox = {}; +Sys.Browser.Safari = {}; +Sys.Browser.Opera = {}; +Sys.Browser.agent = null; +Sys.Browser.hasDebuggerStatement = false; +Sys.Browser.name = navigator.appName; +Sys.Browser.version = parseFloat(navigator.appVersion); +Sys.Browser.documentMode = 0; +if (navigator.userAgent.indexOf(' MSIE ') > -1) { + Sys.Browser.agent = Sys.Browser.InternetExplorer; + Sys.Browser.version = parseFloat(navigator.userAgent.match(/MSIE (\d+\.\d+)/)[1]); + if (Sys.Browser.version >= 8) { + if (document.documentMode >= 7) { + Sys.Browser.documentMode = document.documentMode; + } + } + Sys.Browser.hasDebuggerStatement = true; +} +else if (navigator.userAgent.indexOf(' Firefox/') > -1) { + Sys.Browser.agent = Sys.Browser.Firefox; + Sys.Browser.version = parseFloat(navigator.userAgent.match(/ Firefox\/(\d+\.\d+)/)[1]); + Sys.Browser.name = 'Firefox'; + Sys.Browser.hasDebuggerStatement = true; +} +else if (navigator.userAgent.indexOf(' AppleWebKit/') > -1) { + Sys.Browser.agent = Sys.Browser.Safari; + Sys.Browser.version = parseFloat(navigator.userAgent.match(/ AppleWebKit\/(\d+(\.\d+)?)/)[1]); + Sys.Browser.name = 'Safari'; +} +else if (navigator.userAgent.indexOf('Opera/') > -1) { + Sys.Browser.agent = Sys.Browser.Opera; +} + +Sys.EventArgs = function Sys$EventArgs() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); +} +Sys.EventArgs.registerClass('Sys.EventArgs'); +Sys.EventArgs.Empty = new Sys.EventArgs(); + +Sys.CancelEventArgs = function Sys$CancelEventArgs() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + Sys.CancelEventArgs.initializeBase(this); + this._cancel = false; +} + function Sys$CancelEventArgs$get_cancel() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._cancel; + } + function Sys$CancelEventArgs$set_cancel(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]); + if (e) throw e; + this._cancel = value; + } +Sys.CancelEventArgs.prototype = { + get_cancel: Sys$CancelEventArgs$get_cancel, + set_cancel: Sys$CancelEventArgs$set_cancel +} +Sys.CancelEventArgs.registerClass('Sys.CancelEventArgs', Sys.EventArgs); +Type.registerNamespace('Sys.UI'); + +Sys._Debug = function Sys$_Debug() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); +} + function Sys$_Debug$_appendConsole(text) { + if ((typeof(Debug) !== 'undefined') && Debug.writeln) { + Debug.writeln(text); + } + if (window.console && window.console.log) { + window.console.log(text); + } + if (window.opera) { + window.opera.postError(text); + } + if (window.debugService) { + window.debugService.trace(text); + } + } + function Sys$_Debug$_appendTrace(text) { + var traceElement = document.getElementById('TraceConsole'); + if (traceElement && (traceElement.tagName.toUpperCase() === 'TEXTAREA')) { + traceElement.value += text + '\n'; + } + } + function Sys$_Debug$assert(condition, message, displayCaller) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "condition", type: Boolean}, + {name: "message", type: String, mayBeNull: true, optional: true}, + {name: "displayCaller", type: Boolean, optional: true} + ]); + if (e) throw e; + if (!condition) { + message = (displayCaller && this.assert.caller) ? + String.format(Sys.Res.assertFailedCaller, message, this.assert.caller) : + String.format(Sys.Res.assertFailed, message); + if (confirm(String.format(Sys.Res.breakIntoDebugger, message))) { + this.fail(message); + } + } + } + function Sys$_Debug$clearTrace() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + var traceElement = document.getElementById('TraceConsole'); + if (traceElement && (traceElement.tagName.toUpperCase() === 'TEXTAREA')) { + traceElement.value = ''; + } + } + function Sys$_Debug$fail(message) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "message", type: String, mayBeNull: true} + ]); + if (e) throw e; + this._appendConsole(message); + if (Sys.Browser.hasDebuggerStatement) { + eval('debugger'); + } + } + function Sys$_Debug$trace(text) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "text"} + ]); + if (e) throw e; + this._appendConsole(text); + this._appendTrace(text); + } + function Sys$_Debug$traceDump(object, name) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "object", mayBeNull: true}, + {name: "name", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var text = this._traceDump(object, name, true); + } + function Sys$_Debug$_traceDump(object, name, recursive, indentationPadding, loopArray) { + name = name? name : 'traceDump'; + indentationPadding = indentationPadding? indentationPadding : ''; + if (object === null) { + this.trace(indentationPadding + name + ': null'); + return; + } + switch(typeof(object)) { + case 'undefined': + this.trace(indentationPadding + name + ': Undefined'); + break; + case 'number': case 'string': case 'boolean': + this.trace(indentationPadding + name + ': ' + object); + break; + default: + if (Date.isInstanceOfType(object) || RegExp.isInstanceOfType(object)) { + this.trace(indentationPadding + name + ': ' + object.toString()); + break; + } + if (!loopArray) { + loopArray = []; + } + else if (Array.contains(loopArray, object)) { + this.trace(indentationPadding + name + ': ...'); + return; + } + Array.add(loopArray, object); + if ((object == window) || (object === document) || + (window.HTMLElement && (object instanceof HTMLElement)) || + (typeof(object.nodeName) === 'string')) { + var tag = object.tagName? object.tagName : 'DomElement'; + if (object.id) { + tag += ' - ' + object.id; + } + this.trace(indentationPadding + name + ' {' + tag + '}'); + } + else { + var typeName = Object.getTypeName(object); + this.trace(indentationPadding + name + (typeof(typeName) === 'string' ? ' {' + typeName + '}' : '')); + if ((indentationPadding === '') || recursive) { + indentationPadding += " "; + var i, length, properties, p, v; + if (Array.isInstanceOfType(object)) { + length = object.length; + for (i = 0; i < length; i++) { + this._traceDump(object[i], '[' + i + ']', recursive, indentationPadding, loopArray); + } + } + else { + for (p in object) { + v = object[p]; + if (!Function.isInstanceOfType(v)) { + this._traceDump(v, p, recursive, indentationPadding, loopArray); + } + } + } + } + } + Array.remove(loopArray, object); + } + } +Sys._Debug.prototype = { + _appendConsole: Sys$_Debug$_appendConsole, + _appendTrace: Sys$_Debug$_appendTrace, + assert: Sys$_Debug$assert, + clearTrace: Sys$_Debug$clearTrace, + fail: Sys$_Debug$fail, + trace: Sys$_Debug$trace, + traceDump: Sys$_Debug$traceDump, + _traceDump: Sys$_Debug$_traceDump +} +Sys._Debug.registerClass('Sys._Debug'); +Sys.Debug = new Sys._Debug(); + Sys.Debug.isDebug = true; + +function Sys$Enum$parse(value, ignoreCase) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "value", type: String}, + {name: "ignoreCase", type: Boolean, optional: true} + ]); + if (e) throw e; + var values, parsed, val; + if (ignoreCase) { + values = this.__lowerCaseValues; + if (!values) { + this.__lowerCaseValues = values = {}; + var prototype = this.prototype; + for (var name in prototype) { + values[name.toLowerCase()] = prototype[name]; + } + } + } + else { + values = this.prototype; + } + if (!this.__flags) { + val = (ignoreCase ? value.toLowerCase() : value); + parsed = values[val.trim()]; + if (typeof(parsed) !== 'number') throw Error.argument('value', String.format(Sys.Res.enumInvalidValue, value, this.__typeName)); + return parsed; + } + else { + var parts = (ignoreCase ? value.toLowerCase() : value).split(','); + var v = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var part = parts[i].trim(); + parsed = values[part]; + if (typeof(parsed) !== 'number') throw Error.argument('value', String.format(Sys.Res.enumInvalidValue, value.split(',')[i].trim(), this.__typeName)); + v |= parsed; + } + return v; + } +} +function Sys$Enum$toString(value) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "value", mayBeNull: true, optional: true} + ]); + if (e) throw e; + if ((typeof(value) === 'undefined') || (value === null)) return this.__string; + if ((typeof(value) != 'number') || ((value % 1) !== 0)) throw Error.argumentType('value', Object.getType(value), this); + var values = this.prototype; + var i; + if (!this.__flags || (value === 0)) { + for (i in values) { + if (values[i] === value) { + return i; + } + } + } + else { + var sorted = this.__sortedValues; + if (!sorted) { + sorted = []; + for (i in values) { + sorted[sorted.length] = {key: i, value: values[i]}; + } + sorted.sort(function(a, b) { + return a.value - b.value; + }); + this.__sortedValues = sorted; + } + var parts = []; + var v = value; + for (i = sorted.length - 1; i >= 0; i--) { + var kvp = sorted[i]; + var vali = kvp.value; + if (vali === 0) continue; + if ((vali & value) === vali) { + parts[parts.length] = kvp.key; + v -= vali; + if (v === 0) break; + } + } + if (parts.length && v === 0) return parts.reverse().join(', '); + } + throw Error.argumentOutOfRange('value', value, String.format(Sys.Res.enumInvalidValue, value, this.__typeName)); +} +Type.prototype.registerEnum = function Type$registerEnum(name, flags) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "name", type: String}, + {name: "flags", type: Boolean, optional: true} + ]); + if (e) throw e; + if (!Type.__fullyQualifiedIdentifierRegExp.test(name)) throw Error.argument('name', Sys.Res.notATypeName); + var parsedName; + try { + parsedName = eval(name); + } + catch(e) { + throw Error.argument('name', Sys.Res.argumentTypeName); + } + if (parsedName !== this) throw Error.argument('name', Sys.Res.badTypeName); + if (Sys.__registeredTypes[name]) throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, name)); + for (var j in this.prototype) { + var val = this.prototype[j]; + if (!Type.__identifierRegExp.test(j)) throw Error.invalidOperation(String.format(Sys.Res.enumInvalidValueName, j)); + if (typeof(val) !== 'number' || (val % 1) !== 0) throw Error.invalidOperation(Sys.Res.enumValueNotInteger); + if (typeof(this[j]) !== 'undefined') throw Error.invalidOperation(String.format(Sys.Res.enumReservedName, j)); + } + Sys.__upperCaseTypes[name.toUpperCase()] = this; + for (var i in this.prototype) { + this[i] = this.prototype[i]; + } + this.__typeName = name; + this.parse = Sys$Enum$parse; + this.__string = this.toString(); + this.toString = Sys$Enum$toString; + this.__flags = flags; + this.__enum = true; + Sys.__registeredTypes[name] = true; +} +Type.isEnum = function Type$isEnum(type) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "type", mayBeNull: true} + ]); + if (e) throw e; + if ((typeof(type) === 'undefined') || (type === null)) return false; + return !!type.__enum; +} +Type.isFlags = function Type$isFlags(type) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "type", mayBeNull: true} + ]); + if (e) throw e; + if ((typeof(type) === 'undefined') || (type === null)) return false; + return !!type.__flags; +} +Sys.CollectionChange = function Sys$CollectionChange(action, newItems, newStartingIndex, oldItems, oldStartingIndex) { + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "action", type: Sys.NotifyCollectionChangedAction}, + {name: "newItems", mayBeNull: true, optional: true}, + {name: "newStartingIndex", type: Number, mayBeNull: true, integer: true, optional: true}, + {name: "oldItems", mayBeNull: true, optional: true}, + {name: "oldStartingIndex", type: Number, mayBeNull: true, integer: true, optional: true} + ]); + if (e) throw e; + this.action = action; + if (newItems) { + if (!(newItems instanceof Array)) { + newItems = [newItems]; + } + } + this.newItems = newItems || null; + if (typeof newStartingIndex !== "number") { + newStartingIndex = -1; + } + this.newStartingIndex = newStartingIndex; + if (oldItems) { + if (!(oldItems instanceof Array)) { + oldItems = [oldItems]; + } + } + this.oldItems = oldItems || null; + if (typeof oldStartingIndex !== "number") { + oldStartingIndex = -1; + } + this.oldStartingIndex = oldStartingIndex; +} +Sys.CollectionChange.registerClass("Sys.CollectionChange"); +Sys.NotifyCollectionChangedAction = function Sys$NotifyCollectionChangedAction() { + /// + /// + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); +} +Sys.NotifyCollectionChangedAction.prototype = { + add: 0, + remove: 1, + reset: 2 +} +Sys.NotifyCollectionChangedAction.registerEnum('Sys.NotifyCollectionChangedAction'); +Sys.NotifyCollectionChangedEventArgs = function Sys$NotifyCollectionChangedEventArgs(changes) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "changes", type: Array, elementType: Sys.CollectionChange} + ]); + if (e) throw e; + this._changes = changes; + Sys.NotifyCollectionChangedEventArgs.initializeBase(this); +} + function Sys$NotifyCollectionChangedEventArgs$get_changes() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._changes || []; + } +Sys.NotifyCollectionChangedEventArgs.prototype = { + get_changes: Sys$NotifyCollectionChangedEventArgs$get_changes +} +Sys.NotifyCollectionChangedEventArgs.registerClass("Sys.NotifyCollectionChangedEventArgs", Sys.EventArgs); +Sys.Observer = function Sys$Observer() { + throw Error.invalidOperation(); +} +Sys.Observer.registerClass("Sys.Observer"); +Sys.Observer.makeObservable = function Sys$Observer$makeObservable(target) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target"} + ]); + if (e) throw e; + var isArray = target instanceof Array, + o = Sys.Observer; + Sys.Observer._ensureObservable(target); + if (target.setValue === o._observeMethods.setValue) return target; + o._addMethods(target, o._observeMethods); + if (isArray) { + o._addMethods(target, o._arrayMethods); + } + return target; +} +Sys.Observer._ensureObservable = function Sys$Observer$_ensureObservable(target) { + var type = typeof target; + if ((type === "string") || (type === "number") || (type === "boolean") || (type === "date")) { + throw Error.invalidOperation(String.format(Sys.Res.notObservable, type)); + } +} +Sys.Observer._addMethods = function Sys$Observer$_addMethods(target, methods) { + for (var m in methods) { + if (target[m] && (target[m] !== methods[m])) { + throw Error.invalidOperation(String.format(Sys.Res.observableConflict, m)); + } + target[m] = methods[m]; + } +} +Sys.Observer._addEventHandler = function Sys$Observer$_addEventHandler(target, eventName, handler) { + Sys.Observer._getContext(target, true).events._addHandler(eventName, handler); +} +Sys.Observer.addEventHandler = function Sys$Observer$addEventHandler(target, eventName, handler) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target"}, + {name: "eventName", type: String}, + {name: "handler", type: Function} + ]); + if (e) throw e; + Sys.Observer._ensureObservable(target); + Sys.Observer._addEventHandler(target, eventName, handler); +} +Sys.Observer._removeEventHandler = function Sys$Observer$_removeEventHandler(target, eventName, handler) { + Sys.Observer._getContext(target, true).events._removeHandler(eventName, handler); +} +Sys.Observer.removeEventHandler = function Sys$Observer$removeEventHandler(target, eventName, handler) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target"}, + {name: "eventName", type: String}, + {name: "handler", type: Function} + ]); + if (e) throw e; + Sys.Observer._ensureObservable(target); + Sys.Observer._removeEventHandler(target, eventName, handler); +} +Sys.Observer.raiseEvent = function Sys$Observer$raiseEvent(target, eventName, eventArgs) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target"}, + {name: "eventName", type: String}, + {name: "eventArgs", type: Sys.EventArgs} + ]); + if (e) throw e; + Sys.Observer._ensureObservable(target); + var ctx = Sys.Observer._getContext(target); + if (!ctx) return; + var handler = ctx.events.getHandler(eventName); + if (handler) { + handler(target, eventArgs); + } +} +Sys.Observer.addPropertyChanged = function Sys$Observer$addPropertyChanged(target, handler) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target"}, + {name: "handler", type: Function} + ]); + if (e) throw e; + Sys.Observer._ensureObservable(target); + Sys.Observer._addEventHandler(target, "propertyChanged", handler); +} +Sys.Observer.removePropertyChanged = function Sys$Observer$removePropertyChanged(target, handler) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target"}, + {name: "handler", type: Function} + ]); + if (e) throw e; + Sys.Observer._ensureObservable(target); + Sys.Observer._removeEventHandler(target, "propertyChanged", handler); +} +Sys.Observer.beginUpdate = function Sys$Observer$beginUpdate(target) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target"} + ]); + if (e) throw e; + Sys.Observer._ensureObservable(target); + Sys.Observer._getContext(target, true).updating = true; +} +Sys.Observer.endUpdate = function Sys$Observer$endUpdate(target) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target"} + ]); + if (e) throw e; + Sys.Observer._ensureObservable(target); + var ctx = Sys.Observer._getContext(target); + if (!ctx || !ctx.updating) return; + ctx.updating = false; + var dirty = ctx.dirty; + ctx.dirty = false; + if (dirty) { + if (target instanceof Array) { + var changes = ctx.changes; + ctx.changes = null; + Sys.Observer.raiseCollectionChanged(target, changes); + } + Sys.Observer.raisePropertyChanged(target, ""); + } +} +Sys.Observer.isUpdating = function Sys$Observer$isUpdating(target) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target"} + ]); + if (e) throw e; + Sys.Observer._ensureObservable(target); + var ctx = Sys.Observer._getContext(target); + return ctx ? ctx.updating : false; +} +Sys.Observer._setValue = function Sys$Observer$_setValue(target, propertyName, value) { + var getter, setter, mainTarget = target, path = propertyName.split('.'); + for (var i = 0, l = (path.length - 1); i < l ; i++) { + var name = path[i]; + getter = target["get_" + name]; + if (typeof (getter) === "function") { + target = getter.call(target); + } + else { + target = target[name]; + } + var type = typeof (target); + if ((target === null) || (type === "undefined")) { + throw Error.invalidOperation(String.format(Sys.Res.nullReferenceInPath, propertyName)); + } + } + var currentValue, lastPath = path[l]; + getter = target["get_" + lastPath]; + setter = target["set_" + lastPath]; + if (typeof(getter) === 'function') { + currentValue = getter.call(target); + } + else { + currentValue = target[lastPath]; + } + if (typeof(setter) === 'function') { + setter.call(target, value); + } + else { + target[lastPath] = value; + } + if (currentValue !== value) { + var ctx = Sys.Observer._getContext(mainTarget); + if (ctx && ctx.updating) { + ctx.dirty = true; + return; + }; + Sys.Observer.raisePropertyChanged(mainTarget, path[0]); + } +} +Sys.Observer.setValue = function Sys$Observer$setValue(target, propertyName, value) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target"}, + {name: "propertyName", type: String}, + {name: "value", mayBeNull: true} + ]); + if (e) throw e; + Sys.Observer._ensureObservable(target); + Sys.Observer._setValue(target, propertyName, value); +} +Sys.Observer.raisePropertyChanged = function Sys$Observer$raisePropertyChanged(target, propertyName) { + /// + /// + /// + Sys.Observer.raiseEvent(target, "propertyChanged", new Sys.PropertyChangedEventArgs(propertyName)); +} +Sys.Observer.addCollectionChanged = function Sys$Observer$addCollectionChanged(target, handler) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target", type: Array, elementMayBeNull: true}, + {name: "handler", type: Function} + ]); + if (e) throw e; + Sys.Observer._addEventHandler(target, "collectionChanged", handler); +} +Sys.Observer.removeCollectionChanged = function Sys$Observer$removeCollectionChanged(target, handler) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target", type: Array, elementMayBeNull: true}, + {name: "handler", type: Function} + ]); + if (e) throw e; + Sys.Observer._removeEventHandler(target, "collectionChanged", handler); +} +Sys.Observer._collectionChange = function Sys$Observer$_collectionChange(target, change) { + var ctx = Sys.Observer._getContext(target); + if (ctx && ctx.updating) { + ctx.dirty = true; + var changes = ctx.changes; + if (!changes) { + ctx.changes = changes = [change]; + } + else { + changes.push(change); + } + } + else { + Sys.Observer.raiseCollectionChanged(target, [change]); + Sys.Observer.raisePropertyChanged(target, 'length'); + } +} +Sys.Observer.add = function Sys$Observer$add(target, item) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target", type: Array, elementMayBeNull: true}, + {name: "item", mayBeNull: true} + ]); + if (e) throw e; + var change = new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.add, [item], target.length); + Array.add(target, item); + Sys.Observer._collectionChange(target, change); +} +Sys.Observer.addRange = function Sys$Observer$addRange(target, items) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target", type: Array, elementMayBeNull: true}, + {name: "items", type: Array, elementMayBeNull: true} + ]); + if (e) throw e; + var change = new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.add, items, target.length); + Array.addRange(target, items); + Sys.Observer._collectionChange(target, change); +} +Sys.Observer.clear = function Sys$Observer$clear(target) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target", type: Array, elementMayBeNull: true} + ]); + if (e) throw e; + var oldItems = Array.clone(target); + Array.clear(target); + Sys.Observer._collectionChange(target, new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.reset, null, -1, oldItems, 0)); +} +Sys.Observer.insert = function Sys$Observer$insert(target, index, item) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target", type: Array, elementMayBeNull: true}, + {name: "index", type: Number, integer: true}, + {name: "item", mayBeNull: true} + ]); + if (e) throw e; + Array.insert(target, index, item); + Sys.Observer._collectionChange(target, new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.add, [item], index)); +} +Sys.Observer.remove = function Sys$Observer$remove(target, item) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target", type: Array, elementMayBeNull: true}, + {name: "item", mayBeNull: true} + ]); + if (e) throw e; + var index = Array.indexOf(target, item); + if (index !== -1) { + Array.remove(target, item); + Sys.Observer._collectionChange(target, new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.remove, null, -1, [item], index)); + return true; + } + return false; +} +Sys.Observer.removeAt = function Sys$Observer$removeAt(target, index) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target", type: Array, elementMayBeNull: true}, + {name: "index", type: Number, integer: true} + ]); + if (e) throw e; + if ((index > -1) && (index < target.length)) { + var item = target[index]; + Array.removeAt(target, index); + Sys.Observer._collectionChange(target, new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.remove, null, -1, [item], index)); + } +} +Sys.Observer.raiseCollectionChanged = function Sys$Observer$raiseCollectionChanged(target, changes) { + /// + /// + /// + Sys.Observer.raiseEvent(target, "collectionChanged", new Sys.NotifyCollectionChangedEventArgs(changes)); +} +Sys.Observer._observeMethods = { + add_propertyChanged: function(handler) { + Sys.Observer._addEventHandler(this, "propertyChanged", handler); + }, + remove_propertyChanged: function(handler) { + Sys.Observer._removeEventHandler(this, "propertyChanged", handler); + }, + addEventHandler: function(eventName, handler) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "eventName", type: String}, + {name: "handler", type: Function} + ]); + if (e) throw e; + Sys.Observer._addEventHandler(this, eventName, handler); + }, + removeEventHandler: function(eventName, handler) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "eventName", type: String}, + {name: "handler", type: Function} + ]); + if (e) throw e; + Sys.Observer._removeEventHandler(this, eventName, handler); + }, + get_isUpdating: function() { + /// + /// + return Sys.Observer.isUpdating(this); + }, + beginUpdate: function() { + /// + Sys.Observer.beginUpdate(this); + }, + endUpdate: function() { + /// + Sys.Observer.endUpdate(this); + }, + setValue: function(name, value) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "name", type: String}, + {name: "value", mayBeNull: true} + ]); + if (e) throw e; + Sys.Observer._setValue(this, name, value); + }, + raiseEvent: function(eventName, eventArgs) { + /// + /// + /// + Sys.Observer.raiseEvent(this, eventName, eventArgs); + }, + raisePropertyChanged: function(name) { + /// + /// + Sys.Observer.raiseEvent(this, "propertyChanged", new Sys.PropertyChangedEventArgs(name)); + } +} +Sys.Observer._arrayMethods = { + add_collectionChanged: function(handler) { + Sys.Observer._addEventHandler(this, "collectionChanged", handler); + }, + remove_collectionChanged: function(handler) { + Sys.Observer._removeEventHandler(this, "collectionChanged", handler); + }, + add: function(item) { + /// + /// + Sys.Observer.add(this, item); + }, + addRange: function(items) { + /// + /// + Sys.Observer.addRange(this, items); + }, + clear: function() { + /// + Sys.Observer.clear(this); + }, + insert: function(index, item) { + /// + /// + /// + Sys.Observer.insert(this, index, item); + }, + remove: function(item) { + /// + /// + /// + return Sys.Observer.remove(this, item); + }, + removeAt: function(index) { + /// + /// + Sys.Observer.removeAt(this, index); + }, + raiseCollectionChanged: function(changes) { + /// + /// + Sys.Observer.raiseEvent(this, "collectionChanged", new Sys.NotifyCollectionChangedEventArgs(changes)); + } +} +Sys.Observer._getContext = function Sys$Observer$_getContext(obj, create) { + var ctx = obj._observerContext; + if (ctx) return ctx(); + if (create) { + return (obj._observerContext = Sys.Observer._createContext())(); + } + return null; +} +Sys.Observer._createContext = function Sys$Observer$_createContext() { + var ctx = { + events: new Sys.EventHandlerList() + }; + return function() { + return ctx; + } +} +Date._appendPreOrPostMatch = function Date$_appendPreOrPostMatch(preMatch, strBuilder) { + var quoteCount = 0; + var escaped = false; + for (var i = 0, il = preMatch.length; i < il; i++) { + var c = preMatch.charAt(i); + switch (c) { + case '\'': + if (escaped) strBuilder.append("'"); + else quoteCount++; + escaped = false; + break; + case '\\': + if (escaped) strBuilder.append("\\"); + escaped = !escaped; + break; + default: + strBuilder.append(c); + escaped = false; + break; + } + } + return quoteCount; +} +Date._expandFormat = function Date$_expandFormat(dtf, format) { + if (!format) { + format = "F"; + } + var len = format.length; + if (len === 1) { + switch (format) { + case "d": + return dtf.ShortDatePattern; + case "D": + return dtf.LongDatePattern; + case "t": + return dtf.ShortTimePattern; + case "T": + return dtf.LongTimePattern; + case "f": + return dtf.LongDatePattern + " " + dtf.ShortTimePattern; + case "F": + return dtf.FullDateTimePattern; + case "M": case "m": + return dtf.MonthDayPattern; + case "s": + return dtf.SortableDateTimePattern; + case "Y": case "y": + return dtf.YearMonthPattern; + default: + throw Error.format(Sys.Res.formatInvalidString); + } + } + else if ((len === 2) && (format.charAt(0) === "%")) { + format = format.charAt(1); + } + return format; +} +Date._expandYear = function Date$_expandYear(dtf, year) { + var now = new Date(), + era = Date._getEra(now); + if (year < 100) { + var curr = Date._getEraYear(now, dtf, era); + year += curr - (curr % 100); + if (year > dtf.Calendar.TwoDigitYearMax) { + year -= 100; + } + } + return year; +} +Date._getEra = function Date$_getEra(date, eras) { + if (!eras) return 0; + var start, ticks = date.getTime(); + for (var i = 0, l = eras.length; i < l; i += 4) { + start = eras[i+2]; + if ((start === null) || (ticks >= start)) { + return i; + } + } + return 0; +} +Date._getEraYear = function Date$_getEraYear(date, dtf, era, sortable) { + var year = date.getFullYear(); + if (!sortable && dtf.eras) { + year -= dtf.eras[era + 3]; + } + return year; +} +Date._getParseRegExp = function Date$_getParseRegExp(dtf, format) { + if (!dtf._parseRegExp) { + dtf._parseRegExp = {}; + } + else if (dtf._parseRegExp[format]) { + return dtf._parseRegExp[format]; + } + var expFormat = Date._expandFormat(dtf, format); + expFormat = expFormat.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g, "\\\\$1"); + var regexp = new Sys.StringBuilder("^"); + var groups = []; + var index = 0; + var quoteCount = 0; + var tokenRegExp = Date._getTokenRegExp(); + var match; + while ((match = tokenRegExp.exec(expFormat)) !== null) { + var preMatch = expFormat.slice(index, match.index); + index = tokenRegExp.lastIndex; + quoteCount += Date._appendPreOrPostMatch(preMatch, regexp); + if ((quoteCount%2) === 1) { + regexp.append(match[0]); + continue; + } + switch (match[0]) { + case 'dddd': case 'ddd': + case 'MMMM': case 'MMM': + case 'gg': case 'g': + regexp.append("(\\D+)"); + break; + case 'tt': case 't': + regexp.append("(\\D*)"); + break; + case 'yyyy': + regexp.append("(\\d{4})"); + break; + case 'fff': + regexp.append("(\\d{3})"); + break; + case 'ff': + regexp.append("(\\d{2})"); + break; + case 'f': + regexp.append("(\\d)"); + break; + case 'dd': case 'd': + case 'MM': case 'M': + case 'yy': case 'y': + case 'HH': case 'H': + case 'hh': case 'h': + case 'mm': case 'm': + case 'ss': case 's': + regexp.append("(\\d\\d?)"); + break; + case 'zzz': + regexp.append("([+-]?\\d\\d?:\\d{2})"); + break; + case 'zz': case 'z': + regexp.append("([+-]?\\d\\d?)"); + break; + case '/': + regexp.append("(\\" + dtf.DateSeparator + ")"); + break; + default: + Sys.Debug.fail("Invalid date format pattern"); + } + Array.add(groups, match[0]); + } + Date._appendPreOrPostMatch(expFormat.slice(index), regexp); + regexp.append("$"); + var regexpStr = regexp.toString().replace(/\s+/g, "\\s+"); + var parseRegExp = {'regExp': regexpStr, 'groups': groups}; + dtf._parseRegExp[format] = parseRegExp; + return parseRegExp; +} +Date._getTokenRegExp = function Date$_getTokenRegExp() { + return /\/|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z|gg|g/g; +} +Date.parseLocale = function Date$parseLocale(value, formats) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "value", type: String}, + {name: "formats", mayBeNull: true, optional: true, parameterArray: true} + ]); + if (e) throw e; + return Date._parse(value, Sys.CultureInfo.CurrentCulture, arguments); +} +Date.parseInvariant = function Date$parseInvariant(value, formats) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "value", type: String}, + {name: "formats", mayBeNull: true, optional: true, parameterArray: true} + ]); + if (e) throw e; + return Date._parse(value, Sys.CultureInfo.InvariantCulture, arguments); +} +Date._parse = function Date$_parse(value, cultureInfo, args) { + var i, l, date, format, formats, custom = false; + for (i = 1, l = args.length; i < l; i++) { + format = args[i]; + if (format) { + custom = true; + date = Date._parseExact(value, format, cultureInfo); + if (date) return date; + } + } + if (! custom) { + formats = cultureInfo._getDateTimeFormats(); + for (i = 0, l = formats.length; i < l; i++) { + date = Date._parseExact(value, formats[i], cultureInfo); + if (date) return date; + } + } + return null; +} +Date._parseExact = function Date$_parseExact(value, format, cultureInfo) { + value = value.trim(); + var dtf = cultureInfo.dateTimeFormat, + parseInfo = Date._getParseRegExp(dtf, format), + match = new RegExp(parseInfo.regExp).exec(value); + if (match === null) return null; + + var groups = parseInfo.groups, + era = null, year = null, month = null, date = null, weekDay = null, + hour = 0, hourOffset, min = 0, sec = 0, msec = 0, tzMinOffset = null, + pmHour = false; + for (var j = 0, jl = groups.length; j < jl; j++) { + var matchGroup = match[j+1]; + if (matchGroup) { + switch (groups[j]) { + case 'dd': case 'd': + date = parseInt(matchGroup, 10); + if ((date < 1) || (date > 31)) return null; + break; + case 'MMMM': + month = cultureInfo._getMonthIndex(matchGroup); + if ((month < 0) || (month > 11)) return null; + break; + case 'MMM': + month = cultureInfo._getAbbrMonthIndex(matchGroup); + if ((month < 0) || (month > 11)) return null; + break; + case 'M': case 'MM': + month = parseInt(matchGroup, 10) - 1; + if ((month < 0) || (month > 11)) return null; + break; + case 'y': case 'yy': + year = Date._expandYear(dtf,parseInt(matchGroup, 10)); + if ((year < 0) || (year > 9999)) return null; + break; + case 'yyyy': + year = parseInt(matchGroup, 10); + if ((year < 0) || (year > 9999)) return null; + break; + case 'h': case 'hh': + hour = parseInt(matchGroup, 10); + if (hour === 12) hour = 0; + if ((hour < 0) || (hour > 11)) return null; + break; + case 'H': case 'HH': + hour = parseInt(matchGroup, 10); + if ((hour < 0) || (hour > 23)) return null; + break; + case 'm': case 'mm': + min = parseInt(matchGroup, 10); + if ((min < 0) || (min > 59)) return null; + break; + case 's': case 'ss': + sec = parseInt(matchGroup, 10); + if ((sec < 0) || (sec > 59)) return null; + break; + case 'tt': case 't': + var upperToken = matchGroup.toUpperCase(); + pmHour = (upperToken === dtf.PMDesignator.toUpperCase()); + if (!pmHour && (upperToken !== dtf.AMDesignator.toUpperCase())) return null; + break; + case 'f': + msec = parseInt(matchGroup, 10) * 100; + if ((msec < 0) || (msec > 999)) return null; + break; + case 'ff': + msec = parseInt(matchGroup, 10) * 10; + if ((msec < 0) || (msec > 999)) return null; + break; + case 'fff': + msec = parseInt(matchGroup, 10); + if ((msec < 0) || (msec > 999)) return null; + break; + case 'dddd': + weekDay = cultureInfo._getDayIndex(matchGroup); + if ((weekDay < 0) || (weekDay > 6)) return null; + break; + case 'ddd': + weekDay = cultureInfo._getAbbrDayIndex(matchGroup); + if ((weekDay < 0) || (weekDay > 6)) return null; + break; + case 'zzz': + var offsets = matchGroup.split(/:/); + if (offsets.length !== 2) return null; + hourOffset = parseInt(offsets[0], 10); + if ((hourOffset < -12) || (hourOffset > 13)) return null; + var minOffset = parseInt(offsets[1], 10); + if ((minOffset < 0) || (minOffset > 59)) return null; + tzMinOffset = (hourOffset * 60) + (matchGroup.startsWith('-')? -minOffset : minOffset); + break; + case 'z': case 'zz': + hourOffset = parseInt(matchGroup, 10); + if ((hourOffset < -12) || (hourOffset > 13)) return null; + tzMinOffset = hourOffset * 60; + break; + case 'g': case 'gg': + var eraName = matchGroup; + if (!eraName || !dtf.eras) return null; + eraName = eraName.toLowerCase().trim(); + for (var i = 0, l = dtf.eras.length; i < l; i += 4) { + if (eraName === dtf.eras[i + 1].toLowerCase()) { + era = i; + break; + } + } + if (era === null) return null; + break; + } + } + } + var result = new Date(), defaults, convert = dtf.Calendar.convert; + if (convert) { + defaults = convert.fromGregorian(result); + } + if (!convert) { + defaults = [result.getFullYear(), result.getMonth(), result.getDate()]; + } + if (year === null) { + year = defaults[0]; + } + else if (dtf.eras) { + year += dtf.eras[(era || 0) + 3]; + } + if (month === null) { + month = defaults[1]; + } + if (date === null) { + date = defaults[2]; + } + if (convert) { + result = convert.toGregorian(year, month, date); + if (result === null) return null; + } + else { + result.setFullYear(year, month, date); + if (result.getDate() !== date) return null; + if ((weekDay !== null) && (result.getDay() !== weekDay)) { + return null; + } + } + if (pmHour && (hour < 12)) { + hour += 12; + } + result.setHours(hour, min, sec, msec); + if (tzMinOffset !== null) { + var adjustedMin = result.getMinutes() - (tzMinOffset + result.getTimezoneOffset()); + result.setHours(result.getHours() + parseInt(adjustedMin/60, 10), adjustedMin%60); + } + return result; +} +Date.prototype.format = function Date$format(format) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "format", type: String} + ]); + if (e) throw e; + return this._toFormattedString(format, Sys.CultureInfo.InvariantCulture); +} +Date.prototype.localeFormat = function Date$localeFormat(format) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "format", type: String} + ]); + if (e) throw e; + return this._toFormattedString(format, Sys.CultureInfo.CurrentCulture); +} +Date.prototype._toFormattedString = function Date$_toFormattedString(format, cultureInfo) { + var dtf = cultureInfo.dateTimeFormat, + convert = dtf.Calendar.convert; + if (!format || !format.length || (format === 'i')) { + if (cultureInfo && cultureInfo.name.length) { + if (convert) { + return this._toFormattedString(dtf.FullDateTimePattern, cultureInfo); + } + else { + var eraDate = new Date(this.getTime()); + var era = Date._getEra(this, dtf.eras); + eraDate.setFullYear(Date._getEraYear(this, dtf, era)); + return eraDate.toLocaleString(); + } + } + else { + return this.toString(); + } + } + var eras = dtf.eras, + sortable = (format === "s"); + format = Date._expandFormat(dtf, format); + var ret = new Sys.StringBuilder(); + var hour; + function addLeadingZero(num) { + if (num < 10) { + return '0' + num; + } + return num.toString(); + } + function addLeadingZeros(num) { + if (num < 10) { + return '00' + num; + } + if (num < 100) { + return '0' + num; + } + return num.toString(); + } + function padYear(year) { + if (year < 10) { + return '000' + year; + } + else if (year < 100) { + return '00' + year; + } + else if (year < 1000) { + return '0' + year; + } + return year.toString(); + } + + var foundDay, checkedDay, dayPartRegExp = /([^d]|^)(d|dd)([^d]|$)/g; + function hasDay() { + if (foundDay || checkedDay) { + return foundDay; + } + foundDay = dayPartRegExp.test(format); + checkedDay = true; + return foundDay; + } + + var quoteCount = 0, + tokenRegExp = Date._getTokenRegExp(), + converted; + if (!sortable && convert) { + converted = convert.fromGregorian(this); + } + for (;;) { + var index = tokenRegExp.lastIndex; + var ar = tokenRegExp.exec(format); + var preMatch = format.slice(index, ar ? ar.index : format.length); + quoteCount += Date._appendPreOrPostMatch(preMatch, ret); + if (!ar) break; + if ((quoteCount%2) === 1) { + ret.append(ar[0]); + continue; + } + + function getPart(date, part) { + if (converted) { + return converted[part]; + } + switch (part) { + case 0: return date.getFullYear(); + case 1: return date.getMonth(); + case 2: return date.getDate(); + } + } + switch (ar[0]) { + case "dddd": + ret.append(dtf.DayNames[this.getDay()]); + break; + case "ddd": + ret.append(dtf.AbbreviatedDayNames[this.getDay()]); + break; + case "dd": + foundDay = true; + ret.append(addLeadingZero(getPart(this, 2))); + break; + case "d": + foundDay = true; + ret.append(getPart(this, 2)); + break; + case "MMMM": + ret.append((dtf.MonthGenitiveNames && hasDay()) + ? dtf.MonthGenitiveNames[getPart(this, 1)] + : dtf.MonthNames[getPart(this, 1)]); + break; + case "MMM": + ret.append((dtf.AbbreviatedMonthGenitiveNames && hasDay()) + ? dtf.AbbreviatedMonthGenitiveNames[getPart(this, 1)] + : dtf.AbbreviatedMonthNames[getPart(this, 1)]); + break; + case "MM": + ret.append(addLeadingZero(getPart(this, 1) + 1)); + break; + case "M": + ret.append(getPart(this, 1) + 1); + break; + case "yyyy": + ret.append(padYear(converted ? converted[0] : Date._getEraYear(this, dtf, Date._getEra(this, eras), sortable))); + break; + case "yy": + ret.append(addLeadingZero((converted ? converted[0] : Date._getEraYear(this, dtf, Date._getEra(this, eras), sortable)) % 100)); + break; + case "y": + ret.append((converted ? converted[0] : Date._getEraYear(this, dtf, Date._getEra(this, eras), sortable)) % 100); + break; + case "hh": + hour = this.getHours() % 12; + if (hour === 0) hour = 12; + ret.append(addLeadingZero(hour)); + break; + case "h": + hour = this.getHours() % 12; + if (hour === 0) hour = 12; + ret.append(hour); + break; + case "HH": + ret.append(addLeadingZero(this.getHours())); + break; + case "H": + ret.append(this.getHours()); + break; + case "mm": + ret.append(addLeadingZero(this.getMinutes())); + break; + case "m": + ret.append(this.getMinutes()); + break; + case "ss": + ret.append(addLeadingZero(this.getSeconds())); + break; + case "s": + ret.append(this.getSeconds()); + break; + case "tt": + ret.append((this.getHours() < 12) ? dtf.AMDesignator : dtf.PMDesignator); + break; + case "t": + ret.append(((this.getHours() < 12) ? dtf.AMDesignator : dtf.PMDesignator).charAt(0)); + break; + case "f": + ret.append(addLeadingZeros(this.getMilliseconds()).charAt(0)); + break; + case "ff": + ret.append(addLeadingZeros(this.getMilliseconds()).substr(0, 2)); + break; + case "fff": + ret.append(addLeadingZeros(this.getMilliseconds())); + break; + case "z": + hour = this.getTimezoneOffset() / 60; + ret.append(((hour <= 0) ? '+' : '-') + Math.floor(Math.abs(hour))); + break; + case "zz": + hour = this.getTimezoneOffset() / 60; + ret.append(((hour <= 0) ? '+' : '-') + addLeadingZero(Math.floor(Math.abs(hour)))); + break; + case "zzz": + hour = this.getTimezoneOffset() / 60; + ret.append(((hour <= 0) ? '+' : '-') + addLeadingZero(Math.floor(Math.abs(hour))) + + ":" + addLeadingZero(Math.abs(this.getTimezoneOffset() % 60))); + break; + case "g": + case "gg": + if (dtf.eras) { + ret.append(dtf.eras[Date._getEra(this, eras) + 1]); + } + break; + case "/": + ret.append(dtf.DateSeparator); + break; + default: + Sys.Debug.fail("Invalid date format pattern"); + } + } + return ret.toString(); +} +String.localeFormat = function String$localeFormat(format, args) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "format", type: String}, + {name: "args", mayBeNull: true, parameterArray: true} + ]); + if (e) throw e; + return String._toFormattedString(true, arguments); +} +Number.parseLocale = function Number$parseLocale(value) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "value", type: String} + ], false); + if (e) throw e; + return Number._parse(value, Sys.CultureInfo.CurrentCulture); +} +Number.parseInvariant = function Number$parseInvariant(value) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "value", type: String} + ], false); + if (e) throw e; + return Number._parse(value, Sys.CultureInfo.InvariantCulture); +} +Number._parse = function Number$_parse(value, cultureInfo) { + value = value.trim(); + + if (value.match(/^[+-]?infinity$/i)) { + return parseFloat(value); + } + if (value.match(/^0x[a-f0-9]+$/i)) { + return parseInt(value); + } + var numFormat = cultureInfo.numberFormat; + var signInfo = Number._parseNumberNegativePattern(value, numFormat, numFormat.NumberNegativePattern); + var sign = signInfo[0]; + var num = signInfo[1]; + + if ((sign === '') && (numFormat.NumberNegativePattern !== 1)) { + signInfo = Number._parseNumberNegativePattern(value, numFormat, 1); + sign = signInfo[0]; + num = signInfo[1]; + } + if (sign === '') sign = '+'; + + var exponent; + var intAndFraction; + var exponentPos = num.indexOf('e'); + if (exponentPos < 0) exponentPos = num.indexOf('E'); + if (exponentPos < 0) { + intAndFraction = num; + exponent = null; + } + else { + intAndFraction = num.substr(0, exponentPos); + exponent = num.substr(exponentPos + 1); + } + + var integer; + var fraction; + var decimalPos = intAndFraction.indexOf(numFormat.NumberDecimalSeparator); + if (decimalPos < 0) { + integer = intAndFraction; + fraction = null; + } + else { + integer = intAndFraction.substr(0, decimalPos); + fraction = intAndFraction.substr(decimalPos + numFormat.NumberDecimalSeparator.length); + } + + integer = integer.split(numFormat.NumberGroupSeparator).join(''); + var altNumGroupSeparator = numFormat.NumberGroupSeparator.replace(/\u00A0/g, " "); + if (numFormat.NumberGroupSeparator !== altNumGroupSeparator) { + integer = integer.split(altNumGroupSeparator).join(''); + } + + var p = sign + integer; + if (fraction !== null) { + p += '.' + fraction; + } + if (exponent !== null) { + var expSignInfo = Number._parseNumberNegativePattern(exponent, numFormat, 1); + if (expSignInfo[0] === '') { + expSignInfo[0] = '+'; + } + p += 'e' + expSignInfo[0] + expSignInfo[1]; + } + if (p.match(/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/)) { + return parseFloat(p); + } + return Number.NaN; +} +Number._parseNumberNegativePattern = function Number$_parseNumberNegativePattern(value, numFormat, numberNegativePattern) { + var neg = numFormat.NegativeSign; + var pos = numFormat.PositiveSign; + switch (numberNegativePattern) { + case 4: + neg = ' ' + neg; + pos = ' ' + pos; + case 3: + if (value.endsWith(neg)) { + return ['-', value.substr(0, value.length - neg.length)]; + } + else if (value.endsWith(pos)) { + return ['+', value.substr(0, value.length - pos.length)]; + } + break; + case 2: + neg += ' '; + pos += ' '; + case 1: + if (value.startsWith(neg)) { + return ['-', value.substr(neg.length)]; + } + else if (value.startsWith(pos)) { + return ['+', value.substr(pos.length)]; + } + break; + case 0: + if (value.startsWith('(') && value.endsWith(')')) { + return ['-', value.substr(1, value.length - 2)]; + } + break; + default: + Sys.Debug.fail(""); + } + return ['', value]; +} +Number.prototype.format = function Number$format(format) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "format", type: String} + ]); + if (e) throw e; + return this._toFormattedString(format, Sys.CultureInfo.InvariantCulture); +} +Number.prototype.localeFormat = function Number$localeFormat(format) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "format", type: String} + ]); + if (e) throw e; + return this._toFormattedString(format, Sys.CultureInfo.CurrentCulture); +} +Number.prototype._toFormattedString = function Number$_toFormattedString(format, cultureInfo) { + if (!format || (format.length === 0) || (format === 'i')) { + if (cultureInfo && (cultureInfo.name.length > 0)) { + return this.toLocaleString(); + } + else { + return this.toString(); + } + } + + var _percentPositivePattern = ["n %", "n%", "%n" ]; + var _percentNegativePattern = ["-n %", "-n%", "-%n"]; + var _numberNegativePattern = ["(n)","-n","- n","n-","n -"]; + var _currencyPositivePattern = ["$n","n$","$ n","n $"]; + var _currencyNegativePattern = ["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"]; + function zeroPad(str, count, left) { + for (var l=str.length; l < count; l++) { + str = (left ? ('0' + str) : (str + '0')); + } + return str; + } + + function expandNumber(number, precision, groupSizes, sep, decimalChar) { + Sys.Debug.assert(groupSizes.length > 0, "groupSizes must be an array of at least 1"); + var curSize = groupSizes[0]; + var curGroupIndex = 1; + var factor = Math.pow(10, precision); + var rounded = (Math.round(number * factor) / factor); + if (!isFinite(rounded)) { + rounded = number; + } + number = rounded; + + var numberString = number.toString(); + var right = ""; + var exponent; + + + var split = numberString.split(/e/i); + numberString = split[0]; + exponent = (split.length > 1 ? parseInt(split[1]) : 0); + split = numberString.split('.'); + numberString = split[0]; + right = split.length > 1 ? split[1] : ""; + + var l; + if (exponent > 0) { + right = zeroPad(right, exponent, false); + numberString += right.slice(0, exponent); + right = right.substr(exponent); + } + else if (exponent < 0) { + exponent = -exponent; + numberString = zeroPad(numberString, exponent+1, true); + right = numberString.slice(-exponent, numberString.length) + right; + numberString = numberString.slice(0, -exponent); + } + if (precision > 0) { + if (right.length > precision) { + right = right.slice(0, precision); + } + else { + right = zeroPad(right, precision, false); + } + right = decimalChar + right; + } + else { + right = ""; + } + var stringIndex = numberString.length-1; + var ret = ""; + while (stringIndex >= 0) { + if (curSize === 0 || curSize > stringIndex) { + if (ret.length > 0) + return numberString.slice(0, stringIndex + 1) + sep + ret + right; + else + return numberString.slice(0, stringIndex + 1) + right; + } + if (ret.length > 0) + ret = numberString.slice(stringIndex - curSize + 1, stringIndex+1) + sep + ret; + else + ret = numberString.slice(stringIndex - curSize + 1, stringIndex+1); + stringIndex -= curSize; + if (curGroupIndex < groupSizes.length) { + curSize = groupSizes[curGroupIndex]; + curGroupIndex++; + } + } + return numberString.slice(0, stringIndex + 1) + sep + ret + right; + } + var nf = cultureInfo.numberFormat; + var number = Math.abs(this); + if (!format) + format = "D"; + var precision = -1; + if (format.length > 1) precision = parseInt(format.slice(1), 10); + var pattern; + switch (format.charAt(0)) { + case "d": + case "D": + pattern = 'n'; + if (precision !== -1) { + number = zeroPad(""+number, precision, true); + } + if (this < 0) number = -number; + break; + case "c": + case "C": + if (this < 0) pattern = _currencyNegativePattern[nf.CurrencyNegativePattern]; + else pattern = _currencyPositivePattern[nf.CurrencyPositivePattern]; + if (precision === -1) precision = nf.CurrencyDecimalDigits; + number = expandNumber(Math.abs(this), precision, nf.CurrencyGroupSizes, nf.CurrencyGroupSeparator, nf.CurrencyDecimalSeparator); + break; + case "n": + case "N": + if (this < 0) pattern = _numberNegativePattern[nf.NumberNegativePattern]; + else pattern = 'n'; + if (precision === -1) precision = nf.NumberDecimalDigits; + number = expandNumber(Math.abs(this), precision, nf.NumberGroupSizes, nf.NumberGroupSeparator, nf.NumberDecimalSeparator); + break; + case "p": + case "P": + if (this < 0) pattern = _percentNegativePattern[nf.PercentNegativePattern]; + else pattern = _percentPositivePattern[nf.PercentPositivePattern]; + if (precision === -1) precision = nf.PercentDecimalDigits; + number = expandNumber(Math.abs(this) * 100, precision, nf.PercentGroupSizes, nf.PercentGroupSeparator, nf.PercentDecimalSeparator); + break; + default: + throw Error.format(Sys.Res.formatBadFormatSpecifier); + } + var regex = /n|\$|-|%/g; + var ret = ""; + for (;;) { + var index = regex.lastIndex; + var ar = regex.exec(pattern); + ret += pattern.slice(index, ar ? ar.index : pattern.length); + if (!ar) + break; + switch (ar[0]) { + case "n": + ret += number; + break; + case "$": + ret += nf.CurrencySymbol; + break; + case "-": + if (/[1-9]/.test(number)) { + ret += nf.NegativeSign; + } + break; + case "%": + ret += nf.PercentSymbol; + break; + default: + Sys.Debug.fail("Invalid number format pattern"); + } + } + return ret; +} + +Sys.CultureInfo = function Sys$CultureInfo(name, numberFormat, dateTimeFormat) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "name", type: String}, + {name: "numberFormat", type: Object}, + {name: "dateTimeFormat", type: Object} + ]); + if (e) throw e; + this.name = name; + this.numberFormat = numberFormat; + this.dateTimeFormat = dateTimeFormat; +} + function Sys$CultureInfo$_getDateTimeFormats() { + if (! this._dateTimeFormats) { + var dtf = this.dateTimeFormat; + this._dateTimeFormats = + [ dtf.MonthDayPattern, + dtf.YearMonthPattern, + dtf.ShortDatePattern, + dtf.ShortTimePattern, + dtf.LongDatePattern, + dtf.LongTimePattern, + dtf.FullDateTimePattern, + dtf.RFC1123Pattern, + dtf.SortableDateTimePattern, + dtf.UniversalSortableDateTimePattern ]; + } + return this._dateTimeFormats; + } + function Sys$CultureInfo$_getIndex(value, a1, a2) { + var upper = this._toUpper(value), + i = Array.indexOf(a1, upper); + if (i === -1) { + i = Array.indexOf(a2, upper); + } + return i; + } + function Sys$CultureInfo$_getMonthIndex(value) { + if (!this._upperMonths) { + this._upperMonths = this._toUpperArray(this.dateTimeFormat.MonthNames); + this._upperMonthsGenitive = this._toUpperArray(this.dateTimeFormat.MonthGenitiveNames); + } + return this._getIndex(value, this._upperMonths, this._upperMonthsGenitive); + } + function Sys$CultureInfo$_getAbbrMonthIndex(value) { + if (!this._upperAbbrMonths) { + this._upperAbbrMonths = this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames); + this._upperAbbrMonthsGenitive = this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthGenitiveNames); + } + return this._getIndex(value, this._upperAbbrMonths, this._upperAbbrMonthsGenitive); + } + function Sys$CultureInfo$_getDayIndex(value) { + if (!this._upperDays) { + this._upperDays = this._toUpperArray(this.dateTimeFormat.DayNames); + } + return Array.indexOf(this._upperDays, this._toUpper(value)); + } + function Sys$CultureInfo$_getAbbrDayIndex(value) { + if (!this._upperAbbrDays) { + this._upperAbbrDays = this._toUpperArray(this.dateTimeFormat.AbbreviatedDayNames); + } + return Array.indexOf(this._upperAbbrDays, this._toUpper(value)); + } + function Sys$CultureInfo$_toUpperArray(arr) { + var result = []; + for (var i = 0, il = arr.length; i < il; i++) { + result[i] = this._toUpper(arr[i]); + } + return result; + } + function Sys$CultureInfo$_toUpper(value) { + return value.split("\u00A0").join(' ').toUpperCase(); + } +Sys.CultureInfo.prototype = { + _getDateTimeFormats: Sys$CultureInfo$_getDateTimeFormats, + _getIndex: Sys$CultureInfo$_getIndex, + _getMonthIndex: Sys$CultureInfo$_getMonthIndex, + _getAbbrMonthIndex: Sys$CultureInfo$_getAbbrMonthIndex, + _getDayIndex: Sys$CultureInfo$_getDayIndex, + _getAbbrDayIndex: Sys$CultureInfo$_getAbbrDayIndex, + _toUpperArray: Sys$CultureInfo$_toUpperArray, + _toUpper: Sys$CultureInfo$_toUpper +} +Sys.CultureInfo.registerClass('Sys.CultureInfo'); +Sys.CultureInfo._parse = function Sys$CultureInfo$_parse(value) { + var dtf = value.dateTimeFormat; + if (dtf && !dtf.eras) { + dtf.eras = value.eras; + } + return new Sys.CultureInfo(value.name, value.numberFormat, dtf); +} +Sys.CultureInfo.InvariantCulture = Sys.CultureInfo._parse({"name":"","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":true,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"\u00A4","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":true},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd, dd MMMM yyyy HH:mm:ss","LongDatePattern":"dddd, dd MMMM yyyy","LongTimePattern":"HH:mm:ss","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'","ShortDatePattern":"MM/dd/yyyy","ShortTimePattern":"HH:mm","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"yyyy MMMM","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","May","June","July","August","September","October","November","December",""],"IsReadOnly":true,"NativeCalendarName":"Gregorian Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["January","February","March","April","May","June","July","August","September","October","November","December",""]},"eras":[1,"A.D.",null,0]}); +if (typeof(__cultureInfo) === "object") { + Sys.CultureInfo.CurrentCulture = Sys.CultureInfo._parse(__cultureInfo); + delete __cultureInfo; +} +else { + Sys.CultureInfo.CurrentCulture = Sys.CultureInfo._parse({"name":"en-US","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":false,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"$","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":false},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd, MMMM dd, yyyy h:mm:ss tt","LongDatePattern":"dddd, MMMM dd, yyyy","LongTimePattern":"h:mm:ss tt","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'","ShortDatePattern":"M/d/yyyy","ShortTimePattern":"h:mm tt","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"MMMM, yyyy","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","May","June","July","August","September","October","November","December",""],"IsReadOnly":false,"NativeCalendarName":"Gregorian Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["January","February","March","April","May","June","July","August","September","October","November","December",""]},"eras":[1,"A.D.",null,0]}); +} +Type.registerNamespace('Sys.Serialization'); +Sys.Serialization.JavaScriptSerializer = function Sys$Serialization$JavaScriptSerializer() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); +} +Sys.Serialization.JavaScriptSerializer.registerClass('Sys.Serialization.JavaScriptSerializer'); +Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs = []; +Sys.Serialization.JavaScriptSerializer._charsToEscape = []; +Sys.Serialization.JavaScriptSerializer._dateRegEx = new RegExp('(^|[^\\\\])\\"\\\\/Date\\((-?[0-9]+)(?:[a-zA-Z]|(?:\\+|-)[0-9]{4})?\\)\\\\/\\"', 'g'); +Sys.Serialization.JavaScriptSerializer._escapeChars = {}; +Sys.Serialization.JavaScriptSerializer._escapeRegEx = new RegExp('["\\\\\\x00-\\x1F]', 'i'); +Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal = new RegExp('["\\\\\\x00-\\x1F]', 'g'); +Sys.Serialization.JavaScriptSerializer._jsonRegEx = new RegExp('[^,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t]', 'g'); +Sys.Serialization.JavaScriptSerializer._jsonStringRegEx = new RegExp('"(\\\\.|[^"\\\\])*"', 'g'); +Sys.Serialization.JavaScriptSerializer._serverTypeFieldName = '__type'; +Sys.Serialization.JavaScriptSerializer._init = function Sys$Serialization$JavaScriptSerializer$_init() { + var replaceChars = ['\\u0000','\\u0001','\\u0002','\\u0003','\\u0004','\\u0005','\\u0006','\\u0007', + '\\b','\\t','\\n','\\u000b','\\f','\\r','\\u000e','\\u000f','\\u0010','\\u0011', + '\\u0012','\\u0013','\\u0014','\\u0015','\\u0016','\\u0017','\\u0018','\\u0019', + '\\u001a','\\u001b','\\u001c','\\u001d','\\u001e','\\u001f']; + Sys.Serialization.JavaScriptSerializer._charsToEscape[0] = '\\'; + Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs['\\'] = new RegExp('\\\\', 'g'); + Sys.Serialization.JavaScriptSerializer._escapeChars['\\'] = '\\\\'; + Sys.Serialization.JavaScriptSerializer._charsToEscape[1] = '"'; + Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs['"'] = new RegExp('"', 'g'); + Sys.Serialization.JavaScriptSerializer._escapeChars['"'] = '\\"'; + for (var i = 0; i < 32; i++) { + var c = String.fromCharCode(i); + Sys.Serialization.JavaScriptSerializer._charsToEscape[i+2] = c; + Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[c] = new RegExp(c, 'g'); + Sys.Serialization.JavaScriptSerializer._escapeChars[c] = replaceChars[i]; + } +} +Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeBooleanWithBuilder(object, stringBuilder) { + stringBuilder.append(object.toString()); +} +Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeNumberWithBuilder(object, stringBuilder) { + if (isFinite(object)) { + stringBuilder.append(String(object)); + } + else { + throw Error.invalidOperation(Sys.Res.cannotSerializeNonFiniteNumbers); + } +} +Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeStringWithBuilder(string, stringBuilder) { + stringBuilder.append('"'); + if (Sys.Serialization.JavaScriptSerializer._escapeRegEx.test(string)) { + if (Sys.Serialization.JavaScriptSerializer._charsToEscape.length === 0) { + Sys.Serialization.JavaScriptSerializer._init(); + } + if (string.length < 128) { + string = string.replace(Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal, + function(x) { return Sys.Serialization.JavaScriptSerializer._escapeChars[x]; }); + } + else { + for (var i = 0; i < 34; i++) { + var c = Sys.Serialization.JavaScriptSerializer._charsToEscape[i]; + if (string.indexOf(c) !== -1) { + if (Sys.Browser.agent === Sys.Browser.Opera || Sys.Browser.agent === Sys.Browser.FireFox) { + string = string.split(c).join(Sys.Serialization.JavaScriptSerializer._escapeChars[c]); + } + else { + string = string.replace(Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[c], + Sys.Serialization.JavaScriptSerializer._escapeChars[c]); + } + } + } + } + } + stringBuilder.append(string); + stringBuilder.append('"'); +} +Sys.Serialization.JavaScriptSerializer._serializeWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeWithBuilder(object, stringBuilder, sort, prevObjects) { + var i; + switch (typeof object) { + case 'object': + if (object) { + if (prevObjects){ + for( var j = 0; j < prevObjects.length; j++) { + if (prevObjects[j] === object) { + throw Error.invalidOperation(Sys.Res.cannotSerializeObjectWithCycle); + } + } + } + else { + prevObjects = new Array(); + } + try { + Array.add(prevObjects, object); + + if (Number.isInstanceOfType(object)){ + Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(object, stringBuilder); + } + else if (Boolean.isInstanceOfType(object)){ + Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(object, stringBuilder); + } + else if (String.isInstanceOfType(object)){ + Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(object, stringBuilder); + } + + else if (Array.isInstanceOfType(object)) { + stringBuilder.append('['); + + for (i = 0; i < object.length; ++i) { + if (i > 0) { + stringBuilder.append(','); + } + Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object[i], stringBuilder,false,prevObjects); + } + stringBuilder.append(']'); + } + else { + if (Date.isInstanceOfType(object)) { + stringBuilder.append('"\\/Date('); + stringBuilder.append(object.getTime()); + stringBuilder.append(')\\/"'); + break; + } + var properties = []; + var propertyCount = 0; + for (var name in object) { + if (name.startsWith('$')) { + continue; + } + if (name === Sys.Serialization.JavaScriptSerializer._serverTypeFieldName && propertyCount !== 0){ + properties[propertyCount++] = properties[0]; + properties[0] = name; + } + else{ + properties[propertyCount++] = name; + } + } + if (sort) properties.sort(); + stringBuilder.append('{'); + var needComma = false; + + for (i=0; i + /// + /// + var e = Function._validateParams(arguments, [ + {name: "object", mayBeNull: true} + ]); + if (e) throw e; + var stringBuilder = new Sys.StringBuilder(); + Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object, stringBuilder, false); + return stringBuilder.toString(); +} +Sys.Serialization.JavaScriptSerializer.deserialize = function Sys$Serialization$JavaScriptSerializer$deserialize(data, secure) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "data", type: String}, + {name: "secure", type: Boolean, optional: true} + ]); + if (e) throw e; + + if (data.length === 0) throw Error.argument('data', Sys.Res.cannotDeserializeEmptyString); + try { + var exp = data.replace(Sys.Serialization.JavaScriptSerializer._dateRegEx, "$1new Date($2)"); + + if (secure && Sys.Serialization.JavaScriptSerializer._jsonRegEx.test( + exp.replace(Sys.Serialization.JavaScriptSerializer._jsonStringRegEx, ''))) throw null; + return eval('(' + exp + ')'); + } + catch (e) { + throw Error.argument('data', Sys.Res.cannotDeserializeInvalidJson); + } +} +Type.registerNamespace('Sys.UI'); + +Sys.EventHandlerList = function Sys$EventHandlerList() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + this._list = {}; +} + function Sys$EventHandlerList$_addHandler(id, handler) { + Array.add(this._getEvent(id, true), handler); + } + function Sys$EventHandlerList$addHandler(id, handler) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "id", type: String}, + {name: "handler", type: Function} + ]); + if (e) throw e; + this._addHandler(id, handler); + } + function Sys$EventHandlerList$_removeHandler(id, handler) { + var evt = this._getEvent(id); + if (!evt) return; + Array.remove(evt, handler); + } + function Sys$EventHandlerList$removeHandler(id, handler) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "id", type: String}, + {name: "handler", type: Function} + ]); + if (e) throw e; + this._removeHandler(id, handler); + } + function Sys$EventHandlerList$getHandler(id) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "id", type: String} + ]); + if (e) throw e; + var evt = this._getEvent(id); + if (!evt || (evt.length === 0)) return null; + evt = Array.clone(evt); + return function(source, args) { + for (var i = 0, l = evt.length; i < l; i++) { + evt[i](source, args); + } + }; + } + function Sys$EventHandlerList$_getEvent(id, create) { + if (!this._list[id]) { + if (!create) return null; + this._list[id] = []; + } + return this._list[id]; + } +Sys.EventHandlerList.prototype = { + _addHandler: Sys$EventHandlerList$_addHandler, + addHandler: Sys$EventHandlerList$addHandler, + _removeHandler: Sys$EventHandlerList$_removeHandler, + removeHandler: Sys$EventHandlerList$removeHandler, + getHandler: Sys$EventHandlerList$getHandler, + _getEvent: Sys$EventHandlerList$_getEvent +} +Sys.EventHandlerList.registerClass('Sys.EventHandlerList'); +Sys.CommandEventArgs = function Sys$CommandEventArgs(commandName, commandArgument, commandSource) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "commandName", type: String}, + {name: "commandArgument", mayBeNull: true}, + {name: "commandSource", mayBeNull: true} + ]); + if (e) throw e; + Sys.CommandEventArgs.initializeBase(this); + this._commandName = commandName; + this._commandArgument = commandArgument; + this._commandSource = commandSource; +} + function Sys$CommandEventArgs$get_commandName() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._commandName; + } + function Sys$CommandEventArgs$get_commandArgument() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._commandArgument; + } + function Sys$CommandEventArgs$get_commandSource() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._commandSource; + } +Sys.CommandEventArgs.prototype = { + _commandName: null, + _commandArgument: null, + _commandSource: null, + get_commandName: Sys$CommandEventArgs$get_commandName, + get_commandArgument: Sys$CommandEventArgs$get_commandArgument, + get_commandSource: Sys$CommandEventArgs$get_commandSource +} +Sys.CommandEventArgs.registerClass("Sys.CommandEventArgs", Sys.CancelEventArgs); + +Sys.INotifyPropertyChange = function Sys$INotifyPropertyChange() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); +} + function Sys$INotifyPropertyChange$add_propertyChanged(handler) { + /// + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + throw Error.notImplemented(); + } + function Sys$INotifyPropertyChange$remove_propertyChanged(handler) { + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + throw Error.notImplemented(); + } +Sys.INotifyPropertyChange.prototype = { + add_propertyChanged: Sys$INotifyPropertyChange$add_propertyChanged, + remove_propertyChanged: Sys$INotifyPropertyChange$remove_propertyChanged +} +Sys.INotifyPropertyChange.registerInterface('Sys.INotifyPropertyChange'); + +Sys.PropertyChangedEventArgs = function Sys$PropertyChangedEventArgs(propertyName) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "propertyName", type: String} + ]); + if (e) throw e; + Sys.PropertyChangedEventArgs.initializeBase(this); + this._propertyName = propertyName; +} + + function Sys$PropertyChangedEventArgs$get_propertyName() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._propertyName; + } +Sys.PropertyChangedEventArgs.prototype = { + get_propertyName: Sys$PropertyChangedEventArgs$get_propertyName +} +Sys.PropertyChangedEventArgs.registerClass('Sys.PropertyChangedEventArgs', Sys.EventArgs); + +Sys.INotifyDisposing = function Sys$INotifyDisposing() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); +} + function Sys$INotifyDisposing$add_disposing(handler) { + /// + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + throw Error.notImplemented(); + } + function Sys$INotifyDisposing$remove_disposing(handler) { + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + throw Error.notImplemented(); + } +Sys.INotifyDisposing.prototype = { + add_disposing: Sys$INotifyDisposing$add_disposing, + remove_disposing: Sys$INotifyDisposing$remove_disposing +} +Sys.INotifyDisposing.registerInterface("Sys.INotifyDisposing"); + +Sys.Component = function Sys$Component() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (Sys.Application) Sys.Application.registerDisposableObject(this); +} + function Sys$Component$get_events() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._events) { + this._events = new Sys.EventHandlerList(); + } + return this._events; + } + function Sys$Component$get_id() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._id; + } + function Sys$Component$set_id(value) { + var e = Function._validateParams(arguments, [{name: "value", type: String}]); + if (e) throw e; + if (this._idSet) throw Error.invalidOperation(Sys.Res.componentCantSetIdTwice); + this._idSet = true; + var oldId = this.get_id(); + if (oldId && Sys.Application.findComponent(oldId)) throw Error.invalidOperation(Sys.Res.componentCantSetIdAfterAddedToApp); + this._id = value; + } + function Sys$Component$get_isInitialized() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._initialized; + } + function Sys$Component$get_isUpdating() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._updating; + } + function Sys$Component$add_disposing(handler) { + /// + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this.get_events().addHandler("disposing", handler); + } + function Sys$Component$remove_disposing(handler) { + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this.get_events().removeHandler("disposing", handler); + } + function Sys$Component$add_propertyChanged(handler) { + /// + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this.get_events().addHandler("propertyChanged", handler); + } + function Sys$Component$remove_propertyChanged(handler) { + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this.get_events().removeHandler("propertyChanged", handler); + } + function Sys$Component$beginUpdate() { + this._updating = true; + } + function Sys$Component$dispose() { + if (this._events) { + var handler = this._events.getHandler("disposing"); + if (handler) { + handler(this, Sys.EventArgs.Empty); + } + } + delete this._events; + Sys.Application.unregisterDisposableObject(this); + Sys.Application.removeComponent(this); + } + function Sys$Component$endUpdate() { + this._updating = false; + if (!this._initialized) this.initialize(); + this.updated(); + } + function Sys$Component$initialize() { + this._initialized = true; + } + function Sys$Component$raisePropertyChanged(propertyName) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "propertyName", type: String} + ]); + if (e) throw e; + if (!this._events) return; + var handler = this._events.getHandler("propertyChanged"); + if (handler) { + handler(this, new Sys.PropertyChangedEventArgs(propertyName)); + } + } + function Sys$Component$updated() { + } +Sys.Component.prototype = { + _id: null, + _idSet: false, + _initialized: false, + _updating: false, + get_events: Sys$Component$get_events, + get_id: Sys$Component$get_id, + set_id: Sys$Component$set_id, + get_isInitialized: Sys$Component$get_isInitialized, + get_isUpdating: Sys$Component$get_isUpdating, + add_disposing: Sys$Component$add_disposing, + remove_disposing: Sys$Component$remove_disposing, + add_propertyChanged: Sys$Component$add_propertyChanged, + remove_propertyChanged: Sys$Component$remove_propertyChanged, + beginUpdate: Sys$Component$beginUpdate, + dispose: Sys$Component$dispose, + endUpdate: Sys$Component$endUpdate, + initialize: Sys$Component$initialize, + raisePropertyChanged: Sys$Component$raisePropertyChanged, + updated: Sys$Component$updated +} +Sys.Component.registerClass('Sys.Component', null, Sys.IDisposable, Sys.INotifyPropertyChange, Sys.INotifyDisposing); +function Sys$Component$_setProperties(target, properties) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target"}, + {name: "properties"} + ]); + if (e) throw e; + var current; + var targetType = Object.getType(target); + var isObject = (targetType === Object) || (targetType === Sys.UI.DomElement); + var isComponent = Sys.Component.isInstanceOfType(target) && !target.get_isUpdating(); + if (isComponent) target.beginUpdate(); + for (var name in properties) { + var val = properties[name]; + var getter = isObject ? null : target["get_" + name]; + if (isObject || typeof(getter) !== 'function') { + var targetVal = target[name]; + if (!isObject && typeof(targetVal) === 'undefined') throw Error.invalidOperation(String.format(Sys.Res.propertyUndefined, name)); + if (!val || (typeof(val) !== 'object') || (isObject && !targetVal)) { + target[name] = val; + } + else { + Sys$Component$_setProperties(targetVal, val); + } + } + else { + var setter = target["set_" + name]; + if (typeof(setter) === 'function') { + setter.apply(target, [val]); + } + else if (val instanceof Array) { + current = getter.apply(target); + if (!(current instanceof Array)) throw new Error.invalidOperation(String.format(Sys.Res.propertyNotAnArray, name)); + for (var i = 0, j = current.length, l= val.length; i < l; i++, j++) { + current[j] = val[i]; + } + } + else if ((typeof(val) === 'object') && (Object.getType(val) === Object)) { + current = getter.apply(target); + if ((typeof(current) === 'undefined') || (current === null)) throw new Error.invalidOperation(String.format(Sys.Res.propertyNullOrUndefined, name)); + Sys$Component$_setProperties(current, val); + } + else { + throw new Error.invalidOperation(String.format(Sys.Res.propertyNotWritable, name)); + } + } + } + if (isComponent) target.endUpdate(); +} +function Sys$Component$_setReferences(component, references) { + for (var name in references) { + var setter = component["set_" + name]; + var reference = $find(references[name]); + if (typeof(setter) !== 'function') throw new Error.invalidOperation(String.format(Sys.Res.propertyNotWritable, name)); + if (!reference) throw Error.invalidOperation(String.format(Sys.Res.referenceNotFound, references[name])); + setter.apply(component, [reference]); + } +} +var $create = Sys.Component.create = function Sys$Component$create(type, properties, events, references, element) { + /// + /// + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "type", type: Type}, + {name: "properties", mayBeNull: true, optional: true}, + {name: "events", mayBeNull: true, optional: true}, + {name: "references", mayBeNull: true, optional: true}, + {name: "element", mayBeNull: true, domElement: true, optional: true} + ]); + if (e) throw e; + if (!type.inheritsFrom(Sys.Component)) { + throw Error.argument('type', String.format(Sys.Res.createNotComponent, type.getName())); + } + if (type.inheritsFrom(Sys.UI.Behavior) || type.inheritsFrom(Sys.UI.Control)) { + if (!element) throw Error.argument('element', Sys.Res.createNoDom); + } + else if (element) throw Error.argument('element', Sys.Res.createComponentOnDom); + var component = (element ? new type(element): new type()); + var app = Sys.Application; + var creatingComponents = app.get_isCreatingComponents(); + component.beginUpdate(); + if (properties) { + Sys$Component$_setProperties(component, properties); + } + if (events) { + for (var name in events) { + if (!(component["add_" + name] instanceof Function)) throw new Error.invalidOperation(String.format(Sys.Res.undefinedEvent, name)); + if (!(events[name] instanceof Function)) throw new Error.invalidOperation(Sys.Res.eventHandlerNotFunction); + component["add_" + name](events[name]); + } + } + if (component.get_id()) { + app.addComponent(component); + } + if (creatingComponents) { + app._createdComponents[app._createdComponents.length] = component; + if (references) { + app._addComponentToSecondPass(component, references); + } + else { + component.endUpdate(); + } + } + else { + if (references) { + Sys$Component$_setReferences(component, references); + } + component.endUpdate(); + } + return component; +} + +Sys.UI.MouseButton = function Sys$UI$MouseButton() { + /// + /// + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); +} +Sys.UI.MouseButton.prototype = { + leftButton: 0, + middleButton: 1, + rightButton: 2 +} +Sys.UI.MouseButton.registerEnum("Sys.UI.MouseButton"); + +Sys.UI.Key = function Sys$UI$Key() { + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); +} +Sys.UI.Key.prototype = { + backspace: 8, + tab: 9, + enter: 13, + esc: 27, + space: 32, + pageUp: 33, + pageDown: 34, + end: 35, + home: 36, + left: 37, + up: 38, + right: 39, + down: 40, + del: 127 +} +Sys.UI.Key.registerEnum("Sys.UI.Key"); + +Sys.UI.Point = function Sys$UI$Point(x, y) { + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "x", type: Number, integer: true}, + {name: "y", type: Number, integer: true} + ]); + if (e) throw e; + this.x = x; + this.y = y; +} +Sys.UI.Point.registerClass('Sys.UI.Point'); + +Sys.UI.Bounds = function Sys$UI$Bounds(x, y, width, height) { + /// + /// + /// + /// + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "x", type: Number, integer: true}, + {name: "y", type: Number, integer: true}, + {name: "width", type: Number, integer: true}, + {name: "height", type: Number, integer: true} + ]); + if (e) throw e; + this.x = x; + this.y = y; + this.height = height; + this.width = width; +} +Sys.UI.Bounds.registerClass('Sys.UI.Bounds'); + +Sys.UI.DomEvent = function Sys$UI$DomEvent(eventObject) { + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "eventObject"} + ]); + if (e) throw e; + var ev = eventObject; + var etype = this.type = ev.type.toLowerCase(); + this.rawEvent = ev; + this.altKey = ev.altKey; + if (typeof(ev.button) !== 'undefined') { + this.button = (typeof(ev.which) !== 'undefined') ? ev.button : + (ev.button === 4) ? Sys.UI.MouseButton.middleButton : + (ev.button === 2) ? Sys.UI.MouseButton.rightButton : + Sys.UI.MouseButton.leftButton; + } + if (etype === 'keypress') { + this.charCode = ev.charCode || ev.keyCode; + } + else if (ev.keyCode && (ev.keyCode === 46)) { + this.keyCode = 127; + } + else { + this.keyCode = ev.keyCode; + } + this.clientX = ev.clientX; + this.clientY = ev.clientY; + this.ctrlKey = ev.ctrlKey; + this.target = ev.target ? ev.target : ev.srcElement; + if (!etype.startsWith('key')) { + if ((typeof(ev.offsetX) !== 'undefined') && (typeof(ev.offsetY) !== 'undefined')) { + this.offsetX = ev.offsetX; + this.offsetY = ev.offsetY; + } + else if (this.target && (this.target.nodeType !== 3) && (typeof(ev.clientX) === 'number')) { + var loc = Sys.UI.DomElement.getLocation(this.target); + var w = Sys.UI.DomElement._getWindow(this.target); + this.offsetX = (w.pageXOffset || 0) + ev.clientX - loc.x; + this.offsetY = (w.pageYOffset || 0) + ev.clientY - loc.y; + } + } + this.screenX = ev.screenX; + this.screenY = ev.screenY; + this.shiftKey = ev.shiftKey; +} + function Sys$UI$DomEvent$preventDefault() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (this.rawEvent.preventDefault) { + this.rawEvent.preventDefault(); + } + else if (window.event) { + this.rawEvent.returnValue = false; + } + } + function Sys$UI$DomEvent$stopPropagation() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (this.rawEvent.stopPropagation) { + this.rawEvent.stopPropagation(); + } + else if (window.event) { + this.rawEvent.cancelBubble = true; + } + } +Sys.UI.DomEvent.prototype = { + preventDefault: Sys$UI$DomEvent$preventDefault, + stopPropagation: Sys$UI$DomEvent$stopPropagation +} +Sys.UI.DomEvent.registerClass('Sys.UI.DomEvent'); +var $addHandler = Sys.UI.DomEvent.addHandler = function Sys$UI$DomEvent$addHandler(element, eventName, handler, autoRemove) { + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element"}, + {name: "eventName", type: String}, + {name: "handler", type: Function}, + {name: "autoRemove", type: Boolean, optional: true} + ]); + if (e) throw e; + Sys.UI.DomEvent._ensureDomNode(element); + if (eventName === "error") throw Error.invalidOperation(Sys.Res.addHandlerCantBeUsedForError); + if (!element._events) { + element._events = {}; + } + var eventCache = element._events[eventName]; + if (!eventCache) { + element._events[eventName] = eventCache = []; + } + var browserHandler; + if (element.addEventListener) { + browserHandler = function(e) { + return handler.call(element, new Sys.UI.DomEvent(e)); + } + element.addEventListener(eventName, browserHandler, false); + } + else if (element.attachEvent) { + browserHandler = function() { + var e = {}; + try {e = Sys.UI.DomElement._getWindow(element).event} catch(ex) {} + return handler.call(element, new Sys.UI.DomEvent(e)); + } + element.attachEvent('on' + eventName, browserHandler); + } + eventCache[eventCache.length] = {handler: handler, browserHandler: browserHandler, autoRemove: autoRemove }; + if (autoRemove) { + var d = element.dispose; + if (d !== Sys.UI.DomEvent._disposeHandlers) { + element.dispose = Sys.UI.DomEvent._disposeHandlers; + if (typeof(d) !== "undefined") { + element._chainDispose = d; + } + } + } +} +var $addHandlers = Sys.UI.DomEvent.addHandlers = function Sys$UI$DomEvent$addHandlers(element, events, handlerOwner, autoRemove) { + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element"}, + {name: "events", type: Object}, + {name: "handlerOwner", optional: true}, + {name: "autoRemove", type: Boolean, optional: true} + ]); + if (e) throw e; + Sys.UI.DomEvent._ensureDomNode(element); + for (var name in events) { + var handler = events[name]; + if (typeof(handler) !== 'function') throw Error.invalidOperation(Sys.Res.cantAddNonFunctionhandler); + if (handlerOwner) { + handler = Function.createDelegate(handlerOwner, handler); + } + $addHandler(element, name, handler, autoRemove || false); + } +} +var $clearHandlers = Sys.UI.DomEvent.clearHandlers = function Sys$UI$DomEvent$clearHandlers(element) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element"} + ]); + if (e) throw e; + Sys.UI.DomEvent._ensureDomNode(element); + Sys.UI.DomEvent._clearHandlers(element, false); +} +Sys.UI.DomEvent._clearHandlers = function Sys$UI$DomEvent$_clearHandlers(element, autoRemoving) { + if (element._events) { + var cache = element._events; + for (var name in cache) { + var handlers = cache[name]; + for (var i = handlers.length - 1; i >= 0; i--) { + var entry = handlers[i]; + if (!autoRemoving || entry.autoRemove) { + $removeHandler(element, name, entry.handler); + } + } + } + element._events = null; + } +} +Sys.UI.DomEvent._disposeHandlers = function Sys$UI$DomEvent$_disposeHandlers() { + Sys.UI.DomEvent._clearHandlers(this, true); + var d = this._chainDispose, type = typeof(d); + if (type !== "undefined") { + this.dispose = d; + this._chainDispose = null; + if (type === "function") { + this.dispose(); + } + } +} +var $removeHandler = Sys.UI.DomEvent.removeHandler = function Sys$UI$DomEvent$removeHandler(element, eventName, handler) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element"}, + {name: "eventName", type: String}, + {name: "handler", type: Function} + ]); + if (e) throw e; + Sys.UI.DomEvent._removeHandler(element, eventName, handler); +} +Sys.UI.DomEvent._removeHandler = function Sys$UI$DomEvent$_removeHandler(element, eventName, handler) { + Sys.UI.DomEvent._ensureDomNode(element); + var browserHandler = null; + if ((typeof(element._events) !== 'object') || !element._events) throw Error.invalidOperation(Sys.Res.eventHandlerInvalid); + var cache = element._events[eventName]; + if (!(cache instanceof Array)) throw Error.invalidOperation(Sys.Res.eventHandlerInvalid); + for (var i = 0, l = cache.length; i < l; i++) { + if (cache[i].handler === handler) { + browserHandler = cache[i].browserHandler; + break; + } + } + if (typeof(browserHandler) !== 'function') throw Error.invalidOperation(Sys.Res.eventHandlerInvalid); + if (element.removeEventListener) { + element.removeEventListener(eventName, browserHandler, false); + } + else if (element.detachEvent) { + element.detachEvent('on' + eventName, browserHandler); + } + cache.splice(i, 1); +} +Sys.UI.DomEvent._ensureDomNode = function Sys$UI$DomEvent$_ensureDomNode(element) { + if (element.tagName && (element.tagName.toUpperCase() === "SCRIPT")) return; + + var doc = element.ownerDocument || element.document || element; + if ((typeof(element.document) !== 'object') && (element != doc) && (typeof(element.nodeType) !== 'number')) { + throw Error.argument("element", Sys.Res.argumentDomNode); + } +} + +Sys.UI.DomElement = function Sys$UI$DomElement() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); +} +Sys.UI.DomElement.registerClass('Sys.UI.DomElement'); +Sys.UI.DomElement.addCssClass = function Sys$UI$DomElement$addCssClass(element, className) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true}, + {name: "className", type: String} + ]); + if (e) throw e; + if (!Sys.UI.DomElement.containsCssClass(element, className)) { + if (element.className === '') { + element.className = className; + } + else { + element.className += ' ' + className; + } + } +} +Sys.UI.DomElement.containsCssClass = function Sys$UI$DomElement$containsCssClass(element, className) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true}, + {name: "className", type: String} + ]); + if (e) throw e; + return Array.contains(element.className.split(' '), className); +} +Sys.UI.DomElement.getBounds = function Sys$UI$DomElement$getBounds(element) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true} + ]); + if (e) throw e; + var offset = Sys.UI.DomElement.getLocation(element); + return new Sys.UI.Bounds(offset.x, offset.y, element.offsetWidth || 0, element.offsetHeight || 0); +} +var $get = Sys.UI.DomElement.getElementById = function Sys$UI$DomElement$getElementById(id, element) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "id", type: String}, + {name: "element", mayBeNull: true, domElement: true, optional: true} + ]); + if (e) throw e; + if (!element) return document.getElementById(id); + if (element.getElementById) return element.getElementById(id); + var nodeQueue = []; + var childNodes = element.childNodes; + for (var i = 0; i < childNodes.length; i++) { + var node = childNodes[i]; + if (node.nodeType == 1) { + nodeQueue[nodeQueue.length] = node; + } + } + while (nodeQueue.length) { + node = nodeQueue.shift(); + if (node.id == id) { + return node; + } + childNodes = node.childNodes; + for (i = 0; i < childNodes.length; i++) { + node = childNodes[i]; + if (node.nodeType == 1) { + nodeQueue[nodeQueue.length] = node; + } + } + } + return null; +} +if (document.documentElement.getBoundingClientRect) { + Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true} + ]); + if (e) throw e; + if (element.self || element.nodeType === 9) return new Sys.UI.Point(0,0); + var clientRect = element.getBoundingClientRect(); + if (!clientRect) { + return new Sys.UI.Point(0,0); + } + var documentElement = element.ownerDocument.documentElement, + offsetX = Math.floor(clientRect.left + 0.5) + documentElement.scrollLeft, + offsetY = Math.floor(clientRect.top + 0.5) + documentElement.scrollTop; + if (Sys.Browser.agent === Sys.Browser.InternetExplorer) { + try { + var f = element.ownerDocument.parentWindow.frameElement || null; + if (f) { + var offset = (f.frameBorder === "0" || f.frameBorder === "no") ? 2 : 0; + offsetX += offset; + offsetY += offset; + } + } + catch(ex) { + } + if (Sys.Browser.version <= 7) { + + var multiplier, before, rect, d = document.createElement("div"); + d.style.cssText = "position:absolute !important;left:0px !important;right:0px !important;height:0px !important;width:1px !important;display:hidden !important"; + try { + before = document.body.childNodes[0]; + document.body.insertBefore(d, before); + rect = d.getBoundingClientRect(); + document.body.removeChild(d); + multiplier = (rect.right - rect.left); + } + catch (e) { + } + if (multiplier && (multiplier !== 1)) { + offsetX = Math.floor(offsetX / multiplier); + offsetY = Math.floor(offsetY / multiplier); + } + } + if ((document.documentMode || 0) < 8) { + offsetX -= 2; + offsetY -= 2; + } + } + return new Sys.UI.Point(offsetX, offsetY); + } +} +else if (Sys.Browser.agent === Sys.Browser.Safari) { + Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true} + ]); + if (e) throw e; + if ((element.window && (element.window === element)) || element.nodeType === 9) return new Sys.UI.Point(0,0); + var offsetX = 0, offsetY = 0, + parent, + previous = null, + previousStyle = null, + currentStyle; + for (parent = element; parent; previous = parent, previousStyle = currentStyle, parent = parent.offsetParent) { + currentStyle = Sys.UI.DomElement._getCurrentStyle(parent); + var tagName = parent.tagName ? parent.tagName.toUpperCase() : null; + if ((parent.offsetLeft || parent.offsetTop) && + ((tagName !== "BODY") || (!previousStyle || previousStyle.position !== "absolute"))) { + offsetX += parent.offsetLeft; + offsetY += parent.offsetTop; + } + if (previous && Sys.Browser.version >= 3) { + offsetX += parseInt(currentStyle.borderLeftWidth); + offsetY += parseInt(currentStyle.borderTopWidth); + } + } + currentStyle = Sys.UI.DomElement._getCurrentStyle(element); + var elementPosition = currentStyle ? currentStyle.position : null; + if (!elementPosition || (elementPosition !== "absolute")) { + for (parent = element.parentNode; parent; parent = parent.parentNode) { + tagName = parent.tagName ? parent.tagName.toUpperCase() : null; + if ((tagName !== "BODY") && (tagName !== "HTML") && (parent.scrollLeft || parent.scrollTop)) { + offsetX -= (parent.scrollLeft || 0); + offsetY -= (parent.scrollTop || 0); + } + currentStyle = Sys.UI.DomElement._getCurrentStyle(parent); + var parentPosition = currentStyle ? currentStyle.position : null; + if (parentPosition && (parentPosition === "absolute")) break; + } + } + return new Sys.UI.Point(offsetX, offsetY); + } +} +else { + Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true} + ]); + if (e) throw e; + if ((element.window && (element.window === element)) || element.nodeType === 9) return new Sys.UI.Point(0,0); + var offsetX = 0, offsetY = 0, + parent, + previous = null, + previousStyle = null, + currentStyle = null; + for (parent = element; parent; previous = parent, previousStyle = currentStyle, parent = parent.offsetParent) { + var tagName = parent.tagName ? parent.tagName.toUpperCase() : null; + currentStyle = Sys.UI.DomElement._getCurrentStyle(parent); + if ((parent.offsetLeft || parent.offsetTop) && + !((tagName === "BODY") && + (!previousStyle || previousStyle.position !== "absolute"))) { + offsetX += parent.offsetLeft; + offsetY += parent.offsetTop; + } + if (previous !== null && currentStyle) { + if ((tagName !== "TABLE") && (tagName !== "TD") && (tagName !== "HTML")) { + offsetX += parseInt(currentStyle.borderLeftWidth) || 0; + offsetY += parseInt(currentStyle.borderTopWidth) || 0; + } + if (tagName === "TABLE" && + (currentStyle.position === "relative" || currentStyle.position === "absolute")) { + offsetX += parseInt(currentStyle.marginLeft) || 0; + offsetY += parseInt(currentStyle.marginTop) || 0; + } + } + } + currentStyle = Sys.UI.DomElement._getCurrentStyle(element); + var elementPosition = currentStyle ? currentStyle.position : null; + if (!elementPosition || (elementPosition !== "absolute")) { + for (parent = element.parentNode; parent; parent = parent.parentNode) { + tagName = parent.tagName ? parent.tagName.toUpperCase() : null; + if ((tagName !== "BODY") && (tagName !== "HTML") && (parent.scrollLeft || parent.scrollTop)) { + offsetX -= (parent.scrollLeft || 0); + offsetY -= (parent.scrollTop || 0); + currentStyle = Sys.UI.DomElement._getCurrentStyle(parent); + if (currentStyle) { + offsetX += parseInt(currentStyle.borderLeftWidth) || 0; + offsetY += parseInt(currentStyle.borderTopWidth) || 0; + } + } + } + } + return new Sys.UI.Point(offsetX, offsetY); + } +} +Sys.UI.DomElement.isDomElement = function Sys$UI$DomElement$isDomElement(obj) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "obj"} + ]); + if (e) throw e; + return Sys._isDomElement(obj); +} +Sys.UI.DomElement.removeCssClass = function Sys$UI$DomElement$removeCssClass(element, className) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true}, + {name: "className", type: String} + ]); + if (e) throw e; + var currentClassName = ' ' + element.className + ' '; + var index = currentClassName.indexOf(' ' + className + ' '); + if (index >= 0) { + element.className = (currentClassName.substr(0, index) + ' ' + + currentClassName.substring(index + className.length + 1, currentClassName.length)).trim(); + } +} +Sys.UI.DomElement.resolveElement = function Sys$UI$DomElement$resolveElement(elementOrElementId, containerElement) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "elementOrElementId", mayBeNull: true}, + {name: "containerElement", mayBeNull: true, domElement: true, optional: true} + ]); + if (e) throw e; + var el = elementOrElementId; + if (!el) return null; + if (typeof(el) === "string") { + el = Sys.UI.DomElement.getElementById(el, containerElement); + if (!el) { + throw Error.argument("elementOrElementId", String.format(Sys.Res.elementNotFound, elementOrElementId)); + } + } + else if(!Sys.UI.DomElement.isDomElement(el)) { + throw Error.argument("elementOrElementId", Sys.Res.expectedElementOrId); + } + return el; +} +Sys.UI.DomElement.raiseBubbleEvent = function Sys$UI$DomElement$raiseBubbleEvent(source, args) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "source", domElement: true}, + {name: "args", type: Sys.EventArgs} + ]); + if (e) throw e; + var target = source; + while (target) { + var control = target.control; + if (control && control.onBubbleEvent && control.raiseBubbleEvent) { + Sys.UI.DomElement._raiseBubbleEventFromControl(control, source, args); + return; + } + target = target.parentNode; + } +} +Sys.UI.DomElement._raiseBubbleEventFromControl = function Sys$UI$DomElement$_raiseBubbleEventFromControl(control, source, args) { + if (!control.onBubbleEvent(source, args)) { + control._raiseBubbleEvent(source, args); + } +} +Sys.UI.DomElement.setLocation = function Sys$UI$DomElement$setLocation(element, x, y) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true}, + {name: "x", type: Number, integer: true}, + {name: "y", type: Number, integer: true} + ]); + if (e) throw e; + var style = element.style; + style.position = 'absolute'; + style.left = x + "px"; + style.top = y + "px"; +} +Sys.UI.DomElement.toggleCssClass = function Sys$UI$DomElement$toggleCssClass(element, className) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true}, + {name: "className", type: String} + ]); + if (e) throw e; + if (Sys.UI.DomElement.containsCssClass(element, className)) { + Sys.UI.DomElement.removeCssClass(element, className); + } + else { + Sys.UI.DomElement.addCssClass(element, className); + } +} +Sys.UI.DomElement.getVisibilityMode = function Sys$UI$DomElement$getVisibilityMode(element) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true} + ]); + if (e) throw e; + return (element._visibilityMode === Sys.UI.VisibilityMode.hide) ? + Sys.UI.VisibilityMode.hide : + Sys.UI.VisibilityMode.collapse; +} +Sys.UI.DomElement.setVisibilityMode = function Sys$UI$DomElement$setVisibilityMode(element, value) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true}, + {name: "value", type: Sys.UI.VisibilityMode} + ]); + if (e) throw e; + Sys.UI.DomElement._ensureOldDisplayMode(element); + if (element._visibilityMode !== value) { + element._visibilityMode = value; + if (Sys.UI.DomElement.getVisible(element) === false) { + if (element._visibilityMode === Sys.UI.VisibilityMode.hide) { + element.style.display = element._oldDisplayMode; + } + else { + element.style.display = 'none'; + } + } + element._visibilityMode = value; + } +} +Sys.UI.DomElement.getVisible = function Sys$UI$DomElement$getVisible(element) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true} + ]); + if (e) throw e; + var style = element.currentStyle || Sys.UI.DomElement._getCurrentStyle(element); + if (!style) return true; + return (style.visibility !== 'hidden') && (style.display !== 'none'); +} +Sys.UI.DomElement.setVisible = function Sys$UI$DomElement$setVisible(element, value) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true}, + {name: "value", type: Boolean} + ]); + if (e) throw e; + if (value !== Sys.UI.DomElement.getVisible(element)) { + Sys.UI.DomElement._ensureOldDisplayMode(element); + element.style.visibility = value ? 'visible' : 'hidden'; + if (value || (element._visibilityMode === Sys.UI.VisibilityMode.hide)) { + element.style.display = element._oldDisplayMode; + } + else { + element.style.display = 'none'; + } + } +} +Sys.UI.DomElement._ensureOldDisplayMode = function Sys$UI$DomElement$_ensureOldDisplayMode(element) { + if (!element._oldDisplayMode) { + var style = element.currentStyle || Sys.UI.DomElement._getCurrentStyle(element); + element._oldDisplayMode = style ? style.display : null; + if (!element._oldDisplayMode || element._oldDisplayMode === 'none') { + switch(element.tagName.toUpperCase()) { + case 'DIV': case 'P': case 'ADDRESS': case 'BLOCKQUOTE': case 'BODY': case 'COL': + case 'COLGROUP': case 'DD': case 'DL': case 'DT': case 'FIELDSET': case 'FORM': + case 'H1': case 'H2': case 'H3': case 'H4': case 'H5': case 'H6': case 'HR': + case 'IFRAME': case 'LEGEND': case 'OL': case 'PRE': case 'TABLE': case 'TD': + case 'TH': case 'TR': case 'UL': + element._oldDisplayMode = 'block'; + break; + case 'LI': + element._oldDisplayMode = 'list-item'; + break; + default: + element._oldDisplayMode = 'inline'; + } + } + } +} +Sys.UI.DomElement._getWindow = function Sys$UI$DomElement$_getWindow(element) { + var doc = element.ownerDocument || element.document || element; + return doc.defaultView || doc.parentWindow; +} +Sys.UI.DomElement._getCurrentStyle = function Sys$UI$DomElement$_getCurrentStyle(element) { + if (element.nodeType === 3) return null; + var w = Sys.UI.DomElement._getWindow(element); + if (element.documentElement) element = element.documentElement; + var computedStyle = (w && (element !== w) && w.getComputedStyle) ? + w.getComputedStyle(element, null) : + element.currentStyle || element.style; + if (!computedStyle && (Sys.Browser.agent === Sys.Browser.Safari) && element.style) { + var oldDisplay = element.style.display; + var oldPosition = element.style.position; + element.style.position = 'absolute'; + element.style.display = 'block'; + var style = w.getComputedStyle(element, null); + element.style.display = oldDisplay; + element.style.position = oldPosition; + computedStyle = {}; + for (var n in style) { + computedStyle[n] = style[n]; + } + computedStyle.display = 'none'; + } + return computedStyle; +} + +Sys.IContainer = function Sys$IContainer() { + throw Error.notImplemented(); +} + function Sys$IContainer$addComponent(component) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "component", type: Sys.Component} + ]); + if (e) throw e; + throw Error.notImplemented(); + } + function Sys$IContainer$removeComponent(component) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "component", type: Sys.Component} + ]); + if (e) throw e; + throw Error.notImplemented(); + } + function Sys$IContainer$findComponent(id) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "id", type: String} + ]); + if (e) throw e; + throw Error.notImplemented(); + } + function Sys$IContainer$getComponents() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } +Sys.IContainer.prototype = { + addComponent: Sys$IContainer$addComponent, + removeComponent: Sys$IContainer$removeComponent, + findComponent: Sys$IContainer$findComponent, + getComponents: Sys$IContainer$getComponents +} +Sys.IContainer.registerInterface("Sys.IContainer"); + +Sys.ApplicationLoadEventArgs = function Sys$ApplicationLoadEventArgs(components, isPartialLoad) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "components", type: Array, elementType: Sys.Component}, + {name: "isPartialLoad", type: Boolean} + ]); + if (e) throw e; + Sys.ApplicationLoadEventArgs.initializeBase(this); + this._components = components; + this._isPartialLoad = isPartialLoad; +} + + function Sys$ApplicationLoadEventArgs$get_components() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._components; + } + function Sys$ApplicationLoadEventArgs$get_isPartialLoad() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._isPartialLoad; + } +Sys.ApplicationLoadEventArgs.prototype = { + get_components: Sys$ApplicationLoadEventArgs$get_components, + get_isPartialLoad: Sys$ApplicationLoadEventArgs$get_isPartialLoad +} +Sys.ApplicationLoadEventArgs.registerClass('Sys.ApplicationLoadEventArgs', Sys.EventArgs); + +Sys._Application = function Sys$_Application() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + Sys._Application.initializeBase(this); + this._disposableObjects = []; + this._components = {}; + this._createdComponents = []; + this._secondPassComponents = []; + this._unloadHandlerDelegate = Function.createDelegate(this, this._unloadHandler); + Sys.UI.DomEvent.addHandler(window, "unload", this._unloadHandlerDelegate); + this._domReady(); +} + function Sys$_Application$get_isCreatingComponents() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._creatingComponents; + } + function Sys$_Application$get_isDisposing() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._disposing; + } + function Sys$_Application$add_init(handler) { + /// + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + if (this._initialized) { + handler(this, Sys.EventArgs.Empty); + } + else { + this.get_events().addHandler("init", handler); + } + } + function Sys$_Application$remove_init(handler) { + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this.get_events().removeHandler("init", handler); + } + function Sys$_Application$add_load(handler) { + /// + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this.get_events().addHandler("load", handler); + } + function Sys$_Application$remove_load(handler) { + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this.get_events().removeHandler("load", handler); + } + function Sys$_Application$add_unload(handler) { + /// + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this.get_events().addHandler("unload", handler); + } + function Sys$_Application$remove_unload(handler) { + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this.get_events().removeHandler("unload", handler); + } + function Sys$_Application$addComponent(component) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "component", type: Sys.Component} + ]); + if (e) throw e; + var id = component.get_id(); + if (!id) throw Error.invalidOperation(Sys.Res.cantAddWithoutId); + if (typeof(this._components[id]) !== 'undefined') throw Error.invalidOperation(String.format(Sys.Res.appDuplicateComponent, id)); + this._components[id] = component; + } + function Sys$_Application$beginCreateComponents() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + this._creatingComponents = true; + } + function Sys$_Application$dispose() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._disposing) { + this._disposing = true; + if (this._timerCookie) { + window.clearTimeout(this._timerCookie); + delete this._timerCookie; + } + if (this._endRequestHandler) { + Sys.WebForms.PageRequestManager.getInstance().remove_endRequest(this._endRequestHandler); + delete this._endRequestHandler; + } + if (this._beginRequestHandler) { + Sys.WebForms.PageRequestManager.getInstance().remove_beginRequest(this._beginRequestHandler); + delete this._beginRequestHandler; + } + if (window.pageUnload) { + window.pageUnload(this, Sys.EventArgs.Empty); + } + var unloadHandler = this.get_events().getHandler("unload"); + if (unloadHandler) { + unloadHandler(this, Sys.EventArgs.Empty); + } + var disposableObjects = Array.clone(this._disposableObjects); + for (var i = 0, l = disposableObjects.length; i < l; i++) { + var object = disposableObjects[i]; + if (typeof(object) !== "undefined") { + object.dispose(); + } + } + Array.clear(this._disposableObjects); + Sys.UI.DomEvent.removeHandler(window, "unload", this._unloadHandlerDelegate); + if (Sys._ScriptLoader) { + var sl = Sys._ScriptLoader.getInstance(); + if(sl) { + sl.dispose(); + } + } + Sys._Application.callBaseMethod(this, 'dispose'); + } + } + function Sys$_Application$disposeElement(element, childNodesOnly) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element"}, + {name: "childNodesOnly", type: Boolean} + ]); + if (e) throw e; + if (element.nodeType === 1) { + var children = element.getElementsByTagName("*"); + for (var i = children.length - 1; i >= 0; i--) { + this._disposeElementInternal(children[i]); + } + if (!childNodesOnly) { + this._disposeElementInternal(element); + } + } + } + function Sys$_Application$endCreateComponents() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + var components = this._secondPassComponents; + for (var i = 0, l = components.length; i < l; i++) { + var component = components[i].component; + Sys$Component$_setReferences(component, components[i].references); + component.endUpdate(); + } + this._secondPassComponents = []; + this._creatingComponents = false; + } + function Sys$_Application$findComponent(id, parent) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "id", type: String}, + {name: "parent", mayBeNull: true, optional: true} + ]); + if (e) throw e; + return (parent ? + ((Sys.IContainer.isInstanceOfType(parent)) ? + parent.findComponent(id) : + parent[id] || null) : + Sys.Application._components[id] || null); + } + function Sys$_Application$getComponents() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + var res = []; + var components = this._components; + for (var name in components) { + res[res.length] = components[name]; + } + return res; + } + function Sys$_Application$initialize() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if(!this.get_isInitialized() && !this._disposing) { + Sys._Application.callBaseMethod(this, 'initialize'); + this._raiseInit(); + if (this.get_stateString) { + if (Sys.WebForms && Sys.WebForms.PageRequestManager) { + this._beginRequestHandler = Function.createDelegate(this, this._onPageRequestManagerBeginRequest); + Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(this._beginRequestHandler); + this._endRequestHandler = Function.createDelegate(this, this._onPageRequestManagerEndRequest); + Sys.WebForms.PageRequestManager.getInstance().add_endRequest(this._endRequestHandler); + } + var loadedEntry = this.get_stateString(); + if (loadedEntry !== this._currentEntry) { + this._navigate(loadedEntry); + } + else { + this._ensureHistory(); + } + } + this.raiseLoad(); + } + } + function Sys$_Application$notifyScriptLoaded() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + } + function Sys$_Application$registerDisposableObject(object) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "object", type: Sys.IDisposable} + ]); + if (e) throw e; + if (!this._disposing) { + var objects = this._disposableObjects, + i = objects.length; + objects[i] = object; + object.__msdisposeindex = i; + } + } + function Sys$_Application$raiseLoad() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + var h = this.get_events().getHandler("load"); + var args = new Sys.ApplicationLoadEventArgs(Array.clone(this._createdComponents), !!this._loaded); + this._loaded = true; + if (h) { + h(this, args); + } + if (window.pageLoad) { + window.pageLoad(this, args); + } + this._createdComponents = []; + } + function Sys$_Application$removeComponent(component) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "component", type: Sys.Component} + ]); + if (e) throw e; + var id = component.get_id(); + if (id) delete this._components[id]; + } + function Sys$_Application$unregisterDisposableObject(object) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "object", type: Sys.IDisposable} + ]); + if (e) throw e; + if (!this._disposing) { + var i = object.__msdisposeindex; + if (typeof(i) === "number") { + var disposableObjects = this._disposableObjects; + delete disposableObjects[i]; + delete object.__msdisposeindex; + if (++this._deleteCount > 1000) { + var newArray = []; + for (var j = 0, l = disposableObjects.length; j < l; j++) { + object = disposableObjects[j]; + if (typeof(object) !== "undefined") { + object.__msdisposeindex = newArray.length; + newArray.push(object); + } + } + this._disposableObjects = newArray; + this._deleteCount = 0; + } + } + } + } + function Sys$_Application$_addComponentToSecondPass(component, references) { + this._secondPassComponents[this._secondPassComponents.length] = {component: component, references: references}; + } + function Sys$_Application$_disposeComponents(list) { + if (list) { + for (var i = list.length - 1; i >= 0; i--) { + var item = list[i]; + if (typeof(item.dispose) === "function") { + item.dispose(); + } + } + } + } + function Sys$_Application$_disposeElementInternal(element) { + var d = element.dispose; + if (d && typeof(d) === "function") { + element.dispose(); + } + else { + var c = element.control; + if (c && typeof(c.dispose) === "function") { + c.dispose(); + } + } + var list = element._behaviors; + if (list) { + this._disposeComponents(list); + } + list = element._components; + if (list) { + this._disposeComponents(list); + element._components = null; + } + } + function Sys$_Application$_domReady() { + var check, er, app = this; + function init() { app.initialize(); } + var onload = function() { + Sys.UI.DomEvent.removeHandler(window, "load", onload); + init(); + } + Sys.UI.DomEvent.addHandler(window, "load", onload); + + if (document.addEventListener) { + try { + document.addEventListener("DOMContentLoaded", check = function() { + document.removeEventListener("DOMContentLoaded", check, false); + init(); + }, false); + } + catch (er) { } + } + else if (document.attachEvent) { + if ((window == window.top) && document.documentElement.doScroll) { + var timeout, el = document.createElement("div"); + check = function() { + try { + el.doScroll("left"); + } + catch (er) { + timeout = window.setTimeout(check, 0); + return; + } + el = null; + init(); + } + check(); + } + else { + document.attachEvent("onreadystatechange", check = function() { + if (document.readyState === "complete") { + document.detachEvent("onreadystatechange", check); + init(); + } + }); + } + } + } + function Sys$_Application$_raiseInit() { + var handler = this.get_events().getHandler("init"); + if (handler) { + this.beginCreateComponents(); + handler(this, Sys.EventArgs.Empty); + this.endCreateComponents(); + } + } + function Sys$_Application$_unloadHandler(event) { + this.dispose(); + } +Sys._Application.prototype = { + _creatingComponents: false, + _disposing: false, + _deleteCount: 0, + get_isCreatingComponents: Sys$_Application$get_isCreatingComponents, + get_isDisposing: Sys$_Application$get_isDisposing, + add_init: Sys$_Application$add_init, + remove_init: Sys$_Application$remove_init, + add_load: Sys$_Application$add_load, + remove_load: Sys$_Application$remove_load, + add_unload: Sys$_Application$add_unload, + remove_unload: Sys$_Application$remove_unload, + addComponent: Sys$_Application$addComponent, + beginCreateComponents: Sys$_Application$beginCreateComponents, + dispose: Sys$_Application$dispose, + disposeElement: Sys$_Application$disposeElement, + endCreateComponents: Sys$_Application$endCreateComponents, + findComponent: Sys$_Application$findComponent, + getComponents: Sys$_Application$getComponents, + initialize: Sys$_Application$initialize, + notifyScriptLoaded: Sys$_Application$notifyScriptLoaded, + registerDisposableObject: Sys$_Application$registerDisposableObject, + raiseLoad: Sys$_Application$raiseLoad, + removeComponent: Sys$_Application$removeComponent, + unregisterDisposableObject: Sys$_Application$unregisterDisposableObject, + _addComponentToSecondPass: Sys$_Application$_addComponentToSecondPass, + _disposeComponents: Sys$_Application$_disposeComponents, + _disposeElementInternal: Sys$_Application$_disposeElementInternal, + _domReady: Sys$_Application$_domReady, + _raiseInit: Sys$_Application$_raiseInit, + _unloadHandler: Sys$_Application$_unloadHandler +} +Sys._Application.registerClass('Sys._Application', Sys.Component, Sys.IContainer); +Sys.Application = new Sys._Application(); +var $find = Sys.Application.findComponent; + +Sys.UI.Behavior = function Sys$UI$Behavior(element) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true} + ]); + if (e) throw e; + Sys.UI.Behavior.initializeBase(this); + this._element = element; + var behaviors = element._behaviors; + if (!behaviors) { + element._behaviors = [this]; + } + else { + behaviors[behaviors.length] = this; + } +} + function Sys$UI$Behavior$get_element() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._element; + } + function Sys$UI$Behavior$get_id() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + var baseId = Sys.UI.Behavior.callBaseMethod(this, 'get_id'); + if (baseId) return baseId; + if (!this._element || !this._element.id) return ''; + return this._element.id + '$' + this.get_name(); + } + function Sys$UI$Behavior$get_name() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (this._name) return this._name; + var name = Object.getTypeName(this); + var i = name.lastIndexOf('.'); + if (i !== -1) name = name.substr(i + 1); + if (!this.get_isInitialized()) this._name = name; + return name; + } + function Sys$UI$Behavior$set_name(value) { + var e = Function._validateParams(arguments, [{name: "value", type: String}]); + if (e) throw e; + if ((value === '') || (value.charAt(0) === ' ') || (value.charAt(value.length - 1) === ' ')) + throw Error.argument('value', Sys.Res.invalidId); + if (typeof(this._element[value]) !== 'undefined') + throw Error.invalidOperation(String.format(Sys.Res.behaviorDuplicateName, value)); + if (this.get_isInitialized()) throw Error.invalidOperation(Sys.Res.cantSetNameAfterInit); + this._name = value; + } + function Sys$UI$Behavior$initialize() { + Sys.UI.Behavior.callBaseMethod(this, 'initialize'); + var name = this.get_name(); + if (name) this._element[name] = this; + } + function Sys$UI$Behavior$dispose() { + Sys.UI.Behavior.callBaseMethod(this, 'dispose'); + var e = this._element; + if (e) { + var name = this.get_name(); + if (name) { + e[name] = null; + } + var behaviors = e._behaviors; + Array.remove(behaviors, this); + if (behaviors.length === 0) { + e._behaviors = null; + } + delete this._element; + } + } +Sys.UI.Behavior.prototype = { + _name: null, + get_element: Sys$UI$Behavior$get_element, + get_id: Sys$UI$Behavior$get_id, + get_name: Sys$UI$Behavior$get_name, + set_name: Sys$UI$Behavior$set_name, + initialize: Sys$UI$Behavior$initialize, + dispose: Sys$UI$Behavior$dispose +} +Sys.UI.Behavior.registerClass('Sys.UI.Behavior', Sys.Component); +Sys.UI.Behavior.getBehaviorByName = function Sys$UI$Behavior$getBehaviorByName(element, name) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true}, + {name: "name", type: String} + ]); + if (e) throw e; + var b = element[name]; + return (b && Sys.UI.Behavior.isInstanceOfType(b)) ? b : null; +} +Sys.UI.Behavior.getBehaviors = function Sys$UI$Behavior$getBehaviors(element) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true} + ]); + if (e) throw e; + if (!element._behaviors) return []; + return Array.clone(element._behaviors); +} +Sys.UI.Behavior.getBehaviorsByType = function Sys$UI$Behavior$getBehaviorsByType(element, type) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true}, + {name: "type", type: Type} + ]); + if (e) throw e; + var behaviors = element._behaviors; + var results = []; + if (behaviors) { + for (var i = 0, l = behaviors.length; i < l; i++) { + if (type.isInstanceOfType(behaviors[i])) { + results[results.length] = behaviors[i]; + } + } + } + return results; +} + +Sys.UI.VisibilityMode = function Sys$UI$VisibilityMode() { + /// + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); +} +Sys.UI.VisibilityMode.prototype = { + hide: 0, + collapse: 1 +} +Sys.UI.VisibilityMode.registerEnum("Sys.UI.VisibilityMode"); + +Sys.UI.Control = function Sys$UI$Control(element) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true} + ]); + if (e) throw e; + if (typeof(element.control) !== 'undefined') throw Error.invalidOperation(Sys.Res.controlAlreadyDefined); + Sys.UI.Control.initializeBase(this); + this._element = element; + element.control = this; + var role = this.get_role(); + if (role) { + element.setAttribute("role", role); + } +} + function Sys$UI$Control$get_element() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._element; + } + function Sys$UI$Control$get_id() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._element) return ''; + return this._element.id; + } + function Sys$UI$Control$set_id(value) { + var e = Function._validateParams(arguments, [{name: "value", type: String}]); + if (e) throw e; + throw Error.invalidOperation(Sys.Res.cantSetId); + } + function Sys$UI$Control$get_parent() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (this._parent) return this._parent; + if (!this._element) return null; + + var parentElement = this._element.parentNode; + while (parentElement) { + if (parentElement.control) { + return parentElement.control; + } + parentElement = parentElement.parentNode; + } + return null; + } + function Sys$UI$Control$set_parent(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Sys.UI.Control}]); + if (e) throw e; + if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); + var parents = [this]; + var current = value; + while (current) { + if (Array.contains(parents, current)) throw Error.invalidOperation(Sys.Res.circularParentChain); + parents[parents.length] = current; + current = current.get_parent(); + } + this._parent = value; + } + function Sys$UI$Control$get_role() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return null; + } + function Sys$UI$Control$get_visibilityMode() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); + return Sys.UI.DomElement.getVisibilityMode(this._element); + } + function Sys$UI$Control$set_visibilityMode(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Sys.UI.VisibilityMode}]); + if (e) throw e; + if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); + Sys.UI.DomElement.setVisibilityMode(this._element, value); + } + function Sys$UI$Control$get_visible() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); + return Sys.UI.DomElement.getVisible(this._element); + } + function Sys$UI$Control$set_visible(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]); + if (e) throw e; + if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); + Sys.UI.DomElement.setVisible(this._element, value) + } + function Sys$UI$Control$addCssClass(className) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "className", type: String} + ]); + if (e) throw e; + if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); + Sys.UI.DomElement.addCssClass(this._element, className); + } + function Sys$UI$Control$dispose() { + Sys.UI.Control.callBaseMethod(this, 'dispose'); + if (this._element) { + this._element.control = null; + delete this._element; + } + if (this._parent) delete this._parent; + } + function Sys$UI$Control$onBubbleEvent(source, args) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "source"}, + {name: "args", type: Sys.EventArgs} + ]); + if (e) throw e; + return false; + } + function Sys$UI$Control$raiseBubbleEvent(source, args) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "source"}, + {name: "args", type: Sys.EventArgs} + ]); + if (e) throw e; + this._raiseBubbleEvent(source, args); + } + function Sys$UI$Control$_raiseBubbleEvent(source, args) { + var currentTarget = this.get_parent(); + while (currentTarget) { + if (currentTarget.onBubbleEvent(source, args)) { + return; + } + currentTarget = currentTarget.get_parent(); + } + } + function Sys$UI$Control$removeCssClass(className) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "className", type: String} + ]); + if (e) throw e; + if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); + Sys.UI.DomElement.removeCssClass(this._element, className); + } + function Sys$UI$Control$toggleCssClass(className) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "className", type: String} + ]); + if (e) throw e; + if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); + Sys.UI.DomElement.toggleCssClass(this._element, className); + } +Sys.UI.Control.prototype = { + _parent: null, + _visibilityMode: Sys.UI.VisibilityMode.hide, + get_element: Sys$UI$Control$get_element, + get_id: Sys$UI$Control$get_id, + set_id: Sys$UI$Control$set_id, + get_parent: Sys$UI$Control$get_parent, + set_parent: Sys$UI$Control$set_parent, + get_role: Sys$UI$Control$get_role, + get_visibilityMode: Sys$UI$Control$get_visibilityMode, + set_visibilityMode: Sys$UI$Control$set_visibilityMode, + get_visible: Sys$UI$Control$get_visible, + set_visible: Sys$UI$Control$set_visible, + addCssClass: Sys$UI$Control$addCssClass, + dispose: Sys$UI$Control$dispose, + onBubbleEvent: Sys$UI$Control$onBubbleEvent, + raiseBubbleEvent: Sys$UI$Control$raiseBubbleEvent, + _raiseBubbleEvent: Sys$UI$Control$_raiseBubbleEvent, + removeCssClass: Sys$UI$Control$removeCssClass, + toggleCssClass: Sys$UI$Control$toggleCssClass +} +Sys.UI.Control.registerClass('Sys.UI.Control', Sys.Component); +Sys.HistoryEventArgs = function Sys$HistoryEventArgs(state) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "state", type: Object} + ]); + if (e) throw e; + Sys.HistoryEventArgs.initializeBase(this); + this._state = state; +} + function Sys$HistoryEventArgs$get_state() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._state; + } +Sys.HistoryEventArgs.prototype = { + get_state: Sys$HistoryEventArgs$get_state +} +Sys.HistoryEventArgs.registerClass('Sys.HistoryEventArgs', Sys.EventArgs); +Sys.Application._appLoadHandler = null; +Sys.Application._beginRequestHandler = null; +Sys.Application._clientId = null; +Sys.Application._currentEntry = ''; +Sys.Application._endRequestHandler = null; +Sys.Application._history = null; +Sys.Application._enableHistory = false; +Sys.Application._historyEnabledInScriptManager = false; +Sys.Application._historyFrame = null; +Sys.Application._historyInitialized = false; +Sys.Application._historyPointIsNew = false; +Sys.Application._ignoreTimer = false; +Sys.Application._initialState = null; +Sys.Application._state = {}; +Sys.Application._timerCookie = 0; +Sys.Application._timerHandler = null; +Sys.Application._uniqueId = null; +Sys._Application.prototype.get_stateString = function Sys$_Application$get_stateString() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + var hash = null; + + if (Sys.Browser.agent === Sys.Browser.Firefox) { + var href = window.location.href; + var hashIndex = href.indexOf('#'); + if (hashIndex !== -1) { + hash = href.substring(hashIndex + 1); + } + else { + hash = ""; + } + return hash; + } + else { + hash = window.location.hash; + } + + if ((hash.length > 0) && (hash.charAt(0) === '#')) { + hash = hash.substring(1); + } + return hash; +}; +Sys._Application.prototype.get_enableHistory = function Sys$_Application$get_enableHistory() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._enableHistory; +}; +Sys._Application.prototype.set_enableHistory = function Sys$_Application$set_enableHistory(value) { + if (this._initialized && !this._initializing) { + throw Error.invalidOperation(Sys.Res.historyCannotEnableHistory); + } + else if (this._historyEnabledInScriptManager && !value) { + throw Error.invalidOperation(Sys.Res.invalidHistorySettingCombination); + } + this._enableHistory = value; +}; +Sys._Application.prototype.add_navigate = function Sys$_Application$add_navigate(handler) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "handler", type: Function} + ]); + if (e) throw e; + this.get_events().addHandler("navigate", handler); +}; +Sys._Application.prototype.remove_navigate = function Sys$_Application$remove_navigate(handler) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "handler", type: Function} + ]); + if (e) throw e; + this.get_events().removeHandler("navigate", handler); +}; +Sys._Application.prototype.addHistoryPoint = function Sys$_Application$addHistoryPoint(state, title) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "state", type: Object}, + {name: "title", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + if (!this._enableHistory) throw Error.invalidOperation(Sys.Res.historyCannotAddHistoryPointWithHistoryDisabled); + for (var n in state) { + var v = state[n]; + var t = typeof(v); + if ((v !== null) && ((t === 'object') || (t === 'function') || (t === 'undefined'))) { + throw Error.argument('state', Sys.Res.stateMustBeStringDictionary); + } + } + this._ensureHistory(); + var initialState = this._state; + for (var key in state) { + var value = state[key]; + if (value === null) { + if (typeof(initialState[key]) !== 'undefined') { + delete initialState[key]; + } + } + else { + initialState[key] = value; + } + } + var entry = this._serializeState(initialState); + this._historyPointIsNew = true; + this._setState(entry, title); + this._raiseNavigate(); +}; +Sys._Application.prototype.setServerId = function Sys$_Application$setServerId(clientId, uniqueId) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "clientId", type: String}, + {name: "uniqueId", type: String} + ]); + if (e) throw e; + this._clientId = clientId; + this._uniqueId = uniqueId; +}; +Sys._Application.prototype.setServerState = function Sys$_Application$setServerState(value) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "value", type: String} + ]); + if (e) throw e; + this._ensureHistory(); + this._state.__s = value; + this._updateHiddenField(value); +}; +Sys._Application.prototype._deserializeState = function Sys$_Application$_deserializeState(entry) { + var result = {}; + entry = entry || ''; + var serverSeparator = entry.indexOf('&&'); + if ((serverSeparator !== -1) && (serverSeparator + 2 < entry.length)) { + result.__s = entry.substr(serverSeparator + 2); + entry = entry.substr(0, serverSeparator); + } + var tokens = entry.split('&'); + for (var i = 0, l = tokens.length; i < l; i++) { + var token = tokens[i]; + var equal = token.indexOf('='); + if ((equal !== -1) && (equal + 1 < token.length)) { + var name = token.substr(0, equal); + var value = token.substr(equal + 1); + result[name] = decodeURIComponent(value); + } + } + return result; +}; +Sys._Application.prototype._enableHistoryInScriptManager = function Sys$_Application$_enableHistoryInScriptManager() { + this._enableHistory = true; + this._historyEnabledInScriptManager = true; +}; +Sys._Application.prototype._ensureHistory = function Sys$_Application$_ensureHistory() { + if (!this._historyInitialized && this._enableHistory) { + if ((Sys.Browser.agent === Sys.Browser.InternetExplorer) && (Sys.Browser.documentMode < 8)) { + this._historyFrame = document.getElementById('__historyFrame'); + if (!this._historyFrame) throw Error.invalidOperation(Sys.Res.historyMissingFrame); + this._ignoreIFrame = true; + } + this._timerHandler = Function.createDelegate(this, this._onIdle); + this._timerCookie = window.setTimeout(this._timerHandler, 100); + + try { + this._initialState = this._deserializeState(this.get_stateString()); + } catch(e) {} + + this._historyInitialized = true; + } +}; +Sys._Application.prototype._navigate = function Sys$_Application$_navigate(entry) { + this._ensureHistory(); + var state = this._deserializeState(entry); + + if (this._uniqueId) { + var oldServerEntry = this._state.__s || ''; + var newServerEntry = state.__s || ''; + if (newServerEntry !== oldServerEntry) { + this._updateHiddenField(newServerEntry); + __doPostBack(this._uniqueId, newServerEntry); + this._state = state; + return; + } + } + this._setState(entry); + this._state = state; + this._raiseNavigate(); +}; +Sys._Application.prototype._onIdle = function Sys$_Application$_onIdle() { + delete this._timerCookie; + + var entry = this.get_stateString(); + if (entry !== this._currentEntry) { + if (!this._ignoreTimer) { + this._historyPointIsNew = false; + this._navigate(entry); + } + } + else { + this._ignoreTimer = false; + } + this._timerCookie = window.setTimeout(this._timerHandler, 100); +}; +Sys._Application.prototype._onIFrameLoad = function Sys$_Application$_onIFrameLoad(entry) { + this._ensureHistory(); + if (!this._ignoreIFrame) { + this._historyPointIsNew = false; + this._navigate(entry); + } + this._ignoreIFrame = false; +}; +Sys._Application.prototype._onPageRequestManagerBeginRequest = function Sys$_Application$_onPageRequestManagerBeginRequest(sender, args) { + this._ignoreTimer = true; +}; +Sys._Application.prototype._onPageRequestManagerEndRequest = function Sys$_Application$_onPageRequestManagerEndRequest(sender, args) { + var dataItem = args.get_dataItems()[this._clientId]; + var eventTarget = document.getElementById("__EVENTTARGET"); + if (eventTarget && eventTarget.value === this._uniqueId) { + eventTarget.value = ''; + } + if (typeof(dataItem) !== 'undefined') { + this.setServerState(dataItem); + this._historyPointIsNew = true; + } + else { + this._ignoreTimer = false; + } + var entry = this._serializeState(this._state); + if (entry !== this._currentEntry) { + this._ignoreTimer = true; + this._setState(entry); + this._raiseNavigate(); + } +}; +Sys._Application.prototype._raiseNavigate = function Sys$_Application$_raiseNavigate() { + var h = this.get_events().getHandler("navigate"); + var stateClone = {}; + for (var key in this._state) { + if (key !== '__s') { + stateClone[key] = this._state[key]; + } + } + var args = new Sys.HistoryEventArgs(stateClone); + if (h) { + h(this, args); + } + var err; + try { + if ((Sys.Browser.agent === Sys.Browser.Firefox) && window.location.hash && + (!window.frameElement || window.top.location.hash)) { + window.history.go(0); + } + } + catch(err) { + } +}; +Sys._Application.prototype._serializeState = function Sys$_Application$_serializeState(state) { + var serialized = []; + for (var key in state) { + var value = state[key]; + if (key === '__s') { + var serverState = value; + } + else { + if (key.indexOf('=') !== -1) throw Error.argument('state', Sys.Res.stateFieldNameInvalid); + serialized[serialized.length] = key + '=' + encodeURIComponent(value); + } + } + return serialized.join('&') + (serverState ? '&&' + serverState : ''); +}; +Sys._Application.prototype._setState = function Sys$_Application$_setState(entry, title) { + if (this._enableHistory) { + entry = entry || ''; + if (entry !== this._currentEntry) { + if (window.theForm) { + var action = window.theForm.action; + var hashIndex = action.indexOf('#'); + window.theForm.action = ((hashIndex !== -1) ? action.substring(0, hashIndex) : action) + '#' + entry; + } + + if (this._historyFrame && this._historyPointIsNew) { + this._ignoreIFrame = true; + var frameDoc = this._historyFrame.contentWindow.document; + frameDoc.open("javascript:''"); + frameDoc.write("" + (title || document.title) + + "parent.Sys.Application._onIFrameLoad(" + + Sys.Serialization.JavaScriptSerializer.serialize(entry) + + ");"); + frameDoc.close(); + } + this._ignoreTimer = false; + this._currentEntry = entry; + if (this._historyFrame || this._historyPointIsNew) { + var currentHash = this.get_stateString(); + if (entry !== currentHash) { + var loc = document.location; + if (loc.href.length - loc.hash.length + entry.length > 1024) { + throw Error.invalidOperation(Sys.Res.urlMustBeLessThan1024chars); + } + window.location.hash = entry; + this._currentEntry = this.get_stateString(); + if ((typeof(title) !== 'undefined') && (title !== null)) { + document.title = title; + } + } + } + this._historyPointIsNew = false; + } + } +}; +Sys._Application.prototype._updateHiddenField = function Sys$_Application$_updateHiddenField(value) { + if (this._clientId) { + var serverStateField = document.getElementById(this._clientId); + if (serverStateField) { + serverStateField.value = value; + } + } +}; + +if (!window.XMLHttpRequest) { + window.XMLHttpRequest = function window$XMLHttpRequest() { + var progIDs = [ 'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP' ]; + for (var i = 0, l = progIDs.length; i < l; i++) { + try { + return new ActiveXObject(progIDs[i]); + } + catch (ex) { + } + } + return null; + } +} +Type.registerNamespace('Sys.Net'); + +Sys.Net.WebRequestExecutor = function Sys$Net$WebRequestExecutor() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + this._webRequest = null; + this._resultObject = null; +} + function Sys$Net$WebRequestExecutor$get_webRequest() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._webRequest; + } + function Sys$Net$WebRequestExecutor$_set_webRequest(value) { + if (this.get_started()) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, 'set_webRequest')); + } + this._webRequest = value; + } + function Sys$Net$WebRequestExecutor$get_started() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$get_responseAvailable() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$get_timedOut() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$get_aborted() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$get_responseData() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$get_statusCode() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$get_statusText() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$get_xml() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$get_object() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._resultObject) { + this._resultObject = Sys.Serialization.JavaScriptSerializer.deserialize(this.get_responseData()); + } + return this._resultObject; + } + function Sys$Net$WebRequestExecutor$executeRequest() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$abort() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$getResponseHeader(header) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "header", type: String} + ]); + if (e) throw e; + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$getAllResponseHeaders() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } +Sys.Net.WebRequestExecutor.prototype = { + get_webRequest: Sys$Net$WebRequestExecutor$get_webRequest, + _set_webRequest: Sys$Net$WebRequestExecutor$_set_webRequest, + get_started: Sys$Net$WebRequestExecutor$get_started, + get_responseAvailable: Sys$Net$WebRequestExecutor$get_responseAvailable, + get_timedOut: Sys$Net$WebRequestExecutor$get_timedOut, + get_aborted: Sys$Net$WebRequestExecutor$get_aborted, + get_responseData: Sys$Net$WebRequestExecutor$get_responseData, + get_statusCode: Sys$Net$WebRequestExecutor$get_statusCode, + get_statusText: Sys$Net$WebRequestExecutor$get_statusText, + get_xml: Sys$Net$WebRequestExecutor$get_xml, + get_object: Sys$Net$WebRequestExecutor$get_object, + executeRequest: Sys$Net$WebRequestExecutor$executeRequest, + abort: Sys$Net$WebRequestExecutor$abort, + getResponseHeader: Sys$Net$WebRequestExecutor$getResponseHeader, + getAllResponseHeaders: Sys$Net$WebRequestExecutor$getAllResponseHeaders +} +Sys.Net.WebRequestExecutor.registerClass('Sys.Net.WebRequestExecutor'); + +Sys.Net.XMLDOM = function Sys$Net$XMLDOM(markup) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "markup", type: String} + ]); + if (e) throw e; + if (!window.DOMParser) { + var progIDs = [ 'Msxml2.DOMDocument.3.0', 'Msxml2.DOMDocument' ]; + for (var i = 0, l = progIDs.length; i < l; i++) { + try { + var xmlDOM = new ActiveXObject(progIDs[i]); + xmlDOM.async = false; + xmlDOM.loadXML(markup); + xmlDOM.setProperty('SelectionLanguage', 'XPath'); + return xmlDOM; + } + catch (ex) { + } + } + } + else { + try { + var domParser = new window.DOMParser(); + return domParser.parseFromString(markup, 'text/xml'); + } + catch (ex) { + } + } + return null; +} +Sys.Net.XMLHttpExecutor = function Sys$Net$XMLHttpExecutor() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + Sys.Net.XMLHttpExecutor.initializeBase(this); + var _this = this; + this._xmlHttpRequest = null; + this._webRequest = null; + this._responseAvailable = false; + this._timedOut = false; + this._timer = null; + this._aborted = false; + this._started = false; + this._onReadyStateChange = (function () { + + if (_this._xmlHttpRequest.readyState === 4 ) { + try { + if (typeof(_this._xmlHttpRequest.status) === "undefined") { + return; + } + } + catch(ex) { + return; + } + + _this._clearTimer(); + _this._responseAvailable = true; + _this._webRequest.completed(Sys.EventArgs.Empty); + if (_this._xmlHttpRequest != null) { + _this._xmlHttpRequest.onreadystatechange = Function.emptyMethod; + _this._xmlHttpRequest = null; + } + } + }); + this._clearTimer = (function() { + if (_this._timer != null) { + window.clearTimeout(_this._timer); + _this._timer = null; + } + }); + this._onTimeout = (function() { + if (!_this._responseAvailable) { + _this._clearTimer(); + _this._timedOut = true; + _this._xmlHttpRequest.onreadystatechange = Function.emptyMethod; + _this._xmlHttpRequest.abort(); + _this._webRequest.completed(Sys.EventArgs.Empty); + _this._xmlHttpRequest = null; + } + }); +} + function Sys$Net$XMLHttpExecutor$get_timedOut() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._timedOut; + } + function Sys$Net$XMLHttpExecutor$get_started() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._started; + } + function Sys$Net$XMLHttpExecutor$get_responseAvailable() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._responseAvailable; + } + function Sys$Net$XMLHttpExecutor$get_aborted() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._aborted; + } + function Sys$Net$XMLHttpExecutor$executeRequest() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + this._webRequest = this.get_webRequest(); + if (this._started) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, 'executeRequest')); + } + if (this._webRequest === null) { + throw Error.invalidOperation(Sys.Res.nullWebRequest); + } + var body = this._webRequest.get_body(); + var headers = this._webRequest.get_headers(); + this._xmlHttpRequest = new XMLHttpRequest(); + this._xmlHttpRequest.onreadystatechange = this._onReadyStateChange; + var verb = this._webRequest.get_httpVerb(); + this._xmlHttpRequest.open(verb, this._webRequest.getResolvedUrl(), true ); + this._xmlHttpRequest.setRequestHeader("X-Requested-With", "XMLHttpRequest"); + if (headers) { + for (var header in headers) { + var val = headers[header]; + if (typeof(val) !== "function") + this._xmlHttpRequest.setRequestHeader(header, val); + } + } + if (verb.toLowerCase() === "post") { + if ((headers === null) || !headers['Content-Type']) { + this._xmlHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8'); + } + if (!body) { + body = ""; + } + } + var timeout = this._webRequest.get_timeout(); + if (timeout > 0) { + this._timer = window.setTimeout(Function.createDelegate(this, this._onTimeout), timeout); + } + this._xmlHttpRequest.send(body); + this._started = true; + } + function Sys$Net$XMLHttpExecutor$getResponseHeader(header) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "header", type: String} + ]); + if (e) throw e; + if (!this._responseAvailable) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'getResponseHeader')); + } + if (!this._xmlHttpRequest) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'getResponseHeader')); + } + var result; + try { + result = this._xmlHttpRequest.getResponseHeader(header); + } catch (e) { + } + if (!result) result = ""; + return result; + } + function Sys$Net$XMLHttpExecutor$getAllResponseHeaders() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._responseAvailable) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'getAllResponseHeaders')); + } + if (!this._xmlHttpRequest) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'getAllResponseHeaders')); + } + return this._xmlHttpRequest.getAllResponseHeaders(); + } + function Sys$Net$XMLHttpExecutor$get_responseData() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._responseAvailable) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_responseData')); + } + if (!this._xmlHttpRequest) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_responseData')); + } + return this._xmlHttpRequest.responseText; + } + function Sys$Net$XMLHttpExecutor$get_statusCode() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._responseAvailable) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_statusCode')); + } + if (!this._xmlHttpRequest) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_statusCode')); + } + var result = 0; + try { + result = this._xmlHttpRequest.status; + } + catch(ex) { + } + return result; + } + function Sys$Net$XMLHttpExecutor$get_statusText() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._responseAvailable) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_statusText')); + } + if (!this._xmlHttpRequest) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_statusText')); + } + return this._xmlHttpRequest.statusText; + } + function Sys$Net$XMLHttpExecutor$get_xml() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._responseAvailable) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_xml')); + } + if (!this._xmlHttpRequest) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_xml')); + } + var xml = this._xmlHttpRequest.responseXML; + if (!xml || !xml.documentElement) { + xml = Sys.Net.XMLDOM(this._xmlHttpRequest.responseText); + if (!xml || !xml.documentElement) + return null; + } + else if (navigator.userAgent.indexOf('MSIE') !== -1) { + xml.setProperty('SelectionLanguage', 'XPath'); + } + if (xml.documentElement.namespaceURI === "http://www.mozilla.org/newlayout/xml/parsererror.xml" && + xml.documentElement.tagName === "parsererror") { + return null; + } + + if (xml.documentElement.firstChild && xml.documentElement.firstChild.tagName === "parsererror") { + return null; + } + + return xml; + } + function Sys$Net$XMLHttpExecutor$abort() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._started) { + throw Error.invalidOperation(Sys.Res.cannotAbortBeforeStart); + } + if (this._aborted || this._responseAvailable || this._timedOut) + return; + this._aborted = true; + this._clearTimer(); + if (this._xmlHttpRequest && !this._responseAvailable) { + this._xmlHttpRequest.onreadystatechange = Function.emptyMethod; + this._xmlHttpRequest.abort(); + + this._xmlHttpRequest = null; + this._webRequest.completed(Sys.EventArgs.Empty); + } + } +Sys.Net.XMLHttpExecutor.prototype = { + get_timedOut: Sys$Net$XMLHttpExecutor$get_timedOut, + get_started: Sys$Net$XMLHttpExecutor$get_started, + get_responseAvailable: Sys$Net$XMLHttpExecutor$get_responseAvailable, + get_aborted: Sys$Net$XMLHttpExecutor$get_aborted, + executeRequest: Sys$Net$XMLHttpExecutor$executeRequest, + getResponseHeader: Sys$Net$XMLHttpExecutor$getResponseHeader, + getAllResponseHeaders: Sys$Net$XMLHttpExecutor$getAllResponseHeaders, + get_responseData: Sys$Net$XMLHttpExecutor$get_responseData, + get_statusCode: Sys$Net$XMLHttpExecutor$get_statusCode, + get_statusText: Sys$Net$XMLHttpExecutor$get_statusText, + get_xml: Sys$Net$XMLHttpExecutor$get_xml, + abort: Sys$Net$XMLHttpExecutor$abort +} +Sys.Net.XMLHttpExecutor.registerClass('Sys.Net.XMLHttpExecutor', Sys.Net.WebRequestExecutor); + +Sys.Net._WebRequestManager = function Sys$Net$_WebRequestManager() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + this._defaultTimeout = 0; + this._defaultExecutorType = "Sys.Net.XMLHttpExecutor"; +} + function Sys$Net$_WebRequestManager$add_invokingRequest(handler) { + /// + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this._get_eventHandlerList().addHandler("invokingRequest", handler); + } + function Sys$Net$_WebRequestManager$remove_invokingRequest(handler) { + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this._get_eventHandlerList().removeHandler("invokingRequest", handler); + } + function Sys$Net$_WebRequestManager$add_completedRequest(handler) { + /// + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this._get_eventHandlerList().addHandler("completedRequest", handler); + } + function Sys$Net$_WebRequestManager$remove_completedRequest(handler) { + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this._get_eventHandlerList().removeHandler("completedRequest", handler); + } + function Sys$Net$_WebRequestManager$_get_eventHandlerList() { + if (!this._events) { + this._events = new Sys.EventHandlerList(); + } + return this._events; + } + function Sys$Net$_WebRequestManager$get_defaultTimeout() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._defaultTimeout; + } + function Sys$Net$_WebRequestManager$set_defaultTimeout(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Number}]); + if (e) throw e; + if (value < 0) { + throw Error.argumentOutOfRange("value", value, Sys.Res.invalidTimeout); + } + this._defaultTimeout = value; + } + function Sys$Net$_WebRequestManager$get_defaultExecutorType() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._defaultExecutorType; + } + function Sys$Net$_WebRequestManager$set_defaultExecutorType(value) { + var e = Function._validateParams(arguments, [{name: "value", type: String}]); + if (e) throw e; + this._defaultExecutorType = value; + } + function Sys$Net$_WebRequestManager$executeRequest(webRequest) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "webRequest", type: Sys.Net.WebRequest} + ]); + if (e) throw e; + var executor = webRequest.get_executor(); + if (!executor) { + var failed = false; + try { + var executorType = eval(this._defaultExecutorType); + executor = new executorType(); + } catch (e) { + failed = true; + } + if (failed || !Sys.Net.WebRequestExecutor.isInstanceOfType(executor) || !executor) { + throw Error.argument("defaultExecutorType", String.format(Sys.Res.invalidExecutorType, this._defaultExecutorType)); + } + webRequest.set_executor(executor); + } + if (executor.get_aborted()) { + return; + } + var evArgs = new Sys.Net.NetworkRequestEventArgs(webRequest); + var handler = this._get_eventHandlerList().getHandler("invokingRequest"); + if (handler) { + handler(this, evArgs); + } + if (!evArgs.get_cancel()) { + executor.executeRequest(); + } + } +Sys.Net._WebRequestManager.prototype = { + add_invokingRequest: Sys$Net$_WebRequestManager$add_invokingRequest, + remove_invokingRequest: Sys$Net$_WebRequestManager$remove_invokingRequest, + add_completedRequest: Sys$Net$_WebRequestManager$add_completedRequest, + remove_completedRequest: Sys$Net$_WebRequestManager$remove_completedRequest, + _get_eventHandlerList: Sys$Net$_WebRequestManager$_get_eventHandlerList, + get_defaultTimeout: Sys$Net$_WebRequestManager$get_defaultTimeout, + set_defaultTimeout: Sys$Net$_WebRequestManager$set_defaultTimeout, + get_defaultExecutorType: Sys$Net$_WebRequestManager$get_defaultExecutorType, + set_defaultExecutorType: Sys$Net$_WebRequestManager$set_defaultExecutorType, + executeRequest: Sys$Net$_WebRequestManager$executeRequest +} +Sys.Net._WebRequestManager.registerClass('Sys.Net._WebRequestManager'); +Sys.Net.WebRequestManager = new Sys.Net._WebRequestManager(); + +Sys.Net.NetworkRequestEventArgs = function Sys$Net$NetworkRequestEventArgs(webRequest) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "webRequest", type: Sys.Net.WebRequest} + ]); + if (e) throw e; + Sys.Net.NetworkRequestEventArgs.initializeBase(this); + this._webRequest = webRequest; +} + function Sys$Net$NetworkRequestEventArgs$get_webRequest() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._webRequest; + } +Sys.Net.NetworkRequestEventArgs.prototype = { + get_webRequest: Sys$Net$NetworkRequestEventArgs$get_webRequest +} +Sys.Net.NetworkRequestEventArgs.registerClass('Sys.Net.NetworkRequestEventArgs', Sys.CancelEventArgs); + +Sys.Net.WebRequest = function Sys$Net$WebRequest() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + this._url = ""; + this._headers = { }; + this._body = null; + this._userContext = null; + this._httpVerb = null; + this._executor = null; + this._invokeCalled = false; + this._timeout = 0; +} + function Sys$Net$WebRequest$add_completed(handler) { + /// + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this._get_eventHandlerList().addHandler("completed", handler); + } + function Sys$Net$WebRequest$remove_completed(handler) { + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this._get_eventHandlerList().removeHandler("completed", handler); + } + function Sys$Net$WebRequest$completed(eventArgs) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "eventArgs", type: Sys.EventArgs} + ]); + if (e) throw e; + var handler = Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRequest"); + if (handler) { + handler(this._executor, eventArgs); + } + handler = this._get_eventHandlerList().getHandler("completed"); + if (handler) { + handler(this._executor, eventArgs); + } + } + function Sys$Net$WebRequest$_get_eventHandlerList() { + if (!this._events) { + this._events = new Sys.EventHandlerList(); + } + return this._events; + } + function Sys$Net$WebRequest$get_url() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._url; + } + function Sys$Net$WebRequest$set_url(value) { + var e = Function._validateParams(arguments, [{name: "value", type: String}]); + if (e) throw e; + this._url = value; + } + function Sys$Net$WebRequest$get_headers() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._headers; + } + function Sys$Net$WebRequest$get_httpVerb() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (this._httpVerb === null) { + if (this._body === null) { + return "GET"; + } + return "POST"; + } + return this._httpVerb; + } + function Sys$Net$WebRequest$set_httpVerb(value) { + var e = Function._validateParams(arguments, [{name: "value", type: String}]); + if (e) throw e; + if (value.length === 0) { + throw Error.argument('value', Sys.Res.invalidHttpVerb); + } + this._httpVerb = value; + } + function Sys$Net$WebRequest$get_body() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._body; + } + function Sys$Net$WebRequest$set_body(value) { + var e = Function._validateParams(arguments, [{name: "value", mayBeNull: true}]); + if (e) throw e; + this._body = value; + } + function Sys$Net$WebRequest$get_userContext() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._userContext; + } + function Sys$Net$WebRequest$set_userContext(value) { + var e = Function._validateParams(arguments, [{name: "value", mayBeNull: true}]); + if (e) throw e; + this._userContext = value; + } + function Sys$Net$WebRequest$get_executor() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._executor; + } + function Sys$Net$WebRequest$set_executor(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Sys.Net.WebRequestExecutor}]); + if (e) throw e; + if (this._executor !== null && this._executor.get_started()) { + throw Error.invalidOperation(Sys.Res.setExecutorAfterActive); + } + this._executor = value; + this._executor._set_webRequest(this); + } + function Sys$Net$WebRequest$get_timeout() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (this._timeout === 0) { + return Sys.Net.WebRequestManager.get_defaultTimeout(); + } + return this._timeout; + } + function Sys$Net$WebRequest$set_timeout(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Number}]); + if (e) throw e; + if (value < 0) { + throw Error.argumentOutOfRange("value", value, Sys.Res.invalidTimeout); + } + this._timeout = value; + } + function Sys$Net$WebRequest$getResolvedUrl() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return Sys.Net.WebRequest._resolveUrl(this._url); + } + function Sys$Net$WebRequest$invoke() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (this._invokeCalled) { + throw Error.invalidOperation(Sys.Res.invokeCalledTwice); + } + Sys.Net.WebRequestManager.executeRequest(this); + this._invokeCalled = true; + } +Sys.Net.WebRequest.prototype = { + add_completed: Sys$Net$WebRequest$add_completed, + remove_completed: Sys$Net$WebRequest$remove_completed, + completed: Sys$Net$WebRequest$completed, + _get_eventHandlerList: Sys$Net$WebRequest$_get_eventHandlerList, + get_url: Sys$Net$WebRequest$get_url, + set_url: Sys$Net$WebRequest$set_url, + get_headers: Sys$Net$WebRequest$get_headers, + get_httpVerb: Sys$Net$WebRequest$get_httpVerb, + set_httpVerb: Sys$Net$WebRequest$set_httpVerb, + get_body: Sys$Net$WebRequest$get_body, + set_body: Sys$Net$WebRequest$set_body, + get_userContext: Sys$Net$WebRequest$get_userContext, + set_userContext: Sys$Net$WebRequest$set_userContext, + get_executor: Sys$Net$WebRequest$get_executor, + set_executor: Sys$Net$WebRequest$set_executor, + get_timeout: Sys$Net$WebRequest$get_timeout, + set_timeout: Sys$Net$WebRequest$set_timeout, + getResolvedUrl: Sys$Net$WebRequest$getResolvedUrl, + invoke: Sys$Net$WebRequest$invoke +} +Sys.Net.WebRequest._resolveUrl = function Sys$Net$WebRequest$_resolveUrl(url, baseUrl) { + if (url && url.indexOf('://') !== -1) { + return url; + } + if (!baseUrl || baseUrl.length === 0) { + var baseElement = document.getElementsByTagName('base')[0]; + if (baseElement && baseElement.href && baseElement.href.length > 0) { + baseUrl = baseElement.href; + } + else { + baseUrl = document.URL; + } + } + var qsStart = baseUrl.indexOf('?'); + if (qsStart !== -1) { + baseUrl = baseUrl.substr(0, qsStart); + } + qsStart = baseUrl.indexOf('#'); + if (qsStart !== -1) { + baseUrl = baseUrl.substr(0, qsStart); + } + baseUrl = baseUrl.substr(0, baseUrl.lastIndexOf('/') + 1); + if (!url || url.length === 0) { + return baseUrl; + } + if (url.charAt(0) === '/') { + var slashslash = baseUrl.indexOf('://'); + if (slashslash === -1) { + throw Error.argument("baseUrl", Sys.Res.badBaseUrl1); + } + var nextSlash = baseUrl.indexOf('/', slashslash + 3); + if (nextSlash === -1) { + throw Error.argument("baseUrl", Sys.Res.badBaseUrl2); + } + return baseUrl.substr(0, nextSlash) + url; + } + else { + var lastSlash = baseUrl.lastIndexOf('/'); + if (lastSlash === -1) { + throw Error.argument("baseUrl", Sys.Res.badBaseUrl3); + } + return baseUrl.substr(0, lastSlash+1) + url; + } +} +Sys.Net.WebRequest._createQueryString = function Sys$Net$WebRequest$_createQueryString(queryString, encodeMethod, addParams) { + encodeMethod = encodeMethod || encodeURIComponent; + var i = 0, obj, val, arg, sb = new Sys.StringBuilder(); + if (queryString) { + for (arg in queryString) { + obj = queryString[arg]; + if (typeof(obj) === "function") continue; + val = Sys.Serialization.JavaScriptSerializer.serialize(obj); + if (i++) { + sb.append('&'); + } + sb.append(arg); + sb.append('='); + sb.append(encodeMethod(val)); + } + } + if (addParams) { + if (i) { + sb.append('&'); + } + sb.append(addParams); + } + return sb.toString(); +} +Sys.Net.WebRequest._createUrl = function Sys$Net$WebRequest$_createUrl(url, queryString, addParams) { + if (!queryString && !addParams) { + return url; + } + var qs = Sys.Net.WebRequest._createQueryString(queryString, null, addParams); + return qs.length + ? url + ((url && url.indexOf('?') >= 0) ? "&" : "?") + qs + : url; +} +Sys.Net.WebRequest.registerClass('Sys.Net.WebRequest'); + +Sys._ScriptLoaderTask = function Sys$_ScriptLoaderTask(scriptElement, completedCallback) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "scriptElement", domElement: true}, + {name: "completedCallback", type: Function} + ]); + if (e) throw e; + this._scriptElement = scriptElement; + this._completedCallback = completedCallback; +} + function Sys$_ScriptLoaderTask$get_scriptElement() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._scriptElement; + } + function Sys$_ScriptLoaderTask$dispose() { + if(this._disposed) { + return; + } + this._disposed = true; + this._removeScriptElementHandlers(); + Sys._ScriptLoaderTask._clearScript(this._scriptElement); + this._scriptElement = null; + } + function Sys$_ScriptLoaderTask$execute() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + this._addScriptElementHandlers(); + var headElements = document.getElementsByTagName('head'); + if (headElements.length === 0) { + throw new Error.invalidOperation(Sys.Res.scriptLoadFailedNoHead); + } + else { + headElements[0].appendChild(this._scriptElement); + } + } + function Sys$_ScriptLoaderTask$_addScriptElementHandlers() { + this._scriptLoadDelegate = Function.createDelegate(this, this._scriptLoadHandler); + + if (Sys.Browser.agent !== Sys.Browser.InternetExplorer) { + this._scriptElement.readyState = 'loaded'; + $addHandler(this._scriptElement, 'load', this._scriptLoadDelegate); + } + else { + $addHandler(this._scriptElement, 'readystatechange', this._scriptLoadDelegate); + } + if (this._scriptElement.addEventListener) { + this._scriptErrorDelegate = Function.createDelegate(this, this._scriptErrorHandler); + this._scriptElement.addEventListener('error', this._scriptErrorDelegate, false); + } + } + function Sys$_ScriptLoaderTask$_removeScriptElementHandlers() { + if(this._scriptLoadDelegate) { + var scriptElement = this.get_scriptElement(); + if (Sys.Browser.agent !== Sys.Browser.InternetExplorer) { + $removeHandler(scriptElement, 'load', this._scriptLoadDelegate); + } + else { + $removeHandler(scriptElement, 'readystatechange', this._scriptLoadDelegate); + } + if (this._scriptErrorDelegate) { + this._scriptElement.removeEventListener('error', this._scriptErrorDelegate, false); + this._scriptErrorDelegate = null; + } + this._scriptLoadDelegate = null; + } + } + function Sys$_ScriptLoaderTask$_scriptErrorHandler() { + if(this._disposed) { + return; + } + + this._completedCallback(this.get_scriptElement(), false); + } + function Sys$_ScriptLoaderTask$_scriptLoadHandler() { + if(this._disposed) { + return; + } + var scriptElement = this.get_scriptElement(); + if ((scriptElement.readyState !== 'loaded') && + (scriptElement.readyState !== 'complete')) { + return; + } + + this._completedCallback(scriptElement, true); + } +Sys._ScriptLoaderTask.prototype = { + get_scriptElement: Sys$_ScriptLoaderTask$get_scriptElement, + dispose: Sys$_ScriptLoaderTask$dispose, + execute: Sys$_ScriptLoaderTask$execute, + _addScriptElementHandlers: Sys$_ScriptLoaderTask$_addScriptElementHandlers, + _removeScriptElementHandlers: Sys$_ScriptLoaderTask$_removeScriptElementHandlers, + _scriptErrorHandler: Sys$_ScriptLoaderTask$_scriptErrorHandler, + _scriptLoadHandler: Sys$_ScriptLoaderTask$_scriptLoadHandler +} +Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask", null, Sys.IDisposable); +Sys._ScriptLoaderTask._clearScript = function Sys$_ScriptLoaderTask$_clearScript(scriptElement) { + if (!Sys.Debug.isDebug) { + scriptElement.parentNode.removeChild(scriptElement); + } +} +Type.registerNamespace('Sys.Net'); + +Sys.Net.WebServiceProxy = function Sys$Net$WebServiceProxy() { +} + function Sys$Net$WebServiceProxy$get_timeout() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._timeout || 0; + } + function Sys$Net$WebServiceProxy$set_timeout(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Number}]); + if (e) throw e; + if (value < 0) { throw Error.argumentOutOfRange('value', value, Sys.Res.invalidTimeout); } + this._timeout = value; + } + function Sys$Net$WebServiceProxy$get_defaultUserContext() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return (typeof(this._userContext) === "undefined") ? null : this._userContext; + } + function Sys$Net$WebServiceProxy$set_defaultUserContext(value) { + var e = Function._validateParams(arguments, [{name: "value", mayBeNull: true}]); + if (e) throw e; + this._userContext = value; + } + function Sys$Net$WebServiceProxy$get_defaultSucceededCallback() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._succeeded || null; + } + function Sys$Net$WebServiceProxy$set_defaultSucceededCallback(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]); + if (e) throw e; + this._succeeded = value; + } + function Sys$Net$WebServiceProxy$get_defaultFailedCallback() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._failed || null; + } + function Sys$Net$WebServiceProxy$set_defaultFailedCallback(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]); + if (e) throw e; + this._failed = value; + } + function Sys$Net$WebServiceProxy$get_enableJsonp() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return !!this._jsonp; + } + function Sys$Net$WebServiceProxy$set_enableJsonp(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]); + if (e) throw e; + this._jsonp = value; + } + function Sys$Net$WebServiceProxy$get_path() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._path || null; + } + function Sys$Net$WebServiceProxy$set_path(value) { + var e = Function._validateParams(arguments, [{name: "value", type: String}]); + if (e) throw e; + this._path = value; + } + function Sys$Net$WebServiceProxy$get_jsonpCallbackParameter() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._callbackParameter || "callback"; + } + function Sys$Net$WebServiceProxy$set_jsonpCallbackParameter(value) { + var e = Function._validateParams(arguments, [{name: "value", type: String}]); + if (e) throw e; + this._callbackParameter = value; + } + function Sys$Net$WebServiceProxy$_invoke(servicePath, methodName, useGet, params, onSuccess, onFailure, userContext) { + /// + /// + /// + /// + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "servicePath", type: String}, + {name: "methodName", type: String}, + {name: "useGet", type: Boolean}, + {name: "params"}, + {name: "onSuccess", type: Function, mayBeNull: true, optional: true}, + {name: "onFailure", type: Function, mayBeNull: true, optional: true}, + {name: "userContext", mayBeNull: true, optional: true} + ]); + if (e) throw e; + onSuccess = onSuccess || this.get_defaultSucceededCallback(); + onFailure = onFailure || this.get_defaultFailedCallback(); + if (userContext === null || typeof userContext === 'undefined') userContext = this.get_defaultUserContext(); + return Sys.Net.WebServiceProxy.invoke(servicePath, methodName, useGet, params, onSuccess, onFailure, userContext, this.get_timeout(), this.get_enableJsonp(), this.get_jsonpCallbackParameter()); + } +Sys.Net.WebServiceProxy.prototype = { + get_timeout: Sys$Net$WebServiceProxy$get_timeout, + set_timeout: Sys$Net$WebServiceProxy$set_timeout, + get_defaultUserContext: Sys$Net$WebServiceProxy$get_defaultUserContext, + set_defaultUserContext: Sys$Net$WebServiceProxy$set_defaultUserContext, + get_defaultSucceededCallback: Sys$Net$WebServiceProxy$get_defaultSucceededCallback, + set_defaultSucceededCallback: Sys$Net$WebServiceProxy$set_defaultSucceededCallback, + get_defaultFailedCallback: Sys$Net$WebServiceProxy$get_defaultFailedCallback, + set_defaultFailedCallback: Sys$Net$WebServiceProxy$set_defaultFailedCallback, + get_enableJsonp: Sys$Net$WebServiceProxy$get_enableJsonp, + set_enableJsonp: Sys$Net$WebServiceProxy$set_enableJsonp, + get_path: Sys$Net$WebServiceProxy$get_path, + set_path: Sys$Net$WebServiceProxy$set_path, + get_jsonpCallbackParameter: Sys$Net$WebServiceProxy$get_jsonpCallbackParameter, + set_jsonpCallbackParameter: Sys$Net$WebServiceProxy$set_jsonpCallbackParameter, + _invoke: Sys$Net$WebServiceProxy$_invoke +} +Sys.Net.WebServiceProxy.registerClass('Sys.Net.WebServiceProxy'); +Sys.Net.WebServiceProxy.invoke = function Sys$Net$WebServiceProxy$invoke(servicePath, methodName, useGet, params, onSuccess, onFailure, userContext, timeout, enableJsonp, jsonpCallbackParameter) { + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "servicePath", type: String}, + {name: "methodName", type: String, mayBeNull: true, optional: true}, + {name: "useGet", type: Boolean, optional: true}, + {name: "params", mayBeNull: true, optional: true}, + {name: "onSuccess", type: Function, mayBeNull: true, optional: true}, + {name: "onFailure", type: Function, mayBeNull: true, optional: true}, + {name: "userContext", mayBeNull: true, optional: true}, + {name: "timeout", type: Number, optional: true}, + {name: "enableJsonp", type: Boolean, mayBeNull: true, optional: true}, + {name: "jsonpCallbackParameter", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var schemeHost = (enableJsonp !== false) ? Sys.Net.WebServiceProxy._xdomain.exec(servicePath) : null, + tempCallback, jsonp = schemeHost && (schemeHost.length === 3) && + ((schemeHost[1] !== location.protocol) || (schemeHost[2] !== location.host)); + useGet = jsonp || useGet; + if (jsonp) { + jsonpCallbackParameter = jsonpCallbackParameter || "callback"; + tempCallback = "_jsonp" + Sys._jsonp++; + } + if (!params) params = {}; + var urlParams = params; + if (!useGet || !urlParams) urlParams = {}; + var script, error, timeoutcookie = null, loader, body = null, + url = Sys.Net.WebRequest._createUrl(methodName + ? (servicePath+"/"+encodeURIComponent(methodName)) + : servicePath, urlParams, jsonp ? (jsonpCallbackParameter + "=Sys." + tempCallback) : null); + if (jsonp) { + script = document.createElement("script"); + script.src = url; + loader = new Sys._ScriptLoaderTask(script, function(script, loaded) { + if (!loaded || tempCallback) { + jsonpComplete({ Message: String.format(Sys.Res.webServiceFailedNoMsg, methodName) }, -1); + } + }); + function jsonpComplete(data, statusCode) { + if (timeoutcookie !== null) { + window.clearTimeout(timeoutcookie); + timeoutcookie = null; + } + loader.dispose(); + delete Sys[tempCallback]; + tempCallback = null; + if ((typeof(statusCode) !== "undefined") && (statusCode !== 200)) { + if (onFailure) { + error = new Sys.Net.WebServiceError(false, + data.Message || String.format(Sys.Res.webServiceFailedNoMsg, methodName), + data.StackTrace || null, + data.ExceptionType || null, + data); + error._statusCode = statusCode; + onFailure(error, userContext, methodName); + } + else { + if (data.StackTrace && data.Message) { + error = data.StackTrace + "-- " + data.Message; + } + else { + error = data.StackTrace || data.Message; + } + error = String.format(error ? Sys.Res.webServiceFailed : Sys.Res.webServiceFailedNoMsg, methodName, error); + throw Sys.Net.WebServiceProxy._createFailedError(methodName, String.format(Sys.Res.webServiceFailed, methodName, error)); + } + } + else if (onSuccess) { + onSuccess(data, userContext, methodName); + } + } + Sys[tempCallback] = jsonpComplete; + loader.execute(); + return null; + } + var request = new Sys.Net.WebRequest(); + request.set_url(url); + request.get_headers()['Content-Type'] = 'application/json; charset=utf-8'; + if (!useGet) { + body = Sys.Serialization.JavaScriptSerializer.serialize(params); + if (body === "{}") body = ""; + } + request.set_body(body); + request.add_completed(onComplete); + if (timeout && timeout > 0) request.set_timeout(timeout); + request.invoke(); + + function onComplete(response, eventArgs) { + if (response.get_responseAvailable()) { + var statusCode = response.get_statusCode(); + var result = null; + + try { + var contentType = response.getResponseHeader("Content-Type"); + if (contentType.startsWith("application/json")) { + result = response.get_object(); + } + else if (contentType.startsWith("text/xml")) { + result = response.get_xml(); + } + else { + result = response.get_responseData(); + } + } catch (ex) { + } + var error = response.getResponseHeader("jsonerror"); + var errorObj = (error === "true"); + if (errorObj) { + if (result) { + result = new Sys.Net.WebServiceError(false, result.Message, result.StackTrace, result.ExceptionType, result); + } + } + else if (contentType.startsWith("application/json")) { + result = (!result || (typeof(result.d) === "undefined")) ? result : result.d; + } + if (((statusCode < 200) || (statusCode >= 300)) || errorObj) { + if (onFailure) { + if (!result || !errorObj) { + result = new Sys.Net.WebServiceError(false , String.format(Sys.Res.webServiceFailedNoMsg, methodName)); + } + result._statusCode = statusCode; + onFailure(result, userContext, methodName); + } + else { + if (result && errorObj) { + error = result.get_exceptionType() + "-- " + result.get_message(); + } + else { + error = response.get_responseData(); + } + throw Sys.Net.WebServiceProxy._createFailedError(methodName, String.format(Sys.Res.webServiceFailed, methodName, error)); + } + } + else if (onSuccess) { + onSuccess(result, userContext, methodName); + } + } + else { + var msg; + if (response.get_timedOut()) { + msg = String.format(Sys.Res.webServiceTimedOut, methodName); + } + else { + msg = String.format(Sys.Res.webServiceFailedNoMsg, methodName) + } + if (onFailure) { + onFailure(new Sys.Net.WebServiceError(response.get_timedOut(), msg, "", ""), userContext, methodName); + } + else { + throw Sys.Net.WebServiceProxy._createFailedError(methodName, msg); + } + } + } + return request; +} +Sys.Net.WebServiceProxy._createFailedError = function Sys$Net$WebServiceProxy$_createFailedError(methodName, errorMessage) { + var displayMessage = "Sys.Net.WebServiceFailedException: " + errorMessage; + var e = Error.create(displayMessage, { 'name': 'Sys.Net.WebServiceFailedException', 'methodName': methodName }); + e.popStackFrame(); + return e; +} +Sys.Net.WebServiceProxy._defaultFailedCallback = function Sys$Net$WebServiceProxy$_defaultFailedCallback(err, methodName) { + var error = err.get_exceptionType() + "-- " + err.get_message(); + throw Sys.Net.WebServiceProxy._createFailedError(methodName, String.format(Sys.Res.webServiceFailed, methodName, error)); +} +Sys.Net.WebServiceProxy._generateTypedConstructor = function Sys$Net$WebServiceProxy$_generateTypedConstructor(type) { + return function(properties) { + if (properties) { + for (var name in properties) { + this[name] = properties[name]; + } + } + this.__type = type; + } +} +Sys._jsonp = 0; +Sys.Net.WebServiceProxy._xdomain = /^\s*([a-zA-Z0-9\+\-\.]+\:)\/\/([^?#\/]+)/; + +Sys.Net.WebServiceError = function Sys$Net$WebServiceError(timedOut, message, stackTrace, exceptionType, errorObject) { + /// + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "timedOut", type: Boolean}, + {name: "message", type: String, mayBeNull: true}, + {name: "stackTrace", type: String, mayBeNull: true, optional: true}, + {name: "exceptionType", type: String, mayBeNull: true, optional: true}, + {name: "errorObject", type: Object, mayBeNull: true, optional: true} + ]); + if (e) throw e; + this._timedOut = timedOut; + this._message = message; + this._stackTrace = stackTrace; + this._exceptionType = exceptionType; + this._errorObject = errorObject; + this._statusCode = -1; +} + function Sys$Net$WebServiceError$get_timedOut() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._timedOut; + } + function Sys$Net$WebServiceError$get_statusCode() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._statusCode; + } + function Sys$Net$WebServiceError$get_message() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._message; + } + function Sys$Net$WebServiceError$get_stackTrace() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._stackTrace || ""; + } + function Sys$Net$WebServiceError$get_exceptionType() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._exceptionType || ""; + } + function Sys$Net$WebServiceError$get_errorObject() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._errorObject || null; + } +Sys.Net.WebServiceError.prototype = { + get_timedOut: Sys$Net$WebServiceError$get_timedOut, + get_statusCode: Sys$Net$WebServiceError$get_statusCode, + get_message: Sys$Net$WebServiceError$get_message, + get_stackTrace: Sys$Net$WebServiceError$get_stackTrace, + get_exceptionType: Sys$Net$WebServiceError$get_exceptionType, + get_errorObject: Sys$Net$WebServiceError$get_errorObject +} +Sys.Net.WebServiceError.registerClass('Sys.Net.WebServiceError'); + + +Type.registerNamespace('Sys'); + +Sys.Res={ +'urlMustBeLessThan1024chars':'The history state must be small enough to not make the url larger than 1024 characters.', +'argumentTypeName':'Value is not the name of an existing type.', +'cantBeCalledAfterDispose':'Can\'t be called after dispose.', +'componentCantSetIdAfterAddedToApp':'The id property of a component can\'t be set after it\'s been added to the Application object.', +'behaviorDuplicateName':'A behavior with name \'{0}\' already exists or it is the name of an existing property on the target element.', +'notATypeName':'Value is not a valid type name.', +'elementNotFound':'An element with id \'{0}\' could not be found.', +'stateMustBeStringDictionary':'The state object can only have null and string fields.', +'boolTrueOrFalse':'Value must be \'true\' or \'false\'.', +'scriptLoadFailedNoHead':'ScriptLoader requires pages to contain a element.', +'stringFormatInvalid':'The format string is invalid.', +'referenceNotFound':'Component \'{0}\' was not found.', +'enumReservedName':'\'{0}\' is a reserved name that can\'t be used as an enum value name.', +'circularParentChain':'The chain of control parents can\'t have circular references.', +'namespaceContainsNonObject':'Object {0} already exists and is not an object.', +'undefinedEvent':'\'{0}\' is not an event.', +'propertyUndefined':'\'{0}\' is not a property or an existing field.', +'observableConflict':'Object already contains a member with the name \'{0}\'.', +'historyCannotEnableHistory':'Cannot set enableHistory after initialization.', +'eventHandlerInvalid':'Handler was not added through the Sys.UI.DomEvent.addHandler method.', +'scriptLoadFailedDebug':'The script \'{0}\' failed to load. Check for:\r\n Inaccessible path.\r\n Script errors. (IE) Enable \'Display a notification about every script error\' under advanced settings.', +'propertyNotWritable':'\'{0}\' is not a writable property.', +'enumInvalidValueName':'\'{0}\' is not a valid name for an enum value.', +'controlAlreadyDefined':'A control is already associated with the element.', +'addHandlerCantBeUsedForError':'Can\'t add a handler for the error event using this method. Please set the window.onerror property instead.', +'cantAddNonFunctionhandler':'Can\'t add a handler that is not a function.', +'invalidNameSpace':'Value is not a valid namespace identifier.', +'notAnInterface':'Value is not a valid interface.', +'eventHandlerNotFunction':'Handler must be a function.', +'propertyNotAnArray':'\'{0}\' is not an Array property.', +'namespaceContainsClass':'Object {0} already exists as a class, enum, or interface.', +'typeRegisteredTwice':'Type {0} has already been registered. The type may be defined multiple times or the script file that defines it may have already been loaded. A possible cause is a change of settings during a partial update.', +'cantSetNameAfterInit':'The name property can\'t be set on this object after initialization.', +'historyMissingFrame':'For the history feature to work in IE, the page must have an iFrame element with id \'__historyFrame\' pointed to a page that gets its title from the \'title\' query string parameter and calls Sys.Application._onIFrameLoad() on the parent window. This can be done by setting EnableHistory to true on ScriptManager.', +'appDuplicateComponent':'Two components with the same id \'{0}\' can\'t be added to the application.', +'historyCannotAddHistoryPointWithHistoryDisabled':'A history point can only be added if enableHistory is set to true.', +'baseNotAClass':'Value is not a class.', +'expectedElementOrId':'Value must be a DOM element or DOM element Id.', +'methodNotFound':'No method found with name \'{0}\'.', +'arrayParseBadFormat':'Value must be a valid string representation for an array. It must start with a \'[\' and end with a \']\'.', +'stateFieldNameInvalid':'State field names must not contain any \'=\' characters.', +'cantSetId':'The id property can\'t be set on this object.', +'stringFormatBraceMismatch':'The format string contains an unmatched opening or closing brace.', +'enumValueNotInteger':'An enumeration definition can only contain integer values.', +'propertyNullOrUndefined':'Cannot set the properties of \'{0}\' because it returned a null value.', +'argumentDomNode':'Value must be a DOM element or a text node.', +'componentCantSetIdTwice':'The id property of a component can\'t be set more than once.', +'createComponentOnDom':'Value must be null for Components that are not Controls or Behaviors.', +'createNotComponent':'{0} does not derive from Sys.Component.', +'createNoDom':'Value must not be null for Controls and Behaviors.', +'cantAddWithoutId':'Can\'t add a component that doesn\'t have an id.', +'notObservable':'Instances of type \'{0}\' cannot be observed.', +'badTypeName':'Value is not the name of the type being registered or the name is a reserved word.', +'argumentInteger':'Value must be an integer.', +'invokeCalledTwice':'Cannot call invoke more than once.', +'webServiceFailed':'The server method \'{0}\' failed with the following error: {1}', +'argumentType':'Object cannot be converted to the required type.', +'argumentNull':'Value cannot be null.', +'scriptAlreadyLoaded':'The script \'{0}\' has been referenced multiple times. If referencing Microsoft AJAX scripts explicitly, set the MicrosoftAjaxMode property of the ScriptManager to Explicit.', +'scriptDependencyNotFound':'The script \'{0}\' failed to load because it is dependent on script \'{1}\'.', +'formatBadFormatSpecifier':'Format specifier was invalid.', +'requiredScriptReferenceNotIncluded':'\'{0}\' requires that you have included a script reference to \'{1}\'.', +'webServiceFailedNoMsg':'The server method \'{0}\' failed.', +'argumentDomElement':'Value must be a DOM element.', +'invalidExecutorType':'Could not create a valid Sys.Net.WebRequestExecutor from: {0}.', +'cannotCallBeforeResponse':'Cannot call {0} when responseAvailable is false.', +'actualValue':'Actual value was {0}.', +'enumInvalidValue':'\'{0}\' is not a valid value for enum {1}.', +'scriptLoadFailed':'The script \'{0}\' could not be loaded.', +'parameterCount':'Parameter count mismatch.', +'cannotDeserializeEmptyString':'Cannot deserialize empty string.', +'formatInvalidString':'Input string was not in a correct format.', +'invalidTimeout':'Value must be greater than or equal to zero.', +'cannotAbortBeforeStart':'Cannot abort when executor has not started.', +'argument':'Value does not fall within the expected range.', +'cannotDeserializeInvalidJson':'Cannot deserialize. The data does not correspond to valid JSON.', +'invalidHttpVerb':'httpVerb cannot be set to an empty or null string.', +'nullWebRequest':'Cannot call executeRequest with a null webRequest.', +'eventHandlerInvalid':'Handler was not added through the Sys.UI.DomEvent.addHandler method.', +'cannotSerializeNonFiniteNumbers':'Cannot serialize non finite numbers.', +'argumentUndefined':'Value cannot be undefined.', +'webServiceInvalidReturnType':'The server method \'{0}\' returned an invalid type. Expected type: {1}', +'servicePathNotSet':'The path to the web service has not been set.', +'argumentTypeWithTypes':'Object of type \'{0}\' cannot be converted to type \'{1}\'.', +'cannotCallOnceStarted':'Cannot call {0} once started.', +'badBaseUrl1':'Base URL does not contain ://.', +'badBaseUrl2':'Base URL does not contain another /.', +'badBaseUrl3':'Cannot find last / in base URL.', +'setExecutorAfterActive':'Cannot set executor after it has become active.', +'paramName':'Parameter name: {0}', +'nullReferenceInPath':'Null reference while evaluating data path: \'{0}\'.', +'cannotCallOutsideHandler':'Cannot call {0} outside of a completed event handler.', +'cannotSerializeObjectWithCycle':'Cannot serialize object with cyclic reference within child properties.', +'format':'One of the identified items was in an invalid format.', +'assertFailedCaller':'Assertion Failed: {0}\r\nat {1}', +'argumentOutOfRange':'Specified argument was out of the range of valid values.', +'webServiceTimedOut':'The server method \'{0}\' timed out.', +'notImplemented':'The method or operation is not implemented.', +'assertFailed':'Assertion Failed: {0}', +'invalidOperation':'Operation is not valid due to the current state of the object.', +'breakIntoDebugger':'{0}\r\n\r\nBreak into debugger?' +}; diff --git a/CharityPortal/CharityPortal/Scripts/MicrosoftAjax.js b/CharityPortal/CharityPortal/Scripts/MicrosoftAjax.js new file mode 100644 index 0000000..9994d1b --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/MicrosoftAjax.js @@ -0,0 +1,6 @@ +//---------------------------------------------------------- +// Copyright (C) Microsoft Corporation. All rights reserved. +//---------------------------------------------------------- +// MicrosoftAjax.js +Function.__typeName="Function";Function.__class=true;Function.createCallback=function(b,a){return function(){var e=arguments.length;if(e>0){var d=[];for(var c=0;c=d)break;a=Function._validateParameter(g[b],f,h);if(a){a.popStackFrame();return a}}return null};Function._validateParameterCount=function(j,d,i){var a,c,b=d.length,e=j.length;if(eb){c=true;for(a=0;a0&&(d=0};Array.dequeue=function(a){return a.shift()};Array.forEach=function(b,e,d){for(var a=0,f=b.length;a=0)b.splice(a,1);return a>=0};Array.removeAt=function(a,b){a.splice(b,1)};Sys._indexOf=function(d,e,a){if(typeof e==="undefined")return -1;var c=d.length;if(c!==0){a=a-0;if(isNaN(a))a=0;else{if(isFinite(a))a=a-a%1;if(a<0)a=Math.max(0,c+a)}for(var b=a;b-1){Sys.Browser.agent=Sys.Browser.InternetExplorer;Sys.Browser.version=parseFloat(navigator.userAgent.match(/MSIE (\d+\.\d+)/)[1]);if(Sys.Browser.version>=8)if(document.documentMode>=7)Sys.Browser.documentMode=document.documentMode;Sys.Browser.hasDebuggerStatement=true}else if(navigator.userAgent.indexOf(" Firefox/")>-1){Sys.Browser.agent=Sys.Browser.Firefox;Sys.Browser.version=parseFloat(navigator.userAgent.match(/Firefox\/(\d+\.\d+)/)[1]);Sys.Browser.name="Firefox";Sys.Browser.hasDebuggerStatement=true}else if(navigator.userAgent.indexOf(" AppleWebKit/")>-1){Sys.Browser.agent=Sys.Browser.Safari;Sys.Browser.version=parseFloat(navigator.userAgent.match(/AppleWebKit\/(\d+(\.\d+)?)/)[1]);Sys.Browser.name="Safari"}else if(navigator.userAgent.indexOf("Opera/")>-1)Sys.Browser.agent=Sys.Browser.Opera;Sys.EventArgs=function(){};Sys.EventArgs.registerClass("Sys.EventArgs");Sys.EventArgs.Empty=new Sys.EventArgs;Sys.CancelEventArgs=function(){Sys.CancelEventArgs.initializeBase(this);this._cancel=false};Sys.CancelEventArgs.prototype={get_cancel:function(){return this._cancel},set_cancel:function(a){this._cancel=a}};Sys.CancelEventArgs.registerClass("Sys.CancelEventArgs",Sys.EventArgs);Type.registerNamespace("Sys.UI");Sys._Debug=function(){};Sys._Debug.prototype={_appendConsole:function(a){if(typeof Debug!=="undefined"&&Debug.writeln)Debug.writeln(a);if(window.console&&window.console.log)window.console.log(a);if(window.opera)window.opera.postError(a);if(window.debugService)window.debugService.trace(a)},_appendTrace:function(b){var a=document.getElementById("TraceConsole");if(a&&a.tagName.toUpperCase()==="TEXTAREA")a.value+=b+"\n"},assert:function(c,a,b){if(!c){a=b&&this.assert.caller?String.format(Sys.Res.assertFailedCaller,a,this.assert.caller):String.format(Sys.Res.assertFailed,a);if(confirm(String.format(Sys.Res.breakIntoDebugger,a)))this.fail(a)}},clearTrace:function(){var a=document.getElementById("TraceConsole");if(a&&a.tagName.toUpperCase()==="TEXTAREA")a.value=""},fail:function(message){this._appendConsole(message);if(Sys.Browser.hasDebuggerStatement)eval("debugger")},trace:function(a){this._appendConsole(a);this._appendTrace(a)},traceDump:function(a,b){var c=this._traceDump(a,b,true)},_traceDump:function(a,c,f,b,d){c=c?c:"traceDump";b=b?b:"";if(a===null){this.trace(b+c+": null");return}switch(typeof a){case "undefined":this.trace(b+c+": Undefined");break;case "number":case "string":case "boolean":this.trace(b+c+": "+a);break;default:if(Date.isInstanceOfType(a)||RegExp.isInstanceOfType(a)){this.trace(b+c+": "+a.toString());break}if(!d)d=[];else if(Array.contains(d,a)){this.trace(b+c+": ...");return}Array.add(d,a);if(a==window||a===document||window.HTMLElement&&a instanceof HTMLElement||typeof a.nodeName==="string"){var k=a.tagName?a.tagName:"DomElement";if(a.id)k+=" - "+a.id;this.trace(b+c+" {"+k+"}")}else{var i=Object.getTypeName(a);this.trace(b+c+(typeof i==="string"?" {"+i+"}":""));if(b===""||f){b+=" ";var e,j,l,g,h;if(Array.isInstanceOfType(a)){j=a.length;for(e=0;e=0;d--){var k=h[d].trim();b=a[k];if(typeof b!=="number")throw Error.argument("value",String.format(Sys.Res.enumInvalidValue,c.split(",")[d].trim(),this.__typeName));j|=b}return j}}function Sys$Enum$toString(c){if(typeof c==="undefined"||c===null)return this.__string;var d=this.prototype,a;if(!this.__flags||c===0){for(a in d)if(d[a]===c)return a}else{var b=this.__sortedValues;if(!b){b=[];for(a in d)b[b.length]={key:a,value:d[a]};b.sort(function(a,b){return a.value-b.value});this.__sortedValues=b}var e=[],g=c;for(a=b.length-1;a>=0;a--){var h=b[a],f=h.value;if(f===0)continue;if((f&c)===f){e[e.length]=h.key;g-=f;if(g===0)break}}if(e.length&&g===0)return e.reverse().join(", ")}return ""}Type.prototype.registerEnum=function(b,c){Sys.__upperCaseTypes[b.toUpperCase()]=this;for(var a in this.prototype)this[a]=this.prototype[a];this.__typeName=b;this.parse=Sys$Enum$parse;this.__string=this.toString();this.toString=Sys$Enum$toString;this.__flags=c;this.__enum=true};Type.isEnum=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__enum};Type.isFlags=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__flags};Sys.CollectionChange=function(e,a,c,b,d){this.action=e;if(a)if(!(a instanceof Array))a=[a];this.newItems=a||null;if(typeof c!=="number")c=-1;this.newStartingIndex=c;if(b)if(!(b instanceof Array))b=[b];this.oldItems=b||null;if(typeof d!=="number")d=-1;this.oldStartingIndex=d};Sys.CollectionChange.registerClass("Sys.CollectionChange");Sys.NotifyCollectionChangedAction=function(){throw Error.notImplemented()};Sys.NotifyCollectionChangedAction.prototype={add:0,remove:1,reset:2};Sys.NotifyCollectionChangedAction.registerEnum("Sys.NotifyCollectionChangedAction");Sys.NotifyCollectionChangedEventArgs=function(a){this._changes=a;Sys.NotifyCollectionChangedEventArgs.initializeBase(this)};Sys.NotifyCollectionChangedEventArgs.prototype={get_changes:function(){return this._changes||[]}};Sys.NotifyCollectionChangedEventArgs.registerClass("Sys.NotifyCollectionChangedEventArgs",Sys.EventArgs);Sys.Observer=function(){};Sys.Observer.registerClass("Sys.Observer");Sys.Observer.makeObservable=function(a){var c=a instanceof Array,b=Sys.Observer;if(a.setValue===b._observeMethods.setValue)return a;b._addMethods(a,b._observeMethods);if(c)b._addMethods(a,b._arrayMethods);return a};Sys.Observer._addMethods=function(c,b){for(var a in b)c[a]=b[a]};Sys.Observer._addEventHandler=function(c,a,b){Sys.Observer._getContext(c,true).events._addHandler(a,b)};Sys.Observer.addEventHandler=function(c,a,b){Sys.Observer._addEventHandler(c,a,b)};Sys.Observer._removeEventHandler=function(c,a,b){Sys.Observer._getContext(c,true).events._removeHandler(a,b)};Sys.Observer.removeEventHandler=function(c,a,b){Sys.Observer._removeEventHandler(c,a,b)};Sys.Observer.raiseEvent=function(b,e,d){var c=Sys.Observer._getContext(b);if(!c)return;var a=c.events.getHandler(e);if(a)a(b,d)};Sys.Observer.addPropertyChanged=function(b,a){Sys.Observer._addEventHandler(b,"propertyChanged",a)};Sys.Observer.removePropertyChanged=function(b,a){Sys.Observer._removeEventHandler(b,"propertyChanged",a)};Sys.Observer.beginUpdate=function(a){Sys.Observer._getContext(a,true).updating=true};Sys.Observer.endUpdate=function(b){var a=Sys.Observer._getContext(b);if(!a||!a.updating)return;a.updating=false;var d=a.dirty;a.dirty=false;if(d){if(b instanceof Array){var c=a.changes;a.changes=null;Sys.Observer.raiseCollectionChanged(b,c)}Sys.Observer.raisePropertyChanged(b,"")}};Sys.Observer.isUpdating=function(b){var a=Sys.Observer._getContext(b);return a?a.updating:false};Sys.Observer._setValue=function(a,j,g){var b,f,k=a,d=j.split(".");for(var i=0,m=d.length-1;i-1&&ac.Calendar.TwoDigitYearMax)a-=100}return a};Date._getEra=function(e,c){if(!c)return 0;var b,d=e.getTime();for(var a=0,f=c.length;a=b)return a}return 0};Date._getEraYear=function(d,b,e,c){var a=d.getFullYear();if(!c&&b.eras)a-=b.eras[e+3];return a};Date._getParseRegExp=function(b,e){if(!b._parseRegExp)b._parseRegExp={};else if(b._parseRegExp[e])return b._parseRegExp[e];var c=Date._expandFormat(b,e);c=c.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g,"\\\\$1");var a=new Sys.StringBuilder("^"),j=[],f=0,i=0,h=Date._getTokenRegExp(),d;while((d=h.exec(c))!==null){var l=c.slice(f,d.index);f=h.lastIndex;i+=Date._appendPreOrPostMatch(l,a);if(i%2===1){a.append(d[0]);continue}switch(d[0]){case "dddd":case "ddd":case "MMMM":case "MMM":case "gg":case "g":a.append("(\\D+)");break;case "tt":case "t":a.append("(\\D*)");break;case "yyyy":a.append("(\\d{4})");break;case "fff":a.append("(\\d{3})");break;case "ff":a.append("(\\d{2})");break;case "f":a.append("(\\d)");break;case "dd":case "d":case "MM":case "M":case "yy":case "y":case "HH":case "H":case "hh":case "h":case "mm":case "m":case "ss":case "s":a.append("(\\d\\d?)");break;case "zzz":a.append("([+-]?\\d\\d?:\\d{2})");break;case "zz":case "z":a.append("([+-]?\\d\\d?)");break;case "/":a.append("(\\"+b.DateSeparator+")")}Array.add(j,d[0])}Date._appendPreOrPostMatch(c.slice(f),a);a.append("$");var k=a.toString().replace(/\s+/g,"\\s+"),g={"regExp":k,"groups":j};b._parseRegExp[e]=g;return g};Date._getTokenRegExp=function(){return /\/|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z|gg|g/g};Date.parseLocale=function(a){return Date._parse(a,Sys.CultureInfo.CurrentCulture,arguments)};Date.parseInvariant=function(a){return Date._parse(a,Sys.CultureInfo.InvariantCulture,arguments)};Date._parse=function(h,d,i){var a,c,b,f,e,g=false;for(a=1,c=i.length;a31)return null;break;case "MMMM":c=k._getMonthIndex(a);if(c<0||c>11)return null;break;case "MMM":c=k._getAbbrMonthIndex(a);if(c<0||c>11)return null;break;case "M":case "MM":c=parseInt(a,10)-1;if(c<0||c>11)return null;break;case "y":case "yy":e=Date._expandYear(g,parseInt(a,10));if(e<0||e>9999)return null;break;case "yyyy":e=parseInt(a,10);if(e<0||e>9999)return null;break;case "h":case "hh":d=parseInt(a,10);if(d===12)d=0;if(d<0||d>11)return null;break;case "H":case "HH":d=parseInt(a,10);if(d<0||d>23)return null;break;case "m":case "mm":q=parseInt(a,10);if(q<0||q>59)return null;break;case "s":case "ss":r=parseInt(a,10);if(r<0||r>59)return null;break;case "tt":case "t":var z=a.toUpperCase();v=z===g.PMDesignator.toUpperCase();if(!v&&z!==g.AMDesignator.toUpperCase())return null;break;case "f":f=parseInt(a,10)*100;if(f<0||f>999)return null;break;case "ff":f=parseInt(a,10)*10;if(f<0||f>999)return null;break;case "fff":f=parseInt(a,10);if(f<0||f>999)return null;break;case "dddd":i=k._getDayIndex(a);if(i<0||i>6)return null;break;case "ddd":i=k._getAbbrDayIndex(a);if(i<0||i>6)return null;break;case "zzz":var u=a.split(/:/);if(u.length!==2)return null;h=parseInt(u[0],10);if(h<-12||h>13)return null;var o=parseInt(u[1],10);if(o<0||o>59)return null;n=h*60+(a.startsWith("-")?-o:o);break;case "z":case "zz":h=parseInt(a,10);if(h<-12||h>13)return null;n=h*60;break;case "g":case "gg":var p=a;if(!p||!g.eras)return null;p=p.toLowerCase().trim();for(var s=0,F=g.eras.length;s0)return this.toLocaleString();else return this.toString();var o=["n %","n%","%n"],n=["-n %","-n%","-%n"],p=["(n)","-n","- n","n-","n -"],m=["$n","n$","$ n","n $"],l=["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"];function g(a,c,d){for(var b=a.length;b1?parseInt(e[1]):0;e=b.split(".");b=e[0];a=e.length>1?e[1]:"";var q;if(c>0){a=g(a,c,false);b+=a.slice(0,c);a=a.substr(c)}else if(c<0){c=-c;b=g(b,c+1,true);a=b.slice(-c,b.length)+a;b=b.slice(0,-c)}if(i>0){if(a.length>i)a=a.slice(0,i);else a=g(a,i,false);a=p+a}else a="";var d=b.length-1,f="";while(d>=0){if(h===0||h>d)if(f.length>0)return b.slice(0,d+1)+n+f+a;else return b.slice(0,d+1)+a;if(f.length>0)f=b.slice(d-h+1,d+1)+n+f;else f=b.slice(d-h+1,d+1);d-=h;if(k1)b=parseInt(e.slice(1),10);var c;switch(e.charAt(0)){case "d":case "D":c="n";if(b!==-1)d=g(""+d,b,true);if(this<0)d=-d;break;case "c":case "C":if(this<0)c=l[a.CurrencyNegativePattern];else c=m[a.CurrencyPositivePattern];if(b===-1)b=a.CurrencyDecimalDigits;d=i(Math.abs(this),b,a.CurrencyGroupSizes,a.CurrencyGroupSeparator,a.CurrencyDecimalSeparator);break;case "n":case "N":if(this<0)c=p[a.NumberNegativePattern];else c="n";if(b===-1)b=a.NumberDecimalDigits;d=i(Math.abs(this),b,a.NumberGroupSizes,a.NumberGroupSeparator,a.NumberDecimalSeparator);break;case "p":case "P":if(this<0)c=n[a.PercentNegativePattern];else c=o[a.PercentPositivePattern];if(b===-1)b=a.PercentDecimalDigits;d=i(Math.abs(this)*100,b,a.PercentGroupSizes,a.PercentGroupSeparator,a.PercentDecimalSeparator);break;default:throw Error.format(Sys.Res.formatBadFormatSpecifier)}var k=/n|\$|-|%/g,f="";for(;true;){var q=k.lastIndex,h=k.exec(c);f+=c.slice(q,h?h.index:c.length);if(!h)break;switch(h[0]){case "n":f+=d;break;case "$":f+=a.CurrencySymbol;break;case "-":if(/[1-9]/.test(d))f+=a.NegativeSign;break;case "%":f+=a.PercentSymbol}}return f};Sys.CultureInfo=function(c,b,a){this.name=c;this.numberFormat=b;this.dateTimeFormat=a};Sys.CultureInfo.prototype={_getDateTimeFormats:function(){if(!this._dateTimeFormats){var a=this.dateTimeFormat;this._dateTimeFormats=[a.MonthDayPattern,a.YearMonthPattern,a.ShortDatePattern,a.ShortTimePattern,a.LongDatePattern,a.LongTimePattern,a.FullDateTimePattern,a.RFC1123Pattern,a.SortableDateTimePattern,a.UniversalSortableDateTimePattern]}return this._dateTimeFormats},_getIndex:function(c,d,e){var b=this._toUpper(c),a=Array.indexOf(d,b);if(a===-1)a=Array.indexOf(e,b);return a},_getMonthIndex:function(a){if(!this._upperMonths){this._upperMonths=this._toUpperArray(this.dateTimeFormat.MonthNames);this._upperMonthsGenitive=this._toUpperArray(this.dateTimeFormat.MonthGenitiveNames)}return this._getIndex(a,this._upperMonths,this._upperMonthsGenitive)},_getAbbrMonthIndex:function(a){if(!this._upperAbbrMonths){this._upperAbbrMonths=this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames);this._upperAbbrMonthsGenitive=this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthGenitiveNames)}return this._getIndex(a,this._upperAbbrMonths,this._upperAbbrMonthsGenitive)},_getDayIndex:function(a){if(!this._upperDays)this._upperDays=this._toUpperArray(this.dateTimeFormat.DayNames);return Array.indexOf(this._upperDays,this._toUpper(a))},_getAbbrDayIndex:function(a){if(!this._upperAbbrDays)this._upperAbbrDays=this._toUpperArray(this.dateTimeFormat.AbbreviatedDayNames);return Array.indexOf(this._upperAbbrDays,this._toUpper(a))},_toUpperArray:function(c){var b=[];for(var a=0,d=c.length;a0)a.append(",");Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(b[c],a,false,g)}a.append("]")}else{if(Date.isInstanceOfType(b)){a.append('"\\/Date(');a.append(b.getTime());a.append(')\\/"');break}var d=[],f=0;for(var e in b){if(e.startsWith("$"))continue;if(e===Sys.Serialization.JavaScriptSerializer._serverTypeFieldName&&f!==0){d[f++]=d[0];d[0]=e}else d[f++]=e}if(i)d.sort();a.append("{");var j=false;for(c=0;c=0;c--){var f=d[c];if(!g||f.autoRemove)$removeHandler(a,b,f.handler)}}a._events=null}};Sys.UI.DomEvent._disposeHandlers=function(){Sys.UI.DomEvent._clearHandlers(this,true);var b=this._chainDispose,a=typeof b;if(a!=="undefined"){this.dispose=b;this._chainDispose=null;if(a==="function")this.dispose()}};var $removeHandler=Sys.UI.DomEvent.removeHandler=function(b,a,c){Sys.UI.DomEvent._removeHandler(b,a,c)};Sys.UI.DomEvent._removeHandler=function(a,e,f){var d=null,c=a._events[e];for(var b=0,g=c.length;b=3){d+=parseInt(b.borderLeftWidth);e+=parseInt(b.borderTopWidth)}}b=Sys.UI.DomElement._getCurrentStyle(c);var h=b?b.position:null;if(!h||h!=="absolute")for(a=c.parentNode;a;a=a.parentNode){f=a.tagName?a.tagName.toUpperCase():null;if(f!=="BODY"&&f!=="HTML"&&(a.scrollLeft||a.scrollTop)){d-=a.scrollLeft||0;e-=a.scrollTop||0}b=Sys.UI.DomElement._getCurrentStyle(a);var i=b?b.position:null;if(i&&i==="absolute")break}return new Sys.UI.Point(d,e)};else Sys.UI.DomElement.getLocation=function(d){if(d.window&&d.window===d||d.nodeType===9)return new Sys.UI.Point(0,0);var e=0,f=0,a,i=null,g=null,b=null;for(a=d;a;i=a,(g=b,a=a.offsetParent)){var c=a.tagName?a.tagName.toUpperCase():null;b=Sys.UI.DomElement._getCurrentStyle(a);if((a.offsetLeft||a.offsetTop)&&!(c==="BODY"&&(!g||g.position!=="absolute"))){e+=a.offsetLeft;f+=a.offsetTop}if(i!==null&&b){if(c!=="TABLE"&&c!=="TD"&&c!=="HTML"){e+=parseInt(b.borderLeftWidth)||0;f+=parseInt(b.borderTopWidth)||0}if(c==="TABLE"&&(b.position==="relative"||b.position==="absolute")){e+=parseInt(b.marginLeft)||0;f+=parseInt(b.marginTop)||0}}}b=Sys.UI.DomElement._getCurrentStyle(d);var h=b?b.position:null;if(!h||h!=="absolute")for(a=d.parentNode;a;a=a.parentNode){c=a.tagName?a.tagName.toUpperCase():null;if(c!=="BODY"&&c!=="HTML"&&(a.scrollLeft||a.scrollTop)){e-=a.scrollLeft||0;f-=a.scrollTop||0;b=Sys.UI.DomElement._getCurrentStyle(a);if(b){e+=parseInt(b.borderLeftWidth)||0;f+=parseInt(b.borderTopWidth)||0}}}return new Sys.UI.Point(e,f)};Sys.UI.DomElement.isDomElement=function(a){return Sys._isDomElement(a)};Sys.UI.DomElement.removeCssClass=function(d,c){var a=" "+d.className+" ",b=a.indexOf(" "+c+" ");if(b>=0)d.className=(a.substr(0,b)+" "+a.substring(b+c.length+1,a.length)).trim()};Sys.UI.DomElement.resolveElement=function(b,c){var a=b;if(!a)return null;if(typeof a==="string")a=Sys.UI.DomElement.getElementById(a,c);return a};Sys.UI.DomElement.raiseBubbleEvent=function(c,d){var b=c;while(b){var a=b.control;if(a&&a.onBubbleEvent&&a.raiseBubbleEvent){Sys.UI.DomElement._raiseBubbleEventFromControl(a,c,d);return}b=b.parentNode}};Sys.UI.DomElement._raiseBubbleEventFromControl=function(a,b,c){if(!a.onBubbleEvent(b,c))a._raiseBubbleEvent(b,c)};Sys.UI.DomElement.setLocation=function(b,c,d){var a=b.style;a.position="absolute";a.left=c+"px";a.top=d+"px"};Sys.UI.DomElement.toggleCssClass=function(b,a){if(Sys.UI.DomElement.containsCssClass(b,a))Sys.UI.DomElement.removeCssClass(b,a);else Sys.UI.DomElement.addCssClass(b,a)};Sys.UI.DomElement.getVisibilityMode=function(a){return a._visibilityMode===Sys.UI.VisibilityMode.hide?Sys.UI.VisibilityMode.hide:Sys.UI.VisibilityMode.collapse};Sys.UI.DomElement.setVisibilityMode=function(a,b){Sys.UI.DomElement._ensureOldDisplayMode(a);if(a._visibilityMode!==b){a._visibilityMode=b;if(Sys.UI.DomElement.getVisible(a)===false)if(a._visibilityMode===Sys.UI.VisibilityMode.hide)a.style.display=a._oldDisplayMode;else a.style.display="none";a._visibilityMode=b}};Sys.UI.DomElement.getVisible=function(b){var a=b.currentStyle||Sys.UI.DomElement._getCurrentStyle(b);if(!a)return true;return a.visibility!=="hidden"&&a.display!=="none"};Sys.UI.DomElement.setVisible=function(a,b){if(b!==Sys.UI.DomElement.getVisible(a)){Sys.UI.DomElement._ensureOldDisplayMode(a);a.style.visibility=b?"visible":"hidden";if(b||a._visibilityMode===Sys.UI.VisibilityMode.hide)a.style.display=a._oldDisplayMode;else a.style.display="none"}};Sys.UI.DomElement._ensureOldDisplayMode=function(a){if(!a._oldDisplayMode){var b=a.currentStyle||Sys.UI.DomElement._getCurrentStyle(a);a._oldDisplayMode=b?b.display:null;if(!a._oldDisplayMode||a._oldDisplayMode==="none")switch(a.tagName.toUpperCase()){case "DIV":case "P":case "ADDRESS":case "BLOCKQUOTE":case "BODY":case "COL":case "COLGROUP":case "DD":case "DL":case "DT":case "FIELDSET":case "FORM":case "H1":case "H2":case "H3":case "H4":case "H5":case "H6":case "HR":case "IFRAME":case "LEGEND":case "OL":case "PRE":case "TABLE":case "TD":case "TH":case "TR":case "UL":a._oldDisplayMode="block";break;case "LI":a._oldDisplayMode="list-item";break;default:a._oldDisplayMode="inline"}}};Sys.UI.DomElement._getWindow=function(a){var b=a.ownerDocument||a.document||a;return b.defaultView||b.parentWindow};Sys.UI.DomElement._getCurrentStyle=function(a){if(a.nodeType===3)return null;var c=Sys.UI.DomElement._getWindow(a);if(a.documentElement)a=a.documentElement;var b=c&&a!==c&&c.getComputedStyle?c.getComputedStyle(a,null):a.currentStyle||a.style;if(!b&&Sys.Browser.agent===Sys.Browser.Safari&&a.style){var g=a.style.display,f=a.style.position;a.style.position="absolute";a.style.display="block";var e=c.getComputedStyle(a,null);a.style.display=g;a.style.position=f;b={};for(var d in e)b[d]=e[d];b.display="none"}return b};Sys.IContainer=function(){};Sys.IContainer.prototype={};Sys.IContainer.registerInterface("Sys.IContainer");Sys.ApplicationLoadEventArgs=function(b,a){Sys.ApplicationLoadEventArgs.initializeBase(this);this._components=b;this._isPartialLoad=a};Sys.ApplicationLoadEventArgs.prototype={get_components:function(){return this._components},get_isPartialLoad:function(){return this._isPartialLoad}};Sys.ApplicationLoadEventArgs.registerClass("Sys.ApplicationLoadEventArgs",Sys.EventArgs);Sys._Application=function(){Sys._Application.initializeBase(this);this._disposableObjects=[];this._components={};this._createdComponents=[];this._secondPassComponents=[];this._unloadHandlerDelegate=Function.createDelegate(this,this._unloadHandler);Sys.UI.DomEvent.addHandler(window,"unload",this._unloadHandlerDelegate);this._domReady()};Sys._Application.prototype={_creatingComponents:false,_disposing:false,_deleteCount:0,get_isCreatingComponents:function(){return this._creatingComponents},get_isDisposing:function(){return this._disposing},add_init:function(a){if(this._initialized)a(this,Sys.EventArgs.Empty);else this.get_events().addHandler("init",a)},remove_init:function(a){this.get_events().removeHandler("init",a)},add_load:function(a){this.get_events().addHandler("load",a)},remove_load:function(a){this.get_events().removeHandler("load",a)},add_unload:function(a){this.get_events().addHandler("unload",a)},remove_unload:function(a){this.get_events().removeHandler("unload",a)},addComponent:function(a){this._components[a.get_id()]=a},beginCreateComponents:function(){this._creatingComponents=true},dispose:function(){if(!this._disposing){this._disposing=true;if(this._timerCookie){window.clearTimeout(this._timerCookie);delete this._timerCookie}if(this._endRequestHandler){Sys.WebForms.PageRequestManager.getInstance().remove_endRequest(this._endRequestHandler);delete this._endRequestHandler}if(this._beginRequestHandler){Sys.WebForms.PageRequestManager.getInstance().remove_beginRequest(this._beginRequestHandler);delete this._beginRequestHandler}if(window.pageUnload)window.pageUnload(this,Sys.EventArgs.Empty);var c=this.get_events().getHandler("unload");if(c)c(this,Sys.EventArgs.Empty);var b=Array.clone(this._disposableObjects);for(var a=0,f=b.length;a=0;b--)this._disposeElementInternal(c[b]);if(!d)this._disposeElementInternal(a)}},endCreateComponents:function(){var b=this._secondPassComponents;for(var a=0,d=b.length;a1000){var c=[];for(var d=0,f=b.length;d=0;b--){var c=a[b];if(typeof c.dispose==="function")c.dispose()}},_disposeElementInternal:function(a){var d=a.dispose;if(d&&typeof d==="function")a.dispose();else{var c=a.control;if(c&&typeof c.dispose==="function")c.dispose()}var b=a._behaviors;if(b)this._disposeComponents(b);b=a._components;if(b){this._disposeComponents(b);a._components=null}},_domReady:function(){var a,g,f=this;function b(){f.initialize()}var c=function(){Sys.UI.DomEvent.removeHandler(window,"load",c);b()};Sys.UI.DomEvent.addHandler(window,"load",c);if(document.addEventListener)try{document.addEventListener("DOMContentLoaded",a=function(){document.removeEventListener("DOMContentLoaded",a,false);b()},false)}catch(h){}else if(document.attachEvent)if(window==window.top&&document.documentElement.doScroll){var e,d=document.createElement("div");a=function(){try{d.doScroll("left")}catch(c){e=window.setTimeout(a,0);return}d=null;b()};a()}else document.attachEvent("onreadystatechange",a=function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",a);b()}})},_raiseInit:function(){var a=this.get_events().getHandler("init");if(a){this.beginCreateComponents();a(this,Sys.EventArgs.Empty);this.endCreateComponents()}},_unloadHandler:function(){this.dispose()}};Sys._Application.registerClass("Sys._Application",Sys.Component,Sys.IContainer);Sys.Application=new Sys._Application;var $find=Sys.Application.findComponent;Sys.UI.Behavior=function(b){Sys.UI.Behavior.initializeBase(this);this._element=b;var a=b._behaviors;if(!a)b._behaviors=[this];else a[a.length]=this};Sys.UI.Behavior.prototype={_name:null,get_element:function(){return this._element},get_id:function(){var a=Sys.UI.Behavior.callBaseMethod(this,"get_id");if(a)return a;if(!this._element||!this._element.id)return "";return this._element.id+"$"+this.get_name()},get_name:function(){if(this._name)return this._name;var a=Object.getTypeName(this),b=a.lastIndexOf(".");if(b!==-1)a=a.substr(b+1);if(!this.get_isInitialized())this._name=a;return a},set_name:function(a){this._name=a},initialize:function(){Sys.UI.Behavior.callBaseMethod(this,"initialize");var a=this.get_name();if(a)this._element[a]=this},dispose:function(){Sys.UI.Behavior.callBaseMethod(this,"dispose");var a=this._element;if(a){var c=this.get_name();if(c)a[c]=null;var b=a._behaviors;Array.remove(b,this);if(b.length===0)a._behaviors=null;delete this._element}}};Sys.UI.Behavior.registerClass("Sys.UI.Behavior",Sys.Component);Sys.UI.Behavior.getBehaviorByName=function(b,c){var a=b[c];return a&&Sys.UI.Behavior.isInstanceOfType(a)?a:null};Sys.UI.Behavior.getBehaviors=function(a){if(!a._behaviors)return [];return Array.clone(a._behaviors)};Sys.UI.Behavior.getBehaviorsByType=function(d,e){var a=d._behaviors,c=[];if(a)for(var b=0,f=a.length;b0&&a.charAt(0)==="#")a=a.substring(1);return a};Sys._Application.prototype.get_enableHistory=function(){return this._enableHistory};Sys._Application.prototype.set_enableHistory=function(a){this._enableHistory=a};Sys._Application.prototype.add_navigate=function(a){this.get_events().addHandler("navigate",a)};Sys._Application.prototype.remove_navigate=function(a){this.get_events().removeHandler("navigate",a)};Sys._Application.prototype.addHistoryPoint=function(c,f){this._ensureHistory();var b=this._state;for(var a in c){var d=c[a];if(d===null){if(typeof b[a]!=="undefined")delete b[a]}else b[a]=d}var e=this._serializeState(b);this._historyPointIsNew=true;this._setState(e,f);this._raiseNavigate()};Sys._Application.prototype.setServerId=function(a,b){this._clientId=a;this._uniqueId=b};Sys._Application.prototype.setServerState=function(a){this._ensureHistory();this._state.__s=a;this._updateHiddenField(a)};Sys._Application.prototype._deserializeState=function(a){var e={};a=a||"";var b=a.indexOf("&&");if(b!==-1&&b+2'");c.write(""+(b||document.title)+"parent.Sys.Application._onIFrameLoad('+Sys.Serialization.JavaScriptSerializer.serialize(a)+");");c.close()}this._ignoreTimer=false;this._currentEntry=a;if(this._historyFrame||this._historyPointIsNew){var f=this.get_stateString();if(a!==f){window.location.hash=a;this._currentEntry=this.get_stateString();if(typeof b!=="undefined"&&b!==null)document.title=b}}this._historyPointIsNew=false}}};Sys._Application.prototype._updateHiddenField=function(b){if(this._clientId){var a=document.getElementById(this._clientId);if(a)a.value=b}};if(!window.XMLHttpRequest)window.XMLHttpRequest=function(){var b=["Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP"];for(var a=0,c=b.length;a0)this._timer=window.setTimeout(Function.createDelegate(this,this._onTimeout),d);this._xmlHttpRequest.send(c);this._started=true},getResponseHeader:function(b){var a;try{a=this._xmlHttpRequest.getResponseHeader(b)}catch(c){}if(!a)a="";return a},getAllResponseHeaders:function(){return this._xmlHttpRequest.getAllResponseHeaders()},get_responseData:function(){return this._xmlHttpRequest.responseText},get_statusCode:function(){var a=0;try{a=this._xmlHttpRequest.status}catch(b){}return a},get_statusText:function(){return this._xmlHttpRequest.statusText},get_xml:function(){var a=this._xmlHttpRequest.responseXML;if(!a||!a.documentElement){a=Sys.Net.XMLDOM(this._xmlHttpRequest.responseText);if(!a||!a.documentElement)return null}else if(navigator.userAgent.indexOf("MSIE")!==-1)a.setProperty("SelectionLanguage","XPath");if(a.documentElement.namespaceURI==="http://www.mozilla.org/newlayout/xml/parsererror.xml"&&a.documentElement.tagName==="parsererror")return null;if(a.documentElement.firstChild&&a.documentElement.firstChild.tagName==="parsererror")return null;return a},abort:function(){if(this._aborted||this._responseAvailable||this._timedOut)return;this._aborted=true;this._clearTimer();if(this._xmlHttpRequest&&!this._responseAvailable){this._xmlHttpRequest.onreadystatechange=Function.emptyMethod;this._xmlHttpRequest.abort();this._xmlHttpRequest=null;this._webRequest.completed(Sys.EventArgs.Empty)}}};Sys.Net.XMLHttpExecutor.registerClass("Sys.Net.XMLHttpExecutor",Sys.Net.WebRequestExecutor);Sys.Net._WebRequestManager=function(){this._defaultTimeout=0;this._defaultExecutorType="Sys.Net.XMLHttpExecutor"};Sys.Net._WebRequestManager.prototype={add_invokingRequest:function(a){this._get_eventHandlerList().addHandler("invokingRequest",a)},remove_invokingRequest:function(a){this._get_eventHandlerList().removeHandler("invokingRequest",a)},add_completedRequest:function(a){this._get_eventHandlerList().addHandler("completedRequest",a)},remove_completedRequest:function(a){this._get_eventHandlerList().removeHandler("completedRequest",a)},_get_eventHandlerList:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_defaultTimeout:function(){return this._defaultTimeout},set_defaultTimeout:function(a){this._defaultTimeout=a},get_defaultExecutorType:function(){return this._defaultExecutorType},set_defaultExecutorType:function(a){this._defaultExecutorType=a},executeRequest:function(webRequest){var executor=webRequest.get_executor();if(!executor){var failed=false;try{var executorType=eval(this._defaultExecutorType);executor=new executorType}catch(a){failed=true}webRequest.set_executor(executor)}if(executor.get_aborted())return;var evArgs=new Sys.Net.NetworkRequestEventArgs(webRequest),handler=this._get_eventHandlerList().getHandler("invokingRequest");if(handler)handler(this,evArgs);if(!evArgs.get_cancel())executor.executeRequest()}};Sys.Net._WebRequestManager.registerClass("Sys.Net._WebRequestManager");Sys.Net.WebRequestManager=new Sys.Net._WebRequestManager;Sys.Net.NetworkRequestEventArgs=function(a){Sys.Net.NetworkRequestEventArgs.initializeBase(this);this._webRequest=a};Sys.Net.NetworkRequestEventArgs.prototype={get_webRequest:function(){return this._webRequest}};Sys.Net.NetworkRequestEventArgs.registerClass("Sys.Net.NetworkRequestEventArgs",Sys.CancelEventArgs);Sys.Net.WebRequest=function(){this._url="";this._headers={};this._body=null;this._userContext=null;this._httpVerb=null;this._executor=null;this._invokeCalled=false;this._timeout=0};Sys.Net.WebRequest.prototype={add_completed:function(a){this._get_eventHandlerList().addHandler("completed",a)},remove_completed:function(a){this._get_eventHandlerList().removeHandler("completed",a)},completed:function(b){var a=Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRequest");if(a)a(this._executor,b);a=this._get_eventHandlerList().getHandler("completed");if(a)a(this._executor,b)},_get_eventHandlerList:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_url:function(){return this._url},set_url:function(a){this._url=a},get_headers:function(){return this._headers},get_httpVerb:function(){if(this._httpVerb===null){if(this._body===null)return "GET";return "POST"}return this._httpVerb},set_httpVerb:function(a){this._httpVerb=a},get_body:function(){return this._body},set_body:function(a){this._body=a},get_userContext:function(){return this._userContext},set_userContext:function(a){this._userContext=a},get_executor:function(){return this._executor},set_executor:function(a){this._executor=a;this._executor._set_webRequest(this)},get_timeout:function(){if(this._timeout===0)return Sys.Net.WebRequestManager.get_defaultTimeout();return this._timeout},set_timeout:function(a){this._timeout=a},getResolvedUrl:function(){return Sys.Net.WebRequest._resolveUrl(this._url)},invoke:function(){Sys.Net.WebRequestManager.executeRequest(this);this._invokeCalled=true}};Sys.Net.WebRequest._resolveUrl=function(b,a){if(b&&b.indexOf("://")!==-1)return b;if(!a||a.length===0){var d=document.getElementsByTagName("base")[0];if(d&&d.href&&d.href.length>0)a=d.href;else a=document.URL}var c=a.indexOf("?");if(c!==-1)a=a.substr(0,c);c=a.indexOf("#");if(c!==-1)a=a.substr(0,c);a=a.substr(0,a.lastIndexOf("/")+1);if(!b||b.length===0)return a;if(b.charAt(0)==="/"){var e=a.indexOf("://"),g=a.indexOf("/",e+3);return a.substr(0,g)+b}else{var f=a.lastIndexOf("/");return a.substr(0,f+1)+b}};Sys.Net.WebRequest._createQueryString=function(c,b,f){b=b||encodeURIComponent;var h=0,e,g,d,a=new Sys.StringBuilder;if(c)for(d in c){e=c[d];if(typeof e==="function")continue;g=Sys.Serialization.JavaScriptSerializer.serialize(e);if(h++)a.append("&");a.append(d);a.append("=");a.append(b(g))}if(f){if(h)a.append("&");a.append(f)}return a.toString()};Sys.Net.WebRequest._createUrl=function(a,b,c){if(!b&&!c)return a;var d=Sys.Net.WebRequest._createQueryString(b,null,c);return d.length?a+(a&&a.indexOf("?")>=0?"&":"?")+d:a};Sys.Net.WebRequest.registerClass("Sys.Net.WebRequest");Sys._ScriptLoaderTask=function(b,a){this._scriptElement=b;this._completedCallback=a};Sys._ScriptLoaderTask.prototype={get_scriptElement:function(){return this._scriptElement},dispose:function(){if(this._disposed)return;this._disposed=true;this._removeScriptElementHandlers();Sys._ScriptLoaderTask._clearScript(this._scriptElement);this._scriptElement=null},execute:function(){this._addScriptElementHandlers();document.getElementsByTagName("head")[0].appendChild(this._scriptElement)},_addScriptElementHandlers:function(){this._scriptLoadDelegate=Function.createDelegate(this,this._scriptLoadHandler);if(Sys.Browser.agent!==Sys.Browser.InternetExplorer){this._scriptElement.readyState="loaded";$addHandler(this._scriptElement,"load",this._scriptLoadDelegate)}else $addHandler(this._scriptElement,"readystatechange",this._scriptLoadDelegate);if(this._scriptElement.addEventListener){this._scriptErrorDelegate=Function.createDelegate(this,this._scriptErrorHandler);this._scriptElement.addEventListener("error",this._scriptErrorDelegate,false)}},_removeScriptElementHandlers:function(){if(this._scriptLoadDelegate){var a=this.get_scriptElement();if(Sys.Browser.agent!==Sys.Browser.InternetExplorer)$removeHandler(a,"load",this._scriptLoadDelegate);else $removeHandler(a,"readystatechange",this._scriptLoadDelegate);if(this._scriptErrorDelegate){this._scriptElement.removeEventListener("error",this._scriptErrorDelegate,false);this._scriptErrorDelegate=null}this._scriptLoadDelegate=null}},_scriptErrorHandler:function(){if(this._disposed)return;this._completedCallback(this.get_scriptElement(),false)},_scriptLoadHandler:function(){if(this._disposed)return;var a=this.get_scriptElement();if(a.readyState!=="loaded"&&a.readyState!=="complete")return;this._completedCallback(a,true)}};Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask",null,Sys.IDisposable);Sys._ScriptLoaderTask._clearScript=function(a){if(!Sys.Debug.isDebug)a.parentNode.removeChild(a)};Type.registerNamespace("Sys.Net");Sys.Net.WebServiceProxy=function(){};Sys.Net.WebServiceProxy.prototype={get_timeout:function(){return this._timeout||0},set_timeout:function(a){if(a<0)throw Error.argumentOutOfRange("value",a,Sys.Res.invalidTimeout);this._timeout=a},get_defaultUserContext:function(){return typeof this._userContext==="undefined"?null:this._userContext},set_defaultUserContext:function(a){this._userContext=a},get_defaultSucceededCallback:function(){return this._succeeded||null},set_defaultSucceededCallback:function(a){this._succeeded=a},get_defaultFailedCallback:function(){return this._failed||null},set_defaultFailedCallback:function(a){this._failed=a},get_enableJsonp:function(){return !!this._jsonp},set_enableJsonp:function(a){this._jsonp=a},get_path:function(){return this._path||null},set_path:function(a){this._path=a},get_jsonpCallbackParameter:function(){return this._callbackParameter||"callback"},set_jsonpCallbackParameter:function(a){this._callbackParameter=a},_invoke:function(d,e,g,f,c,b,a){c=c||this.get_defaultSucceededCallback();b=b||this.get_defaultFailedCallback();if(a===null||typeof a==="undefined")a=this.get_defaultUserContext();return Sys.Net.WebServiceProxy.invoke(d,e,g,f,c,b,a,this.get_timeout(),this.get_enableJsonp(),this.get_jsonpCallbackParameter())}};Sys.Net.WebServiceProxy.registerClass("Sys.Net.WebServiceProxy");Sys.Net.WebServiceProxy.invoke=function(q,a,m,l,j,b,g,e,w,p){var i=w!==false?Sys.Net.WebServiceProxy._xdomain.exec(q):null,c,n=i&&i.length===3&&(i[1]!==location.protocol||i[2]!==location.host);m=n||m;if(n){p=p||"callback";c="_jsonp"+Sys._jsonp++}if(!l)l={};var r=l;if(!m||!r)r={};var s,h,f=null,k,o=null,u=Sys.Net.WebRequest._createUrl(a?q+"/"+encodeURIComponent(a):q,r,n?p+"=Sys."+c:null);if(n){s=document.createElement("script");s.src=u;k=new Sys._ScriptLoaderTask(s,function(d,b){if(!b||c)t({Message:String.format(Sys.Res.webServiceFailedNoMsg,a)},-1)});function v(){if(f===null)return;f=null;h=new Sys.Net.WebServiceError(true,String.format(Sys.Res.webServiceTimedOut,a));k.dispose();delete Sys[c];if(b)b(h,g,a)}function t(d,e){if(f!==null){window.clearTimeout(f);f=null}k.dispose();delete Sys[c];c=null;if(typeof e!=="undefined"&&e!==200){if(b){h=new Sys.Net.WebServiceError(false,d.Message||String.format(Sys.Res.webServiceFailedNoMsg,a),d.StackTrace||null,d.ExceptionType||null,d);h._statusCode=e;b(h,g,a)}}else if(j)j(d,g,a)}Sys[c]=t;e=e||Sys.Net.WebRequestManager.get_defaultTimeout();if(e>0)f=window.setTimeout(v,e);k.execute();return null}var d=new Sys.Net.WebRequest;d.set_url(u);d.get_headers()["Content-Type"]="application/json; charset=utf-8";if(!m){o=Sys.Serialization.JavaScriptSerializer.serialize(l);if(o==="{}")o=""}d.set_body(o);d.add_completed(x);if(e&&e>0)d.set_timeout(e);d.invoke();function x(d){if(d.get_responseAvailable()){var f=d.get_statusCode(),c=null;try{var e=d.getResponseHeader("Content-Type");if(e.startsWith("application/json"))c=d.get_object();else if(e.startsWith("text/xml"))c=d.get_xml();else c=d.get_responseData()}catch(m){}var k=d.getResponseHeader("jsonerror"),h=k==="true";if(h){if(c)c=new Sys.Net.WebServiceError(false,c.Message,c.StackTrace,c.ExceptionType,c)}else if(e.startsWith("application/json"))c=!c||typeof c.d==="undefined"?c:c.d;if(f<200||f>=300||h){if(b){if(!c||!h)c=new Sys.Net.WebServiceError(false,String.format(Sys.Res.webServiceFailedNoMsg,a));c._statusCode=f;b(c,g,a)}}else if(j)j(c,g,a)}else{var i;if(d.get_timedOut())i=String.format(Sys.Res.webServiceTimedOut,a);else i=String.format(Sys.Res.webServiceFailedNoMsg,a);if(b)b(new Sys.Net.WebServiceError(d.get_timedOut(),i,"",""),g,a)}}return d};Sys.Net.WebServiceProxy._generateTypedConstructor=function(a){return function(b){if(b)for(var c in b)this[c]=b[c];this.__type=a}};Sys._jsonp=0;Sys.Net.WebServiceProxy._xdomain=/^\s*([a-zA-Z0-9\+\-\.]+\:)\/\/([^?#\/]+)/;Sys.Net.WebServiceError=function(d,e,c,a,b){this._timedOut=d;this._message=e;this._stackTrace=c;this._exceptionType=a;this._errorObject=b;this._statusCode=-1};Sys.Net.WebServiceError.prototype={get_timedOut:function(){return this._timedOut},get_statusCode:function(){return this._statusCode},get_message:function(){return this._message},get_stackTrace:function(){return this._stackTrace||""},get_exceptionType:function(){return this._exceptionType||""},get_errorObject:function(){return this._errorObject||null}};Sys.Net.WebServiceError.registerClass("Sys.Net.WebServiceError"); +Type.registerNamespace('Sys');Sys.Res={'argumentInteger':'Value must be an integer.','invokeCalledTwice':'Cannot call invoke more than once.','webServiceFailed':'The server method \'{0}\' failed with the following error: {1}','argumentType':'Object cannot be converted to the required type.','argumentNull':'Value cannot be null.','scriptAlreadyLoaded':'The script \'{0}\' has been referenced multiple times. If referencing Microsoft AJAX scripts explicitly, set the MicrosoftAjaxMode property of the ScriptManager to Explicit.','scriptDependencyNotFound':'The script \'{0}\' failed to load because it is dependent on script \'{1}\'.','formatBadFormatSpecifier':'Format specifier was invalid.','requiredScriptReferenceNotIncluded':'\'{0}\' requires that you have included a script reference to \'{1}\'.','webServiceFailedNoMsg':'The server method \'{0}\' failed.','argumentDomElement':'Value must be a DOM element.','invalidExecutorType':'Could not create a valid Sys.Net.WebRequestExecutor from: {0}.','cannotCallBeforeResponse':'Cannot call {0} when responseAvailable is false.','actualValue':'Actual value was {0}.','enumInvalidValue':'\'{0}\' is not a valid value for enum {1}.','scriptLoadFailed':'The script \'{0}\' could not be loaded.','parameterCount':'Parameter count mismatch.','cannotDeserializeEmptyString':'Cannot deserialize empty string.','formatInvalidString':'Input string was not in a correct format.','invalidTimeout':'Value must be greater than or equal to zero.','cannotAbortBeforeStart':'Cannot abort when executor has not started.','argument':'Value does not fall within the expected range.','cannotDeserializeInvalidJson':'Cannot deserialize. The data does not correspond to valid JSON.','invalidHttpVerb':'httpVerb cannot be set to an empty or null string.','nullWebRequest':'Cannot call executeRequest with a null webRequest.','eventHandlerInvalid':'Handler was not added through the Sys.UI.DomEvent.addHandler method.','cannotSerializeNonFiniteNumbers':'Cannot serialize non finite numbers.','argumentUndefined':'Value cannot be undefined.','webServiceInvalidReturnType':'The server method \'{0}\' returned an invalid type. Expected type: {1}','servicePathNotSet':'The path to the web service has not been set.','argumentTypeWithTypes':'Object of type \'{0}\' cannot be converted to type \'{1}\'.','cannotCallOnceStarted':'Cannot call {0} once started.','badBaseUrl1':'Base URL does not contain ://.','badBaseUrl2':'Base URL does not contain another /.','badBaseUrl3':'Cannot find last / in base URL.','setExecutorAfterActive':'Cannot set executor after it has become active.','paramName':'Parameter name: {0}','nullReferenceInPath':'Null reference while evaluating data path: \'{0}\'.','cannotCallOutsideHandler':'Cannot call {0} outside of a completed event handler.','cannotSerializeObjectWithCycle':'Cannot serialize object with cyclic reference within child properties.','format':'One of the identified items was in an invalid format.','assertFailedCaller':'Assertion Failed: {0}\r\nat {1}','argumentOutOfRange':'Specified argument was out of the range of valid values.','webServiceTimedOut':'The server method \'{0}\' timed out.','notImplemented':'The method or operation is not implemented.','assertFailed':'Assertion Failed: {0}','invalidOperation':'Operation is not valid due to the current state of the object.','breakIntoDebugger':'{0}\r\n\r\nBreak into debugger?'}; diff --git a/CharityPortal/CharityPortal/Scripts/MicrosoftMvcAjax.debug.js b/CharityPortal/CharityPortal/Scripts/MicrosoftMvcAjax.debug.js new file mode 100644 index 0000000..3a39062 --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/MicrosoftMvcAjax.debug.js @@ -0,0 +1,408 @@ +//!---------------------------------------------------------- +//! Copyright (C) Microsoft Corporation. All rights reserved. +//!---------------------------------------------------------- +//! MicrosoftMvcAjax.js + +Type.registerNamespace('Sys.Mvc'); + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.AjaxOptions + +Sys.Mvc.$create_AjaxOptions = function Sys_Mvc_AjaxOptions() { return {}; } + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.InsertionMode + +Sys.Mvc.InsertionMode = function() { + /// + /// + /// + /// + /// + /// +}; +Sys.Mvc.InsertionMode.prototype = { + replace: 0, + insertBefore: 1, + insertAfter: 2 +} +Sys.Mvc.InsertionMode.registerEnum('Sys.Mvc.InsertionMode', false); + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.AjaxContext + +Sys.Mvc.AjaxContext = function Sys_Mvc_AjaxContext(request, updateTarget, loadingElement, insertionMode) { + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + this._request = request; + this._updateTarget = updateTarget; + this._loadingElement = loadingElement; + this._insertionMode = insertionMode; +} +Sys.Mvc.AjaxContext.prototype = { + _insertionMode: 0, + _loadingElement: null, + _response: null, + _request: null, + _updateTarget: null, + + get_data: function Sys_Mvc_AjaxContext$get_data() { + /// + if (this._response) { + return this._response.get_responseData(); + } + else { + return null; + } + }, + + get_insertionMode: function Sys_Mvc_AjaxContext$get_insertionMode() { + /// + return this._insertionMode; + }, + + get_loadingElement: function Sys_Mvc_AjaxContext$get_loadingElement() { + /// + return this._loadingElement; + }, + + get_object: function Sys_Mvc_AjaxContext$get_object() { + /// + var executor = this.get_response(); + return (executor) ? executor.get_object() : null; + }, + + get_response: function Sys_Mvc_AjaxContext$get_response() { + /// + return this._response; + }, + set_response: function Sys_Mvc_AjaxContext$set_response(value) { + /// + this._response = value; + return value; + }, + + get_request: function Sys_Mvc_AjaxContext$get_request() { + /// + return this._request; + }, + + get_updateTarget: function Sys_Mvc_AjaxContext$get_updateTarget() { + /// + return this._updateTarget; + } +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.AsyncHyperlink + +Sys.Mvc.AsyncHyperlink = function Sys_Mvc_AsyncHyperlink() { +} +Sys.Mvc.AsyncHyperlink.handleClick = function Sys_Mvc_AsyncHyperlink$handleClick(anchor, evt, ajaxOptions) { + /// + /// + /// + /// + /// + /// + evt.preventDefault(); + Sys.Mvc.MvcHelpers._asyncRequest(anchor.href, 'post', '', anchor, ajaxOptions); +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.MvcHelpers + +Sys.Mvc.MvcHelpers = function Sys_Mvc_MvcHelpers() { +} +Sys.Mvc.MvcHelpers._serializeSubmitButton = function Sys_Mvc_MvcHelpers$_serializeSubmitButton(element, offsetX, offsetY) { + /// + /// + /// + /// + /// + /// + /// + if (element.disabled) { + return null; + } + var name = element.name; + if (name) { + var tagName = element.tagName.toUpperCase(); + var encodedName = encodeURIComponent(name); + var inputElement = element; + if (tagName === 'INPUT') { + var type = inputElement.type; + if (type === 'submit') { + return encodedName + '=' + encodeURIComponent(inputElement.value); + } + else if (type === 'image') { + return encodedName + '.x=' + offsetX + '&' + encodedName + '.y=' + offsetY; + } + } + else if ((tagName === 'BUTTON') && (name.length) && (inputElement.type === 'submit')) { + return encodedName + '=' + encodeURIComponent(inputElement.value); + } + } + return null; +} +Sys.Mvc.MvcHelpers._serializeForm = function Sys_Mvc_MvcHelpers$_serializeForm(form) { + /// + /// + /// + var formElements = form.elements; + var formBody = new Sys.StringBuilder(); + var count = formElements.length; + for (var i = 0; i < count; i++) { + var element = formElements[i]; + var name = element.name; + if (!name || !name.length) { + continue; + } + var tagName = element.tagName.toUpperCase(); + if (tagName === 'INPUT') { + var inputElement = element; + var type = inputElement.type; + if ((type === 'text') || (type === 'password') || (type === 'hidden') || (((type === 'checkbox') || (type === 'radio')) && element.checked)) { + formBody.append(encodeURIComponent(name)); + formBody.append('='); + formBody.append(encodeURIComponent(inputElement.value)); + formBody.append('&'); + } + } + else if (tagName === 'SELECT') { + var selectElement = element; + var optionCount = selectElement.options.length; + for (var j = 0; j < optionCount; j++) { + var optionElement = selectElement.options[j]; + if (optionElement.selected) { + formBody.append(encodeURIComponent(name)); + formBody.append('='); + formBody.append(encodeURIComponent(optionElement.value)); + formBody.append('&'); + } + } + } + else if (tagName === 'TEXTAREA') { + formBody.append(encodeURIComponent(name)); + formBody.append('='); + formBody.append(encodeURIComponent((element.value))); + formBody.append('&'); + } + } + var additionalInput = form._additionalInput; + if (additionalInput) { + formBody.append(additionalInput); + formBody.append('&'); + } + return formBody.toString(); +} +Sys.Mvc.MvcHelpers._asyncRequest = function Sys_Mvc_MvcHelpers$_asyncRequest(url, verb, body, triggerElement, ajaxOptions) { + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + if (ajaxOptions.confirm) { + if (!confirm(ajaxOptions.confirm)) { + return; + } + } + if (ajaxOptions.url) { + url = ajaxOptions.url; + } + if (ajaxOptions.httpMethod) { + verb = ajaxOptions.httpMethod; + } + if (body.length > 0 && !body.endsWith('&')) { + body += '&'; + } + body += 'X-Requested-With=XMLHttpRequest'; + var upperCaseVerb = verb.toUpperCase(); + var isGetOrPost = (upperCaseVerb === 'GET' || upperCaseVerb === 'POST'); + if (!isGetOrPost) { + body += '&'; + body += 'X-HTTP-Method-Override=' + upperCaseVerb; + } + var requestBody = ''; + if (upperCaseVerb === 'GET' || upperCaseVerb === 'DELETE') { + if (url.indexOf('?') > -1) { + if (!url.endsWith('&')) { + url += '&'; + } + url += body; + } + else { + url += '?'; + url += body; + } + } + else { + requestBody = body; + } + var request = new Sys.Net.WebRequest(); + request.set_url(url); + if (isGetOrPost) { + request.set_httpVerb(verb); + } + else { + request.set_httpVerb('POST'); + request.get_headers()['X-HTTP-Method-Override'] = upperCaseVerb; + } + request.set_body(requestBody); + if (verb.toUpperCase() === 'PUT') { + request.get_headers()['Content-Type'] = 'application/x-www-form-urlencoded;'; + } + request.get_headers()['X-Requested-With'] = 'XMLHttpRequest'; + var updateElement = null; + if (ajaxOptions.updateTargetId) { + updateElement = $get(ajaxOptions.updateTargetId); + } + var loadingElement = null; + if (ajaxOptions.loadingElementId) { + loadingElement = $get(ajaxOptions.loadingElementId); + } + var ajaxContext = new Sys.Mvc.AjaxContext(request, updateElement, loadingElement, ajaxOptions.insertionMode); + var continueRequest = true; + if (ajaxOptions.onBegin) { + continueRequest = ajaxOptions.onBegin(ajaxContext) !== false; + } + if (loadingElement) { + Sys.UI.DomElement.setVisible(ajaxContext.get_loadingElement(), true); + } + if (continueRequest) { + request.add_completed(Function.createDelegate(null, function(executor) { + Sys.Mvc.MvcHelpers._onComplete(request, ajaxOptions, ajaxContext); + })); + request.invoke(); + } +} +Sys.Mvc.MvcHelpers._onComplete = function Sys_Mvc_MvcHelpers$_onComplete(request, ajaxOptions, ajaxContext) { + /// + /// + /// + /// + /// + /// + ajaxContext.set_response(request.get_executor()); + if (ajaxOptions.onComplete && ajaxOptions.onComplete(ajaxContext) === false) { + return; + } + var statusCode = ajaxContext.get_response().get_statusCode(); + if ((statusCode >= 200 && statusCode < 300) || statusCode === 304 || statusCode === 1223) { + if (statusCode !== 204 && statusCode !== 304 && statusCode !== 1223) { + var contentType = ajaxContext.get_response().getResponseHeader('Content-Type'); + if ((contentType) && (contentType.indexOf('application/x-javascript') !== -1)) { + eval(ajaxContext.get_data()); + } + else { + Sys.Mvc.MvcHelpers.updateDomElement(ajaxContext.get_updateTarget(), ajaxContext.get_insertionMode(), ajaxContext.get_data()); + } + } + if (ajaxOptions.onSuccess) { + ajaxOptions.onSuccess(ajaxContext); + } + } + else { + if (ajaxOptions.onFailure) { + ajaxOptions.onFailure(ajaxContext); + } + } + if (ajaxContext.get_loadingElement()) { + Sys.UI.DomElement.setVisible(ajaxContext.get_loadingElement(), false); + } +} +Sys.Mvc.MvcHelpers.updateDomElement = function Sys_Mvc_MvcHelpers$updateDomElement(target, insertionMode, content) { + /// + /// + /// + /// + /// + /// + if (target) { + switch (insertionMode) { + case Sys.Mvc.InsertionMode.replace: + target.innerHTML = content; + break; + case Sys.Mvc.InsertionMode.insertBefore: + if (content && content.length > 0) { + target.innerHTML = content + target.innerHTML.trimStart(); + } + break; + case Sys.Mvc.InsertionMode.insertAfter: + if (content && content.length > 0) { + target.innerHTML = target.innerHTML.trimEnd() + content; + } + break; + } + } +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.AsyncForm + +Sys.Mvc.AsyncForm = function Sys_Mvc_AsyncForm() { +} +Sys.Mvc.AsyncForm.handleClick = function Sys_Mvc_AsyncForm$handleClick(form, evt) { + /// + /// + /// + /// + var additionalInput = Sys.Mvc.MvcHelpers._serializeSubmitButton(evt.target, evt.offsetX, evt.offsetY); + form._additionalInput = additionalInput; +} +Sys.Mvc.AsyncForm.handleSubmit = function Sys_Mvc_AsyncForm$handleSubmit(form, evt, ajaxOptions) { + /// + /// + /// + /// + /// + /// + evt.preventDefault(); + var validationCallbacks = form.validationCallbacks; + if (validationCallbacks) { + for (var i = 0; i < validationCallbacks.length; i++) { + var callback = validationCallbacks[i]; + if (!callback()) { + return; + } + } + } + var body = Sys.Mvc.MvcHelpers._serializeForm(form); + Sys.Mvc.MvcHelpers._asyncRequest(form.action, form.method || 'post', body, form, ajaxOptions); +} + + +Sys.Mvc.AjaxContext.registerClass('Sys.Mvc.AjaxContext'); +Sys.Mvc.AsyncHyperlink.registerClass('Sys.Mvc.AsyncHyperlink'); +Sys.Mvc.MvcHelpers.registerClass('Sys.Mvc.MvcHelpers'); +Sys.Mvc.AsyncForm.registerClass('Sys.Mvc.AsyncForm'); + +// ---- Do not remove this footer ---- +// Generated using Script# v0.5.0.0 (http://projects.nikhilk.net) +// ----------------------------------- diff --git a/CharityPortal/CharityPortal/Scripts/MicrosoftMvcAjax.js b/CharityPortal/CharityPortal/Scripts/MicrosoftMvcAjax.js new file mode 100644 index 0000000..275103c --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/MicrosoftMvcAjax.js @@ -0,0 +1,25 @@ +//---------------------------------------------------------- +// Copyright (C) Microsoft Corporation. All rights reserved. +//---------------------------------------------------------- +// MicrosoftMvcAjax.js + +Type.registerNamespace('Sys.Mvc');Sys.Mvc.$create_AjaxOptions=function(){return {};} +Sys.Mvc.InsertionMode=function(){};Sys.Mvc.InsertionMode.prototype = {replace:0,insertBefore:1,insertAfter:2} +Sys.Mvc.InsertionMode.registerEnum('Sys.Mvc.InsertionMode',false);Sys.Mvc.AjaxContext=function(request,updateTarget,loadingElement,insertionMode){this.$3=request;this.$4=updateTarget;this.$1=loadingElement;this.$0=insertionMode;} +Sys.Mvc.AjaxContext.prototype={$0:0,$1:null,$2:null,$3:null,$4:null,get_data:function(){if(this.$2){return this.$2.get_responseData();}else{return null;}},get_insertionMode:function(){return this.$0;},get_loadingElement:function(){return this.$1;},get_object:function(){var $0=this.get_response();return ($0)?$0.get_object():null;},get_response:function(){return this.$2;},set_response:function(value){this.$2=value;return value;},get_request:function(){return this.$3;},get_updateTarget:function(){return this.$4;}} +Sys.Mvc.AsyncHyperlink=function(){} +Sys.Mvc.AsyncHyperlink.handleClick=function(anchor,evt,ajaxOptions){evt.preventDefault();Sys.Mvc.MvcHelpers.$2(anchor.href,'post','',anchor,ajaxOptions);} +Sys.Mvc.MvcHelpers=function(){} +Sys.Mvc.MvcHelpers.$0=function($p0,$p1,$p2){if($p0.disabled){return null;}var $0=$p0.name;if($0){var $1=$p0.tagName.toUpperCase();var $2=encodeURIComponent($0);var $3=$p0;if($1==='INPUT'){var $4=$3.type;if($4==='submit'){return $2+'='+encodeURIComponent($3.value);}else if($4==='image'){return $2+'.x='+$p1+'&'+$2+'.y='+$p2;}}else if(($1==='BUTTON')&&($0.length)&&($3.type==='submit')){return $2+'='+encodeURIComponent($3.value);}}return null;} +Sys.Mvc.MvcHelpers.$1=function($p0){var $0=$p0.elements;var $1=new Sys.StringBuilder();var $2=$0.length;for(var $4=0;$4<$2;$4++){var $5=$0[$4];var $6=$5.name;if(!$6||!$6.length){continue;}var $7=$5.tagName.toUpperCase();if($7==='INPUT'){var $8=$5;var $9=$8.type;if(($9==='text')||($9==='password')||($9==='hidden')||((($9==='checkbox')||($9==='radio'))&&$5.checked)){$1.append(encodeURIComponent($6));$1.append('=');$1.append(encodeURIComponent($8.value));$1.append('&');}}else if($7==='SELECT'){var $A=$5;var $B=$A.options.length;for(var $C=0;$C<$B;$C++){var $D=$A.options[$C];if($D.selected){$1.append(encodeURIComponent($6));$1.append('=');$1.append(encodeURIComponent($D.value));$1.append('&');}}}else if($7==='TEXTAREA'){$1.append(encodeURIComponent($6));$1.append('=');$1.append(encodeURIComponent(($5.value)));$1.append('&');}}var $3=$p0._additionalInput;if($3){$1.append($3);$1.append('&');}return $1.toString();} +Sys.Mvc.MvcHelpers.$2=function($p0,$p1,$p2,$p3,$p4){if($p4.confirm){if(!confirm($p4.confirm)){return;}}if($p4.url){$p0=$p4.url;}if($p4.httpMethod){$p1=$p4.httpMethod;}if($p2.length>0&&!$p2.endsWith('&')){$p2+='&';}$p2+='X-Requested-With=XMLHttpRequest';var $0=$p1.toUpperCase();var $1=($0==='GET'||$0==='POST');if(!$1){$p2+='&';$p2+='X-HTTP-Method-Override='+$0;}var $2='';if($0==='GET'||$0==='DELETE'){if($p0.indexOf('?')>-1){if(!$p0.endsWith('&')){$p0+='&';}$p0+=$p2;}else{$p0+='?';$p0+=$p2;}}else{$2=$p2;}var $3=new Sys.Net.WebRequest();$3.set_url($p0);if($1){$3.set_httpVerb($p1);}else{$3.set_httpVerb('POST');$3.get_headers()['X-HTTP-Method-Override']=$0;}$3.set_body($2);if($p1.toUpperCase()==='PUT'){$3.get_headers()['Content-Type']='application/x-www-form-urlencoded;';}$3.get_headers()['X-Requested-With']='XMLHttpRequest';var $4=null;if($p4.updateTargetId){$4=$get($p4.updateTargetId);}var $5=null;if($p4.loadingElementId){$5=$get($p4.loadingElementId);}var $6=new Sys.Mvc.AjaxContext($3,$4,$5,$p4.insertionMode);var $7=true;if($p4.onBegin){$7=$p4.onBegin($6)!==false;}if($5){Sys.UI.DomElement.setVisible($6.get_loadingElement(),true);}if($7){$3.add_completed(Function.createDelegate(null,function($p1_0){ +Sys.Mvc.MvcHelpers.$3($3,$p4,$6);}));$3.invoke();}} +Sys.Mvc.MvcHelpers.$3=function($p0,$p1,$p2){$p2.set_response($p0.get_executor());if($p1.onComplete&&$p1.onComplete($p2)===false){return;}var $0=$p2.get_response().get_statusCode();if(($0>=200&&$0<300)||$0===304||$0===1223){if($0!==204&&$0!==304&&$0!==1223){var $1=$p2.get_response().getResponseHeader('Content-Type');if(($1)&&($1.indexOf('application/x-javascript')!==-1)){eval($p2.get_data());}else{Sys.Mvc.MvcHelpers.updateDomElement($p2.get_updateTarget(),$p2.get_insertionMode(),$p2.get_data());}}if($p1.onSuccess){$p1.onSuccess($p2);}}else{if($p1.onFailure){$p1.onFailure($p2);}}if($p2.get_loadingElement()){Sys.UI.DomElement.setVisible($p2.get_loadingElement(),false);}} +Sys.Mvc.MvcHelpers.updateDomElement=function(target,insertionMode,content){if(target){switch(insertionMode){case 0:target.innerHTML=content;break;case 1:if(content&&content.length>0){target.innerHTML=content+target.innerHTML.trimStart();}break;case 2:if(content&&content.length>0){target.innerHTML=target.innerHTML.trimEnd()+content;}break;}}} +Sys.Mvc.AsyncForm=function(){} +Sys.Mvc.AsyncForm.handleClick=function(form,evt){var $0=Sys.Mvc.MvcHelpers.$0(evt.target,evt.offsetX,evt.offsetY);form._additionalInput = $0;} +Sys.Mvc.AsyncForm.handleSubmit=function(form,evt,ajaxOptions){evt.preventDefault();var $0=form.validationCallbacks;if($0){for(var $2=0;$2<$0.length;$2++){var $3=$0[$2];if(!$3()){return;}}}var $1=Sys.Mvc.MvcHelpers.$1(form);Sys.Mvc.MvcHelpers.$2(form.action,form.method||'post',$1,form,ajaxOptions);} +Sys.Mvc.AjaxContext.registerClass('Sys.Mvc.AjaxContext');Sys.Mvc.AsyncHyperlink.registerClass('Sys.Mvc.AsyncHyperlink');Sys.Mvc.MvcHelpers.registerClass('Sys.Mvc.MvcHelpers');Sys.Mvc.AsyncForm.registerClass('Sys.Mvc.AsyncForm'); +// ---- Do not remove this footer ---- +// Generated using Script# v0.5.0.0 (http://projects.nikhilk.net) +// ----------------------------------- diff --git a/CharityPortal/CharityPortal/Scripts/MicrosoftMvcValidation.debug.js b/CharityPortal/CharityPortal/Scripts/MicrosoftMvcValidation.debug.js new file mode 100644 index 0000000..eb032ff --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/MicrosoftMvcValidation.debug.js @@ -0,0 +1,883 @@ +//!---------------------------------------------------------- +//! Copyright (C) Microsoft Corporation. All rights reserved. +//!---------------------------------------------------------- +//! MicrosoftMvcValidation.js + + +Type.registerNamespace('Sys.Mvc'); + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.Validation + +Sys.Mvc.$create_Validation = function Sys_Mvc_Validation() { return {}; } + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.JsonValidationField + +Sys.Mvc.$create_JsonValidationField = function Sys_Mvc_JsonValidationField() { return {}; } + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.JsonValidationOptions + +Sys.Mvc.$create_JsonValidationOptions = function Sys_Mvc_JsonValidationOptions() { return {}; } + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.JsonValidationRule + +Sys.Mvc.$create_JsonValidationRule = function Sys_Mvc_JsonValidationRule() { return {}; } + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.ValidationContext + +Sys.Mvc.$create_ValidationContext = function Sys_Mvc_ValidationContext() { return {}; } + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.NumberValidator + +Sys.Mvc.NumberValidator = function Sys_Mvc_NumberValidator() { +} +Sys.Mvc.NumberValidator.create = function Sys_Mvc_NumberValidator$create(rule) { + /// + /// + /// + return Function.createDelegate(new Sys.Mvc.NumberValidator(), new Sys.Mvc.NumberValidator().validate); +} +Sys.Mvc.NumberValidator.prototype = { + + validate: function Sys_Mvc_NumberValidator$validate(value, context) { + /// + /// + /// + /// + /// + if (Sys.Mvc._validationUtil.stringIsNullOrEmpty(value)) { + return true; + } + var n = Number.parseLocale(value); + return (!isNaN(n)); + } +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.FormContext + +Sys.Mvc.FormContext = function Sys_Mvc_FormContext(formElement, validationSummaryElement) { + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + this._errors = []; + this.fields = new Array(0); + this._formElement = formElement; + this._validationSummaryElement = validationSummaryElement; + formElement[Sys.Mvc.FormContext._formValidationTag] = this; + if (validationSummaryElement) { + var ulElements = validationSummaryElement.getElementsByTagName('ul'); + if (ulElements.length > 0) { + this._validationSummaryULElement = ulElements[0]; + } + } + this._onClickHandler = Function.createDelegate(this, this._form_OnClick); + this._onSubmitHandler = Function.createDelegate(this, this._form_OnSubmit); +} +Sys.Mvc.FormContext._Application_Load = function Sys_Mvc_FormContext$_Application_Load() { + var allFormOptions = window.mvcClientValidationMetadata; + if (allFormOptions) { + while (allFormOptions.length > 0) { + var thisFormOptions = allFormOptions.pop(); + Sys.Mvc.FormContext._parseJsonOptions(thisFormOptions); + } + } +} +Sys.Mvc.FormContext._getFormElementsWithName = function Sys_Mvc_FormContext$_getFormElementsWithName(formElement, name) { + /// + /// + /// + /// + /// + var allElementsWithNameInForm = []; + var allElementsWithName = document.getElementsByName(name); + for (var i = 0; i < allElementsWithName.length; i++) { + var thisElement = allElementsWithName[i]; + if (Sys.Mvc.FormContext._isElementInHierarchy(formElement, thisElement)) { + Array.add(allElementsWithNameInForm, thisElement); + } + } + return allElementsWithNameInForm; +} +Sys.Mvc.FormContext.getValidationForForm = function Sys_Mvc_FormContext$getValidationForForm(formElement) { + /// + /// + /// + return formElement[Sys.Mvc.FormContext._formValidationTag]; +} +Sys.Mvc.FormContext._isElementInHierarchy = function Sys_Mvc_FormContext$_isElementInHierarchy(parent, child) { + /// + /// + /// + /// + /// + while (child) { + if (parent === child) { + return true; + } + child = child.parentNode; + } + return false; +} +Sys.Mvc.FormContext._parseJsonOptions = function Sys_Mvc_FormContext$_parseJsonOptions(options) { + /// + /// + /// + var formElement = $get(options.FormId); + var validationSummaryElement = (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(options.ValidationSummaryId)) ? $get(options.ValidationSummaryId) : null; + var formContext = new Sys.Mvc.FormContext(formElement, validationSummaryElement); + formContext.enableDynamicValidation(); + formContext.replaceValidationSummary = options.ReplaceValidationSummary; + for (var i = 0; i < options.Fields.length; i++) { + var field = options.Fields[i]; + var fieldElements = Sys.Mvc.FormContext._getFormElementsWithName(formElement, field.FieldName); + var validationMessageElement = (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(field.ValidationMessageId)) ? $get(field.ValidationMessageId) : null; + var fieldContext = new Sys.Mvc.FieldContext(formContext); + Array.addRange(fieldContext.elements, fieldElements); + fieldContext.validationMessageElement = validationMessageElement; + fieldContext.replaceValidationMessageContents = field.ReplaceValidationMessageContents; + for (var j = 0; j < field.ValidationRules.length; j++) { + var rule = field.ValidationRules[j]; + var validator = Sys.Mvc.ValidatorRegistry.getValidator(rule); + if (validator) { + var validation = Sys.Mvc.$create_Validation(); + validation.fieldErrorMessage = rule.ErrorMessage; + validation.validator = validator; + Array.add(fieldContext.validations, validation); + } + } + fieldContext.enableDynamicValidation(); + Array.add(formContext.fields, fieldContext); + } + var registeredValidatorCallbacks = formElement.validationCallbacks; + if (!registeredValidatorCallbacks) { + registeredValidatorCallbacks = []; + formElement.validationCallbacks = registeredValidatorCallbacks; + } + registeredValidatorCallbacks.push(Function.createDelegate(null, function() { + return Sys.Mvc._validationUtil.arrayIsNullOrEmpty(formContext.validate('submit')); + })); + return formContext; +} +Sys.Mvc.FormContext.prototype = { + _onClickHandler: null, + _onSubmitHandler: null, + _submitButtonClicked: null, + _validationSummaryElement: null, + _validationSummaryULElement: null, + _formElement: null, + replaceValidationSummary: false, + + addError: function Sys_Mvc_FormContext$addError(message) { + /// + /// + this.addErrors([ message ]); + }, + + addErrors: function Sys_Mvc_FormContext$addErrors(messages) { + /// + /// + if (!Sys.Mvc._validationUtil.arrayIsNullOrEmpty(messages)) { + Array.addRange(this._errors, messages); + this._onErrorCountChanged(); + } + }, + + clearErrors: function Sys_Mvc_FormContext$clearErrors() { + Array.clear(this._errors); + this._onErrorCountChanged(); + }, + + _displayError: function Sys_Mvc_FormContext$_displayError() { + if (this._validationSummaryElement) { + if (this._validationSummaryULElement) { + Sys.Mvc._validationUtil.removeAllChildren(this._validationSummaryULElement); + for (var i = 0; i < this._errors.length; i++) { + var liElement = document.createElement('li'); + Sys.Mvc._validationUtil.setInnerText(liElement, this._errors[i]); + this._validationSummaryULElement.appendChild(liElement); + } + } + Sys.UI.DomElement.removeCssClass(this._validationSummaryElement, Sys.Mvc.FormContext._validationSummaryValidCss); + Sys.UI.DomElement.addCssClass(this._validationSummaryElement, Sys.Mvc.FormContext._validationSummaryErrorCss); + } + }, + + _displaySuccess: function Sys_Mvc_FormContext$_displaySuccess() { + var validationSummaryElement = this._validationSummaryElement; + if (validationSummaryElement) { + var validationSummaryULElement = this._validationSummaryULElement; + if (validationSummaryULElement) { + validationSummaryULElement.innerHTML = ''; + } + Sys.UI.DomElement.removeCssClass(validationSummaryElement, Sys.Mvc.FormContext._validationSummaryErrorCss); + Sys.UI.DomElement.addCssClass(validationSummaryElement, Sys.Mvc.FormContext._validationSummaryValidCss); + } + }, + + enableDynamicValidation: function Sys_Mvc_FormContext$enableDynamicValidation() { + Sys.UI.DomEvent.addHandler(this._formElement, 'click', this._onClickHandler); + Sys.UI.DomEvent.addHandler(this._formElement, 'submit', this._onSubmitHandler); + }, + + _findSubmitButton: function Sys_Mvc_FormContext$_findSubmitButton(element) { + /// + /// + /// + if (element.disabled) { + return null; + } + var tagName = element.tagName.toUpperCase(); + var inputElement = element; + if (tagName === 'INPUT') { + var type = inputElement.type; + if (type === 'submit' || type === 'image') { + return inputElement; + } + } + else if ((tagName === 'BUTTON') && (inputElement.type === 'submit')) { + return inputElement; + } + return null; + }, + + _form_OnClick: function Sys_Mvc_FormContext$_form_OnClick(e) { + /// + /// + this._submitButtonClicked = this._findSubmitButton(e.target); + }, + + _form_OnSubmit: function Sys_Mvc_FormContext$_form_OnSubmit(e) { + /// + /// + var form = e.target; + var submitButton = this._submitButtonClicked; + if (submitButton && submitButton.disableValidation) { + return; + } + var errorMessages = this.validate('submit'); + if (!Sys.Mvc._validationUtil.arrayIsNullOrEmpty(errorMessages)) { + e.preventDefault(); + } + }, + + _onErrorCountChanged: function Sys_Mvc_FormContext$_onErrorCountChanged() { + if (!this._errors.length) { + this._displaySuccess(); + } + else { + this._displayError(); + } + }, + + validate: function Sys_Mvc_FormContext$validate(eventName) { + /// + /// + /// + var fields = this.fields; + var errors = []; + for (var i = 0; i < fields.length; i++) { + var field = fields[i]; + if (!field.elements[0].disabled) { + var thisErrors = field.validate(eventName); + if (thisErrors) { + Array.addRange(errors, thisErrors); + } + } + } + if (this.replaceValidationSummary) { + this.clearErrors(); + this.addErrors(errors); + } + return errors; + } +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.FieldContext + +Sys.Mvc.FieldContext = function Sys_Mvc_FieldContext(formContext) { + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + this._errors = []; + this.elements = new Array(0); + this.validations = new Array(0); + this.formContext = formContext; + this._onBlurHandler = Function.createDelegate(this, this._element_OnBlur); + this._onChangeHandler = Function.createDelegate(this, this._element_OnChange); + this._onInputHandler = Function.createDelegate(this, this._element_OnInput); + this._onPropertyChangeHandler = Function.createDelegate(this, this._element_OnPropertyChange); +} +Sys.Mvc.FieldContext.prototype = { + _onBlurHandler: null, + _onChangeHandler: null, + _onInputHandler: null, + _onPropertyChangeHandler: null, + defaultErrorMessage: null, + formContext: null, + replaceValidationMessageContents: false, + validationMessageElement: null, + + addError: function Sys_Mvc_FieldContext$addError(message) { + /// + /// + this.addErrors([ message ]); + }, + + addErrors: function Sys_Mvc_FieldContext$addErrors(messages) { + /// + /// + if (!Sys.Mvc._validationUtil.arrayIsNullOrEmpty(messages)) { + Array.addRange(this._errors, messages); + this._onErrorCountChanged(); + } + }, + + clearErrors: function Sys_Mvc_FieldContext$clearErrors() { + Array.clear(this._errors); + this._onErrorCountChanged(); + }, + + _displayError: function Sys_Mvc_FieldContext$_displayError() { + var validationMessageElement = this.validationMessageElement; + if (validationMessageElement) { + if (this.replaceValidationMessageContents) { + Sys.Mvc._validationUtil.setInnerText(validationMessageElement, this._errors[0]); + } + Sys.UI.DomElement.removeCssClass(validationMessageElement, Sys.Mvc.FieldContext._validationMessageValidCss); + Sys.UI.DomElement.addCssClass(validationMessageElement, Sys.Mvc.FieldContext._validationMessageErrorCss); + } + var elements = this.elements; + for (var i = 0; i < elements.length; i++) { + var element = elements[i]; + Sys.UI.DomElement.removeCssClass(element, Sys.Mvc.FieldContext._inputElementValidCss); + Sys.UI.DomElement.addCssClass(element, Sys.Mvc.FieldContext._inputElementErrorCss); + } + }, + + _displaySuccess: function Sys_Mvc_FieldContext$_displaySuccess() { + var validationMessageElement = this.validationMessageElement; + if (validationMessageElement) { + if (this.replaceValidationMessageContents) { + Sys.Mvc._validationUtil.setInnerText(validationMessageElement, ''); + } + Sys.UI.DomElement.removeCssClass(validationMessageElement, Sys.Mvc.FieldContext._validationMessageErrorCss); + Sys.UI.DomElement.addCssClass(validationMessageElement, Sys.Mvc.FieldContext._validationMessageValidCss); + } + var elements = this.elements; + for (var i = 0; i < elements.length; i++) { + var element = elements[i]; + Sys.UI.DomElement.removeCssClass(element, Sys.Mvc.FieldContext._inputElementErrorCss); + Sys.UI.DomElement.addCssClass(element, Sys.Mvc.FieldContext._inputElementValidCss); + } + }, + + _element_OnBlur: function Sys_Mvc_FieldContext$_element_OnBlur(e) { + /// + /// + if (e.target[Sys.Mvc.FieldContext._hasTextChangedTag] || e.target[Sys.Mvc.FieldContext._hasValidationFiredTag]) { + this.validate('blur'); + } + }, + + _element_OnChange: function Sys_Mvc_FieldContext$_element_OnChange(e) { + /// + /// + e.target[Sys.Mvc.FieldContext._hasTextChangedTag] = true; + }, + + _element_OnInput: function Sys_Mvc_FieldContext$_element_OnInput(e) { + /// + /// + e.target[Sys.Mvc.FieldContext._hasTextChangedTag] = true; + if (e.target[Sys.Mvc.FieldContext._hasValidationFiredTag]) { + this.validate('input'); + } + }, + + _element_OnPropertyChange: function Sys_Mvc_FieldContext$_element_OnPropertyChange(e) { + /// + /// + if (e.rawEvent.propertyName === 'value') { + e.target[Sys.Mvc.FieldContext._hasTextChangedTag] = true; + if (e.target[Sys.Mvc.FieldContext._hasValidationFiredTag]) { + this.validate('input'); + } + } + }, + + enableDynamicValidation: function Sys_Mvc_FieldContext$enableDynamicValidation() { + var elements = this.elements; + for (var i = 0; i < elements.length; i++) { + var element = elements[i]; + if (Sys.Mvc._validationUtil.elementSupportsEvent(element, 'onpropertychange')) { + var compatMode = document.documentMode; + if (compatMode && compatMode >= 8) { + Sys.UI.DomEvent.addHandler(element, 'propertychange', this._onPropertyChangeHandler); + } + } + else { + Sys.UI.DomEvent.addHandler(element, 'input', this._onInputHandler); + } + Sys.UI.DomEvent.addHandler(element, 'change', this._onChangeHandler); + Sys.UI.DomEvent.addHandler(element, 'blur', this._onBlurHandler); + } + }, + + _getErrorString: function Sys_Mvc_FieldContext$_getErrorString(validatorReturnValue, fieldErrorMessage) { + /// + /// + /// + /// + /// + var fallbackErrorMessage = fieldErrorMessage || this.defaultErrorMessage; + if (Boolean.isInstanceOfType(validatorReturnValue)) { + return (validatorReturnValue) ? null : fallbackErrorMessage; + } + if (String.isInstanceOfType(validatorReturnValue)) { + return ((validatorReturnValue).length) ? validatorReturnValue : fallbackErrorMessage; + } + return null; + }, + + _getStringValue: function Sys_Mvc_FieldContext$_getStringValue() { + /// + var elements = this.elements; + return (elements.length > 0) ? elements[0].value : null; + }, + + _markValidationFired: function Sys_Mvc_FieldContext$_markValidationFired() { + var elements = this.elements; + for (var i = 0; i < elements.length; i++) { + var element = elements[i]; + element[Sys.Mvc.FieldContext._hasValidationFiredTag] = true; + } + }, + + _onErrorCountChanged: function Sys_Mvc_FieldContext$_onErrorCountChanged() { + if (!this._errors.length) { + this._displaySuccess(); + } + else { + this._displayError(); + } + }, + + validate: function Sys_Mvc_FieldContext$validate(eventName) { + /// + /// + /// + var validations = this.validations; + var errors = []; + var value = this._getStringValue(); + for (var i = 0; i < validations.length; i++) { + var validation = validations[i]; + var context = Sys.Mvc.$create_ValidationContext(); + context.eventName = eventName; + context.fieldContext = this; + context.validation = validation; + var retVal = validation.validator(value, context); + var errorMessage = this._getErrorString(retVal, validation.fieldErrorMessage); + if (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(errorMessage)) { + Array.add(errors, errorMessage); + } + } + this._markValidationFired(); + this.clearErrors(); + this.addErrors(errors); + return errors; + } +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.RangeValidator + +Sys.Mvc.RangeValidator = function Sys_Mvc_RangeValidator(minimum, maximum) { + /// + /// + /// + /// + /// + /// + /// + /// + this._minimum = minimum; + this._maximum = maximum; +} +Sys.Mvc.RangeValidator.create = function Sys_Mvc_RangeValidator$create(rule) { + /// + /// + /// + var min = rule.ValidationParameters['min']; + var max = rule.ValidationParameters['max']; + return Function.createDelegate(new Sys.Mvc.RangeValidator(min, max), new Sys.Mvc.RangeValidator(min, max).validate); +} +Sys.Mvc.RangeValidator.prototype = { + _minimum: null, + _maximum: null, + + validate: function Sys_Mvc_RangeValidator$validate(value, context) { + /// + /// + /// + /// + /// + if (Sys.Mvc._validationUtil.stringIsNullOrEmpty(value)) { + return true; + } + var n = Number.parseLocale(value); + return (!isNaN(n) && this._minimum <= n && n <= this._maximum); + } +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.RegularExpressionValidator + +Sys.Mvc.RegularExpressionValidator = function Sys_Mvc_RegularExpressionValidator(pattern) { + /// + /// + /// + /// + this._pattern = pattern; +} +Sys.Mvc.RegularExpressionValidator.create = function Sys_Mvc_RegularExpressionValidator$create(rule) { + /// + /// + /// + var pattern = rule.ValidationParameters['pattern']; + return Function.createDelegate(new Sys.Mvc.RegularExpressionValidator(pattern), new Sys.Mvc.RegularExpressionValidator(pattern).validate); +} +Sys.Mvc.RegularExpressionValidator.prototype = { + _pattern: null, + + validate: function Sys_Mvc_RegularExpressionValidator$validate(value, context) { + /// + /// + /// + /// + /// + if (Sys.Mvc._validationUtil.stringIsNullOrEmpty(value)) { + return true; + } + var regExp = new RegExp(this._pattern); + var matches = regExp.exec(value); + return (!Sys.Mvc._validationUtil.arrayIsNullOrEmpty(matches) && matches[0].length === value.length); + } +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.RequiredValidator + +Sys.Mvc.RequiredValidator = function Sys_Mvc_RequiredValidator() { +} +Sys.Mvc.RequiredValidator.create = function Sys_Mvc_RequiredValidator$create(rule) { + /// + /// + /// + return Function.createDelegate(new Sys.Mvc.RequiredValidator(), new Sys.Mvc.RequiredValidator().validate); +} +Sys.Mvc.RequiredValidator._isRadioInputElement = function Sys_Mvc_RequiredValidator$_isRadioInputElement(element) { + /// + /// + /// + if (element.tagName.toUpperCase() === 'INPUT') { + var inputType = (element.type).toUpperCase(); + if (inputType === 'RADIO') { + return true; + } + } + return false; +} +Sys.Mvc.RequiredValidator._isSelectInputElement = function Sys_Mvc_RequiredValidator$_isSelectInputElement(element) { + /// + /// + /// + if (element.tagName.toUpperCase() === 'SELECT') { + return true; + } + return false; +} +Sys.Mvc.RequiredValidator._isTextualInputElement = function Sys_Mvc_RequiredValidator$_isTextualInputElement(element) { + /// + /// + /// + if (element.tagName.toUpperCase() === 'INPUT') { + var inputType = (element.type).toUpperCase(); + switch (inputType) { + case 'TEXT': + case 'PASSWORD': + case 'FILE': + return true; + } + } + if (element.tagName.toUpperCase() === 'TEXTAREA') { + return true; + } + return false; +} +Sys.Mvc.RequiredValidator._validateRadioInput = function Sys_Mvc_RequiredValidator$_validateRadioInput(elements) { + /// + /// + /// + for (var i = 0; i < elements.length; i++) { + var element = elements[i]; + if (element.checked) { + return true; + } + } + return false; +} +Sys.Mvc.RequiredValidator._validateSelectInput = function Sys_Mvc_RequiredValidator$_validateSelectInput(optionElements) { + /// + /// + /// + for (var i = 0; i < optionElements.length; i++) { + var element = optionElements[i]; + if (element.selected) { + if (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(element.value)) { + return true; + } + } + } + return false; +} +Sys.Mvc.RequiredValidator._validateTextualInput = function Sys_Mvc_RequiredValidator$_validateTextualInput(element) { + /// + /// + /// + return (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(element.value)); +} +Sys.Mvc.RequiredValidator.prototype = { + + validate: function Sys_Mvc_RequiredValidator$validate(value, context) { + /// + /// + /// + /// + /// + var elements = context.fieldContext.elements; + if (!elements.length) { + return true; + } + var sampleElement = elements[0]; + if (Sys.Mvc.RequiredValidator._isTextualInputElement(sampleElement)) { + return Sys.Mvc.RequiredValidator._validateTextualInput(sampleElement); + } + if (Sys.Mvc.RequiredValidator._isRadioInputElement(sampleElement)) { + return Sys.Mvc.RequiredValidator._validateRadioInput(elements); + } + if (Sys.Mvc.RequiredValidator._isSelectInputElement(sampleElement)) { + return Sys.Mvc.RequiredValidator._validateSelectInput((sampleElement).options); + } + return true; + } +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.StringLengthValidator + +Sys.Mvc.StringLengthValidator = function Sys_Mvc_StringLengthValidator(minLength, maxLength) { + /// + /// + /// + /// + /// + /// + /// + /// + this._minLength = minLength; + this._maxLength = maxLength; +} +Sys.Mvc.StringLengthValidator.create = function Sys_Mvc_StringLengthValidator$create(rule) { + /// + /// + /// + var minLength = (rule.ValidationParameters['min'] || 0); + var maxLength = (rule.ValidationParameters['max'] || Number.MAX_VALUE); + return Function.createDelegate(new Sys.Mvc.StringLengthValidator(minLength, maxLength), new Sys.Mvc.StringLengthValidator(minLength, maxLength).validate); +} +Sys.Mvc.StringLengthValidator.prototype = { + _maxLength: 0, + _minLength: 0, + + validate: function Sys_Mvc_StringLengthValidator$validate(value, context) { + /// + /// + /// + /// + /// + if (Sys.Mvc._validationUtil.stringIsNullOrEmpty(value)) { + return true; + } + return (this._minLength <= value.length && value.length <= this._maxLength); + } +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc._validationUtil + +Sys.Mvc._validationUtil = function Sys_Mvc__validationUtil() { +} +Sys.Mvc._validationUtil.arrayIsNullOrEmpty = function Sys_Mvc__validationUtil$arrayIsNullOrEmpty(array) { + /// + /// + /// + return (!array || !array.length); +} +Sys.Mvc._validationUtil.stringIsNullOrEmpty = function Sys_Mvc__validationUtil$stringIsNullOrEmpty(value) { + /// + /// + /// + return (!value || !value.length); +} +Sys.Mvc._validationUtil.elementSupportsEvent = function Sys_Mvc__validationUtil$elementSupportsEvent(element, eventAttributeName) { + /// + /// + /// + /// + /// + return (eventAttributeName in element); +} +Sys.Mvc._validationUtil.removeAllChildren = function Sys_Mvc__validationUtil$removeAllChildren(element) { + /// + /// + while (element.firstChild) { + element.removeChild(element.firstChild); + } +} +Sys.Mvc._validationUtil.setInnerText = function Sys_Mvc__validationUtil$setInnerText(element, innerText) { + /// + /// + /// + /// + var textNode = document.createTextNode(innerText); + Sys.Mvc._validationUtil.removeAllChildren(element); + element.appendChild(textNode); +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.ValidatorRegistry + +Sys.Mvc.ValidatorRegistry = function Sys_Mvc_ValidatorRegistry() { + /// + /// +} +Sys.Mvc.ValidatorRegistry.getValidator = function Sys_Mvc_ValidatorRegistry$getValidator(rule) { + /// + /// + /// + var creator = Sys.Mvc.ValidatorRegistry.validators[rule.ValidationType]; + return (creator) ? creator(rule) : null; +} +Sys.Mvc.ValidatorRegistry._getDefaultValidators = function Sys_Mvc_ValidatorRegistry$_getDefaultValidators() { + /// + return { required: Function.createDelegate(null, Sys.Mvc.RequiredValidator.create), length: Function.createDelegate(null, Sys.Mvc.StringLengthValidator.create), regex: Function.createDelegate(null, Sys.Mvc.RegularExpressionValidator.create), range: Function.createDelegate(null, Sys.Mvc.RangeValidator.create), number: Function.createDelegate(null, Sys.Mvc.NumberValidator.create) }; +} + + +Sys.Mvc.NumberValidator.registerClass('Sys.Mvc.NumberValidator'); +Sys.Mvc.FormContext.registerClass('Sys.Mvc.FormContext'); +Sys.Mvc.FieldContext.registerClass('Sys.Mvc.FieldContext'); +Sys.Mvc.RangeValidator.registerClass('Sys.Mvc.RangeValidator'); +Sys.Mvc.RegularExpressionValidator.registerClass('Sys.Mvc.RegularExpressionValidator'); +Sys.Mvc.RequiredValidator.registerClass('Sys.Mvc.RequiredValidator'); +Sys.Mvc.StringLengthValidator.registerClass('Sys.Mvc.StringLengthValidator'); +Sys.Mvc._validationUtil.registerClass('Sys.Mvc._validationUtil'); +Sys.Mvc.ValidatorRegistry.registerClass('Sys.Mvc.ValidatorRegistry'); +Sys.Mvc.FormContext._validationSummaryErrorCss = 'validation-summary-errors'; +Sys.Mvc.FormContext._validationSummaryValidCss = 'validation-summary-valid'; +Sys.Mvc.FormContext._formValidationTag = '__MVC_FormValidation'; +Sys.Mvc.FieldContext._hasTextChangedTag = '__MVC_HasTextChanged'; +Sys.Mvc.FieldContext._hasValidationFiredTag = '__MVC_HasValidationFired'; +Sys.Mvc.FieldContext._inputElementErrorCss = 'input-validation-error'; +Sys.Mvc.FieldContext._inputElementValidCss = 'input-validation-valid'; +Sys.Mvc.FieldContext._validationMessageErrorCss = 'field-validation-error'; +Sys.Mvc.FieldContext._validationMessageValidCss = 'field-validation-valid'; +Sys.Mvc.ValidatorRegistry.validators = Sys.Mvc.ValidatorRegistry._getDefaultValidators(); + +// ---- Do not remove this footer ---- +// Generated using Script# v0.5.0.0 (http://projects.nikhilk.net) +// ----------------------------------- + +// register validation +Sys.Application.add_load(function() { + Sys.Application.remove_load(arguments.callee); + Sys.Mvc.FormContext._Application_Load(); +}); diff --git a/CharityPortal/CharityPortal/Scripts/MicrosoftMvcValidation.js b/CharityPortal/CharityPortal/Scripts/MicrosoftMvcValidation.js new file mode 100644 index 0000000..f91163a --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/MicrosoftMvcValidation.js @@ -0,0 +1,55 @@ +//---------------------------------------------------------- +// Copyright (C) Microsoft Corporation. All rights reserved. +//---------------------------------------------------------- +// MicrosoftMvcValidation.js + +Type.registerNamespace('Sys.Mvc');Sys.Mvc.$create_Validation=function(){return {};} +Sys.Mvc.$create_JsonValidationField=function(){return {};} +Sys.Mvc.$create_JsonValidationOptions=function(){return {};} +Sys.Mvc.$create_JsonValidationRule=function(){return {};} +Sys.Mvc.$create_ValidationContext=function(){return {};} +Sys.Mvc.NumberValidator=function(){} +Sys.Mvc.NumberValidator.create=function(rule){return Function.createDelegate(new Sys.Mvc.NumberValidator(),new Sys.Mvc.NumberValidator().validate);} +Sys.Mvc.NumberValidator.prototype={validate:function(value,context){if(Sys.Mvc._ValidationUtil.$1(value)){return true;}var $0=Number.parseLocale(value);return (!isNaN($0));}} +Sys.Mvc.FormContext=function(formElement,validationSummaryElement){this.$5=[];this.fields=new Array(0);this.$9=formElement;this.$7=validationSummaryElement;formElement['__MVC_FormValidation'] = this;if(validationSummaryElement){var $0=validationSummaryElement.getElementsByTagName('ul');if($0.length>0){this.$8=$0[0];}}this.$3=Function.createDelegate(this,this.$D);this.$4=Function.createDelegate(this,this.$E);} +Sys.Mvc.FormContext._Application_Load=function(){var $0=window.mvcClientValidationMetadata;if($0){while($0.length>0){var $1=$0.pop();Sys.Mvc.FormContext.$12($1);}}} +Sys.Mvc.FormContext.$F=function($p0,$p1){var $0=[];var $1=document.getElementsByName($p1);for(var $2=0;$2<$1.length;$2++){var $3=$1[$2];if(Sys.Mvc.FormContext.$10($p0,$3)){Array.add($0,$3);}}return $0;} +Sys.Mvc.FormContext.getValidationForForm=function(formElement){return formElement['__MVC_FormValidation'];} +Sys.Mvc.FormContext.$10=function($p0,$p1){while($p1){if($p0===$p1){return true;}$p1=$p1.parentNode;}return false;} +Sys.Mvc.FormContext.$12=function($p0){var $0=$get($p0.FormId);var $1=(!Sys.Mvc._ValidationUtil.$1($p0.ValidationSummaryId))?$get($p0.ValidationSummaryId):null;var $2=new Sys.Mvc.FormContext($0,$1);$2.enableDynamicValidation();$2.replaceValidationSummary=$p0.ReplaceValidationSummary;for(var $4=0;$4<$p0.Fields.length;$4++){var $5=$p0.Fields[$4];var $6=Sys.Mvc.FormContext.$F($0,$5.FieldName);var $7=(!Sys.Mvc._ValidationUtil.$1($5.ValidationMessageId))?$get($5.ValidationMessageId):null;var $8=new Sys.Mvc.FieldContext($2);Array.addRange($8.elements,$6);$8.validationMessageElement=$7;$8.replaceValidationMessageContents=$5.ReplaceValidationMessageContents;for(var $9=0;$9<$5.ValidationRules.length;$9++){var $A=$5.ValidationRules[$9];var $B=Sys.Mvc.ValidatorRegistry.getValidator($A);if($B){var $C=Sys.Mvc.$create_Validation();$C.fieldErrorMessage=$A.ErrorMessage;$C.validator=$B;Array.add($8.validations,$C);}}$8.enableDynamicValidation();Array.add($2.fields,$8);}var $3=$0.validationCallbacks;if(!$3){$3=[];$0.validationCallbacks = $3;}$3.push(Function.createDelegate(null,function(){ +return Sys.Mvc._ValidationUtil.$0($2.validate('submit'));}));return $2;} +Sys.Mvc.FormContext.prototype={$3:null,$4:null,$6:null,$7:null,$8:null,$9:null,replaceValidationSummary:false,addError:function(message){this.addErrors([message]);},addErrors:function(messages){if(!Sys.Mvc._ValidationUtil.$0(messages)){Array.addRange(this.$5,messages);this.$11();}},clearErrors:function(){Array.clear(this.$5);this.$11();},$A:function(){if(this.$7){if(this.$8){Sys.Mvc._ValidationUtil.$3(this.$8);for(var $0=0;$0=8){Sys.UI.DomEvent.addHandler($2,'propertychange',this.$9);}}else{Sys.UI.DomEvent.addHandler($2,'input',this.$8);}Sys.UI.DomEvent.addHandler($2,'change',this.$7);Sys.UI.DomEvent.addHandler($2,'blur',this.$6);}},$11:function($p0,$p1){var $0=$p1||this.defaultErrorMessage;if(Boolean.isInstanceOfType($p0)){return ($p0)?null:$0;}if(String.isInstanceOfType($p0)){return (($p0).length)?$p0:$0;}return null;},$12:function(){var $0=this.elements;return ($0.length>0)?$0[0].value:null;},$13:function(){var $0=this.elements;for(var $1=0;$1<$0.length;$1++){var $2=$0[$1];$2['__MVC_HasValidationFired'] = true;}},$14:function(){if(!this.$A.length){this.$C();}else{this.$B();}},validate:function(eventName){var $0=this.validations;var $1=[];var $2=this.$12();for(var $3=0;$3<$0.length;$3++){var $4=$0[$3];var $5=Sys.Mvc.$create_ValidationContext();$5.eventName=eventName;$5.fieldContext=this;$5.validation=$4;var $6=$4.validator($2,$5);var $7=this.$11($6,$4.fieldErrorMessage);if(!Sys.Mvc._ValidationUtil.$1($7)){Array.add($1,$7);}}this.$13();this.clearErrors();this.addErrors($1);return $1;}} +Sys.Mvc.RangeValidator=function(minimum,maximum){this.$0=minimum;this.$1=maximum;} +Sys.Mvc.RangeValidator.create=function(rule){var $0=rule.ValidationParameters['min'];var $1=rule.ValidationParameters['max'];return Function.createDelegate(new Sys.Mvc.RangeValidator($0,$1),new Sys.Mvc.RangeValidator($0,$1).validate);} +Sys.Mvc.RangeValidator.prototype={$0:null,$1:null,validate:function(value,context){if(Sys.Mvc._ValidationUtil.$1(value)){return true;}var $0=Number.parseLocale(value);return (!isNaN($0)&&this.$0<=$0&&$0<=this.$1);}} +Sys.Mvc.RegularExpressionValidator=function(pattern){this.$0=pattern;} +Sys.Mvc.RegularExpressionValidator.create=function(rule){var $0=rule.ValidationParameters['pattern'];return Function.createDelegate(new Sys.Mvc.RegularExpressionValidator($0),new Sys.Mvc.RegularExpressionValidator($0).validate);} +Sys.Mvc.RegularExpressionValidator.prototype={$0:null,validate:function(value,context){if(Sys.Mvc._ValidationUtil.$1(value)){return true;}var $0=new RegExp(this.$0);var $1=$0.exec(value);return (!Sys.Mvc._ValidationUtil.$0($1)&&$1[0].length===value.length);}} +Sys.Mvc.RequiredValidator=function(){} +Sys.Mvc.RequiredValidator.create=function(rule){return Function.createDelegate(new Sys.Mvc.RequiredValidator(),new Sys.Mvc.RequiredValidator().validate);} +Sys.Mvc.RequiredValidator.$0=function($p0){if($p0.tagName.toUpperCase()==='INPUT'){var $0=($p0.type).toUpperCase();if($0==='RADIO'){return true;}}return false;} +Sys.Mvc.RequiredValidator.$1=function($p0){if($p0.tagName.toUpperCase()==='SELECT'){return true;}return false;} +Sys.Mvc.RequiredValidator.$2=function($p0){if($p0.tagName.toUpperCase()==='INPUT'){var $0=($p0.type).toUpperCase();switch($0){case 'TEXT':case 'PASSWORD':case 'FILE':return true;}}if($p0.tagName.toUpperCase()==='TEXTAREA'){return true;}return false;} +Sys.Mvc.RequiredValidator.$3=function($p0){for(var $0=0;$0<$p0.length;$0++){var $1=$p0[$0];if($1.checked){return true;}}return false;} +Sys.Mvc.RequiredValidator.$4=function($p0){for(var $0=0;$0<$p0.length;$0++){var $1=$p0[$0];if($1.selected){if(!Sys.Mvc._ValidationUtil.$1($1.value)){return true;}}}return false;} +Sys.Mvc.RequiredValidator.$5=function($p0){return (!Sys.Mvc._ValidationUtil.$1($p0.value));} +Sys.Mvc.RequiredValidator.prototype={validate:function(value,context){var $0=context.fieldContext.elements;if(!$0.length){return true;}var $1=$0[0];if(Sys.Mvc.RequiredValidator.$2($1)){return Sys.Mvc.RequiredValidator.$5($1);}if(Sys.Mvc.RequiredValidator.$0($1)){return Sys.Mvc.RequiredValidator.$3($0);}if(Sys.Mvc.RequiredValidator.$1($1)){return Sys.Mvc.RequiredValidator.$4(($1).options);}return true;}} +Sys.Mvc.StringLengthValidator=function(minLength,maxLength){this.$1=minLength;this.$0=maxLength;} +Sys.Mvc.StringLengthValidator.create=function(rule){var $0=(rule.ValidationParameters['min']||0);var $1=(rule.ValidationParameters['max']||Number.MAX_VALUE);return Function.createDelegate(new Sys.Mvc.StringLengthValidator($0,$1),new Sys.Mvc.StringLengthValidator($0,$1).validate);} +Sys.Mvc.StringLengthValidator.prototype={$0:0,$1:0,validate:function(value,context){if(Sys.Mvc._ValidationUtil.$1(value)){return true;}return (this.$1<=value.length&&value.length<=this.$0);}} +Sys.Mvc._ValidationUtil=function(){} +Sys.Mvc._ValidationUtil.$0=function($p0){return (!$p0||!$p0.length);} +Sys.Mvc._ValidationUtil.$1=function($p0){return (!$p0||!$p0.length);} +Sys.Mvc._ValidationUtil.$2=function($p0,$p1){return ($p1 in $p0);} +Sys.Mvc._ValidationUtil.$3=function($p0){while($p0.firstChild){$p0.removeChild($p0.firstChild);}} +Sys.Mvc._ValidationUtil.$4=function($p0,$p1){var $0=document.createTextNode($p1);Sys.Mvc._ValidationUtil.$3($p0);$p0.appendChild($0);} +Sys.Mvc.ValidatorRegistry=function(){} +Sys.Mvc.ValidatorRegistry.getValidator=function(rule){var $0=Sys.Mvc.ValidatorRegistry.validators[rule.ValidationType];return ($0)?$0(rule):null;} +Sys.Mvc.ValidatorRegistry.$0=function(){return {required:Function.createDelegate(null,Sys.Mvc.RequiredValidator.create),length:Function.createDelegate(null,Sys.Mvc.StringLengthValidator.create),regex:Function.createDelegate(null,Sys.Mvc.RegularExpressionValidator.create),range:Function.createDelegate(null,Sys.Mvc.RangeValidator.create),number:Function.createDelegate(null,Sys.Mvc.NumberValidator.create)};} +Sys.Mvc.NumberValidator.registerClass('Sys.Mvc.NumberValidator');Sys.Mvc.FormContext.registerClass('Sys.Mvc.FormContext');Sys.Mvc.FieldContext.registerClass('Sys.Mvc.FieldContext');Sys.Mvc.RangeValidator.registerClass('Sys.Mvc.RangeValidator');Sys.Mvc.RegularExpressionValidator.registerClass('Sys.Mvc.RegularExpressionValidator');Sys.Mvc.RequiredValidator.registerClass('Sys.Mvc.RequiredValidator');Sys.Mvc.StringLengthValidator.registerClass('Sys.Mvc.StringLengthValidator');Sys.Mvc._ValidationUtil.registerClass('Sys.Mvc._ValidationUtil');Sys.Mvc.ValidatorRegistry.registerClass('Sys.Mvc.ValidatorRegistry');Sys.Mvc.ValidatorRegistry.validators=Sys.Mvc.ValidatorRegistry.$0(); +// ---- Do not remove this footer ---- +// Generated using Script# v0.5.0.0 (http://projects.nikhilk.net) +// ----------------------------------- +Sys.Application.add_load(function(){Sys.Application.remove_load(arguments.callee);Sys.Mvc.FormContext._Application_Load();}); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/jquery-1.5.1-vsdoc.js b/CharityPortal/CharityPortal/Scripts/jquery-1.5.1-vsdoc.js new file mode 100644 index 0000000..377869f --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/jquery-1.5.1-vsdoc.js @@ -0,0 +1,9110 @@ +/* + * This file has been commented to support Visual Studio Intellisense. + * You should not use this file at runtime inside the browser--it is only + * intended to be used only for design-time IntelliSense. Please use the + * standard jQuery library for all production use. + * + * Comment version: 1.5.1 + */ + +/*! + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery JavaScript Library v1.5.1 + * http://jquery.com/ + * + * Copyright 2010, John Resig + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2010, The Dojo Foundation + * + */ +(function( window, undefined ) { + +// Use the correct document accordingly with window argument (sandbox) +var document = window.document; +var jQuery = (function() { + +// Define a local copy of jQuery +var jQuery = function( selector, context ) { + /// + /// 1: $(expression, context) - This function accepts a string containing a CSS selector which is then used to match a set of elements. + /// 2: $(html) - Create DOM elements on-the-fly from the provided String of raw HTML. + /// 3: $(elements) - Wrap jQuery functionality around a single or multiple DOM Element(s). + /// 4: $(callback) - A shorthand for $(document).ready(). + /// 5: $() - As of jQuery 1.4, if you pass no arguments in to the jQuery() method, an empty jQuery set will be returned. + /// + /// + /// 1: expression - An expression to search with. + /// 2: html - A string of HTML to create on the fly. + /// 3: elements - DOM element(s) to be encapsulated by a jQuery object. + /// 4: callback - The function to execute when the DOM is ready. + /// + /// + /// 1: context - A DOM Element, Document or jQuery to use as context. + /// + /// + + // The jQuery object is actually just the init constructor 'enhanced' + return new jQuery.fn.init( selector, context ); + }, + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$, + + // A central reference to the root jQuery(document) + rootjQuery, + + // A simple way to check for HTML strings or ID strings + // (both of which we optimize for) + quickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/, + + // Is it a simple selector + isSimple = /^.[^:#\[\.,]*$/, + + // Check if a string has a non-whitespace character in it + rnotwhite = /\S/, + rwhite = /\s/, + + // Used for trimming whitespace + trimLeft = /^\s+/, + trimRight = /\s+$/, + + // Check for non-word characters + rnonword = /\W/, + + // Check for digits + rdigit = /\d/, + + // Match a standalone tag + rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, + + // JSON RegExp + rvalidchars = /^[\],:{}\s]*$/, + rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, + rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, + rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, + + // Useragent RegExp + rwebkit = /(webkit)[ \/]([\w.]+)/, + ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/, + rmsie = /(msie) ([\w.]+)/, + rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/, + + // Keep a UserAgent string for use with jQuery.browser + userAgent = navigator.userAgent, + + // For matching the engine and version of the browser + browserMatch, + + // Has the ready events already been bound? + readyBound = false, + + // The functions to execute on DOM ready + readyList = [], + + // The ready event handler + DOMContentLoaded, + + // Save a reference to some core methods + toString = Object.prototype.toString, + hasOwn = Object.prototype.hasOwnProperty, + push = Array.prototype.push, + slice = Array.prototype.slice, + trim = String.prototype.trim, + indexOf = Array.prototype.indexOf, + + // [[Class]] -> type pairs + class2type = {}; + +jQuery.fn = jQuery.prototype = { + init: function( selector, context ) { + var match, elem, ret, doc; + + // Handle $(""), $(null), or $(undefined) + if ( !selector ) { + return this; + } + + // Handle $(DOMElement) + if ( selector.nodeType ) { + this.context = this[0] = selector; + this.length = 1; + return this; + } + + // The body element only exists once, optimize finding it + if ( selector === "body" && !context && document.body ) { + this.context = document; + this[0] = document.body; + this.selector = "body"; + this.length = 1; + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + // Are we dealing with HTML string or an ID? + match = quickExpr.exec( selector ); + + // Verify a match, and that no context was specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) { + doc = (context ? context.ownerDocument || context : document); + + // If a single string is passed in and it's a single tag + // just do a createElement and skip the rest + ret = rsingleTag.exec( selector ); + + if ( ret ) { + if ( jQuery.isPlainObject( context ) ) { + selector = [ document.createElement( ret[1] ) ]; + jQuery.fn.attr.call( selector, context, true ); + + } else { + selector = [ doc.createElement( ret[1] ) ]; + } + + } else { + ret = jQuery.buildFragment( [ match[1] ], [ doc ] ); + selector = (ret.cacheable ? ret.fragment.cloneNode(true) : ret.fragment).childNodes; + } + + return jQuery.merge( this, selector ); + + // HANDLE: $("#id") + } else { + elem = document.getElementById( match[2] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id !== match[2] ) { + return rootjQuery.find( selector ); + } + + // Otherwise, we inject the element directly into the jQuery object + this.length = 1; + this[0] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $("TAG") + } else if ( !context && !rnonword.test( selector ) ) { + this.selector = selector; + this.context = document; + selector = document.getElementsByTagName( selector ); + return jQuery.merge( this, selector ); + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return (context || rootjQuery).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return jQuery( context ).find( selector ); + } + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return rootjQuery.ready( selector ); + } + + if (selector.selector !== undefined) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }, + + // Start with an empty selector + selector: "", + + // The current version of jQuery being used + jquery: "1.4.4", + + // The default length of a jQuery object is 0 + length: 0, + + // The number of elements contained in the matched element set + size: function() { + /// + /// The number of elements currently matched. + /// Part of Core + /// + /// + + return this.length; + }, + + toArray: function() { + /// + /// Retrieve all the DOM elements contained in the jQuery set, as an array. + /// + /// + return slice.call( this, 0 ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + /// + /// Access a single matched element. num is used to access the + /// Nth element matched. + /// Part of Core + /// + /// + /// + /// Access the element in the Nth position. + /// + + return num == null ? + + // Return a 'clean' array + this.toArray() : + + // Return just the object + ( num < 0 ? this.slice(num)[ 0 ] : this[ num ] ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems, name, selector ) { + /// + /// Set the jQuery object to an array of elements, while maintaining + /// the stack. + /// Part of Core + /// + /// + /// + /// An array of elements + /// + + // Build a new jQuery matched element set + var ret = jQuery(); + + if ( jQuery.isArray( elems ) ) { + push.apply( ret, elems ); + + } else { + jQuery.merge( ret, elems ); + } + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + ret.context = this.context; + + if ( name === "find" ) { + ret.selector = this.selector + (this.selector ? " " : "") + selector; + } else if ( name ) { + ret.selector = this.selector + "." + name + "(" + selector + ")"; + } + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + // (You can seed the arguments with an array of args, but this is + // only used internally.) + each: function( callback, args ) { + /// + /// Execute a function within the context of every matched element. + /// This means that every time the passed-in function is executed + /// (which is once for every element matched) the 'this' keyword + /// points to the specific element. + /// Additionally, the function, when executed, is passed a single + /// argument representing the position of the element in the matched + /// set. + /// Part of Core + /// + /// + /// + /// A function to execute + /// + + return jQuery.each( this, callback, args ); + }, + + ready: function( fn ) { + /// + /// Binds a function to be executed whenever the DOM is ready to be traversed and manipulated. + /// + /// The function to be executed when the DOM is ready. + + // Attach the listeners + jQuery.bindReady(); + + // If the DOM is already ready + if ( jQuery.isReady ) { + // Execute the function immediately + fn.call( document, jQuery ); + + // Otherwise, remember the function for later + } else if ( readyList ) { + // Add the function to the wait list + readyList.push( fn ); + } + + return this; + }, + + eq: function( i ) { + /// + /// Reduce the set of matched elements to a single element. + /// The position of the element in the set of matched elements + /// starts at 0 and goes to length - 1. + /// Part of Core + /// + /// + /// + /// pos The index of the element that you wish to limit to. + /// + + return i === -1 ? + this.slice( i ) : + this.slice( i, +i + 1 ); + }, + + first: function() { + /// + /// Reduce the set of matched elements to the first in the set. + /// + /// + + return this.eq( 0 ); + }, + + last: function() { + /// + /// Reduce the set of matched elements to the final one in the set. + /// + /// + + return this.eq( -1 ); + }, + + slice: function() { + /// + /// Selects a subset of the matched elements. Behaves exactly like the built-in Array slice method. + /// + /// Where to start the subset (0-based). + /// Where to end the subset (not including the end element itself). + /// If omitted, ends at the end of the selection + /// The sliced elements + + return this.pushStack( slice.apply( this, arguments ), + "slice", slice.call(arguments).join(",") ); + }, + + map: function( callback ) { + /// + /// This member is internal. + /// + /// + /// + + return this.pushStack( jQuery.map(this, function( elem, i ) { + return callback.call( elem, i, elem ); + })); + }, + + end: function() { + /// + /// End the most recent 'destructive' operation, reverting the list of matched elements + /// back to its previous state. After an end operation, the list of matched elements will + /// revert to the last state of matched elements. + /// If there was no destructive operation before, an empty set is returned. + /// Part of DOM/Traversing + /// + /// + + return this.prevObject || jQuery(null); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: [].sort, + splice: [].splice +}; + +// Give the init function the jQuery prototype for later instantiation +jQuery.fn.init.prototype = jQuery.fn; + +jQuery.extend = jQuery.fn.extend = function() { + /// + /// Extend one object with one or more others, returning the original, + /// modified, object. This is a great utility for simple inheritance. + /// jQuery.extend(settings, options); + /// var settings = jQuery.extend({}, defaults, options); + /// Part of JavaScript + /// + /// + /// The object to extend + /// + /// + /// The object that will be merged into the first. + /// + /// + /// (optional) More objects to merge into the first + /// + /// + + var options, name, src, copy, copyIsArray, clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + target = arguments[1] || {}; + // skip the boolean and the target + i = 2; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction(target) ) { + target = {}; + } + + // extend jQuery itself if only one argument is passed + if ( length === i ) { + target = this; + --i; + } + + for ( ; i < length; i++ ) { + // Only deal with non-null/undefined values + if ( (options = arguments[ i ]) != null ) { + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray(src) ? src : []; + + } else { + clone = src && jQuery.isPlainObject(src) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend({ + noConflict: function( deep ) { + /// + /// Run this function to give control of the $ variable back + /// to whichever library first implemented it. This helps to make + /// sure that jQuery doesn't conflict with the $ object + /// of other libraries. + /// By using this function, you will only be able to access jQuery + /// using the 'jQuery' variable. For example, where you used to do + /// $("div p"), you now must do jQuery("div p"). + /// Part of Core + /// + /// + + window.$ = _$; + + if ( deep ) { + window.jQuery = _jQuery; + } + + return jQuery; + }, + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + /// + /// This method is internal. + /// + /// + + // A third-party is pushing the ready event forwards + if ( wait === true ) { + jQuery.readyWait--; + } + + // Make sure that the DOM is not already loaded + if ( !jQuery.readyWait || (wait !== true && !jQuery.isReady) ) { + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( !document.body ) { + return setTimeout( jQuery.ready, 1 ); + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + if ( readyList ) { + // Execute all of them + var fn, + i = 0, + ready = readyList; + + // Reset the list of functions + readyList = null; + + while ( (fn = ready[ i++ ]) ) { + fn.call( document, jQuery ); + } + + // Trigger any bound ready events + if ( jQuery.fn.trigger ) { + jQuery( document ).trigger( "ready" ).unbind( "ready" ); + } + } + } + }, + + bindReady: function() { + if ( readyBound ) { + return; + } + + readyBound = true; + + // Catch cases where $(document).ready() is called after the + // browser event has already occurred. + if ( document.readyState === "complete" ) { + // Handle it asynchronously to allow scripts the opportunity to delay ready + return setTimeout( jQuery.ready, 1 ); + } + + // Mozilla, Opera and webkit nightlies currently support this event + if ( document.addEventListener ) { + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", jQuery.ready, false ); + + // If IE event model is used + } else if ( document.attachEvent ) { + // ensure firing before onload, + // maybe late but safe also for iframes + document.attachEvent("onreadystatechange", DOMContentLoaded); + + // A fallback to window.onload, that will always work + window.attachEvent( "onload", jQuery.ready ); + + // If IE and not a frame + // continually check to see if the document is ready + var toplevel = false; + + try { + toplevel = window.frameElement == null; + } catch(e) {} + + if ( document.documentElement.doScroll && toplevel ) { + doScrollCheck(); + } + } + }, + + // See test/unit/core.js for details concerning isFunction. + // Since version 1.3, DOM methods and functions like alert + // aren't supported. They return false on IE (#2968). + isFunction: function( obj ) { + /// + /// Determines if the parameter passed is a function. + /// + /// The object to check + /// True if the parameter is a function; otherwise false. + + return jQuery.type(obj) === "function"; + }, + + isArray: Array.isArray || function( obj ) { + /// + /// Determine if the parameter passed is an array. + /// + /// Object to test whether or not it is an array. + /// True if the parameter is a function; otherwise false. + + return jQuery.type(obj) === "array"; + }, + + // A crude way of determining if an object is a window + isWindow: function( obj ) { + return obj && typeof obj === "object" && "setInterval" in obj; + }, + + isNaN: function( obj ) { + return obj == null || !rdigit.test( obj ) || isNaN( obj ); + }, + + type: function( obj ) { + return obj == null ? + String( obj ) : + class2type[ toString.call(obj) ] || "object"; + }, + + isPlainObject: function( obj ) { + /// + /// Check to see if an object is a plain object (created using "{}" or "new Object"). + /// + /// + /// The object that will be checked to see if it's a plain object. + /// + /// + + // Must be an Object. + // Because of IE, we also have to check the presence of the constructor property. + // Make sure that DOM nodes and window objects don't pass through, as well + if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { + return false; + } + + // Not own constructor property must be Object + if ( obj.constructor && + !hasOwn.call(obj, "constructor") && + !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { + return false; + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + + var key; + for ( key in obj ) {} + + return key === undefined || hasOwn.call( obj, key ); + }, + + isEmptyObject: function( obj ) { + /// + /// Check to see if an object is empty (contains no properties). + /// + /// + /// The object that will be checked to see if it's empty. + /// + /// + + for ( var name in obj ) { + return false; + } + return true; + }, + + error: function( msg ) { + throw msg; + }, + + parseJSON: function( data ) { + if ( typeof data !== "string" || !data ) { + return null; + } + + // Make sure leading/trailing whitespace is removed (IE can't handle it) + data = jQuery.trim( data ); + + // Make sure the incoming data is actual JSON + // Logic borrowed from http://json.org/json2.js + if ( rvalidchars.test(data.replace(rvalidescape, "@") + .replace(rvalidtokens, "]") + .replace(rvalidbraces, "")) ) { + + // Try to use the native JSON parser first + return window.JSON && window.JSON.parse ? + window.JSON.parse( data ) : + (new Function("return " + data))(); + + } else { + jQuery.error( "Invalid JSON: " + data ); + } + }, + + noop: function() { + /// + /// An empty function. + /// + /// + }, + + // Evalulates a script in a global context + globalEval: function( data ) { + /// + /// Internally evaluates a script in a global context. + /// + /// + + if ( data && rnotwhite.test(data) ) { + // Inspired by code by Andrea Giammarchi + // http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html + var head = document.getElementsByTagName("head")[0] || document.documentElement, + script = document.createElement("script"); + + script.type = "text/javascript"; + + if ( jQuery.support.scriptEval ) { + script.appendChild( document.createTextNode( data ) ); + } else { + script.text = data; + } + + // Use insertBefore instead of appendChild to circumvent an IE6 bug. + // This arises when a base node is used (#2709). + head.insertBefore( script, head.firstChild ); + head.removeChild( script ); + } + }, + + nodeName: function( elem, name ) { + /// + /// Checks whether the specified element has the specified DOM node name. + /// + /// The element to examine + /// The node name to check + /// True if the specified node name matches the node's DOM node name; otherwise false + + return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase(); + }, + + // args is for internal usage only + each: function( object, callback, args ) { + /// + /// A generic iterator function, which can be used to seemlessly + /// iterate over both objects and arrays. This function is not the same + /// as $().each() - which is used to iterate, exclusively, over a jQuery + /// object. This function can be used to iterate over anything. + /// The callback has two arguments:the key (objects) or index (arrays) as first + /// the first, and the value as the second. + /// Part of JavaScript + /// + /// + /// The object, or array, to iterate over. + /// + /// + /// The function that will be executed on every object. + /// + /// + + var name, i = 0, + length = object.length, + isObj = length === undefined || jQuery.isFunction(object); + + if ( args ) { + if ( isObj ) { + for ( name in object ) { + if ( callback.apply( object[ name ], args ) === false ) { + break; + } + } + } else { + for ( ; i < length; ) { + if ( callback.apply( object[ i++ ], args ) === false ) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if ( isObj ) { + for ( name in object ) { + if ( callback.call( object[ name ], name, object[ name ] ) === false ) { + break; + } + } + } else { + for ( var value = object[0]; + i < length && callback.call( value, i, value ) !== false; value = object[++i] ) {} + } + } + + return object; + }, + + // Use native String.trim function wherever possible + trim: trim ? + function( text ) { + return text == null ? + "" : + trim.call( text ); + } : + + // Otherwise use our own trimming functionality + function( text ) { + return text == null ? + "" : + text.toString().replace( trimLeft, "" ).replace( trimRight, "" ); + }, + + // results is for internal usage only + makeArray: function( array, results ) { + /// + /// Turns anything into a true array. This is an internal method. + /// + /// Anything to turn into an actual Array + /// + /// + + var ret = results || []; + + if ( array != null ) { + // The window, strings (and functions) also have 'length' + // The extra typeof function check is to prevent crashes + // in Safari 2 (See: #3039) + // Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930 + var type = jQuery.type(array); + + if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) { + push.call( ret, array ); + } else { + jQuery.merge( ret, array ); + } + } + + return ret; + }, + + inArray: function( elem, array ) { + if ( array.indexOf ) { + return array.indexOf( elem ); + } + + for ( var i = 0, length = array.length; i < length; i++ ) { + if ( array[ i ] === elem ) { + return i; + } + } + + return -1; + }, + + merge: function( first, second ) { + /// + /// Merge two arrays together, removing all duplicates. + /// The new array is: All the results from the first array, followed + /// by the unique results from the second array. + /// Part of JavaScript + /// + /// + /// + /// The first array to merge. + /// + /// + /// The second array to merge. + /// + + var i = first.length, + j = 0; + + if ( typeof second.length === "number" ) { + for ( var l = second.length; j < l; j++ ) { + first[ i++ ] = second[ j ]; + } + + } else { + while ( second[j] !== undefined ) { + first[ i++ ] = second[ j++ ]; + } + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, inv ) { + /// + /// Filter items out of an array, by using a filter function. + /// The specified function will be passed two arguments: The + /// current array item and the index of the item in the array. The + /// function must return 'true' to keep the item in the array, + /// false to remove it. + /// }); + /// Part of JavaScript + /// + /// + /// + /// array The Array to find items in. + /// + /// + /// The function to process each item against. + /// + /// + /// Invert the selection - select the opposite of the function. + /// + + var ret = [], retVal; + inv = !!inv; + + // Go through the array, only saving the items + // that pass the validator function + for ( var i = 0, length = elems.length; i < length; i++ ) { + retVal = !!callback( elems[ i ], i ); + if ( inv !== retVal ) { + ret.push( elems[ i ] ); + } + } + + return ret; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + /// + /// Translate all items in an array to another array of items. + /// The translation function that is provided to this method is + /// called for each item in the array and is passed one argument: + /// The item to be translated. + /// The function can then return the translated value, 'null' + /// (to remove the item), or an array of values - which will + /// be flattened into the full array. + /// Part of JavaScript + /// + /// + /// + /// array The Array to translate. + /// + /// + /// The function to process each item against. + /// + + var ret = [], value; + + // Go through the array, translating each of the items to their + // new value (or values). + for ( var i = 0, length = elems.length; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + + return ret.concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + proxy: function( fn, proxy, thisObject ) { + /// + /// Takes a function and returns a new one that will always have a particular scope. + /// + /// + /// The function whose scope will be changed. + /// + /// + /// The object to which the scope of the function should be set. + /// + /// + + if ( arguments.length === 2 ) { + if ( typeof proxy === "string" ) { + thisObject = fn; + fn = thisObject[ proxy ]; + proxy = undefined; + + } else if ( proxy && !jQuery.isFunction( proxy ) ) { + thisObject = proxy; + proxy = undefined; + } + } + + if ( !proxy && fn ) { + proxy = function() { + return fn.apply( thisObject || this, arguments ); + }; + } + + // Set the guid of unique handler to the same of original handler, so it can be removed + if ( fn ) { + proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++; + } + + // So proxy can be declared as an argument + return proxy; + }, + + // Mutifunctional method to get and set values to a collection + // The value/s can be optionally by executed if its a function + access: function( elems, key, value, exec, fn, pass ) { + var length = elems.length; + + // Setting many attributes + if ( typeof key === "object" ) { + for ( var k in key ) { + jQuery.access( elems, k, key[k], exec, fn, value ); + } + return elems; + } + + // Setting one attribute + if ( value !== undefined ) { + // Optionally, function values get executed if exec is true + exec = !pass && exec && jQuery.isFunction(value); + + for ( var i = 0; i < length; i++ ) { + fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass ); + } + + return elems; + } + + // Getting an attribute + return length ? fn( elems[0], key ) : undefined; + }, + + now: function() { + return (new Date()).getTime(); + }, + + // Use of jQuery.browser is frowned upon. + // More details: http://docs.jquery.com/Utilities/jQuery.browser + uaMatch: function( ua ) { + ua = ua.toLowerCase(); + + var match = rwebkit.exec( ua ) || + ropera.exec( ua ) || + rmsie.exec( ua ) || + ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) || + []; + + return { browser: match[1] || "", version: match[2] || "0" }; + }, + + browser: {} +}); + +// Populate the class2type map +jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +}); + +browserMatch = jQuery.uaMatch( userAgent ); +if ( browserMatch.browser ) { + jQuery.browser[ browserMatch.browser ] = true; + jQuery.browser.version = browserMatch.version; +} + +// Deprecated, use jQuery.browser.webkit instead +if ( jQuery.browser.webkit ) { + jQuery.browser.safari = true; +} + +if ( indexOf ) { + jQuery.inArray = function( elem, array ) { + /// + /// Determines the index of the first parameter in the array. + /// + /// The value to see if it exists in the array. + /// The array to look through for the value + /// The 0-based index of the item if it was found, otherwise -1. + + return indexOf.call( array, elem ); + }; +} + +// Verify that \s matches non-breaking spaces +// (IE fails on this test) +if ( !rwhite.test( "\xA0" ) ) { + trimLeft = /^[\s\xA0]+/; + trimRight = /[\s\xA0]+$/; +} + +// All jQuery objects should point back to these +rootjQuery = jQuery(document); + +// Cleanup functions for the document ready method +if ( document.addEventListener ) { + DOMContentLoaded = function() { + document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + jQuery.ready(); + }; + +} else if ( document.attachEvent ) { + DOMContentLoaded = function() { + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( document.readyState === "complete" ) { + document.detachEvent( "onreadystatechange", DOMContentLoaded ); + jQuery.ready(); + } + }; +} + +// The DOM ready check for Internet Explorer +function doScrollCheck() { + if ( jQuery.isReady ) { + return; + } + + try { + // If IE is used, use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + document.documentElement.doScroll("left"); + } catch(e) { + setTimeout( doScrollCheck, 1 ); + return; + } + + // and execute any waiting functions + jQuery.ready(); +} + +// Expose jQuery to the global object +return (window.jQuery = window.$ = jQuery); + +})(); + + + +// [vsdoc] The following function has been modified for IntelliSense. +// [vsdoc] Stubbing support properties to "false" for IntelliSense compat. +(function() { + + jQuery.support = {}; + + // var root = document.documentElement, + // script = document.createElement("script"), + // div = document.createElement("div"), + // id = "script" + jQuery.now(); + + // div.style.display = "none"; + // div.innerHTML = "
a"; + + // var all = div.getElementsByTagName("*"), + // a = div.getElementsByTagName("a")[0], + // select = document.createElement("select"), + // opt = select.appendChild( document.createElement("option") ); + + // // Can't get basic test support + // if ( !all || !all.length || !a ) { + // return; + // } + + jQuery.support = { + // IE strips leading whitespace when .innerHTML is used + leadingWhitespace: false, + + // Make sure that tbody elements aren't automatically inserted + // IE will insert them into empty tables + tbody: false, + + // Make sure that link elements get serialized correctly by innerHTML + // This requires a wrapper element in IE + htmlSerialize: false, + + // Get the style information from getAttribute + // (IE uses .cssText insted) + style: false, + + // Make sure that URLs aren't manipulated + // (IE normalizes it by default) + hrefNormalized: false, + + // Make sure that element opacity exists + // (IE uses filter instead) + // Use a regex to work around a WebKit issue. See #5145 + opacity: false, + + // Verify style float existence + // (IE uses styleFloat instead of cssFloat) + cssFloat: false, + + // Make sure that if no value is specified for a checkbox + // that it defaults to "on". + // (WebKit defaults to "" instead) + checkOn: false, + + // Make sure that a selected-by-default option has a working selected property. + // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) + optSelected: false, + + // Will be defined later + deleteExpando: false, + optDisabled: false, + checkClone: false, + scriptEval: false, + noCloneEvent: false, + boxModel: false, + inlineBlockNeedsLayout: false, + shrinkWrapBlocks: false, + reliableHiddenOffsets: true + }; + + // // Make sure that the options inside disabled selects aren't marked as disabled + // // (WebKit marks them as diabled) + // select.disabled = true; + // jQuery.support.optDisabled = !opt.disabled; + + // script.type = "text/javascript"; + // try { + // script.appendChild( document.createTextNode( "window." + id + "=1;" ) ); + // } catch(e) {} + + // root.insertBefore( script, root.firstChild ); + + // // Make sure that the execution of code works by injecting a script + // // tag with appendChild/createTextNode + // // (IE doesn't support this, fails, and uses .text instead) + // if ( window[ id ] ) { + // jQuery.support.scriptEval = true; + // delete window[ id ]; + // } + + // // Test to see if it's possible to delete an expando from an element + // // Fails in Internet Explorer + // try { + // delete script.test; + + // } catch(e) { + // jQuery.support.deleteExpando = false; + // } + + // root.removeChild( script ); + + // if ( div.attachEvent && div.fireEvent ) { + // div.attachEvent("onclick", function click() { + // // Cloning a node shouldn't copy over any + // // bound event handlers (IE does this) + // jQuery.support.noCloneEvent = false; + // div.detachEvent("onclick", click); + // }); + // div.cloneNode(true).fireEvent("onclick"); + // } + + // div = document.createElement("div"); + // div.innerHTML = ""; + + // var fragment = document.createDocumentFragment(); + // fragment.appendChild( div.firstChild ); + + // // WebKit doesn't clone checked state correctly in fragments + // jQuery.support.checkClone = fragment.cloneNode(true).cloneNode(true).lastChild.checked; + + // // Figure out if the W3C box model works as expected + // // document.body must exist before we can do this + // jQuery(function() { + // var div = document.createElement("div"); + // div.style.width = div.style.paddingLeft = "1px"; + + // document.body.appendChild( div ); + // jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2; + + // if ( "zoom" in div.style ) { + // // Check if natively block-level elements act like inline-block + // // elements when setting their display to 'inline' and giving + // // them layout + // // (IE < 8 does this) + // div.style.display = "inline"; + // div.style.zoom = 1; + // jQuery.support.inlineBlockNeedsLayout = div.offsetWidth === 2; + + // // Check if elements with layout shrink-wrap their children + // // (IE 6 does this) + // div.style.display = ""; + // div.innerHTML = "
"; + // jQuery.support.shrinkWrapBlocks = div.offsetWidth !== 2; + // } + + // div.innerHTML = "
t
"; + // var tds = div.getElementsByTagName("td"); + + // // Check if table cells still have offsetWidth/Height when they are set + // // to display:none and there are still other visible table cells in a + // // table row; if so, offsetWidth/Height are not reliable for use when + // // determining if an element has been hidden directly using + // // display:none (it is still safe to use offsets if a parent element is + // // hidden; don safety goggles and see bug #4512 for more information). + // // (only IE 8 fails this test) + // jQuery.support.reliableHiddenOffsets = tds[0].offsetHeight === 0; + + // tds[0].style.display = ""; + // tds[1].style.display = "none"; + + // // Check if empty table cells still have offsetWidth/Height + // // (IE < 8 fail this test) + // jQuery.support.reliableHiddenOffsets = jQuery.support.reliableHiddenOffsets && tds[0].offsetHeight === 0; + // div.innerHTML = ""; + + // document.body.removeChild( div ).style.display = "none"; + // div = tds = null; + // }); + + // // Technique from Juriy Zaytsev + // // http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/ + // var eventSupported = function( eventName ) { + // var el = document.createElement("div"); + // eventName = "on" + eventName; + + // var isSupported = (eventName in el); + // if ( !isSupported ) { + // el.setAttribute(eventName, "return;"); + // isSupported = typeof el[eventName] === "function"; + // } + // el = null; + + // return isSupported; + // }; + + jQuery.support.submitBubbles = false; + jQuery.support.changeBubbles = false; + + // // release memory in IE + // root = script = div = all = a = null; +})(); + + + +var windowData = {}, + rbrace = /^(?:\{.*\}|\[.*\])$/; + +jQuery.extend({ + cache: {}, + + // Please use with caution + uuid: 0, + + // Unique for each copy of jQuery on the page + expando: "jQuery" + jQuery.now(), + + // The following elements throw uncatchable exceptions if you + // attempt to add expando properties to them. + noData: { + "embed": true, + // Ban all objects except for Flash (which handle expandos) + "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", + "applet": true + }, + + data: function( elem, name, data ) { + /// + /// Store arbitrary data associated with the specified element. + /// + /// + /// The DOM element to associate with the data. + /// + /// + /// A string naming the piece of data to set. + /// + /// + /// The new data value. + /// + /// + + if ( !jQuery.acceptData( elem ) ) { + return; + } + + elem = elem == window ? + windowData : + elem; + + var isNode = elem.nodeType, + id = isNode ? elem[ jQuery.expando ] : null, + cache = jQuery.cache, thisCache; + + if ( isNode && !id && typeof name === "string" && data === undefined ) { + return; + } + + // Get the data from the object directly + if ( !isNode ) { + cache = elem; + + // Compute a unique ID for the element + } else if ( !id ) { + elem[ jQuery.expando ] = id = ++jQuery.uuid; + } + + // Avoid generating a new cache unless none exists and we + // want to manipulate it. + if ( typeof name === "object" ) { + if ( isNode ) { + cache[ id ] = jQuery.extend(cache[ id ], name); + + } else { + jQuery.extend( cache, name ); + } + + } else if ( isNode && !cache[ id ] ) { + cache[ id ] = {}; + } + + thisCache = isNode ? cache[ id ] : cache; + + // Prevent overriding the named cache with undefined values + if ( data !== undefined ) { + thisCache[ name ] = data; + } + + return typeof name === "string" ? thisCache[ name ] : thisCache; + }, + + removeData: function( elem, name ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + elem = elem == window ? + windowData : + elem; + + var isNode = elem.nodeType, + id = isNode ? elem[ jQuery.expando ] : elem, + cache = jQuery.cache, + thisCache = isNode ? cache[ id ] : id; + + // If we want to remove a specific section of the element's data + if ( name ) { + if ( thisCache ) { + // Remove the section of cache data + delete thisCache[ name ]; + + // If we've removed all the data, remove the element's cache + if ( isNode && jQuery.isEmptyObject(thisCache) ) { + jQuery.removeData( elem ); + } + } + + // Otherwise, we want to remove all of the element's data + } else { + if ( isNode && jQuery.support.deleteExpando ) { + delete elem[ jQuery.expando ]; + + } else if ( elem.removeAttribute ) { + elem.removeAttribute( jQuery.expando ); + + // Completely remove the data cache + } else if ( isNode ) { + delete cache[ id ]; + + // Remove all fields from the object + } else { + for ( var n in elem ) { + delete elem[ n ]; + } + } + } + }, + + // A method for determining if a DOM node can handle the data expando + acceptData: function( elem ) { + if ( elem.nodeName ) { + var match = jQuery.noData[ elem.nodeName.toLowerCase() ]; + + if ( match ) { + return !(match === true || elem.getAttribute("classid") !== match); + } + } + + return true; + } +}); + +jQuery.fn.extend({ + data: function( key, value ) { + /// + /// Store arbitrary data associated with the matched elements. + /// + /// + /// A string naming the piece of data to set. + /// + /// + /// The new data value. + /// + /// + + var data = null; + + if ( typeof key === "undefined" ) { + if ( this.length ) { + var attr = this[0].attributes, name; + data = jQuery.data( this[0] ); + + for ( var i = 0, l = attr.length; i < l; i++ ) { + name = attr[i].name; + + if ( name.indexOf( "data-" ) === 0 ) { + name = name.substr( 5 ); + dataAttr( this[0], name, data[ name ] ); + } + } + } + + return data; + + } else if ( typeof key === "object" ) { + return this.each(function() { + jQuery.data( this, key ); + }); + } + + var parts = key.split("."); + parts[1] = parts[1] ? "." + parts[1] : ""; + + if ( value === undefined ) { + data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]); + + // Try to fetch any internally stored data first + if ( data === undefined && this.length ) { + data = jQuery.data( this[0], key ); + data = dataAttr( this[0], key, data ); + } + + return data === undefined && parts[1] ? + this.data( parts[0] ) : + data; + + } else { + return this.each(function() { + var $this = jQuery( this ), + args = [ parts[0], value ]; + + $this.triggerHandler( "setData" + parts[1] + "!", args ); + jQuery.data( this, key, value ); + $this.triggerHandler( "changeData" + parts[1] + "!", args ); + }); + } + }, + + removeData: function( key ) { + return this.each(function() { + jQuery.removeData( this, key ); + }); + } +}); + +function dataAttr( elem, key, data ) { + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + data = elem.getAttribute( "data-" + key ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + !jQuery.isNaN( data ) ? parseFloat( data ) : + rbrace.test( data ) ? jQuery.parseJSON( data ) : + data; + } catch( e ) {} + + // Make sure we set the data so it isn't changed later + jQuery.data( elem, key, data ); + + } else { + data = undefined; + } + } + + return data; +} + + + + +jQuery.extend({ + queue: function( elem, type, data ) { + if ( !elem ) { + return; + } + + type = (type || "fx") + "queue"; + var q = jQuery.data( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( !data ) { + return q || []; + } + + if ( !q || jQuery.isArray(data) ) { + q = jQuery.data( elem, type, jQuery.makeArray(data) ); + + } else { + q.push( data ); + } + + return q; + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + fn = queue.shift(); + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + } + + if ( fn ) { + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift("inprogress"); + } + + fn.call(elem, function() { + jQuery.dequeue(elem, type); + }); + } + } +}); + +jQuery.fn.extend({ + queue: function( type, data ) { + /// + /// 1: queue() - Returns a reference to the first element's queue (which is an array of functions). + /// 2: queue(callback) - Adds a new function, to be executed, onto the end of the queue of all matched elements. + /// 3: queue(queue) - Replaces the queue of all matched element with this new queue (the array of functions). + /// + /// The function to add to the queue. + /// + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + } + + if ( data === undefined ) { + return jQuery.queue( this[0], type ); + } + return this.each(function( i ) { + var queue = jQuery.queue( this, type, data ); + + if ( type === "fx" && queue[0] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + }); + }, + dequeue: function( type ) { + /// + /// Removes a queued function from the front of the queue and executes it. + /// + /// The type of queue to access. + /// + + return this.each(function() { + jQuery.dequeue( this, type ); + }); + }, + + // Based off of the plugin by Clint Helfers, with permission. + // http://blindsignals.com/index.php/2009/07/jquery-delay/ + delay: function( time, type ) { + /// + /// Set a timer to delay execution of subsequent items in the queue. + /// + /// + /// An integer indicating the number of milliseconds to delay execution of the next item in the queue. + /// + /// + /// A string containing the name of the queue. Defaults to fx, the standard effects queue. + /// + /// + + time = jQuery.fx ? jQuery.fx.speeds[time] || time : time; + type = type || "fx"; + + return this.queue( type, function() { + var elem = this; + setTimeout(function() { + jQuery.dequeue( elem, type ); + }, time ); + }); + }, + + clearQueue: function( type ) { + /// + /// Remove from the queue all items that have not yet been run. + /// + /// + /// A string containing the name of the queue. Defaults to fx, the standard effects queue. + /// + /// + + return this.queue( type || "fx", [] ); + } +}); + + + + +var rclass = /[\n\t]/g, + rspaces = /\s+/, + rreturn = /\r/g, + rspecialurl = /^(?:href|src|style)$/, + rtype = /^(?:button|input)$/i, + rfocusable = /^(?:button|input|object|select|textarea)$/i, + rclickable = /^a(?:rea)?$/i, + rradiocheck = /^(?:radio|checkbox)$/i; + +jQuery.props = { + "for": "htmlFor", + "class": "className", + readonly: "readOnly", + maxlength: "maxLength", + cellspacing: "cellSpacing", + rowspan: "rowSpan", + colspan: "colSpan", + tabindex: "tabIndex", + usemap: "useMap", + frameborder: "frameBorder" +}; + +jQuery.fn.extend({ + attr: function( name, value ) { + /// + /// Set a single property to a computed value, on all matched elements. + /// Instead of a value, a function is provided, that computes the value. + /// Part of DOM/Attributes + /// + /// + /// + /// The name of the property to set. + /// + /// + /// A function returning the value to set. + /// + + return jQuery.access( this, name, value, true, jQuery.attr ); + }, + + removeAttr: function( name, fn ) { + /// + /// Remove an attribute from each of the matched elements. + /// Part of DOM/Attributes + /// + /// + /// An attribute to remove. + /// + /// + + return this.each(function(){ + jQuery.attr( this, name, "" ); + if ( this.nodeType === 1 ) { + this.removeAttribute( name ); + } + }); + }, + + addClass: function( value ) { + /// + /// Adds the specified class(es) to each of the set of matched elements. + /// Part of DOM/Attributes + /// + /// + /// One or more class names to be added to the class attribute of each matched element. + /// + /// + + if ( jQuery.isFunction(value) ) { + return this.each(function(i) { + var self = jQuery(this); + self.addClass( value.call(this, i, self.attr("class")) ); + }); + } + + if ( value && typeof value === "string" ) { + var classNames = (value || "").split( rspaces ); + + for ( var i = 0, l = this.length; i < l; i++ ) { + var elem = this[i]; + + if ( elem.nodeType === 1 ) { + if ( !elem.className ) { + elem.className = value; + + } else { + var className = " " + elem.className + " ", + setClass = elem.className; + + for ( var c = 0, cl = classNames.length; c < cl; c++ ) { + if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) { + setClass += " " + classNames[c]; + } + } + elem.className = jQuery.trim( setClass ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + /// + /// Removes all or the specified class(es) from the set of matched elements. + /// Part of DOM/Attributes + /// + /// + /// (Optional) A class name to be removed from the class attribute of each matched element. + /// + /// + + if ( jQuery.isFunction(value) ) { + return this.each(function(i) { + var self = jQuery(this); + self.removeClass( value.call(this, i, self.attr("class")) ); + }); + } + + if ( (value && typeof value === "string") || value === undefined ) { + var classNames = (value || "").split( rspaces ); + + for ( var i = 0, l = this.length; i < l; i++ ) { + var elem = this[i]; + + if ( elem.nodeType === 1 && elem.className ) { + if ( value ) { + var className = (" " + elem.className + " ").replace(rclass, " "); + for ( var c = 0, cl = classNames.length; c < cl; c++ ) { + className = className.replace(" " + classNames[c] + " ", " "); + } + elem.className = jQuery.trim( className ); + + } else { + elem.className = ""; + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + /// + /// Add or remove a class from each element in the set of matched elements, depending + /// on either the class's presence or the value of the switch argument. + /// + /// + /// A class name to be toggled for each element in the matched set. + /// + /// + /// A boolean value to determine whether the class should be added or removed. + /// + /// + + var type = typeof value, + isBool = typeof stateVal === "boolean"; + + if ( jQuery.isFunction( value ) ) { + return this.each(function(i) { + var self = jQuery(this); + self.toggleClass( value.call(this, i, self.attr("class"), stateVal), stateVal ); + }); + } + + return this.each(function() { + if ( type === "string" ) { + // toggle individual class names + var className, + i = 0, + self = jQuery( this ), + state = stateVal, + classNames = value.split( rspaces ); + + while ( (className = classNames[ i++ ]) ) { + // check each className given, space seperated list + state = isBool ? state : !self.hasClass( className ); + self[ state ? "addClass" : "removeClass" ]( className ); + } + + } else if ( type === "undefined" || type === "boolean" ) { + if ( this.className ) { + // store className if set + jQuery.data( this, "__className__", this.className ); + } + + // toggle whole className + this.className = this.className || value === false ? "" : jQuery.data( this, "__className__" ) || ""; + } + }); + }, + + hasClass: function( selector ) { + /// + /// Checks the current selection against a class and returns whether at least one selection has a given class. + /// + /// The class to check against + /// True if at least one element in the selection has the class, otherwise false. + + var className = " " + selector + " "; + for ( var i = 0, l = this.length; i < l; i++ ) { + if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) { + return true; + } + } + + return false; + }, + + val: function( value ) { + /// + /// Set the value of every matched element. + /// Part of DOM/Attributes + /// + /// + /// + /// A string of text or an array of strings to set as the value property of each + /// matched element. + /// + + if ( !arguments.length ) { + var elem = this[0]; + + if ( elem ) { + if ( jQuery.nodeName( elem, "option" ) ) { + // attributes.value is undefined in Blackberry 4.7 but + // uses .value. See #6932 + var val = elem.attributes.value; + return !val || val.specified ? elem.value : elem.text; + } + + // We need to handle select boxes special + if ( jQuery.nodeName( elem, "select" ) ) { + var index = elem.selectedIndex, + values = [], + options = elem.options, + one = elem.type === "select-one"; + + // Nothing was selected + if ( index < 0 ) { + return null; + } + + // Loop through all the selected options + for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) { + var option = options[ i ]; + + // Don't return options that are disabled or in a disabled optgroup + if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) && + (!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) { + + // Get the specific value for the option + value = jQuery(option).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + } + + // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified + if ( rradiocheck.test( elem.type ) && !jQuery.support.checkOn ) { + return elem.getAttribute("value") === null ? "on" : elem.value; + } + + + // Everything else, we just grab the value + return (elem.value || "").replace(rreturn, ""); + + } + + return undefined; + } + + var isFunction = jQuery.isFunction(value); + + return this.each(function(i) { + var self = jQuery(this), val = value; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call(this, i, self.val()); + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + } else if ( typeof val === "number" ) { + val += ""; + } else if ( jQuery.isArray(val) ) { + val = jQuery.map(val, function (value) { + return value == null ? "" : value + ""; + }); + } + + if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) { + this.checked = jQuery.inArray( self.val(), val ) >= 0; + + } else if ( jQuery.nodeName( this, "select" ) ) { + var values = jQuery.makeArray(val); + + jQuery( "option", this ).each(function() { + this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; + }); + + if ( !values.length ) { + this.selectedIndex = -1; + } + + } else { + this.value = val; + } + }); + } +}); + +jQuery.extend({ + attrFn: { + val: true, + css: true, + html: true, + text: true, + data: true, + width: true, + height: true, + offset: true + }, + + attr: function( elem, name, value, pass ) { + /// + /// This method is internal. + /// + /// + + // don't set attributes on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) { + return undefined; + } + + if ( pass && name in jQuery.attrFn ) { + return jQuery(elem)[name](value); + } + + var notxml = elem.nodeType !== 1 || !jQuery.isXMLDoc( elem ), + // Whether we are setting (or getting) + set = value !== undefined; + + // Try to normalize/fix the name + name = notxml && jQuery.props[ name ] || name; + + // These attributes require special treatment + var special = rspecialurl.test( name ); + + // Safari mis-reports the default selected property of an option + // Accessing the parent's selectedIndex property fixes it + if ( name === "selected" && !jQuery.support.optSelected ) { + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + // Make sure that it also works with optgroups, see #5701 + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + + // If applicable, access the attribute via the DOM 0 way + // 'in' checks fail in Blackberry 4.7 #6931 + if ( (name in elem || elem[ name ] !== undefined) && notxml && !special ) { + if ( set ) { + // We can't allow the type property to be changed (since it causes problems in IE) + if ( name === "type" && rtype.test( elem.nodeName ) && elem.parentNode ) { + jQuery.error( "type property can't be changed" ); + } + + if ( value === null ) { + if ( elem.nodeType === 1 ) { + elem.removeAttribute( name ); + } + + } else { + elem[ name ] = value; + } + } + + // browsers index elements by id/name on forms, give priority to attributes. + if ( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) ) { + return elem.getAttributeNode( name ).nodeValue; + } + + // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set + // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + if ( name === "tabIndex" ) { + var attributeNode = elem.getAttributeNode( "tabIndex" ); + + return attributeNode && attributeNode.specified ? + attributeNode.value : + rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? + 0 : + undefined; + } + + return elem[ name ]; + } + + if ( !jQuery.support.style && notxml && name === "style" ) { + if ( set ) { + elem.style.cssText = "" + value; + } + + return elem.style.cssText; + } + + if ( set ) { + // convert the value to a string (all browsers do this but IE) see #1070 + elem.setAttribute( name, "" + value ); + } + + // Ensure that missing attributes return undefined + // Blackberry 4.7 returns "" from getAttribute #6938 + if ( !elem.attributes[ name ] && (elem.hasAttribute && !elem.hasAttribute( name )) ) { + return undefined; + } + + var attr = !jQuery.support.hrefNormalized && notxml && special ? + // Some attributes require a special call on IE + elem.getAttribute( name, 2 ) : + elem.getAttribute( name ); + + // Non-existent attributes return null, we normalize to undefined + return attr === null ? undefined : attr; + } +}); + + + + +var rnamespaces = /\.(.*)$/, + rformElems = /^(?:textarea|input|select)$/i, + rperiod = /\./g, + rspace = / /g, + rescape = /[^\w\s.|`]/g, + fcleanup = function( nm ) { + return nm.replace(rescape, "\\$&"); + }, + focusCounts = { focusin: 0, focusout: 0 }; + +/* + * A number of helper functions used for managing events. + * Many of the ideas behind this code originated from + * Dean Edwards' addEvent library. + */ +jQuery.event = { + + // Bind an event to an element + // Original by Dean Edwards + add: function( elem, types, handler, data ) { + /// + /// This method is internal. + /// + /// + + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // For whatever reason, IE has trouble passing the window object + // around, causing it to be cloned in the process + if ( jQuery.isWindow( elem ) && ( elem !== window && !elem.frameElement ) ) { + elem = window; + } + + if ( handler === false ) { + handler = returnFalse; + } else if ( !handler ) { + // Fixes bug #7229. Fix recommended by jdalton + return; + } + + var handleObjIn, handleObj; + + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + } + + // Make sure that the function being executed has a unique ID + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure + var elemData = jQuery.data( elem ); + + // If no elemData is found then we must be trying to bind to one of the + // banned noData elements + if ( !elemData ) { + return; + } + + // Use a key less likely to result in collisions for plain JS objects. + // Fixes bug #7150. + var eventKey = elem.nodeType ? "events" : "__events__", + events = elemData[ eventKey ], + eventHandle = elemData.handle; + + if ( typeof events === "function" ) { + // On plain objects events is a fn that holds the the data + // which prevents this data from being JSON serialized + // the function does not need to be called, it just contains the data + eventHandle = events.handle; + events = events.events; + + } else if ( !events ) { + if ( !elem.nodeType ) { + // On plain objects, create a fn that acts as the holder + // of the values to avoid JSON serialization of event data + elemData[ eventKey ] = elemData = function(){}; + } + + elemData.events = events = {}; + } + + if ( !eventHandle ) { + elemData.handle = eventHandle = function() { + // Handle the second event of a trigger and when + // an event is called after a page has unloaded + return typeof jQuery !== "undefined" && !jQuery.event.triggered ? + jQuery.event.handle.apply( eventHandle.elem, arguments ) : + undefined; + }; + } + + // Add elem as a property of the handle function + // This is to prevent a memory leak with non-native events in IE. + eventHandle.elem = elem; + + // Handle multiple events separated by a space + // jQuery(...).bind("mouseover mouseout", fn); + types = types.split(" "); + + var type, i = 0, namespaces; + + while ( (type = types[ i++ ]) ) { + handleObj = handleObjIn ? + jQuery.extend({}, handleObjIn) : + { handler: handler, data: data }; + + // Namespaced event handlers + if ( type.indexOf(".") > -1 ) { + namespaces = type.split("."); + type = namespaces.shift(); + handleObj.namespace = namespaces.slice(0).sort().join("."); + + } else { + namespaces = []; + handleObj.namespace = ""; + } + + handleObj.type = type; + if ( !handleObj.guid ) { + handleObj.guid = handler.guid; + } + + // Get the current list of functions bound to this event + var handlers = events[ type ], + special = jQuery.event.special[ type ] || {}; + + // Init the event handler queue + if ( !handlers ) { + handlers = events[ type ] = []; + + // Check for a special event handler + // Only use addEventListener/attachEvent if the special + // events handler returns false + if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + // Bind the global event handler to the element + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle, false ); + + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add the function to the element's handler list + handlers.push( handleObj ); + + // Keep track of which events have been used, for global triggering + jQuery.event.global[ type ] = true; + } + + // Nullify elem to prevent memory leaks in IE + elem = null; + }, + + global: {}, + + // Detach an event or set of events from an element + remove: function( elem, types, handler ) { + /// + /// This method is internal. + /// + /// + + // don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + if ( handler === false ) { + handler = returnFalse; + } + + var ret, type, fn, j, i = 0, all, namespaces, namespace, special, eventType, handleObj, origType, + eventKey = elem.nodeType ? "events" : "__events__", + elemData = jQuery.data( elem ), + events = elemData && elemData[ eventKey ]; + + if ( !elemData || !events ) { + return; + } + + if ( typeof events === "function" ) { + elemData = events; + events = events.events; + } + + // types is actually an event object here + if ( types && types.type ) { + handler = types.handler; + types = types.type; + } + + // Unbind all events for the element + if ( !types || typeof types === "string" && types.charAt(0) === "." ) { + types = types || ""; + + for ( type in events ) { + jQuery.event.remove( elem, type + types ); + } + + return; + } + + // Handle multiple events separated by a space + // jQuery(...).unbind("mouseover mouseout", fn); + types = types.split(" "); + + while ( (type = types[ i++ ]) ) { + origType = type; + handleObj = null; + all = type.indexOf(".") < 0; + namespaces = []; + + if ( !all ) { + // Namespaced event handlers + namespaces = type.split("."); + type = namespaces.shift(); + + namespace = new RegExp("(^|\\.)" + + jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + eventType = events[ type ]; + + if ( !eventType ) { + continue; + } + + if ( !handler ) { + for ( j = 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( all || namespace.test( handleObj.namespace ) ) { + jQuery.event.remove( elem, origType, handleObj.handler, j ); + eventType.splice( j--, 1 ); + } + } + + continue; + } + + special = jQuery.event.special[ type ] || {}; + + for ( j = pos || 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( handler.guid === handleObj.guid ) { + // remove the given handler for the given type + if ( all || namespace.test( handleObj.namespace ) ) { + if ( pos == null ) { + eventType.splice( j--, 1 ); + } + + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + + if ( pos != null ) { + break; + } + } + } + + // remove generic event handler if no more handlers exist + if ( eventType.length === 0 || pos != null && eventType.length === 1 ) { + if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); + } + + ret = null; + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + var handle = elemData.handle; + if ( handle ) { + handle.elem = null; + } + + delete elemData.events; + delete elemData.handle; + + if ( typeof elemData === "function" ) { + jQuery.removeData( elem, eventKey ); + + } else if ( jQuery.isEmptyObject( elemData ) ) { + jQuery.removeData( elem ); + } + } + }, + + // bubbling is internal + trigger: function( event, data, elem /*, bubbling */ ) { + /// + /// This method is internal. + /// + /// + + // Event object or event type + var type = event.type || event, + bubbling = arguments[3]; + + if ( !bubbling ) { + event = typeof event === "object" ? + // jQuery.Event object + event[ jQuery.expando ] ? event : + // Object literal + jQuery.extend( jQuery.Event(type), event ) : + // Just the event type (string) + jQuery.Event(type); + + if ( type.indexOf("!") >= 0 ) { + event.type = type = type.slice(0, -1); + event.exclusive = true; + } + + // Handle a global trigger + if ( !elem ) { + // Don't bubble custom events when global (to avoid too much overhead) + event.stopPropagation(); + + // Only trigger if we've ever bound an event for it + if ( jQuery.event.global[ type ] ) { + jQuery.each( jQuery.cache, function() { + if ( this.events && this.events[type] ) { + jQuery.event.trigger( event, data, this.handle.elem ); + } + }); + } + } + + // Handle triggering a single element + + // don't do events on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) { + return undefined; + } + + // Clean up in case it is reused + event.result = undefined; + event.target = elem; + + // Clone the incoming data, if any + data = jQuery.makeArray( data ); + data.unshift( event ); + } + + event.currentTarget = elem; + + // Trigger the event, it is assumed that "handle" is a function + var handle = elem.nodeType ? + jQuery.data( elem, "handle" ) : + (jQuery.data( elem, "__events__" ) || {}).handle; + + if ( handle ) { + handle.apply( elem, data ); + } + + var parent = elem.parentNode || elem.ownerDocument; + + // Trigger an inline bound script + try { + if ( !(elem && elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()]) ) { + if ( elem[ "on" + type ] && elem[ "on" + type ].apply( elem, data ) === false ) { + event.result = false; + event.preventDefault(); + } + } + + // prevent IE from throwing an error for some elements with some event types, see #3533 + } catch (inlineError) {} + + if ( !event.isPropagationStopped() && parent ) { + jQuery.event.trigger( event, data, parent, true ); + + } else if ( !event.isDefaultPrevented() ) { + var old, + target = event.target, + targetType = type.replace( rnamespaces, "" ), + isClick = jQuery.nodeName( target, "a" ) && targetType === "click", + special = jQuery.event.special[ targetType ] || {}; + + if ( (!special._default || special._default.call( elem, event ) === false) && + !isClick && !(target && target.nodeName && jQuery.noData[target.nodeName.toLowerCase()]) ) { + + try { + if ( target[ targetType ] ) { + // Make sure that we don't accidentally re-trigger the onFOO events + old = target[ "on" + targetType ]; + + if ( old ) { + target[ "on" + targetType ] = null; + } + + jQuery.event.triggered = true; + target[ targetType ](); + } + + // prevent IE from throwing an error for some elements with some event types, see #3533 + } catch (triggerError) {} + + if ( old ) { + target[ "on" + targetType ] = old; + } + + jQuery.event.triggered = false; + } + } + }, + + handle: function( event ) { + /// + /// This method is internal. + /// + /// + + var all, handlers, namespaces, namespace_re, events, + namespace_sort = [], + args = jQuery.makeArray( arguments ); + + event = args[0] = jQuery.event.fix( event || window.event ); + event.currentTarget = this; + + // Namespaced event handlers + all = event.type.indexOf(".") < 0 && !event.exclusive; + + if ( !all ) { + namespaces = event.type.split("."); + event.type = namespaces.shift(); + namespace_sort = namespaces.slice(0).sort(); + namespace_re = new RegExp("(^|\\.)" + namespace_sort.join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + event.namespace = event.namespace || namespace_sort.join("."); + + events = jQuery.data(this, this.nodeType ? "events" : "__events__"); + + if ( typeof events === "function" ) { + events = events.events; + } + + handlers = (events || {})[ event.type ]; + + if ( events && handlers ) { + // Clone the handlers to prevent manipulation + handlers = handlers.slice(0); + + for ( var j = 0, l = handlers.length; j < l; j++ ) { + var handleObj = handlers[ j ]; + + // Filter the functions by class + if ( all || namespace_re.test( handleObj.namespace ) ) { + // Pass in a reference to the handler function itself + // So that we can later remove it + event.handler = handleObj.handler; + event.data = handleObj.data; + event.handleObj = handleObj; + + var ret = handleObj.handler.apply( this, args ); + + if ( ret !== undefined ) { + event.result = ret; + if ( ret === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + + if ( event.isImmediatePropagationStopped() ) { + break; + } + } + } + } + + return event.result; + }, + + props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "), + + fix: function( event ) { + /// + /// This method is internal. + /// + /// + + if ( event[ jQuery.expando ] ) { + return event; + } + + // store a copy of the original event object + // and "clone" to set read-only properties + var originalEvent = event; + event = jQuery.Event( originalEvent ); + + for ( var i = this.props.length, prop; i; ) { + prop = this.props[ --i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Fix target property, if necessary + if ( !event.target ) { + // Fixes #1925 where srcElement might not be defined either + event.target = event.srcElement || document; + } + + // check if target is a textnode (safari) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && event.fromElement ) { + event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement; + } + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && event.clientX != null ) { + var doc = document.documentElement, + body = document.body; + + event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0); + event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0); + } + + // Add which for key events + if ( event.which == null && (event.charCode != null || event.keyCode != null) ) { + event.which = event.charCode != null ? event.charCode : event.keyCode; + } + + // Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs) + if ( !event.metaKey && event.ctrlKey ) { + event.metaKey = event.ctrlKey; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && event.button !== undefined ) { + event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) )); + } + + return event; + }, + + // Deprecated, use jQuery.guid instead + guid: 1E8, + + // Deprecated, use jQuery.proxy instead + proxy: jQuery.proxy, + + special: { + ready: { + // Make sure the ready event is setup + setup: jQuery.bindReady, + teardown: jQuery.noop + }, + + live: { + add: function( handleObj ) { + jQuery.event.add( this, + liveConvert( handleObj.origType, handleObj.selector ), + jQuery.extend({}, handleObj, {handler: liveHandler, guid: handleObj.handler.guid}) ); + }, + + remove: function( handleObj ) { + jQuery.event.remove( this, liveConvert( handleObj.origType, handleObj.selector ), handleObj ); + } + }, + + beforeunload: { + setup: function( data, namespaces, eventHandle ) { + // We only want to do this special case on windows + if ( jQuery.isWindow( this ) ) { + this.onbeforeunload = eventHandle; + } + }, + + teardown: function( namespaces, eventHandle ) { + if ( this.onbeforeunload === eventHandle ) { + this.onbeforeunload = null; + } + } + } + } +}; + +jQuery.removeEvent = document.removeEventListener ? + function( elem, type, handle ) { + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle, false ); + } + } : + function( elem, type, handle ) { + if ( elem.detachEvent ) { + elem.detachEvent( "on" + type, handle ); + } + }; + +jQuery.Event = function( src ) { + // Allow instantiation without the 'new' keyword + if ( !this.preventDefault ) { + return new jQuery.Event( src ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + // Event type + } else { + this.type = src; + } + + // timeStamp is buggy for some events on Firefox(#3843) + // So we won't rely on the native value + this.timeStamp = jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +function returnFalse() { + return false; +} +function returnTrue() { + return true; +} + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + preventDefault: function() { + this.isDefaultPrevented = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + + // if preventDefault exists run it on the original event + if ( e.preventDefault ) { + e.preventDefault(); + + // otherwise set the returnValue property of the original event to false (IE) + } else { + e.returnValue = false; + } + }, + stopPropagation: function() { + this.isPropagationStopped = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + // if stopPropagation exists run it on the original event + if ( e.stopPropagation ) { + e.stopPropagation(); + } + // otherwise set the cancelBubble property of the original event to true (IE) + e.cancelBubble = true; + }, + stopImmediatePropagation: function() { + this.isImmediatePropagationStopped = returnTrue; + this.stopPropagation(); + }, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse +}; + +// Checks if an event happened on an element within another element +// Used in jQuery.event.special.mouseenter and mouseleave handlers +var withinElement = function( event ) { + // Check if mouse(over|out) are still within the same parent element + var parent = event.relatedTarget; + + // Firefox sometimes assigns relatedTarget a XUL element + // which we cannot access the parentNode property of + try { + // Traverse up the tree + while ( parent && parent !== this ) { + parent = parent.parentNode; + } + + if ( parent !== this ) { + // set the correct event type + event.type = event.data; + + // handle event if we actually just moused on to a non sub-element + jQuery.event.handle.apply( this, arguments ); + } + + // assuming we've left the element since we most likely mousedover a xul element + } catch(e) { } +}, + +// In case of event delegation, we only need to rename the event.type, +// liveHandler will take care of the rest. +delegate = function( event ) { + event.type = event.data; + jQuery.event.handle.apply( this, arguments ); +}; + +// Create mouseenter and mouseleave events +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + setup: function( data ) { + jQuery.event.add( this, fix, data && data.selector ? delegate : withinElement, orig ); + }, + teardown: function( data ) { + jQuery.event.remove( this, fix, data && data.selector ? delegate : withinElement ); + } + }; +}); + +// submit delegation +if ( !jQuery.support.submitBubbles ) { + + jQuery.event.special.submit = { + setup: function( data, namespaces ) { + if ( this.nodeName.toLowerCase() !== "form" ) { + jQuery.event.add(this, "click.specialSubmit", function( e ) { + var elem = e.target, + type = elem.type; + + if ( (type === "submit" || type === "image") && jQuery( elem ).closest("form").length ) { + e.liveFired = undefined; + return trigger( "submit", this, arguments ); + } + }); + + jQuery.event.add(this, "keypress.specialSubmit", function( e ) { + var elem = e.target, + type = elem.type; + + if ( (type === "text" || type === "password") && jQuery( elem ).closest("form").length && e.keyCode === 13 ) { + e.liveFired = undefined; + return trigger( "submit", this, arguments ); + } + }); + + } else { + return false; + } + }, + + teardown: function( namespaces ) { + jQuery.event.remove( this, ".specialSubmit" ); + } + }; + +} + +// change delegation, happens here so we have bind. +if ( !jQuery.support.changeBubbles ) { + + var changeFilters, + + getVal = function( elem ) { + var type = elem.type, val = elem.value; + + if ( type === "radio" || type === "checkbox" ) { + val = elem.checked; + + } else if ( type === "select-multiple" ) { + val = elem.selectedIndex > -1 ? + jQuery.map( elem.options, function( elem ) { + return elem.selected; + }).join("-") : + ""; + + } else if ( elem.nodeName.toLowerCase() === "select" ) { + val = elem.selectedIndex; + } + + return val; + }, + + testChange = function testChange( e ) { + var elem = e.target, data, val; + + if ( !rformElems.test( elem.nodeName ) || elem.readOnly ) { + return; + } + + data = jQuery.data( elem, "_change_data" ); + val = getVal(elem); + + // the current data will be also retrieved by beforeactivate + if ( e.type !== "focusout" || elem.type !== "radio" ) { + jQuery.data( elem, "_change_data", val ); + } + + if ( data === undefined || val === data ) { + return; + } + + if ( data != null || val ) { + e.type = "change"; + e.liveFired = undefined; + return jQuery.event.trigger( e, arguments[1], elem ); + } + }; + + jQuery.event.special.change = { + filters: { + focusout: testChange, + + beforedeactivate: testChange, + + click: function( e ) { + var elem = e.target, type = elem.type; + + if ( type === "radio" || type === "checkbox" || elem.nodeName.toLowerCase() === "select" ) { + return testChange.call( this, e ); + } + }, + + // Change has to be called before submit + // Keydown will be called before keypress, which is used in submit-event delegation + keydown: function( e ) { + var elem = e.target, type = elem.type; + + if ( (e.keyCode === 13 && elem.nodeName.toLowerCase() !== "textarea") || + (e.keyCode === 32 && (type === "checkbox" || type === "radio")) || + type === "select-multiple" ) { + return testChange.call( this, e ); + } + }, + + // Beforeactivate happens also before the previous element is blurred + // with this event you can't trigger a change event, but you can store + // information + beforeactivate: function( e ) { + var elem = e.target; + jQuery.data( elem, "_change_data", getVal(elem) ); + } + }, + + setup: function( data, namespaces ) { + if ( this.type === "file" ) { + return false; + } + + for ( var type in changeFilters ) { + jQuery.event.add( this, type + ".specialChange", changeFilters[type] ); + } + + return rformElems.test( this.nodeName ); + }, + + teardown: function( namespaces ) { + jQuery.event.remove( this, ".specialChange" ); + + return rformElems.test( this.nodeName ); + } + }; + + changeFilters = jQuery.event.special.change.filters; + + // Handle when the input is .focus()'d + changeFilters.focus = changeFilters.beforeactivate; +} + +function trigger( type, elem, args ) { + args[0].type = type; + return jQuery.event.handle.apply( elem, args ); +} + +// Create "bubbling" focus and blur events +if ( document.addEventListener ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + jQuery.event.special[ fix ] = { + setup: function() { + /// + /// This method is internal. + /// + /// + + if ( focusCounts[fix]++ === 0 ) { + document.addEventListener( orig, handler, true ); + } + }, + teardown: function() { + /// + /// This method is internal. + /// + /// + + if ( --focusCounts[fix] === 0 ) { + document.removeEventListener( orig, handler, true ); + } + } + }; + + function handler( e ) { + e = jQuery.event.fix( e ); + e.type = fix; + return jQuery.event.trigger( e, null, e.target ); + } + }); +} + +// jQuery.each(["bind", "one"], function( i, name ) { +// jQuery.fn[ name ] = function( type, data, fn ) { +// // Handle object literals +// if ( typeof type === "object" ) { +// for ( var key in type ) { +// this[ name ](key, data, type[key], fn); +// } +// return this; +// } + +// if ( jQuery.isFunction( data ) || data === false ) { +// fn = data; +// data = undefined; +// } + +// var handler = name === "one" ? jQuery.proxy( fn, function( event ) { +// jQuery( this ).unbind( event, handler ); +// return fn.apply( this, arguments ); +// }) : fn; + +// if ( type === "unload" && name !== "one" ) { +// this.one( type, data, fn ); + +// } else { +// for ( var i = 0, l = this.length; i < l; i++ ) { +// jQuery.event.add( this[i], type, handler, data ); +// } +// } + +// return this; +// }; +// }); + +jQuery.fn[ "bind" ] = function( type, data, fn ) { + /// + /// Binds a handler to one or more events for each matched element. Can also bind custom events. + /// + /// One or more event types separated by a space. Built-in event type values are: blur, focus, load, resize, scroll, unload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, keyup, error . + /// Additional data passed to the event handler as event.data + /// A function to bind to the event on each of the set of matched elements. function callback(eventObject) such that this corresponds to the dom element. + + // Handle object literals + if ( typeof type === "object" ) { + for ( var key in type ) { + this[ "bind" ](key, data, type[key], fn); + } + return this; + } + + if ( jQuery.isFunction( data ) ) { + fn = data; + data = undefined; + } + + var handler = "bind" === "one" ? jQuery.proxy( fn, function( event ) { + jQuery( this ).unbind( event, handler ); + return fn.apply( this, arguments ); + }) : fn; + + return type === "unload" && "bind" !== "one" ? + this.one( type, data, fn ) : + this.each(function() { + jQuery.event.add( this, type, handler, data ); + }); +}; + +jQuery.fn[ "one" ] = function( type, data, fn ) { + /// + /// Binds a handler to one or more events to be executed exactly once for each matched element. + /// + /// One or more event types separated by a space. Built-in event type values are: blur, focus, load, resize, scroll, unload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, keyup, error . + /// Additional data passed to the event handler as event.data + /// A function to bind to the event on each of the set of matched elements. function callback(eventObject) such that this corresponds to the dom element. + + // Handle object literals + if ( typeof type === "object" ) { + for ( var key in type ) { + this[ "one" ](key, data, type[key], fn); + } + return this; + } + + if ( jQuery.isFunction( data ) ) { + fn = data; + data = undefined; + } + + var handler = "one" === "one" ? jQuery.proxy( fn, function( event ) { + jQuery( this ).unbind( event, handler ); + return fn.apply( this, arguments ); + }) : fn; + + return type === "unload" && "one" !== "one" ? + this.one( type, data, fn ) : + this.each(function() { + jQuery.event.add( this, type, handler, data ); + }); +}; + +jQuery.fn.extend({ + unbind: function( type, fn ) { + /// + /// Unbinds a handler from one or more events for each matched element. + /// + /// One or more event types separated by a space. Built-in event type values are: blur, focus, load, resize, scroll, unload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, keyup, error . + /// A function to bind to the event on each of the set of matched elements. function callback(eventObject) such that this corresponds to the dom element. + + // Handle object literals + if ( typeof type === "object" && !type.preventDefault ) { + for ( var key in type ) { + this.unbind(key, type[key]); + } + + } else { + for ( var i = 0, l = this.length; i < l; i++ ) { + jQuery.event.remove( this[i], type, fn ); + } + } + + return this; + }, + + delegate: function( selector, types, data, fn ) { + return this.live( types, data, fn, selector ); + }, + + undelegate: function( selector, types, fn ) { + if ( arguments.length === 0 ) { + return this.unbind( "live" ); + + } else { + return this.die( types, null, fn, selector ); + } + }, + + trigger: function( type, data ) { + /// + /// Triggers a type of event on every matched element. + /// + /// One or more event types separated by a space. Built-in event type values are: blur, focus, load, resize, scroll, unload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, keyup, error . + /// Additional data passed to the event handler as additional arguments. + /// This parameter is undocumented. + + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + + triggerHandler: function( type, data ) { + /// + /// Triggers all bound event handlers on an element for a specific event type without executing the browser's default actions. + /// + /// One or more event types separated by a space. Built-in event type values are: blur, focus, load, resize, scroll, unload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, keyup, error . + /// Additional data passed to the event handler as additional arguments. + /// This parameter is undocumented. + + if ( this[0] ) { + var event = jQuery.Event( type ); + event.preventDefault(); + event.stopPropagation(); + jQuery.event.trigger( event, data, this[0] ); + return event.result; + } + }, + + toggle: function( fn ) { + /// + /// Toggles among two or more function calls every other click. + /// + /// The functions among which to toggle execution + + // Save reference to arguments for access in closure + var args = arguments, + i = 1; + + // link all the functions, so any of them can unbind this click handler + while ( i < args.length ) { + jQuery.proxy( fn, args[ i++ ] ); + } + + return this.click( jQuery.proxy( fn, function( event ) { + // Figure out which function to execute + var lastToggle = ( jQuery.data( this, "lastToggle" + fn.guid ) || 0 ) % i; + jQuery.data( this, "lastToggle" + fn.guid, lastToggle + 1 ); + + // Make sure that clicks stop + event.preventDefault(); + + // and execute the function + return args[ lastToggle ].apply( this, arguments ) || false; + })); + }, + + hover: function( fnOver, fnOut ) { + /// + /// Simulates hovering (moving the mouse on or off of an object). + /// + /// The function to fire when the mouse is moved over a matched element. + /// The function to fire when the mouse is moved off of a matched element. + + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +}); + +var liveMap = { + focus: "focusin", + blur: "focusout", + mouseenter: "mouseover", + mouseleave: "mouseout" +}; + +// jQuery.each(["live", "die"], function( i, name ) { +// jQuery.fn[ name ] = function( types, data, fn, origSelector /* Internal Use Only */ ) { +// var type, i = 0, match, namespaces, preType, +// selector = origSelector || this.selector, +// context = origSelector ? this : jQuery( this.context ); + +// if ( typeof types === "object" && !types.preventDefault ) { +// for ( var key in types ) { +// context[ name ]( key, data, types[key], selector ); +// } + +// return this; +// } + +// if ( jQuery.isFunction( data ) ) { +// fn = data; +// data = undefined; +// } + +// types = (types || "").split(" "); + +// while ( (type = types[ i++ ]) != null ) { +// match = rnamespaces.exec( type ); +// namespaces = ""; + +// if ( match ) { +// namespaces = match[0]; +// type = type.replace( rnamespaces, "" ); +// } + +// if ( type === "hover" ) { +// types.push( "mouseenter" + namespaces, "mouseleave" + namespaces ); +// continue; +// } + +// preType = type; + +// if ( type === "focus" || type === "blur" ) { +// types.push( liveMap[ type ] + namespaces ); +// type = type + namespaces; + +// } else { +// type = (liveMap[ type ] || type) + namespaces; +// } + +// if ( name === "live" ) { +// // bind live handler +// for ( var j = 0, l = context.length; j < l; j++ ) { +// jQuery.event.add( context[j], "live." + liveConvert( type, selector ), +// { data: data, selector: selector, handler: fn, origType: type, origHandler: fn, preType: preType } ); +// } + +// } else { +// // unbind live handler +// context.unbind( "live." + liveConvert( type, selector ), fn ); +// } +// } + +// return this; +// }; +// }); + +jQuery.fn[ "live" ] = function( types, data, fn ) { + /// + /// Attach a handler to the event for all elements which match the current selector, now or + /// in the future. + /// + /// + /// A string containing a JavaScript event type, such as "click" or "keydown". + /// + /// + /// A map of data that will be passed to the event handler. + /// + /// + /// A function to execute at the time the event is triggered. + /// + /// + + var type, i = 0; + + if ( jQuery.isFunction( data ) ) { + fn = data; + data = undefined; + } + + types = (types || "").split( /\s+/ ); + + while ( (type = types[ i++ ]) != null ) { + type = type === "focus" ? "focusin" : // focus --> focusin + type === "blur" ? "focusout" : // blur --> focusout + type === "hover" ? types.push("mouseleave") && "mouseenter" : // hover support + type; + + if ( "live" === "live" ) { + // bind live handler + jQuery( this.context ).bind( liveConvert( type, this.selector ), { + data: data, selector: this.selector, live: type + }, fn ); + + } else { + // unbind live handler + jQuery( this.context ).unbind( liveConvert( type, this.selector ), fn ? { guid: fn.guid + this.selector + type } : null ); + } + } + + return this; +} + +jQuery.fn[ "die" ] = function( types, data, fn ) { + /// + /// Remove all event handlers previously attached using .live() from the elements. + /// + /// + /// A string containing a JavaScript event type, such as click or keydown. + /// + /// + /// The function that is to be no longer executed. + /// + /// + + var type, i = 0; + + if ( jQuery.isFunction( data ) ) { + fn = data; + data = undefined; + } + + types = (types || "").split( /\s+/ ); + + while ( (type = types[ i++ ]) != null ) { + type = type === "focus" ? "focusin" : // focus --> focusin + type === "blur" ? "focusout" : // blur --> focusout + type === "hover" ? types.push("mouseleave") && "mouseenter" : // hover support + type; + + if ( "die" === "live" ) { + // bind live handler + jQuery( this.context ).bind( liveConvert( type, this.selector ), { + data: data, selector: this.selector, live: type + }, fn ); + + } else { + // unbind live handler + jQuery( this.context ).unbind( liveConvert( type, this.selector ), fn ? { guid: fn.guid + this.selector + type } : null ); + } + } + + return this; +} + +function liveHandler( event ) { + var stop, maxLevel, related, match, handleObj, elem, j, i, l, data, close, namespace, ret, + elems = [], + selectors = [], + events = jQuery.data( this, this.nodeType ? "events" : "__events__" ); + + if ( typeof events === "function" ) { + events = events.events; + } + + // Make sure we avoid non-left-click bubbling in Firefox (#3861) + if ( event.liveFired === this || !events || !events.live || event.button && event.type === "click" ) { + return; + } + + if ( event.namespace ) { + namespace = new RegExp("(^|\\.)" + event.namespace.split(".").join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + event.liveFired = this; + + var live = events.live.slice(0); + + for ( j = 0; j < live.length; j++ ) { + handleObj = live[j]; + + if ( handleObj.origType.replace( rnamespaces, "" ) === event.type ) { + selectors.push( handleObj.selector ); + + } else { + live.splice( j--, 1 ); + } + } + + match = jQuery( event.target ).closest( selectors, event.currentTarget ); + + for ( i = 0, l = match.length; i < l; i++ ) { + close = match[i]; + + for ( j = 0; j < live.length; j++ ) { + handleObj = live[j]; + + if ( close.selector === handleObj.selector && (!namespace || namespace.test( handleObj.namespace )) ) { + elem = close.elem; + related = null; + + // Those two events require additional checking + if ( handleObj.preType === "mouseenter" || handleObj.preType === "mouseleave" ) { + event.type = handleObj.preType; + related = jQuery( event.relatedTarget ).closest( handleObj.selector )[0]; + } + + if ( !related || related !== elem ) { + elems.push({ elem: elem, handleObj: handleObj, level: close.level }); + } + } + } + } + + for ( i = 0, l = elems.length; i < l; i++ ) { + match = elems[i]; + + if ( maxLevel && match.level > maxLevel ) { + break; + } + + event.currentTarget = match.elem; + event.data = match.handleObj.data; + event.handleObj = match.handleObj; + + ret = match.handleObj.origHandler.apply( match.elem, arguments ); + + if ( ret === false || event.isPropagationStopped() ) { + maxLevel = match.level; + + if ( ret === false ) { + stop = false; + } + if ( event.isImmediatePropagationStopped() ) { + break; + } + } + } + + return stop; +} + +function liveConvert( type, selector ) { + return (type && type !== "*" ? type + "." : "") + selector.replace(rperiod, "`").replace(rspace, "&"); +} + +// jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + +// "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + +// "change select submit keydown keypress keyup error").split(" "), function( i, name ) { + +// // Handle event binding +// jQuery.fn[ name ] = function( data, fn ) { +// if ( fn == null ) { +// fn = data; +// data = null; +// } + +// return arguments.length > 0 ? +// this.bind( name, data, fn ) : +// this.trigger( name ); +// }; + +// if ( jQuery.attrFn ) { +// jQuery.attrFn[ name ] = true; +// } +// }); + +jQuery.fn[ "blur" ] = function( fn ) { + /// + /// 1: blur() - Triggers the blur event of each matched element. + /// 2: blur(fn) - Binds a function to the blur event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "blur", fn ) : this.trigger( "blur" ); +}; + +jQuery.fn[ "focus" ] = function( fn ) { + /// + /// 1: focus() - Triggers the focus event of each matched element. + /// 2: focus(fn) - Binds a function to the focus event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "focus", fn ) : this.trigger( "focus" ); +}; + +jQuery.fn[ "focusin" ] = function( fn ) { + /// + /// Bind an event handler to the "focusin" JavaScript event. + /// + /// + /// A function to execute each time the event is triggered. + /// + /// + + return fn ? this.bind( "focusin", fn ) : this.trigger( "focusin" ); +}; + +jQuery.fn[ "focusout" ] = function( fn ) { + /// + /// Bind an event handler to the "focusout" JavaScript event. + /// + /// + /// A function to execute each time the event is triggered. + /// + /// + + return fn ? this.bind( "focusout", fn ) : this.trigger( "focusout" ); +}; + +jQuery.fn[ "load" ] = function( fn ) { + /// + /// 1: load() - Triggers the load event of each matched element. + /// 2: load(fn) - Binds a function to the load event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "load", fn ) : this.trigger( "load" ); +}; + +jQuery.fn[ "resize" ] = function( fn ) { + /// + /// 1: resize() - Triggers the resize event of each matched element. + /// 2: resize(fn) - Binds a function to the resize event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "resize", fn ) : this.trigger( "resize" ); +}; + +jQuery.fn[ "scroll" ] = function( fn ) { + /// + /// 1: scroll() - Triggers the scroll event of each matched element. + /// 2: scroll(fn) - Binds a function to the scroll event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "scroll", fn ) : this.trigger( "scroll" ); +}; + +jQuery.fn[ "unload" ] = function( fn ) { + /// + /// 1: unload() - Triggers the unload event of each matched element. + /// 2: unload(fn) - Binds a function to the unload event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "unload", fn ) : this.trigger( "unload" ); +}; + +jQuery.fn[ "click" ] = function( fn ) { + /// + /// 1: click() - Triggers the click event of each matched element. + /// 2: click(fn) - Binds a function to the click event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "click", fn ) : this.trigger( "click" ); +}; + +jQuery.fn[ "dblclick" ] = function( fn ) { + /// + /// 1: dblclick() - Triggers the dblclick event of each matched element. + /// 2: dblclick(fn) - Binds a function to the dblclick event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "dblclick", fn ) : this.trigger( "dblclick" ); +}; + +jQuery.fn[ "mousedown" ] = function( fn ) { + /// + /// Binds a function to the mousedown event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "mousedown", fn ) : this.trigger( "mousedown" ); +}; + +jQuery.fn[ "mouseup" ] = function( fn ) { + /// + /// Bind a function to the mouseup event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "mouseup", fn ) : this.trigger( "mouseup" ); +}; + +jQuery.fn[ "mousemove" ] = function( fn ) { + /// + /// Bind a function to the mousemove event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "mousemove", fn ) : this.trigger( "mousemove" ); +}; + +jQuery.fn[ "mouseover" ] = function( fn ) { + /// + /// Bind a function to the mouseover event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "mouseover", fn ) : this.trigger( "mouseover" ); +}; + +jQuery.fn[ "mouseout" ] = function( fn ) { + /// + /// Bind a function to the mouseout event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "mouseout", fn ) : this.trigger( "mouseout" ); +}; + +jQuery.fn[ "mouseenter" ] = function( fn ) { + /// + /// Bind a function to the mouseenter event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "mouseenter", fn ) : this.trigger( "mouseenter" ); +}; + +jQuery.fn[ "mouseleave" ] = function( fn ) { + /// + /// Bind a function to the mouseleave event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "mouseleave", fn ) : this.trigger( "mouseleave" ); +}; + +jQuery.fn[ "change" ] = function( fn ) { + /// + /// 1: change() - Triggers the change event of each matched element. + /// 2: change(fn) - Binds a function to the change event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "change", fn ) : this.trigger( "change" ); +}; + +jQuery.fn[ "select" ] = function( fn ) { + /// + /// 1: select() - Triggers the select event of each matched element. + /// 2: select(fn) - Binds a function to the select event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "select", fn ) : this.trigger( "select" ); +}; + +jQuery.fn[ "submit" ] = function( fn ) { + /// + /// 1: submit() - Triggers the submit event of each matched element. + /// 2: submit(fn) - Binds a function to the submit event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "submit", fn ) : this.trigger( "submit" ); +}; + +jQuery.fn[ "keydown" ] = function( fn ) { + /// + /// 1: keydown() - Triggers the keydown event of each matched element. + /// 2: keydown(fn) - Binds a function to the keydown event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "keydown", fn ) : this.trigger( "keydown" ); +}; + +jQuery.fn[ "keypress" ] = function( fn ) { + /// + /// 1: keypress() - Triggers the keypress event of each matched element. + /// 2: keypress(fn) - Binds a function to the keypress event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "keypress", fn ) : this.trigger( "keypress" ); +}; + +jQuery.fn[ "keyup" ] = function( fn ) { + /// + /// 1: keyup() - Triggers the keyup event of each matched element. + /// 2: keyup(fn) - Binds a function to the keyup event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "keyup", fn ) : this.trigger( "keyup" ); +}; + +jQuery.fn[ "error" ] = function( fn ) { + /// + /// 1: error() - Triggers the error event of each matched element. + /// 2: error(fn) - Binds a function to the error event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "error", fn ) : this.trigger( "error" ); +}; + +// Prevent memory leaks in IE +// Window isn't included so as not to unbind existing unload events +// More info: +// - http://isaacschlueter.com/2006/10/msie-memory-leaks/ +if ( window.attachEvent && !window.addEventListener ) { + jQuery(window).bind("unload", function() { + for ( var id in jQuery.cache ) { + if ( jQuery.cache[ id ].handle ) { + // Try/Catch is to handle iframes being unloaded, see #4280 + try { + jQuery.event.remove( jQuery.cache[ id ].handle.elem ); + } catch(e) {} + } + } + }); +} + + +(function(){ + +var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, + done = 0, + toString = Object.prototype.toString, + hasDuplicate = false, + baseHasDuplicate = true; + +// Here we check if the JavaScript engine is using some sort of +// optimization where it does not always call our comparision +// function. If that is the case, discard the hasDuplicate value. +// Thus far that includes Google Chrome. +[0, 0].sort(function() { + baseHasDuplicate = false; + return 0; +}); + +var Sizzle = function( selector, context, results, seed ) { + results = results || []; + context = context || document; + + var origContext = context; + + if ( context.nodeType !== 1 && context.nodeType !== 9 ) { + return []; + } + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + var m, set, checkSet, extra, ret, cur, pop, i, + prune = true, + contextXML = Sizzle.isXML( context ), + parts = [], + soFar = selector; + + // Reset the position of the chunker regexp (start from head) + do { + chunker.exec( "" ); + m = chunker.exec( soFar ); + + if ( m ) { + soFar = m[3]; + + parts.push( m[1] ); + + if ( m[2] ) { + extra = m[3]; + break; + } + } + } while ( m ); + + if ( parts.length > 1 && origPOS.exec( selector ) ) { + + if ( parts.length === 2 && Expr.relative[ parts[0] ] ) { + set = posProcess( parts[0] + parts[1], context ); + + } else { + set = Expr.relative[ parts[0] ] ? + [ context ] : + Sizzle( parts.shift(), context ); + + while ( parts.length ) { + selector = parts.shift(); + + if ( Expr.relative[ selector ] ) { + selector += parts.shift(); + } + + set = posProcess( selector, set ); + } + } + + } else { + // Take a shortcut and set the context if the root selector is an ID + // (but not if it'll be faster if the inner selector is an ID) + if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML && + Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) { + + ret = Sizzle.find( parts.shift(), context, contextXML ); + context = ret.expr ? + Sizzle.filter( ret.expr, ret.set )[0] : + ret.set[0]; + } + + if ( context ) { + ret = seed ? + { expr: parts.pop(), set: makeArray(seed) } : + Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML ); + + set = ret.expr ? + Sizzle.filter( ret.expr, ret.set ) : + ret.set; + + if ( parts.length > 0 ) { + checkSet = makeArray( set ); + + } else { + prune = false; + } + + while ( parts.length ) { + cur = parts.pop(); + pop = cur; + + if ( !Expr.relative[ cur ] ) { + cur = ""; + } else { + pop = parts.pop(); + } + + if ( pop == null ) { + pop = context; + } + + Expr.relative[ cur ]( checkSet, pop, contextXML ); + } + + } else { + checkSet = parts = []; + } + } + + if ( !checkSet ) { + checkSet = set; + } + + if ( !checkSet ) { + Sizzle.error( cur || selector ); + } + + if ( toString.call(checkSet) === "[object Array]" ) { + if ( !prune ) { + results.push.apply( results, checkSet ); + + } else if ( context && context.nodeType === 1 ) { + for ( i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) { + results.push( set[i] ); + } + } + + } else { + for ( i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && checkSet[i].nodeType === 1 ) { + results.push( set[i] ); + } + } + } + + } else { + makeArray( checkSet, results ); + } + + if ( extra ) { + Sizzle( extra, origContext, results, seed ); + Sizzle.uniqueSort( results ); + } + + return results; +}; + +Sizzle.uniqueSort = function( results ) { + /// + /// Removes all duplicate elements from an array of elements. + /// + /// The array to translate + /// The array after translation. + + if ( sortOrder ) { + hasDuplicate = baseHasDuplicate; + results.sort( sortOrder ); + + if ( hasDuplicate ) { + for ( var i = 1; i < results.length; i++ ) { + if ( results[i] === results[ i - 1 ] ) { + results.splice( i--, 1 ); + } + } + } + } + + return results; +}; + +Sizzle.matches = function( expr, set ) { + return Sizzle( expr, null, null, set ); +}; + +Sizzle.matchesSelector = function( node, expr ) { + return Sizzle( expr, null, null, [node] ).length > 0; +}; + +Sizzle.find = function( expr, context, isXML ) { + var set; + + if ( !expr ) { + return []; + } + + for ( var i = 0, l = Expr.order.length; i < l; i++ ) { + var match, + type = Expr.order[i]; + + if ( (match = Expr.leftMatch[ type ].exec( expr )) ) { + var left = match[1]; + match.splice( 1, 1 ); + + if ( left.substr( left.length - 1 ) !== "\\" ) { + match[1] = (match[1] || "").replace(/\\/g, ""); + set = Expr.find[ type ]( match, context, isXML ); + + if ( set != null ) { + expr = expr.replace( Expr.match[ type ], "" ); + break; + } + } + } + } + + if ( !set ) { + set = context.getElementsByTagName( "*" ); + } + + return { set: set, expr: expr }; +}; + +Sizzle.filter = function( expr, set, inplace, not ) { + var match, anyFound, + old = expr, + result = [], + curLoop = set, + isXMLFilter = set && set[0] && Sizzle.isXML( set[0] ); + + while ( expr && set.length ) { + for ( var type in Expr.filter ) { + if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) { + var found, item, + filter = Expr.filter[ type ], + left = match[1]; + + anyFound = false; + + match.splice(1,1); + + if ( left.substr( left.length - 1 ) === "\\" ) { + continue; + } + + if ( curLoop === result ) { + result = []; + } + + if ( Expr.preFilter[ type ] ) { + match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter ); + + if ( !match ) { + anyFound = found = true; + + } else if ( match === true ) { + continue; + } + } + + if ( match ) { + for ( var i = 0; (item = curLoop[i]) != null; i++ ) { + if ( item ) { + found = filter( item, match, i, curLoop ); + var pass = not ^ !!found; + + if ( inplace && found != null ) { + if ( pass ) { + anyFound = true; + + } else { + curLoop[i] = false; + } + + } else if ( pass ) { + result.push( item ); + anyFound = true; + } + } + } + } + + if ( found !== undefined ) { + if ( !inplace ) { + curLoop = result; + } + + expr = expr.replace( Expr.match[ type ], "" ); + + if ( !anyFound ) { + return []; + } + + break; + } + } + } + + // Improper expression + if ( expr === old ) { + if ( anyFound == null ) { + Sizzle.error( expr ); + + } else { + break; + } + } + + old = expr; + } + + return curLoop; +}; + +Sizzle.error = function( msg ) { + throw "Syntax error, unrecognized expression: " + msg; +}; + +var Expr = Sizzle.selectors = { + order: [ "ID", "NAME", "TAG" ], + + match: { + ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/, + ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/, + TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/, + CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+\-]*)\))?/, + POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/, + PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/ + }, + + leftMatch: {}, + + attrMap: { + "class": "className", + "for": "htmlFor" + }, + + attrHandle: { + href: function( elem ) { + return elem.getAttribute( "href" ); + } + }, + + relative: { + "+": function(checkSet, part){ + var isPartStr = typeof part === "string", + isTag = isPartStr && !/\W/.test( part ), + isPartStrNotTag = isPartStr && !isTag; + + if ( isTag ) { + part = part.toLowerCase(); + } + + for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) { + if ( (elem = checkSet[i]) ) { + while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {} + + checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ? + elem || false : + elem === part; + } + } + + if ( isPartStrNotTag ) { + Sizzle.filter( part, checkSet, true ); + } + }, + + ">": function( checkSet, part ) { + var elem, + isPartStr = typeof part === "string", + i = 0, + l = checkSet.length; + + if ( isPartStr && !/\W/.test( part ) ) { + part = part.toLowerCase(); + + for ( ; i < l; i++ ) { + elem = checkSet[i]; + + if ( elem ) { + var parent = elem.parentNode; + checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false; + } + } + + } else { + for ( ; i < l; i++ ) { + elem = checkSet[i]; + + if ( elem ) { + checkSet[i] = isPartStr ? + elem.parentNode : + elem.parentNode === part; + } + } + + if ( isPartStr ) { + Sizzle.filter( part, checkSet, true ); + } + } + }, + + "": function(checkSet, part, isXML){ + var nodeCheck, + doneName = done++, + checkFn = dirCheck; + + if ( typeof part === "string" && !/\W/.test(part) ) { + part = part.toLowerCase(); + nodeCheck = part; + checkFn = dirNodeCheck; + } + + checkFn( "parentNode", part, doneName, checkSet, nodeCheck, isXML ); + }, + + "~": function( checkSet, part, isXML ) { + var nodeCheck, + doneName = done++, + checkFn = dirCheck; + + if ( typeof part === "string" && !/\W/.test( part ) ) { + part = part.toLowerCase(); + nodeCheck = part; + checkFn = dirNodeCheck; + } + + checkFn( "previousSibling", part, doneName, checkSet, nodeCheck, isXML ); + } + }, + + find: { + ID: function( match, context, isXML ) { + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [m] : []; + } + }, + + NAME: function( match, context ) { + if ( typeof context.getElementsByName !== "undefined" ) { + var ret = [], + results = context.getElementsByName( match[1] ); + + for ( var i = 0, l = results.length; i < l; i++ ) { + if ( results[i].getAttribute("name") === match[1] ) { + ret.push( results[i] ); + } + } + + return ret.length === 0 ? null : ret; + } + }, + + TAG: function( match, context ) { + return context.getElementsByTagName( match[1] ); + } + }, + preFilter: { + CLASS: function( match, curLoop, inplace, result, not, isXML ) { + match = " " + match[1].replace(/\\/g, "") + " "; + + if ( isXML ) { + return match; + } + + for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) { + if ( elem ) { + if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n]/g, " ").indexOf(match) >= 0) ) { + if ( !inplace ) { + result.push( elem ); + } + + } else if ( inplace ) { + curLoop[i] = false; + } + } + } + + return false; + }, + + ID: function( match ) { + return match[1].replace(/\\/g, ""); + }, + + TAG: function( match, curLoop ) { + return match[1].toLowerCase(); + }, + + CHILD: function( match ) { + if ( match[1] === "nth" ) { + // parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6' + var test = /(-?)(\d*)n((?:\+|-)?\d*)/.exec( + match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" || + !/\D/.test( match[2] ) && "0n+" + match[2] || match[2]); + + // calculate the numbers (first)n+(last) including if they are negative + match[2] = (test[1] + (test[2] || 1)) - 0; + match[3] = test[3] - 0; + } + + // TODO: Move to normal caching system + match[0] = done++; + + return match; + }, + + ATTR: function( match, curLoop, inplace, result, not, isXML ) { + var name = match[1].replace(/\\/g, ""); + + if ( !isXML && Expr.attrMap[name] ) { + match[1] = Expr.attrMap[name]; + } + + if ( match[2] === "~=" ) { + match[4] = " " + match[4] + " "; + } + + return match; + }, + + PSEUDO: function( match, curLoop, inplace, result, not ) { + if ( match[1] === "not" ) { + // If we're dealing with a complex expression, or a simple one + if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) { + match[3] = Sizzle(match[3], null, null, curLoop); + + } else { + var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not); + + if ( !inplace ) { + result.push.apply( result, ret ); + } + + return false; + } + + } else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) { + return true; + } + + return match; + }, + + POS: function( match ) { + match.unshift( true ); + + return match; + } + }, + + filters: { + enabled: function( elem ) { + return elem.disabled === false && elem.type !== "hidden"; + }, + + disabled: function( elem ) { + return elem.disabled === true; + }, + + checked: function( elem ) { + return elem.checked === true; + }, + + selected: function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + elem.parentNode.selectedIndex; + + return elem.selected === true; + }, + + parent: function( elem ) { + return !!elem.firstChild; + }, + + empty: function( elem ) { + return !elem.firstChild; + }, + + has: function( elem, i, match ) { + /// + /// Internal use only; use hasClass('class') + /// + /// + + return !!Sizzle( match[3], elem ).length; + }, + + header: function( elem ) { + return (/h\d/i).test( elem.nodeName ); + }, + + text: function( elem ) { + return "text" === elem.type; + }, + radio: function( elem ) { + return "radio" === elem.type; + }, + + checkbox: function( elem ) { + return "checkbox" === elem.type; + }, + + file: function( elem ) { + return "file" === elem.type; + }, + password: function( elem ) { + return "password" === elem.type; + }, + + submit: function( elem ) { + return "submit" === elem.type; + }, + + image: function( elem ) { + return "image" === elem.type; + }, + + reset: function( elem ) { + return "reset" === elem.type; + }, + + button: function( elem ) { + return "button" === elem.type || elem.nodeName.toLowerCase() === "button"; + }, + + input: function( elem ) { + return (/input|select|textarea|button/i).test( elem.nodeName ); + } + }, + setFilters: { + first: function( elem, i ) { + return i === 0; + }, + + last: function( elem, i, match, array ) { + return i === array.length - 1; + }, + + even: function( elem, i ) { + return i % 2 === 0; + }, + + odd: function( elem, i ) { + return i % 2 === 1; + }, + + lt: function( elem, i, match ) { + return i < match[3] - 0; + }, + + gt: function( elem, i, match ) { + return i > match[3] - 0; + }, + + nth: function( elem, i, match ) { + return match[3] - 0 === i; + }, + + eq: function( elem, i, match ) { + return match[3] - 0 === i; + } + }, + filter: { + PSEUDO: function( elem, match, i, array ) { + var name = match[1], + filter = Expr.filters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + + } else if ( name === "contains" ) { + return (elem.textContent || elem.innerText || Sizzle.getText([ elem ]) || "").indexOf(match[3]) >= 0; + + } else if ( name === "not" ) { + var not = match[3]; + + for ( var j = 0, l = not.length; j < l; j++ ) { + if ( not[j] === elem ) { + return false; + } + } + + return true; + + } else { + Sizzle.error( "Syntax error, unrecognized expression: " + name ); + } + }, + + CHILD: function( elem, match ) { + var type = match[1], + node = elem; + + switch ( type ) { + case "only": + case "first": + while ( (node = node.previousSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + if ( type === "first" ) { + return true; + } + + node = elem; + + case "last": + while ( (node = node.nextSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + return true; + + case "nth": + var first = match[2], + last = match[3]; + + if ( first === 1 && last === 0 ) { + return true; + } + + var doneName = match[0], + parent = elem.parentNode; + + if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) { + var count = 0; + + for ( node = parent.firstChild; node; node = node.nextSibling ) { + if ( node.nodeType === 1 ) { + node.nodeIndex = ++count; + } + } + + parent.sizcache = doneName; + } + + var diff = elem.nodeIndex - last; + + if ( first === 0 ) { + return diff === 0; + + } else { + return ( diff % first === 0 && diff / first >= 0 ); + } + } + }, + + ID: function( elem, match ) { + return elem.nodeType === 1 && elem.getAttribute("id") === match; + }, + + TAG: function( elem, match ) { + return (match === "*" && elem.nodeType === 1) || elem.nodeName.toLowerCase() === match; + }, + + CLASS: function( elem, match ) { + return (" " + (elem.className || elem.getAttribute("class")) + " ") + .indexOf( match ) > -1; + }, + + ATTR: function( elem, match ) { + var name = match[1], + result = Expr.attrHandle[ name ] ? + Expr.attrHandle[ name ]( elem ) : + elem[ name ] != null ? + elem[ name ] : + elem.getAttribute( name ), + value = result + "", + type = match[2], + check = match[4]; + + return result == null ? + type === "!=" : + type === "=" ? + value === check : + type === "*=" ? + value.indexOf(check) >= 0 : + type === "~=" ? + (" " + value + " ").indexOf(check) >= 0 : + !check ? + value && result !== false : + type === "!=" ? + value !== check : + type === "^=" ? + value.indexOf(check) === 0 : + type === "$=" ? + value.substr(value.length - check.length) === check : + type === "|=" ? + value === check || value.substr(0, check.length + 1) === check + "-" : + false; + }, + + POS: function( elem, match, i, array ) { + var name = match[2], + filter = Expr.setFilters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + } + } + } +}; + +var origPOS = Expr.match.POS, + fescape = function(all, num){ + return "\\" + (num - 0 + 1); + }; + +for ( var type in Expr.match ) { + Expr.match[ type ] = new RegExp( Expr.match[ type ].source + (/(?![^\[]*\])(?![^\(]*\))/.source) ); + Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, fescape) ); +} + +var makeArray = function( array, results ) { + array = Array.prototype.slice.call( array, 0 ); + + if ( results ) { + results.push.apply( results, array ); + return results; + } + + return array; +}; + +// Perform a simple check to determine if the browser is capable of +// converting a NodeList to an array using builtin methods. +// Also verifies that the returned array holds DOM nodes +// (which is not the case in the Blackberry browser) +try { + Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType; + +// Provide a fallback method if it does not work +} catch( e ) { + makeArray = function( array, results ) { + var i = 0, + ret = results || []; + + if ( toString.call(array) === "[object Array]" ) { + Array.prototype.push.apply( ret, array ); + + } else { + if ( typeof array.length === "number" ) { + for ( var l = array.length; i < l; i++ ) { + ret.push( array[i] ); + } + + } else { + for ( ; array[i]; i++ ) { + ret.push( array[i] ); + } + } + } + + return ret; + }; +} + +var sortOrder, siblingCheck; + +if ( document.documentElement.compareDocumentPosition ) { + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) { + return a.compareDocumentPosition ? -1 : 1; + } + + return a.compareDocumentPosition(b) & 4 ? -1 : 1; + }; + +} else { + sortOrder = function( a, b ) { + var al, bl, + ap = [], + bp = [], + aup = a.parentNode, + bup = b.parentNode, + cur = aup; + + // The nodes are identical, we can exit early + if ( a === b ) { + hasDuplicate = true; + return 0; + + // If the nodes are siblings (or identical) we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + + // If no parents were found then the nodes are disconnected + } else if ( !aup ) { + return -1; + + } else if ( !bup ) { + return 1; + } + + // Otherwise they're somewhere else in the tree so we need + // to build up a full list of the parentNodes for comparison + while ( cur ) { + ap.unshift( cur ); + cur = cur.parentNode; + } + + cur = bup; + + while ( cur ) { + bp.unshift( cur ); + cur = cur.parentNode; + } + + al = ap.length; + bl = bp.length; + + // Start walking down the tree looking for a discrepancy + for ( var i = 0; i < al && i < bl; i++ ) { + if ( ap[i] !== bp[i] ) { + return siblingCheck( ap[i], bp[i] ); + } + } + + // We ended someplace up the tree so do a sibling check + return i === al ? + siblingCheck( a, bp[i], -1 ) : + siblingCheck( ap[i], b, 1 ); + }; + + siblingCheck = function( a, b, ret ) { + if ( a === b ) { + return ret; + } + + var cur = a.nextSibling; + + while ( cur ) { + if ( cur === b ) { + return -1; + } + + cur = cur.nextSibling; + } + + return 1; + }; +} + +// Utility function for retreiving the text value of an array of DOM nodes +Sizzle.getText = function( elems ) { + var ret = "", elem; + + for ( var i = 0; elems[i]; i++ ) { + elem = elems[i]; + + // Get the text from text nodes and CDATA nodes + if ( elem.nodeType === 3 || elem.nodeType === 4 ) { + ret += elem.nodeValue; + + // Traverse everything else, except comment nodes + } else if ( elem.nodeType !== 8 ) { + ret += Sizzle.getText( elem.childNodes ); + } + } + + return ret; +}; + +// [vsdoc] The following function has been modified for IntelliSense. +// Check to see if the browser returns elements by name when +// querying by getElementById (and provide a workaround) +(function(){ + // We're going to inject a fake input element with a specified name + // var form = document.createElement("div"), + // id = "script" + (new Date()).getTime(), + // root = document.documentElement; + + // form.innerHTML = ""; + + // // Inject it into the root element, check its status, and remove it quickly + // root.insertBefore( form, root.firstChild ); + + // // The workaround has to do additional checks after a getElementById + // // Which slows things down for other browsers (hence the branching) + // if ( document.getElementById( id ) ) { + Expr.find.ID = function( match, context, isXML ) { + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + + return m ? + m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? + [m] : + undefined : + []; + } + }; + + Expr.filter.ID = function( elem, match ) { + var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); + + return elem.nodeType === 1 && node && node.nodeValue === match; + }; + // } + + // root.removeChild( form ); + + // release memory in IE + root = form = null; +})(); + +// [vsdoc] The following function has been modified for IntelliSense. +(function(){ + // Check to see if the browser returns only elements + // when doing getElementsByTagName("*") + + // Create a fake element + // var div = document.createElement("div"); + // div.appendChild( document.createComment("") ); + + // Make sure no comments are found + // if ( div.getElementsByTagName("*").length > 0 ) { + Expr.find.TAG = function( match, context ) { + var results = context.getElementsByTagName( match[1] ); + + // Filter out possible comments + if ( match[1] === "*" ) { + var tmp = []; + + for ( var i = 0; results[i]; i++ ) { + if ( results[i].nodeType === 1 ) { + tmp.push( results[i] ); + } + } + + results = tmp; + } + + return results; + }; + // } + + // Check to see if an attribute returns normalized href attributes + // div.innerHTML = ""; + + // if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" && + // div.firstChild.getAttribute("href") !== "#" ) { + + // Expr.attrHandle.href = function( elem ) { + // return elem.getAttribute( "href", 2 ); + // }; + // } + + // release memory in IE + div = null; +})(); + +if ( document.querySelectorAll ) { + (function(){ + var oldSizzle = Sizzle, + div = document.createElement("div"), + id = "__sizzle__"; + + div.innerHTML = "

"; + + // Safari can't handle uppercase or unicode characters when + // in quirks mode. + if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) { + return; + } + + Sizzle = function( query, context, extra, seed ) { + context = context || document; + + // Make sure that attribute selectors are quoted + query = query.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"); + + // Only use querySelectorAll on non-XML documents + // (ID selectors don't work in non-HTML documents) + if ( !seed && !Sizzle.isXML(context) ) { + if ( context.nodeType === 9 ) { + try { + return makeArray( context.querySelectorAll(query), extra ); + } catch(qsaError) {} + + // qSA works strangely on Element-rooted queries + // We can work around this by specifying an extra ID on the root + // and working up from there (Thanks to Andrew Dupont for the technique) + // IE 8 doesn't work on object elements + } else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + var old = context.getAttribute( "id" ), + nid = old || id; + + if ( !old ) { + context.setAttribute( "id", nid ); + } + + try { + return makeArray( context.querySelectorAll( "#" + nid + " " + query ), extra ); + + } catch(pseudoError) { + } finally { + if ( !old ) { + context.removeAttribute( "id" ); + } + } + } + } + + return oldSizzle(query, context, extra, seed); + }; + + for ( var prop in oldSizzle ) { + Sizzle[ prop ] = oldSizzle[ prop ]; + } + + // release memory in IE + div = null; + })(); +} + +(function(){ + var html = document.documentElement, + matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector, + pseudoWorks = false; + + try { + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( document.documentElement, "[test!='']:sizzle" ); + + } catch( pseudoError ) { + pseudoWorks = true; + } + + if ( matches ) { + Sizzle.matchesSelector = function( node, expr ) { + // Make sure that attribute selectors are quoted + expr = expr.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"); + + if ( !Sizzle.isXML( node ) ) { + try { + if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) { + return matches.call( node, expr ); + } + } catch(e) {} + } + + return Sizzle(expr, null, null, [node]).length > 0; + }; + } +})(); + +(function(){ + var div = document.createElement("div"); + + div.innerHTML = "
"; + + // Opera can't find a second classname (in 9.6) + // Also, make sure that getElementsByClassName actually exists + if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) { + return; + } + + // Safari caches class attributes, doesn't catch changes (in 3.2) + div.lastChild.className = "e"; + + if ( div.getElementsByClassName("e").length === 1 ) { + return; + } + + Expr.order.splice(1, 0, "CLASS"); + Expr.find.CLASS = function( match, context, isXML ) { + if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) { + return context.getElementsByClassName(match[1]); + } + }; + + // release memory in IE + div = null; +})(); + +function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + + if ( elem ) { + var match = false; + + elem = elem[dir]; + + while ( elem ) { + if ( elem.sizcache === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 && !isXML ){ + elem.sizcache = doneName; + elem.sizset = i; + } + + if ( elem.nodeName.toLowerCase() === cur ) { + match = elem; + break; + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + + if ( elem ) { + var match = false; + + elem = elem[dir]; + + while ( elem ) { + if ( elem.sizcache === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 ) { + if ( !isXML ) { + elem.sizcache = doneName; + elem.sizset = i; + } + + if ( typeof cur !== "string" ) { + if ( elem === cur ) { + match = true; + break; + } + + } else if ( Sizzle.filter( cur, [elem] ).length > 0 ) { + match = elem; + break; + } + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +if ( document.documentElement.contains ) { + Sizzle.contains = function( a, b ) { + /// + /// Check to see if a DOM node is within another DOM node. + /// + /// + /// The DOM element that may contain the other element. + /// + /// + /// The DOM node that may be contained by the other element. + /// + /// + + return a !== b && (a.contains ? a.contains(b) : true); + }; + +} else if ( document.documentElement.compareDocumentPosition ) { + Sizzle.contains = function( a, b ) { + /// + /// Check to see if a DOM node is within another DOM node. + /// + /// + /// The DOM element that may contain the other element. + /// + /// + /// The DOM node that may be contained by the other element. + /// + /// + + return !!(a.compareDocumentPosition(b) & 16); + }; + +} else { + Sizzle.contains = function() { + return false; + }; +} + +Sizzle.isXML = function( elem ) { + /// + /// Determines if the parameter passed is an XML document. + /// + /// The object to test + /// True if the parameter is an XML document; otherwise false. + + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement; + + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +var posProcess = function( selector, context ) { + var match, + tmpSet = [], + later = "", + root = context.nodeType ? [context] : context; + + // Position selectors must be done after the filter + // And so must :not(positional) so we move all PSEUDOs to the end + while ( (match = Expr.match.PSEUDO.exec( selector )) ) { + later += match[0]; + selector = selector.replace( Expr.match.PSEUDO, "" ); + } + + selector = Expr.relative[selector] ? selector + "*" : selector; + + for ( var i = 0, l = root.length; i < l; i++ ) { + Sizzle( selector, root[i], tmpSet ); + } + + return Sizzle.filter( later, tmpSet ); +}; + +// EXPOSE +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[":"] = jQuery.expr.filters; +jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + +})(); + + +var runtil = /Until$/, + rparentsprev = /^(?:parents|prevUntil|prevAll)/, + // Note: This RegExp should be improved, or likely pulled from Sizzle + rmultiselector = /,/, + isSimple = /^.[^:#\[\.,]*$/, + slice = Array.prototype.slice, + POS = jQuery.expr.match.POS; + +jQuery.fn.extend({ + find: function( selector ) { + /// + /// Searches for all elements that match the specified expression. + /// This method is a good way to find additional descendant + /// elements with which to process. + /// All searching is done using a jQuery expression. The expression can be + /// written using CSS 1-3 Selector syntax, or basic XPath. + /// Part of DOM/Traversing + /// + /// + /// + /// An expression to search with. + /// + /// + + var ret = this.pushStack( "", "find", selector ), + length = 0; + + for ( var i = 0, l = this.length; i < l; i++ ) { + length = ret.length; + jQuery.find( selector, this[i], ret ); + + if ( i > 0 ) { + // Make sure that the results are unique + for ( var n = length; n < ret.length; n++ ) { + for ( var r = 0; r < length; r++ ) { + if ( ret[r] === ret[n] ) { + ret.splice(n--, 1); + break; + } + } + } + } + } + + return ret; + }, + + has: function( target ) { + /// + /// Reduce the set of matched elements to those that have a descendant that matches the + /// selector or DOM element. + /// + /// + /// A string containing a selector expression to match elements against. + /// + /// + + var targets = jQuery( target ); + return this.filter(function() { + for ( var i = 0, l = targets.length; i < l; i++ ) { + if ( jQuery.contains( this, targets[i] ) ) { + return true; + } + } + }); + }, + + not: function( selector ) { + /// + /// Removes any elements inside the array of elements from the set + /// of matched elements. This method is used to remove one or more + /// elements from a jQuery object. + /// Part of DOM/Traversing + /// + /// + /// A set of elements to remove from the jQuery set of matched elements. + /// + /// + + return this.pushStack( winnow(this, selector, false), "not", selector); + }, + + filter: function( selector ) { + /// + /// Removes all elements from the set of matched elements that do not + /// pass the specified filter. This method is used to narrow down + /// the results of a search. + /// }) + /// Part of DOM/Traversing + /// + /// + /// + /// A function to use for filtering + /// + /// + + return this.pushStack( winnow(this, selector, true), "filter", selector ); + }, + + is: function( selector ) { + /// + /// Checks the current selection against an expression and returns true, + /// if at least one element of the selection fits the given expression. + /// Does return false, if no element fits or the expression is not valid. + /// filter(String) is used internally, therefore all rules that apply there + /// apply here, too. + /// Part of DOM/Traversing + /// + /// + /// + /// The expression with which to filter + /// + + return !!selector && jQuery.filter( selector, this ).length > 0; + }, + + closest: function( selectors, context ) { + /// + /// Get a set of elements containing the closest parent element that matches the specified selector, the starting element included. + /// + /// + /// A string containing a selector expression to match elements against. + /// + /// + /// A DOM element within which a matching element may be found. If no context is passed + /// in then the context of the jQuery set will be used instead. + /// + /// + + var ret = [], i, l, cur = this[0]; + + if ( jQuery.isArray( selectors ) ) { + var match, selector, + matches = {}, + level = 1; + + if ( cur && selectors.length ) { + for ( i = 0, l = selectors.length; i < l; i++ ) { + selector = selectors[i]; + + if ( !matches[selector] ) { + matches[selector] = jQuery.expr.match.POS.test( selector ) ? + jQuery( selector, context || this.context ) : + selector; + } + } + + while ( cur && cur.ownerDocument && cur !== context ) { + for ( selector in matches ) { + match = matches[selector]; + + if ( match.jquery ? match.index(cur) > -1 : jQuery(cur).is(match) ) { + ret.push({ selector: selector, elem: cur, level: level }); + } + } + + cur = cur.parentNode; + level++; + } + } + + return ret; + } + + var pos = POS.test( selectors ) ? + jQuery( selectors, context || this.context ) : null; + + for ( i = 0, l = this.length; i < l; i++ ) { + cur = this[i]; + + while ( cur ) { + if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) { + ret.push( cur ); + break; + + } else { + cur = cur.parentNode; + if ( !cur || !cur.ownerDocument || cur === context ) { + break; + } + } + } + } + + ret = ret.length > 1 ? jQuery.unique(ret) : ret; + + return this.pushStack( ret, "closest", selectors ); + }, + + // Determine the position of an element within + // the matched set of elements + index: function( elem ) { + /// + /// Searches every matched element for the object and returns + /// the index of the element, if found, starting with zero. + /// Returns -1 if the object wasn't found. + /// Part of Core + /// + /// + /// + /// Object to search for + /// + + if ( !elem || typeof elem === "string" ) { + return jQuery.inArray( this[0], + // If it receives a string, the selector is used + // If it receives nothing, the siblings are used + elem ? jQuery( elem ) : this.parent().children() ); + } + // Locate the position of the desired element + return jQuery.inArray( + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[0] : elem, this ); + }, + + add: function( selector, context ) { + /// + /// Adds one or more Elements to the set of matched elements. + /// Part of DOM/Traversing + /// + /// + /// A string containing a selector expression to match additional elements against. + /// + /// + /// Add some elements rooted against the specified context. + /// + /// + + var set = typeof selector === "string" ? + jQuery( selector, context || this.context ) : + jQuery.makeArray( selector ), + all = jQuery.merge( this.get(), set ); + + return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ? + all : + jQuery.unique( all ) ); + }, + + andSelf: function() { + /// + /// Adds the previous selection to the current selection. + /// + /// + + return this.add( this.prevObject ); + } +}); + +// A painfully simple check to see if an element is disconnected +// from a document (should be improved, where feasible). +function isDisconnected( node ) { + return !node || !node.parentNode || node.parentNode.nodeType === 11; +} + +jQuery.fn.parents = function (until, selector) { + /// + /// Get the ancestors of each element in the current set of matched elements, optionally filtered by a selector. + /// + /// + /// A string containing a selector expression to match elements against. + /// + /// + return jQuery.dir(elem, "parentNode"); +}; + +jQuery.fn.parentsUntil = function (until, selector) { + /// + /// Get the ancestors of each element in the current set of matched elements, up to but not including the element matched by the selector. + /// + /// + /// A string containing a selector expression to indicate where to stop matching ancestor elements. + /// + /// + return jQuery.dir(elem, "parentNode", until); +}; + +jQuery.each({ + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + next: function( elem ) { + return jQuery.nth( elem, 2, "nextSibling" ); + }, + prev: function( elem ) { + return jQuery.nth( elem, 2, "previousSibling" ); + }, + nextAll: function( elem ) { + return jQuery.dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return jQuery.dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + /// + /// Get all following siblings of each element up to but not including the element matched + /// by the selector. + /// + /// + /// A string containing a selector expression to indicate where to stop matching following + /// sibling elements. + /// + /// + + return jQuery.dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + /// + /// Get all preceding siblings of each element up to but not including the element matched + /// by the selector. + /// + /// + /// A string containing a selector expression to indicate where to stop matching preceding + /// sibling elements. + /// + /// + + return jQuery.dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return jQuery.sibling( elem.parentNode.firstChild, elem ); + }, + children: function( elem ) { + return jQuery.sibling( elem.firstChild ); + }, + contents: function( elem ) { + return jQuery.nodeName( elem, "iframe" ) ? + elem.contentDocument || elem.contentWindow.document : + jQuery.makeArray( elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var ret = jQuery.map( this, fn, until ); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 ? jQuery.unique( ret ) : ret; + + if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret, name, slice.call(arguments).join(",") ); + }; +}); + +jQuery.extend({ + filter: function( expr, elems, not ) { + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 ? + jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] : + jQuery.find.matches(expr, elems); + }, + + dir: function( elem, dir, until ) { + /// + /// This member is internal only. + /// + /// + + var matched = [], + cur = elem[ dir ]; + + while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { + if ( cur.nodeType === 1 ) { + matched.push( cur ); + } + cur = cur[dir]; + } + return matched; + }, + + nth: function( cur, result, dir, elem ) { + /// + /// This member is internal only. + /// + /// + + result = result || 1; + var num = 0; + + for ( ; cur; cur = cur[dir] ) { + if ( cur.nodeType === 1 && ++num === result ) { + break; + } + } + + return cur; + }, + + sibling: function( n, elem ) { + /// + /// This member is internal only. + /// + /// + + var r = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + r.push( n ); + } + } + + return r; + } +}); + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, keep ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep(elements, function( elem, i ) { + var retVal = !!qualifier.call( elem, i, elem ); + return retVal === keep; + }); + + } else if ( qualifier.nodeType ) { + return jQuery.grep(elements, function( elem, i ) { + return (elem === qualifier) === keep; + }); + + } else if ( typeof qualifier === "string" ) { + var filtered = jQuery.grep(elements, function( elem ) { + return elem.nodeType === 1; + }); + + if ( isSimple.test( qualifier ) ) { + return jQuery.filter(qualifier, filtered, !keep); + } else { + qualifier = jQuery.filter( qualifier, filtered ); + } + } + + return jQuery.grep(elements, function( elem, i ) { + return (jQuery.inArray( elem, qualifier ) >= 0) === keep; + }); +} + + + + +var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g, + rleadingWhitespace = /^\s+/, + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig, + rtagName = /<([\w:]+)/, + rtbody = /\s]+\/)>/g, + wrapMap = { + option: [ 1, "" ], + legend: [ 1, "
", "
" ], + thead: [ 1, "", "
" ], + tr: [ 2, "", "
" ], + td: [ 3, "", "
" ], + col: [ 2, "", "
" ], + area: [ 1, "", "" ], + _default: [ 0, "", "" ] + }; + +wrapMap.optgroup = wrapMap.option; +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// IE can't serialize and + + +@using (Html.BeginForm()) { + @Html.ValidationSummary(true, "Password change was unsuccessful. Please correct the errors and try again.") +
+
+ Account Information + +
+ @Html.LabelFor(m => m.OldPassword) +
+
+ @Html.PasswordFor(m => m.OldPassword) + @Html.ValidationMessageFor(m => m.OldPassword) +
+ +
+ @Html.LabelFor(m => m.NewPassword) +
+
+ @Html.PasswordFor(m => m.NewPassword) + @Html.ValidationMessageFor(m => m.NewPassword) +
+ +
+ @Html.LabelFor(m => m.ConfirmPassword) +
+
+ @Html.PasswordFor(m => m.ConfirmPassword) + @Html.ValidationMessageFor(m => m.ConfirmPassword) +
+ +

+ +

+
+
+} diff --git a/CharityPortal/CharityPortal/Views/Account/ChangePasswordSuccess.cshtml b/CharityPortal/CharityPortal/Views/Account/ChangePasswordSuccess.cshtml new file mode 100644 index 0000000..8a32b7d --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Account/ChangePasswordSuccess.cshtml @@ -0,0 +1,8 @@ +@{ + ViewBag.Title = "Change Password"; +} + +

Change Password

+

+ Your password has been changed successfully. +

diff --git a/CharityPortal/CharityPortal/Views/Account/LogOn.cshtml b/CharityPortal/CharityPortal/Views/Account/LogOn.cshtml new file mode 100644 index 0000000..f70f19e --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Account/LogOn.cshtml @@ -0,0 +1,48 @@ +@model CharityPortal.Models.LogOnModel + +@{ + ViewBag.Title = "Log On"; +} + +

Log On

+

+ Please enter your user name and password. @Html.ActionLink("Register", "Register") if you don't have an account. +

+ + + + +@Html.ValidationSummary(true, "Login was unsuccessful. Please correct the errors and try again.") + +@using (Html.BeginForm()) { +
+
+ Account Information + +
+ @Html.LabelFor(m => m.UserName) +
+
+ @Html.TextBoxFor(m => m.UserName) + @Html.ValidationMessageFor(m => m.UserName) +
+ +
+ @Html.LabelFor(m => m.Password) +
+
+ @Html.PasswordFor(m => m.Password) + @Html.ValidationMessageFor(m => m.Password) +
+ +
+ @Html.CheckBoxFor(m => m.RememberMe) + @Html.LabelFor(m => m.RememberMe) +
+ +

+ +

+
+
+} diff --git a/CharityPortal/CharityPortal/Views/Account/Register.cshtml b/CharityPortal/CharityPortal/Views/Account/Register.cshtml new file mode 100644 index 0000000..578f134 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Account/Register.cshtml @@ -0,0 +1,61 @@ +@model CharityPortal.Models.RegisterModel + +@{ + ViewBag.Title = "Register"; +} + +

Create a New Account

+

+ Use the form below to create a new account. +

+

+ Passwords are required to be a minimum of @Membership.MinRequiredPasswordLength characters in length. +

+ + + + +@using (Html.BeginForm()) { + @Html.ValidationSummary(true, "Account creation was unsuccessful. Please correct the errors and try again.") +
+
+ Account Information + +
+ @Html.LabelFor(m => m.UserName) +
+
+ @Html.TextBoxFor(m => m.UserName) + @Html.ValidationMessageFor(m => m.UserName) +
+ +
+ @Html.LabelFor(m => m.Email) +
+
+ @Html.TextBoxFor(m => m.Email) + @Html.ValidationMessageFor(m => m.Email) +
+ +
+ @Html.LabelFor(m => m.Password) +
+
+ @Html.PasswordFor(m => m.Password) + @Html.ValidationMessageFor(m => m.Password) +
+ +
+ @Html.LabelFor(m => m.ConfirmPassword) +
+
+ @Html.PasswordFor(m => m.ConfirmPassword) + @Html.ValidationMessageFor(m => m.ConfirmPassword) +
+ +

+ +

+
+
+} diff --git a/CharityPortal/CharityPortal/Views/Home/About.cshtml b/CharityPortal/CharityPortal/Views/Home/About.cshtml new file mode 100644 index 0000000..7f1c944 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Home/About.cshtml @@ -0,0 +1,8 @@ +@{ + ViewBag.Title = "About Us"; +} + +

About

+

+ Put content here. +

diff --git a/CharityPortal/CharityPortal/Views/Home/Index.cshtml b/CharityPortal/CharityPortal/Views/Home/Index.cshtml new file mode 100644 index 0000000..c92d5ba --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Home/Index.cshtml @@ -0,0 +1,8 @@ +@{ + ViewBag.Title = "Home Page"; +} + +

@ViewBag.Message

+

+ To learn more about ASP.NET MVC visit http://asp.net/mvc. +

diff --git a/CharityPortal/CharityPortal/Views/Shared/Error.cshtml b/CharityPortal/CharityPortal/Views/Shared/Error.cshtml new file mode 100644 index 0000000..5cce852 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Shared/Error.cshtml @@ -0,0 +1,9 @@ +@model System.Web.Mvc.HandleErrorInfo + +@{ + ViewBag.Title = "Error"; +} + +

+ Sorry, an error occurred while processing your request. +

diff --git a/CharityPortal/CharityPortal/Views/Shared/_Layout.cshtml b/CharityPortal/CharityPortal/Views/Shared/_Layout.cshtml new file mode 100644 index 0000000..4c6014b --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Shared/_Layout.cshtml @@ -0,0 +1,33 @@ + + + + + @ViewBag.Title + + + + + +
+
+
+

My MVC Application

+
+
+ @Html.Partial("_LogOnPartial") +
+ +
+
+ @RenderBody() +
+
+
+
+ + diff --git a/CharityPortal/CharityPortal/Views/Shared/_LogOnPartial.cshtml b/CharityPortal/CharityPortal/Views/Shared/_LogOnPartial.cshtml new file mode 100644 index 0000000..48d9fb7 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Shared/_LogOnPartial.cshtml @@ -0,0 +1,7 @@ +@if(Request.IsAuthenticated) { + Welcome @User.Identity.Name! + [ @Html.ActionLink("Log Off", "LogOff", "Account") ] +} +else { + @:[ @Html.ActionLink("Log On", "LogOn", "Account") ] +} diff --git a/CharityPortal/CharityPortal/Views/Web.config b/CharityPortal/CharityPortal/Views/Web.config new file mode 100644 index 0000000..4c30ef2 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Web.config @@ -0,0 +1,58 @@ + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CharityPortal/CharityPortal/Views/_ViewStart.cshtml b/CharityPortal/CharityPortal/Views/_ViewStart.cshtml new file mode 100644 index 0000000..9c30ccf --- /dev/null +++ b/CharityPortal/CharityPortal/Views/_ViewStart.cshtml @@ -0,0 +1,3 @@ +@{ + Layout = "~/Views/Shared/_Layout.cshtml"; +} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Web.Debug.config b/CharityPortal/CharityPortal/Web.Debug.config new file mode 100644 index 0000000..962e6b7 --- /dev/null +++ b/CharityPortal/CharityPortal/Web.Debug.config @@ -0,0 +1,30 @@ + + + + + + + + + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Web.Release.config b/CharityPortal/CharityPortal/Web.Release.config new file mode 100644 index 0000000..141832b --- /dev/null +++ b/CharityPortal/CharityPortal/Web.Release.config @@ -0,0 +1,31 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Web.config b/CharityPortal/CharityPortal/Web.config new file mode 100644 index 0000000..427169d --- /dev/null +++ b/CharityPortal/CharityPortal/Web.config @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CharityPortal/CharityPortal/packages.config b/CharityPortal/CharityPortal/packages.config new file mode 100644 index 0000000..dc496ab --- /dev/null +++ b/CharityPortal/CharityPortal/packages.config @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/CharityPortal/packages/EntityFramework.4.1.10331.0/EntityFramework.4.1.10331.0.nupkg b/CharityPortal/packages/EntityFramework.4.1.10331.0/EntityFramework.4.1.10331.0.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..6c2337ee82b7b6bc2dea37bb89cff832c057bef8 GIT binary patch literal 458371 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

Y`^o| z@OoH*i0D(#6F{7yV1q-mW261K{P##lKa4Qo-q zE{6gZOGCVm&lih3E)`|1FNL`iEBy7D#(a21^}ft$jQ6v%%R>3*?4C)>5^}YfjBQiL>AA3Bwy`#5qPIB_v z`FDKz>W|RhY_+hH!?WuVpp;^%$R!fuhWr}O8 zlWgq)S2boU<9C>gA^T#ctnc(+2DXx~!VkyiDLiUs4PK0I2!hde%XMETKX#i|UNt=_ zbod+a!>v&Q3Xs$0KZsb4``74cWX?ugpV*k$*xR?Zq%USDsxYkNaF67 z7ewwwDcbY7-6uH7Ke1Qa7`C%Y@e7gV$vVT>J*VrjK+EzdbdSA1gCrgyTJnpsXM8p+ z<-}t96K>o^x~zP%rP*II82T0W?E1pHnB{;wj-0&XHd-1wQbJB|)~V@T>|>}^2ET5m zUZj5>eUaIB7=K)Yq3$jmcXTRX+g^(mIguDImWcbjrHIRrPJJlM*w(>

lc?>k=A| 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

)s?+ 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%0D>z;(N1Kj-$cS?`zl;V`e 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%0AgUKZ(``rK78oo-+xv# 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ⅇ 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 + + + EntityFramework + + + +

+ Strongly-typed and parameterized string resources. + + + + + A string like "The '{0}' property of EdmPrimitiveType is fixed and cannot be set." + + + + + A string like "The namespace '{0}' is a system namespace and cannot be used by other schemas. Choose another namespace name." + + + + + A string like "Role '{0}' in AssociationSets ‘{1}’ and ‘{2}’ refers to the same EntitySet '{3}' in EntityContainer '{4}'. Make sure that if two or more AssociationSets refer to the same AssociationType, the ends do not refer to the same EntitySet." + + + + + A string like "The referenced EntitySet ‘{0}’ for End ‘{1}’ could not be found in the containing EntityContainer." + + + + + A string like "Type '{0}' is derived from type '{1}' that is the type for EntitySet '{2}'. Type '{0}' defines new concurrency requirements that are not allowed for subtypes of base EntitySet types." + + + + + A string like "EntitySet ‘{0}’ is based on type ‘{1}’ that has no keys defined." + + + + + A string like "The end name ‘{0}’ is already defined." + + + + + A string like "The key specified in EntityType '{0}' is not valid. Property '{1}' is referenced more than once in the Key element." + + + + + A string like "Property '{0}' has a CollectionKind specified but is not a collection property." + + + + + A string like "Property '{0}' has a CollectionKind specified. CollectionKind is only supported in version 1.1 EDM models." + + + + + A string like "ComplexType '{0}' is marked as abstract. Abstract ComplexTypes are only supported in version 1.1 EDM models." + + + + + A string like "ComplexType '{0}' has a BaseType specified. ComplexType inheritance is only supported in version 1.1 EDM models." + + + + + A string like "Key part '{0}' for type ‘{1}’ is not valid. All parts of the key must be non-nullable." + + + + + A string like "The property '{0}' in EntityType '{1}' is not valid. All properties that are part of the EntityKey must be of PrimitiveType." + + + + + A string like "Key usage is not valid. The {0} class cannot define keys because one of its base classes (‘{1}’) defines keys." + + + + + A string like "EntityType '{0}' has no key defined. Define the key for this EntityType." + + + + + A string like "NavigationProperty is not valid. Role ‘{0}’ or Role ‘{1}’ is not defined in Relationship ‘{2}’." + + + + + A string like "End '{0}' on relationship '{1}' cannot have an operation specified because its multiplicity is '*'. Operations cannot be specified on ends with multiplicity '*'." + + + + + A string like "Each Name and PluralName in a relationship must be unique. '{0}' is already defined." + + + + + A string like "In relationship '{0}', the Principal and Dependent Role of the referential constraint refer to the same Role in the relationship type." + + + + + A string like "Multiplicity is not valid in Role '{0}' in relationship '{1}'. Valid values for multiplicity for the Principal Role are '0..1' or '1'." + + + + + A string like "Multiplicity is not valid in Role '{0}' in relationship '{1}'. Because all the properties in the Dependent Role are nullable, multiplicity of the Principal Role must be '0..1'." + + + + + A string like "Multiplicity conflicts with the referential constraint in Role '{0}' in relationship '{1}'. Because at least one of the properties in the Dependent Role is non-nullable, multiplicity of the Principal Role must be '1'." + + + + + A string like "Multiplicity conflicts with the referential constraint in Role '{0}' in relationship '{1}'. Because all of the properties in the Dependent Role are non-nullable, multiplicity of the Principal Role must be '1'." + + + + + A string like "Properties referred by the Dependent Role ‘{0}’ must be a subset of the key of the EntityType ‘{1}’ referred to by the Dependent Role in the referential constraint for relationship ‘{2}’." + + + + + A string like "Multiplicity is not valid in Role '{0}' in relationship '{1}'. Because the Dependent Role refers to the key properties, the upper bound of the multiplicity of the Dependent Role must be ‘1’." + + + + + A string like "Multiplicity is not valid in Role '{0}' in relationship '{1}'. Because the Dependent Role properties are not the key properties, the upper bound of the multiplicity of the Dependent Role must be ‘*’." + + + + + A string like "The types of all properties in the Dependent Role of a referential constraint must be the same as the corresponding property types in the Principal Role. The type of property '{0}' on entity '{1}' does not match the type of property '{2}' on entity '{3}' in the referential constraint '{4}'." + + + + + A string like "There is no property with name '{0}' defined in the type referred to by Role '{1}'." + + + + + A string like "A nullable ComplexType is not supported. Property '{0}' must not allow nulls." + + + + + A string like "A property cannot be of type ‘{0}’. The property type must be a ComplexType or a PrimitiveType." + + + + + A string like "Each member name in an EntityContainer must be unique. A member with name '{0}' is already defined." + + + + + A string like "Each type name in a schema must be unique. Type name '{0}' is already defined." + + + + + A string like "Name ‘{0}’ cannot be used in type ‘{1}’. Member names cannot be the same as their enclosing type." + + + + + A string like "Each property name in a type must be unique. Property name '{0}' is already defined." + + + + + A string like "A cycle was detected in the type hierarchy of '{0}'." + + + + + A string like "A property cannot be of type ‘{0}’. The property type must be a ComplexType, a PrimitiveType, or a CollectionType." + + + + + A string like "The specified name must not be longer than 480 characters: '{0}'." + + + + + A string like "The specified name is not allowed: '{0}'." + + + + + A string like "NavigationProperty is not valid. The FromRole and ToRole are the same." + + + + + A string like "OnDelete can be specified on only one End of an EdmAssociation." + + + + + A string like "The number of properties in the Dependent and Principal Roles in a relationship constraint must be identical." + + + + + A string like "The name is missing or not valid." + + + + + A string like "AssociationEnd must not be null." + + + + + A string like "DependentEnd must not be null." + + + + + A string like "DependentProperties must not be empty." + + + + + A string like "Association must not be null." + + + + + A string like "ResultEnd must not be null." + + + + + A string like "EntityType must not be null." + + + + + A string like "ElementType must not be null." + + + + + A string like "ElementType must not be null." + + + + + A string like "SourceSet must not be null." + + + + + A string like "TargetSet must not be null." + + + + + A string like "The type is not a valid EdmTypeReference." + + + + + A string like "Serializer can only serialize an EdmModel that has one EdmNamespace and one EdmEntityContainer." + + + + + Strongly-typed and parameterized exception factory. + + + + + The exception that is thrown when a null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument. + + + + + The exception that is thrown when the value of an argument is outside the allowable range of values as defined by the invoked method. + + + + + The exception that is thrown when the author has yet to implement the logic at this point in the program. This can act as an exception based TODO tag. + + + + + The exception that is thrown when an invoked method is not supported, or when there is an attempt to read, seek, or write to a stream that does not support the invoked functionality. + + + + + Allows the construction and modification of a user-specified annotation (name-value pair) on a instance. + + + + + INamedDataModelItem is implemented by model-specific base types for all types with a property. + + + + + + Gets or sets the currently assigned name. + + + + + Constructs a new DataModelAnnotation + + + + + Gets or sets an optional namespace that can be used to distinguish the annotation from others with the same value. + + + + + Gets or sets the name of the annotation. + + + + + Gets or sets the value of the annotation. + + + + + + + + + + DataModelEventArgs is the base argument type for all events raised by consumers of Entity Data Model (EDM) models. + + + + + Gets a value indicating the that caused the event to be raised. + + + + + Gets an optional value indicating which property of the source item caused the event to be raised. + + + + + Gets a value that identifies the specific error that is being raised. + + + + + Gets an optional descriptive message the describes the error that is being raised. + + + + + DataModelItem is the base for all types in the EDM metadata reflection, construction and modification API. + + + + + IAnnotatedDataModelItem is implemented by model-specific base types for all types with an property. + + + + + + Gets or sets the currently assigned annotations. + + + + + DbAliasedMetadataItem provides the base type for all Database Metadata types that can have an optional that should be used instead of the item's when referring to the item in the database. + + + + + NamedDbItem is the base for all types in the Database Metadata construction and modification API with a property. + + + + + The base for all all Database Metadata types that support annotation using . + + + + + DbDataModelItem is the base for all types in the Database Metadata construction and modification API. + + + + + Gets or sets the currently assigned annotations. + + + + + Gets or sets the currently assigned name. + + + + + Gets an optional alternative identifier that should be used when referring to this item in the database. + + + + + When implemented in derived types, allows the construction and modification of a column in a Database Metadata table or row. + + + + + Gets or sets a string indicating the database-specific type of the column. + + + + + Gets or sets a value indicating whether the column is nullable. + + + + + Gets or sets an optional instance that applies additional constraints to the referenced database-specific type of the column. + + + + + Allows the construction and modification of a database in a Database Metadata model. + + + + + Gets or sets an optional value that indicates the database model version. + + + + + Gets or sets the collection of instances that specifies the schemas within the database. + + + + + Allows the construction and modification of a foreign key constraint sourced by a instance. + + + + + Gets or sets the to take when a delete operation is attempted. + + + + + Indicates which Database Metadata concept is represented by a given item. + + + + + Database Kind + + + + + Schema Kind + + + + + Foreign Key Constraint Kind + + + + + Function Kind + + + + + Function Parameter Kind + + + + + Function Return or Parameter Type Kind + + + + + Row Column Kind + + + + + Table Kind + + + + + Table Column Kind + + + + + Primitive Facets Kind + + + + + Specifies the action to take on a given operation. + + + + + Default behavior + + + + + Restrict the operation + + + + + Cascade the operation + + + + + Allows the construction and modification of additional constraints that can be applied to a specific use of a primitive type in a Database Metadata item. + + + + + Returns true if any facet value property currently has a non-null value; otherwise returns false. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered to have a fixed or variable length. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered to have its intrinsic maximum length, rather than a specific value. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered to be Unicode or non-Unicode. + + + + + Gets or sets an optional value indicating the current constraint on the type's maximum length. + + + + + Gets or sets an optional value indicating the current constraint on the type's precision. + + + + + Gets or sets an optional value indicating the current constraint on the type's scale. + + + + + Allows the construction and modification of a database schema in a database model. + + + + + Gets or sets the collection of instances that specifies the tables declared within the schema. + + + + + DbSchemaMetadataItem is the base for all types that can be contained in a schema. + + + + + Allows the construction and modification of a column in a table. + + + + + Gets or sets a value indicating whether the column is part of the table's primary key. + + + + + Gets or sets a value indicating if and how the value of the column is automatically generated. + + + + + Gets or sets an optional value indicating the collation specific to this table column. + + + + + Gets or sets an optional value that specifies the default value for the column. + + + + + Allows the construction and modification a table in a database schema. + + + + + Gets or sets the collection of instances that specifies the columns present within the table. + + + + + Gets or sets the collection of instances from the collection of the table that are part of the primary key. + + + + + Gets or sets the collection of instances that defines the foreign key constraints sourced from the table. + + + + + Represents a specific use of a type in a Database Metadata item. + + + + + Gets or sets an optional instance that applies additional constraints to a referenced primitive type. + + Accessing this property forces the creation of a DbPrimitiveTypeFacets value if no value has previously been set. Use to determine whether or not this property currently has a value. + + + + Gets or sets a value indicating whether the represented type is a collection type. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered nullable. + + + + + Gets a value indicating whether the type has been configured as a row type by the addition of one or more RowColumns. + + + + + Represents the mapping of an EDM association end () as a collection of property mappings (). + + + + + DbMappingMetadataItem is the base for all types in the EDM-to-Database Mapping construction and modification API that support annotation using . + + + + + DbMappingModelItem is the base for all types in the EDM-to-Database Mapping construction and modification API. + + + + + Gets or sets the currently assigned annotations. + + + + + Gets an value representing the association end that is being mapped. + + + + + Gets the collection of s that specifies how the association end key properties are mapped to the table. + + + + + Gets an value representing the association set that is being mapped. + + + + + Gets a value representing the table to which the entity type's properties are being mapped. + + + + + Gets the collection of s that specifies the constant or null values that columns in must have for this type mapping to apply. + + + + + Allows the construction and modification of a condition for a column in a database table. + + + + + Gets or sets a value representing the table column which must contain for this condition to hold. + + + + + Gets or sets the value that must contain for this condition to hold. + + + + + Represents the mapping of an entity property to a column in a database table. + + + + + Gets or sets the collection of instances that defines the mapped property, beginning from a property declared by the mapped entity type and optionally proceeding through properties of complex property result types. + + + + + Gets or sets a value representing the table column to which the entity property is being mapped. + + + + + Allows the construction and modification of the mapping of an EDM entity container () to a database (). + + + + + Gets or sets an value representing the entity container that is being mapped. + + + + + Gets or sets the collection of s that specifies how the container's entity sets are mapped to the database. + + + + + Gets the collection of s that specifies how the container's association sets are mapped to the database. + + + + + Allows the construction and modification of the mapping of an EDM entity set () to a database (). + + + + + Gets or sets an value representing the entity set that is being mapped. + + + + + Gets or sets the collection of s that specifies how the set's entity types are mapped to the database. + + + + + Allows the construction and modification of a complete or partial mapping of an EDM entity type () or type hierarchy to a specific database table (). + + + + + Gets or sets an value representing the entity type or hierarchy that is being mapped. + + + + + Gets or sets a value indicating whether this type mapping applies to and all its direct or indirect subtypes (true), or only to (false). + + + + + Gets a value representing the table to which the entity type's properties are being mapped. + + + + + Gets the collection of s that specifies how the type's properties are mapped to the table. + + + + + Gets the collection of s that specifies the constant or null values that columns in must have for this type mapping fragment to apply. + + + + + Indicates which EDM-to-Database Mapping concept is represented by a given item. + + + + + Database Mapping Kind + + + + + Entity Container Mapping Kind + + + + + Entity Set Mapping Kind + + + + + Association Set Mapping Kind + + + + + Entity Type Mapping Kind + + + + + Query View Mapping Kind + + + + + Entity Type Mapping Fragment Kind + + + + + Edm Property Mapping Kind + + + + + Association End Mapping Kind + + + + + Column Condition Kind + + + + + Property Condition Kind + + + + + Allows the construction and modification of a constraint applied to an Entity Data Model (EDM) association. + + + + + The base for all all Entity Data Model (EDM) types that support annotation using . + + + + + EdmDataModelItem is the base for all types in the Entity Data Model (EDM) metadata construction and modification API. + + + + + Gets an value indicating which Entity Data Model (EDM) concept is represented by this item. + + + + + Gets or sets the currently assigned annotations. + + + + + Returns all EdmItem children directly contained by this EdmItem. + + + + + Gets or sets the that represents the 'dependent' end of the constraint; properties from this association end's entity type contribute to the collection. + + + + + Gets or sets the collection of instances from the of the constraint. The values of these properties are constrained against the primary key values of the remaining, 'principal' association end's entity type. + + + + + Allows the construction and modification of one end of an Entity Data Model (EDM) association. + + + + + EdmStructuralMember is the base for all types that represent members of structural items in the Entity Data Model (EDM) metadata construction and modification API. + + + + + The base for all all Entity Data Model (EDM) item types that with a property. + + + + + Gets or sets the currently assigned name. + + + + + Gets or sets the entity type referenced by this association end. + + + + + Gets or sets the of this association end, which indicates the multiplicity of the end and whether or not it is required. + + + + + Gets or sets the to take when a delete operation is attempted. + + + + + Indicates the multiplicity of an and whether or not it is required. + + + + + Allows the construction and modification of an association set in an Entity Data Model (EDM) ). + + + + + Represents an item in an Entity Data Model (EDM) . + + + + + Gets or sets the that specifies the association type for the set. + + + + + Gets or sets the that specifies the entity set corresponding to the association end for this association set. + + + + + Gets or sets the that specifies the entity set corresponding to the association end for this association set. + + + + + + The base for all all Entity Data Model (EDM) types that represent a structured type from the EDM type system. + + + + + The base for all all Entity Data Model (EDM) types that represent a type from the EDM type system. + + + + + Represents an item in an Entity Data Model (EDM) . + + + + + The base for all all Entity Data Model (EDM) item types that with a Name property + that represents a qualified (can be dotted) name. + + + + + Gets a value indicating whether this type is abstract. + + + + + Gets the optional base type of this type. + + + + + Gets or sets the that defines the source end of the association. + + + + + Gets or sets the that defines the target end of the association. + + + + + Gets or sets the optional constraint that indicates whether the relationship is an independent association (no constraint present) or a foreign key relationship ( specified). + + + + + Collection semantics for properties. + + + + + The property does not have a collection type or does not specify explicit collection semantics. + + + + + The property is an unordered collection that may contain duplicates. + + + + + The property is an ordered collection that may contain duplicates. + + + + + Allows the construction and modification of a complex type in an Entity Data Model (EDM) . + + + + + Gets or sets the optional that indicates the base complex type of the complex type. + + + + + Gets or sets a value indicating whether the complex type is abstract. + + + + + Gets or sets the collection of instances that describe the (scalar or complex) properties of the complex type. + + + + + Concurrency mode for properties. + + + + + Default concurrency mode: the property is never validated + at write time + + + + + Fixed concurrency mode: the property is always validated at + write time + + + + + Allows the construction and modification of an entity container in an Entity Data Model (EDM) . + + + + + Gets all s declared within the namspace. Includes s and s. + + + + + Gets or sets the collection of s that specifies the association sets within the container. + + + + + Gets or sets the collection of s that specifies the entity sets within the container. + + + + + Allows the construction and modification of an entity set in an Entity Data Model (EDM) . + + + + + Gets or sets the that specifies the entity type for the set. + + + + + Allows the construction and modification of an entity type in an Entity Data Model (EDM) . + + + + + Gets or sets the optional that indicates the base entity type of the entity type. + + + + + Gets or sets a value indicating whether the entity type is abstract. + + + + + Gets or sets the collection of s that specifies the properties declared by the entity type. + + + + + Gets or sets the collection of s that indicates which properties from the collection are part of the entity key. + + + + + Gets or sets the optional collection of s that specifies the navigation properties declared by the entity type. + + + + + Indicates which Entity Data Model (EDM) concept is represented by a given item. + + + + + Association End Kind + + + + + Association Set Kind + + + + + Association Type Kind + + + + + Collection Type Kind + + + + + Complex Type Kind + + + + + Entity Container Kind + + + + + Entity Set Kind + + + + + Entity Type Kind + + + + + Function Group Kind + + + + + Function Overload Kind + + + + + Function Import Kind + + + + + Function Parameter Kind + + + + + Navigation Property Kind + + + + + EdmProperty Type Kind + + + + + Association Constraint Type Kind + + + + + Ref Type Kind + + + + + Row Column Kind + + + + + Row Type Kind + + + + + Type Reference Kind + + + + + Model Kind + + + + + Namespace Kind + + + + + Primitive Facets Kind + + + + + Primitive Type Kind + + + + + EdmModel is the top-level container for namespaces and entity containers belonging to the same logical Entity Data Model (EDM) model. + + + + + Gets or sets an optional value that indicates the entity model version. + + + + + Gets or sets the containers declared within the model. + + + + + Gets or sets the namespaces declared within the model. + + + + + Allows the construction and modification of a namespace in an . + + + + + Gets all s declared within the namspace. Includes s, s, s. + + + + + Gets or sets the s declared within the namespace. + + + + + Gets or sets the s declared within the namespace. + + + + + Gets or sets the s declared within the namespace. + + + + + Allows the construction and modification of an Entity Data Model (EDM) navigation property. + + + + + Gets or sets the that specifies the association over which navigation takes place. + + + + + Gets or sets the that specifies which association end is the 'destination' end of the navigation and produces the navigation property result. + + + + + Specifies the action to take on a given operation. + + + + + + Default behavior + + + + + Restrict the operation + + + + + Cascade the operation + + + + + Represents one of the fixed set of Entity Data Model (EDM) primitive types. + + + + + The base for all all Entity Data Model (EDM) types that represent a scalar type from the EDM type system. + + + + + Retrieves the EdmPrimitiveType instance with the corresponding to the specified value, if any. + + The name of the primitive type instance to retrieve + The EdmPrimitiveType with the specified name, if successful; otherwise null. + true if the given name corresponds to an EDM primitive type name; otherwise false. + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets an value that indicates which Entity Data Model (EDM) primitive type this type represents. + + + + + Allows the construction and modification of additional constraints that can be applied to a specific use of a primitive type in an Entity Data Model (EDM) item. See . + + + + + Returns true if any facet value property currently has a non-null value; otherwise returns false. + + + + + Gets or sets an optional value indicating the current constraint on the type's maximum length. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered to have its intrinsic maximum length, rather than a specific value. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered to have a fixed or variable length. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered to be Unicode or non-Unicode. + + + + + Gets or sets an optional value indicating the current constraint on the type's precision. + + + + + Gets or sets an optional value indicating the current constraint on the type's scale. + + + + + Primitive Types as defined by the Entity Data Model (EDM). + + + + + Binary Type Kind + + + + + Boolean Type Kind + + + + + Byte Type Kind + + + + + DateTime Type Kind + + + + + Decimal Type Kind + + + + + Double Type Kind + + + + + Guid Type Kind + + + + + Single Type Kind + + + + + SByte Type Kind + + + + + Int16 Type Kind + + + + + Int32 Type Kind + + + + + Int64 Type Kind + + + + + String Type Kind + + + + + Time Type Kind + + + + + DateTimeOffset Type Kind + + + + + Allows the construction and modification of a primitive- or complex-valued property of an Entity Data Model (EDM) entity or complex type. + + + + + Gets or sets an value that indicates which collection semantics - if any - apply to the property. + + + + + Gets or sets a value that indicates whether the property is used for concurrency validation. + + + + + Gets or sets on optional value that indicates an initial default value for the property. + + + + + Gets or sets an that specifies the result type of the property. + + + + + Enumerates all s declared or inherited by an . + + + + + Allows the construction and modification of a specific use of a type in an Entity Data Model (EDM) item. See for examples. + + + + + Gets or sets a value indicating the collection rank of the type reference. A collection rank greater than zero indicates that the type reference represents a collection of its referenced . + + + + + Gets or sets a value indicating the referenced by this type reference. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered nullable. + + + + + Gets or sets an optional instance that applies additional constraints to a referenced primitive type. + + Accessing this property forces the creation of an EdmPrimitiveTypeFacets value if no value has previously been set. Use to determine whether or not this property currently has a value. + + + + Gets a value indicating whether the property of this type reference has been assigned an value with at least one facet value specified. + + + + + Indicates whether this type reference represents a collection of its referenced (when is greater than zero) or not. + + + + + Indicates whether the property of this type reference currently refers to an , is not a collection type, and does not have primitive facet values specified. + + + + + Gets the currently referred to by this type reference, or null if the type reference is a collection type or does not refer to a complex type. + + + + + Indicates whether the property of this type reference currently refers to an and is not a collection type. + + + + + Gets the currently referred to by this type reference, or null if the type reference is a collection type or does not refer to a primitive type. + + + + + Contains constant values that apply to the EDM model, regardless of source (for CSDL specific constants see ). + + + + + Parsing code taken from System.dll's System.CodeDom.Compiler.CodeGenerator.IsValidLanguageIndependentIdentifier(string) + method to avoid LinkDemand needed to call this method + + + + + + + + + + + + Constants for CSDL XML. + + + + + Constants for C-S MSL XML. + + + + + Constants for SSDL XML. + + + + + The acceptable range for this enum is 0000 - 0999; the range 10,000-15,000 is reserved for tools. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Precision out of range + + + Scale out of range + + + + + + + + + One of the required facets is missing + + + + + + + + + + + + + + + + + + + + + + + + + The facet isn't allow by the property type. + + + + + This facet value is constant and is specified in the schema + + + + + + + + + + Multiplicity value was malformed + + + The value for the Action attribute is invalid or not allowed in the current context + + + An error occurred processing the On<Operation> elements + + + Ends were given for the Property element of a EntityContainer that is not a RelationshipSet + + + The extent name used in the EntittyContainerType End does not match the name of any of the EntityContainerProperties in the containing EntityContainer + + + An end element was not given, and cannot be inferred because too many EntityContainerEntitySet elements that are good possibilities. + + + An end element was not given, and cannot be inferred because there is no EntityContainerEntitySets that are the correct type to be used as an EntitySet. + + + Not a valid parameter direction for the parameter in a function + + + Unable to infer an optional schema part, to resolve this; be more explicit + + + Invalid facet attribute(s) specified in provider manifest + + + Invalid role value in the relationship constraint + + + Invalid Property in relationship constraint + + + Type mismatch between ToProperty and FromProperty in the relationship constraint + + + Invalid multiplicity in FromRole in the relationship constraint + + + The number of properties in the FromProperty and ToProperty in the relationship constraint must be identical + + + No Properties defined in either FromProperty or ToProperty in the relationship constraint + + + Missing constraint in relationship type in ssdl + + + Same role referred in the ToRole and FromRole of a referential constraint + + + Invalid value for attribute ParameterTypeSemantics + + + Invalid type used for a Relationship End Type + + + Invalid PrimitiveTypeKind + + + Invalid TypeConversion DestinationType + + + Expected a integer value between 0 - 255 + + + Invalid Type specified in function + + + Precision must not be greater than 28 + + + Properties that are part of entity key must be of scalar type + + + Binary type properties which are part of entity key are currently not supported + + + The primitive type kind does not have a preferred mapping + + + More than one PreferredMapping for a PrimitiveTypeKind + + + End with * multiplicity cannot have operations specified + + + EntitySet type has no keys + + + InvalidNumberOfParametersForAggregateFunction + + + InvalidParameterTypeForAggregateFunction + + + Composable functions must declare a return type. + + + Non-composable functions must not declare a return type. + + + Non-composable functions do not permit the aggregate; niladic; or built-in attributes. + + + Composable functions can not include command text attribute. + + + Functions should not declare both a store name and command text (only one or the other + can be used). + + + SystemNamespace + + + Empty DefiningQuery text + + + Schema, Table and DefiningQuery are all specified, and are mutually exclusive + + + ConcurrencyMode value was malformed + + + Concurrency can't change for any sub types of an EntitySet type. + + + Function import return type must be either empty, a collection of entities, or a singleton scalar. + + + Function import specifies a non-existent entity set. + + + Function import specifies entity type return but no entity set. + + + Function import specifies entity type that does not derive from element type of entity set. + + + Function import specifies a binding to an entity set but does not return entities. + + + InternalError + + + Same Entity Set Taking part in the same role of the relationship set in two different relationship sets + + + Entity key refers to the same property twice + + + Function declares a ReturnType attribute and element + + + Nullable Complex Type not supported in Edm V1 + + + Only Complex Collections supported in Edm V1.1 + + + No Key defined on Entity Type + + + Invalid namespace specified in using element + + + Need not specify system namespace in using + + + Cannot use a reserved/system namespace as alias + + + Invalid qualification specified for type + + + Invalid Entity Container Name in extends attribute + + + Invalid CollectionKind value in property CollectionKind attribute + + + Must specify namespace or alias of the schema in which this type is defined + + + Entity Container cannot extend itself + + + Failed to retrieve provider manifest + + + Mismatched Provider Manifest token values in SSDL artifacts + + + Missing Provider Manifest token value in SSDL artifact(s) + + + Empty CommandText element + + + Inconsistent Provider values in SSDL artifacts + + + Inconsistent Provider Manifest token values in SSDL artifacts + + + Duplicated Function overloads + + + InvalidProvider + + + FunctionWithNonEdmTypeNotSupported + + + ComplexTypeAsReturnTypeAndDefinedEntitySet + + + ComplexTypeAsReturnTypeAndDefinedEntitySet + + + unused 179, + unused 180, + unused 181, + In model functions facet attribute is allowed only on ScalarTypes + + + Captures several conditions where facets are placed on element where it should not exist. + + + Return type has not been declared + + + Invalid value in the EnumTypeOption + + + The structural annotation cannot use codegen namespaces + + + Function and type cannot have the same fully qualified name + + + Cannot load different version of schema in the same ItemCollection + + + Expected bool value + + + End without Multiplicity specified + + + In SSDL, if composable function returns a collection of rows (TVF), all row properties must be of scalar types. + + + The name of NamedEdmItem must not be empty or white space only + + + EdmTypeReference is empty + Unused 199; + + + + Serializes an that conforms to the restrictions of a single CSDL schema file to an XML writer. + The model to be serialized must contain a single and a single . + + + + + The CSDL Serializer for the EdmModel. + + + + + Serialize the to the XmlWriter. + + The EdmModel to serialize, mut have only one and one + The XmlWriter to serialize to + + + + MSL Serializer for DbModel + + + + + Serialize the to the XmlWriter + + The DbModel to serialize + The XmlWriter to serialize to + + + + SSDL Serializer for DbDatabaseMetadata + + + + + Serialize the to the + + The DbDatabaseMetadata to serialize + Provider information on the Schema element + ProviderManifestToken information on the Schema element + The XmlWriter to serialize to + + + + author/email + + + author/name + + + author/uri + + + published + + + rights + + + summary + + + title + + + contributor/email + + + contributor/name + + + contributor/uri + + + category/@label + + + Plaintext + + + HTML + + + XHTML + + + updated + + + link/@href + + + link/@rel + + + link/@type + + + link/@hreflang + + + link/@title + + + link/@length + + + category/@term + + + category/@scheme + + + + Return role name pair + + + + + + + + The context for DataModel Validation + + + + + Returns true if the given two ends are similar - the relationship type that this ends belongs to is the same + and the entity set refered by the ends are same and they are from the same role + + + + + + + + Return true if the Referential Constraint on the association is ready for further validation, otherwise return false. + + + + + + + Resolves the given property names to the property in the item + Also checks whether the properties form the key for the given type and whether all the properties are nullable or not + + + + + + + + + + + Return true if the namespaceName is a Edm System Namespace + + + + + + + Return true if the entityType is a subtype of any entity type in the dictionary keys, + and return the corresponding entry EntitySet value. Otherwise return false. + + + + + + + + + Return true if any of the properties in the EdmEntityType defines ConcurrencyMode. Otherwise return false. + + + + + + + Add member name to the Hash set, raise an error if the name exists already. + + + + + + + + + If the string is null, empty, or only whitespace, return false, otherwise return true + + + + + + + Determine if a cycle exists in the type hierarchy: use two pointers to + walk the chain, if one catches up with the other, we have a cycle. + + true if a cycle exists in the type hierarchy, false otherwise + + + + RuleSet for DataModel Validation + + + + + Get the related rules given certain DataModelItem + + The to validate + A collection of + + + + Data Model Validator + + + + + Validate the and all of its properties given certain version. + + The root of the model to be validated + True to validate the syntax, otherwise false + + + + The RuleSet for EdmModel + + + + + Get based on version + + a double value of version + + + + + The context for EdmModel Validation + + + + + Visitor for EdmModel Validation + + + + + Edm Model Validator + + + + + validate the from the root with the context + + The root to validate from + The validation context + + + + Strongly-typed and parameterized string resources. + + + + + A string like "The argument '{0}' cannot be null, empty or contain only white space." + + + + + A string like "The argument property '{0}' cannot be null." + + + + + A string like "The type '{0}' has already been configured as a complex type. It cannot be reconfigured as an entity type." + + + + + A string like "The type '{0}' has already been configured as an entity type. It cannot be reconfigured as a complex type." + + + + + A string like "The key component '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid primitive property." + + + + + A string like "The foreign key component '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid primitive property." + + + + + A string like "The property '{0}' is not a declared property on type '{1}'. Verify that the property has not been explicitly excluded from the model by using the Ignore method or NotMappedAttribute data annotation. Make sure that it is a valid primitive property." + + + + + A string like "The navigation property '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid navigation property." + + + + + A string like "The expression '{0}' is not a valid property expression. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'." + + + + + A string like "The expression '{0}' is not a valid property expression. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. Use dotted paths for nested properties: C#: 't => t.MyProperty.MyProperty' VB.Net: 'Function(t) t.MyProperty.MyProperty'." + + + + + A string like "The properties expression '{0}' is not valid. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. When specifying multiple properties use an anonymous type: C#: 't => new {{ t.MyProperty1, t.MyProperty2 }}' VB.Net: 'Function(t) New From {{ t.MyProperty1, t.MyProperty2 }}'." + + + + + A string like "The properties expression '{0}' is not valid. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. When specifying multiple properties use an anonymous type: C#: 't => new {{ t.MyProperty1, t.MyProperty2 }}' VB.Net: 'Function(t) New From {{ t.MyProperty1, t.MyProperty2 }}'." + + + + + + A string like "Conflicting configuration settings were specified for property '{0}' on type '{1}': {2}" + + + + + A string like "Conflicting configuration settings were specified for column '{0}' on table '{1}': {2}" + + + + + A string like "{0} = {1} conflicts with {2} = {3}" + + + + + A string like "The type '{0}' was not mapped. Check that the type has not been explicitly excluded by using the Ignore method or NotMappedAttribute data annotation. Verify that the type was defined as a class, is not primitive, nested or generic, and does not inherit from ComplexObject." + + + + + A string like "The type '{0}' was not mapped. Check that the type has not been explicitly excluded by using the Ignore method or NotMappedAttribute data annotation. Verify that the type was defined as a class, is not primitive, nested or generic, and does not inherit from EntityObject." + + + + + A string like "The navigation property '{0}' declared on type '{1}' cannot be the inverse of itself." + + + + + A string like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting foreign keys." + + + + + A string like "Values of incompatible types ('{1}' and '{2}') were assigned to the '{0}' discriminator column. Values of the same type must be specified. To explicitly specify the type of the discriminator column use the HasColumnType method." + + + + + A string like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting mapping information." + + + + + A string like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting cascade delete operations using 'WillCascadeOnDelete'." + + + + + A string like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting multiplicities." + + + + + A string like "The MaxLengthAttribute on property '{0}' on type '{1} is not valid. The Length value must be greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length." + + + + + A string like "The StringLengthAttribute on property '{0}' on type '{1}' is not valid. The maximum length must be greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length." + + + + + A string like "Unable to determine composite primary key ordering for type '{0}'. Use the ColumnAttribute or the HasKey method to specify an order for composite primary keys." + + + + + A string like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. Name must not be empty." + + + + + A string like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. The foreign key name '{2}' was not found on the dependent type '{3}'. The Name value should be a comma separated list of foreign key property names." + + + + + A string like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. The navigation property '{2}' was not found on the dependent type '{1}'. The Name value should be a valid navigation property name." + + + + + A string like "Unable to determine a composite foreign key ordering for foreign key on type {0}. When using the ForeignKey data annotation on composite foreign key properties ensure order is specified by using the Column data annotation or the fluent API." + + + + + A string like "The InversePropertyAttribute on property '{2}' on type '{3}' is not valid. The property '{0}' is not a valid navigation property on the related type '{1}'. Ensure that the property exists and is a valid reference or collection navigation property." + + + + + A string like "A relationship cannot be established from property '{0}' on type '{1}' to property '{0}' on type '{1}'. Check the values in the InversePropertyAttribute to ensure relationship definitions are unique and reference from one navigation property to its corresponding inverse navigation property." + + + + + A string like "\t{0}: {1}: {2}" + + + + + A string like "A key is registered for the derived type '{0}'. Keys can only be registered for the root type '{1}'." + + + + + A string like "The {0} value '{1}' already exists in the user-defined dictionary." + + + + + A string like "The type '{0}' has already been mapped to table '{1}'. Specify all mapping aspects of a table in a single Map call." + + + + + A string like "Map was called more than once for type '{0}' and at least one of the calls didn't specify the target table name." + + + + + A string like "The derived type '{0}' has already been mapped using the chaining syntax. A derived type can only be mapped once using the chaining syntax." + + + + + A string like "An "is not null" condition cannot be specified on property '{0}' on type '{1}' because this property is not included in the model. Check that the property has not been explicitly excluded from the model by using the Ignore method or NotMappedAttribute data annotation." + + + + + A string like "Values of type '{0}' cannot be used as type discriminator values. Supported types include byte, signed byte, bool, int16, int32, int64, and string." + + + + + A string like "Unable to add the convention '{0}'. Could not find an existing convention of type '{1}' in the current convention set." + + + + + A string like "Not all properties for type '{0}' have been mapped. Either map those properties or explicitly excluded them from the model." + + + + + A string like "Unable to determine the provider name for connection of type '{0}'." + + + + + A string like "The qualified table name '{0}' contains an invalid schema name. Schema names must have a non-zero length." + + + + + A string like "The qualified table name '{0}' contains an invalid table name. Table names must have a non-zero length." + + + + + A string like "Properties for type '{0}' can only be mapped once. Ensure the MapInheritedProperties method is only used during one call to the Map method." + + + + + A string like "Properties for type '{0}' can only be mapped once. Ensure the Properties method is used and that repeated calls specify each non-key property only once." + + + + + A string like "Properties for type '{0}' can only be mapped once. The non-key property '{1}' is mapped more than once. Ensure the Properties method specifies each non-key property only once." + + + + + A string like "The property '{1}' on type '{0}' cannot be mapped because it has been explicitly excluded from the model." + + + + + A string like "The entity types '{0}' and '{1}' cannot share table '{2}' because they are not in the same type hierarchy or do not have a valid one to one foreign key relationship with matching primary keys between them." + + + + + A string like "The property '{0}' cannot be used as a key property on the entity '{1}' because the property type is not a valid key type. Only scalar types, string and byte[] are supported key types." + + + + + A string like "The specified table '{0}' was not found in the model. Ensure that the table name has been correctly specified." + + + + + A string like "The specified association foreign key columns '{0}' are invalid. The number of columns specified must match the number of primary key columns." + + + + + A string like "Unable to determine the principal end of an association between the types '{0}' and '{1}'. The principal end of this association must be explicitly configured using either the relationship fluent API or data annotations." + + + + + A string like "The abstract type '{0}' has no mapped descendents and so cannot be mapped. Either remove '{0}' from the model or add one or more types deriving from '{0}' to the model. " + + + + + A string like "The type '{0}' cannot be mapped as defined because it maps inherited properties from types that use entity splitting or another form of inheritance. Either choose a different inheritance mapping strategy so as to not map inherited properties, or change all types in the hierarchy to map inherited properties and to not use splitting. " + + + + + A string like "One or more validation errors were detected during model generation:" + + + + + A string like "A circular ComplexType hierarchy was detected. Self-referencing ComplexTypes are not supported." + + + + + Strongly-typed and parameterized exception factory. + + + + + ArgumentException with message like "The argument '{0}' cannot be null, empty or contain only white space." + + + + + ArgumentException with message like "The argument property '{0}' cannot be null." + + + + + InvalidOperationException with message like "The type '{0}' has already been configured as a complex type. It cannot be reconfigured as an entity type." + + + + + InvalidOperationException with message like "The type '{0}' has already been configured as an entity type. It cannot be reconfigured as a complex type." + + + + + InvalidOperationException with message like "The key component '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid primitive property." + + + + + InvalidOperationException with message like "The foreign key component '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid primitive property." + + + + + InvalidOperationException with message like "The property '{0}' is not a declared property on type '{1}'. Verify that the property has not been explicitly excluded from the model by using the Ignore method or NotMappedAttribute data annotation. Make sure that it is a valid primitive property." + + + + + InvalidOperationException with message like "The navigation property '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid navigation property." + + + + + InvalidOperationException with message like "The expression '{0}' is not a valid property expression. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'." + + + + + InvalidOperationException with message like "The expression '{0}' is not a valid property expression. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. Use dotted paths for nested properties: C#: 't => t.MyProperty.MyProperty' VB.Net: 'Function(t) t.MyProperty.MyProperty'." + + + + + InvalidOperationException with message like "The properties expression '{0}' is not valid. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. When specifying multiple properties use an anonymous type: C#: 't => new {{ t.MyProperty1, t.MyProperty2 }}' VB.Net: 'Function(t) New From {{ t.MyProperty1, t.MyProperty2 }}'." + + + + + InvalidOperationException with message like "The properties expression '{0}' is not valid. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. When specifying multiple properties use an anonymous type: C#: 't => new {{ t.MyProperty1, t.MyProperty2 }}' VB.Net: 'Function(t) New From {{ t.MyProperty1, t.MyProperty2 }}'." + + + + + + InvalidOperationException with message like "Conflicting configuration settings were specified for property '{0}' on type '{1}': {2}" + + + + + InvalidOperationException with message like "Conflicting configuration settings were specified for column '{0}' on table '{1}': {2}" + + + + + InvalidOperationException with message like "The type '{0}' was not mapped. Check that the type has not been explicitly excluded by using the Ignore method or NotMappedAttribute data annotation. Verify that the type was defined as a class, is not primitive, nested or generic, and does not inherit from ComplexObject." + + + + + InvalidOperationException with message like "The type '{0}' was not mapped. Check that the type has not been explicitly excluded by using the Ignore method or NotMappedAttribute data annotation. Verify that the type was defined as a class, is not primitive, nested or generic, and does not inherit from EntityObject." + + + + + InvalidOperationException with message like "The navigation property '{0}' declared on type '{1}' cannot be the inverse of itself." + + + + + InvalidOperationException with message like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting foreign keys." + + + + + MappingException with message like "Values of incompatible types ('{1}' and '{2}') were assigned to the '{0}' discriminator column. Values of the same type must be specified. To explicitly specify the type of the discriminator column use the HasColumnType method." + + + + + InvalidOperationException with message like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting mapping information." + + + + + InvalidOperationException with message like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting cascade delete operations using 'WillCascadeOnDelete'." + + + + + InvalidOperationException with message like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting multiplicities." + + + + + InvalidOperationException with message like "The MaxLengthAttribute on property '{0}' on type '{1} is not valid. The Length value must be greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length." + + + + + InvalidOperationException with message like "The StringLengthAttribute on property '{0}' on type '{1}' is not valid. The maximum length must be greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length." + + + + + InvalidOperationException with message like "Unable to determine composite primary key ordering for type '{0}'. Use the ColumnAttribute or the HasKey method to specify an order for composite primary keys." + + + + + InvalidOperationException with message like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. Name must not be empty." + + + + + InvalidOperationException with message like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. The foreign key name '{2}' was not found on the dependent type '{3}'. The Name value should be a comma separated list of foreign key property names." + + + + + InvalidOperationException with message like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. The navigation property '{2}' was not found on the dependent type '{1}'. The Name value should be a valid navigation property name." + + + + + InvalidOperationException with message like "Unable to determine a composite foreign key ordering for foreign key on type {0}. When using the ForeignKey data annotation on composite foreign key properties ensure order is specified by using the Column data annotation or the fluent API." + + + + + InvalidOperationException with message like "The InversePropertyAttribute on property '{2}' on type '{3}' is not valid. The property '{0}' is not a valid navigation property on the related type '{1}'. Ensure that the property exists and is a valid reference or collection navigation property." + + + + + InvalidOperationException with message like "A relationship cannot be established from property '{0}' on type '{1}' to property '{0}' on type '{1}'. Check the values in the InversePropertyAttribute to ensure relationship definitions are unique and reference from one navigation property to its corresponding inverse navigation property." + + + + + InvalidOperationException with message like "A key is registered for the derived type '{0}'. Keys can only be registered for the root type '{1}'." + + + + + InvalidOperationException with message like "The type '{0}' has already been mapped to table '{1}'. Specify all mapping aspects of a table in a single Map call." + + + + + InvalidOperationException with message like "Map was called more than once for type '{0}' and at least one of the calls didn't specify the target table name." + + + + + InvalidOperationException with message like "The derived type '{0}' has already been mapped using the chaining syntax. A derived type can only be mapped once using the chaining syntax." + + + + + InvalidOperationException with message like "An "is not null" condition cannot be specified on property '{0}' on type '{1}' because this property is not included in the model. Check that the property has not been explicitly excluded from the model by using the Ignore method or NotMappedAttribute data annotation." + + + + + ArgumentException with message like "Values of type '{0}' cannot be used as type discriminator values. Supported types include byte, signed byte, bool, int16, int32, int64, and string." + + + + + InvalidOperationException with message like "Unable to add the convention '{0}'. Could not find an existing convention of type '{1}' in the current convention set." + + + + + InvalidOperationException with message like "Not all properties for type '{0}' have been mapped. Either map those properties or explicitly excluded them from the model." + + + + + NotSupportedException with message like "Unable to determine the provider name for connection of type '{0}'." + + + + + ArgumentException with message like "The qualified table name '{0}' contains an invalid schema name. Schema names must have a non-zero length." + + + + + ArgumentException with message like "The qualified table name '{0}' contains an invalid table name. Table names must have a non-zero length." + + + + + InvalidOperationException with message like "Properties for type '{0}' can only be mapped once. Ensure the MapInheritedProperties method is only used during one call to the Map method." + + + + + InvalidOperationException with message like "Properties for type '{0}' can only be mapped once. Ensure the Properties method is used and that repeated calls specify each non-key property only once." + + + + + InvalidOperationException with message like "Properties for type '{0}' can only be mapped once. The non-key property '{1}' is mapped more than once. Ensure the Properties method specifies each non-key property only once." + + + + + InvalidOperationException with message like "The property '{1}' on type '{0}' cannot be mapped because it has been explicitly excluded from the model." + + + + + InvalidOperationException with message like "The entity types '{0}' and '{1}' cannot share table '{2}' because they are not in the same type hierarchy or do not have a valid one to one foreign key relationship with matching primary keys between them." + + + + + InvalidOperationException with message like "The property '{0}' cannot be used as a key property on the entity '{1}' because the property type is not a valid key type. Only scalar types, string and byte[] are supported key types." + + + + + InvalidOperationException with message like "The specified table '{0}' was not found in the model. Ensure that the table name has been correctly specified." + + + + + InvalidOperationException with message like "The specified association foreign key columns '{0}' are invalid. The number of columns specified must match the number of primary key columns." + + + + + InvalidOperationException with message like "A circular ComplexType hierarchy was detected. Self-referencing ComplexTypes are not supported." + + + + + InvalidOperationException with message like "Unable to determine the principal end of an association between the types '{0}' and '{1}'. The principal end of this association must be explicitly configured using either the relationship fluent API or data annotations." + + + + + InvalidOperationException with message like "The abstract type '{0}' has no mapped descendents and so cannot be mapped. Either remove '{0}' from the model or add one or more types deriving from '{0}' to the model. " + + + + + NotSupportedException with message like "The type '{0}' cannot be mapped as defined because it maps inherited properties from types that use entity splitting or another form of inheritance. Either choose a different inheritance mapping strategy so as to not map inherited properties, or change all types in the hierarchy to map inherited properties and to not use splitting. " + + + + + The exception that is thrown when a null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument. + + + + + The exception that is thrown when the value of an argument is outside the allowable range of values as defined by the invoked method. + + + + + The exception that is thrown when the author has yet to implement the logic at this point in the program. This can act as an exception based TODO tag. + + + + + The exception that is thrown when an invoked method is not supported, or when there is an attempt to read, seek, or write to a stream that does not support the invoked functionality. + + + + + Strongly-typed and parameterized string resources. + + + + + A string like "Cannot get value for property '{0}' from entity of type '{1}' because the property has no get accessor." + + + + + A string like "Cannot set value for property '{0}' on entity of type '{1}' because the property has no set accessor." + + + + + + A string like "Cannot set value for property '{0}' on entity of type '{1}' because the property has no set accessor and is in the '{2}' state." + + + + + A string like "Member '{0}' cannot be called for property '{1}' on entity of type '{2}' because the property is not part of the Entity Data Model." + + + + + + A string like "Cannot call the {0} method for an entity of type '{1}' on a DbSet for entities of type '{2}'. Only entities of type '{2}' or derived from type '{2}' can be added, attached, or removed." + + + + + A string like "Cannot call the Create method for the type '{0}' on a DbSet for entities of type '{1}'. Only entities of type '{1}' or derived from type '{1}' can be created." + + + + + + + A string like "The property '{0}' on type '{1}' is a collection navigation property. The Collection method should be used instead of the Reference method." + + + + + A string like "The property '{0}' on type '{1}' is a reference navigation property. The Reference method should be used instead of the Collection method." + + + + + A string like "The property '{0}' on type '{1}' is not a navigation property. The Reference and Collection methods can only be used with navigation properties. Use the Property or ComplexProperty method." + + + + + A string like "The property '{0}' on type '{1}' is not a primitive or complex property. The Property method can only be used with primitive or complex properties. Use the Reference or Collection method." + + + + + A string like "The property '{0}' on type '{1}' is not a complex property. The ComplexProperty method can only be used with complex properties. Use the Property, Reference or Collection method." + + + + + A string like "The property '{0}' on type '{1}' is not a primitive property, complex property, collection navigation property, or reference navigation property." + + + + + A string like ""The property '{0}' from the property path '{1}' is not a complex property on type '{2}'. Property paths must be composed of complex properties for all except the final property."" + + + + + A string like ""The property path '{0}' cannot be used for navigation properties. Property paths can only be used to access primitive or complex properties."" + + + + + A string like "The navigation property '{0}' on entity type '{1}' cannot be used for entities of type '{2}' because it refers to entities of type '{3}'." + + + + + A string like "The generic type argument '{0}' cannot be used with the Member method when accessing the collection navigation property '{1}' on entity type '{2}'. The generic type argument '{3}' must be used instead." + + + + + A string like "The property '{0}' on entity type '{1}' cannot be used for objects of type '{2}' because it is a property for objects of type '{3}'." + + + + + A string like "The expression passed to method {0} must represent a property defined on the type '{1}'." + + + + + A string like "{0} cannot be used for entities in the {1} state." + + + + + A string like "Cannot set non-nullable property '{0}' of type '{1}' to null on object of type '{2}'." + + + + + A string like "The property '{0}' in the entity of type '{1}' is null. Store values cannot be obtained for an entity with a null complex property." + + + + + A string like "Cannot assign value of type '{0}' to property '{1}' of type '{2}' in property values for type '{3}'." + + + + + A string like "The '{0}' property does not exist or is not mapped for the type '{1}'." + + + + + A string like "Cannot copy values from DbPropertyValues for type '{0}' into DbPropertyValues for type '{1}'." + + + + + A string like "Cannot copy from property values for object of type '{0}' into property values for object of type '{1}'." + + + + + A string like "The value of the complex property '{0}' on entity of type '{1}' is null. Complex properties cannot be set to null and values cannot be set for null complex properties." + + + + + A string like "The value of the nested property values property '{0}' on the values for entity of type '{1}' is null. Nested property values cannot be set to null and values cannot be set for null complex properties." + + + + + A string like "The model backing the '{0}' context has changed since the database was created. Either manually delete/update the database, or call Database.SetInitializer with an IDatabaseInitializer instance. For example, the DropCreateDatabaseIfModelChanges strategy will automatically delete and recreate the database, and optionally seed it with new data." + + + + + A string like "The DbContextDatabaseInitializer entry 'key="{0}" value="{1}"' in the application configuration is not valid. Entries should be of the form 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="MyNamespace.MyInitializerClass, MyAssembly"' or 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="Disabled"'." + + + + + A string like "Failed to set database initializer of type '{0}' for DbContext type '{1}' specified in the application configuration. Entries should be of the form 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="MyNamespace.MyInitializerClass, MyAssembly"' or 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="Disabled"'. The initializer class must have a parameterless constructor. See inner exception for details." + + + + + A string like "The type '{0}' could not be found. The type name must be an assembly-qualified name." + + + + + A string like "The connection string '{0}' in the application's configuration file does not contain the required providerName attribute."" + + + + + A string like "The entity found was of type {0} when an entity of type {1} was requested." + + + + + A string like "The type '{0}' is mapped as a complex type. The Set method, DbSet objects, and DbEntityEntry objects can only be used with entity types, not complex types." + + + + + A string like "The type '{0}' is not attributed with EdmEntityTypeAttribute but is contained in an assembly attributed with EdmSchemaAttribute. POCO entities that do not use EdmEntityTypeAttribute cannot be contained in the same assembly as non-POCO entities that use EdmEntityTypeAttribute." + + + + + A string like "The entity type {0} is not part of the model for the current context." + + + + + A string like "No connection string named '{0}' could be found in the application config file." + + + + + A string like "The collection navigation property '{0}' on the entity of type '{1}' cannot be set because the entity type does not define a navigation property with a set accessor." + + + + + A string like "Multiple object sets per type are not supported. The object sets '{0}' and '{1}' can both contain instances of type '{2}'." + + + + + A string like "The context type '{0}' must have a public constructor taking an EntityConnection." + + + + + A string like "An unexpected exception was thrown during validation of '{0}' when invoking {1}.IsValid. See the inner exception for details." + + + + + A string like "An unexpected exception was thrown during validation of '{0}' when invoking {1}.Validate. See the inner exception for details." + + + + + A string like "The database name '{0}' is not supported because it is an MDF file name. A full connection string must be provided to attach an MDF file." + + + + + A string like "Setting IsModified to false for a modified property is not supported." + + + + + A string like "An error occurred while saving entities that do not expose foreign key properties for their relationships. The EntityEntries property will return null because a single entity cannot be identified as the source of the exception. Handling of exceptions while saving can be made easier by exposing foreign key properties in your entity types. See the InnerException for details." + + + + + A string like "The set of property value names is read-only." + + + + + A string like "A property of a complex type must be set to an instance of the generic or non-generic DbPropertyValues class for that type." + + + + + A string like "Model compatibility cannot be checked because the DbContext instance was not created using Code First patterns. DbContext instances created from an ObjectContext or using an EDMX file cannot be checked for compatibility." + + + + + A string like "Model compatibility cannot be checked because the EdmMetadata type was not included in the model. Ensure that IncludeMetadataConvention has been added to the DbModelBuilder conventions." + + + + + A string like "Model compatibility cannot be checked because the database does not contain model metadata. Ensure that IncludeMetadataConvention has been added to the DbModelBuilder conventions." + + + + + A string like "The context cannot be used while the model is being created." + + + + + A string like "The DbContext class cannot be used with models that have multiple entity sets per type (MEST)." + + + + + A string like "The operation cannot be completed because the DbContext has been disposed." + + + + + A string like "The provider factory returned a null connection." + + + + + A string like "The DbConnectionFactory instance returned a null connection." + + + + + A string like "The number of primary key values passed must match number of primary key values defined on the entity." + + + + + A string like "The type of one of the primary key values did not match the type defined in the entity. See inner exception for details." + + + + + A string like "Multiple entities were found in the Added state that match the given primary key values." + + + + + A string like "Data binding directly to a store query (DbSet, DbQuery, DbSqlQuery) is not supported. Instead populate a DbSet with data, for example by calling Load on the DbSet, and then bind to local data. For WPF bind to DbSet.Local. For WinForms bind to DbSet.Local.ToBindingList()." + + + + + A string like "The Include path expression must refer to a navigation property defined on the type. Use dotted paths for reference navigation properties and the Select operator for collection navigation properties." + + + + + A string like "Cannot initialize a DbContext from an entity connection string or an EntityConnection instance together with a DbCompiledModel. If an entity connection string or EntityConnection instance is used, then the model will be created from the metadata in the connection. If a DbCompiledModel is used, then the connection supplied should be a standard database connection (for example, a SqlConnection instance) rather than an entity connection." + + + + + A string like "Using the same DbCompiledModel to create contexts against different types of database servers is not supported. Instead, create a separate DbCompiledModel for each type of server being used." + + + + + A string like "Validation failed for one or more entities. See 'EntityValidationErrors' property for more details." + + + + + A string like "An exception occurred while initializing the database. See the InnerException for details." + + + + + A string like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using an existing ObjectContext is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel." + + + + + A string like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using an existing DbCompiledModel is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel." + + + + + A string like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using Database First or Model First is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel." + + + + + A string like "Code generated using the T4 templates for Database First and Model First development may not work correctly if used in Code First mode. To continue using Database First or Model First ensure that the Entity Framework connection string is specified in the config file of executing application. To use these classes, that were generated from Database First or Model First, with Code First add any additional configuration using attributes or the DbModelBuilder API and then remove the code that throws this exception." + + + + + Strongly-typed and parameterized exception factory. + + + + + InvalidOperationException with message like "Cannot get value for property '{0}' from entity of type '{1}' because the property has no get accessor." + + + + + InvalidOperationException with message like "Cannot set value for property '{0}' on entity of type '{1}' because the property has no set accessor." + + + + + + NotSupportedException with message like "Cannot set value for property '{0}' on entity of type '{1}' because the property has no set accessor and is in the '{2}' state." + + + + + InvalidOperationException with message like "Member '{0}' cannot be called for property '{1}' on entity of type '{2}' because the property is not part of the Entity Data Model." + + + + + + ArgumentException with message like "Cannot call the {0} method for an entity of type '{1}' on a DbSet for entities of type '{2}'. Only entities of type '{2}' or derived from type '{2}' can be added, attached, or removed." + + + + + ArgumentException with message like "Cannot call the Create method for the type '{0}' on a DbSet for entities of type '{1}'. Only entities of type '{1}' or derived from type '{1}' can be created." + + + + + + + ArgumentException with message like "The property '{0}' on type '{1}' is a collection navigation property. The Collection method should be used instead of the Reference method." + + + + + ArgumentException with message like "The property '{0}' on type '{1}' is a reference navigation property. The Reference method should be used instead of the Collection method." + + + + + ArgumentException with message like "The property '{0}' on type '{1}' is not a navigation property. The Reference and Collection methods can only be used with navigation properties. Use the Property or ComplexProperty method." + + + + + ArgumentException with message like "The property '{0}' on type '{1}' is not a primitive or complex property. The Property method can only be used with primitive or complex properties. Use the Reference or Collection method." + + + + + ArgumentException with message like "The property '{0}' on type '{1}' is not a complex property. The ComplexProperty method can only be used with complex properties. Use the Property, Reference or Collection method." + + + + + ArgumentException with message like "The property '{0}' on type '{1}' is not a primitive property, complex property, collection navigation property, or reference navigation property." + + + + + ArgumentException with message like ""The property '{0}' from the property path '{1}' is not a complex property on type '{2}'. Property paths must be composed of complex properties for all except the final property."" + + + + + ArgumentException with message like ""The property path '{0}' cannot be used for navigation properties. Property paths can only be used to access primitive or complex properties."" + + + + + ArgumentException with message like "The navigation property '{0}' on entity type '{1}' cannot be used for entities of type '{2}' because it refers to entities of type '{3}'." + + + + + ArgumentException with message like "The generic type argument '{0}' cannot be used with the Member method when accessing the collection navigation property '{1}' on entity type '{2}'. The generic type argument '{3}' must be used instead." + + + + + ArgumentException with message like "The property '{0}' on entity type '{1}' cannot be used for objects of type '{2}' because it is a property for objects of type '{3}'." + + + + + NotSupportedException with message like "Setting IsModified to false for a modified property is not supported." + + + + + ArgumentException with message like "The expression passed to method {0} must represent a property defined on the type '{1}'." + + + + + InvalidOperationException with message like "{0} cannot be used for entities in the {1} state." + + + + + InvalidOperationException with message like "Cannot set non-nullable property '{0}' of type '{1}' to null on object of type '{2}'." + + + + + InvalidOperationException with message like "The property '{0}' in the entity of type '{1}' is null. Store values cannot be obtained for an entity with a null complex property." + + + + + InvalidOperationException with message like "Cannot assign value of type '{0}' to property '{1}' of type '{2}' in property values for type '{3}'." + + + + + NotSupportedException with message like "The set of property value names is read-only." + + + + + ArgumentException with message like "The '{0}' property does not exist or is not mapped for the type '{1}'." + + + + + ArgumentException with message like "Cannot copy values from DbPropertyValues for type '{0}' into DbPropertyValues for type '{1}'." + + + + + ArgumentException with message like "Cannot copy from property values for object of type '{0}' into property values for object of type '{1}'." + + + + + ArgumentException with message like "A property of a complex type must be set to an instance of the generic or non-generic DbPropertyValues class for that type." + + + + + InvalidOperationException with message like "The value of the complex property '{0}' on entity of type '{1}' is null. Complex properties cannot be set to null and values cannot be set for null complex properties." + + + + + InvalidOperationException with message like "The value of the nested property values property '{0}' on the values for entity of type '{1}' is null. Nested property values cannot be set to null and values cannot be set for null complex properties." + + + + + InvalidOperationException with message like "The model backing the '{0}' context has changed since the database was created. Either manually delete/update the database, or call Database.SetInitializer with an IDatabaseInitializer instance. For example, the DropCreateDatabaseIfModelChanges strategy will automatically delete and recreate the database, and optionally seed it with new data." + + + + + NotSupportedException with message like "Model compatibility cannot be checked because the DbContext instance was not created using Code First patterns. DbContext instances created from an ObjectContext or using an EDMX file cannot be checked for compatibility." + + + + + NotSupportedException with message like "Model compatibility cannot be checked because the EdmMetadata type was not included in the model. Ensure that IncludeMetadataConvention has been added to the DbModelBuilder conventions." + + + + + NotSupportedException with message like "Model compatibility cannot be checked because the database does not contain model metadata. Ensure that IncludeMetadataConvention has been added to the DbModelBuilder conventions." + + + + + InvalidOperationException with message like "The DbContextDatabaseInitializer entry 'key="{0}" value="{1}"' in the application configuration is not valid. Entries should be of the form 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="MyNamespace.MyInitializerClass, MyAssembly"' or 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="Disabled"'." + + + + + InvalidOperationException with message like "Failed to set database initializer of type '{0}' for DbContext type '{1}' specified in the application configuration. Entries should be of the form 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="MyNamespace.MyInitializerClass, MyAssembly"' or 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="Disabled"'. The initializer class must have a parameterless constructor. See inner exception for details." + + + + + InvalidOperationException with message like "The type '{0}' could not be found. The type name must be an assembly-qualified name." + + + + + InvalidOperationException with message like "The context cannot be used while the model is being created." + + + + + InvalidOperationException with message like "The DbContext class cannot be used with models that have multiple entity sets per type (MEST)." + + + + + InvalidOperationException with message like "The operation cannot be completed because the DbContext has been disposed." + + + + + InvalidOperationException with message like "The provider factory returned a null connection." + + + + + InvalidOperationException with message like "The connection string '{0}' in the application's configuration file does not contain the required providerName attribute."" + + + + + InvalidOperationException with message like "The DbConnectionFactory instance returned a null connection." + + + + + ArgumentException with message like "The number of primary key values passed must match number of primary key values defined on the entity." + + + + + ArgumentException with message like "The type of one of the primary key values did not match the type defined in the entity. See inner exception for details." + + + + + InvalidOperationException with message like "The entity found was of type {0} when an entity of type {1} was requested." + + + + + InvalidOperationException with message like "Multiple entities were found in the Added state that match the given primary key values." + + + + + InvalidOperationException with message like "The type '{0}' is mapped as a complex type. The Set method, DbSet objects, and DbEntityEntry objects can only be used with entity types, not complex types." + + + + + InvalidOperationException with message like "The type '{0}' is not attributed with EdmEntityTypeAttribute but is contained in an assembly attributed with EdmSchemaAttribute. POCO entities that do not use EdmEntityTypeAttribute cannot be contained in the same assembly as non-POCO entities that use EdmEntityTypeAttribute." + + + + + InvalidOperationException with message like "The entity type {0} is not part of the model for the current context." + + + + + NotSupportedException with message like "Data binding directly to a store query (DbSet, DbQuery, DbSqlQuery) is not supported. Instead populate a DbSet with data, for example by calling Load on the DbSet, and then bind to local data. For WPF bind to DbSet.Local. For WinForms bind to DbSet.Local.ToBindingList()." + + + + + ArgumentException with message like "The Include path expression must refer to a navigation property defined on the type. Use dotted paths for reference navigation properties and the Select operator for collection navigation properties." + + + + + InvalidOperationException with message like "No connection string named '{0}' could be found in the application config file." + + + + + InvalidOperationException with message like "Cannot initialize a DbContext from an entity connection string or an EntityConnection instance together with a DbCompiledModel. If an entity connection string or EntityConnection instance is used, then the model will be created from the metadata in the connection. If a DbCompiledModel is used, then the connection supplied should be a standard database connection (for example, a SqlConnection instance) rather than an entity connection." + + + + + NotSupportedException with message like "The collection navigation property '{0}' on the entity of type '{1}' cannot be set because the entity type does not define a navigation property with a set accessor." + + + + + NotSupportedException with message like "Using the same DbCompiledModel to create contexts against different types of database servers is not supported. Instead, create a separate DbCompiledModel for each type of server being used." + + + + + InvalidOperationException with message like "Multiple object sets per type are not supported. The object sets '{0}' and '{1}' can both contain instances of type '{2}'." + + + + + InvalidOperationException with message like "The context type '{0}' must have a public constructor taking an EntityConnection." + + + + + NotSupportedException with message like "The database name '{0}' is not supported because it is an MDF file name. A full connection string must be provided to attach an MDF file." + + + + + DataException with message like "An exception occurred while initializing the database. See the InnerException for details." + + + + + NotSupportedException with message like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using an existing ObjectContext is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel." + + + + + NotSupportedException with message like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using an existing DbCompiledModel is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel." + + + + + NotSupportedException with message like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using Database First or Model First is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel." + + + + + The exception that is thrown when a null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument. + + + + + The exception that is thrown when the value of an argument is outside the allowable range of values as defined by the invoked method. + + + + + The exception that is thrown when the author has yet to implement the logic at this point in the program. This can act as an exception based TODO tag. + + + + + The exception that is thrown when an invoked method is not supported, or when there is an attempt to read, seek, or write to a stream that does not support the invoked functionality. + + + + + Strongly-typed and parameterized string resources. + + + + + A string like "The field {0} must be a string or array type with a maximum length of '{1}'." + + + + + A string like "The field {0} must be a string or array type with a minimum length of '{1}'." + + + + + A string like "The argument '{0}' cannot be null, empty or contain only white space." + + + + + A string like "MaxLengthAttribute must have a Length value that is greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length." + + + + + A string like "MinLengthAttribute must have a Length value that is zero or greater." + + + + + Strongly-typed and parameterized exception factory. + + + + + InvalidOperationException with message like "MaxLengthAttribute must have a Length value that is greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length." + + + + + InvalidOperationException with message like "MinLengthAttribute must have a Length value that is zero or greater." + + + + + ArgumentException with message like "The argument '{0}' cannot be null, empty or contain only white space." + + + + + The exception that is thrown when a null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument. + + + + + The exception that is thrown when the value of an argument is outside the allowable range of values as defined by the invoked method. + + + + + The exception that is thrown when the author has yet to implement the logic at this point in the program. This can act as an exception based TODO tag. + + + + + The exception that is thrown when an invoked method is not supported, or when there is an attempt to read, seek, or write to a stream that does not support the invoked functionality. + + + + + Gets or sets an value representing the model that is being mapped. + + + + + Gets or sets a value representing the database that is the target of the mapping. + + + + + Gets or sets the collection of s that specifies how the model's entity containers are mapped to the database. + + + + + This convention uses the name of the derived + class as the container for the conceptual model built by + Code First. + + + + + Identifies conventions that can be removed from a instance. + + + + + Initializes a new instance of the class. + + The model container name. + + + + Applies the convention to the given model. + + The model. + + + + This convention uses the namespace of the derived + class as the namespace of the conceptual model built by + Code First. + + + + + Initializes a new instance of the class. + + The model namespace. + + + + Applies the convention to the given model. + + The model. + + + + Thrown when a context is generated from the templates in Database First or Model + First mode and is then used in Code First mode. + + + Code generated using the T4 templates provided for Database First and Model First use may not work + correctly if used in Code First mode. To use these classes with Code First please add any additional + configuration using attributes or the DbModelBuilder API and then remove the code that throws this + exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The object that holds the serialized object data. + The contextual information about the source or destination. + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Adapted from to allow the initializer to take an input object and + to do one-time initialization that only has side-effects and doesn't return a value. + + The type of the input. + + + + Initializes a new instance of the class. + + The action. + + + + Performs the action unless it has already been successfully performed before. + + The input to the action; ignored if the action has already succeeded. + + + + Adapted from to allow the initializer to take an input object and + to retry initialization if it has previously failed. + + + This class can only be used to initialize reference types that will not be null when + initialized. + + The type of the input. + The type of the result. + + + + Initializes a new instance of the class. + + The value factory. + + + + Gets the value, possibly by running the initializer if it has not been run before or + if all previous times it ran resulted in exceptions. + + The input to the initializer; ignored if initialization has already succeeded. + The initialized object. + + + + Abstracts simple validators used to validate entities and properties. + + + + + Validates an entity or a property. + + Validation context. Never null. + Property to validate. Can be null for type level validation. + Validation error as. Empty if no errors. Never null. + + + + + Contracts for interface. + + + + + Contract for IValidator.Validate method. + + Validation context. + Property. + Nothing - always throws. + + + + Indicates what parts of a configuration are overridable. + + + + + Nothing in the configuration is overridable. + + + + + The configuration values related to C-Space are overridable. + + + + + The configuration values only related to S-Space are overridable. + + + + + Populate the table mapping structure + + + + + Sets nullability for association set mappings' foreign keys for 1:* and 1:0..1 associations + when no base types share the the association set mapping's table + + + + + Makes sure only the required property mappings are present + + + + + Determines if the table and entity type need mapping, and if not, removes the existing entity type mapping + + + + + Base class for configuring a property on an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Convention to set a default maximum length of 4000 for properties whose type supports length facets when SqlCe is the provider. + + + + + Convention to process instances of found on navigation properties in the model. + + + + + Exception thrown from when an exception is thrown from the validation + code. + + + + + Initializes a new instance of DbUnexpectedValidationException + + The exception message. + + + + Initializes a new instance of DbUnexpectedValidationException + + The exception message. + + + + Initializes a new instance of DbUnexpectedValidationException + + The exception message. + The inner exception. + + + + Initializes a new instance of DbUnexpectedValidationException with the specified serialization info and + context. + + The serialization info. + The streaming context. + + + + An implementation of IDatabaseInitializer that will always recreate and optionally re-seed the + database the first time that a context is used in the app domain. + To seed the database, create a derived class and override the Seed method. + + The type of the context. + + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + A that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + An implementation of IDatabaseInitializer that will recreate and optionally re-seed the + database only if the database does not exist. + To seed the database, create a derived class and override the Seed method. + + The type of the context. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + A that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + An instances of this class is obtained from an object and can be used + to manage the actual database backing a DbContext or connection. + This includes creating, deleting, and checking for the existence of a database. + Note that deletion and checking for existence of a database can be performed using just a + connection (i.e. without a full context) by using the static methods of this class. + + + + + Creates a Database backed by the given context. This object can be used to create a database, + check for database existence, and delete a database. + + The context that defines the database connection and model. + + + + Gets or sets the database initialization strategy. The database initialization strategy is called when instance + is initialized from a . The strategy can optionally check for database existence, create a new database, and + seed the database with data. + The default strategy is an instance of created with useSeedData set + to true. + + The type of the context. + The strategy. + The database creation strategy. + + + + Internal version of SetInitializer that allows the strategy to be locked such that it cannot be replaced + by another call to SetInitializer. This allows strategies set in the app.config to win over strategies set + in code. + + The type of the context. + The strategy. + if set to true then the strategy is locked. + + + + Runs the the registered on this context. + + If "force" is set to true, then the initializer is run regardless of whether or not it + has been run before. This can be useful if a database is deleted while an app is running + and needs to be reinitialized. + + If "force" is set to false, then the initializer is only run if it has not already been + run for this context, model, and connection in this app domain. This method is typically + used when it is necessary to ensure that the database has been created and seeded + before starting some operation where doing so lazily will cause issues, such as when the + operation is part of a transaction. + + if set to true the initializer is run even if it has already been run. + + + + This method returns true if the context has a model hash and the database contains a model hash + and these hashes match. This indicates that the model used to create the database is the same + as the current model and so the two can be used together. + + If set to true then an exception will be thrown if no + model metadata is found either in the model associated with the context or in the database + itself. If set to false then this method will return true if metadata is + not found. + + True if the model hash in the context and the database match; false otherwise. + + + + + Creates a new database on the database server for the model defined in the backing context. + Note that calling this method before the database initialization strategy has run will disable + executing that strategy. + + + + + Creates a new database on the database server for the model defined in the backing context, but only + if a database with the same name does not already exist on the server. + + True if the database did not exist and was created; false otherwise. + + + + Checks whether or not the database exists on the server. + + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + + True if the database did exist and was deleted; false otherwise. + + + + Checks whether or not the database exists on the server. + The connection to the database is created using the given database name or connection string + in the same way as is described in the documentation for the class. + + The database name or a connection string to the database. + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + The connection to the database is created using the given database name or connection string + in the same way as is described in the documentation for the class. + + The database name or a connection string to the database. + True if the database did exist and was deleted; false otherwise. + + + + Checks whether or not the database exists on the server. + + An existing connection to the database. + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + + An existing connection to the database. + True if the database did exist and was deleted; false otherwise. + + + + Performs the operation defined by the given delegate using the given lazy connection, ensuring + that the lazy connection is disposed after use. + + Information used to create a DbConnection. + The operation to perform. + The return value of the operation. + + + + Performs the operation defined by the given delegate against a connection. The connection + is either the connection accessed from the context backing this object, or is obtained from + the connection information passed to one of the static methods. + + The connection to use. + The operation to perform. + The return value of the operation. + + + + Returns an empty ObjectContext that can be used to perform delete/exists operations. + + The connection for which to create an ObjectContext + The empty context. + + + + Creates a raw SQL query that will return elements of the given generic type. + The type can be any type that has properties that match the names of the columns returned + from the query, or can be a simple primitive type. The type does not have to be an + entity type. The results of this query are never tracked by the context even if the + type of object returned is an entity type. Use the + method to return entities that are tracked by the context. + + The type of object returned by the query. + The SQL query string. + The parameters to apply to the SQL query string. + A object that will execute the query when it is enumerated. + + + + Creates a raw SQL query that will return elements of the given type. + The type can be any type that has properties that match the names of the columns returned + from the query, or can be a simple primitive type. The type does not have to be an + entity type. The results of this query are never tracked by the context even if the + type of object returned is an entity type. Use the + method to return entities that are tracked by the context. + + The type of object returned by the query. + The SQL query string. + The parameters to apply to the SQL query string. + A object that will execute the query when it is enumerated. + + + + Executes the given DDL/DML command against the database. + + The command string. + The parameters to apply to the command string. + The result returned by the database after executing the command. + + + + Returns the connection being used by this context. This may cause the context to be initialized + and the connection to be created if it does not already exist. + + Thrown if the context has been disposed. + + + + Returns the as a delegate that can be called with + an instance of the that owns this Database object, or returns null if + there is no initializer set for this context type. + + The initializer delegate or null. + + + + The connection factory to use when creating a from just + a database name or a connection string. + + + This is used when just a database name or connection string is given to or when + the no database name or connection is given to DbContext in which case the name of + the context class is passed to this factory in order to generate a DbConnection. + The default connection factory creates a connection to SQL Express on the local machine. However, + this default may be changed by an application framework. + + + + + An implementation of IDatabaseInitializer that will DELETE, recreate, and optionally re-seed the + database only if the model has changed since the database was created. This is achieved by writing a + hash of the store model to the database when it is created and then comparing that hash with one + generated from the current model. + To seed the database, create a derived class and override the Seed method. + + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + A that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + A DbContext instance represents a combination of the Unit Of Work and Repository patterns such that + it can be used to query from a database and group together changes that will then be written + back to the store as a unit. + DbContext is conceptually similar to ObjectContext. + + + DbContext is usually used with a derived type that contains properties for + the root entities of the model. These sets are automatically initialized when the + instance of the derived class is created. This behavior can be modified by applying the + attribute to either the entire derived context + class, or to individual properties on the class. + + The Entity Data Model backing the context can be specified in several ways. When using the Code First + approach, the properties on the derived context are used to build a model + by convention. The protected OnModelCreating method can be overridden to tweak this model. More + control over the model used for the Model First approach can be obtained by creating a + explicitly from a and passing this model to one of the DbContext constructors. + + When using the Database First or Model First approach the Entity Data Model can be created using the + Entity Designer (or manually through creation of an EDMX file) and then this model can be specified using + entity connection string or an object. + + The connection to the database (including the name of the database) can be specified in several ways. + If the parameterless DbContext constructor is called from a derived context, then the name of the derived context + is used to find a connection string in the app.config or web.config file. If no connection string is found, then + the name is passed to the DefaultConnectionFactory registered on the class. The connection + factory then uses the context name as the database name in a default connection string. (This default connection + string points to .\SQLEXPRESS on the local machine unless a different DefaultConnectionFactory is registered.) + + Instead of using the derived context name, the connection/database name can also be specified explicitly by + passing the name to one of the DbContext constructors that takes a string. The name can also be passed in + the form "name=myname", in which case the name must be found in the config file or an exception will be thrown. + + Note that the connection found in the app.config or web.config file can be a normal database connection + string (not a special Entity Framework connection string) in which case the DbContext will use Code First. + However, if the connection found in the config file is a special Entity Framework connection string, then the + DbContext will use Database/Model First and the model specified in the connection string will be used. + + An existing or explicitly created DbConnection can also be used instead of the database/connection name. + + A can be applied to a class derived from DbContext to set the + version of conventions used by the context when it creates a model. If no attribute is applied then the + latest version of conventions will be used. + + + + + Interface implemented by objects that can provide an instance. + The class implements this interface to provide access to the underlying + ObjectContext. + + + + + Gets the object context. + + The object context. + + + + Constructs a new context instance using conventions to create the name of the database to + which a connection will be made. The by-convention name is the full name (namespace + class name) + of the derived context class. + See the class remarks for how this is used to create a connection. + + + + + Constructs a new context instance using conventions to create the name of the database to + which a connection will be made, and initializes it from the given model. + The by-convention name is the full name (namespace + class name) of the derived context class. + See the class remarks for how this is used to create a connection. + + The model that will back this context. + + + + Constructs a new context instance using the given string as the name or connection string for the + database to which a connection will be made. + See the class remarks for how this is used to create a connection. + + Either the database name or a connection string. + + + + Constructs a new context instance using the given string as the name or connection string for the + database to which a connection will be made, and initializes it from the given model. + See the class remarks for how this is used to create a connection. + + Either the database name or a connection string. + The model that will back this context. + + + + Constructs a new context instance using the existing connection to connect to a database. + The connection will not be disposed when the context is disposed. + + An existing connection to use for the new context. + If set to true the connection is disposed when + the context is disposed, otherwise the caller must dispose the connection. + + + + Constructs a new context instance using the existing connection to connect to a database, + and initializes it from the given model. + The connection will not be disposed when the context is disposed. + An existing connection to use for the new context. + The model that will back this context. + If set to true the connection is disposed when + the context is disposed, otherwise the caller must dispose the connection. + + + + + Constructs a new context instance around an existing ObjectContext. + An existing ObjectContext to wrap with the new context. + If set to true the ObjectContext is disposed when + the DbContext is disposed, otherwise the caller must dispose the connection. + + + + + Initializes the internal context, discovers and initializes sets, and initializes from a model if one is provided. + + + + + Discovers DbSets and initializes them. + + + + + This method is called when the model for a derived context has been initialized, but + before the model has been locked down and used to initialize the context. The default + implementation of this method does nothing, but it can be overridden in a derived class + such that the model can be further configured before it is locked down. + + + Typically, this method is called only once when the first instance of a derived context + is created. The model for that context is then cached and is for all further instances of + the context in the app domain. This caching can be disabled by setting the ModelCaching + property on the given ModelBuidler, but note that this can seriously degrade performance. + More control over caching is provided through use of the DbModelBuilder and DbContextFactory + classes directly. + + The builder that defines the model for the context being created. + + + + Internal method used to make the call to the real OnModelCreating method. + + The model builder. + + + + Returns a DbSet instance for access to entities of the given type in the context, + the ObjectStateManager, and the underlying store. + + + See the DbSet class for more details. + + The type entity for which a set should be returned. + A set for the given entity type. + + + + Returns a non-generic DbSet instance for access to entities of the given type in the context, + the ObjectStateManager, and the underlying store. + + The type of entity for which a set should be returned. + A set for the given entity type. + + See the DbSet class for more details. + + + + + Saves all changes made in this context to the underlying database. + + The number of objects written to the underlying database. + Thrown if the context has been disposed. + + + + Validates tracked entities and returns a Collection of containing validation results. + + + Collection of validation results for invalid entities. The collection is never null and must not contain null + values or results for valid entities. + + + 1. This method calls DetectChanges() to determine states of the tracked entities unless + DbContextConfiguration.AutoDetectChangesEnabled is set to false. + 2. By default only Added on Modified entities are validated. The user is able to change this behavior + by overriding ShouldValidateEntity method. + + + + + Extension point allowing the user to override the default behavior of validating only + added and modified entities. + + DbEntityEntry instance that is supposed to be validated. + true to proceed with validation. false otherwise. + + + + Extension point allowing the user to customize validation of an entity or filter out validation results. + Called by . + + DbEntityEntry instance to be validated. + User defined dictionary containing additional info for custom validation. + It will be passed to + and will be exposed as . + This parameter is optional and can be null. + Entity validation result. Possibly null when overridden. + + + + Internal method that calls the protected ValidateEntity method. + + DbEntityEntry instance to be validated. + User defined dictionary containing additional info for custom validation. + It will be passed to + and will be exposed as . + This parameter is optional and can be null. + Entity validation result. Possibly null when ValidateEntity is overridden. + + + + Gets a object for the given entity providing access to + information about the entity and the ability to perform actions on the entity. + + The type of the entity. + The entity. + An entry for the entity. + + + + Gets a object for the given entity providing access to + information about the entity and the ability to perform actions on the entity. + + The entity. + An entry for the entity. + + + + Calls the protected Dispose method. + + + + + Disposes the context. The underlying is also disposed if it was created + is by this context or ownership was passed to this context when this context was created. + The connection to the database ( object) is also disposed if it was created + is by this context or ownership was passed to this context when this context was created. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Creates a Database instance for this context that allows for creation/deletion/existence checks + for the underlying database. + + + + + Returns the Entity Framework ObjectContext that is underlying this context. + + Thrown if the context has been disposed. + + + + Provides access to features of the context that deal with change tracking of entities. + + An object used to access features that deal with change tracking. + + + + Provides access to configuration options for the context. + + An object used to access configuration options. + + + + Provides access to the underlying InternalContext for other parts of the internal design. + + + + + + + Common code for generic and non-generic string Include. + + + + + + Returns a new query where the entities returned will not be cached in the + or . This method works by calling the AsNoTracking method of the + underlying query object. If the underlying query object does not have a AsNoTracking method, + then calling this method will have no affect. + + The element type. + The source query. + A new query with NoTracking applied, or the source query if NoTracking is not supported. + + + + Returns a new query where the entities returned will not be cached in the + or . This method works by calling the AsNoTracking method of the + underlying query object. If the underlying query object does not have a AsNoTracking method, + then calling this method will have no affect. + + The source query. + A new query with NoTracking applied, or the source query if NoTracking is not supported. + + + + Common code for generic and non-generic AsNoTracking. + + + + + Enumerates the query such that for server queries such as those of , , + , and others the results of the query will be loaded into the associated , + or other cache on the client. + This is equivalent to calling ToList and then throwing away the list without the overhead of actually creating the list. + + The source query. + + + + Returns an implementation that stays in sync with the given . + + The element type. + The collection that the binding list will stay in sync with. + The binding list. + + + + A DbSet represents the collection of all entities in the context, or that can be queried from the + database, of a given type. DbSet objects are created from a DbContext using the DbContext.Set method. + + + Note that DbSet does not support MEST (Multiple Entity Sets per Type) meaning that there is always a + one-to-one correlation between a type and a set. + + The type that defines the set. + + + + Represents a LINQ to Entities query against a DbContext. + + The type of entity to query for. + + + + An internal interface implemented by and that allows access to + the internal query without using reflection. + + + + + The underlying internal set. + + + + + Creates a new query that will be backed by the given internal query object. + + The backing query. + + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Throws an exception indicating that binding directly to a store query is not supported. + Instead populate a DbSet with data, for example by using the Load extension method, and + then bind to local data. For WPF bind to DbSet.Local. For Windows Forms bind to + DbSet.Local.ToBindingList(). + + + Never returns; always throws. + + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + Returns a representation of the underlying query. + + + The query string. + + + + + Returns a new instance of the non-generic class for this query. + + A non-generic version. + + + + Returns false. + + false. + + + + The IQueryable element type. + + + + + The IQueryable LINQ Expression. + + + + + The IQueryable provider. + + + + + The internal query object that is backing this DbQuery + + + + + The internal query object that is backing this DbQuery + + + + + An IDbSet represents the collection of all entities in the context, or that can be queried from the + database, of a given type. DbSet is a concrete implementation of IDbSet. + + The type that defines the set. + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + The entity to add. + The entity. + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + The entity to remove. + The entity. + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + The entity to attach. + The entity. + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The type of entity to create. + The entity instance, which may be a proxy. + + + + Gets an that represents a local view of all Added, Unchanged, + and Modified entities in this set. This local view will stay in sync as entities are added or + removed from the context. Likewise, entities added to or removed from the local view will automatically + be added to or removed from the context. + + + This property can be used for data binding by populating the set with data, for example by using the Load + extension method, and then binding to the local data through this property. For WPF bind to this property + directly. For Windows Forms bind to the result of calling ToBindingList on this property + + The local view. + + + + An internal interface implemented by and that allows access to + the internal set without using reflection. + + + + + The underlying internal set. + + + + + Creates a new set that will be backed by the given . + + The internal set. + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + The entity to attach. + The entity. + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + The entity to add. + The entity. + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + The entity to remove. + The entity. + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The type of entity to create. + The entity instance, which may be a proxy. + + + + Returns the equivalent non-generic object. + + The non-generic set object. + + + + Creates a raw SQL query that will return entities in this set. By default, the + entities returned are tracked by the context; this can be changed by calling + AsNoTracking on the returned. + Note that the entities returned are always of the type for this set and never of + a derived type. If the table or tables queried may contain data for other entity + types, then the SQL query must be written appropriately to ensure that only entities of + the correct type are returned. + + The SQL query string. + The parameters to apply to the SQL query string. + A object that will execute the query when it is enumerated. + + + + Gets an that represents a local view of all Added, Unchanged, + and Modified entities in this set. This local view will stay in sync as entities are added or + removed from the context. Likewise, entities added to or removed from the local view will automatically + be added to or removed from the context. + + + This property can be used for data binding by populating the set with data, for example by using the Load + extension method, and then binding to the local data through this property. For WPF bind to this property + directly. For Windows Forms bind to the result of calling ToBindingList on this property + + The local view. + + + + The internal IQueryable that is backing this DbQuery + + + + + A non-generic version of which can be used when the type of entity + is not known at build time. + + + + + Represents a non-generic LINQ to Entities query against a DbContext. + + + + + Internal constructor prevents external classes deriving from DbQuery. + + + + + Throws an exception indicating that binding directly to a store query is not supported. + Instead populate a DbSet with data, for example by using the Load extension method, and + then bind to local data. For WPF bind to DbSet.Local. For Windows Forms bind to + DbSet.Local.ToBindingList(). + + + Never returns; always throws. + + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Returns the equivalent generic object. + + The type of element for which the query was created. + The generic set object. + + + + Returns a representation of the underlying query. + + + The query string. + + + + + Returns false. + + false. + + + + The IQueryable element type. + + + + + The IQueryable LINQ Expression. + + + + + The IQueryable provider. + + + + + Gets the underlying internal query object. + + The internal query. + + + + The internal query object that is backing this DbQuery + + + + + Internal constructor prevents external classes deriving from DbSet. + + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + The entity to attach. + The entity. + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + The entity to add. + The entity. + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + The entity to remove. + The entity. + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Returns the equivalent generic object. + + The type of entity for which the set was created. + The generic set object. + + + + Creates a raw SQL query that will return entities in this set. By default, the + entities returned are tracked by the context; this can be changed by calling + AsNoTracking on the returned. + Note that the entities returned are always of the type for this set and never of + a derived type. If the table or tables queried may contain data for other entity + types, then the SQL query must be written appropriately to ensure that only entities of + the correct type are returned. + + The SQL query string. + The parameters to apply to the SQL query string. + A object that will execute the query when it is enumerated. + + + + Gets an that represents a local view of all Added, Unchanged, + and Modified entities in this set. This local view will stay in sync as entities are added or + removed from the context. Likewise, entities added to or removed from the local view will automatically + be added to or removed from the context. + + + This property can be used for data binding by populating the set with data, for example by using the Load + extension method, and then binding to the local data through this property. For WPF bind to this property + directly. For Windows Forms bind to the result of calling ToBindingList on this property + + The local view. + + + + The internal IQueryable that is backing this DbQuery + + + + + Gets the underlying internal set. + + The internal set. + + + + Contains methods used to access the Entity Data Model created by Code First in the EDMX form. + These methods are typically used for debugging when there is a need to look at the model that + Code First creates internally. + + + + + Uses Code First with the given context and writes the resulting Entity Data Model to the given + writer in EDMX form. This method can only be used with context instances that use Code First + and create the model internally. The method cannot be used for contexts created using Database + First or Model First, for contexts created using a pre-existing , or + for contexts created using a pre-existing . + + The context. + The writer. + + + + Writes the Entity Data Model represented by the given to the + given writer in EDMX form. + + An object representing the EDM. + The writer. + + + + This attribute can be applied to a class derived from to set which + version of the DbContext and conventions should be used when building + a model from code--also know as "Code First". See the + enumeration for details about DbModelBuilder versions. + + + If the attribute is missing from DbContextthen DbContext will always use the latest + version of the conventions. This is equivalent to using DbModelBuilderVersion.Latest. + + + + + Initializes a new instance of the class. + + The conventions version to use. + + + + Gets the conventions version. + + The conventions version. + + + + A value from this enumeration can be provided directly to the + class or can be used in the applied to + a class derived from . The value used defines which version of + the DbContext and DbModelBuilder conventions should be used when building a model from + code--also know as "Code First". + + + Using DbModelBuilderVersion.Latest ensures that all the latest functionality is available + when upgrading to a new release of the Entity Framework. However, it may result in an + application behaving differently with the new release than it did with a previous release. + This can be avoided by using a specific version of the conventions, but if a version + other than the latest is set then not all the latest functionality will be available. + + + + + Indicates that the latest version of the and + conventions should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework v4.1 + should be used. + + + + + Represents an Entity Data Model (EDM) created by the . + The Compile method can be used to go from this EDM representation to a + which is a compiled snapshot of the model suitable for caching and creation of + or instances. + + + + + Initializes a new instance of the class. + + + + + Creates a for this mode which is a compiled snapshot + suitable for caching and creation of instances. + + The compiled model. + + + + Implementations of this interface are used to create DbConnection objects for + a type of database server based on a given database name. + An Instance is set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use a certain type of database server by default. + Two implementations of this interface are provided: + is used to create connections to Microsoft SQL Server, including EXPRESS editions. + is used to create connections to Microsoft SQL + Server Compact Editions. + Other implementations for other database servers can be added as needed. + Note that implementations should be thread safe or immutable since they may + be accessed by multiple threads at the same time. + + + + + Creates a connection based on the given database name or connection string. + + The database name or connection string. + An initialized DbConnection. + + + + Represents a SQL query for entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance for the + entity type. The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for non-entities are created using the . + See for a generic version of this class. + + + + + Initializes a new instance of the class. + + The internal query. + + + + Executes the query and returns an enumerator for the elements. + + + An object that can be used to iterate through the elements. + + + + + Returns a new query where the results of the query will not be tracked by the associated + . + + A new query with no-tracking applied. + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Throws an exception indicating that binding directly to a store query is not supported. + + + Never returns; always throws. + + + + + Gets the internal query. + + The internal query. + + + + Returns false. + + false. + + + + Represents a SQL query for entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance for the + entity type. The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for non-entities are created using the . + See for a non-generic version of this class. + + + + + Executes the query and returns an enumerator for the elements. + + An object that can be used to iterate through the elements. + + + + Executes the query and returns an enumerator for the elements. + + + An object that can be used to iterate through the elements. + + + + + Returns a new query where the results of the query will not be tracked by the associated + . + + A new query with no-tracking applied. + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Throws an exception indicating that binding directly to a store query is not supported. + + + Never returns; always throws. + + + + + Gets the internal query. + + The internal query. + + + + Returns false. + + false. + + + + This convention causes DbModelBuilder to include metadata about the model + when it builds the model. When creates a model by convention it will + add this convention to the list of those used by the DbModelBuilder. This will then result in + model metadata being written to the database if the DbContext is used to create the database. + This can then be used as a quick check to see if the model has changed since the last time it was + used against the database. + This convention can be removed from the conventions by overriding + the OnModelCreating method on a derived DbContext class. + + + + + Adds metadata to the given model configuration. + + The model configuration. + + + + Instances of this class are used to create DbConnection objects for + SQL Server Compact Edition based on a given database name or connection string. + + + It is necessary to provide the provider invariant name of the SQL Server Compact + Edition to use when creating an instance of this class. This is because different + versions of SQL Server Compact Editions use different invariant names. + An instance of this class can be set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use SQL Server Compact Edition by default. + This class is immutable since multiple threads may access instances simultaneously + when creating connections. + + + + + Creates a new connection factory with empty (default) DatabaseDirectory and BaseConnectionString + properties. + + The provider invariant name that specifies the version of SQL Server Compact Edition that should be used. + + + + Creates a new connection factory with the given DatabaseDirectory and BaseConnectionString properties. + + + The provider invariant name that specifies the version of SQL Server Compact Edition that should be used. + + + The path to prepend to the database name that will form the file name used by SQL Server Compact Edition + when it creates or reads the database file. An empty string means that SQL Server Compact Edition will use + its default for the database file location. + + + The connection string to use for options to the database other than the 'Data Source'. The Data Source will + be prepended to this string based on the database name when CreateConnection is called. + + + + + Creates a connection for SQL Server Compact Edition based on the given database name or connection string. + If the given string contains an '=' character then it is treated as a full connection string, + otherwise it is treated as a database name only. + + The database name or connection string. + An initialized DbConnection. + + + + The path to prepend to the database name that will form the file name used by + SQL Server Compact Edition when it creates or reads the database file. + The default value is "|DataDirectory|", which means the file will be placed + in the designated data directory. + + + + + The connection string to use for options to the database other than the 'Data Source'. + The Data Source will be prepended to this string based on the database name when + CreateConnection is called. + The default is the empty string, which means no other options will be used. + + + + + The provider invariant name that specifies the version of SQL Server Compact Edition + that should be used. + + + + + Instances of this class are used to create DbConnection objects for + SQL Server based on a given database name or connection string. By default, the connection is + made to '.\SQLEXPRESS'. This can be changed by changing the base connection + string when constructing a factory instance. + + + An instance of this class can be set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use SQL Server by default. + This class is immutable since multiple threads may access instances simultaneously + when creating connections. + + + + + Creates a new connection factory with a default BaseConnectionString property of + 'Data Source=.\SQLEXPRESS; Integrated Security=True; MultipleActiveResultSets=True'. + + + + + Creates a new connection factory with the given BaseConnectionString property. + + + The connection string to use for options to the database other than the 'Initial Catalog'. The 'Initial Catalog' will + be prepended to this string based on the database name when CreateConnection is called. + + + + + Creates a connection for SQL Server based on the given database name or connection string. + If the given string contains an '=' character then it is treated as a full connection string, + otherwise it is treated as a database name only. + + The database name or connection string. + An initialized DbConnection. + + + + The connection string to use for options to the database other than the 'Initial Catalog'. + The 'Initial Catalog' will be prepended to this string based on the database name when + CreateConnection is called. + The default is 'Data Source=.\SQLEXPRESS; Integrated Security=True; MultipleActiveResultSets=True'. + + + + + A non-generic version of the class. + + + + + A non-generic version of the class. + + + + + This is an abstract base class use to represent a scalar or complex property, or a navigation property + of an entity. Scalar and complex properties use the derived class , + reference navigation properties use the derived class , and collection + navigation properties use the derived class . + + + + + Creates a from information in the given . + This method will create an instance of the appropriate subclass depending on the metadata contained + in the InternalMemberEntry instance. + + The internal member entry. + The new entry. + + + + Validates this property. + + + Collection of objects. Never null. If the entity is valid the collection will be empty. + + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + Gets the name of the property. + + The property name. + + + + Gets or sets the current value of this property. + + The current value. + + + + The to which this member belongs. + + An entry for the entity that owns this member. + + + + Gets the backing this object. + + The internal member entry. + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal property entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + Gets the property name. + + The property name. + + + + Gets or sets the original value of this property. + + The original value. + + + + Gets or sets the current value of this property. + + The current value. + + + + Gets or sets a value indicating whether the value of this property has been modified since + it was loaded from the database. + + + true if this instance is modified; otherwise, false. + + + + + The to which this property belongs. + + An entry for the entity that owns this property. + + + + The of the property for which this is a nested property. + This method will only return a non-null entry for properties of complex objects; it will + return null for properties of the entity itself. + + An entry for the parent complex property, or null if this is an entity property. + + + + Gets the backing this object. + + The internal member entry. + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal property entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The name of the nested property. + An object representing the nested property. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the complex property. + The equivalent generic object. + + + + Instances of this class are returned from the ComplexProperty method of + and allow access to the state of a complex property. + + The type of the entity to which this property belongs. + The type of the property. + + + + Instances of this class are returned from the Property method of + and allow access to the state of the scalar + or complex property. + + The type of the entity to which this property belongs. + The type of the property. + + + + This is an abstract base class use to represent a scalar or complex property, or a navigation property + of an entity. Scalar and complex properties use the derived class , + reference navigation properties use the derived class , and collection + navigation properties use the derived class . + + The type of the entity to which this property belongs. + The type of the property. + + + + Creates a from information in the given . + This method will create an instance of the appropriate subclass depending on the metadata contained + in the InternalMemberEntry instance. + + The internal member entry. + The new entry. + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + A non-generic version. + + + + Validates this property. + + + Collection of objects. Never null. If the entity is valid the collection will be empty. + + + + + Gets or sets the current value of this property. + + The current value. + + + + Gets the underlying . + + The internal member entry. + + + + The to which this member belongs. + + An entry for the entity that owns this member. + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal property entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + A non-generic version. + + + + Gets the property name. + + The property name. + + + + Gets or sets the original value of this property. + + The original value. + + + + Gets or sets the current value of this property. + + The current value. + + + + Gets or sets a value indicating whether the value of this property has been modified since + it was loaded from the database. + + + true if this instance is modified; otherwise, false. + + + + + The to which this property belongs. + + An entry for the entity that owns this property. + + + + The of the property for which this is a nested property. + This method will only return a non-null entry for properties of complex objects; it will + return null for properties of the entity itself. + + An entry for the parent complex property, or null if this is an entity property. + + + + Gets the underlying as an . + + The internal member entry. + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal property entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + A non-generic version. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The type of the nested property. + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The type of the nested property. + An expression representing the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The type of the nested property. + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The type of the nested property. + An expression representing the nested property. + An object representing the nested property. + + + + Returned by the ChangeTracker method of to provide access to features of + the context that are related to change tracking of entities. + + + + + Initializes a new instance of the class. + + The internal context. + + + + Gets objects for all the entities tracked by this context. + + The entries. + + + + Gets objects for all the entities of the given type + tracked by this context. + + The type of the entity. + The entries. + + + + Detects changes made to the properties and relationships of POCO entities. Note that some types of + entity (such as change tracking proxies and entities that derive from ) + report changes automatically and a call to DetectChanges is not normally needed for these types of entities. + Also note that normally DetectChanges is called automatically by many of the methods of + and its related classes such that it is rare that this method will need to be called explicitly. + However, it may be desirable, usually for performance reasons, to turn off this automatic calling of + DetectChanges using the AutoDetectChangesEnabled flag from . + + + + + A non-generic version of the class. + + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal collection entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + + + Returns the query that would be used to load this collection from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database, such + as counting the number of entities in the collection in the database without actually loading them. + + A query for the collection. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the collection element. + The equivalent generic object. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Gets a value indicating whether the collection of entities has been loaded from the database. + + true if the collection is loaded; otherwise, false. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Gets the backing this object as an . + + The internal member entry. + + + + Instances of this class are returned from the Collection method of + and allow operations such as loading to + be performed on the an entity's collection navigation properties. + + The type of the entity to which this property belongs. + The type of the element in the collection of entities. + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal collection entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + + + Returns the query that would be used to load this collection from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database, such + as counting the number of entities in the collection in the database without actually loading them. + + A query for the collection. + + + + Returns a new instance of the non-generic class for + the navigation property represented by this object. + + A non-generic version. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Gets a value indicating whether the collection of entities has been loaded from the database. + + true if the collection is loaded; otherwise, false. + + + + Gets the underlying as an . + + The internal member entry. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Exception thrown by when it was expected that SaveChanges for an entity would + result in a database update but in fact no rows in the database were affected. This usually indicates + that the database has been concurrently updated such that a concurrency token that was expected to match + did not actually match. + Note that state entries referenced by this exception are not serialized due to security and accesses to + the state entries after serialization will return null. + + + + + + Initializes a new instance of the class. + + The internal context. + The inner exception. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Subscribes the SerializeObjectState event. + + + + + Gets objects that represents the entities that could not + be saved to the database. + + The entries representing the entities that could not be saved. + + + + Holds exception state that will be serialized when the exception is serialized. + + + + + Completes the deserialization. + + The deserialized object. + + + + Gets or sets a value indicating whether the exception involved independent associations. + + + + + Initializes a new instance of the class. + + The context. + The inner exception. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Returned by the Configuration method of to provide access to configuration + options for the context. + + + + + Initializes a new instance of the class. + + The internal context. + + + + Gets or sets a value indicating whether lazy loading of relationships exposed as + navigation properties is enabled. Lazy loading is enabled by default. + + true if lazy loading is enabled; otherwise, false. + + + + Gets or sets a value indicating whether or not the framework will create instances of + dynamically generated proxy classes whenever it creates an instance of an entity type. + Note that even if proxy creation is enabled with this flag, proxy instances will only + be created for entity types that meet the requirements for being proxied. + Proxy creation is enabled by default. + + true if proxy creation is enabled; otherwise, false. + + + + + Gets or sets a value indicating whether tracked entities should be validated automatically when + is invoked. + The default value is true. + + + + + A non-generic version of the class. + + + + + Initializes a new instance of the class. + + The internal entry. + + + + Queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + The store values. + + + + Reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The name of the property. + An object representing the property. + + + + Gets an object that represents a complex property of this entity. + + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The name of the member. + An object representing the member. + + + + Returns a new instance of the generic class for the given + generic type for the tracked entity represented by this object. + Note that the type of the tracked entity must be compatible with the generic type or + an exception will be thrown. + + The type of the entity. + A generic version. + + + + Validates this instance and returns validation result. + + + Entity validation result. Possibly null if + method is overridden. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the entity. + + The entity. + + + + Gets or sets the state of the entity. + + The state. + + + + Gets the current property values for the tracked entity represented by this object. + + The current values. + + + + Gets the original property values for the tracked entity represented by this object. + The original values are usually the entity's property values as they were when last queried from + the database. + + The original values. + + + + Gets InternalEntityEntry object for this DbEntityEntry instance. + + + + + Instances of this class provide access to information about and control of entities that + are being tracked by the . Use the Entity or Entities methods of + the context to obtain objects of this type. + + The type of the entity. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + The store values. + + + + Reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The type of the property. + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The type of the property. + An expression representing the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The type of elements in the collection. + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The type of elements in the collection. + An expression representing the navigation property. + An object representing the navigation property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The name of the property. + An object representing the property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The type of the property. + The name of the property. + An object representing the property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The type of the property. + An expression representing the property. + An object representing the property. + + + + Gets an object that represents a complex property of this entity. + + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a complex property of this entity. + + The type of the complex property. + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a complex property of this entity. + + The type of the complex property. + An expression representing the complex property. + An object representing the complex property. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The name of the member. + An object representing the member. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The type of the member. + The name of the member. + An object representing the member. + + + + Returns a new instance of the non-generic class for + the tracked entity represented by this object. + + A non-generic version. + + + + Validates this instance and returns validation result. + + + Entity validation result. Possibly null if + method is overridden. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the entity. + + The entity. + + + + Gets or sets the state of the entity. + + The state. + + + + Gets the current property values for the tracked entity represented by this object. + + The current values. + + + + Gets the original property values for the tracked entity represented by this object. + The original values are usually the entity's property values as they were when last queried from + the database. + + The original values. + + + + An immutable representation of an Entity Data Model (EDM) model that can be used to create an + or can be passed to the constructor of a . + For increased performance, instances of this type should be cached and re-used to construct contexts. + + + + + Creates a model for the given EDM metadata model. + + The EDM metadata model. + + + + Creates an instance of ObjectContext or class derived from ObjectContext. Note that an instance + of DbContext can be created instead by using the appropriate DbContext constructor. + If a derived ObjectContext is used, then it must have a public constructor with a single + EntityConnection parameter. + The connection passed is used by the ObjectContext created, but is not owned by the context. The caller + must dispose of the connection once the context has been disposed. + + The type of context to create. + An existing connection to a database for use by the context. + + + + + Gets a cached delegate (or creates a new one) used to call the constructor for the given derived ObjectContext type. + + + + + A hash of the store model (SSDL) that can be used later to check if the model has changed or not. + Note that this is currently only supported for Code First. + + + + + A collection of all the properties for an underlying entity or complex object. + + + An instance of this class can be converted to an instance of the generic class + using the Cast method. + Complex properties in the underlying entity or complex object are represented in + the property values as nested instances of this class. + + + + + Initializes a new instance of the class. + + The internal dictionary. + + + + Creates an object of the underlying type for this dictionary and hydrates it with property + values from this dictionary. + + The properties of this dictionary copied into a new object. + + + + Sets the values of this dictionary by reading values out of the given object. + The given object can be of any type. Any property on the object with a name that + matches a property name in the dictionary and can be read will be read. Other + properties will be ignored. This allows, for example, copying of properties from + simple Data Transfer Objects (DTOs). + + The object to read values from. + + + + Creates a new dictionary containing copies of all the properties in this dictionary. + Changes made to the new dictionary will not be reflected in this dictionary and vice versa. + + A clone of this dictionary. + + + + Sets the values of this dictionary by reading values from another dictionary. + The other dictionary must be based on the same type as this dictionary, or a type derived + from the type for this dictionary. + + The dictionary to read values from. + + + + Gets the value of the property just like using the indexed property getter but + typed to the type of the generic parameter. This is useful especially with + nested dictionaries to avoid writing expressions with lots of casts. + + The type of the property. + Name of the property. + The value of the property. + + + + Gets the set of names of all properties in this dictionary as a read-only set. + + The property names. + + + + Gets or sets the value of the property with the specified property name. + The value may be a nested instance of this class. + + The property name. + The value of the property. + + + + Gets the internal dictionary. + + The internal dictionary. + + + + A non-generic version of the class. + + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal reference entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + + + Returns the query that would be used to load this entity from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database. + + A query for the entity. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Gets a value indicating whether the entity has been loaded from the database. + + true if the entity is loaded; otherwise, false. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Gets the backing this object as an . + + The internal member entry. + + + + Instances of this class are returned from the Reference method of + and allow operations such as loading to + be performed on the an entity's reference navigation properties. + + The type of the entity to which this property belongs. + The type of the property. + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal reference entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + + + Returns the query that would be used to load this entity from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database. + + A query for the entity. + + + + Returns a new instance of the non-generic class for + the navigation property represented by this object. + + A non-generic version. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Gets a value indicating whether the entity has been loaded from the database. + + true if the entity is loaded; otherwise, false. + + + + Gets the underlying as an . + + The internal member entry. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Represents an entity used to store metadata about an EDM in the database. + + + + + Attempts to get the model hash calculated by Code First for the given context. + This method will return null if the context is not being used in Code First mode. + + The context. + The hash string. + + + + Gets or sets the ID of the metadata entity, which is currently always 1. + + The id. + + + + Gets or sets the model hash which is used to check whether the model has + changed since the database was created from it. + + The model hash. + + + + This attribute can be applied to either an entire derived class or to + individual or properties on that class. When applied + any discovered or properties will still be included + in the model but will not be automatically initialized. + + + + + Generic wrapper around to allow results to be + returned as generic + + The type of the element. + + + + Executes the query and returns an enumerator for the elements. + + An object that can be used to iterate through the elements. + + + + Executes the query and returns an enumerator for the elements. + + + An object that can be used to iterate through the elements. + + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Throws an exception indicating that binding directly to a store query is not supported. + + + Never returns; always throws. + + + + + Returns false. + + false. + + + + Implements ICachedMetadataWorkspace for a Code First model. + + + + + Represents an object that holds a cached copy of a MetadataWorkspace and optionally the + assemblies containing entity types to use with that workspace. + + + + + Gets the MetadataWorkspace, potentially lazily creating it if it does not already exist. + If the workspace is not compatible with the provider manifest obtained from the given + connection then an exception is thrown. + + The connection to use to create or check SSDL provider info. + The workspace. + + + + The list of assemblies that contain entity types for this workspace, which may be empty, but + will never be null. + + + + + An SHA256 hash of the store model (SSDL) that can be used later to check if the model has changed or not. + Note that this is currently only supported for Code First. + + + + + The default container name for code first is the container name that is set from the DbModelBuilder + + + + + Builds and stores the workspace based on the given code first configuration. + + The code first EDM model. + + + + Gets the . + If the workspace is not compatible with the provider manifest obtained from the given + connection then an exception is thrown. + + The connection to use to create or check SSDL provider info. + The workspace. + + + + The default container name for code first is the container name that is set from the DbModelBuilder + + + + + The list of assemblies that contain entity types for this workspace, which may be empty, but + will never be null. + + + + + An SHA256 hash of the store model (SSDL) that can be used later to check if the model has changed or not. + + + + + Encapsulates information read from the application config file that specifies a database initializer + and allows that initializer to be dynamically applied. + + + + + Initializes a new instance of the class. + + The key from the entry in the config file. + The value from the enrty in the config file. + + + + Uses the context type and initializer type specified in the config to create an initializer instance + and set it with the DbDbatabase.SetInitializer method. + + + + + Reads all initializers from the application config file and sets them using the Database class. + + + + + The methods here are called from multiple places with an ObjectContext that may have + been created in a variety of ways and ensure that the same code is run regardless of + how the context was created. + + + + + Used a delegate to do the actual creation once an ObjectContext has been obtained. + This is factored in this way so that we do the same thing regardless of how we get to + having an ObjectContext. + Note however that a context obtained from only a connection will have no model and so + will result in an empty database. + + + + + Used a delegate to do the actual checking/creation once an ObjectContext has been obtained. + This is factored in this way so that we do the same thing regardless of how we get to + having an ObjectContext. + Note however that a context obtained from only a connection will have no model and so + will result in an empty database. + + + + + Used a delegate to do the actual existence check once an ObjectContext has been obtained. + This is factored in this way so that we do the same thing regardless of how we get to + having an ObjectContext. + + + + + Used a delegate to do the actual check/delete once an ObjectContext has been obtained. + This is factored in this way so that we do the same thing regardless of how we get to + having an ObjectContext. + + + + + Helper class that extends Tuple to give the Item1 and Item2 properties more meaningful names. + + + + + Creates a new pair of the given set of entity types and DbSet initializer delegate. + + + + + The entity types part of the pair. + + + + + The DbSet properties initializer part of the pair. + + + + + Static helper methods only. + + + + + Checks whether the given value is null and throws ArgumentNullException if it is. + This method should only be used in places where Code Contracts are compiled out in the + release build but we still need public surface null-checking, such as where a public + abstract class is implemented by an internal concrete class. + + + + + Checks whether the given string is null, empty, or just whitespace, and throws appropriately + if the check fails. + This method should only be used in places where Code Contracts are compiled out in the + release build but we still need public surface checking, such as where a public + abstract class is implemented by an internal concrete class. + + + + + Given two key values that may or may not be byte arrays, this method determines + whether or not they are equal. For non-binary key values, this is equivalent + to Object.Equals. For binary keys, it is by comparison of every byte in the + arrays. + + + + + Provides a standard helper method for quoting identifiers + + Identifier to be quoted. Does not validate that this identifier is valid. + Quoted string + + + + Checks the given string which might be a database name or a connection string and determines + whether it should be treated as a name or connection string. Currently, the test is simply + whether or not the string contains an '=' character--if it does, then it should be treated + as a connection string. + + The name or connection string. + true if the string should be treated as a connection string; false if it should be treated as a name. + + + + Determines whether the given string should be treated as a database name directly (it contains no '='), + is in the form name=foo, or is some other connection string. If it is a direct name or has name=, then + the name is extracted and the method returns true. + + The name or connection string. + The name. + True if a name is found; false otherwise. + + + + Determines whether the given string is a full EF connection string with provider, provider connection string, + and metadata parts, or is is instead some other form of connection string. + + The name or connection string. + true if the given string is an EF connection string; otherwise, false. + + + + + Parses a property selector expression used for the expression-based versions of the Property, Collection, Reference, + etc methods on and + classes. + + The type of the entity. + The type of the property. + The property. + Name of the method. + Name of the param. + The property name. + + + + Called recursively to parse an expression tree representing a property path such + as can be passed to Include or the Reference/Collection/Property methods of . + This involves parsing simple property accesses like o => o.Products as well as calls to Select like + o => o.Products.Select(p => p.OrderLines). + + The expression to parse. + The expression parsed into an include path, or null if the expression did not match. + True if matching succeeded; false if the expression could not be parsed. + + + + Gets a cached dictionary mapping property names to property types for all the properties + in the given type. + + + + + Gets a dictionary of compiled property setter delegates for the underlying types. + The dictionary is cached for the type in the app domain. + + + + + Used by the property setter delegates to throw for attempts to set null onto + non-nullable properties or otherwise go ahead and set the property. + + + + + Gets a dictionary of compiled property getter delegates for the underlying types. + The dictionary is cached for the type in the app domain. + + + + + Creates a new with the NoTracking merge option applied. + The query object passed in is not changed. + + The query. + A new query with NoTracking applied. + + + + Converts to + + + Name of the property being validated with ValidationAttributes. Null for type-level validation. + + + ValidationResults instances to be converted to instances. + + + An created based on the + . + + + class contains a property with names of properties the error applies to. + On the other hand each applies at most to a single property. As a result for + each name in ValidationResult.MemberNames one will be created (with some + exceptions for special cases like null or empty .MemberNames or null names in the .MemberNames). + + + + + Calculates a "path" to a property. For primitive properties on an entity type it is just the + name of the property. Otherwise it is a dot separated list of names of the property and all + its ancestor properties starting from the entity. + + Property for which to calculate the path. + Dot separated path to the property. + + + + Gets names of the property and its ancestor properties as enumerable walking "bottom-up". + + Property for which to get the segments. + Names of the property and its ancestor properties. + + + + Gets an type for the given element type. + + Type of the element. + The collection type. + + + + Creates a database name given a type derived from DbContext. This handles nested and + generic classes. No attempt is made to ensure that the name is not too long since this + is provider specific. If a too long name is generated then the provider will throw and + the user must correct by specifying their own name in the DbContext constructor. + + Type of the context. + The database name to use. + + + + Creates a clone of the given that has the same connection and + loaded metadata as the original but a new, empty, state manager. + + The original. + The clone. + + + + Finds the assemblies that were used for loading o-space types in the source context + and loads those assemblies in the destination context. + + The source. + The destination. + + + + A local (in-memory) view of the entities in a DbSet. + This view contains Added entities and does not contain Deleted entities. The view extends + from and hooks up events between the collection and the + state manager to keep the view in sync. + + The type of the entity. + + + + Initializes a new instance of the class for entities + of the given generic type in the given internal context. + + The internal context. + + + + Called by the base class when the collection changes. + This method looks at the change made to the collection and reflects those changes in the + state manager. + + The instance containing the event data. + + + + Handles events from the state manager for entities entering, leaving, or being marked as deleted. + The local view is kept in sync with these changes. + + The sender. + The instance containing the event data. + + + + Clears the items by calling remove on each item such that we get Remove events that + can be tracked back to the state manager, rather than a single Reset event that we + cannot deal with. + + + + + Adds a contains check to the base implementation of InsertItem since we can't support + duplicate entities in the set. + + The index at which to insert. + The item to insert. + + + + Returns a cached binding list implementation backed by this ObservableCollection. + + The binding list. + + + + Service used to search for instance properties on a DbContext class that can + be assigned a DbSet instance. Also, if the the property has a public setter, + then a delegate is compiled to set the property to a new instance of DbSet. + All of this information is cached per app domain. + + + + + Creates a set discovery service for the given derived context. + + + + + Processes the given context type to determine the DbSet or IDbSet + properties and collect root entity types from those properties. Also, delegates are + created to initialize any of these properties that have public setters. + If the type has been processed previously in the app domain, then all this information + is returned from a cache. + + A dictionary of potential entity type to the list of the names of the properties that used the type. + + + + Calls the public setter on any property found to initialize it to a new instance of DbSet. + + + + + Registers the entities and their entity set name hints with the given . + + The model builder. + + + + Returns false if SuppressDbSetInitializationAttribute is found on the property or the class, otherwise + returns true. + + + + + Determines whether or not an instance of DbSet/ObjectSet can be assigned to a property of the given type. + + The type to check. + The entity type of the DbSet/ObjectSet that can be assigned, or null if no set type can be assigned. + + + + + A EagerInternalConnection object wraps an already existing DbConnection object. + + + + + InternalConnection objects manage DbConnections. + Two concrete base classes of this abstract interface exist: + and . + + + + + IInternalConnection objects manage DbConnections. + Two concrete implementations of this interface exist--LazyInternalConnection and EagerInternalConnection. + + + + + Creates an from metadata in the connection. This method must + only be called if ConnectionHasModel returns true. + + The newly created context. + + + + Returns the underlying DbConnection. + + + + + Returns a key consisting of the connection type and connection string. + If this is an EntityConnection then the metadata path is included in the key returned. + + + + + Gets a value indicating whether the connection is an EF connection which therefore contains + metadata specifying the model, or instead is a store connection, in which case it contains no + model info. + + true if the connection contains model info; otherwise, false. + + + + Creates an from metadata in the connection. This method must + only be called if ConnectionHasModel returns true. + + The newly created context. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Returns the underlying DbConnection. + + + + + Returns a key consisting of the connection type and connection string. + If this is an EntityConnection then the metadata path is included in the key returned. + + + + + + Gets a value indicating whether the connection is an EF connection which therefore contains + metadata specifying the model, or instead is a store connection, in which case it contains no + model info. + + true if the connection contains model info; otherwise, false. + + + + Gets or sets the underlying object. No initialization is done when the + connection is obtained, and it can also be set to null. + + The underlying connection. + + + + Creates a new EagerInternalConnection that wraps an existing DbConnection. The existing DbConnection will not + be disposed when the EagerInternalConnection is disposed. + + An existing connection. + If set to true then the underlying connection should be disposed when this object is disposed. + + + + Dispose the existing connection is the original caller has specified that it should be disposed + by the framework. + + + + + An is an where the + instance that it wraps is set immediately at construction time rather than being created lazily. In this case + the internal context may or may not own the instance but will only dispose it + if it does own it. + + + + + An underlies every instance of and wraps an + instance. + The also acts to expose necessary information to other parts of the design in a + controlled manner without adding a lot of internal methods and properties to the + class itself. + Two concrete classes derive from this abstract class - and + . + + + + + Initializes the object with its owner. + + The owner . + + + + Returns the underlying without causing the underlying database to be created + or the database initialization strategy to be executed. + This is used to get a context that can then be used for database creation/initialization. + + + + + Creates a new temporary based on the same metadata and connection as the real + and sets it as the context to use DisposeTempObjectContext is called. + This allows this internal context and its DbContext to be used for transient operations + such as initializing and seeding the database, after which it can be thrown away. + This isolates the real from any changes made and and saves performed. + + + + + If a temporary ObjectContext was set with UseTempObjectContext, then this method disposes that context + and returns this internal context and its DbContext to using the real ObjectContext. + + + + + This method returns true if the context has a model hash and the database contains a model hash + and these hashes match. This indicates that the model used to create the database is the same + as the current model and so the two can be used together. + + If set to true then an exception will be thrown if no + model metadata is found either in the model associated with the context or in the database + itself. If set to false then this method will return true if metadata is + not found. + True if the model hash in the context and the database match; false otherwise. + + + + Queries the database for a model hash and returns it if found or returns null if the table + or the row doesn't exist in the database. + + The model hash, or null if not found. + + + + Saves the model hash from the context to the database. + + + + + Performs the initialization action that may result in a and + handle the exception to provide more meaning to the user. + + The action. + + + + Registers for the ObjectStateManagerChanged event on the underlying ObjectStateManager. + This is a virtual method on this class so that it can be mocked. + + The event handler. + + + + Checks whether or not the given object is in the context in any state other than Deleted. + This is a virtual method on this class so that it can be mocked. + + The entity. + true if the entity is in the context and not deleted; otherwise false. + + + + Saves all changes made in this context to the underlying database. + + The number of objects written to the underlying database. + + + + Runs the Code First pipeline to create a that can then be used to create + an EDMX. This method throws if the context: + was created based on an existing + or was created from information in an existing + or is being used in Model/Database First mode. + This method always runs the full Code First pipeline, including calling OnModelCreating, even if + the pipeline has already been run. + + The builder. + + + + Initializes this instance, which means both the context is initialized and the underlying + database is initialized. + + + + + Initializes the underlying ObjectContext but does not cause the database to be initialized. + + + + + Runs the unless it has already been run or there + is no initializer for this context type in which case this method does nothing. + + + + + Marks the database as having been initialized without actually running the . + + + + + Runs the if one has been set for this context type. + Calling this method will always cause the initializer to run even if the database is marked + as initialized. + + + + + Disposes the context. Override the DisposeContext method to perform + additional work when disposing. + + + + + Performs additional work to dispose a context. The default implementation + does nothing. + + + + + Calls DetectChanges on the underlying if AutoDetectChangesEnabled is + true or if force is set to true. + + if set to true then DetectChanges is called regardless of the value of AutoDetectChangesEnabled. + + + + Returns the DbSet instance for the given entity type. + This property is virtual and returns to that it can be mocked. + + The entity type for which a set should be returned. + A set for the given entity type. + + + + Returns the non-generic instance for the given entity type. + This property is virtual and returns to that it can be mocked. + + The entity type for which a set should be returned. + A set for the given entity type. + + + + Creates an internal set using an app domain cached delegate. + + Type of the entity. + The set. + + + + Returns the entity set and the base type for that entity set for the given type. + This method does o-space loading if required and throws if the type is not in the model. + + The entity type to lookup. + The entity set and base type pair. + + + + Checks whether or not the given entity type is mapped in the model. + + The entity type to lookup. + True if the type is mapped as an entity; false otherwise. + + + + Gets the local entities of the type specified from the state manager. That is, all + Added, Modified, and Unchanged entities of the given type. + + The type of entity to get. + The entities. + + + + Executes the given SQL query against the database backing this context. The results are not materialized as + entities or tracked. + + The type of the element. + The SQL. + The parameters. + The query results. + + + + Executes the given SQL query against the database backing this context. The results are not materialized as + entities or tracked. + + Type of the element. + The SQL. + The parameters. + The query results. + + + + Calls the generic ExecuteSqlQuery but with a non-generic return type so that it + has the correct signature to be used with CreateDelegate above. + + + + + Executes the given SQL command against the database backing this context. + + The SQL. + The parameters. + The return value from the database. + + + + Gets the underlying for the given entity, or returns null if the entity isn't tracked by this context. + This method is virtual so that it can be mocked. + + The entity. + The state entry or null. + + + + Gets the underlying objects for all entities tracked by + this context. + This method is virtual so that it can be mocked. + + State entries for all tracked entities. + + + + Gets the underlying objects for all entities of the given + type tracked by this context. + This method is virtual so that it can be mocked. + + The type of the entity. + State entries for all tracked entities of the given type. + + + + Helper method that gets the underlying objects for all entities that + match the given predicate. + + + + + Wraps the given in either a or + a depending on the actual exception type and the state + entries involved. + + The update exception. + A new exception wrapping the given exception. + + + + Uses the underlying context to create an entity such that if the context is configured + to create proxies and the entity is suitable then a proxy instance will be returned. + This method is virtual so that it can be mocked. + + The type of the entity. + The new entity instance. + + + + Uses the underlying context to create an entity such that if the context is configured + to create proxies and the entity is suitable then a proxy instance will be returned. + This method is virtual so that it can be mocked. + + The type of entity to create. + The new entity instance. + + + + This method is used by CreateDelegate to transform the CreateObject method with return type TEntity + into a method with return type object which matches the required type of the delegate. + + + + + Throws if the context has been disposed. + + + + + Checks whether or not the internal cache of types to entity sets has been initialized, + and initializes it if necessary. + + + + + Performs o-space loading for the type and returns false if the type is not in the model. + + + + + Performs o-space loading for the type and throws if the type is not in the model. + + Type of the entity. + + + + Returns true if the given entity type does not have EdmEntityTypeAttribute but is in + an assembly that has EdmSchemaAttribute. This indicates mixing of POCO and EOCO in the + same assembly, which is something that we don't support. + + + + + Determines whether or not the given clrType is mapped to a complex type. Assumes o-space loading has happened. + + + + + Updates the cache of types to entity sets either for the first time or after potentially + doing some o-space loading. + + + + + The public context instance that owns this internal context. + + + + + Returns the underlying . + + + + + Gets the temp object context, or null if none has been set. + + The temp object context. + + + + An SHA256 hash of the store model (SSDL) that can be used later to check if the model has changed or not. + Note that this is currently only supported for Code First. + + + + + Gets the default database initializer to use for this context if no other has been registered. + For code first this property returns a instance. + For database/model first, this property returns null. + + The default initializer. + + + + Gets or sets a value indicating whether lazy loading is enabled. + + + + + Gets or sets a value indicating whether proxy creation is enabled. + + + + + Gets or sets a value indicating whether DetectChanges is called automatically in the API. + + + + + Gets or sets a value indicating whether to validate entities when is called. + + + + + True if the context has been disposed. + + + + + The connection underlying this context. Accessing this property does not cause the context + to be initialized, only its connection. + + + + + Gets the DatabaseOperations instance to use to perform Create/Delete/Exists operations + against the database. + Note that this virtual property can be mocked to help with unit testing. + + + + + Gets instance used to create validators and validation contexts. + This property is virtual to allow mocking. + + + + + Constructs an for an already existing . + + The owner . + The existing . + + + + Returns the underlying without causing the underlying database to be created + or the database initialization strategy to be executed. + This is used to get a context that can then be used for database creation/initialization. + + + + + Throws an exception since creating a from a context created using + an existing is not supported. + + This method never returns. + + + + Does nothing, since the already exists. + + + + + Does nothing since the database is always considered initialized if the was created + from an existing . + + + + + Does nothing since the database is always considered initialized if the was created + from an existing . + + + + + Disposes the context. The underlying is also disposed if it is owned. + + + + + Returns the underlying . + + + + + An SHA256 hash of the store model (SSDL) that can be used later to check if the model has changed or not. + Note that this is currently only supported for Code First. + + + + + Gets the default database initializer to use for this context if no other has been registered. + For code first this property returns a instance. + For database/model first, this property returns null. + + The default initializer. + + + + The connection underlying this context. + + + + + Gets or sets a value indicating whether lazy loading is enabled. This is just a wrapper + over the same flag in the underlying . + + + + + Gets or sets a value indicating whether proxy creation is enabled. This is just a wrapper + over the same flag in the underlying ObjectContext. + + + + + Helper class that extends Tuple to give the Item1 and Item2 properties more meaningful names. + + + + + Creates a new pair of the given EntitySet and BaseType. + + + + + The EntitySet part of the pair. + + + + + The BaseType part of the pair. + + + + + Helper class that extends Tuple to give the Item1 and Item2 properties more meaningful names. + + + + + Creates a new pair of the given database initializer delegate and a flag + indicating whether or not it is locked. + + + + + The initializer delegate. + + + + + A flag indicating whether or not the initializer is locked and should not be changed. + + + + + Represents a raw SQL query against the context for any type where the results are never + associated with an entity set and are never tracked. + + + + + Represents a raw SQL query against the context that may be for entities in an entity set + or for some other non-entity element type. + + + + + Initializes a new instance of the class. + + The SQL. + The parameters. + + + + If the query is would track entities, then this method returns a new query that will + not track entities. + + A no-tracking query. + + + + Executes the query and returns an enumerator for the results. + + The query results. + + + + Throws an exception indicating that binding directly to a store query is not supported. + + + Never returns; always throws. + + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Gets the SQL query string, + + The SQL query. + + + + Gets the parameters. + + The parameters. + + + + Returns false. + + false. + + + + Initializes a new instance of the class. + + The internal context. + Type of the element. + The SQL. + The parameters. + + + + Returns this query since it can never be a tracking query. + + This instance. + + + + Executes the query and returns an enumerator for the results. + + The query results. + + + + Represents a raw SQL query against the context for entities in an entity set. + + + + + Initializes a new instance of the class. + + The set. + The SQL. + if set to true then the entities will not be tracked. + The parameters. + + + + If the query is would track entities, then this method returns a new query that will + not track entities. + + A no-tracking query. + + + + Executes the query and returns an enumerator for the results. + + The query results. + + + + Gets a value indicating whether this instance is set to track entities or not. + + + true if this instance is no-tracking; otherwise, false. + + + + + A LazyInternalConnection object manages information that can be used to create a DbConnection object and + is responsible for creating that object and disposing it. + + + + + Creates a new LazyInternalConnection. The DbConnection object will be created lazily on demand and will be + disposed when the LazyInternalConnection is disposed. + + Either the database name or a connection string. + + + + Creates an from metadata in the connection. This method must + only be called if ConnectionHasModel returns true. + + The newly created context. + + + + Disposes the underlying DbConnection. + Note that dispose actually puts the LazyInternalConnection back to its initial state such that + it can be used again. + + + + + Creates the underlying (which may actually be an ) + if it does not already exist. + + + + + Searches the app.config/web.config file for a connection that matches the given name. + The connection might be a store connection or an EF connection. + + The connection name. + True if a connection from the app.config file was found and used. + + + + Returns the underlying DbConnection, creating it first if it does not already exist. + + + + + Returns a key consisting of the connection type and connection string. + If this is an EntityConnection then the metadata path is included in the key returned. + + + + + + Gets a value indicating whether the connection is an EF connection which therefore contains + metadata specifying the model, or instead is a store connection, in which case it contains no + model info. + + true if connection contain model info; otherwise, false. + + + + A is a concrete type that will lazily create the + underlying when needed. The created is owned by the + internal context and will be disposed when the internal context is disposed. + + + + + Constructs a for the given owner that will be initialized + on first use. + + The owner . + Responsible for creating a connection lazily when the context is used for the first time. + The model, or null if it will be created by convention + + + + Returns the underlying without causing the underlying database to be created + or the database initialization strategy to be executed. + This is used to get a context that can then be used for database creation/initialization. + + + + + Saves all changes made in this context to the underlying database, but only if the + context has been initialized. If the context has not been initialized, then this + method does nothing because there is nothing to do; in particular, it does not + cause the context to be initialized. + + The number of objects written to the underlying database. + + + + Disposes the context. The underlying is also disposed. + The connection to the database ( object) is also disposed if it was created by + the context, otherwise it is not disposed. + + + + + Initializes the underlying . + + + + + Creates an immutable, cacheable representation of the model defined by this builder. + This model can be used to create an or can be passed to a + constructor to create a for this model. + + + + + + Creates and configures the instance that will be used to build the + . + + The builder. + + + + Runs the Code First pipeline to create a that can then be used to create + an EDMX. This method throws if the context: + was created from information in an existing + or is being used in Model/Database First mode. + This method always runs the full Code First pipeline, including calling OnModelCreating, even if + the pipeline has already been run. + + The builder. + + + + Marks the database as having been initialized without actually running the . + + + + + Runs the unless it has already been run or there + is no initializer for this context type in which case this method does nothing. + + + + + Performs some action (which may do nothing) in such a way that it is guaranteed only to be run + once for the model and connection in this app domain, unless it fails by throwing an exception, + in which case it will be re-tried next time the context is initialized. + + The action. + + + + Returns the underlying . + + + + + An SHA256 hash of the store model (SSDL) that can be used later to check if the model has changed or not. + Note that this is currently only supported for Code First. + + + + + The actually being used, which may be the + temp context for initialization or the real context. + + + + + The connection underlying this context. Accessing this property does not cause the context + to be initialized, only its connection. + + + + + Gets the default database initializer to use for this context if no other has been registered. + For code first this property returns a instance. + For database/model first, this property returns null. + + The default initializer. + + + + Gets or sets a value indicating whether lazy loading is enabled. + If the exists, then this property acts as a wrapper over the flag stored there. + If the has not been created yet, then we store the value given so we can later + use it when we create the . This allows the flag to be changed, for example in + a DbContext constructor, without it causing the to be created. + + + + + Gets or sets a value indicating whether proxy creation is enabled. + If the ObjectContext exists, then this property acts as a wrapper over the flag stored there. + If the ObjectContext has not been created yet, then we store the value given so we can later + use it when we create the ObjectContext. This allows the flag to be changed, for example in + a DbContext constructor, without it causing the ObjectContext to be created. + + + + + Extends to create a sortable binding list that stays in + sync with an underlying . That is, when items are added + or removed from the binding list, they are added or removed from the ObservableCollecion, and + vice-versa. + + The list element type. + + + + An extended BindingList implementation that implements sorting. + This class was adapted from the LINQ to SQL class of the same name. + + The element type. + + + + Initializes a new instance of the class with the + the given underlying list. Note that sorting is dependent on having an actual + rather than some other ICollection implementation. + + The list. + + + + Applies sorting to the list. + + The property to sort by. + The sort direction. + + + + Stops sorting. + + + + + Gets a value indicating whether this list is sorted. + + + true if this instance is sorted; otherwise, false. + + + + + Gets the sort direction. + + The sort direction. + + + + Gets the sort property being used to sort. + + The sort property. + + + + Returns true indicating that this list supports sorting. + + true. + + + + Implements comparing for the implementation. + + + + + Initializes a new instance of the class + for sorting the list. + + The property to sort by. + The sort direction. + + + + Compares two instances of items in the list. + + The left item to compare. + The right item to compare. + + + + + Determines whether this instance can sort for the specified type. + + The type. + + true if this instance can sort for the specified type; otherwise, false. + + + + + Determines whether this instance can sort for the specified type using IComparable. + + The type. + + true if this instance can sort for the specified type; otherwise, false. + + + + + Determines whether this instance can sort for the specified type using ToString. + + The type. + + true if this instance can sort for the specified type; otherwise, false. + + + + + Initializes a new instance of a binding list backed by the given + + The obervable collection. + + + + Creates a new item to be added to the binding list. + + The new item. + + + + Cancels adding of a new item that was started with AddNew. + + Index of the item. + + + + Removes all items from the binding list and underlying ObservableCollection. + + + + + Ends the process of adding a new item that was started with AddNew. + + Index of the item. + + + + Inserts the item into the binding list at the given index. + + The index. + The item. + + + + Removes the item at the specified index. + + The index. + + + + Sets the item into the list at the given position. + + The index to insert at. + The item. + + + + Event handler to update the binding list when the underlying observable collection changes. + + The sender. + Data indicating how the collection has changed. + + + + Adds the item to the underlying observable collection. + + The item. + + + + Removes the item from the underlying from observable collection. + + The item. + + + + A wrapper around EntityKey that allows key/values pairs that have null values to + be used. This allows Added entities with null key values to be searched for in + the ObjectStateManager. + + + + The key name/key value pairs, where some key values may be null + + + + Creates a new WrappedEntityKey instance. + + The entity set that the key belongs to. + The fully qualified name of the given entity set. + The key values, which may be null or contain null values. + The name of the parameter passed for keyValue by the user, which is used when throwing exceptions. + + + + True if any of the key values are null, which means that the EntityKey will also be null. + + + + + An actual EntityKey, or null if any of the key values are null. + + + + + The key name/key value pairs of the key, in which some of the key values may be null. + + + + + A concrete implementation of used for properties of complex objects. + + + + + The internal class used to implement and + . + This internal class contains all the common implementation between the generic and non-generic + entry classes and also allows for a clean internal factoring without compromising the public API. + + + + + Base class for all internal entries that represent different kinds of properties. + + + + + Initializes a new instance of the class. + + The internal entity entry. + The member metadata. + + + + Validates this property. + + A sequence of validation errors for this property. Empty if no errors. Never null. + + + + Creates a new non-generic backed by this internal entry. + The actual subtype of the DbMemberEntry created depends on the metadata of this internal entry. + + The new entry. + + + + Creates a new generic backed by this internal entry. + The actual subtype of the DbMemberEntry created depends on the metadata of this internal entry. + + The type of the entity. + The type of the property. + The new entry. + + + + Gets the property name. + The property is virtual to allow mocking. + + The property name. + + + + Gets or sets the current value of the navigation property. + + The current value. + + + + Gets the internal entity entry property belongs to. + This property is virtual to allow mocking. + + The internal entity entry. + + + + Gets the entry metadata. + + The entry metadata. + + + + Initializes a new instance of the class. + + The internal entry. + The property info. + + + + Creates a delegate that will get the value of this property. + + The delegate. + + + + Creates a delegate that will set the value of this property. + + The delegate. + + + + Returns true if the property of the entity that this property is ultimately part + of is set as modified. If this is a property of an entity, then this method returns + true if the property is modified. If this is a property of a complex object, then + this method returns true if the top-level complex property on the entity is modified. + + True if the entity property is modified. + + + + Sets the property of the entity that this property is ultimately part of to modified. + If this is a property of an entity, then this method marks it as modified. + If this is a property of a complex object, then this method marks the top-level + complex property as modified. + + + + + Throws if the user attempts to set a complex property to null. + + The value. + + + + Sets the given value directly onto the underlying entity object. + + The value. + True if the property had a setter that we could attempt to call; false if no setter was available. + + + + Sets the property value, potentially by setting individual nested values for a complex + property. + + The value. + + + + Gets an internal object representing a scalar or complex property of this property, + which must be a mapped complex property. + This method is virtual to allow mocking. + + The property. + The type of object requested, which may be null or 'object' if any type can be accepted. + if set to true then the found property must be a complex property. + The entry. + + + + Validates that the owning entity entry is associated with an underlying and + is not just wrapping a non-attached entity. + + + + + Creates a new non-generic backed by this internal entry. + The runtime type of the DbMemberEntry created will be or a subtype of it. + + The new entry. + + + + Creates a new generic backed by this internal entry. + The runtime type of the DbMemberEntry created will be or a subtype of it. + + The type of the entity. + The type of the property. + The new entry. + + + + Returns parent property, or null if this is a property on the top-level entity. + + + + + Gets the current values of the parent entity or complex property. + That is, the current values that contains the value for this property. + + The parent current values. + + + + Gets the original values of the parent entity or complex property. + That is, the original values that contains the value for this property. + + The parent original values. + + + + A delegate that reads the value of this property. + May be null if there is no way to set the value due to missing accessors on the type. + + + + + A delegate that sets the value of this property. + May be null if there is no way to set the value due to missing accessors on the type. + + + + + Gets or sets the original value. + Note that complex properties are returned as objects, not property values. + + + + + Gets or sets the current value. + Note that complex properties are returned as objects, not property values. + Also, for complex properties, the object returned is the actual complex object from the entity + and setting the complex object causes the actual object passed to be set onto the entity. + + The current value. + + + + Gets or sets a value indicating whether this property is modified. + + + + + Gets the property metadata. + + The property metadata. + + + + Initializes a new instance of the class. + + The parent property entry. + The property metadata. + + + + Creates a delegate that will get the value of this property. + + The delegate. + + + + Creates a delegate that will set the value of this property. + + The delegate. + + + + Returns true if the property of the entity that this property is ultimately part + of is set as modified. Since this is a property of a complex object + this method returns true if the top-level complex property on the entity is modified. + + True if the entity property is modified. + + + + Sets the property of the entity that this property is ultimately part of to modified. + Since this is a property of a complex object this method marks the top-level + complex property as modified. + + + + + Returns parent property, or null if this is a property on the top-level entity. + + + + + Gets the current values of the parent complex property. + That is, the current values that contains the value for this property. + + The parent current values. + + + + Gets the original values of the parent complex property. + That is, the original values that contains the value for this property. + + The parent original values. + + + + Contains metadata about a member of an entity type or complex type. + + + + + Initializes a new instance of the class. + + The type that the property is declared on. + Type of the property. + The property name. + + + + Creates a new the runtime type of which will be + determined by the metadata. + + The entity entry to which the member belongs. + The parent property entry if the new entry is nested, otherwise null. + The new entry. + + + + Gets the type of the member for which this is metadata. + + The type of the member entry. + + + + Gets the name of the property. + + The name. + + + + Gets the type of the entity or complex object that on which the member is declared. + + The type that the member is declared on. + + + + Gets the type of element for the property, which for non-collection properties + is the same as the MemberType and which for collection properties is the type + of element contained in the collection. + + The type of the element. + + + + Gets the type of the member, which for collection properties is the type + of the collection rather than the type in the collection. + + The type of the member. + + + + The types of member entries supported. + + + + + Initializes a new instance of the class. + + The type that the property is declared on. + Type of the property. + The property name. + if set to true this is a collection nav prop. + + + + Creates a new the runtime type of which will be + determined by the metadata. + + The entity entry to which the member belongs. + The parent property entry which will always be null for navigation entries. + The new entry. + + + + Gets the type of the member for which this is metadata. + + The type of the member entry. + + + + Gets the type of the member, which for collection properties is the type + of the collection rather than the type in the collection. + + The type of the member. + + + + The internal class used to implement and + . + This internal class contains all the common implementation between the generic and non-generic + entry classes and also allows for a clean internal factoring without compromising the public API. + + + + + Base class for and + containing common code for collection and reference navigation property entries. + + + + + Initializes a new instance of the class. + + The internal entity entry. + The navigation metadata. + + + + Calls Load on the underlying . + + + + + Uses CreateSourceQuery on the underlying to create a query for this + navigation property. + + + + + Gets the navigation property value from the object. + + The entity. + The navigation property value. + + + + Validates that the owning entity entry is associated with an underlying and + is not just wrapping a non-attached entity. + If the entity is not detached, then the RelatedEnd for this navigation property is obtained. + + + + + Calls IsLoaded on the underlying . + + + + + Gets the related end, which will be null if the entity is not being tracked. + + The related end. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references or the collection of references + for a collection property. + This property is virtual so that it can be mocked. + + The current value. + + + + Gets a delegate that can be used to get the value of the property directly from the entity. + Returns null if the property does not have an accessible getter. + + The getter delegate, or null. + + + + Gets a delegate that can be used to set the value of the property directly on the entity. + Returns null if the property does not have an accessible setter. + + The setter delegate, or null. + + + + Initializes a new instance of the class. + + The internal entity entry. + The navigation metadata. + + + + Gets the navigation property value from the object. + Since for a collection the related end is an , it means + that the internal representation of the navigation property is just the related end. + + The entity. + The navigation property value. + + + + Creates a new non-generic backed by this internal entry. + The runtime type of the DbMemberEntry created will be or a subtype of it. + + The new entry. + + + + Creates a new generic backed by this internal entry. + The runtime type of the DbMemberEntry created will be or a subtype of it. + + The type of the entity. + The type of the property. + The new entry. + + + + Creates a new generic backed by this internal entry. + The actual subtype of the DbCollectionEntry created depends on the metadata of this internal entry. + + The type of the entity. + The type of the element. + The new entry. + + + + Creates a object for the given entity type + and collection element type. + + The type of the entity. + The type of the property. + Type of the element. + The set. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references or the collection of references + for a collection property. + + The current value. + + + + A concrete implementation of used for properties of entities. + + + + + Initializes a new instance of the class. + + The internal entry. + The property info. + + + + Creates a delegate that will get the value of this property. + + The delegate. + + + + Creates a delegate that will set the value of this property. + + The delegate. + + + + Returns true if the property of the entity that this property is ultimately part + of is set as modified. Since this is a property of an entity this method returns + true if the property is modified. + + True if the entity property is modified. + + + + Sets the property of the entity that this property is ultimately part of to modified. + Since this is a property of an entity this method marks it as modified. + + + + + Returns parent property, or null if this is a property on the top-level entity. + + + + + Gets the current values of the parent entity. + That is, the current values that contains the value for this property. + + The parent current values. + + + + Gets the original values of the parent entity. + That is, the original values that contains the value for this property. + + The parent original values. + + + + The internal class used to implement , + and . + This internal class contains all the common implementation between the generic and non-generic + entry classes and also allows for a clean internal factoring without compromising the public API. + + + + + Initializes a new instance of the class. + + The internal entity entry. + The navigation metadata. + + + + Gets the navigation property value from the object. + For reference navigation properties, this means getting the value from the + object. + + The entity. + The navigation property value. + + + + Sets the navigation property value onto the object. + For reference navigation properties, this means setting the value onto the + object. + + The entity. + The value. + + + + Sets the given value on the given which must be an + . + This method is setup in such a way that it can easily be used by CreateDelegate without any + dynamic code generation needed. + + The type of the related entity. + The entity reference. + The value. + + + + Creates a new non-generic backed by this internal entry. + The runtime type of the DbMemberEntry created will be or a subtype of it. + + The new entry. + + + + Creates a new generic backed by this internal entry. + The runtime type of the DbMemberEntry created will be or a subtype of it. + + The type of the entity. + The type of the property. + The new entry. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references or the collection of references + for a collection property. + + The current value. + + + + Contains metadata for a property of a complex object or entity. + + + + + Initializes a new instance of the class. + + The type that the property is declared on. + Type of the property. + The property name. + if set to true the property is mapped in the EDM. + if set to true the property is a complex property. + + + + Validates that the given name is a property of the declaring type (either on the CLR type or in the EDM) + and that it is a complex or scalar property rather than a nav property and then returns metadata about + the property. + + The internal context. + The type that the property is declared on. + The type of property requested, which may be 'object' if any type can be accepted. + Name of the property. + Metadata about the property, or null if the property does not exist or is a navigation property. + + + + Creates a new the runtime type of which will be + determined by the metadata. + + The entity entry to which the member belongs. + The parent property entry if the new entry is nested, otherwise null. + The new entry. + + + + Gets a value indicating whether this is a complex property. + That is, not whether or not this is a property on a complex object, but rather if the + property itself is a complex property. + + + true if this instance is complex; otherwise, false. + + + + + Gets the type of the member for which this is metadata. + + The type of the member entry. + + + + Gets a value indicating whether this instance is mapped in the EDM. + + true if this instance is mapped; otherwise, false. + + + + Gets the type of the member, which for collection properties is the type + of the collection rather than the type in the collection. + + The type of the member. + + + + An implementation of that represents a clone of another + dictionary. That is, all the property values have been been copied into this dictionary. + + + + + The internal class used to implement . + This internal class allows for a clean internal factoring without compromising the public API. + + + + + Initializes a new instance of the class. + + The internal context with which the entity of complex object is associated. + The type of the entity or complex object. + If set to true this is a dictionary for an entity, otherwise it is a dictionary for a complex object. + + + + Implemented by subclasses to get the dictionary item for a given property name. + Checking that the name is valid should happen before this method is called such + that subclasses do not need to perform the check. + + Name of the property. + An item for the given name. + + + + Creates an object of the underlying type for this dictionary and hydrates it with property + values from this dictionary. + + The properties of this dictionary copied into a new object. + + + + Creates an instance of the underlying type for this dictionary, which may either be an entity type (in which + case CreateObject on the context is used) or a non-entity type (in which case the empty constructor is used.) + In either case, app domain cached compiled delegates are used to do the creation. + + + + + Sets the values of this dictionary by reading values out of the given object. + The given object must be of the type that this dictionary is based on. + + The object to read values from. + + + + Creates a new dictionary containing copies of all the properties in this dictionary. + Changes made to the new dictionary will not be reflected in this dictionary and vice versa. + + A clone of this dictionary. + + + + Sets the values of this dictionary by reading values from another dictionary. + The other dictionary must be based on the same type as this dictionary, or a type derived + from the type for this dictionary. + + The dictionary to read values from. + + + + Gets the dictionary item for the property with the given name. + This method checks that the given name is valid. + + The property name. + The item. + + + + Sets the value of the property only if it is different from the current value and is not + an invalid attempt to set a complex property. + + + + + Gets the set of names of all properties in this dictionary as a read-only set. + + The property names. + + + + Gets or sets the value of the property with the specified property name. + The value may be a nested instance of this class. + + The property name. + The value of the property. + + + + Gets the entity type of complex type that this dictionary is based on. + + The type of the object underlying this dictionary. + + + + Gets the internal context with which the underlying entity or complex type is associated. + + The internal context. + + + + Gets a value indicating whether the object for this dictionary is an entity or a complex object. + + true if this this is a dictionary for an entity; false if it is a dictionary for a complex object. + + + + Initializes a new instance of the class by copying + values from the given dictionary. + + The dictionary to clone. + If non-null, then the values for the new dictionary are taken from this record rather than from the original dictionary. + + + + Gets the dictionary item for a given property name. + + Name of the property. + An item for the given name. + + + + Gets the set of names of all properties in this dictionary as a read-only set. + + The property names. + + + + An implementation of for an item in a . + + + + + Represents an item in an representing a property name/value. + + + + + Gets or sets the value of the property represented by this item. + + The value. + + + + Gets the name of the property. + + The name. + + + + Gets a value indicating whether this item represents a complex property. + + true If this instance represents a complex property; otherwise, false. + + + + Gets the type of the underlying property. + + The property type. + + + + Initializes a new instance of the class. + + The name. + The value. + The type. + If set to true this item represents a complex property. + + + + Gets or sets the value of the property represented by this item. + + The value. + + + + Gets the name of the property. + + The name. + + + + Gets a value indicating whether this item represents a complex property. + + + true If this instance represents a complex property; otherwise, false. + + + + + Gets the type of the underlying property. + + The property type. + + + + An implementation of that is based on an existing + instance. + + + + + Initializes a new instance of the class. + + The internal context. + The type. + The data record. + If set to true this is a dictionary for an entity, otherwise it is a dictionary for a complex object. + + + + Gets the dictionary item for a given property name. + + Name of the property. + An item for the given name. + + + + Gets the set of names of all properties in this dictionary as a read-only set. + + The property names. + + + + An implementation of for an item in a . + + + + + Initializes a new instance of the class. + + The data record. + The ordinal. + The value. + + + + Gets or sets the value of the property represented by this item. + + The value. + + + + Gets the name of the property. + + The name. + + + + Gets a value indicating whether this item represents a complex property. + + + true If this instance represents a complex property; otherwise, false. + + + + + Gets the type of the underlying property. + + The property type. + + + + This is version of an internal interface that already exists in System.Data.Entity that + is implemented by . Using this interface allows state + entries to be mocked for unit testing. The plan is to remove this version of the + interface and use the one in System.Data.Entity once we roll into the framework. + Note that some members may need to be added to the interface in the framework when + we combine the two. + + + + + The internal class used to implement + and . + This internal class contains all the common implementation between the generic and non-generic + entry classes and also allows for a clean internal factoring without compromising the public API. + + + + + Initializes a new instance of the class. + + The internal context. + The state entry. + + + + Initializes a new instance of the class for an + entity which may or may not be attached to the context. + + The internal context. + The entity. + + + + Queries the database for copies of the values of the tracked entity as they currently exist in the database. + + The store values. + + + + Appends a query for the properties in the entity to the given string builder that is being used to + build the eSQL query. This method may be called recursively to query for all the sub-properties of + a complex property. + + The query builder. + The qualifier with which to prefix each property name. + The dictionary that acts as a template for the properties to query. + + + + Validates that a dictionary can be obtained for the state of the entity represented by this entry. + + The method name being used to request a dictionary. + The state that is invalid for the request being processed. + + + + Calls Refresh with StoreWins on the underlying state entry. + + + + + Gets an internal object representing a reference navigation property. + This method is virtual to allow mocking. + + The navigation property. + The type of entity requested, which may be 'object' or null if any type can be accepted. + The entry. + + + + Gets an internal object representing a collection navigation property. + This method is virtual to allow mocking. + + The navigation property. + The type of entity requested, which may be 'object' or null f any type can be accepted. + The entry. + + + + Gets an internal object representing a navigation, scalar, or complex property. + This method is virtual to allow mocking. + + Name of the property. + The type of entity requested, which may be 'object' if any type can be accepted. + The entry. + + + + Gets an internal object representing a scalar or complex property. + This method is virtual to allow mocking. + + The property. + The type of object requested, which may be null or 'object' if any type can be accepted. + if set to true then the found property must be a complex property. + The entry. + + + + Gets an internal object representing a scalar or complex property. + The property may be a nested property on the given . + + The parent property entry, or null if this is a property directly on the entity. + Name of the property. + The type of object requested, which may be null or 'object' if any type can be accepted. + if set to true then the found property must be a complex property. + The entry. + + + + Gets an internal object representing a scalar or complex property. + The property may be a nested property on the given . + + The parent property entry, or null if this is a property directly on the entity. + Name of the property. + The property split out into its parts. + The type of object requested, which may be null or 'object' if any type can be accepted. + if set to true then the found property must be a complex property. + The entry. + + + + Checks that the given property name is a navigation property and is either a reference property or + collection property according to the value of requireCollection. + + + + + Gets metadata for the given property if that property is a navigation property or returns null + if it is not a navigation property. + + Name of the property. + Navigation property metadata or null. + + + + Gets the type of entity or entities at the target end of the given navigation property. + + The navigation property. + The CLR type of the entity or entities at the other end. + + + + Gets the related end for the navigation property with the given name. + + The navigation property. + + + + + Uses EDM metadata to validate that the property name exists in the model and represents a scalar or + complex property or exists in the CLR type. + This method is public and virtual so that it can be mocked. + + The property name. + The type on which the property is declared. + The type of object requested, which may be 'object' if any type can be accepted. + Metadata for the property. + + + + Splits the given property name into parts delimited by dots. + + Name of the property. + The parts of the name. + + + + Validates that this entry is associated with an underlying and + is not just wrapping a non-attached entity. + + + + + Validates entity represented by this entity entry. + This method is virtual to allow mocking. + + User defined dictionary containing additional info for custom validation. This parameter is optional and can be null. + containing validation result. Never null. + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the tracked entity. + This property is virtual to allow mocking. + + The entity. + + + + Gets or sets the state of the entity. + + The state. + + + + Gets the current property values for the tracked entity represented by this object. + This property is virtual to allow mocking. + + The current values. + + + + Gets the original property values for the tracked entity represented by this object. + The original values are usually the entity's property values as they were when last queried from + the database. + This property is virtual to allow mocking. + + The original values. + + + + Checks whether or not this entry is associated with an underlying or + is just wrapping a non-attached entity. + + + + + Gets the type of the entity being tracked. + + The type of the entity. + + + + Gets the c-space entity type for this entity from the EDM. + + + + + Gets the underlying object state entry. + + + + + Gets the internal context. + + The internal context. + + + + An implementation of that wraps an existing set but makes + it read-only. + + + + + + Initializes a new instance of the class wrapped around + another existing set. + + The existing set. + + + + This is a temporary adapter class that wraps an and + presents it as an . This class will be removed once + we roll into the System.Data.Entity assembly. See + for more details. + + + + + An instance of this internal class is created whenever an instance of the public + class is needed. This allows the public surface to be non-generic, while the runtime type created + still implements . + + The type of the element. + + + + Creates a new query that will be backed by the given internal query object. + + The backing query. + + + + See comments in . + + + + + See comments in . + + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + Gets the underlying internal query object. + + The internal query. + + + + An instance of this internal class is created whenever an instance of the public + class is needed. This allows the public surface to be non-generic, while the runtime type created + still implements . + + The type of the entity. + + + + Creates a new set that will be backed by the given internal set. + + The internal set. + + + + Creates an instance of this class. This method is used with CreateDelegate to cache a delegate + that can create a generic instance without calling MakeGenericType every time. + + + The internal set to wrap, or null if a new internal set should be created. + The set. + + + + See comments in . + + + + + See comments in . + + + + + See comments in . + + + + + See comments in . + + + + + See comments in . + + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + Gets the underlying internal query object. + + The internal query. + + + + Gets the underlying internal set. + + The internal set. + + + + See comments in . + + + + + A LINQ expression visitor that finds uses with equivalent + instances. + + + + + Replaces calls to DbContext.Set() with an expression for the equivalent . + + The node to replace. + A new node, which may have had the replacement made. + + + + Replaces a or property with a constant expression + for the underlying . + + The node to replace. + A new node, which may have had the replacement made. + + + + Processes the fields in each constant expression and replaces instances with + the underlying ObjectQuery instance. This handles cases where the query has a closure + containing values. + + + + + Gets a value from the given member, or returns null + if the member doesn't contain a DbContext instance. + + The expression for the object for the member, which may be null for a static member. + The member. + The context or null. + + + + Gets the instance from the given instance or static member, returning null + if the member does not contain a DbContext instance. + + The member. + The value of the object to get the instance from, or null if the member is static. + The context instance or null. + + + + Takes a or and creates an expression + for the underlying . + + + + + Takes a or and extracts the underlying . + + + + + A non-generic interface implemented by that allows operations on + any query object without knowing the type to which it applies. + + + + + An interface implemented by . + + The type of the element. + + + + A non-generic interface implemented by that allows operations on + any set object without knowing the type to which it applies. + + + + + An interface implemented by . + + + + + An InternalQuery underlies every instance of DbSet and DbQuery. It acts to lazily initialize a InternalContext as well + as an ObjectQuery and EntitySet the first time that it is used. The InternalQuery also acts to expose necessary + information to other parts of the design in a controlled manner without adding a lot of internal methods and + properties to the DbSet and DbQuery classes themselves. + + The type of entity to query for. + + + + Creates a new query that will be backed by the given InternalContext. + + The backing context. + + + + Creates a new internal query based on the information in an existing query together with + a new underlying ObjectQuery. + + + + + Resets the query to its uninitialized state so that it will be re-lazy initialized the next + time it is used. This allows the ObjectContext backing a DbContext to be switched out. + + + + + Updates the underlying ObjectQuery with the given include path. + + The include path. + A new query containing the defined include path. + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Performs lazy initialization of the underlying ObjectContext, ObjectQuery, and EntitySet objects + so that the query can be used. + + + + + Returns a representation of the underlying query, equivalent + to ToTraceString on ObjectQuery. + + + The query string. + + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + The underlying InternalContext. + + + + + The underlying ObjectQuery. + + + + + The underlying ObjectQuery. + + + + + The LINQ query expression. + + + + + The LINQ query provider for the underlying . + + + + + The IQueryable element type. + + + + + Creates a new query that will be backed by the given InternalContext. + + The backing context. + + + + Resets the set to its uninitialized state so that it will be re-lazy initialized the next + time it is used. This allows the ObjectContext backing a DbContext to be switched out. + + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Finds an entity in the state manager with the given primary key values, or returns null + if no such entity can be found. This includes looking for Added entities with the given + key values. + + + + + Finds an entity in the store with the given primary key values, or returns null + if no such entity can be found. This code is adapted from TryGetObjectByKey to + include type checking in the query. + + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + This method is virtual so that it can be mocked. + + The entity to attach. + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + This method is virtual so that it can be mocked. + + The entity to add. + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + This method is virtual so that it can be mocked. + + The entity to remove. + + + + This method checks whether an entity is already in the context. If it is, then the state + is changed to the new state given. If it isn't, then the action delegate is executed to + either Add or Attach the entity. + + A delegate to Add or Attach the entity. + The new state to give the entity if it is already in the context. + The entity. + Name of the method. + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The type of entity to create. + The entity instance, which may be a proxy. + + + + Performs lazy initialization of the underlying ObjectContext, ObjectQuery, and EntitySet objects + so that the query can be used. + This method is virtual so that it can be mocked. + + + + + Creates an underlying for this set. + + if set to true then the query is set to be no-tracking. + The query. + + + + Returns a representation of the underlying query, equivalent + to ToTraceString on ObjectQuery. + + + The query string. + + + + + Updates the underlying ObjectQuery with the given include path. + + The include path. + A new query containing the defined include path. + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Executes the given SQL query against the database materializing entities into the entity set that + backs this set. + + The SQL quey. + if true then the entities are not tracked, otherwise they are. + The parameters. + The query results. + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + Gets the ObservableCollection representing the local view for the set based on this query. + + + + + The underlying ObjectQuery. Accessing this property will trigger lazy initialization of the query. + + + + + The underlying EntitySet name. Accessing this property will trigger lazy initialization of the query. + + + + + The underlying EntitySet name, quoted for ESQL. Accessing this property will trigger lazy initialization of the query. + + + + + The underlying EntitySet. Accessing this property will trigger lazy initialization of the query. + + + + + The base type for the underlying entity set. Accessing this property will trigger lazy initialization of the query. + + + + + The underlying InternalContext. Accessing this property will trigger lazy initialization of the query. + + + + + The LINQ query expression. + + + + + The LINQ query provider for the underlying . + + + + + A wrapping query provider that performs expression transformation and then delegates + to the provider. The objects returned + are always instances of when the generic CreateQuery method is + used and are instances of when the non-generic CreateQuery method + is used. This provider is associated with non-generic objects. + + + + + A wrapping query provider that performs expression transformation and then delegates + to the provider. The objects returned are always instances + of . This provider is associated with generic objects. + + + + + Creates a provider that wraps the given provider. + + The provider to wrap. + + + + Performs expression replacement and then delegates to the wrapped provider before wrapping + the returned as a . + + + + + Performs expression replacement and then delegates to the wrapped provider before wrapping + the returned as a where T is determined + from the element type of the ObjectQuery. + + + + + By default, calls the same method on the wrapped provider. + + + + + By default, calls the same method on the wrapped provider. + + + + + Performs expression replacement and then delegates to the wrapped provider to create an + . + + + + + Wraps the given as a where T is determined + from the element type of the ObjectQuery. + + + + + Gets the internal context. + + The internal context. + + + + Creates a provider that wraps the given provider. + + The provider to wrap. + + + + Performs expression replacement and then delegates to the wrapped provider before wrapping + the returned as a . + + + + + Delegates to the wrapped provider except returns instances of . + + + + + Instances of this class are used internally to create constant expressions for + that are inserted into the expression tree to replace references to + and . + + The type of the element. + + + + Private constructor called by the Create factory method. + + The query. + + + + Factory method called by CreateDelegate to create an instance of this class. + + The query, which must be a generic object of the expected type. + A new instance. + + + + The public property expected in the LINQ expression tree. + + The query. + + + + Validates a property of a given EDM complex type. + + + This is a composite validator for a complex property of an entity. + + + + + Validates a property of a given EDM property type. + + + This is a composite validator for a property of an entity or a complex type. + + + + + Simple validators for the corresponding property. + + + + + Name of the property the validator was created for. + + + + + Creates an instance of for a given EDM property. + + The EDM property name. + Validators used to validate the given property. + + + + Validates a property. + + Validation context. Never null. + Property to validate. Never null. + Validation errors as . Empty if no errors. Never null. + + + + + Simple validators for the corresponding property. + + + + + Gets the name of the property the validator was created for. + + + + + The complex type validator. + + + + + Creates an instance of for a given complex property. + + The complex property name. + Validators used to validate the given property. + Complex type validator. + + + + Validates a complex property. + + Validation context. Never null. + Property to validate. Never null. + Validation errors as . Empty if no errors. Never null. + + + + + Validator used to validate a property of a given EDM ComplexType. + + + This is a composite validator. + + + + + Validator used to validate an entity of a given EDM Type. + + + This is a composite validator for an EDM Type. + + + + + Creates an instance for a given EDM type. + + Property validators. + Type level validators. + + + + Validates an instance. + + Entity validation context. Must not be null. + The entry for the complex property. Null if validating an entity. + instance. Never null. + Protected so it doesn't appear on EntityValidator. + + + + Validates type properties. Any validation errors will be added to + collection. + + + Validation context. Must not be null. + + + Collection of validation errors. Any validation errors will be added to it. + + The entry for the complex property. Null if validating an entity. + + Note that will be modified by this method. Errors should be only added, + never removed or changed. Taking a collection as a modifiable parameter saves a couple of memory allocations + and a merge of validation error lists per entity. + + + + + Returns a validator for a child property. + + Name of the child property for which to return a validator. + + Validator for a child property. Possibly null if there are no validators for requested property. + + + + + Creates an instance for a given EDM complex type. + + Property validators. + Type level validators. + + + + Validates an instance. + + Entity validation context. Must not be null. + The entry for the complex property. Null if validating an entity. + instance. Never null. + + + + Validates type properties. Any validation errors will be added to + collection. + + + Validation context. Must not be null. + + + Collection of validation errors. Any validation errors will be added to it. + + The entry for the complex property. Null if validating an entity. + + Note that will be modified by this method. Errors should be only added, + never removed or changed. Taking a collection as a modifiable parameter saves a couple of memory allocations + and a merge of validation error lists per entity. + + + + + Contains information needed to validate an entity or its properties. + + + + + The entity being validated or the entity that owns the property being validated. + + + + + Initializes a new instance of EntityValidationContext class. + + + The entity being validated or the entity that owns the property being validated. + + + External contexts needed for validation. + + + + + External context needed for validation. + + + + + Gets the entity being validated or the entity that owns the property being validated. + + + + + Validator used to validate an entity of a given EDM EntityType. + + + This is a top level, composite validator. This is also an entry point to getting an entity + validated as validation of an entity is always started by calling Validate method on this type. + + + + + Creates an instance for a given EDM entity type. + + Property validators. + Entity type level validators. + + + + Validates an entity. + + Entity validation context. Must not be null. + instance. Never null. + + + + Validates type properties. Any validation errors will be added to + collection. + + + Validation context. Must not be null. + + + Collection of validation errors. Any validation errors will be added to it. + + The entry for the complex property. Null if validating an entity. + + Note that will be modified by this method. Errors should be only added, + never removed or changed. Taking a collection as a modifiable parameter saves a couple of memory allocations + and a merge of validation error lists per entity. + + + + + Builds validators based on s specified on entity CLR types and properties + as well as based on presence of implementation on entity and complex + type CLR types. It's not sealed and not static for mocking purposes. + + + + + Builds an for the given . + + The entity entry to build the validator for. + Whether the currently processed type is the target type or one of the ancestor types. + + + for the given . Possibly null + if no validation has been specified for this entity type. + + + + + Builds the validator for a given and the corresponding + . + + The CLR type that corresponds to the EDM complex type. + The EDM complex type that type level validation is built for. + A for the given complex type. May be null if no validation specified. + + + + Extracted method from BuildEntityValidator and BuildComplexTypeValidator + + + + + Build validators for the and the corresponding + or . + + Properties to build validators for. + Non-navigation EDM properties. + Navigation EDM properties. + A list of validators. Possibly empty, never null. + + + + Builds a for the given and the corresponding + . If the property is a complex type, type level validators will be built here as + well. + The CLR property to build the validator for. + The EDM property to build the validator for. + + for the given . Possibly null + if no validation has been specified for this property. + + + + + Builds a for the given transient . + + The CLR property to build the validator for. + + for the given . Possibly null + if no validation has been specified for this property. + + + + + Builds s for given that derive from + . + + Attributes used to build validators. + + A list of s built from . + Possibly empty, never null. + + + + + Returns all non-static non-indexed CLR properties from the . + + The CLR to get the properties from. + + A collection of CLR properties. Possibly empty, never null. + + + + + Builds validators based on the facets of : + * If .Nullable facet set to false adds a validator equivalent to the RequiredAttribute + * If the .MaxLength facet is specified adds a validator equivalent to the MaxLengthAttribute. + However the validator isn't added if .IsMaxLength has been set to true. + + The CLR property to build the facet validators for. + The property for which facet validators will be created + A collection of validators. + + + + Contracts for abstract class. + + + + + Validates entities or complex types implementing IValidatableObject interface. + + + + + Display attribute used to specify the display name for an entity or complex property. + + + + + Validates an entity or a complex type implementing IValidatableObject interface. + This method is virtual to allow mocking. + + Validation context. Never null. + + Property to validate. Null if this is the entity that will be validated. Never null if this + is the complex type that will be validated. + + Validation error as . Empty if no errors. Never null. + + + Note that is used to figure out what needs to be validated. If it not null the complex + type will be validated otherwise the entity will be validated. + Also if this is an IValidatableObject complex type but the instance (.CurrentValue) is null we won't validate + anything and will not return any errors. The reason for this is that Validation is supposed to validate using + information the user provided and not some additional implicit rules. (ObjectContext will throw for operations + that involve null complex properties). + + + + + Validates a property, complex property or an entity using validation attributes the property + or the complex/entity type is decorated with. + + + Note that this class is used for validating primitive properties using attributes declared on the property + (property level validation) and complex properties and entities using attributes declared on the type + (type level validation). + + + + + Display attribute used to specify the display name for a property or entity. + + + + + Validation attribute used to validate a property or an entity. + + + + + Creates an instance of class. + + + Validation attribute used to validate a property or an entity. + + + + + Validates a property or an entity. + + Validation context. Never null. + Property to validate. Null for entity validation. Not null for property validation. + + + Validation errors as . Empty if no errors, never null. + + + + + Used to cache and retrieve generated validators and to create context for validating entities or properties. + + + + + Collection of validators keyed by the entity CLR type. Note that if there's no validation for a given type + it will be associated with a null validator. + + + + + Initializes a new instance of class. + + + + + Returns a validator to validate . + + Entity the validator is requested for. + + to validate . Possibly null if no validation + has been specified for the entity. + + + + + Returns a validator to validate . + + Navigation property the validator is requested for. + + Validator to validate . Possibly null if no validation + has been specified for the requested property. + + + + + Gets a validator for the . + + Entity validator. + Property to get a validator for. + + Validator to validate . Possibly null if there is no validation for the + . + + + For complex properties this method walks up the type hierarchy to get to the entity level and then goes down + and gets a validator for the child property that is an ancestor of the property to validate. If a validator + returned for an ancestor is null it means that there is no validation defined beneath and the method just + propagates (and eventually returns) null. + + + + + Creates for . + + Entity entry for which a validation context needs to be created. + User defined dictionary containing additional info for custom validation. This parameter is optional and can be null. + An instance of class. + + + + + Allows configuration to be performed for an complex type in a model. + + A ComplexTypeConfiguration can be obtained via the ComplexType method on + or a custom type derived from ComplexTypeConfiguration + can be registered via the Configurations property on . + + The complex type to be configured. + + + + Allows configuration to be performed for a type in a model. + + The type to be configured. + + + + Configures a property that is defined on this type. + + The type of the property being configured. + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + The type of the property being configured. + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Excludes a property from the model so that it will not be mapped to the database. + + The type of the property to be ignored. + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + + + + Initializes a new instance of ComplexTypeConfiguration + + + + + Allows the conventions used by a instance to be customized. + Currently removal of one or more default conventions is the only supported operation. + The default conventions can be found in the System.Data.Entity.Conventions namespace. + + + + + Disables a convention for the . + The default conventions that are available for removal can be found in the System.Data.Entity.Conventions namespace. + + The type of the convention to be disabled. + + + + Moves a foreign key constraint from oldTable to newTable and updates column references + + + + + Move any FK constraints that are now completely in newTable and used to refer to oldColumn + + + + + Configures a database column used to store a string values. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the column to allow the maximum length supported by the database provider. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + + Configures the column to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be variable length. + Columns are variable length by default. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be optional. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be required. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column. + + Name of the database provider specific data type. + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column. + + The order that this column should appear in the database table. + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to support Unicode string content. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the column supports Unicode string content. + + + Value indicating if the column supports Unicode string content or not. + Specifying 'null' will remove the Unicode facet from the column. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Base class for performing configuration of a relationship. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the table and column mapping of a relationship that does not expose foreign key properties in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the name of the column(s) for the foreign key. + + + The foreign key column names. + When using multiple foreign key properties, the properties must be specified in the same order that the + the primary key properties were configured for the target entity type. + + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the table name that the foreign key column(s) reside in. + The table that is specified must already be mapped for the entity type. + + If you want the foreign key(s) to reside in their own table then use the Map method + on to perform + entity splitting to create the table with just the primary key property. Foreign keys can + then be added to the table via this method. + + Name of the table. + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the table name and schema that the foreign key column(s) reside in. + The table that is specified must already be mapped for the entity type. + + If you want the foreign key(s) to reside in their own table then use the Map method + on to perform + entity splitting to create the table with just the primary key property. Foreign keys can + then be added to the table via this method. + + Name of the table. + Schema of the table. + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the table and column mapping of a many:many relationship. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the join table name for the relationship. + + Name of the table. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the join table name and schema for the relationship. + + Name of the table. + Schema of the table. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the column(s) for the left foreign key. + The left foreign key represents the navigation property specified in the HasMany call. + + + The foreign key column names. + When using multiple foreign key properties, the properties must be specified in the same order that the + the primary key properties were configured for the target entity type. + + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the column(s) for the right foreign key. + The right foreign key represents the navigation property specified in the WithMany call. + + + The foreign key column names. + When using multiple foreign key properties, the properties must be specified in the same order that the + the primary key properties were configured for the target entity type. + + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures a relationship that can only support foreign key properties that are not exposed in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures a relationship that can support cascade on delete functionality. + + + + + Configures cascade delete to be on for the relationship. + + + + + Configures whether or not cascade delete is on for the relationship. + + Value indicating if cascade delete is on or not. + + + + Configures the relationship to use foreign key property(s) that are not exposed in the object model. + The column(s) and table can be customized by specifying a configuration action. + If an empty configuration action is specified then column name(s) will be generated by convention. + If foreign key properties are exposed in the object model then use the HasForeignKey method. + Not all relationships support exposing foreign key properties in the object model. + + Action that configures the foreign key column(s) and table. + + A configuration object that can be used to further configure the relationship. + + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Used to configure a property with length facets for an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Used to configure a primitive property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will remove the database generated pattern facet from the property. + Setting 'null' will cause the same runtime behavior as specifying 'None'. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + + Value indicating if the property is a concurrency token or not. + Specifying 'null' will remove the concurrency token facet from the property. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to allow the maximum length supported by the database provider. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + + The maximum length for the property. + Setting 'null' will remove any maximum length restriction from the property and a default length will be used for the database column. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + Properties are variable length by default. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to allow the maximum length supported by the database provider. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + + The maximum length for the property. + Setting 'null' will remove any maximum length restriction from the property. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + properties are variable length by default. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + properties are optional by default. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will remove the database generated pattern facet from the property. + Setting 'null' will cause the same runtime behavior as specifying 'None'. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + + Value indicating if the property is a concurrency token or not. + Specifying 'null' will remove the concurrency token facet from the property. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be a row version in the database. + The actual data type will vary depending on the database provider being used. + Setting the property to be a row version will automatically configure it to be an + optimistic concurrency token. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + properties are required by default. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will remove the database generated pattern facet from the property. + Setting 'null' will cause the same runtime behavior as specifying 'None'. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + + Value indicating if the property is a concurrency token or not. + Specifying 'null' will remove the concurrency token facet from the property. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the precision of the property. + If the database provider does not support precision for the data type of the column then the value is ignored. + + Precision of the property. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + properties are required by default. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will remove the database generated pattern facet from the property. + Setting 'null' will cause the same runtime behavior as specifying 'None'. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + + Value indicating if the property is a concurrency token or not. + Specifying 'null' will remove the concurrency token facet from the property. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the precision and scale of the property. + + The precision of the property. + The scale of the property. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to allow the maximum length supported by the database provider. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + + The maximum length for the property. + Setting 'null' will remove any maximum length restriction from the property and a default length will be used for the database column.. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + properties are variable length by default. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + properties are optional by default. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will remove the database generated pattern facet from the property. + Setting 'null' will cause the same runtime behavior as specifying 'None'. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + + Value indicating if the property is a concurrency token or not. + Specifying 'null' will remove the concurrency token facet from the property. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to support Unicode string content. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property supports Unicode string content. + + + Value indicating if the property supports Unicode string content or not. + Specifying 'null' will remove the Unicode facet from the property. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Convention to process instances of found on foreign key properties in the model. + + + + + Base class for conventions that process CLR attributes found in the model. + + The type of member to look for. + The type of the configuration to look for. + The type of the attribute to look for. + + + + Convention to process instances of found on properties in the model. + + + + + Convention to add a cascade delete to the join table from both tables involved in a many to many relationship. + + + + + Convention to ensure an invalid/unsupported mapping is not created when mapping inherited properties + + + + + Convention to set precision to 18 and scale to 2 for decimal properties. + + + + + Configures a relationship that can support foreign key properties that are exposed in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + The dependent entity type. + + + + Configures the relationship to use foreign key property(s) that are exposed in the object model. + If the foreign key property(s) are not exposed in the object model then use the Map method. + + The type of the key. + + A lambda expression representing the property to be used as the foreign key. + If the foreign key is made up of multiple properties then specify an anonymous type including the properties. + When using multiple foreign key properties, the properties must be specified in the same order that the + the primary key properties were configured for the principal entity type. + + A configuration object that can be used to further configure the relationship. + + + + Configures a many:many relationship. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the foreign key column(s) and table used to store the relationship. + + Action that configures the foreign key column(s) and table. + + + + Configures the table and column mapping for an entity type or a sub-set of properties from an entity type. + This configuration functionality is available via the Code First Fluent API, see . + + The entity type to be mapped. + + + + Configures the properties that will be included in this mapping fragment. + If this method is not called then all properties that have not yet been + included in a mapping fragment will be configured. + + An anonymous type including the properties to be mapped. + + A lambda expression to an anonymous type that contains the properties to be mapped. + C#: t => new { t.Id, t.Property1, t.Property2 } + VB.Net: Function(t) New From { p.Id, t.Property1, t.Property2 } + + + + + Re-maps all properties inherited from base types. + + When configuring a derived type to be mapped to a separate table this will cause all properties to + be included in the table rather than just the non-inherited properties. This is known as + Table per Concrete Type (TPC) mapping. + + + + + Configures the table name to be mapped to. + + Name of the table. + + + + Configures the table name and schema to be mapped to. + + Name of the table. + Schema of the table. + + + + Configures the discriminator column used to differentiate between types in an inheritance hierarchy. + + The name of the discriminator column. + A configuration object to further configure the discriminator column and values. + + + + Configures the discriminator condition used to differentiate between types in an inheritance hierarchy. + + The type of the property being used to discriminate between types. + + A lambda expression representing the property being used to discriminate between types. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object to further configure the discriminator condition. + + + + Configures a condition used to discriminate between types in an inheritance hierarchy based on the values assigned to a property. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the condition to require a value in the property. + + Rows that do not have a value assigned to column that this property is stored in are + assumed to be of the base type of this entity type. + + + + + Configures a discriminator column used to differentiate between types in an inheritance hierarchy. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + Type of the discriminator value. + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + Type of the discriminator value. + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + Allows derived configuration classes for entities and complex types to be registered with a . + + + Derived configuration classes are created by deriving from + or and using a type to be included in the model as the generic + parameter. + + Configuration can be performed without creating derived configuration classes via the Entity and ComplexType + methods on . + + + + + Adds an to the . + Only one can be added for each type in a model. + + The entity type being configured. + The entity type configuration to be added. + The same ConfigurationRegistrar instance so that multiple calls can be chained. + + + + Adds an to the . + Only one can be added for each type in a model. + + The complex type being configured. + The complex type configuration to be added + The same ConfigurationRegistrar instance so that multiple calls can be chained. + + + + True if this configuration can be replaced in the model configuration, false otherwise + This is only set to true for configurations that are registered automatically via the DbContext + + + + + Configures a many relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be many:many with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:required with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:required without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:optional with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:optional without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Initializes configurations in the ModelConfiguration so that configuration data + is in a single place + + + + + Configures an optional relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be optional:many with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:required with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:required without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional with a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional without a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional with a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + + A lambda expression representing the navigation property on the other end of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional without a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + A configuration object that can be used to further configure the relationship. + + + + Convention to process instances of found on properties in the model + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on navigation properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on primitive properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on types in the model. + + + + + Convention to process instances of found on types in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on types in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to move primary key properties to appear first. + + + + + Convention to apply column ordering specified via or the API. + + + + + Convention to convert any data types that were explicitly specified, via data annotations or API, + to be lower case. The default SqlClient provider is case sensitive and requires data types to be lower case. This convention + allows the and API to be case insensitive. + + + + + Convention to set a default maximum length of 128 for properties whose type supports length facets. + + + + + Convention to set the entity set name to be a pluralized version of the entity type name. + + + + + This class provide service for both the singularization and pluralization, it takes the word pairs + in the ctor following the rules that the first one is singular and the second one is plural. + + + + + Factory method for PluralizationService. Only support english pluralization. + Please set the PluralizationService on the System.Data.Entity.Design.EntityModelSchemaGenerator + to extend the service to other locales. + + CultureInfo + PluralizationService + + + + captalize the return word if the parameter is capitalized + if word is "Table", then return "Tables" + + + + + + + + separate one combine word in to two parts, prefix word and the last word(suffix word) + + + + + + + + return true when the word is "[\s]*" or leading or tailing with spaces + or contains non alphabetical characters + + + + + + + This method allow you to add word to internal PluralizationService of English. + If the singluar or the plural value was already added by this method, then an ArgumentException will be thrown. + + + + + + + Convention to set the table name to be a pluralized version of the entity type name. + + + + + Convention to configure the primary key(s) of the dependent entity type as foreign key(s) in a one:one relationship. + + + + + Convention to distinguish between optional and required relationships based on CLR nullability of the foreign key property. + + + + + Convention to detect primary key properties. + Recognized naming patterns in order of precedence are: + 1. 'Id' + 2. [type name]Id + Primary key detection is case insensitive. + + + + + Handles mapping from a CLR property to an EDM assocation and nav. prop. + + + + + True if the NavigationProperty's declaring type is the principal end, false if it is not, null if it is not known + + + + + Exception thrown by during model creation when an invalid model is generated. + + + + + Initializes a new instance of ModelValidationException + + + + + Initializes a new instance of ModelValidationException + + The exception message. + + + + Initializes a new instance of ModelValidationException + + The exception message. + The inner exception. + + + + Convention to detect navigation properties to be inverses of each other when only one pair + of navigation properties exists between the related types. + + + + + Convention to configure a type as a complex type if it has no primary key, no mapped base type and no navigation properties. + + + + + Convention to discover foreign key properties whose names are a combination + of the dependent navigation property name and the principal type primary key property name(s). + + + + + Allows configuration to be performed for an entity type in a model. + + An EntityTypeConfiguration can be obtained via the Entity method on + or a custom type derived from EntityTypeConfiguration + can be registered via the Configurations property on . + + + + + Initializes a new instance of EntityTypeConfiguration + + + + + Configures the primary key property(s) for this entity type. + + The type of the key. + + A lambda expression representing the property to be used as the primary key. + C#: t => t.Id + VB.Net: Function(t) t.Id + + If the primary key is made up of multiple properties then specify an anonymous type including the properties. + C#: t => new { t.Id1, t.Id2 } + VB.Net: Function(t) New From { t.Id1, t.Id2 } + + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures the entity set name to be used for this entity type. + The entity set name can only be configured for the base type in each set. + + The name of the entity set. + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + The database schema of the table. + + + + Allows advanced configuration related to how this entity type is mapped to the database schema. + By default, any configuration will also apply to any type derived from this entity type. + + Derived types can be configured via the overload of Map that configures a derived type or + by using an EntityTypeConfiguration for the derived type. + + The properties of an entity can be split between multiple tables using multiple Map calls. + + Calls to Map are additive, subsequent calls will not override configuration already preformed via Map. + + An action that performs configuration against an . + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Allows advanced configuration related to how a derived entity type is mapped to the database schema. + Calls to Map are additive, subsequent calls will not override configuration already preformed via Map. + + The derived entity type to be configured. + An action that performs configuration against an . + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures an optional relationship from this entity type. + Instances of the entity type will be able to be saved to the database without this relationship being specified. + The foreign key in the database will be nullable. + + The type of the entity at the other end of the relationship. + + A lambda expression representing the navigation property for the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures a required relationship from this entity type. + Instances of the entity type will not be able to be saved to the database unless this relationship is specified. + The foreign key in the database will be non-nullable. + + The type of the entity at the other end of the relationship. + + A lambda expression representing the navigation property for the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures a many relationship from this entity type. + + The type of the entity at the other end of the relationship. + + A lambda expression representing the navigation property for the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + DbModelBuilder is used to map CLR classes to a database schema. + This code centric approach to building an Entity Data Model (EDM) model is known as 'Code First'. + + + DbModelBuilder is typically used to configure a model by overriding . + You can also use DbModelBuilder independently of DbContext to build a model and then construct a + or . + The recommended approach, however, is to use OnModelCreating in as + the workflow is more intuitive and takes care of common tasks, such as caching the created model. + + Types that form your model are registered with DbModelBuilder and optional configuration can be + performed by applying data annotations to your classes and/or using the fluent style DbModelBuilder + API. + + When the Build method is called a set of conventions are run to discover the initial model. + These conventions will automatically discover aspects of the model, such as primary keys, and + will also process any data annotations that were specified on your classes. Finally + any configuration that was performed using the DbModelBuilder API is applied. + + Configuration done via the DbModelBuilder API takes precedence over data annotations which + in turn take precedence over the default conventions. + + + + + Initializes a new instance of the class. + + The process of discovering the initial model will use the set of conventions included + in the most recent version of the Entity Framework installed on your machine. + + + Upgrading to newer versions of the Entity Framework may cause breaking changes + in your application because new conventions may cause the initial model to be + configured differently. There is an alternate constructor that allows a specific + version of conventions to be specified. + + + + + Initializes a new instance of the class that will use + a specific set of conventions to discover the initial model. + + The version of conventions to be used. + + + + Excludes a type from the model. This is used to remove types from the model that were added + by convention during initial model discovery. + + The type to be excluded. + The same DbModelBuilder instance so that multiple calls can be chained. + + + + Excludes a type(s) from the model. This is used to remove types from the model that were added + by convention during initial model discovery. + + The types to be excluded from the model. + The same DbModelBuilder instance so that multiple calls can be chained. + + + + Registers an entity type as part of the model and returns an object that can be used to + configure the entity. This method can be called multiple times for the same entity to + perform multiple lines of configuration. + + The type to be registered or configured. + The configuration object for the specified entity type. + + + + Registers a type as an entity in the model and returns an object that can be used to + configure the entity. This method can be called multiple times for the same type to + perform multiple lines of configuration. + + The type to be registered or configured. + The configuration object for the specified entity type. + + + + Registers a type as a complex type in the model and returns an object that can be used to + configure the complex type. This method can be called multiple times for the same type to + perform multiple lines of configuration. + + The type to be registered or configured. + The configuration object for the specified complex type. + + + + Creates a based on the configuration performed using this builder. + The connection is used to determine the database provider being used as this + affects the database layer of the generated model. + + Connection to use to determine provider information. + The model that was built. + + + + Creates a based on the configuration performed using this builder. + Provider information must be specified because this affects the database layer of the generated model. + For SqlClient the invariant name is 'System.Data.SqlClient' and the manifest token is the version year (i.e. '2005', '2008' etc.) + + The database provider that the model will be used with. + The model that was built. + + + + Provides access to the settings of this DbModelBuilder that deal with conventions. + + + + + Gets the for this DbModelBuilder. + The registrar allows derived entity and complex type configurations to be registered with this builder. + + + + + Convention to enable cascade delete for any required relationships. + + + + + Convention to discover foreign key properties whose names match the principal type primary key property name(s). + + + + + Convention to configure integer primary keys to be identity. + + + + + Convention to discover foreign key properties whose names are a combination + of the principal type name and the principal type primary key property name(s). + + + + + Attempt to determine the principal and dependent ends of this association. + + The following table illustrates the solution space. + + Source | Target || Prin | Dep | + -------|--------||-------|-------| + 1 | 1 || - | - | + 1 | 0..1 || Sr | Ta | + 1 | * || Sr | Ta | + 0..1 | 1 || Ta | Sr | + 0..1 | 0..1 || - | - | + 0..1 | * || Sr | Ta | + * | 1 || Ta | Sr | + * | 0..1 || Ta | Sr | + * | * || - | - | + + + + + Configures an required relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be required:many with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:optional with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:optional without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required with a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required without a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required with a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required without a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + A configuration object that can be used to further configure the relationship. + + + + Code Contracts hook methods - Called when contracts fail. Here we detect the most common preconditions + so we can throw the correct exceptions. It also means that we can write preconditions using the + simplest Contract.Requires() form. + + + + + Returns true if a variable of this type can be assigned a null value + + + + True if a reference type or a nullable value type, + false otherwise + + + + + Exception thrown from when validating entities fails. + + + + + Initializes a new instance of DbEntityValidationException + + + + + Initializes a new instance of DbEntityValidationException + + The exception message. + + + + Initializes a new instance of DbEntityValidationException + + The exception message. + Validation results. + + + + Initializes a new instance of DbEntityValidationException + + The exception message. + The inner exception. + + + + Initializes a new instance of DbEntityValidationException + + The exception message. + Validation results. + The inner exception. + + + + Subscribes the SerializeObjectState event. + + + + + Validation results. + + + + + Holds exception state that will be serialized when the exception is serialized. + + + + + Validation results. + + + + + Completes the deserialization. + + The deserialized object. + + + + Validation results. + + + + + Represents validation results for single entity. + + + + + Entity entry the results applies to. Never null. + + + + + List of instances. Never null. Can be empty meaning the entity is valid. + + + + + Creates an instance of class. + + + Entity entry the results applies to. Never null. + + + List of instances. Never null. Can be empty meaning the entity is valid. + + + + + Creates an instance of class. + + + Entity entry the results applies to. Never null. + + + List of instances. Never null. Can be empty meaning the entity is valid. + + + + + Gets an instance of the results applies to. + + + + + Gets validation errors. Never null. + + + + + Gets an indicator if the entity is valid. + + + + + Validation error. Can be either entity or property level validation error. + + + + + Name of the invalid property. Can be null (e.g. for entity level validations) + + + + + Validation error message. + + + + + Creates an instance of . + + Name of the invalid property. Can be null. + Validation error message. Can be null. + + + + Gets name of the invalid property. + + + + + Gets validation error message. + + + + + Denotes a property used as a foreign key in a relationship. + The annotation may be placed on the foreign key property and specify the associated navigation property name, + or placed on a navigation property and specify the associated foreign key name. + + + + + Initializes a new instance of the class. + + + If placed on a foreign key property, the name of the associated navigation property. + If placed on a navigation property, the name of the associated foreign key(s). + If a navigation property has multiple foreign keys, a comma separated list should be supplied. + + + + + If placed on a foreign key property, the name of the associated navigation property. + If placed on a navigation property, the name of the associated foreign key(s). + + + + + Specifies the inverse of a navigation property that represents the other end of the same relationship. + + + + + Initializes a new instance of the class. + + The navigation property representing the other end of the same relationship. + + + + The navigation property representing the other end of the same relationship. + + + + + Specifies the database column that a property is mapped to. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the column the property is mapped to. + + + + The name of the column the property is mapped to. + + + + + The zero-based order of the column the property is mapped to. + + + + + The database provider specific data type of the column the property is mapped to. + + + + + Specifies the maximum length of array/string data allowed in a property. + + + + + Initializes a new instance of the class. + + + The maximum allowable length of array/string data. + Value must be greater than zero. + + + + + Initializes a new instance of the class. + The maximum allowable length supported by the database will be used. + + + + + Determines whether a specified object is valid. (Overrides ) + + + This method returns true if the is null. + It is assumed the is used if the value may not be null. + + The object to validate. + true if the value is null or less than or equal to the specified maximum length, otherwise false + Length is zero or less than negative one. + + + + Applies formatting to a specified error message. (Overrides ) + + The name to include in the formatted string. + A localized string to describe the maximum acceptable length. + + + + Checks that Length has a legal value. Throws InvalidOperationException if not. + + + + + Gets the maximum allowable length of the array/string data. + + + + + Specifies the minimum length of array/string data allowed in a property. + + + + + Initializes a new instance of the class. + + + The minimum allowable length of array/string data. + Value must be greater than or equal to zero. + + + + + Determines whether a specified object is valid. (Overrides ) + + + This method returns true if the is null. + It is assumed the is used if the value may not be null. + + The object to validate. + true if the value is null or greater than or equal to the specified minimum length, otherwise false + Length is less than zero. + + + + Applies formatting to a specified error message. (Overrides ) + + The name to include in the formatted string. + A localized string to describe the minimum acceptable length. + + + + Checks that Length has a legal value. Throws InvalidOperationException if not. + + + + + Gets the minimum allowable length of the array/string data. + + + + + Specifies how the database generates values for a property. + + + + + Initializes a new instance of the class. + + The pattern used to generate values for the property in the database. + + + + The pattern used to generate values for the property in the database. + + + + + The pattern used to generate values for a property in the database. + + + + + The database does not generate values. + + + + + The database generates a value when a row is inserted. + + + + + The database generates a value when a row is inserted or updated. + + + + + Denotes that a property or class should be excluded from database mapping. + + + + + Denotes that the class is a complex type. + Complex types are non-scalar properties of entity types that enable scalar properties to be organized within entities. + Complex types do not have keys and cannot be managed by the Entity Framework apart from the parent object. + + + + + Specifies the database table that a class is mapped to. + + + + + Initializes a new instance of the class. + + The name of the table the class is mapped to. + + + + The name of the table the class is mapped to. + + + + + The schema of the table the class is mapped to. + + + + + Constructs a new sys description. + + + description text. + + + + + Retrieves the description text. + + + description + + + + + AutoGenerated resource class. Usage: + + string s = ResourceProvider.GetString(ResourceProvider.MyIdenfitier); + + + + + Constructs a new sys description. + + + description text. + + + + + Retrieves the description text. + + + description + + + + + AutoGenerated resource class. Usage: + + string s = ResourceProvider.GetString(ResourceProvider.MyIdenfitier); + + + + + Constructs a new sys description. + + + description text. + + + + + Retrieves the description text. + + + description + + + + + AutoGenerated resource class. Usage: + + string s = ResourceProvider.GetString(ResourceProvider.MyIdenfitier); + + + + + Constructs a new sys description. + + + description text. + + + + + Retrieves the description text. + + + description + + + + + AutoGenerated resource class. Usage: + + string s = EntityRes.GetString(EntityRes.MyIdenfitier); + + + + diff --git a/CharityPortal/packages/Modernizr.1.7/Content/Scripts/modernizr-1.7.js b/CharityPortal/packages/Modernizr.1.7/Content/Scripts/modernizr-1.7.js new file mode 100644 index 0000000..7bc212a --- /dev/null +++ b/CharityPortal/packages/Modernizr.1.7/Content/Scripts/modernizr-1.7.js @@ -0,0 +1,969 @@ +/*! +* Note: While Microsoft is not the author of this file, Microsoft is +* offering you a license subject to the terms of the Microsoft Software +* License Terms for Microsoft ASP.NET Model View Controller 3. +* Microsoft reserves all other rights. The notices below are provided +* for informational purposes only and are not the license terms under +* which Microsoft distributed this file. +* +* Modernizr v1.7 +* http://www.modernizr.com +* +* Developed by: +* - Faruk Ates http://farukat.es/ +* - Paul Irish http://paulirish.com/ +* +* Copyright (c) 2009-2011 +*/ + + +/* + * Modernizr is a script that detects native CSS3 and HTML5 features + * available in the current UA and provides an object containing all + * features with a true/false value, depending on whether the UA has + * native support for it or not. + * + * Modernizr will also add classes to the element of the page, + * one for each feature it detects. If the UA supports it, a class + * like "cssgradients" will be added. If not, the class name will be + * "no-cssgradients". This allows for simple if-conditionals in your + * CSS, giving you fine control over the look & feel of your website. + * + * @author Faruk Ates + * @author Paul Irish + * @copyright (c) 2009-2011 Faruk Ates. + * @contributor Ben Alman + */ + +window.Modernizr = (function(window,document,undefined){ + + var version = '1.7', + + ret = {}, + + /** + * !! DEPRECATED !! + * + * enableHTML5 is a private property for advanced use only. If enabled, + * it will make Modernizr.init() run through a brief while() loop in + * which it will create all HTML5 elements in the DOM to allow for + * styling them in Internet Explorer, which does not recognize any + * non-HTML4 elements unless created in the DOM this way. + * + * enableHTML5 is ON by default. + * + * The enableHTML5 toggle option is DEPRECATED as per 1.6, and will be + * replaced in 2.0 in lieu of the modular, configurable nature of 2.0. + */ + enableHTML5 = true, + + + docElement = document.documentElement, + docHead = document.head || document.getElementsByTagName('head')[0], + + /** + * Create our "modernizr" element that we do most feature tests on. + */ + mod = 'modernizr', + modElem = document.createElement( mod ), + m_style = modElem.style, + + /** + * Create the input element for various Web Forms feature tests. + */ + inputElem = document.createElement( 'input' ), + + smile = ':)', + + tostring = Object.prototype.toString, + + // List of property values to set for css tests. See ticket #21 + prefixes = ' -webkit- -moz- -o- -ms- -khtml- '.split(' '), + + // Following spec is to expose vendor-specific style properties as: + // elem.style.WebkitBorderRadius + // and the following would be incorrect: + // elem.style.webkitBorderRadius + + // Webkit ghosts their properties in lowercase but Opera & Moz do not. + // Microsoft foregoes prefixes entirely <= IE8, but appears to + // use a lowercase `ms` instead of the correct `Ms` in IE9 + + // More here: http://github.com/Modernizr/Modernizr/issues/issue/21 + domPrefixes = 'Webkit Moz O ms Khtml'.split(' '), + + ns = {'svg': 'http://www.w3.org/2000/svg'}, + + tests = {}, + inputs = {}, + attrs = {}, + + classes = [], + + featurename, // used in testing loop + + + + // todo: consider using http://javascript.nwbox.com/CSSSupport/css-support.js instead + testMediaQuery = function(mq){ + + var st = document.createElement('style'), + div = document.createElement('div'), + ret; + + st.textContent = mq + '{#modernizr{height:3px}}'; + docHead.appendChild(st); + div.id = 'modernizr'; + docElement.appendChild(div); + + ret = div.offsetHeight === 3; + + st.parentNode.removeChild(st); + div.parentNode.removeChild(div); + + return !!ret; + + }, + + + /** + * isEventSupported determines if a given element supports the given event + * function from http://yura.thinkweb2.com/isEventSupported/ + */ + isEventSupported = (function(){ + + var TAGNAMES = { + 'select':'input','change':'input', + 'submit':'form','reset':'form', + 'error':'img','load':'img','abort':'img' + }; + + function isEventSupported(eventName, element) { + + element = element || document.createElement(TAGNAMES[eventName] || 'div'); + eventName = 'on' + eventName; + + // When using `setAttribute`, IE skips "unload", WebKit skips "unload" and "resize", whereas `in` "catches" those + var isSupported = (eventName in element); + + if (!isSupported) { + // If it has no `setAttribute` (i.e. doesn't implement Node interface), try generic element + if (!element.setAttribute) { + element = document.createElement('div'); + } + if (element.setAttribute && element.removeAttribute) { + element.setAttribute(eventName, ''); + isSupported = is(element[eventName], 'function'); + + // If property was created, "remove it" (by setting value to `undefined`) + if (!is(element[eventName], undefined)) { + element[eventName] = undefined; + } + element.removeAttribute(eventName); + } + } + + element = null; + return isSupported; + } + return isEventSupported; + })(); + + + // hasOwnProperty shim by kangax needed for Safari 2.0 support + var _hasOwnProperty = ({}).hasOwnProperty, hasOwnProperty; + if (!is(_hasOwnProperty, undefined) && !is(_hasOwnProperty.call, undefined)) { + hasOwnProperty = function (object, property) { + return _hasOwnProperty.call(object, property); + }; + } + else { + hasOwnProperty = function (object, property) { /* yes, this can give false positives/negatives, but most of the time we don't care about those */ + return ((property in object) && is(object.constructor.prototype[property], undefined)); + }; + } + + /** + * set_css applies given styles to the Modernizr DOM node. + */ + function set_css( str ) { + m_style.cssText = str; + } + + /** + * set_css_all extrapolates all vendor-specific css strings. + */ + function set_css_all( str1, str2 ) { + return set_css(prefixes.join(str1 + ';') + ( str2 || '' )); + } + + /** + * is returns a boolean for if typeof obj is exactly type. + */ + function is( obj, type ) { + return typeof obj === type; + } + + /** + * contains returns a boolean for if substr is found within str. + */ + function contains( str, substr ) { + return (''+str).indexOf( substr ) !== -1; + } + + /** + * test_props is a generic CSS / DOM property test; if a browser supports + * a certain property, it won't return undefined for it. + * A supported CSS property returns empty string when its not yet set. + */ + function test_props( props, callback ) { + for ( var i in props ) { + if ( m_style[ props[i] ] !== undefined && ( !callback || callback( props[i], modElem ) ) ) { + return true; + } + } + } + + /** + * test_props_all tests a list of DOM properties we want to check against. + * We specify literally ALL possible (known and/or likely) properties on + * the element including the non-vendor prefixed one, for forward- + * compatibility. + */ + function test_props_all( prop, callback ) { + + var uc_prop = prop.charAt(0).toUpperCase() + prop.substr(1), + props = (prop + ' ' + domPrefixes.join(uc_prop + ' ') + uc_prop).split(' '); + + return !!test_props( props, callback ); + } + + + /** + * Tests + * ----- + */ + + tests['flexbox'] = function() { + /** + * set_prefixed_value_css sets the property of a specified element + * adding vendor prefixes to the VALUE of the property. + * @param {Element} element + * @param {string} property The property name. This will not be prefixed. + * @param {string} value The value of the property. This WILL be prefixed. + * @param {string=} extra Additional CSS to append unmodified to the end of + * the CSS string. + */ + function set_prefixed_value_css(element, property, value, extra) { + property += ':'; + element.style.cssText = (property + prefixes.join(value + ';' + property)).slice(0, -property.length) + (extra || ''); + } + + /** + * set_prefixed_property_css sets the property of a specified element + * adding vendor prefixes to the NAME of the property. + * @param {Element} element + * @param {string} property The property name. This WILL be prefixed. + * @param {string} value The value of the property. This will not be prefixed. + * @param {string=} extra Additional CSS to append unmodified to the end of + * the CSS string. + */ + function set_prefixed_property_css(element, property, value, extra) { + element.style.cssText = prefixes.join(property + ':' + value + ';') + (extra || ''); + } + + var c = document.createElement('div'), + elem = document.createElement('div'); + + set_prefixed_value_css(c, 'display', 'box', 'width:42px;padding:0;'); + set_prefixed_property_css(elem, 'box-flex', '1', 'width:10px;'); + + c.appendChild(elem); + docElement.appendChild(c); + + var ret = elem.offsetWidth === 42; + + c.removeChild(elem); + docElement.removeChild(c); + + return ret; + }; + + // On the S60 and BB Storm, getContext exists, but always returns undefined + // http://github.com/Modernizr/Modernizr/issues/issue/97/ + + tests['canvas'] = function() { + var elem = document.createElement( 'canvas' ); + return !!(elem.getContext && elem.getContext('2d')); + }; + + tests['canvastext'] = function() { + return !!(ret['canvas'] && is(document.createElement( 'canvas' ).getContext('2d').fillText, 'function')); + }; + + // This WebGL test false positives in FF depending on graphics hardware. But really it's quite impossible to know + // wether webgl will succeed until after you create the context. You might have hardware that can support + // a 100x100 webgl canvas, but will not support a 1000x1000 webgl canvas. So this feature inference is weak, + // but intentionally so. + tests['webgl'] = function(){ + return !!window.WebGLRenderingContext; + }; + + /* + * The Modernizr.touch test only indicates if the browser supports + * touch events, which does not necessarily reflect a touchscreen + * device, as evidenced by tablets running Windows 7 or, alas, + * the Palm Pre / WebOS (touch) phones. + * + * Additionally, Chrome (desktop) used to lie about its support on this, + * but that has since been rectified: http://crbug.com/36415 + * + * We also test for Firefox 4 Multitouch Support. + * + * For more info, see: http://modernizr.github.com/Modernizr/touch.html + */ + + tests['touch'] = function() { + + return ('ontouchstart' in window) || testMediaQuery('@media ('+prefixes.join('touch-enabled),(')+'modernizr)'); + + }; + + + /** + * geolocation tests for the new Geolocation API specification. + * This test is a standards compliant-only test; for more complete + * testing, including a Google Gears fallback, please see: + * http://code.google.com/p/geo-location-javascript/ + * or view a fallback solution using google's geo API: + * http://gist.github.com/366184 + */ + tests['geolocation'] = function() { + return !!navigator.geolocation; + }; + + // Per 1.6: + // This used to be Modernizr.crosswindowmessaging but the longer + // name has been deprecated in favor of a shorter and property-matching one. + // The old API is still available in 1.6, but as of 2.0 will throw a warning, + // and in the first release thereafter disappear entirely. + tests['postmessage'] = function() { + return !!window.postMessage; + }; + + // Web SQL database detection is tricky: + + // In chrome incognito mode, openDatabase is truthy, but using it will + // throw an exception: http://crbug.com/42380 + // We can create a dummy database, but there is no way to delete it afterwards. + + // Meanwhile, Safari users can get prompted on any database creation. + // If they do, any page with Modernizr will give them a prompt: + // http://github.com/Modernizr/Modernizr/issues/closed#issue/113 + + // We have chosen to allow the Chrome incognito false positive, so that Modernizr + // doesn't litter the web with these test databases. As a developer, you'll have + // to account for this gotcha yourself. + tests['websqldatabase'] = function() { + var result = !!window.openDatabase; + /* if (result){ + try { + result = !!openDatabase( mod + "testdb", "1.0", mod + "testdb", 2e4); + } catch(e) { + } + } */ + return result; + }; + + // Vendors have inconsistent prefixing with the experimental Indexed DB: + // - Firefox is shipping indexedDB in FF4 as moz_indexedDB + // - Webkit's implementation is accessible through webkitIndexedDB + // We test both styles. + tests['indexedDB'] = function(){ + for (var i = -1, len = domPrefixes.length; ++i < len; ){ + var prefix = domPrefixes[i].toLowerCase(); + if (window[prefix + '_indexedDB'] || window[prefix + 'IndexedDB']){ + return true; + } + } + return false; + }; + + // documentMode logic from YUI to filter out IE8 Compat Mode + // which false positives. + tests['hashchange'] = function() { + return isEventSupported('hashchange', window) && ( document.documentMode === undefined || document.documentMode > 7 ); + }; + + // Per 1.6: + // This used to be Modernizr.historymanagement but the longer + // name has been deprecated in favor of a shorter and property-matching one. + // The old API is still available in 1.6, but as of 2.0 will throw a warning, + // and in the first release thereafter disappear entirely. + tests['history'] = function() { + return !!(window.history && history.pushState); + }; + + tests['draganddrop'] = function() { + return isEventSupported('dragstart') && isEventSupported('drop'); + }; + + tests['websockets'] = function(){ + return ('WebSocket' in window); + }; + + + // http://css-tricks.com/rgba-browser-support/ + tests['rgba'] = function() { + // Set an rgba() color and check the returned value + + set_css( 'background-color:rgba(150,255,150,.5)' ); + + return contains( m_style.backgroundColor, 'rgba' ); + }; + + tests['hsla'] = function() { + // Same as rgba(), in fact, browsers re-map hsla() to rgba() internally, + // except IE9 who retains it as hsla + + set_css('background-color:hsla(120,40%,100%,.5)' ); + + return contains( m_style.backgroundColor, 'rgba' ) || contains( m_style.backgroundColor, 'hsla' ); + }; + + tests['multiplebgs'] = function() { + // Setting multiple images AND a color on the background shorthand property + // and then querying the style.background property value for the number of + // occurrences of "url(" is a reliable method for detecting ACTUAL support for this! + + set_css( 'background:url(//:),url(//:),red url(//:)' ); + + // If the UA supports multiple backgrounds, there should be three occurrences + // of the string "url(" in the return value for elem_style.background + + return new RegExp("(url\\s*\\(.*?){3}").test(m_style.background); + }; + + + // In testing support for a given CSS property, it's legit to test: + // `elem.style[styleName] !== undefined` + // If the property is supported it will return an empty string, + // if unsupported it will return undefined. + + // We'll take advantage of this quick test and skip setting a style + // on our modernizr element, but instead just testing undefined vs + // empty string. + + + tests['backgroundsize'] = function() { + return test_props_all( 'backgroundSize' ); + }; + + tests['borderimage'] = function() { + return test_props_all( 'borderImage' ); + }; + + + // Super comprehensive table about all the unique implementations of + // border-radius: http://muddledramblings.com/table-of-css3-border-radius-compliance + + tests['borderradius'] = function() { + return test_props_all( 'borderRadius', '', function( prop ) { + return contains( prop, 'orderRadius' ); + }); + }; + + // WebOS unfortunately false positives on this test. + tests['boxshadow'] = function() { + return test_props_all( 'boxShadow' ); + }; + + // FF3.0 will false positive on this test + tests['textshadow'] = function(){ + return document.createElement('div').style.textShadow === ''; + }; + + + tests['opacity'] = function() { + // Browsers that actually have CSS Opacity implemented have done so + // according to spec, which means their return values are within the + // range of [0.0,1.0] - including the leading zero. + + set_css_all( 'opacity:.55' ); + + // The non-literal . in this regex is intentional: + // German Chrome returns this value as 0,55 + // https://github.com/Modernizr/Modernizr/issues/#issue/59/comment/516632 + return /^0.55$/.test(m_style.opacity); + }; + + + tests['cssanimations'] = function() { + return test_props_all( 'animationName' ); + }; + + + tests['csscolumns'] = function() { + return test_props_all( 'columnCount' ); + }; + + + tests['cssgradients'] = function() { + /** + * For CSS Gradients syntax, please see: + * http://webkit.org/blog/175/introducing-css-gradients/ + * https://developer.mozilla.org/en/CSS/-moz-linear-gradient + * https://developer.mozilla.org/en/CSS/-moz-radial-gradient + * http://dev.w3.org/csswg/css3-images/#gradients- + */ + + var str1 = 'background-image:', + str2 = 'gradient(linear,left top,right bottom,from(#9f9),to(white));', + str3 = 'linear-gradient(left top,#9f9, white);'; + + set_css( + (str1 + prefixes.join(str2 + str1) + prefixes.join(str3 + str1)).slice(0,-str1.length) + ); + + return contains( m_style.backgroundImage, 'gradient' ); + }; + + + tests['cssreflections'] = function() { + return test_props_all( 'boxReflect' ); + }; + + + tests['csstransforms'] = function() { + return !!test_props([ 'transformProperty', 'WebkitTransform', 'MozTransform', 'OTransform', 'msTransform' ]); + }; + + + tests['csstransforms3d'] = function() { + + var ret = !!test_props([ 'perspectiveProperty', 'WebkitPerspective', 'MozPerspective', 'OPerspective', 'msPerspective' ]); + + // Webkit’s 3D transforms are passed off to the browser's own graphics renderer. + // It works fine in Safari on Leopard and Snow Leopard, but not in Chrome in + // some conditions. As a result, Webkit typically recognizes the syntax but + // will sometimes throw a false positive, thus we must do a more thorough check: + if (ret && 'webkitPerspective' in docElement.style){ + + // Webkit allows this media query to succeed only if the feature is enabled. + // `@media (transform-3d),(-o-transform-3d),(-moz-transform-3d),(-ms-transform-3d),(-webkit-transform-3d),(modernizr){ ... }` + ret = testMediaQuery('@media ('+prefixes.join('transform-3d),(')+'modernizr)'); + } + return ret; + }; + + + tests['csstransitions'] = function() { + return test_props_all( 'transitionProperty' ); + }; + + + // @font-face detection routine by Diego Perini + // http://javascript.nwbox.com/CSSSupport/ + tests['fontface'] = function(){ + + var + sheet, bool, + head = docHead || docElement, + style = document.createElement("style"), + impl = document.implementation || { hasFeature: function() { return false; } }; + + style.type = 'text/css'; + head.insertBefore(style, head.firstChild); + sheet = style.sheet || style.styleSheet; + + var supportAtRule = impl.hasFeature('CSS2', '') ? + function(rule) { + if (!(sheet && rule)) return false; + var result = false; + try { + sheet.insertRule(rule, 0); + result = (/src/i).test(sheet.cssRules[0].cssText); + sheet.deleteRule(sheet.cssRules.length - 1); + } catch(e) { } + return result; + } : + function(rule) { + if (!(sheet && rule)) return false; + sheet.cssText = rule; + + return sheet.cssText.length !== 0 && (/src/i).test(sheet.cssText) && + sheet.cssText + .replace(/\r+|\n+/g, '') + .indexOf(rule.split(' ')[0]) === 0; + }; + + bool = supportAtRule('@font-face { font-family: "font"; src: url(data:,); }'); + head.removeChild(style); + return bool; + }; + + + // These tests evaluate support of the video/audio elements, as well as + // testing what types of content they support. + // + // We're using the Boolean constructor here, so that we can extend the value + // e.g. Modernizr.video // true + // Modernizr.video.ogg // 'probably' + // + // Codec values from : http://github.com/NielsLeenheer/html5test/blob/9106a8/index.html#L845 + // thx to NielsLeenheer and zcorpan + + // Note: in FF 3.5.1 and 3.5.0, "no" was a return value instead of empty string. + // Modernizr does not normalize for that. + + tests['video'] = function() { + var elem = document.createElement('video'), + bool = !!elem.canPlayType; + + if (bool){ + bool = new Boolean(bool); + bool.ogg = elem.canPlayType('video/ogg; codecs="theora"'); + + // Workaround required for IE9, which doesn't report video support without audio codec specified. + // bug 599718 @ msft connect + var h264 = 'video/mp4; codecs="avc1.42E01E'; + bool.h264 = elem.canPlayType(h264 + '"') || elem.canPlayType(h264 + ', mp4a.40.2"'); + + bool.webm = elem.canPlayType('video/webm; codecs="vp8, vorbis"'); + } + return bool; + }; + + tests['audio'] = function() { + var elem = document.createElement('audio'), + bool = !!elem.canPlayType; + + if (bool){ + bool = new Boolean(bool); + bool.ogg = elem.canPlayType('audio/ogg; codecs="vorbis"'); + bool.mp3 = elem.canPlayType('audio/mpeg;'); + + // Mimetypes accepted: + // https://developer.mozilla.org/En/Media_formats_supported_by_the_audio_and_video_elements + // http://bit.ly/iphoneoscodecs + bool.wav = elem.canPlayType('audio/wav; codecs="1"'); + bool.m4a = elem.canPlayType('audio/x-m4a;') || elem.canPlayType('audio/aac;'); + } + return bool; + }; + + + // Firefox has made these tests rather unfun. + + // In FF4, if disabled, window.localStorage should === null. + + // Normally, we could not test that directly and need to do a + // `('localStorage' in window) && ` test first because otherwise Firefox will + // throw http://bugzil.la/365772 if cookies are disabled + + // However, in Firefox 4 betas, if dom.storage.enabled == false, just mentioning + // the property will throw an exception. http://bugzil.la/599479 + // This looks to be fixed for FF4 Final. + + // Because we are forced to try/catch this, we'll go aggressive. + + // FWIW: IE8 Compat mode supports these features completely: + // http://www.quirksmode.org/dom/html5.html + // But IE8 doesn't support either with local files + + tests['localstorage'] = function() { + try { + return !!localStorage.getItem; + } catch(e) { + return false; + } + }; + + tests['sessionstorage'] = function() { + try { + return !!sessionStorage.getItem; + } catch(e){ + return false; + } + }; + + + tests['webWorkers'] = function () { + return !!window.Worker; + }; + + + tests['applicationcache'] = function() { + return !!window.applicationCache; + }; + + + // Thanks to Erik Dahlstrom + tests['svg'] = function(){ + return !!document.createElementNS && !!document.createElementNS(ns.svg, "svg").createSVGRect; + }; + + tests['inlinesvg'] = function() { + var div = document.createElement('div'); + div.innerHTML = ''; + return (div.firstChild && div.firstChild.namespaceURI) == ns.svg; + }; + + // Thanks to F1lt3r and lucideer + // http://github.com/Modernizr/Modernizr/issues#issue/35 + tests['smil'] = function(){ + return !!document.createElementNS && /SVG/.test(tostring.call(document.createElementNS(ns.svg,'animate'))); + }; + + tests['svgclippaths'] = function(){ + // Possibly returns a false positive in Safari 3.2? + return !!document.createElementNS && /SVG/.test(tostring.call(document.createElementNS(ns.svg,'clipPath'))); + }; + + + // input features and input types go directly onto the ret object, bypassing the tests loop. + // Hold this guy to execute in a moment. + function webforms(){ + + // Run through HTML5's new input attributes to see if the UA understands any. + // We're using f which is the element created early on + // Mike Taylr has created a comprehensive resource for testing these attributes + // when applied to all input types: + // http://miketaylr.com/code/input-type-attr.html + // spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary + ret['input'] = (function(props) { + for (var i = 0, len = props.length; i>BEGIN IEPP + // Enable HTML 5 elements for styling in IE. + // fyi: jscript version does not reflect trident version + // therefore ie9 in ie7 mode will still have a jScript v.9 + if ( enableHTML5 && window.attachEvent && (function(){ var elem = document.createElement("div"); + elem.innerHTML = ""; + return elem.childNodes.length !== 1; })()) { + // iepp v1.6.2 by @jon_neal : code.google.com/p/ie-print-protector + (function(win, doc) { + var elems = 'abbr|article|aside|audio|canvas|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video', + elemsArr = elems.split('|'), + elemsArrLen = elemsArr.length, + elemRegExp = new RegExp('(^|\\s)('+elems+')', 'gi'), + tagRegExp = new RegExp('<(\/*)('+elems+')', 'gi'), + ruleRegExp = new RegExp('(^|[^\\n]*?\\s)('+elems+')([^\\n]*)({[\\n\\w\\W]*?})', 'gi'), + docFrag = doc.createDocumentFragment(), + html = doc.documentElement, + head = html.firstChild, + bodyElem = doc.createElement('body'), + styleElem = doc.createElement('style'), + body; + function shim(doc) { + var a = -1; + while (++a < elemsArrLen) + // Use createElement so IE allows HTML5-named elements in a document + doc.createElement(elemsArr[a]); + } + function getCSS(styleSheetList, mediaType) { + var a = -1, + len = styleSheetList.length, + styleSheet, + cssTextArr = []; + while (++a < len) { + styleSheet = styleSheetList[a]; + // Get css from all non-screen stylesheets and their imports + if ((mediaType = styleSheet.media || mediaType) != 'screen') cssTextArr.push(getCSS(styleSheet.imports, mediaType), styleSheet.cssText); + } + return cssTextArr.join(''); + } + // Shim the document and iepp fragment + shim(doc); + shim(docFrag); + // Add iepp custom print style element + head.insertBefore(styleElem, head.firstChild); + styleElem.media = 'print'; + win.attachEvent( + 'onbeforeprint', + function() { + var a = -1, + cssText = getCSS(doc.styleSheets, 'all'), + cssTextArr = [], + rule; + body = body || doc.body; + // Get only rules which reference HTML5 elements by name + while ((rule = ruleRegExp.exec(cssText)) != null) + // Replace all html5 element references with iepp substitute classnames + cssTextArr.push((rule[1]+rule[2]+rule[3]).replace(elemRegExp, '$1.iepp_$2')+rule[4]); + // Write iepp custom print CSS + styleElem.styleSheet.cssText = cssTextArr.join('\n'); + while (++a < elemsArrLen) { + var nodeList = doc.getElementsByTagName(elemsArr[a]), + nodeListLen = nodeList.length, + b = -1; + while (++b < nodeListLen) + if (nodeList[b].className.indexOf('iepp_') < 0) + // Append iepp substitute classnames to all html5 elements + nodeList[b].className += ' iepp_'+elemsArr[a]; + } + docFrag.appendChild(body); + html.appendChild(bodyElem); + // Write iepp substitute print-safe document + bodyElem.className = body.className; + // Replace HTML5 elements with which is print-safe and shouldn't conflict since it isn't part of html5 + bodyElem.innerHTML = body.innerHTML.replace(tagRegExp, '<$1font'); + } + ); + win.attachEvent( + 'onafterprint', + function() { + // Undo everything done in onbeforeprint + bodyElem.innerHTML = ''; + html.removeChild(bodyElem); + html.appendChild(body); + styleElem.styleSheet.cssText = ''; + } + ); + })(window, document); + } + //>>END IEPP + + // Assign private properties to the return object with prefix + ret._enableHTML5 = enableHTML5; + ret._version = version; + + // Remove "no-js" class from element, if it exists: + docElement.className = docElement.className.replace(/\bno-js\b/,'') + + ' js ' + + // Add the new classes to the element. + + classes.join( ' ' ); + + return ret; + +})(this,this.document); \ No newline at end of file diff --git a/CharityPortal/packages/Modernizr.1.7/Content/Scripts/modernizr-1.7.min.js b/CharityPortal/packages/Modernizr.1.7/Content/Scripts/modernizr-1.7.min.js new file mode 100644 index 0000000..4b4fcc1 --- /dev/null +++ b/CharityPortal/packages/Modernizr.1.7/Content/Scripts/modernizr-1.7.min.js @@ -0,0 +1,10 @@ +/*! +* Note: While Microsoft is not the author of this file, Microsoft is +* offering you a license subject to the terms of the Microsoft Software +* License Terms for Microsoft ASP.NET Model View Controller 3. +* Microsoft reserves all other rights. The notices below are provided +* for informational purposes only and are not the license terms under +* which Microsoft distributed this file. +*/ +// Modernizr v1.7 www.modernizr.com +window.Modernizr=function(a,b,c){function G(){e.input=function(a){for(var b=0,c=a.length;b7)},r.history=function(){return !!(a.history&&history.pushState)},r.draganddrop=function(){return x("dragstart")&&x("drop")},r.websockets=function(){return"WebSocket"in a},r.rgba=function(){A("background-color:rgba(150,255,150,.5)");return D(k.backgroundColor,"rgba")},r.hsla=function(){A("background-color:hsla(120,40%,100%,.5)");return D(k.backgroundColor,"rgba")||D(k.backgroundColor,"hsla")},r.multiplebgs=function(){A("background:url(//:),url(//:),red url(//:)");return(new RegExp("(url\\s*\\(.*?){3}")).test(k.background)},r.backgroundsize=function(){return F("backgroundSize")},r.borderimage=function(){return F("borderImage")},r.borderradius=function(){return F("borderRadius","",function(a){return D(a,"orderRadius")})},r.boxshadow=function(){return F("boxShadow")},r.textshadow=function(){return b.createElement("div").style.textShadow===""},r.opacity=function(){B("opacity:.55");return/^0.55$/.test(k.opacity)},r.cssanimations=function(){return F("animationName")},r.csscolumns=function(){return F("columnCount")},r.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";A((a+o.join(b+a)+o.join(c+a)).slice(0,-a.length));return D(k.backgroundImage,"gradient")},r.cssreflections=function(){return F("boxReflect")},r.csstransforms=function(){return!!E(["transformProperty","WebkitTransform","MozTransform","OTransform","msTransform"])},r.csstransforms3d=function(){var a=!!E(["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"]);a&&"webkitPerspective"in g.style&&(a=w("@media ("+o.join("transform-3d),(")+"modernizr)"));return a},r.csstransitions=function(){return F("transitionProperty")},r.fontface=function(){var a,c,d=h||g,e=b.createElement("style"),f=b.implementation||{hasFeature:function(){return!1}};e.type="text/css",d.insertBefore(e,d.firstChild),a=e.sheet||e.styleSheet;var i=f.hasFeature("CSS2","")?function(b){if(!a||!b)return!1;var c=!1;try{a.insertRule(b,0),c=/src/i.test(a.cssRules[0].cssText),a.deleteRule(a.cssRules.length-1)}catch(d){}return c}:function(b){if(!a||!b)return!1;a.cssText=b;return a.cssText.length!==0&&/src/i.test(a.cssText)&&a.cssText.replace(/\r+|\n+/g,"").indexOf(b.split(" ")[0])===0};c=i('@font-face { font-family: "font"; src: url(data:,); }'),d.removeChild(e);return c},r.video=function(){var a=b.createElement("video"),c=!!a.canPlayType;if(c){c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"');var d='video/mp4; codecs="avc1.42E01E';c.h264=a.canPlayType(d+'"')||a.canPlayType(d+', mp4a.40.2"'),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"')}return c},r.audio=function(){var a=b.createElement("audio"),c=!!a.canPlayType;c&&(c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"'),c.mp3=a.canPlayType("audio/mpeg;"),c.wav=a.canPlayType('audio/wav; codecs="1"'),c.m4a=a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;"));return c},r.localstorage=function(){try{return!!localStorage.getItem}catch(a){return!1}},r.sessionstorage=function(){try{return!!sessionStorage.getItem}catch(a){return!1}},r.webWorkers=function(){return!!a.Worker},r.applicationcache=function(){return!!a.applicationCache},r.svg=function(){return!!b.createElementNS&&!!b.createElementNS(q.svg,"svg").createSVGRect},r.inlinesvg=function(){var a=b.createElement("div");a.innerHTML="";return(a.firstChild&&a.firstChild.namespaceURI)==q.svg},r.smil=function(){return!!b.createElementNS&&/SVG/.test(n.call(b.createElementNS(q.svg,"animate")))},r.svgclippaths=function(){return!!b.createElementNS&&/SVG/.test(n.call(b.createElementNS(q.svg,"clipPath")))};for(var H in r)z(r,H)&&(v=H.toLowerCase(),e[v]=r[H](),u.push((e[v]?"":"no-")+v));e.input||G(),e.crosswindowmessaging=e.postmessage,e.historymanagement=e.history,e.addTest=function(a,b){a=a.toLowerCase();if(!e[a]){b=!!b(),g.className+=" "+(b?"":"no-")+a,e[a]=b;return e}},A(""),j=l=null,f&&a.attachEvent&&function(){var a=b.createElement("div");a.innerHTML="";return a.childNodes.length!==1}()&&function(a,b){function p(a,b){var c=-1,d=a.length,e,f=[]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
"; + jQuery.support.shrinkWrapBlocks = div.offsetWidth !== 2; + } + + div.innerHTML = "
t
"; + var tds = div.getElementsByTagName("td"); + + // Check if table cells still have offsetWidth/Height when they are set + // to display:none and there are still other visible table cells in a + // table row; if so, offsetWidth/Height are not reliable for use when + // determining if an element has been hidden directly using + // display:none (it is still safe to use offsets if a parent element is + // hidden; don safety goggles and see bug #4512 for more information). + // (only IE 8 fails this test) + jQuery.support.reliableHiddenOffsets = tds[0].offsetHeight === 0; + + tds[0].style.display = ""; + tds[1].style.display = "none"; + + // Check if empty table cells still have offsetWidth/Height + // (IE < 8 fail this test) + jQuery.support.reliableHiddenOffsets = jQuery.support.reliableHiddenOffsets && tds[0].offsetHeight === 0; + div.innerHTML = ""; + + body.removeChild( div ).style.display = "none"; + div = tds = null; + }); + + // Technique from Juriy Zaytsev + // http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/ + var eventSupported = function( eventName ) { + var el = document.createElement("div"); + eventName = "on" + eventName; + + // We only care about the case where non-standard event systems + // are used, namely in IE. Short-circuiting here helps us to + // avoid an eval call (in setAttribute) which can cause CSP + // to go haywire. See: https://developer.mozilla.org/en/Security/CSP + if ( !el.attachEvent ) { + return true; + } + + var isSupported = (eventName in el); + if ( !isSupported ) { + el.setAttribute(eventName, "return;"); + isSupported = typeof el[eventName] === "function"; + } + el = null; + + return isSupported; + }; + + jQuery.support.submitBubbles = eventSupported("submit"); + jQuery.support.changeBubbles = eventSupported("change"); + + // release memory in IE + div = all = a = null; +})(); + + + +var rbrace = /^(?:\{.*\}|\[.*\])$/; + +jQuery.extend({ + cache: {}, + + // Please use with caution + uuid: 0, + + // Unique for each copy of jQuery on the page + // Non-digits removed to match rinlinejQuery + expando: "jQuery" + ( jQuery.fn.jquery + Math.random() ).replace( /\D/g, "" ), + + // The following elements throw uncatchable exceptions if you + // attempt to add expando properties to them. + noData: { + "embed": true, + // Ban all objects except for Flash (which handle expandos) + "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", + "applet": true + }, + + hasData: function( elem ) { + elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; + + return !!elem && !isEmptyDataObject( elem ); + }, + + data: function( elem, name, data, pvt /* Internal Use Only */ ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var internalKey = jQuery.expando, getByName = typeof name === "string", thisCache, + + // We have to handle DOM nodes and JS objects differently because IE6-7 + // can't GC object references properly across the DOM-JS boundary + isNode = elem.nodeType, + + // Only DOM nodes need the global jQuery cache; JS object data is + // attached directly to the object so GC can occur automatically + cache = isNode ? jQuery.cache : elem, + + // Only defining an ID for JS objects if its cache already exists allows + // the code to shortcut on the same path as a DOM node with no cache + id = isNode ? elem[ jQuery.expando ] : elem[ jQuery.expando ] && jQuery.expando; + + // Avoid doing any more work than we need to when trying to get data on an + // object that has no data at all + if ( (!id || (pvt && id && !cache[ id ][ internalKey ])) && getByName && data === undefined ) { + return; + } + + if ( !id ) { + // Only DOM nodes need a new unique ID for each element since their data + // ends up in the global cache + if ( isNode ) { + elem[ jQuery.expando ] = id = ++jQuery.uuid; + } else { + id = jQuery.expando; + } + } + + if ( !cache[ id ] ) { + cache[ id ] = {}; + + // TODO: This is a hack for 1.5 ONLY. Avoids exposing jQuery + // metadata on plain JS objects when the object is serialized using + // JSON.stringify + if ( !isNode ) { + cache[ id ].toJSON = jQuery.noop; + } + } + + // An object can be passed to jQuery.data instead of a key/value pair; this gets + // shallow copied over onto the existing cache + if ( typeof name === "object" || typeof name === "function" ) { + if ( pvt ) { + cache[ id ][ internalKey ] = jQuery.extend(cache[ id ][ internalKey ], name); + } else { + cache[ id ] = jQuery.extend(cache[ id ], name); + } + } + + thisCache = cache[ id ]; + + // Internal jQuery data is stored in a separate object inside the object's data + // cache in order to avoid key collisions between internal data and user-defined + // data + if ( pvt ) { + if ( !thisCache[ internalKey ] ) { + thisCache[ internalKey ] = {}; + } + + thisCache = thisCache[ internalKey ]; + } + + if ( data !== undefined ) { + thisCache[ name ] = data; + } + + // TODO: This is a hack for 1.5 ONLY. It will be removed in 1.6. Users should + // not attempt to inspect the internal events object using jQuery.data, as this + // internal data object is undocumented and subject to change. + if ( name === "events" && !thisCache[name] ) { + return thisCache[ internalKey ] && thisCache[ internalKey ].events; + } + + return getByName ? thisCache[ name ] : thisCache; + }, + + removeData: function( elem, name, pvt /* Internal Use Only */ ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var internalKey = jQuery.expando, isNode = elem.nodeType, + + // See jQuery.data for more information + cache = isNode ? jQuery.cache : elem, + + // See jQuery.data for more information + id = isNode ? elem[ jQuery.expando ] : jQuery.expando; + + // If there is already no cache entry for this object, there is no + // purpose in continuing + if ( !cache[ id ] ) { + return; + } + + if ( name ) { + var thisCache = pvt ? cache[ id ][ internalKey ] : cache[ id ]; + + if ( thisCache ) { + delete thisCache[ name ]; + + // If there is no data left in the cache, we want to continue + // and let the cache object itself get destroyed + if ( !isEmptyDataObject(thisCache) ) { + return; + } + } + } + + // See jQuery.data for more information + if ( pvt ) { + delete cache[ id ][ internalKey ]; + + // Don't destroy the parent cache unless the internal data object + // had been the only thing left in it + if ( !isEmptyDataObject(cache[ id ]) ) { + return; + } + } + + var internalCache = cache[ id ][ internalKey ]; + + // Browsers that fail expando deletion also refuse to delete expandos on + // the window, but it will allow it on all other JS objects; other browsers + // don't care + if ( jQuery.support.deleteExpando || cache != window ) { + delete cache[ id ]; + } else { + cache[ id ] = null; + } + + // We destroyed the entire user cache at once because it's faster than + // iterating through each key, but we need to continue to persist internal + // data if it existed + if ( internalCache ) { + cache[ id ] = {}; + // TODO: This is a hack for 1.5 ONLY. Avoids exposing jQuery + // metadata on plain JS objects when the object is serialized using + // JSON.stringify + if ( !isNode ) { + cache[ id ].toJSON = jQuery.noop; + } + + cache[ id ][ internalKey ] = internalCache; + + // Otherwise, we need to eliminate the expando on the node to avoid + // false lookups in the cache for entries that no longer exist + } else if ( isNode ) { + // IE does not allow us to delete expando properties from nodes, + // nor does it have a removeAttribute function on Document nodes; + // we must handle all of these cases + if ( jQuery.support.deleteExpando ) { + delete elem[ jQuery.expando ]; + } else if ( elem.removeAttribute ) { + elem.removeAttribute( jQuery.expando ); + } else { + elem[ jQuery.expando ] = null; + } + } + }, + + // For internal use only. + _data: function( elem, name, data ) { + return jQuery.data( elem, name, data, true ); + }, + + // A method for determining if a DOM node can handle the data expando + acceptData: function( elem ) { + if ( elem.nodeName ) { + var match = jQuery.noData[ elem.nodeName.toLowerCase() ]; + + if ( match ) { + return !(match === true || elem.getAttribute("classid") !== match); + } + } + + return true; + } +}); + +jQuery.fn.extend({ + data: function( key, value ) { + var data = null; + + if ( typeof key === "undefined" ) { + if ( this.length ) { + data = jQuery.data( this[0] ); + + if ( this[0].nodeType === 1 ) { + var attr = this[0].attributes, name; + for ( var i = 0, l = attr.length; i < l; i++ ) { + name = attr[i].name; + + if ( name.indexOf( "data-" ) === 0 ) { + name = name.substr( 5 ); + dataAttr( this[0], name, data[ name ] ); + } + } + } + } + + return data; + + } else if ( typeof key === "object" ) { + return this.each(function() { + jQuery.data( this, key ); + }); + } + + var parts = key.split("."); + parts[1] = parts[1] ? "." + parts[1] : ""; + + if ( value === undefined ) { + data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]); + + // Try to fetch any internally stored data first + if ( data === undefined && this.length ) { + data = jQuery.data( this[0], key ); + data = dataAttr( this[0], key, data ); + } + + return data === undefined && parts[1] ? + this.data( parts[0] ) : + data; + + } else { + return this.each(function() { + var $this = jQuery( this ), + args = [ parts[0], value ]; + + $this.triggerHandler( "setData" + parts[1] + "!", args ); + jQuery.data( this, key, value ); + $this.triggerHandler( "changeData" + parts[1] + "!", args ); + }); + } + }, + + removeData: function( key ) { + return this.each(function() { + jQuery.removeData( this, key ); + }); + } +}); + +function dataAttr( elem, key, data ) { + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + data = elem.getAttribute( "data-" + key ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + !jQuery.isNaN( data ) ? parseFloat( data ) : + rbrace.test( data ) ? jQuery.parseJSON( data ) : + data; + } catch( e ) {} + + // Make sure we set the data so it isn't changed later + jQuery.data( elem, key, data ); + + } else { + data = undefined; + } + } + + return data; +} + +// TODO: This is a hack for 1.5 ONLY to allow objects with a single toJSON +// property to be considered empty objects; this property always exists in +// order to make sure JSON.stringify does not expose internal metadata +function isEmptyDataObject( obj ) { + for ( var name in obj ) { + if ( name !== "toJSON" ) { + return false; + } + } + + return true; +} + + + + +jQuery.extend({ + queue: function( elem, type, data ) { + if ( !elem ) { + return; + } + + type = (type || "fx") + "queue"; + var q = jQuery._data( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( !data ) { + return q || []; + } + + if ( !q || jQuery.isArray(data) ) { + q = jQuery._data( elem, type, jQuery.makeArray(data) ); + + } else { + q.push( data ); + } + + return q; + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + fn = queue.shift(); + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + } + + if ( fn ) { + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift("inprogress"); + } + + fn.call(elem, function() { + jQuery.dequeue(elem, type); + }); + } + + if ( !queue.length ) { + jQuery.removeData( elem, type + "queue", true ); + } + } +}); + +jQuery.fn.extend({ + queue: function( type, data ) { + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + } + + if ( data === undefined ) { + return jQuery.queue( this[0], type ); + } + return this.each(function( i ) { + var queue = jQuery.queue( this, type, data ); + + if ( type === "fx" && queue[0] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + }); + }, + dequeue: function( type ) { + return this.each(function() { + jQuery.dequeue( this, type ); + }); + }, + + // Based off of the plugin by Clint Helfers, with permission. + // http://blindsignals.com/index.php/2009/07/jquery-delay/ + delay: function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[time] || time : time; + type = type || "fx"; + + return this.queue( type, function() { + var elem = this; + setTimeout(function() { + jQuery.dequeue( elem, type ); + }, time ); + }); + }, + + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + } +}); + + + + +var rclass = /[\n\t\r]/g, + rspaces = /\s+/, + rreturn = /\r/g, + rspecialurl = /^(?:href|src|style)$/, + rtype = /^(?:button|input)$/i, + rfocusable = /^(?:button|input|object|select|textarea)$/i, + rclickable = /^a(?:rea)?$/i, + rradiocheck = /^(?:radio|checkbox)$/i; + +jQuery.props = { + "for": "htmlFor", + "class": "className", + readonly: "readOnly", + maxlength: "maxLength", + cellspacing: "cellSpacing", + rowspan: "rowSpan", + colspan: "colSpan", + tabindex: "tabIndex", + usemap: "useMap", + frameborder: "frameBorder" +}; + +jQuery.fn.extend({ + attr: function( name, value ) { + return jQuery.access( this, name, value, true, jQuery.attr ); + }, + + removeAttr: function( name, fn ) { + return this.each(function(){ + jQuery.attr( this, name, "" ); + if ( this.nodeType === 1 ) { + this.removeAttribute( name ); + } + }); + }, + + addClass: function( value ) { + if ( jQuery.isFunction(value) ) { + return this.each(function(i) { + var self = jQuery(this); + self.addClass( value.call(this, i, self.attr("class")) ); + }); + } + + if ( value && typeof value === "string" ) { + var classNames = (value || "").split( rspaces ); + + for ( var i = 0, l = this.length; i < l; i++ ) { + var elem = this[i]; + + if ( elem.nodeType === 1 ) { + if ( !elem.className ) { + elem.className = value; + + } else { + var className = " " + elem.className + " ", + setClass = elem.className; + + for ( var c = 0, cl = classNames.length; c < cl; c++ ) { + if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) { + setClass += " " + classNames[c]; + } + } + elem.className = jQuery.trim( setClass ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + if ( jQuery.isFunction(value) ) { + return this.each(function(i) { + var self = jQuery(this); + self.removeClass( value.call(this, i, self.attr("class")) ); + }); + } + + if ( (value && typeof value === "string") || value === undefined ) { + var classNames = (value || "").split( rspaces ); + + for ( var i = 0, l = this.length; i < l; i++ ) { + var elem = this[i]; + + if ( elem.nodeType === 1 && elem.className ) { + if ( value ) { + var className = (" " + elem.className + " ").replace(rclass, " "); + for ( var c = 0, cl = classNames.length; c < cl; c++ ) { + className = className.replace(" " + classNames[c] + " ", " "); + } + elem.className = jQuery.trim( className ); + + } else { + elem.className = ""; + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isBool = typeof stateVal === "boolean"; + + if ( jQuery.isFunction( value ) ) { + return this.each(function(i) { + var self = jQuery(this); + self.toggleClass( value.call(this, i, self.attr("class"), stateVal), stateVal ); + }); + } + + return this.each(function() { + if ( type === "string" ) { + // toggle individual class names + var className, + i = 0, + self = jQuery( this ), + state = stateVal, + classNames = value.split( rspaces ); + + while ( (className = classNames[ i++ ]) ) { + // check each className given, space seperated list + state = isBool ? state : !self.hasClass( className ); + self[ state ? "addClass" : "removeClass" ]( className ); + } + + } else if ( type === "undefined" || type === "boolean" ) { + if ( this.className ) { + // store className if set + jQuery._data( this, "__className__", this.className ); + } + + // toggle whole className + this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; + } + }); + }, + + hasClass: function( selector ) { + var className = " " + selector + " "; + for ( var i = 0, l = this.length; i < l; i++ ) { + if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) { + return true; + } + } + + return false; + }, + + val: function( value ) { + if ( !arguments.length ) { + var elem = this[0]; + + if ( elem ) { + if ( jQuery.nodeName( elem, "option" ) ) { + // attributes.value is undefined in Blackberry 4.7 but + // uses .value. See #6932 + var val = elem.attributes.value; + return !val || val.specified ? elem.value : elem.text; + } + + // We need to handle select boxes special + if ( jQuery.nodeName( elem, "select" ) ) { + var index = elem.selectedIndex, + values = [], + options = elem.options, + one = elem.type === "select-one"; + + // Nothing was selected + if ( index < 0 ) { + return null; + } + + // Loop through all the selected options + for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) { + var option = options[ i ]; + + // Don't return options that are disabled or in a disabled optgroup + if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) && + (!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) { + + // Get the specific value for the option + value = jQuery(option).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + // Fixes Bug #2551 -- select.val() broken in IE after form.reset() + if ( one && !values.length && options.length ) { + return jQuery( options[ index ] ).val(); + } + + return values; + } + + // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified + if ( rradiocheck.test( elem.type ) && !jQuery.support.checkOn ) { + return elem.getAttribute("value") === null ? "on" : elem.value; + } + + // Everything else, we just grab the value + return (elem.value || "").replace(rreturn, ""); + + } + + return undefined; + } + + var isFunction = jQuery.isFunction(value); + + return this.each(function(i) { + var self = jQuery(this), val = value; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call(this, i, self.val()); + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + } else if ( typeof val === "number" ) { + val += ""; + } else if ( jQuery.isArray(val) ) { + val = jQuery.map(val, function (value) { + return value == null ? "" : value + ""; + }); + } + + if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) { + this.checked = jQuery.inArray( self.val(), val ) >= 0; + + } else if ( jQuery.nodeName( this, "select" ) ) { + var values = jQuery.makeArray(val); + + jQuery( "option", this ).each(function() { + this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; + }); + + if ( !values.length ) { + this.selectedIndex = -1; + } + + } else { + this.value = val; + } + }); + } +}); + +jQuery.extend({ + attrFn: { + val: true, + css: true, + html: true, + text: true, + data: true, + width: true, + height: true, + offset: true + }, + + attr: function( elem, name, value, pass ) { + // don't get/set attributes on text, comment and attribute nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || elem.nodeType === 2 ) { + return undefined; + } + + if ( pass && name in jQuery.attrFn ) { + return jQuery(elem)[name](value); + } + + var notxml = elem.nodeType !== 1 || !jQuery.isXMLDoc( elem ), + // Whether we are setting (or getting) + set = value !== undefined; + + // Try to normalize/fix the name + name = notxml && jQuery.props[ name ] || name; + + // Only do all the following if this is a node (faster for style) + if ( elem.nodeType === 1 ) { + // These attributes require special treatment + var special = rspecialurl.test( name ); + + // Safari mis-reports the default selected property of an option + // Accessing the parent's selectedIndex property fixes it + if ( name === "selected" && !jQuery.support.optSelected ) { + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + // Make sure that it also works with optgroups, see #5701 + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + + // If applicable, access the attribute via the DOM 0 way + // 'in' checks fail in Blackberry 4.7 #6931 + if ( (name in elem || elem[ name ] !== undefined) && notxml && !special ) { + if ( set ) { + // We can't allow the type property to be changed (since it causes problems in IE) + if ( name === "type" && rtype.test( elem.nodeName ) && elem.parentNode ) { + jQuery.error( "type property can't be changed" ); + } + + if ( value === null ) { + if ( elem.nodeType === 1 ) { + elem.removeAttribute( name ); + } + + } else { + elem[ name ] = value; + } + } + + // browsers index elements by id/name on forms, give priority to attributes. + if ( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) ) { + return elem.getAttributeNode( name ).nodeValue; + } + + // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set + // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + if ( name === "tabIndex" ) { + var attributeNode = elem.getAttributeNode( "tabIndex" ); + + return attributeNode && attributeNode.specified ? + attributeNode.value : + rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? + 0 : + undefined; + } + + return elem[ name ]; + } + + if ( !jQuery.support.style && notxml && name === "style" ) { + if ( set ) { + elem.style.cssText = "" + value; + } + + return elem.style.cssText; + } + + if ( set ) { + // convert the value to a string (all browsers do this but IE) see #1070 + elem.setAttribute( name, "" + value ); + } + + // Ensure that missing attributes return undefined + // Blackberry 4.7 returns "" from getAttribute #6938 + if ( !elem.attributes[ name ] && (elem.hasAttribute && !elem.hasAttribute( name )) ) { + return undefined; + } + + var attr = !jQuery.support.hrefNormalized && notxml && special ? + // Some attributes require a special call on IE + elem.getAttribute( name, 2 ) : + elem.getAttribute( name ); + + // Non-existent attributes return null, we normalize to undefined + return attr === null ? undefined : attr; + } + // Handle everything which isn't a DOM element node + if ( set ) { + elem[ name ] = value; + } + return elem[ name ]; + } +}); + + + + +var rnamespaces = /\.(.*)$/, + rformElems = /^(?:textarea|input|select)$/i, + rperiod = /\./g, + rspace = / /g, + rescape = /[^\w\s.|`]/g, + fcleanup = function( nm ) { + return nm.replace(rescape, "\\$&"); + }; + +/* + * A number of helper functions used for managing events. + * Many of the ideas behind this code originated from + * Dean Edwards' addEvent library. + */ +jQuery.event = { + + // Bind an event to an element + // Original by Dean Edwards + add: function( elem, types, handler, data ) { + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // TODO :: Use a try/catch until it's safe to pull this out (likely 1.6) + // Minor release fix for bug #8018 + try { + // For whatever reason, IE has trouble passing the window object + // around, causing it to be cloned in the process + if ( jQuery.isWindow( elem ) && ( elem !== window && !elem.frameElement ) ) { + elem = window; + } + } + catch ( e ) {} + + if ( handler === false ) { + handler = returnFalse; + } else if ( !handler ) { + // Fixes bug #7229. Fix recommended by jdalton + return; + } + + var handleObjIn, handleObj; + + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + } + + // Make sure that the function being executed has a unique ID + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure + var elemData = jQuery._data( elem ); + + // If no elemData is found then we must be trying to bind to one of the + // banned noData elements + if ( !elemData ) { + return; + } + + var events = elemData.events, + eventHandle = elemData.handle; + + if ( !events ) { + elemData.events = events = {}; + } + + if ( !eventHandle ) { + elemData.handle = eventHandle = function() { + // Handle the second event of a trigger and when + // an event is called after a page has unloaded + return typeof jQuery !== "undefined" && !jQuery.event.triggered ? + jQuery.event.handle.apply( eventHandle.elem, arguments ) : + undefined; + }; + } + + // Add elem as a property of the handle function + // This is to prevent a memory leak with non-native events in IE. + eventHandle.elem = elem; + + // Handle multiple events separated by a space + // jQuery(...).bind("mouseover mouseout", fn); + types = types.split(" "); + + var type, i = 0, namespaces; + + while ( (type = types[ i++ ]) ) { + handleObj = handleObjIn ? + jQuery.extend({}, handleObjIn) : + { handler: handler, data: data }; + + // Namespaced event handlers + if ( type.indexOf(".") > -1 ) { + namespaces = type.split("."); + type = namespaces.shift(); + handleObj.namespace = namespaces.slice(0).sort().join("."); + + } else { + namespaces = []; + handleObj.namespace = ""; + } + + handleObj.type = type; + if ( !handleObj.guid ) { + handleObj.guid = handler.guid; + } + + // Get the current list of functions bound to this event + var handlers = events[ type ], + special = jQuery.event.special[ type ] || {}; + + // Init the event handler queue + if ( !handlers ) { + handlers = events[ type ] = []; + + // Check for a special event handler + // Only use addEventListener/attachEvent if the special + // events handler returns false + if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + // Bind the global event handler to the element + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle, false ); + + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add the function to the element's handler list + handlers.push( handleObj ); + + // Keep track of which events have been used, for global triggering + jQuery.event.global[ type ] = true; + } + + // Nullify elem to prevent memory leaks in IE + elem = null; + }, + + global: {}, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, pos ) { + // don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + if ( handler === false ) { + handler = returnFalse; + } + + var ret, type, fn, j, i = 0, all, namespaces, namespace, special, eventType, handleObj, origType, + elemData = jQuery.hasData( elem ) && jQuery._data( elem ), + events = elemData && elemData.events; + + if ( !elemData || !events ) { + return; + } + + // types is actually an event object here + if ( types && types.type ) { + handler = types.handler; + types = types.type; + } + + // Unbind all events for the element + if ( !types || typeof types === "string" && types.charAt(0) === "." ) { + types = types || ""; + + for ( type in events ) { + jQuery.event.remove( elem, type + types ); + } + + return; + } + + // Handle multiple events separated by a space + // jQuery(...).unbind("mouseover mouseout", fn); + types = types.split(" "); + + while ( (type = types[ i++ ]) ) { + origType = type; + handleObj = null; + all = type.indexOf(".") < 0; + namespaces = []; + + if ( !all ) { + // Namespaced event handlers + namespaces = type.split("."); + type = namespaces.shift(); + + namespace = new RegExp("(^|\\.)" + + jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + eventType = events[ type ]; + + if ( !eventType ) { + continue; + } + + if ( !handler ) { + for ( j = 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( all || namespace.test( handleObj.namespace ) ) { + jQuery.event.remove( elem, origType, handleObj.handler, j ); + eventType.splice( j--, 1 ); + } + } + + continue; + } + + special = jQuery.event.special[ type ] || {}; + + for ( j = pos || 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( handler.guid === handleObj.guid ) { + // remove the given handler for the given type + if ( all || namespace.test( handleObj.namespace ) ) { + if ( pos == null ) { + eventType.splice( j--, 1 ); + } + + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + + if ( pos != null ) { + break; + } + } + } + + // remove generic event handler if no more handlers exist + if ( eventType.length === 0 || pos != null && eventType.length === 1 ) { + if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); + } + + ret = null; + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + var handle = elemData.handle; + if ( handle ) { + handle.elem = null; + } + + delete elemData.events; + delete elemData.handle; + + if ( jQuery.isEmptyObject( elemData ) ) { + jQuery.removeData( elem, undefined, true ); + } + } + }, + + // bubbling is internal + trigger: function( event, data, elem /*, bubbling */ ) { + // Event object or event type + var type = event.type || event, + bubbling = arguments[3]; + + if ( !bubbling ) { + event = typeof event === "object" ? + // jQuery.Event object + event[ jQuery.expando ] ? event : + // Object literal + jQuery.extend( jQuery.Event(type), event ) : + // Just the event type (string) + jQuery.Event(type); + + if ( type.indexOf("!") >= 0 ) { + event.type = type = type.slice(0, -1); + event.exclusive = true; + } + + // Handle a global trigger + if ( !elem ) { + // Don't bubble custom events when global (to avoid too much overhead) + event.stopPropagation(); + + // Only trigger if we've ever bound an event for it + if ( jQuery.event.global[ type ] ) { + // XXX This code smells terrible. event.js should not be directly + // inspecting the data cache + jQuery.each( jQuery.cache, function() { + // internalKey variable is just used to make it easier to find + // and potentially change this stuff later; currently it just + // points to jQuery.expando + var internalKey = jQuery.expando, + internalCache = this[ internalKey ]; + if ( internalCache && internalCache.events && internalCache.events[ type ] ) { + jQuery.event.trigger( event, data, internalCache.handle.elem ); + } + }); + } + } + + // Handle triggering a single element + + // don't do events on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) { + return undefined; + } + + // Clean up in case it is reused + event.result = undefined; + event.target = elem; + + // Clone the incoming data, if any + data = jQuery.makeArray( data ); + data.unshift( event ); + } + + event.currentTarget = elem; + + // Trigger the event, it is assumed that "handle" is a function + var handle = jQuery._data( elem, "handle" ); + + if ( handle ) { + handle.apply( elem, data ); + } + + var parent = elem.parentNode || elem.ownerDocument; + + // Trigger an inline bound script + try { + if ( !(elem && elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()]) ) { + if ( elem[ "on" + type ] && elem[ "on" + type ].apply( elem, data ) === false ) { + event.result = false; + event.preventDefault(); + } + } + + // prevent IE from throwing an error for some elements with some event types, see #3533 + } catch (inlineError) {} + + if ( !event.isPropagationStopped() && parent ) { + jQuery.event.trigger( event, data, parent, true ); + + } else if ( !event.isDefaultPrevented() ) { + var old, + target = event.target, + targetType = type.replace( rnamespaces, "" ), + isClick = jQuery.nodeName( target, "a" ) && targetType === "click", + special = jQuery.event.special[ targetType ] || {}; + + if ( (!special._default || special._default.call( elem, event ) === false) && + !isClick && !(target && target.nodeName && jQuery.noData[target.nodeName.toLowerCase()]) ) { + + try { + if ( target[ targetType ] ) { + // Make sure that we don't accidentally re-trigger the onFOO events + old = target[ "on" + targetType ]; + + if ( old ) { + target[ "on" + targetType ] = null; + } + + jQuery.event.triggered = true; + target[ targetType ](); + } + + // prevent IE from throwing an error for some elements with some event types, see #3533 + } catch (triggerError) {} + + if ( old ) { + target[ "on" + targetType ] = old; + } + + jQuery.event.triggered = false; + } + } + }, + + handle: function( event ) { + var all, handlers, namespaces, namespace_re, events, + namespace_sort = [], + args = jQuery.makeArray( arguments ); + + event = args[0] = jQuery.event.fix( event || window.event ); + event.currentTarget = this; + + // Namespaced event handlers + all = event.type.indexOf(".") < 0 && !event.exclusive; + + if ( !all ) { + namespaces = event.type.split("."); + event.type = namespaces.shift(); + namespace_sort = namespaces.slice(0).sort(); + namespace_re = new RegExp("(^|\\.)" + namespace_sort.join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + event.namespace = event.namespace || namespace_sort.join("."); + + events = jQuery._data(this, "events"); + + handlers = (events || {})[ event.type ]; + + if ( events && handlers ) { + // Clone the handlers to prevent manipulation + handlers = handlers.slice(0); + + for ( var j = 0, l = handlers.length; j < l; j++ ) { + var handleObj = handlers[ j ]; + + // Filter the functions by class + if ( all || namespace_re.test( handleObj.namespace ) ) { + // Pass in a reference to the handler function itself + // So that we can later remove it + event.handler = handleObj.handler; + event.data = handleObj.data; + event.handleObj = handleObj; + + var ret = handleObj.handler.apply( this, args ); + + if ( ret !== undefined ) { + event.result = ret; + if ( ret === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + + if ( event.isImmediatePropagationStopped() ) { + break; + } + } + } + } + + return event.result; + }, + + props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "), + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // store a copy of the original event object + // and "clone" to set read-only properties + var originalEvent = event; + event = jQuery.Event( originalEvent ); + + for ( var i = this.props.length, prop; i; ) { + prop = this.props[ --i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Fix target property, if necessary + if ( !event.target ) { + // Fixes #1925 where srcElement might not be defined either + event.target = event.srcElement || document; + } + + // check if target is a textnode (safari) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && event.fromElement ) { + event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement; + } + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && event.clientX != null ) { + var doc = document.documentElement, + body = document.body; + + event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0); + event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0); + } + + // Add which for key events + if ( event.which == null && (event.charCode != null || event.keyCode != null) ) { + event.which = event.charCode != null ? event.charCode : event.keyCode; + } + + // Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs) + if ( !event.metaKey && event.ctrlKey ) { + event.metaKey = event.ctrlKey; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && event.button !== undefined ) { + event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) )); + } + + return event; + }, + + // Deprecated, use jQuery.guid instead + guid: 1E8, + + // Deprecated, use jQuery.proxy instead + proxy: jQuery.proxy, + + special: { + ready: { + // Make sure the ready event is setup + setup: jQuery.bindReady, + teardown: jQuery.noop + }, + + live: { + add: function( handleObj ) { + jQuery.event.add( this, + liveConvert( handleObj.origType, handleObj.selector ), + jQuery.extend({}, handleObj, {handler: liveHandler, guid: handleObj.handler.guid}) ); + }, + + remove: function( handleObj ) { + jQuery.event.remove( this, liveConvert( handleObj.origType, handleObj.selector ), handleObj ); + } + }, + + beforeunload: { + setup: function( data, namespaces, eventHandle ) { + // We only want to do this special case on windows + if ( jQuery.isWindow( this ) ) { + this.onbeforeunload = eventHandle; + } + }, + + teardown: function( namespaces, eventHandle ) { + if ( this.onbeforeunload === eventHandle ) { + this.onbeforeunload = null; + } + } + } + } +}; + +jQuery.removeEvent = document.removeEventListener ? + function( elem, type, handle ) { + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle, false ); + } + } : + function( elem, type, handle ) { + if ( elem.detachEvent ) { + elem.detachEvent( "on" + type, handle ); + } + }; + +jQuery.Event = function( src ) { + // Allow instantiation without the 'new' keyword + if ( !this.preventDefault ) { + return new jQuery.Event( src ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = (src.defaultPrevented || src.returnValue === false || + src.getPreventDefault && src.getPreventDefault()) ? returnTrue : returnFalse; + + // Event type + } else { + this.type = src; + } + + // timeStamp is buggy for some events on Firefox(#3843) + // So we won't rely on the native value + this.timeStamp = jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +function returnFalse() { + return false; +} +function returnTrue() { + return true; +} + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + preventDefault: function() { + this.isDefaultPrevented = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + + // if preventDefault exists run it on the original event + if ( e.preventDefault ) { + e.preventDefault(); + + // otherwise set the returnValue property of the original event to false (IE) + } else { + e.returnValue = false; + } + }, + stopPropagation: function() { + this.isPropagationStopped = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + // if stopPropagation exists run it on the original event + if ( e.stopPropagation ) { + e.stopPropagation(); + } + // otherwise set the cancelBubble property of the original event to true (IE) + e.cancelBubble = true; + }, + stopImmediatePropagation: function() { + this.isImmediatePropagationStopped = returnTrue; + this.stopPropagation(); + }, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse +}; + +// Checks if an event happened on an element within another element +// Used in jQuery.event.special.mouseenter and mouseleave handlers +var withinElement = function( event ) { + // Check if mouse(over|out) are still within the same parent element + var parent = event.relatedTarget; + + // Firefox sometimes assigns relatedTarget a XUL element + // which we cannot access the parentNode property of + try { + + // Chrome does something similar, the parentNode property + // can be accessed but is null. + if ( parent !== document && !parent.parentNode ) { + return; + } + // Traverse up the tree + while ( parent && parent !== this ) { + parent = parent.parentNode; + } + + if ( parent !== this ) { + // set the correct event type + event.type = event.data; + + // handle event if we actually just moused on to a non sub-element + jQuery.event.handle.apply( this, arguments ); + } + + // assuming we've left the element since we most likely mousedover a xul element + } catch(e) { } +}, + +// In case of event delegation, we only need to rename the event.type, +// liveHandler will take care of the rest. +delegate = function( event ) { + event.type = event.data; + jQuery.event.handle.apply( this, arguments ); +}; + +// Create mouseenter and mouseleave events +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + setup: function( data ) { + jQuery.event.add( this, fix, data && data.selector ? delegate : withinElement, orig ); + }, + teardown: function( data ) { + jQuery.event.remove( this, fix, data && data.selector ? delegate : withinElement ); + } + }; +}); + +// submit delegation +if ( !jQuery.support.submitBubbles ) { + + jQuery.event.special.submit = { + setup: function( data, namespaces ) { + if ( this.nodeName && this.nodeName.toLowerCase() !== "form" ) { + jQuery.event.add(this, "click.specialSubmit", function( e ) { + var elem = e.target, + type = elem.type; + + if ( (type === "submit" || type === "image") && jQuery( elem ).closest("form").length ) { + trigger( "submit", this, arguments ); + } + }); + + jQuery.event.add(this, "keypress.specialSubmit", function( e ) { + var elem = e.target, + type = elem.type; + + if ( (type === "text" || type === "password") && jQuery( elem ).closest("form").length && e.keyCode === 13 ) { + trigger( "submit", this, arguments ); + } + }); + + } else { + return false; + } + }, + + teardown: function( namespaces ) { + jQuery.event.remove( this, ".specialSubmit" ); + } + }; + +} + +// change delegation, happens here so we have bind. +if ( !jQuery.support.changeBubbles ) { + + var changeFilters, + + getVal = function( elem ) { + var type = elem.type, val = elem.value; + + if ( type === "radio" || type === "checkbox" ) { + val = elem.checked; + + } else if ( type === "select-multiple" ) { + val = elem.selectedIndex > -1 ? + jQuery.map( elem.options, function( elem ) { + return elem.selected; + }).join("-") : + ""; + + } else if ( elem.nodeName.toLowerCase() === "select" ) { + val = elem.selectedIndex; + } + + return val; + }, + + testChange = function testChange( e ) { + var elem = e.target, data, val; + + if ( !rformElems.test( elem.nodeName ) || elem.readOnly ) { + return; + } + + data = jQuery._data( elem, "_change_data" ); + val = getVal(elem); + + // the current data will be also retrieved by beforeactivate + if ( e.type !== "focusout" || elem.type !== "radio" ) { + jQuery._data( elem, "_change_data", val ); + } + + if ( data === undefined || val === data ) { + return; + } + + if ( data != null || val ) { + e.type = "change"; + e.liveFired = undefined; + jQuery.event.trigger( e, arguments[1], elem ); + } + }; + + jQuery.event.special.change = { + filters: { + focusout: testChange, + + beforedeactivate: testChange, + + click: function( e ) { + var elem = e.target, type = elem.type; + + if ( type === "radio" || type === "checkbox" || elem.nodeName.toLowerCase() === "select" ) { + testChange.call( this, e ); + } + }, + + // Change has to be called before submit + // Keydown will be called before keypress, which is used in submit-event delegation + keydown: function( e ) { + var elem = e.target, type = elem.type; + + if ( (e.keyCode === 13 && elem.nodeName.toLowerCase() !== "textarea") || + (e.keyCode === 32 && (type === "checkbox" || type === "radio")) || + type === "select-multiple" ) { + testChange.call( this, e ); + } + }, + + // Beforeactivate happens also before the previous element is blurred + // with this event you can't trigger a change event, but you can store + // information + beforeactivate: function( e ) { + var elem = e.target; + jQuery._data( elem, "_change_data", getVal(elem) ); + } + }, + + setup: function( data, namespaces ) { + if ( this.type === "file" ) { + return false; + } + + for ( var type in changeFilters ) { + jQuery.event.add( this, type + ".specialChange", changeFilters[type] ); + } + + return rformElems.test( this.nodeName ); + }, + + teardown: function( namespaces ) { + jQuery.event.remove( this, ".specialChange" ); + + return rformElems.test( this.nodeName ); + } + }; + + changeFilters = jQuery.event.special.change.filters; + + // Handle when the input is .focus()'d + changeFilters.focus = changeFilters.beforeactivate; +} + +function trigger( type, elem, args ) { + // Piggyback on a donor event to simulate a different one. + // Fake originalEvent to avoid donor's stopPropagation, but if the + // simulated event prevents default then we do the same on the donor. + // Don't pass args or remember liveFired; they apply to the donor event. + var event = jQuery.extend( {}, args[ 0 ] ); + event.type = type; + event.originalEvent = {}; + event.liveFired = undefined; + jQuery.event.handle.call( elem, event ); + if ( event.isDefaultPrevented() ) { + args[ 0 ].preventDefault(); + } +} + +// Create "bubbling" focus and blur events +if ( document.addEventListener ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + jQuery.event.special[ fix ] = { + setup: function() { + this.addEventListener( orig, handler, true ); + }, + teardown: function() { + this.removeEventListener( orig, handler, true ); + } + }; + + function handler( e ) { + e = jQuery.event.fix( e ); + e.type = fix; + return jQuery.event.handle.call( this, e ); + } + }); +} + +jQuery.each(["bind", "one"], function( i, name ) { + jQuery.fn[ name ] = function( type, data, fn ) { + // Handle object literals + if ( typeof type === "object" ) { + for ( var key in type ) { + this[ name ](key, data, type[key], fn); + } + return this; + } + + if ( jQuery.isFunction( data ) || data === false ) { + fn = data; + data = undefined; + } + + var handler = name === "one" ? jQuery.proxy( fn, function( event ) { + jQuery( this ).unbind( event, handler ); + return fn.apply( this, arguments ); + }) : fn; + + if ( type === "unload" && name !== "one" ) { + this.one( type, data, fn ); + + } else { + for ( var i = 0, l = this.length; i < l; i++ ) { + jQuery.event.add( this[i], type, handler, data ); + } + } + + return this; + }; +}); + +jQuery.fn.extend({ + unbind: function( type, fn ) { + // Handle object literals + if ( typeof type === "object" && !type.preventDefault ) { + for ( var key in type ) { + this.unbind(key, type[key]); + } + + } else { + for ( var i = 0, l = this.length; i < l; i++ ) { + jQuery.event.remove( this[i], type, fn ); + } + } + + return this; + }, + + delegate: function( selector, types, data, fn ) { + return this.live( types, data, fn, selector ); + }, + + undelegate: function( selector, types, fn ) { + if ( arguments.length === 0 ) { + return this.unbind( "live" ); + + } else { + return this.die( types, null, fn, selector ); + } + }, + + trigger: function( type, data ) { + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + + triggerHandler: function( type, data ) { + if ( this[0] ) { + var event = jQuery.Event( type ); + event.preventDefault(); + event.stopPropagation(); + jQuery.event.trigger( event, data, this[0] ); + return event.result; + } + }, + + toggle: function( fn ) { + // Save reference to arguments for access in closure + var args = arguments, + i = 1; + + // link all the functions, so any of them can unbind this click handler + while ( i < args.length ) { + jQuery.proxy( fn, args[ i++ ] ); + } + + return this.click( jQuery.proxy( fn, function( event ) { + // Figure out which function to execute + var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i; + jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 ); + + // Make sure that clicks stop + event.preventDefault(); + + // and execute the function + return args[ lastToggle ].apply( this, arguments ) || false; + })); + }, + + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +}); + +var liveMap = { + focus: "focusin", + blur: "focusout", + mouseenter: "mouseover", + mouseleave: "mouseout" +}; + +jQuery.each(["live", "die"], function( i, name ) { + jQuery.fn[ name ] = function( types, data, fn, origSelector /* Internal Use Only */ ) { + var type, i = 0, match, namespaces, preType, + selector = origSelector || this.selector, + context = origSelector ? this : jQuery( this.context ); + + if ( typeof types === "object" && !types.preventDefault ) { + for ( var key in types ) { + context[ name ]( key, data, types[key], selector ); + } + + return this; + } + + if ( jQuery.isFunction( data ) ) { + fn = data; + data = undefined; + } + + types = (types || "").split(" "); + + while ( (type = types[ i++ ]) != null ) { + match = rnamespaces.exec( type ); + namespaces = ""; + + if ( match ) { + namespaces = match[0]; + type = type.replace( rnamespaces, "" ); + } + + if ( type === "hover" ) { + types.push( "mouseenter" + namespaces, "mouseleave" + namespaces ); + continue; + } + + preType = type; + + if ( type === "focus" || type === "blur" ) { + types.push( liveMap[ type ] + namespaces ); + type = type + namespaces; + + } else { + type = (liveMap[ type ] || type) + namespaces; + } + + if ( name === "live" ) { + // bind live handler + for ( var j = 0, l = context.length; j < l; j++ ) { + jQuery.event.add( context[j], "live." + liveConvert( type, selector ), + { data: data, selector: selector, handler: fn, origType: type, origHandler: fn, preType: preType } ); + } + + } else { + // unbind live handler + context.unbind( "live." + liveConvert( type, selector ), fn ); + } + } + + return this; + }; +}); + +function liveHandler( event ) { + var stop, maxLevel, related, match, handleObj, elem, j, i, l, data, close, namespace, ret, + elems = [], + selectors = [], + events = jQuery._data( this, "events" ); + + // Make sure we avoid non-left-click bubbling in Firefox (#3861) and disabled elements in IE (#6911) + if ( event.liveFired === this || !events || !events.live || event.target.disabled || event.button && event.type === "click" ) { + return; + } + + if ( event.namespace ) { + namespace = new RegExp("(^|\\.)" + event.namespace.split(".").join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + event.liveFired = this; + + var live = events.live.slice(0); + + for ( j = 0; j < live.length; j++ ) { + handleObj = live[j]; + + if ( handleObj.origType.replace( rnamespaces, "" ) === event.type ) { + selectors.push( handleObj.selector ); + + } else { + live.splice( j--, 1 ); + } + } + + match = jQuery( event.target ).closest( selectors, event.currentTarget ); + + for ( i = 0, l = match.length; i < l; i++ ) { + close = match[i]; + + for ( j = 0; j < live.length; j++ ) { + handleObj = live[j]; + + if ( close.selector === handleObj.selector && (!namespace || namespace.test( handleObj.namespace )) && !close.elem.disabled ) { + elem = close.elem; + related = null; + + // Those two events require additional checking + if ( handleObj.preType === "mouseenter" || handleObj.preType === "mouseleave" ) { + event.type = handleObj.preType; + related = jQuery( event.relatedTarget ).closest( handleObj.selector )[0]; + } + + if ( !related || related !== elem ) { + elems.push({ elem: elem, handleObj: handleObj, level: close.level }); + } + } + } + } + + for ( i = 0, l = elems.length; i < l; i++ ) { + match = elems[i]; + + if ( maxLevel && match.level > maxLevel ) { + break; + } + + event.currentTarget = match.elem; + event.data = match.handleObj.data; + event.handleObj = match.handleObj; + + ret = match.handleObj.origHandler.apply( match.elem, arguments ); + + if ( ret === false || event.isPropagationStopped() ) { + maxLevel = match.level; + + if ( ret === false ) { + stop = false; + } + if ( event.isImmediatePropagationStopped() ) { + break; + } + } + } + + return stop; +} + +function liveConvert( type, selector ) { + return (type && type !== "*" ? type + "." : "") + selector.replace(rperiod, "`").replace(rspace, "&"); +} + +jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup error").split(" "), function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : + this.trigger( name ); + }; + + if ( jQuery.attrFn ) { + jQuery.attrFn[ name ] = true; + } +}); + + +/*! + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * More information: http://sizzlejs.com/ + */ +(function(){ + +var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, + done = 0, + toString = Object.prototype.toString, + hasDuplicate = false, + baseHasDuplicate = true, + rBackslash = /\\/g, + rNonWord = /\W/; + +// Here we check if the JavaScript engine is using some sort of +// optimization where it does not always call our comparision +// function. If that is the case, discard the hasDuplicate value. +// Thus far that includes Google Chrome. +[0, 0].sort(function() { + baseHasDuplicate = false; + return 0; +}); + +var Sizzle = function( selector, context, results, seed ) { + results = results || []; + context = context || document; + + var origContext = context; + + if ( context.nodeType !== 1 && context.nodeType !== 9 ) { + return []; + } + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + var m, set, checkSet, extra, ret, cur, pop, i, + prune = true, + contextXML = Sizzle.isXML( context ), + parts = [], + soFar = selector; + + // Reset the position of the chunker regexp (start from head) + do { + chunker.exec( "" ); + m = chunker.exec( soFar ); + + if ( m ) { + soFar = m[3]; + + parts.push( m[1] ); + + if ( m[2] ) { + extra = m[3]; + break; + } + } + } while ( m ); + + if ( parts.length > 1 && origPOS.exec( selector ) ) { + + if ( parts.length === 2 && Expr.relative[ parts[0] ] ) { + set = posProcess( parts[0] + parts[1], context ); + + } else { + set = Expr.relative[ parts[0] ] ? + [ context ] : + Sizzle( parts.shift(), context ); + + while ( parts.length ) { + selector = parts.shift(); + + if ( Expr.relative[ selector ] ) { + selector += parts.shift(); + } + + set = posProcess( selector, set ); + } + } + + } else { + // Take a shortcut and set the context if the root selector is an ID + // (but not if it'll be faster if the inner selector is an ID) + if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML && + Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) { + + ret = Sizzle.find( parts.shift(), context, contextXML ); + context = ret.expr ? + Sizzle.filter( ret.expr, ret.set )[0] : + ret.set[0]; + } + + if ( context ) { + ret = seed ? + { expr: parts.pop(), set: makeArray(seed) } : + Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML ); + + set = ret.expr ? + Sizzle.filter( ret.expr, ret.set ) : + ret.set; + + if ( parts.length > 0 ) { + checkSet = makeArray( set ); + + } else { + prune = false; + } + + while ( parts.length ) { + cur = parts.pop(); + pop = cur; + + if ( !Expr.relative[ cur ] ) { + cur = ""; + } else { + pop = parts.pop(); + } + + if ( pop == null ) { + pop = context; + } + + Expr.relative[ cur ]( checkSet, pop, contextXML ); + } + + } else { + checkSet = parts = []; + } + } + + if ( !checkSet ) { + checkSet = set; + } + + if ( !checkSet ) { + Sizzle.error( cur || selector ); + } + + if ( toString.call(checkSet) === "[object Array]" ) { + if ( !prune ) { + results.push.apply( results, checkSet ); + + } else if ( context && context.nodeType === 1 ) { + for ( i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) { + results.push( set[i] ); + } + } + + } else { + for ( i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && checkSet[i].nodeType === 1 ) { + results.push( set[i] ); + } + } + } + + } else { + makeArray( checkSet, results ); + } + + if ( extra ) { + Sizzle( extra, origContext, results, seed ); + Sizzle.uniqueSort( results ); + } + + return results; +}; + +Sizzle.uniqueSort = function( results ) { + if ( sortOrder ) { + hasDuplicate = baseHasDuplicate; + results.sort( sortOrder ); + + if ( hasDuplicate ) { + for ( var i = 1; i < results.length; i++ ) { + if ( results[i] === results[ i - 1 ] ) { + results.splice( i--, 1 ); + } + } + } + } + + return results; +}; + +Sizzle.matches = function( expr, set ) { + return Sizzle( expr, null, null, set ); +}; + +Sizzle.matchesSelector = function( node, expr ) { + return Sizzle( expr, null, null, [node] ).length > 0; +}; + +Sizzle.find = function( expr, context, isXML ) { + var set; + + if ( !expr ) { + return []; + } + + for ( var i = 0, l = Expr.order.length; i < l; i++ ) { + var match, + type = Expr.order[i]; + + if ( (match = Expr.leftMatch[ type ].exec( expr )) ) { + var left = match[1]; + match.splice( 1, 1 ); + + if ( left.substr( left.length - 1 ) !== "\\" ) { + match[1] = (match[1] || "").replace( rBackslash, "" ); + set = Expr.find[ type ]( match, context, isXML ); + + if ( set != null ) { + expr = expr.replace( Expr.match[ type ], "" ); + break; + } + } + } + } + + if ( !set ) { + set = typeof context.getElementsByTagName !== "undefined" ? + context.getElementsByTagName( "*" ) : + []; + } + + return { set: set, expr: expr }; +}; + +Sizzle.filter = function( expr, set, inplace, not ) { + var match, anyFound, + old = expr, + result = [], + curLoop = set, + isXMLFilter = set && set[0] && Sizzle.isXML( set[0] ); + + while ( expr && set.length ) { + for ( var type in Expr.filter ) { + if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) { + var found, item, + filter = Expr.filter[ type ], + left = match[1]; + + anyFound = false; + + match.splice(1,1); + + if ( left.substr( left.length - 1 ) === "\\" ) { + continue; + } + + if ( curLoop === result ) { + result = []; + } + + if ( Expr.preFilter[ type ] ) { + match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter ); + + if ( !match ) { + anyFound = found = true; + + } else if ( match === true ) { + continue; + } + } + + if ( match ) { + for ( var i = 0; (item = curLoop[i]) != null; i++ ) { + if ( item ) { + found = filter( item, match, i, curLoop ); + var pass = not ^ !!found; + + if ( inplace && found != null ) { + if ( pass ) { + anyFound = true; + + } else { + curLoop[i] = false; + } + + } else if ( pass ) { + result.push( item ); + anyFound = true; + } + } + } + } + + if ( found !== undefined ) { + if ( !inplace ) { + curLoop = result; + } + + expr = expr.replace( Expr.match[ type ], "" ); + + if ( !anyFound ) { + return []; + } + + break; + } + } + } + + // Improper expression + if ( expr === old ) { + if ( anyFound == null ) { + Sizzle.error( expr ); + + } else { + break; + } + } + + old = expr; + } + + return curLoop; +}; + +Sizzle.error = function( msg ) { + throw "Syntax error, unrecognized expression: " + msg; +}; + +var Expr = Sizzle.selectors = { + order: [ "ID", "NAME", "TAG" ], + + match: { + ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/, + ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/, + TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/, + CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/, + POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/, + PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/ + }, + + leftMatch: {}, + + attrMap: { + "class": "className", + "for": "htmlFor" + }, + + attrHandle: { + href: function( elem ) { + return elem.getAttribute( "href" ); + }, + type: function( elem ) { + return elem.getAttribute( "type" ); + } + }, + + relative: { + "+": function(checkSet, part){ + var isPartStr = typeof part === "string", + isTag = isPartStr && !rNonWord.test( part ), + isPartStrNotTag = isPartStr && !isTag; + + if ( isTag ) { + part = part.toLowerCase(); + } + + for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) { + if ( (elem = checkSet[i]) ) { + while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {} + + checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ? + elem || false : + elem === part; + } + } + + if ( isPartStrNotTag ) { + Sizzle.filter( part, checkSet, true ); + } + }, + + ">": function( checkSet, part ) { + var elem, + isPartStr = typeof part === "string", + i = 0, + l = checkSet.length; + + if ( isPartStr && !rNonWord.test( part ) ) { + part = part.toLowerCase(); + + for ( ; i < l; i++ ) { + elem = checkSet[i]; + + if ( elem ) { + var parent = elem.parentNode; + checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false; + } + } + + } else { + for ( ; i < l; i++ ) { + elem = checkSet[i]; + + if ( elem ) { + checkSet[i] = isPartStr ? + elem.parentNode : + elem.parentNode === part; + } + } + + if ( isPartStr ) { + Sizzle.filter( part, checkSet, true ); + } + } + }, + + "": function(checkSet, part, isXML){ + var nodeCheck, + doneName = done++, + checkFn = dirCheck; + + if ( typeof part === "string" && !rNonWord.test( part ) ) { + part = part.toLowerCase(); + nodeCheck = part; + checkFn = dirNodeCheck; + } + + checkFn( "parentNode", part, doneName, checkSet, nodeCheck, isXML ); + }, + + "~": function( checkSet, part, isXML ) { + var nodeCheck, + doneName = done++, + checkFn = dirCheck; + + if ( typeof part === "string" && !rNonWord.test( part ) ) { + part = part.toLowerCase(); + nodeCheck = part; + checkFn = dirNodeCheck; + } + + checkFn( "previousSibling", part, doneName, checkSet, nodeCheck, isXML ); + } + }, + + find: { + ID: function( match, context, isXML ) { + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [m] : []; + } + }, + + NAME: function( match, context ) { + if ( typeof context.getElementsByName !== "undefined" ) { + var ret = [], + results = context.getElementsByName( match[1] ); + + for ( var i = 0, l = results.length; i < l; i++ ) { + if ( results[i].getAttribute("name") === match[1] ) { + ret.push( results[i] ); + } + } + + return ret.length === 0 ? null : ret; + } + }, + + TAG: function( match, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( match[1] ); + } + } + }, + preFilter: { + CLASS: function( match, curLoop, inplace, result, not, isXML ) { + match = " " + match[1].replace( rBackslash, "" ) + " "; + + if ( isXML ) { + return match; + } + + for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) { + if ( elem ) { + if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n\r]/g, " ").indexOf(match) >= 0) ) { + if ( !inplace ) { + result.push( elem ); + } + + } else if ( inplace ) { + curLoop[i] = false; + } + } + } + + return false; + }, + + ID: function( match ) { + return match[1].replace( rBackslash, "" ); + }, + + TAG: function( match, curLoop ) { + return match[1].replace( rBackslash, "" ).toLowerCase(); + }, + + CHILD: function( match ) { + if ( match[1] === "nth" ) { + if ( !match[2] ) { + Sizzle.error( match[0] ); + } + + match[2] = match[2].replace(/^\+|\s*/g, ''); + + // parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6' + var test = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec( + match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" || + !/\D/.test( match[2] ) && "0n+" + match[2] || match[2]); + + // calculate the numbers (first)n+(last) including if they are negative + match[2] = (test[1] + (test[2] || 1)) - 0; + match[3] = test[3] - 0; + } + else if ( match[2] ) { + Sizzle.error( match[0] ); + } + + // TODO: Move to normal caching system + match[0] = done++; + + return match; + }, + + ATTR: function( match, curLoop, inplace, result, not, isXML ) { + var name = match[1] = match[1].replace( rBackslash, "" ); + + if ( !isXML && Expr.attrMap[name] ) { + match[1] = Expr.attrMap[name]; + } + + // Handle if an un-quoted value was used + match[4] = ( match[4] || match[5] || "" ).replace( rBackslash, "" ); + + if ( match[2] === "~=" ) { + match[4] = " " + match[4] + " "; + } + + return match; + }, + + PSEUDO: function( match, curLoop, inplace, result, not ) { + if ( match[1] === "not" ) { + // If we're dealing with a complex expression, or a simple one + if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) { + match[3] = Sizzle(match[3], null, null, curLoop); + + } else { + var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not); + + if ( !inplace ) { + result.push.apply( result, ret ); + } + + return false; + } + + } else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) { + return true; + } + + return match; + }, + + POS: function( match ) { + match.unshift( true ); + + return match; + } + }, + + filters: { + enabled: function( elem ) { + return elem.disabled === false && elem.type !== "hidden"; + }, + + disabled: function( elem ) { + return elem.disabled === true; + }, + + checked: function( elem ) { + return elem.checked === true; + }, + + selected: function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + parent: function( elem ) { + return !!elem.firstChild; + }, + + empty: function( elem ) { + return !elem.firstChild; + }, + + has: function( elem, i, match ) { + return !!Sizzle( match[3], elem ).length; + }, + + header: function( elem ) { + return (/h\d/i).test( elem.nodeName ); + }, + + text: function( elem ) { + // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) + // use getAttribute instead to test this case + return "text" === elem.getAttribute( 'type' ); + }, + radio: function( elem ) { + return "radio" === elem.type; + }, + + checkbox: function( elem ) { + return "checkbox" === elem.type; + }, + + file: function( elem ) { + return "file" === elem.type; + }, + password: function( elem ) { + return "password" === elem.type; + }, + + submit: function( elem ) { + return "submit" === elem.type; + }, + + image: function( elem ) { + return "image" === elem.type; + }, + + reset: function( elem ) { + return "reset" === elem.type; + }, + + button: function( elem ) { + return "button" === elem.type || elem.nodeName.toLowerCase() === "button"; + }, + + input: function( elem ) { + return (/input|select|textarea|button/i).test( elem.nodeName ); + } + }, + setFilters: { + first: function( elem, i ) { + return i === 0; + }, + + last: function( elem, i, match, array ) { + return i === array.length - 1; + }, + + even: function( elem, i ) { + return i % 2 === 0; + }, + + odd: function( elem, i ) { + return i % 2 === 1; + }, + + lt: function( elem, i, match ) { + return i < match[3] - 0; + }, + + gt: function( elem, i, match ) { + return i > match[3] - 0; + }, + + nth: function( elem, i, match ) { + return match[3] - 0 === i; + }, + + eq: function( elem, i, match ) { + return match[3] - 0 === i; + } + }, + filter: { + PSEUDO: function( elem, match, i, array ) { + var name = match[1], + filter = Expr.filters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + + } else if ( name === "contains" ) { + return (elem.textContent || elem.innerText || Sizzle.getText([ elem ]) || "").indexOf(match[3]) >= 0; + + } else if ( name === "not" ) { + var not = match[3]; + + for ( var j = 0, l = not.length; j < l; j++ ) { + if ( not[j] === elem ) { + return false; + } + } + + return true; + + } else { + Sizzle.error( name ); + } + }, + + CHILD: function( elem, match ) { + var type = match[1], + node = elem; + + switch ( type ) { + case "only": + case "first": + while ( (node = node.previousSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + if ( type === "first" ) { + return true; + } + + node = elem; + + case "last": + while ( (node = node.nextSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + return true; + + case "nth": + var first = match[2], + last = match[3]; + + if ( first === 1 && last === 0 ) { + return true; + } + + var doneName = match[0], + parent = elem.parentNode; + + if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) { + var count = 0; + + for ( node = parent.firstChild; node; node = node.nextSibling ) { + if ( node.nodeType === 1 ) { + node.nodeIndex = ++count; + } + } + + parent.sizcache = doneName; + } + + var diff = elem.nodeIndex - last; + + if ( first === 0 ) { + return diff === 0; + + } else { + return ( diff % first === 0 && diff / first >= 0 ); + } + } + }, + + ID: function( elem, match ) { + return elem.nodeType === 1 && elem.getAttribute("id") === match; + }, + + TAG: function( elem, match ) { + return (match === "*" && elem.nodeType === 1) || elem.nodeName.toLowerCase() === match; + }, + + CLASS: function( elem, match ) { + return (" " + (elem.className || elem.getAttribute("class")) + " ") + .indexOf( match ) > -1; + }, + + ATTR: function( elem, match ) { + var name = match[1], + result = Expr.attrHandle[ name ] ? + Expr.attrHandle[ name ]( elem ) : + elem[ name ] != null ? + elem[ name ] : + elem.getAttribute( name ), + value = result + "", + type = match[2], + check = match[4]; + + return result == null ? + type === "!=" : + type === "=" ? + value === check : + type === "*=" ? + value.indexOf(check) >= 0 : + type === "~=" ? + (" " + value + " ").indexOf(check) >= 0 : + !check ? + value && result !== false : + type === "!=" ? + value !== check : + type === "^=" ? + value.indexOf(check) === 0 : + type === "$=" ? + value.substr(value.length - check.length) === check : + type === "|=" ? + value === check || value.substr(0, check.length + 1) === check + "-" : + false; + }, + + POS: function( elem, match, i, array ) { + var name = match[2], + filter = Expr.setFilters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + } + } + } +}; + +var origPOS = Expr.match.POS, + fescape = function(all, num){ + return "\\" + (num - 0 + 1); + }; + +for ( var type in Expr.match ) { + Expr.match[ type ] = new RegExp( Expr.match[ type ].source + (/(?![^\[]*\])(?![^\(]*\))/.source) ); + Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, fescape) ); +} + +var makeArray = function( array, results ) { + array = Array.prototype.slice.call( array, 0 ); + + if ( results ) { + results.push.apply( results, array ); + return results; + } + + return array; +}; + +// Perform a simple check to determine if the browser is capable of +// converting a NodeList to an array using builtin methods. +// Also verifies that the returned array holds DOM nodes +// (which is not the case in the Blackberry browser) +try { + Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType; + +// Provide a fallback method if it does not work +} catch( e ) { + makeArray = function( array, results ) { + var i = 0, + ret = results || []; + + if ( toString.call(array) === "[object Array]" ) { + Array.prototype.push.apply( ret, array ); + + } else { + if ( typeof array.length === "number" ) { + for ( var l = array.length; i < l; i++ ) { + ret.push( array[i] ); + } + + } else { + for ( ; array[i]; i++ ) { + ret.push( array[i] ); + } + } + } + + return ret; + }; +} + +var sortOrder, siblingCheck; + +if ( document.documentElement.compareDocumentPosition ) { + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) { + return a.compareDocumentPosition ? -1 : 1; + } + + return a.compareDocumentPosition(b) & 4 ? -1 : 1; + }; + +} else { + sortOrder = function( a, b ) { + var al, bl, + ap = [], + bp = [], + aup = a.parentNode, + bup = b.parentNode, + cur = aup; + + // The nodes are identical, we can exit early + if ( a === b ) { + hasDuplicate = true; + return 0; + + // If the nodes are siblings (or identical) we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + + // If no parents were found then the nodes are disconnected + } else if ( !aup ) { + return -1; + + } else if ( !bup ) { + return 1; + } + + // Otherwise they're somewhere else in the tree so we need + // to build up a full list of the parentNodes for comparison + while ( cur ) { + ap.unshift( cur ); + cur = cur.parentNode; + } + + cur = bup; + + while ( cur ) { + bp.unshift( cur ); + cur = cur.parentNode; + } + + al = ap.length; + bl = bp.length; + + // Start walking down the tree looking for a discrepancy + for ( var i = 0; i < al && i < bl; i++ ) { + if ( ap[i] !== bp[i] ) { + return siblingCheck( ap[i], bp[i] ); + } + } + + // We ended someplace up the tree so do a sibling check + return i === al ? + siblingCheck( a, bp[i], -1 ) : + siblingCheck( ap[i], b, 1 ); + }; + + siblingCheck = function( a, b, ret ) { + if ( a === b ) { + return ret; + } + + var cur = a.nextSibling; + + while ( cur ) { + if ( cur === b ) { + return -1; + } + + cur = cur.nextSibling; + } + + return 1; + }; +} + +// Utility function for retreiving the text value of an array of DOM nodes +Sizzle.getText = function( elems ) { + var ret = "", elem; + + for ( var i = 0; elems[i]; i++ ) { + elem = elems[i]; + + // Get the text from text nodes and CDATA nodes + if ( elem.nodeType === 3 || elem.nodeType === 4 ) { + ret += elem.nodeValue; + + // Traverse everything else, except comment nodes + } else if ( elem.nodeType !== 8 ) { + ret += Sizzle.getText( elem.childNodes ); + } + } + + return ret; +}; + +// Check to see if the browser returns elements by name when +// querying by getElementById (and provide a workaround) +(function(){ + // We're going to inject a fake input element with a specified name + var form = document.createElement("div"), + id = "script" + (new Date()).getTime(), + root = document.documentElement; + + form.innerHTML = ""; + + // Inject it into the root element, check its status, and remove it quickly + root.insertBefore( form, root.firstChild ); + + // The workaround has to do additional checks after a getElementById + // Which slows things down for other browsers (hence the branching) + if ( document.getElementById( id ) ) { + Expr.find.ID = function( match, context, isXML ) { + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + + return m ? + m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? + [m] : + undefined : + []; + } + }; + + Expr.filter.ID = function( elem, match ) { + var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); + + return elem.nodeType === 1 && node && node.nodeValue === match; + }; + } + + root.removeChild( form ); + + // release memory in IE + root = form = null; +})(); + +(function(){ + // Check to see if the browser returns only elements + // when doing getElementsByTagName("*") + + // Create a fake element + var div = document.createElement("div"); + div.appendChild( document.createComment("") ); + + // Make sure no comments are found + if ( div.getElementsByTagName("*").length > 0 ) { + Expr.find.TAG = function( match, context ) { + var results = context.getElementsByTagName( match[1] ); + + // Filter out possible comments + if ( match[1] === "*" ) { + var tmp = []; + + for ( var i = 0; results[i]; i++ ) { + if ( results[i].nodeType === 1 ) { + tmp.push( results[i] ); + } + } + + results = tmp; + } + + return results; + }; + } + + // Check to see if an attribute returns normalized href attributes + div.innerHTML = ""; + + if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" && + div.firstChild.getAttribute("href") !== "#" ) { + + Expr.attrHandle.href = function( elem ) { + return elem.getAttribute( "href", 2 ); + }; + } + + // release memory in IE + div = null; +})(); + +if ( document.querySelectorAll ) { + (function(){ + var oldSizzle = Sizzle, + div = document.createElement("div"), + id = "__sizzle__"; + + div.innerHTML = "

"; + + // Safari can't handle uppercase or unicode characters when + // in quirks mode. + if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) { + return; + } + + Sizzle = function( query, context, extra, seed ) { + context = context || document; + + // Only use querySelectorAll on non-XML documents + // (ID selectors don't work in non-HTML documents) + if ( !seed && !Sizzle.isXML(context) ) { + // See if we find a selector to speed up + var match = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec( query ); + + if ( match && (context.nodeType === 1 || context.nodeType === 9) ) { + // Speed-up: Sizzle("TAG") + if ( match[1] ) { + return makeArray( context.getElementsByTagName( query ), extra ); + + // Speed-up: Sizzle(".CLASS") + } else if ( match[2] && Expr.find.CLASS && context.getElementsByClassName ) { + return makeArray( context.getElementsByClassName( match[2] ), extra ); + } + } + + if ( context.nodeType === 9 ) { + // Speed-up: Sizzle("body") + // The body element only exists once, optimize finding it + if ( query === "body" && context.body ) { + return makeArray( [ context.body ], extra ); + + // Speed-up: Sizzle("#ID") + } else if ( match && match[3] ) { + var elem = context.getElementById( match[3] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id === match[3] ) { + return makeArray( [ elem ], extra ); + } + + } else { + return makeArray( [], extra ); + } + } + + try { + return makeArray( context.querySelectorAll(query), extra ); + } catch(qsaError) {} + + // qSA works strangely on Element-rooted queries + // We can work around this by specifying an extra ID on the root + // and working up from there (Thanks to Andrew Dupont for the technique) + // IE 8 doesn't work on object elements + } else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + var oldContext = context, + old = context.getAttribute( "id" ), + nid = old || id, + hasParent = context.parentNode, + relativeHierarchySelector = /^\s*[+~]/.test( query ); + + if ( !old ) { + context.setAttribute( "id", nid ); + } else { + nid = nid.replace( /'/g, "\\$&" ); + } + if ( relativeHierarchySelector && hasParent ) { + context = context.parentNode; + } + + try { + if ( !relativeHierarchySelector || hasParent ) { + return makeArray( context.querySelectorAll( "[id='" + nid + "'] " + query ), extra ); + } + + } catch(pseudoError) { + } finally { + if ( !old ) { + oldContext.removeAttribute( "id" ); + } + } + } + } + + return oldSizzle(query, context, extra, seed); + }; + + for ( var prop in oldSizzle ) { + Sizzle[ prop ] = oldSizzle[ prop ]; + } + + // release memory in IE + div = null; + })(); +} + +(function(){ + var html = document.documentElement, + matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector, + pseudoWorks = false; + + try { + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( document.documentElement, "[test!='']:sizzle" ); + + } catch( pseudoError ) { + pseudoWorks = true; + } + + if ( matches ) { + Sizzle.matchesSelector = function( node, expr ) { + // Make sure that attribute selectors are quoted + expr = expr.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"); + + if ( !Sizzle.isXML( node ) ) { + try { + if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) { + return matches.call( node, expr ); + } + } catch(e) {} + } + + return Sizzle(expr, null, null, [node]).length > 0; + }; + } +})(); + +(function(){ + var div = document.createElement("div"); + + div.innerHTML = "
"; + + // Opera can't find a second classname (in 9.6) + // Also, make sure that getElementsByClassName actually exists + if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) { + return; + } + + // Safari caches class attributes, doesn't catch changes (in 3.2) + div.lastChild.className = "e"; + + if ( div.getElementsByClassName("e").length === 1 ) { + return; + } + + Expr.order.splice(1, 0, "CLASS"); + Expr.find.CLASS = function( match, context, isXML ) { + if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) { + return context.getElementsByClassName(match[1]); + } + }; + + // release memory in IE + div = null; +})(); + +function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + + if ( elem ) { + var match = false; + + elem = elem[dir]; + + while ( elem ) { + if ( elem.sizcache === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 && !isXML ){ + elem.sizcache = doneName; + elem.sizset = i; + } + + if ( elem.nodeName.toLowerCase() === cur ) { + match = elem; + break; + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + + if ( elem ) { + var match = false; + + elem = elem[dir]; + + while ( elem ) { + if ( elem.sizcache === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 ) { + if ( !isXML ) { + elem.sizcache = doneName; + elem.sizset = i; + } + + if ( typeof cur !== "string" ) { + if ( elem === cur ) { + match = true; + break; + } + + } else if ( Sizzle.filter( cur, [elem] ).length > 0 ) { + match = elem; + break; + } + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +if ( document.documentElement.contains ) { + Sizzle.contains = function( a, b ) { + return a !== b && (a.contains ? a.contains(b) : true); + }; + +} else if ( document.documentElement.compareDocumentPosition ) { + Sizzle.contains = function( a, b ) { + return !!(a.compareDocumentPosition(b) & 16); + }; + +} else { + Sizzle.contains = function() { + return false; + }; +} + +Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement; + + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +var posProcess = function( selector, context ) { + var match, + tmpSet = [], + later = "", + root = context.nodeType ? [context] : context; + + // Position selectors must be done after the filter + // And so must :not(positional) so we move all PSEUDOs to the end + while ( (match = Expr.match.PSEUDO.exec( selector )) ) { + later += match[0]; + selector = selector.replace( Expr.match.PSEUDO, "" ); + } + + selector = Expr.relative[selector] ? selector + "*" : selector; + + for ( var i = 0, l = root.length; i < l; i++ ) { + Sizzle( selector, root[i], tmpSet ); + } + + return Sizzle.filter( later, tmpSet ); +}; + +// EXPOSE +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[":"] = jQuery.expr.filters; +jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + +})(); + + +var runtil = /Until$/, + rparentsprev = /^(?:parents|prevUntil|prevAll)/, + // Note: This RegExp should be improved, or likely pulled from Sizzle + rmultiselector = /,/, + isSimple = /^.[^:#\[\.,]*$/, + slice = Array.prototype.slice, + POS = jQuery.expr.match.POS, + // methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend({ + find: function( selector ) { + var ret = this.pushStack( "", "find", selector ), + length = 0; + + for ( var i = 0, l = this.length; i < l; i++ ) { + length = ret.length; + jQuery.find( selector, this[i], ret ); + + if ( i > 0 ) { + // Make sure that the results are unique + for ( var n = length; n < ret.length; n++ ) { + for ( var r = 0; r < length; r++ ) { + if ( ret[r] === ret[n] ) { + ret.splice(n--, 1); + break; + } + } + } + } + } + + return ret; + }, + + has: function( target ) { + var targets = jQuery( target ); + return this.filter(function() { + for ( var i = 0, l = targets.length; i < l; i++ ) { + if ( jQuery.contains( this, targets[i] ) ) { + return true; + } + } + }); + }, + + not: function( selector ) { + return this.pushStack( winnow(this, selector, false), "not", selector); + }, + + filter: function( selector ) { + return this.pushStack( winnow(this, selector, true), "filter", selector ); + }, + + is: function( selector ) { + return !!selector && jQuery.filter( selector, this ).length > 0; + }, + + closest: function( selectors, context ) { + var ret = [], i, l, cur = this[0]; + + if ( jQuery.isArray( selectors ) ) { + var match, selector, + matches = {}, + level = 1; + + if ( cur && selectors.length ) { + for ( i = 0, l = selectors.length; i < l; i++ ) { + selector = selectors[i]; + + if ( !matches[selector] ) { + matches[selector] = jQuery.expr.match.POS.test( selector ) ? + jQuery( selector, context || this.context ) : + selector; + } + } + + while ( cur && cur.ownerDocument && cur !== context ) { + for ( selector in matches ) { + match = matches[selector]; + + if ( match.jquery ? match.index(cur) > -1 : jQuery(cur).is(match) ) { + ret.push({ selector: selector, elem: cur, level: level }); + } + } + + cur = cur.parentNode; + level++; + } + } + + return ret; + } + + var pos = POS.test( selectors ) ? + jQuery( selectors, context || this.context ) : null; + + for ( i = 0, l = this.length; i < l; i++ ) { + cur = this[i]; + + while ( cur ) { + if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) { + ret.push( cur ); + break; + + } else { + cur = cur.parentNode; + if ( !cur || !cur.ownerDocument || cur === context ) { + break; + } + } + } + } + + ret = ret.length > 1 ? jQuery.unique(ret) : ret; + + return this.pushStack( ret, "closest", selectors ); + }, + + // Determine the position of an element within + // the matched set of elements + index: function( elem ) { + if ( !elem || typeof elem === "string" ) { + return jQuery.inArray( this[0], + // If it receives a string, the selector is used + // If it receives nothing, the siblings are used + elem ? jQuery( elem ) : this.parent().children() ); + } + // Locate the position of the desired element + return jQuery.inArray( + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[0] : elem, this ); + }, + + add: function( selector, context ) { + var set = typeof selector === "string" ? + jQuery( selector, context ) : + jQuery.makeArray( selector ), + all = jQuery.merge( this.get(), set ); + + return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ? + all : + jQuery.unique( all ) ); + }, + + andSelf: function() { + return this.add( this.prevObject ); + } +}); + +// A painfully simple check to see if an element is disconnected +// from a document (should be improved, where feasible). +function isDisconnected( node ) { + return !node || !node.parentNode || node.parentNode.nodeType === 11; +} + +jQuery.each({ + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return jQuery.dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return jQuery.dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return jQuery.nth( elem, 2, "nextSibling" ); + }, + prev: function( elem ) { + return jQuery.nth( elem, 2, "previousSibling" ); + }, + nextAll: function( elem ) { + return jQuery.dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return jQuery.dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return jQuery.dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return jQuery.dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return jQuery.sibling( elem.parentNode.firstChild, elem ); + }, + children: function( elem ) { + return jQuery.sibling( elem.firstChild ); + }, + contents: function( elem ) { + return jQuery.nodeName( elem, "iframe" ) ? + elem.contentDocument || elem.contentWindow.document : + jQuery.makeArray( elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var ret = jQuery.map( this, fn, until ), + // The variable 'args' was introduced in + // https://github.com/jquery/jquery/commit/52a0238 + // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. + // http://code.google.com/p/v8/issues/detail?id=1050 + args = slice.call(arguments); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; + + if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret, name, args.join(",") ); + }; +}); + +jQuery.extend({ + filter: function( expr, elems, not ) { + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 ? + jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] : + jQuery.find.matches(expr, elems); + }, + + dir: function( elem, dir, until ) { + var matched = [], + cur = elem[ dir ]; + + while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { + if ( cur.nodeType === 1 ) { + matched.push( cur ); + } + cur = cur[dir]; + } + return matched; + }, + + nth: function( cur, result, dir, elem ) { + result = result || 1; + var num = 0; + + for ( ; cur; cur = cur[dir] ) { + if ( cur.nodeType === 1 && ++num === result ) { + break; + } + } + + return cur; + }, + + sibling: function( n, elem ) { + var r = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + r.push( n ); + } + } + + return r; + } +}); + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, keep ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep(elements, function( elem, i ) { + var retVal = !!qualifier.call( elem, i, elem ); + return retVal === keep; + }); + + } else if ( qualifier.nodeType ) { + return jQuery.grep(elements, function( elem, i ) { + return (elem === qualifier) === keep; + }); + + } else if ( typeof qualifier === "string" ) { + var filtered = jQuery.grep(elements, function( elem ) { + return elem.nodeType === 1; + }); + + if ( isSimple.test( qualifier ) ) { + return jQuery.filter(qualifier, filtered, !keep); + } else { + qualifier = jQuery.filter( qualifier, filtered ); + } + } + + return jQuery.grep(elements, function( elem, i ) { + return (jQuery.inArray( elem, qualifier ) >= 0) === keep; + }); +} + + + + +var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g, + rleadingWhitespace = /^\s+/, + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig, + rtagName = /<([\w:]+)/, + rtbody = /", "" ], + legend: [ 1, "
", "
" ], + thead: [ 1, "", "
" ], + tr: [ 2, "", "
" ], + td: [ 3, "", "
" ], + col: [ 2, "", "
" ], + area: [ 1, "", "" ], + _default: [ 0, "", "" ] + }; + +wrapMap.optgroup = wrapMap.option; +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// IE can't serialize and +<# } #> + + + +<# } #> +<% using (Html.BeginForm()) { %> + <%: Html.ValidationSummary(true) %> +
+ <#= Model.ViewDataTypeName ?? String.Empty #> + + <%: Html.Partial("CreateOrEdit", Model) %> +

+ +

+
+<% } %> + +
+ <%: Html.ActionLink("Back to List", "Index") %> +
+<# +// The following code closes the asp:Content tag used in the case of a master page and the body and html tags in the case of a regular view page +#> +<# +if(Model.IsContentPage) { +#> + + +<# + foreach(string cphid in Model.SectionNames) { + if(!cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase) && !cphid.Equals(Model.PrimarySectionName, StringComparison.OrdinalIgnoreCase)) { + CPHCounter++; +#> + + + +<# + } + } +#> +<# +} else if(!Model.IsContentPage) { + ClearIndent(); +#> + + +<# +} +#> + +<#+ +// Describes the information about a property on the model +class ModelProperty { + public string Name { get; set; } + public string ValueExpression { get; set; } + public EnvDTE.CodeTypeRef Type { get; set; } + public bool IsPrimaryKey { get; set; } + public bool IsForeignKey { get; set; } + public bool IsReadOnly { get; set; } +} + +// Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +static Type[] bindableNonPrimitiveTypes = new[] { + typeof(string), + typeof(decimal), + typeof(Guid), + typeof(DateTime), + typeof(DateTimeOffset), + typeof(TimeSpan), +}; + +// Call this to get the list of properties in the model. Change this to modify or add your +// own default formatting for display values. +List GetModelProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = GetEligibleProperties(typeInfo, includeUnbindableProperties); + + foreach (ModelProperty prop in results) { + if (prop.Type.UnderlyingTypeIs() || prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:F}\", " + prop.ValueExpression + ")"; + } + else if (prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:g}\", " + prop.ValueExpression + ")"; + } + else if (!IsBindableType(prop.Type)) { + prop.ValueExpression = GetValueExpression("Model." + prop.Name, (EnvDTE.CodeType)prop.Type.CodeType); + } + } + + return results; +} + +// Change this list to include the names of properties that should be selected to represent an entity as a single string +static string[] displayPropertyNames = new[] { "Name", "Title", "LastName", "Surname", "Subject", "Count" }; + +string GetValueExpression(string propertyExpression, EnvDTE.CodeType propertyType) { + if (propertyType != null) { + var chosenSubproperty = propertyType.DisplayColumnProperty() ?? propertyType.FindProperty(displayPropertyNames); + if (chosenSubproperty != null) { + var toStringSuffix = chosenSubproperty.Type.AsFullName == "System.String" ? "" : ".ToString()"; + return String.Format("({0} == null ? \"None\" : {0}.{1}{2})", propertyExpression, chosenSubproperty.Name, toStringSuffix); + } + } + return "Html.DisplayTextFor(_ => " + propertyExpression + ").ToString()"; +} + +// Helper +List GetEligibleProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = new List(); + if (typeInfo != null) { + foreach (var prop in typeInfo.VisibleMembers().OfType()) { + if (prop.IsReadable() && !prop.HasIndexParameters() && (includeUnbindableProperties || IsBindableType(prop.Type))) { + results.Add(new ModelProperty { + Name = prop.Name, + ValueExpression = "Model." + prop.Name, + Type = prop.Type, + IsPrimaryKey = Model.PrimaryKeyName == prop.Name, + IsForeignKey = ParentRelations.Any(x => x.RelationProperty == prop), + IsReadOnly = !prop.IsWriteable() + }); + } + } + } + + return results; +} + +IEnumerable ParentRelations { + get { return ((IEnumerable)Model.RelatedEntities).OfType().Where(x => x.RelationType == RelationType.Parent); } +} + +// Helper +bool IsBindableType(EnvDTE.CodeTypeRef type) { + return type.UnderlyingIsPrimitive() || bindableNonPrimitiveTypes.Any(x => type.UnderlyingTypeIs(x)); +} +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Create.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Create.vb.t4 new file mode 100644 index 0000000..98ecf2b --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Create.vb.t4 @@ -0,0 +1,200 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="aspx" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<#@ import namespace="EnvDTE" #> +<# +Dim viewDataType = CType(Model.ViewDataType, CodeType) +Dim mvcViewDataTypeGenericString As String = If(viewDataType IsNot Nothing, "(Of " & viewDataType.FullName & ")", String.Empty) +Dim CPHCounter As Integer = 1 +#> +<# +If Model.IsContentPage Then +#> +<%@ Page Title="" Language="VB" MasterPageFile="~<#= Model.Layout #>" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + +<# + For Each cphid As String In Model.SectionNames + If cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase) Then +#> + + <#= Model.ViewName #> + + +<# + CPHCounter += 1 + End If + Next +#> + + +

<#= Model.ViewName #>

+ +<# +Else +#> +<%@ Page Language="VB" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + + + + + <#= Model.ViewName #> + + +<# + PushIndent(" ") +End If +#> +<%-- The following line works around an ASP.NET compiler warning --%> +<%: "" %> + +<# If Model.ReferenceScriptLibraries Then #> +<# If Not Model.IsContentPage Then #> + +<# End If #> + + + +<# End If #> +<% Using Html.BeginForm() %> + <%: Html.ValidationSummary(True) %> +
+ <#= If(Model.ViewDataTypeName, String.Empty) #> + + <%: Html.Partial("CreateOrEdit", Model) %> +

+ +

+
+<% End Using %> + +
+ <%: Html.ActionLink("Back to List", "Index") %> +
+<# +' The following code closes the asp:Content tag used in the case of a master page and the body and html tags in the case of a regular view page +#> +<# +If Model.IsContentPage +#> + +
+<# + For Each cphid As String In Model.SectionNames + If String.Compare(cphid, "TitleContent", StringComparison.OrdinalIgnoreCase) <> 0 AndAlso String.Compare(cphid, Model.PrimarySectionName, StringComparison.OrdinalIgnoreCase) <> 0 Then + CPHCounter +=1 +#> + + + +<# + End If + Next +#> +<# +Else If Not Model.IsContentPage Then + ClearIndent() +#> + + +<# +End If +#> + +<#+ +' Describes the information about a property on the model +Private Class ModelProperty + Public Name As String + Public ValueExpression As String + Public Type As CodeTypeRef + Public IsReadOnly As Boolean + Public IsPrimaryKey As Boolean + Public IsForeignKey As Boolean +End Class + +' Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +Private Shared bindableNonPrimitiveTypes As Type() = New Type() { + GetType(String), + GetType(Decimal), + GetType(Guid), + GetType(DateTime), + GetType(DateTimeOffset), + GetType(TimeSpan) +} + +' Call this to get the list of properties in the model. Change this to modify or add your +' own default formatting for display values. +Private Function GetModelProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As List(Of ModelProperty) = GetEligibleProperties(type, includeUnbindableProperties) + + For Each modelProp As ModelProperty In results + If ((modelProp.Type.UnderlyingTypeIs(GetType(Double))) OrElse (modelProp.Type.UnderlyingTypeIs(GetType(Decimal)))) Then + modelProp.ValueExpression = ("String.Format(""{0:F}"", " & modelProp.ValueExpression & ")") + ElseIf (modelProp.Type.UnderlyingTypeIs(GetType(DateTime))) Then + modelProp.ValueExpression = ("String.Format(""{0:g}"", " & modelProp.ValueExpression & ")") + ElseIf (Not IsBindableType(modelProp.Type)) + modelProp.ValueExpression = GetValueExpression("Model." & modelProp.Name, CType(modelProp.Type.CodeType, CodeType)) + End If + Next + + Return results +End Function + +' Change this list to include the names of properties that should be selected to represent an entity as a single string +Private Shared displayPropertyNames As String() = New String() { "Name", "Title", "LastName", "Surname", "Subject", "Count" } + +Private Function GetValueExpression(ByVal propertyExpression As String, ByVal propertyType As CodeType) As String + If propertyType IsNot Nothing Then + Dim chosenSubproperty = If(propertyType.DisplayColumnProperty(), propertyType.FindProperty(displayPropertyNames)) + If chosenSubproperty IsNot Nothing Then + Dim toStringSuffix = If(chosenSubproperty.Type.AsFullName = "System.String", "", ".ToString()") + Return String.Format("(If({0} Is Nothing, ""None"", {0}.{1}{2}))", propertyExpression, chosenSubproperty.Name, toStringSuffix) + End If + End If + Return "Html.DisplayTextFor(Function(model) " & propertyExpression & ").ToString()" +End Function + +' Helper +Private Function GetEligibleProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As New List(Of ModelProperty) + + If type IsNot Nothing Then + For Each prop As CodeProperty In type.VisibleMembers().OfType(Of CodeProperty)() + Dim propValue = prop + If (prop.IsReadable() AndAlso (Not prop.HasIndexParameters()) AndAlso (includeUnbindableProperties OrElse IsBindableType(prop.Type))) Then + results.Add(New ModelProperty() With { _ + .Name = prop.Name, _ + .ValueExpression = ("Model." & prop.Name), _ + .Type = prop.Type, _ + .IsPrimaryKey = Model.PrimaryKeyName = prop.Name, _ + .IsReadOnly = Not prop.IsWriteable(), _ + .IsForeignKey = ParentRelations.Any(Function(x) propValue.Name = x.RelationProperty.Name) _ + }) + End If + Next + End If + + Return results +End Function + +Private ReadOnly Property ParentRelations As IEnumerable(Of RelatedEntityInfo) + Get + Return CType(Model.RelatedEntities, IEnumerable).OfType(Of RelatedEntityInfo)().Where(Function(x) x.RelationType = RelationType.Parent) + End Get +End Property + +' Helper +Private Function IsBindableType(ByVal type As CodeTypeRef) As Boolean + Return type.UnderlyingIsPrimitive() OrElse bindableNonPrimitiveTypes.Any(Function(x) type.UnderlyingTypeIs(x)) +End Function +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/CreateOrEdit.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/CreateOrEdit.cs.t4 new file mode 100644 index 0000000..11d19be --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/CreateOrEdit.cs.t4 @@ -0,0 +1,138 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="ascx" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<# + var viewDataType = (EnvDTE.CodeType) Model.ViewDataType; + var mvcViewDataTypeGenericString = (viewDataType != null) ? "<" + viewDataType.FullName + ">" : ""; +#> +<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<#= mvcViewDataTypeGenericString #>" %> + +<# +foreach (ModelProperty property in GetModelProperties(Model.ViewDataType, false)) { + if (!property.IsPrimaryKey && !property.IsForeignKey && !property.IsReadOnly) { +#> +
+ <%: Html.LabelFor(model => model.<#= property.Name #>) %> +
+
+ <%: Html.EditorFor(model => model.<#= property.Name #>) %> + <%: Html.ValidationMessageFor(model => model.<#= property.Name #>) %> +
+ +<# + } +} +#> +<# +foreach (RelatedEntityInfo relation in ParentRelations) { +#> +
+ <#= relation.RelationName #> +
+
+ <%: Html.DropDownListFor(model => model.<#= relation.RelationProperty.Name #>, ((IEnumerable<<#= relation.RelatedEntityType.FullName #>>)ViewBag.Possible<#= relation.RelationNamePlural #>).Select(option => new SelectListItem { + Text = <#= GetValueExpression("option", relation.RelatedEntityType) #>, + Value = option.<#= relation.RelatedEntityPrimaryKeyName #>.ToString(), + Selected = (Model != null) && (option.<#= relation.RelatedEntityPrimaryKeyName #> == Model.<#= relation.RelationProperty.Name #>) + }), "Choose...") %> + <%: Html.ValidationMessageFor(model => model.<#= relation.RelationProperty.Name #>) %> +
+<# +} +#> +<#+ +// Describes the information about a property on the model +class ModelProperty { + public string Name { get; set; } + public string ValueExpression { get; set; } + public EnvDTE.CodeTypeRef Type { get; set; } + public bool IsPrimaryKey { get; set; } + public bool IsForeignKey { get; set; } + public bool IsReadOnly { get; set; } +} + +// Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +static Type[] bindableNonPrimitiveTypes = new[] { + typeof(string), + typeof(decimal), + typeof(Guid), + typeof(DateTime), + typeof(DateTimeOffset), + typeof(TimeSpan), +}; + +// Call this to get the list of properties in the model. Change this to modify or add your +// own default formatting for display values. +List GetModelProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = GetEligibleProperties(typeInfo, includeUnbindableProperties); + + foreach (ModelProperty prop in results) { + if (prop.Type.UnderlyingTypeIs() || prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:F}\", " + prop.ValueExpression + ")"; + } + else if (prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:g}\", " + prop.ValueExpression + ")"; + } + else if (!IsBindableType(prop.Type)) { + prop.ValueExpression = GetValueExpression("Model." + prop.Name, (EnvDTE.CodeType)prop.Type.CodeType); + } + } + + return results; +} + +// Change this list to include the names of properties that should be selected to represent an entity as a single string +static string[] displayPropertyNames = new[] { "Name", "Title", "LastName", "Surname", "Subject", "Count" }; + +string GetValueExpression(string propertyExpression, EnvDTE.CodeType propertyType) { + if (propertyType != null) { + var chosenSubproperty = propertyType.DisplayColumnProperty() ?? propertyType.FindProperty(displayPropertyNames); + if (chosenSubproperty != null) { + var toStringSuffix = chosenSubproperty.Type.AsFullName == "System.String" ? "" : ".ToString()"; + return String.Format("({0} == null ? \"None\" : {0}.{1}{2})", propertyExpression, chosenSubproperty.Name, toStringSuffix); + } + } + return "Html.DisplayTextFor(_ => " + propertyExpression + ").ToString()"; +} + +// Helper +List GetEligibleProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = new List(); + if (typeInfo != null) { + foreach (var prop in typeInfo.VisibleMembers().OfType()) { + if (prop.IsReadable() && !prop.HasIndexParameters() && (includeUnbindableProperties || IsBindableType(prop.Type))) { + results.Add(new ModelProperty { + Name = prop.Name, + ValueExpression = "Model." + prop.Name, + Type = prop.Type, + IsPrimaryKey = Model.PrimaryKeyName == prop.Name, + IsForeignKey = ParentRelations.Any(x => x.RelationProperty == prop), + IsReadOnly = !prop.IsWriteable() + }); + } + } + } + + return results; +} + +IEnumerable ParentRelations { + get { return ((IEnumerable)Model.RelatedEntities).OfType().Where(x => x.RelationType == RelationType.Parent); } +} + +// Helper +bool IsBindableType(EnvDTE.CodeTypeRef type) { + return type.UnderlyingIsPrimitive() || bindableNonPrimitiveTypes.Any(x => type.UnderlyingTypeIs(x)); +} +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/CreateOrEdit.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/CreateOrEdit.vb.t4 new file mode 100644 index 0000000..347c316 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/CreateOrEdit.vb.t4 @@ -0,0 +1,136 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="ascx" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<#@ import namespace="EnvDTE" #> +<# +Dim viewDataType = CType(Model.ViewDataType, CodeType) +Dim mvcViewDataTypeGenericString As String = If(viewDataType IsNot Nothing, "(Of " & viewDataType.FullName & ")", String.Empty) +#> +<%@ Control Language="VB" Inherits="System.Web.Mvc.ViewUserControl<#= mvcViewDataTypeGenericString #>" %> + +<# +For Each modelProp As ModelProperty In GetModelProperties(Model.ViewDataType, False) + If (Not modelProp.IsPrimaryKey) AndAlso (Not modelProp.IsForeignKey) AndAlso (Not modelProp.IsReadOnly) Then +#> +
+ <%: Html.LabelFor(Function(model) model.<#= modelProp.Name #>) %> +
+
+ <%: Html.EditorFor(Function(model) model.<#= modelProp.Name #>) %> + <%: Html.ValidationMessageFor(Function(model) model.<#= modelProp.Name #>) %> +
+ +<# + End If +Next +#> +<# For Each relation As RelatedEntityInfo In ParentRelations #> +
+ <#= relation.RelationName #> +
+
+ <%: Html.DropDownListFor(Function(model) model.<#= relation.RelationProperty.Name #>, CType(ViewBag.Possible<#= relation.RelationNamePlural #>, IEnumerable(Of <#= relation.RelatedEntityType.FullName #>)).Select(Function(optionValue) New SelectListItem() With { _ + .Text = <#= GetValueExpression("optionValue", relation.RelatedEntityType) #>, _ + .Value = optionValue.<#= relation.RelatedEntityPrimaryKeyName #>.ToString(), _ + .Selected = (Model IsNot Nothing) AndAlso (optionValue.<#= relation.RelatedEntityPrimaryKeyName #>.Equals(Model.<#= relation.RelationProperty.Name #>)) _ + }), "Choose...") %> + <%: Html.ValidationMessageFor(Function(model) model.<#= relation.RelationProperty.Name #>) %> +
+<# Next #><#+ +' Describes the information about a property on the model +Private Class ModelProperty + Public Name As String + Public ValueExpression As String + Public Type As CodeTypeRef + Public IsReadOnly As Boolean + Public IsPrimaryKey As Boolean + Public IsForeignKey As Boolean +End Class + +' Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +Private Shared bindableNonPrimitiveTypes As Type() = New Type() { + GetType(String), + GetType(Decimal), + GetType(Guid), + GetType(DateTime), + GetType(DateTimeOffset), + GetType(TimeSpan) +} + +' Call this to get the list of properties in the model. Change this to modify or add your +' own default formatting for display values. +Private Function GetModelProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As List(Of ModelProperty) = GetEligibleProperties(type, includeUnbindableProperties) + + For Each modelProp As ModelProperty In results + If ((modelProp.Type.UnderlyingTypeIs(GetType(Double))) OrElse (modelProp.Type.UnderlyingTypeIs(GetType(Decimal)))) Then + modelProp.ValueExpression = ("String.Format(""{0:F}"", " & modelProp.ValueExpression & ")") + ElseIf (modelProp.Type.UnderlyingTypeIs(GetType(DateTime))) Then + modelProp.ValueExpression = ("String.Format(""{0:g}"", " & modelProp.ValueExpression & ")") + ElseIf (Not IsBindableType(modelProp.Type)) + modelProp.ValueExpression = GetValueExpression("Model." & modelProp.Name, CType(modelProp.Type.CodeType, CodeType)) + End If + Next + + Return results +End Function + +' Change this list to include the names of properties that should be selected to represent an entity as a single string +Private Shared displayPropertyNames As String() = New String() { "Name", "Title", "LastName", "Surname", "Subject", "Count" } + +Private Function GetValueExpression(ByVal propertyExpression As String, ByVal propertyType As CodeType) As String + If propertyType IsNot Nothing Then + Dim chosenSubproperty = If(propertyType.DisplayColumnProperty(), propertyType.FindProperty(displayPropertyNames)) + If chosenSubproperty IsNot Nothing Then + Dim toStringSuffix = If(chosenSubproperty.Type.AsFullName = "System.String", "", ".ToString()") + Return String.Format("(If({0} Is Nothing, ""None"", {0}.{1}{2}))", propertyExpression, chosenSubproperty.Name, toStringSuffix) + End If + End If + Return "Html.DisplayTextFor(Function(model) " & propertyExpression & ").ToString()" +End Function + +' Helper +Private Function GetEligibleProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As New List(Of ModelProperty) + + If type IsNot Nothing Then + For Each prop As CodeProperty In type.VisibleMembers().OfType(Of CodeProperty)() + Dim propValue = prop + If (prop.IsReadable() AndAlso (Not prop.HasIndexParameters()) AndAlso (includeUnbindableProperties OrElse IsBindableType(prop.Type))) Then + results.Add(New ModelProperty() With { _ + .Name = prop.Name, _ + .ValueExpression = ("Model." & prop.Name), _ + .Type = prop.Type, _ + .IsPrimaryKey = Model.PrimaryKeyName = prop.Name, _ + .IsReadOnly = Not prop.IsWriteable(), _ + .IsForeignKey = ParentRelations.Any(Function(x) propValue.Name = x.RelationProperty.Name) _ + }) + End If + Next + End If + + Return results +End Function + +Private ReadOnly Property ParentRelations As IEnumerable(Of RelatedEntityInfo) + Get + Return CType(Model.RelatedEntities, IEnumerable).OfType(Of RelatedEntityInfo)().Where(Function(x) x.RelationType = RelationType.Parent) + End Get +End Property + +' Helper +Private Function IsBindableType(ByVal type As CodeTypeRef) As Boolean + Return type.UnderlyingIsPrimitive() OrElse bindableNonPrimitiveTypes.Any(Function(x) type.UnderlyingTypeIs(x)) +End Function +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Delete.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Delete.cs.t4 new file mode 100644 index 0000000..5d4ea9e --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Delete.cs.t4 @@ -0,0 +1,193 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="aspx" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<# var viewDataType = (EnvDTE.CodeType) Model.ViewDataType; #> +<# +string mvcViewDataTypeGenericString = (viewDataType != null) ? "<" + viewDataType.FullName + ">" : ""; +int CPHCounter = 1; +#> +<# +if(Model.IsContentPage) { +#> +<%@ Page Title="" Language="C#" MasterPageFile="~<#= Model.Layout #>" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + +<# + foreach(string cphid in Model.SectionNames) { + if(cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase)) { +#> + + <#= Model.ViewName #> + + +<# + CPHCounter++; + } + } +#> + + +

<#= Model.ViewName #>

+ +<# +} else { +#> +<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + + + + + <#= Model.ViewName #> + + +<# + PushIndent(" "); +} +#> +

Are you sure you want to delete this?

+
+ <#= Model.ViewDataTypeName ?? String.Empty #> +<# +foreach (ModelProperty property in GetModelProperties(Model.ViewDataType, true)) { + if (!property.IsPrimaryKey && !property.IsForeignKey) { +#> + +
<#= property.Name #>
+
<%: <#= property.ValueExpression #> %>
+<# + } +} +#> +
+<% using (Html.BeginForm()) { %> +

+ | + <%: Html.ActionLink("Back to List", "Index") %> +

+<% } %> + +<# +// The following code closes the asp:Content tag used in the case of a master page and the body and html tags in the case of a regular view page +#> +<# +if(Model.IsContentPage) { +#> +
+<# + foreach(string cphid in Model.SectionNames) { + if(!cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase) && !cphid.Equals(Model.PrimarySectionName, StringComparison.OrdinalIgnoreCase)) { + CPHCounter++; +#> + + + +<# + } + } +#> +<# +} else if(!Model.IsContentPage) { + ClearIndent(); +#> + + +<# +} +#> + + +<#+ +// Describes the information about a property on the model +class ModelProperty { + public string Name { get; set; } + public string ValueExpression { get; set; } + public EnvDTE.CodeTypeRef Type { get; set; } + public bool IsPrimaryKey { get; set; } + public bool IsForeignKey { get; set; } + public bool IsReadOnly { get; set; } +} + +// Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +static Type[] bindableNonPrimitiveTypes = new[] { + typeof(string), + typeof(decimal), + typeof(Guid), + typeof(DateTime), + typeof(DateTimeOffset), + typeof(TimeSpan), +}; + +// Call this to get the list of properties in the model. Change this to modify or add your +// own default formatting for display values. +List GetModelProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = GetEligibleProperties(typeInfo, includeUnbindableProperties); + + foreach (ModelProperty prop in results) { + if (prop.Type.UnderlyingTypeIs() || prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:F}\", " + prop.ValueExpression + ")"; + } + else if (prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:g}\", " + prop.ValueExpression + ")"; + } + else if (!IsBindableType(prop.Type)) { + prop.ValueExpression = GetValueExpression("Model." + prop.Name, (EnvDTE.CodeType)prop.Type.CodeType); + } + } + + return results; +} + +// Change this list to include the names of properties that should be selected to represent an entity as a single string +static string[] displayPropertyNames = new[] { "Name", "Title", "LastName", "Surname", "Subject", "Count" }; + +string GetValueExpression(string propertyExpression, EnvDTE.CodeType propertyType) { + if (propertyType != null) { + var chosenSubproperty = propertyType.DisplayColumnProperty() ?? propertyType.FindProperty(displayPropertyNames); + if (chosenSubproperty != null) { + var toStringSuffix = chosenSubproperty.Type.AsFullName == "System.String" ? "" : ".ToString()"; + return String.Format("({0} == null ? \"None\" : {0}.{1}{2})", propertyExpression, chosenSubproperty.Name, toStringSuffix); + } + } + return "Html.DisplayTextFor(_ => " + propertyExpression + ").ToString()"; +} + +// Helper +List GetEligibleProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = new List(); + if (typeInfo != null) { + foreach (var prop in typeInfo.VisibleMembers().OfType()) { + if (prop.IsReadable() && !prop.HasIndexParameters() && (includeUnbindableProperties || IsBindableType(prop.Type))) { + results.Add(new ModelProperty { + Name = prop.Name, + ValueExpression = "Model." + prop.Name, + Type = prop.Type, + IsPrimaryKey = Model.PrimaryKeyName == prop.Name, + IsForeignKey = ParentRelations.Any(x => x.RelationProperty == prop), + IsReadOnly = !prop.IsWriteable() + }); + } + } + } + + return results; +} + +IEnumerable ParentRelations { + get { return ((IEnumerable)Model.RelatedEntities).OfType().Where(x => x.RelationType == RelationType.Parent); } +} + +// Helper +bool IsBindableType(EnvDTE.CodeTypeRef type) { + return type.UnderlyingIsPrimitive() || bindableNonPrimitiveTypes.Any(x => type.UnderlyingTypeIs(x)); +} +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Delete.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Delete.vb.t4 new file mode 100644 index 0000000..0e39309 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Delete.vb.t4 @@ -0,0 +1,195 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="aspx" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<#@ import namespace="EnvDTE" #> +<# +Dim viewDataType = CType(Model.ViewDataType, CodeType) +Dim mvcViewDataTypeGenericString As String = If(viewDataType IsNot Nothing, "(Of " & viewDataType.FullName & ")", String.Empty) +Dim CPHCounter As Integer = 1 +#> +<# +If Model.IsContentPage Then +#> +<%@ Page Title="" Language="VB" MasterPageFile="~<#= Model.Layout #>" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + +<# + For Each cphid As String In Model.SectionNames + If cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase) Then +#> + + <#= Model.ViewName #> + + +<# + CPHCounter += 1 + End If + Next +#> + + +

<#= Model.ViewName #>

+ +<# +Else +#> +<%@ Page Language="VB" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + + + + + <#= Model.ViewName #> + + +<# + PushIndent(" ") +End If +#> +

Are you sure you want to delete this?

+
+ <#= If(Model.ViewDataTypeName, String.Empty) #> +<# +For Each modelProp As ModelProperty In GetModelProperties(Model.ViewDataType, True) + If (Not modelProp.IsPrimaryKey AndAlso Not modelProp.IsForeignKey) Then +#> + +
<#= modelProp.Name #>
+
<%: <#= modelProp.ValueExpression #> %>
+<# + End If +Next +#> +
+<% Using Html.BeginForm() %> +

+ | + <%: Html.ActionLink("Back to List", "Index") %> +

+<% End Using %> + +<# +' The following code closes the asp:Content tag used in the case of a master page and the body and html tags in the case of a regular view page +#> +<# +If Model.IsContentPage +#> +
+<# + For Each cphid As String In Model.SectionNames + If String.Compare(cphid, "TitleContent", StringComparison.OrdinalIgnoreCase) <> 0 AndAlso String.Compare(cphid, Model.PrimarySectionName, StringComparison.OrdinalIgnoreCase) <> 0 Then + CPHCounter +=1 +#> + + + +<# + End If + Next +#> +<# +Else If Not Model.IsContentPage Then + ClearIndent() +#> + + +<# +End If +#> + +<#+ +' Describes the information about a property on the model +Private Class ModelProperty + Public Name As String + Public ValueExpression As String + Public Type As CodeTypeRef + Public IsReadOnly As Boolean + Public IsPrimaryKey As Boolean + Public IsForeignKey As Boolean +End Class + +' Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +Private Shared bindableNonPrimitiveTypes As Type() = New Type() { + GetType(String), + GetType(Decimal), + GetType(Guid), + GetType(DateTime), + GetType(DateTimeOffset), + GetType(TimeSpan) +} + +' Call this to get the list of properties in the model. Change this to modify or add your +' own default formatting for display values. +Private Function GetModelProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As List(Of ModelProperty) = GetEligibleProperties(type, includeUnbindableProperties) + + For Each modelProp As ModelProperty In results + If ((modelProp.Type.UnderlyingTypeIs(GetType(Double))) OrElse (modelProp.Type.UnderlyingTypeIs(GetType(Decimal)))) Then + modelProp.ValueExpression = ("String.Format(""{0:F}"", " & modelProp.ValueExpression & ")") + ElseIf (modelProp.Type.UnderlyingTypeIs(GetType(DateTime))) Then + modelProp.ValueExpression = ("String.Format(""{0:g}"", " & modelProp.ValueExpression & ")") + ElseIf (Not IsBindableType(modelProp.Type)) + modelProp.ValueExpression = GetValueExpression("Model." & modelProp.Name, CType(modelProp.Type.CodeType, CodeType)) + End If + Next + + Return results +End Function + +' Change this list to include the names of properties that should be selected to represent an entity as a single string +Private Shared displayPropertyNames As String() = New String() { "Name", "Title", "LastName", "Surname", "Subject", "Count" } + +Private Function GetValueExpression(ByVal propertyExpression As String, ByVal propertyType As CodeType) As String + If propertyType IsNot Nothing Then + Dim chosenSubproperty = If(propertyType.DisplayColumnProperty(), propertyType.FindProperty(displayPropertyNames)) + If chosenSubproperty IsNot Nothing Then + Dim toStringSuffix = If(chosenSubproperty.Type.AsFullName = "System.String", "", ".ToString()") + Return String.Format("(If({0} Is Nothing, ""None"", {0}.{1}{2}))", propertyExpression, chosenSubproperty.Name, toStringSuffix) + End If + End If + Return "Html.DisplayTextFor(Function(model) " & propertyExpression & ").ToString()" +End Function + +' Helper +Private Function GetEligibleProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As New List(Of ModelProperty) + + If type IsNot Nothing Then + For Each prop As CodeProperty In type.VisibleMembers().OfType(Of CodeProperty)() + Dim propValue = prop + If (prop.IsReadable() AndAlso (Not prop.HasIndexParameters()) AndAlso (includeUnbindableProperties OrElse IsBindableType(prop.Type))) Then + results.Add(New ModelProperty() With { _ + .Name = prop.Name, _ + .ValueExpression = ("Model." & prop.Name), _ + .Type = prop.Type, _ + .IsPrimaryKey = Model.PrimaryKeyName = prop.Name, _ + .IsReadOnly = Not prop.IsWriteable(), _ + .IsForeignKey = ParentRelations.Any(Function(x) propValue.Name = x.RelationProperty.Name) _ + }) + End If + Next + End If + + Return results +End Function + +Private ReadOnly Property ParentRelations As IEnumerable(Of RelatedEntityInfo) + Get + Return CType(Model.RelatedEntities, IEnumerable).OfType(Of RelatedEntityInfo)().Where(Function(x) x.RelationType = RelationType.Parent) + End Get +End Property + +' Helper +Private Function IsBindableType(ByVal type As CodeTypeRef) As Boolean + Return type.UnderlyingIsPrimitive() OrElse bindableNonPrimitiveTypes.Any(Function(x) type.UnderlyingTypeIs(x)) +End Function +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Details.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Details.cs.t4 new file mode 100644 index 0000000..c90ce29 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Details.cs.t4 @@ -0,0 +1,202 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="aspx" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<# var viewDataType = (EnvDTE.CodeType) Model.ViewDataType; #> +<# +string mvcViewDataTypeGenericString = (viewDataType != null) ? "<" + viewDataType.FullName + ">" : ""; +int CPHCounter = 1; +#> +<# +if(Model.IsContentPage) { +#> +<%@ Page Title="" Language="C#" MasterPageFile="~<#= Model.Layout #>" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + +<# + foreach(string cphid in Model.SectionNames) { + if(cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase)) { +#> + + <#= Model.ViewName #> + + +<# + CPHCounter++; + } + } +#> + + +

<#= Model.ViewName #>

+ +<# +} else { +#> +<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + + + + + <#= Model.ViewName #> + + +<# + PushIndent(" "); +} +#> +
+ <#= Model.ViewDataTypeName ?? String.Empty #> +<# +foreach (ModelProperty property in GetModelProperties(Model.ViewDataType, true)) { + if (!property.IsPrimaryKey && !property.IsForeignKey) { +#> + +
<#= property.Name #>
+
<%: <#= property.ValueExpression #> %>
+<# + } +} +#> +
+

+<# +if (!String.IsNullOrEmpty(Model.PrimaryKeyName)) { +#> + + <%: Html.ActionLink("Edit", "Edit", new { id=Model.<#= Model.PrimaryKeyName #> }) %> | + <%: Html.ActionLink("Back to List", "Index") %> +<# +} else { +#> + <%: Html.ActionLink("Edit", "Edit", new { /* id=Model.PrimaryKey */ }) %> | + <%: Html.ActionLink("Back to List", "Index") %> +<# +} +#> +

+<# +// The following code closes the asp:Content tag used in the case of a master page and the body and html tags in the case of a regular view page +#> +<# +if(Model.IsContentPage) { +#> + +
+<# + foreach(string cphid in Model.SectionNames) { + if(!cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase) && !cphid.Equals(Model.PrimarySectionName, StringComparison.OrdinalIgnoreCase)) { + CPHCounter++; +#> + + + +<# + } + } +#> +<# +} else if(!Model.IsContentPage) { + ClearIndent(); +#> + + +<# +} +#> + + +<#+ +// Describes the information about a property on the model +class ModelProperty { + public string Name { get; set; } + public string ValueExpression { get; set; } + public EnvDTE.CodeTypeRef Type { get; set; } + public bool IsPrimaryKey { get; set; } + public bool IsForeignKey { get; set; } + public bool IsReadOnly { get; set; } +} + +// Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +static Type[] bindableNonPrimitiveTypes = new[] { + typeof(string), + typeof(decimal), + typeof(Guid), + typeof(DateTime), + typeof(DateTimeOffset), + typeof(TimeSpan), +}; + +// Call this to get the list of properties in the model. Change this to modify or add your +// own default formatting for display values. +List GetModelProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = GetEligibleProperties(typeInfo, includeUnbindableProperties); + + foreach (ModelProperty prop in results) { + if (prop.Type.UnderlyingTypeIs() || prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:F}\", " + prop.ValueExpression + ")"; + } + else if (prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:g}\", " + prop.ValueExpression + ")"; + } + else if (!IsBindableType(prop.Type)) { + prop.ValueExpression = GetValueExpression("Model." + prop.Name, (EnvDTE.CodeType)prop.Type.CodeType); + } + } + + return results; +} + +// Change this list to include the names of properties that should be selected to represent an entity as a single string +static string[] displayPropertyNames = new[] { "Name", "Title", "LastName", "Surname", "Subject", "Count" }; + +string GetValueExpression(string propertyExpression, EnvDTE.CodeType propertyType) { + if (propertyType != null) { + var chosenSubproperty = propertyType.DisplayColumnProperty() ?? propertyType.FindProperty(displayPropertyNames); + if (chosenSubproperty != null) { + var toStringSuffix = chosenSubproperty.Type.AsFullName == "System.String" ? "" : ".ToString()"; + return String.Format("({0} == null ? \"None\" : {0}.{1}{2})", propertyExpression, chosenSubproperty.Name, toStringSuffix); + } + } + return "Html.DisplayTextFor(_ => " + propertyExpression + ").ToString()"; +} + +// Helper +List GetEligibleProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = new List(); + if (typeInfo != null) { + foreach (var prop in typeInfo.VisibleMembers().OfType()) { + if (prop.IsReadable() && !prop.HasIndexParameters() && (includeUnbindableProperties || IsBindableType(prop.Type))) { + results.Add(new ModelProperty { + Name = prop.Name, + ValueExpression = "Model." + prop.Name, + Type = prop.Type, + IsPrimaryKey = Model.PrimaryKeyName == prop.Name, + IsForeignKey = ParentRelations.Any(x => x.RelationProperty == prop), + IsReadOnly = !prop.IsWriteable() + }); + } + } + } + + return results; +} + +IEnumerable ParentRelations { + get { return ((IEnumerable)Model.RelatedEntities).OfType().Where(x => x.RelationType == RelationType.Parent); } +} + +// Helper +bool IsBindableType(EnvDTE.CodeTypeRef type) { + return type.UnderlyingIsPrimitive() || bindableNonPrimitiveTypes.Any(x => type.UnderlyingTypeIs(x)); +} +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Details.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Details.vb.t4 new file mode 100644 index 0000000..a327ab8 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Details.vb.t4 @@ -0,0 +1,201 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="aspx" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<#@ import namespace="EnvDTE" #> +<# +Dim viewDataType = CType(Model.ViewDataType, CodeType) +Dim mvcViewDataTypeGenericString As String = If(viewDataType IsNot Nothing, "(Of " & viewDataType.FullName & ")", String.Empty) +Dim CPHCounter As Integer = 1 +#> +<# +If Model.IsContentPage Then +#> +<%@ Page Title="" Language="VB" MasterPageFile="~<#= Model.Layout #>" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + +<# + For Each cphid As String In Model.SectionNames + If cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase) Then +#> + + <#= Model.ViewName #> + + +<# + CPHCounter += 1 + End If + Next +#> + + +

<#= Model.ViewName #>

+ +<# +Else +#> +<%@ Page Language="VB" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + + + + + <#= Model.ViewName #> + + +<# + PushIndent(" ") +End If +#> +
+ <#= If(Model.ViewDataTypeName, String.Empty) #> +<# +For Each modelProp As ModelProperty In GetModelProperties(Model.ViewDataType, True) + If (Not modelProp.IsPrimaryKey AndAlso Not modelProp.IsForeignKey) Then +#> + +
<#= modelProp.Name #>
+
<%: <#= modelProp.ValueExpression #> %>
+<# + End If +Next +#> +
+

+<# If Not String.IsNullOrEmpty(Model.PrimaryKeyName) Then #> + <%: Html.ActionLink("Edit", "Edit", New With {.id = Model.<#= Model.PrimaryKeyName #>}) %> | + <%: Html.ActionLink("Back to List", "Index") %> +<# +Else +#> + <%--<%: Html.ActionLink("Edit", "Edit", New With {.id = Model.PrimaryKey}) %> |--%> + <%: Html.ActionLink("Back to List", "Index") %> +<# +End If +#> +

+<# +' The following code closes the asp:Content tag used in the case of a master page and the body and html tags in the case of a regular view page +#> +<# +If Model.IsContentPage +#> + +
+<# + For Each cphid As String In Model.SectionNames + If String.Compare(cphid, "TitleContent", StringComparison.OrdinalIgnoreCase) <> 0 AndAlso String.Compare(cphid, Model.PrimarySectionName, StringComparison.OrdinalIgnoreCase) <> 0 Then + CPHCounter +=1 +#> + + + +<# + End If + Next +#> +<# +Else If Not Model.IsContentPage Then + ClearIndent() +#> + + +<# +End If +#> + +<#+ +' Describes the information about a property on the model +Private Class ModelProperty + Public Name As String + Public ValueExpression As String + Public Type As CodeTypeRef + Public IsReadOnly As Boolean + Public IsPrimaryKey As Boolean + Public IsForeignKey As Boolean +End Class + +' Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +Private Shared bindableNonPrimitiveTypes As Type() = New Type() { + GetType(String), + GetType(Decimal), + GetType(Guid), + GetType(DateTime), + GetType(DateTimeOffset), + GetType(TimeSpan) +} + +' Call this to get the list of properties in the model. Change this to modify or add your +' own default formatting for display values. +Private Function GetModelProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As List(Of ModelProperty) = GetEligibleProperties(type, includeUnbindableProperties) + + For Each modelProp As ModelProperty In results + If ((modelProp.Type.UnderlyingTypeIs(GetType(Double))) OrElse (modelProp.Type.UnderlyingTypeIs(GetType(Decimal)))) Then + modelProp.ValueExpression = ("String.Format(""{0:F}"", " & modelProp.ValueExpression & ")") + ElseIf (modelProp.Type.UnderlyingTypeIs(GetType(DateTime))) Then + modelProp.ValueExpression = ("String.Format(""{0:g}"", " & modelProp.ValueExpression & ")") + ElseIf (Not IsBindableType(modelProp.Type)) + modelProp.ValueExpression = GetValueExpression("Model." & modelProp.Name, CType(modelProp.Type.CodeType, CodeType)) + End If + Next + + Return results +End Function + +' Change this list to include the names of properties that should be selected to represent an entity as a single string +Private Shared displayPropertyNames As String() = New String() { "Name", "Title", "LastName", "Surname", "Subject", "Count" } + +Private Function GetValueExpression(ByVal propertyExpression As String, ByVal propertyType As CodeType) As String + If propertyType IsNot Nothing Then + Dim chosenSubproperty = If(propertyType.DisplayColumnProperty(), propertyType.FindProperty(displayPropertyNames)) + If chosenSubproperty IsNot Nothing Then + Dim toStringSuffix = If(chosenSubproperty.Type.AsFullName = "System.String", "", ".ToString()") + Return String.Format("(If({0} Is Nothing, ""None"", {0}.{1}{2}))", propertyExpression, chosenSubproperty.Name, toStringSuffix) + End If + End If + Return "Html.DisplayTextFor(Function(model) " & propertyExpression & ").ToString()" +End Function + +' Helper +Private Function GetEligibleProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As New List(Of ModelProperty) + + If type IsNot Nothing Then + For Each prop As CodeProperty In type.VisibleMembers().OfType(Of CodeProperty)() + Dim propValue = prop + If (prop.IsReadable() AndAlso (Not prop.HasIndexParameters()) AndAlso (includeUnbindableProperties OrElse IsBindableType(prop.Type))) Then + results.Add(New ModelProperty() With { _ + .Name = prop.Name, _ + .ValueExpression = ("Model." & prop.Name), _ + .Type = prop.Type, _ + .IsPrimaryKey = Model.PrimaryKeyName = prop.Name, _ + .IsReadOnly = Not prop.IsWriteable(), _ + .IsForeignKey = ParentRelations.Any(Function(x) propValue.Name = x.RelationProperty.Name) _ + }) + End If + Next + End If + + Return results +End Function + +Private ReadOnly Property ParentRelations As IEnumerable(Of RelatedEntityInfo) + Get + Return CType(Model.RelatedEntities, IEnumerable).OfType(Of RelatedEntityInfo)().Where(Function(x) x.RelationType = RelationType.Parent) + End Get +End Property + +' Helper +Private Function IsBindableType(ByVal type As CodeTypeRef) As Boolean + Return type.UnderlyingIsPrimitive() OrElse bindableNonPrimitiveTypes.Any(Function(x) type.UnderlyingTypeIs(x)) +End Function +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Edit.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Edit.cs.t4 new file mode 100644 index 0000000..897cb36 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Edit.cs.t4 @@ -0,0 +1,198 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="aspx" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<# var viewDataType = (EnvDTE.CodeType) Model.ViewDataType; #> +<# +string mvcViewDataTypeGenericString = (viewDataType != null) ? "<" + viewDataType.FullName + ">" : ""; +int CPHCounter = 1; +#> +<# +if(Model.IsContentPage) { +#> +<%@ Page Title="" Language="C#" MasterPageFile="~<#= Model.Layout #>" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + +<# + foreach(string cphid in Model.SectionNames) { + if(cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase)) { +#> + + <#= Model.ViewName #> + + +<# + CPHCounter++; + } + } +#> + + +

<#= Model.ViewName #>

+ +<# +} else { +#> +<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + + + + + <#= Model.ViewName #> + + +<# + PushIndent(" "); +} +#> +<# if (Model.ReferenceScriptLibraries) { #> +<# if (!Model.IsContentPage) { #> + +<# } #> + + + +<# } #> +<% using (Html.BeginForm()) { %> + <%: Html.ValidationSummary(true) %> +
+ <#= Model.ViewDataTypeName ?? String.Empty #> + +<# foreach (ModelProperty property in GetModelProperties(viewDataType, false).Where(x => x.IsPrimaryKey)) { #> + <%: Html.HiddenFor(model => model.<#= property.Name #>) %> +<# } #> + <%: Html.Partial("CreateOrEdit", Model) %> +

+ +

+
+<% } %> + +
+ <%: Html.ActionLink("Back to List", "Index") %> +
+<# +// The following code closes the asp:Content tag used in the case of a master page and the body and html tags in the case of a regular view page +#> +<# +if(Model.IsContentPage) { +#> + +
+<# + foreach(string cphid in Model.SectionNames) { + if(!cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase) && !cphid.Equals(Model.PrimarySectionName, StringComparison.OrdinalIgnoreCase)) { + CPHCounter++; +#> + + + +<# + } + } +#> +<# +} else if(!Model.IsContentPage) { + ClearIndent(); +#> + + +<# +} +#> + + +<#+ +// Describes the information about a property on the model +class ModelProperty { + public string Name { get; set; } + public string ValueExpression { get; set; } + public EnvDTE.CodeTypeRef Type { get; set; } + public bool IsPrimaryKey { get; set; } + public bool IsForeignKey { get; set; } + public bool IsReadOnly { get; set; } +} + +// Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +static Type[] bindableNonPrimitiveTypes = new[] { + typeof(string), + typeof(decimal), + typeof(Guid), + typeof(DateTime), + typeof(DateTimeOffset), + typeof(TimeSpan), +}; + +// Call this to get the list of properties in the model. Change this to modify or add your +// own default formatting for display values. +List GetModelProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = GetEligibleProperties(typeInfo, includeUnbindableProperties); + + foreach (ModelProperty prop in results) { + if (prop.Type.UnderlyingTypeIs() || prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:F}\", " + prop.ValueExpression + ")"; + } + else if (prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:g}\", " + prop.ValueExpression + ")"; + } + else if (!IsBindableType(prop.Type)) { + prop.ValueExpression = GetValueExpression("Model." + prop.Name, (EnvDTE.CodeType)prop.Type.CodeType); + } + } + + return results; +} + +// Change this list to include the names of properties that should be selected to represent an entity as a single string +static string[] displayPropertyNames = new[] { "Name", "Title", "LastName", "Surname", "Subject", "Count" }; + +string GetValueExpression(string propertyExpression, EnvDTE.CodeType propertyType) { + if (propertyType != null) { + var chosenSubproperty = propertyType.DisplayColumnProperty() ?? propertyType.FindProperty(displayPropertyNames); + if (chosenSubproperty != null) { + var toStringSuffix = chosenSubproperty.Type.AsFullName == "System.String" ? "" : ".ToString()"; + return String.Format("({0} == null ? \"None\" : {0}.{1}{2})", propertyExpression, chosenSubproperty.Name, toStringSuffix); + } + } + return "Html.DisplayTextFor(_ => " + propertyExpression + ").ToString()"; +} + +// Helper +List GetEligibleProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = new List(); + if (typeInfo != null) { + foreach (var prop in typeInfo.VisibleMembers().OfType()) { + if (prop.IsReadable() && !prop.HasIndexParameters() && (includeUnbindableProperties || IsBindableType(prop.Type))) { + results.Add(new ModelProperty { + Name = prop.Name, + ValueExpression = "Model." + prop.Name, + Type = prop.Type, + IsPrimaryKey = Model.PrimaryKeyName == prop.Name, + IsForeignKey = ParentRelations.Any(x => x.RelationProperty == prop), + IsReadOnly = !prop.IsWriteable() + }); + } + } + } + + return results; +} + +IEnumerable ParentRelations { + get { return ((IEnumerable)Model.RelatedEntities).OfType().Where(x => x.RelationType == RelationType.Parent); } +} + +// Helper +bool IsBindableType(EnvDTE.CodeTypeRef type) { + return type.UnderlyingIsPrimitive() || bindableNonPrimitiveTypes.Any(x => type.UnderlyingTypeIs(x)); +} +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Edit.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Edit.vb.t4 new file mode 100644 index 0000000..358b15f --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Edit.vb.t4 @@ -0,0 +1,203 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="aspx" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<#@ import namespace="EnvDTE" #> +<# +Dim viewDataType = CType(Model.ViewDataType, CodeType) +Dim mvcViewDataTypeGenericString As String = If(viewDataType IsNot Nothing, "(Of " & viewDataType.FullName & ")", String.Empty) +Dim CPHCounter As Integer = 1 +#> +<# +If Model.IsContentPage Then +#> +<%@ Page Title="" Language="VB" MasterPageFile="~<#= Model.Layout #>" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + +<# + For Each cphid As String In Model.SectionNames + If cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase) Then +#> + + <#= Model.ViewName #> + + +<# + CPHCounter += 1 + End If + Next +#> + + +

<#= Model.ViewName #>

+ +<# +Else +#> +<%@ Page Language="VB" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + + + + + <#= Model.ViewName #> + + +<# + PushIndent(" ") +End If +#> +<%-- The following line works around an ASP.NET compiler warning --%> +<%: "" %> + +<# If Model.ReferenceScriptLibraries Then #> +<# If Not Model.IsContentPage Then #> + +<# End If #> + + + +<# End If #> +<% Using Html.BeginForm() %> + <%: Html.ValidationSummary(True) %> +
+ <#= If(Model.ViewDataTypeName, String.Empty) #> + +<# For Each modelProp As ModelProperty In GetModelProperties(viewDataType, False).Where(Function(x) x.IsPrimaryKey) #> + <%: Html.HiddenFor(Function(model) model.<#= modelProp.Name #>) %> +<# Next #> + <%: Html.Partial("CreateOrEdit", Model) %> +

+ +

+
+<% End Using %> + +
+ <%: Html.ActionLink("Back to List", "Index") %> +
+<# +' The following code closes the asp:Content tag used in the case of a master page and the body and html tags in the case of a regular view page +#> +<# +If Model.IsContentPage +#> + +
+<# + For Each cphid As String In Model.SectionNames + If String.Compare(cphid, "TitleContent", StringComparison.OrdinalIgnoreCase) <> 0 AndAlso String.Compare(cphid, Model.PrimarySectionName, StringComparison.OrdinalIgnoreCase) <> 0 Then + CPHCounter +=1 +#> + + + +<# + End If + Next +#> +<# +Else If Not Model.IsContentPage Then + ClearIndent() +#> + + +<# +End If +#> + +<#+ +' Describes the information about a property on the model +Private Class ModelProperty + Public Name As String + Public ValueExpression As String + Public Type As CodeTypeRef + Public IsReadOnly As Boolean + Public IsPrimaryKey As Boolean + Public IsForeignKey As Boolean +End Class + +' Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +Private Shared bindableNonPrimitiveTypes As Type() = New Type() { + GetType(String), + GetType(Decimal), + GetType(Guid), + GetType(DateTime), + GetType(DateTimeOffset), + GetType(TimeSpan) +} + +' Call this to get the list of properties in the model. Change this to modify or add your +' own default formatting for display values. +Private Function GetModelProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As List(Of ModelProperty) = GetEligibleProperties(type, includeUnbindableProperties) + + For Each modelProp As ModelProperty In results + If ((modelProp.Type.UnderlyingTypeIs(GetType(Double))) OrElse (modelProp.Type.UnderlyingTypeIs(GetType(Decimal)))) Then + modelProp.ValueExpression = ("String.Format(""{0:F}"", " & modelProp.ValueExpression & ")") + ElseIf (modelProp.Type.UnderlyingTypeIs(GetType(DateTime))) Then + modelProp.ValueExpression = ("String.Format(""{0:g}"", " & modelProp.ValueExpression & ")") + ElseIf (Not IsBindableType(modelProp.Type)) + modelProp.ValueExpression = GetValueExpression("Model." & modelProp.Name, CType(modelProp.Type.CodeType, CodeType)) + End If + Next + + Return results +End Function + +' Change this list to include the names of properties that should be selected to represent an entity as a single string +Private Shared displayPropertyNames As String() = New String() { "Name", "Title", "LastName", "Surname", "Subject", "Count" } + +Private Function GetValueExpression(ByVal propertyExpression As String, ByVal propertyType As CodeType) As String + If propertyType IsNot Nothing Then + Dim chosenSubproperty = If(propertyType.DisplayColumnProperty(), propertyType.FindProperty(displayPropertyNames)) + If chosenSubproperty IsNot Nothing Then + Dim toStringSuffix = If(chosenSubproperty.Type.AsFullName = "System.String", "", ".ToString()") + Return String.Format("(If({0} Is Nothing, ""None"", {0}.{1}{2}))", propertyExpression, chosenSubproperty.Name, toStringSuffix) + End If + End If + Return "Html.DisplayTextFor(Function(model) " & propertyExpression & ").ToString()" +End Function + +' Helper +Private Function GetEligibleProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As New List(Of ModelProperty) + + If type IsNot Nothing Then + For Each prop As CodeProperty In type.VisibleMembers().OfType(Of CodeProperty)() + Dim propValue = prop + If (prop.IsReadable() AndAlso (Not prop.HasIndexParameters()) AndAlso (includeUnbindableProperties OrElse IsBindableType(prop.Type))) Then + results.Add(New ModelProperty() With { _ + .Name = prop.Name, _ + .ValueExpression = ("Model." & prop.Name), _ + .Type = prop.Type, _ + .IsPrimaryKey = Model.PrimaryKeyName = prop.Name, _ + .IsReadOnly = Not prop.IsWriteable(), _ + .IsForeignKey = ParentRelations.Any(Function(x) propValue.Name = x.RelationProperty.Name) _ + }) + End If + Next + End If + + Return results +End Function + +Private ReadOnly Property ParentRelations As IEnumerable(Of RelatedEntityInfo) + Get + Return CType(Model.RelatedEntities, IEnumerable).OfType(Of RelatedEntityInfo)().Where(Function(x) x.RelationType = RelationType.Parent) + End Get +End Property + +' Helper +Private Function IsBindableType(ByVal type As CodeTypeRef) As Boolean + Return type.UnderlyingIsPrimitive() OrElse bindableNonPrimitiveTypes.Any(Function(x) type.UnderlyingTypeIs(x)) +End Function +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Empty.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Empty.cs.t4 new file mode 100644 index 0000000..cb94784 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Empty.cs.t4 @@ -0,0 +1,79 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="aspx" #> +<# var viewDataType = (EnvDTE.CodeType) Model.ViewDataType; #> +<# +string mvcViewDataTypeGenericString = (viewDataType != null) ? "<" + viewDataType.FullName + ">" : ""; +int CPHCounter = 1; +#> +<# if(Model.IsContentPage) { #> +<%@ Page Title="" Language="C#" MasterPageFile="~<#= Model.Layout #>" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + +<# + foreach(string cphid in Model.SectionNames) { + if(cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase)) { +#> + + <#= Model.ViewName #> + + +<# + CPHCounter++; + } + } +#> + + +

<#= Model.ViewName #>

+ +<# +} else { +#> +<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + + + + + <#= Model.ViewName #> + + +<# + PushIndent(" "); +} +#> +<# +if(!Model.IsContentPage) { +#> +
+ +
+<# +} +#> +<# +// The following code closes the asp:Content tag used in the case of a master page and the body and html tags in the case of a regular view page +#> +<# +if(Model.IsContentPage) { +#> +
+<# + foreach(string cphid in Model.SectionNames) { + if(!cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase) && !cphid.Equals(Model.PrimarySectionName, StringComparison.OrdinalIgnoreCase)) { + CPHCounter++; +#> + + + +<# + } + } +#> +<# +} else if(!Model.IsContentPage) { + ClearIndent(); +#> + + +<# +} +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Empty.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Empty.vb.t4 new file mode 100644 index 0000000..e9abe8c --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Empty.vb.t4 @@ -0,0 +1,81 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="aspx" #> +<# +Dim viewDataType = CType(Model.ViewDataType, EnvDTE.CodeType) +Dim mvcViewDataTypeGenericString As String = If(viewDataType IsNot Nothing, "(Of " & viewDataType.FullName & ")", String.Empty) +Dim CPHCounter As Integer = 1 +#> +<# +If Model.IsContentPage Then +#> +<%@ Page Title="" Language="VB" MasterPageFile="~<#= Model.Layout #>" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + +<# + For Each cphid As String In Model.SectionNames + If cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase) Then +#> + + <#= Model.ViewName #> + + +<# + CPHCounter += 1 + End If + Next +#> + + +

<#= Model.ViewName #>

+ +<# +Else +#> +<%@ Page Language="VB" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + + + + + <#= Model.ViewName #> + + +<# + PushIndent(" ") +End If +#> +<# +If Not Model.IsContentPage Then +#> +
+ +
+<# +End If +#> +<# +' The following code closes the asp:Content tag used in the case of a master page and the body and html tags in the case of a regular view page +#> +<# +If Model.IsContentPage Then +#> +
+<# + For Each cphid As String In Model.SectionNames + If String.Compare(cphid, "TitleContent", StringComparison.OrdinalIgnoreCase) <> 0 AndAlso String.Compare(cphid, Model.PrimarySectionName, StringComparison.OrdinalIgnoreCase) <> 0 Then + CPHCounter += 1 +#> + + + +<# + End If + Next +#> +<# +Else If Not Model.IsContentPage Then + ClearIndent() +#> + + +<# +End If +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Index.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Index.cs.t4 new file mode 100644 index 0000000..60ba8e6 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Index.cs.t4 @@ -0,0 +1,227 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="aspx" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<# var viewDataType = (EnvDTE.CodeType) Model.ViewDataType; #> +<# +string mvcViewDataTypeGenericString = (viewDataType != null) ? ">" : ">"; +int CPHCounter = 1; +#> +<# +if(Model.IsContentPage) { +#> +<%@ Page Title="" Language="C#" MasterPageFile="~<#= Model.Layout #>" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + +<# + foreach(string cphid in Model.SectionNames) { + if(cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase)) { +#> + + <#= Model.ViewName #> + + +<# + CPHCounter++; + } + } +#> + + +

<#= Model.ViewName #>

+ +<# +} else { +#> +<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + + + + + <#= Model.ViewName #> + + +<# + PushIndent(" "); +} +#> +

+ <%: Html.ActionLink("Create New", "Create") %> +

+ + + +<# +List properties = GetModelProperties(Model.ViewDataType, true); +foreach (ModelProperty property in properties) { + if (!property.IsPrimaryKey && !property.IsForeignKey) { +#> + +<# + } +} +#> + + +<% foreach (var item in Model) { %> + +<# +if (!String.IsNullOrEmpty(Model.PrimaryKeyName)) { +#> + +<# +} else { +#> + +<# +} + +foreach (ModelProperty property in properties) { + if (!property.IsPrimaryKey && !property.IsForeignKey) { +#> + +<# + } +} +#> + +<% } %> + +
+ <#= property.Name #> +
+ <%: Html.ActionLink("Edit", "Edit", new { id=item.<#= Model.PrimaryKeyName #> }) %> | + <%: Html.ActionLink("Details", "Details", new { id=item.<#= Model.PrimaryKeyName #> }) %> | + <%: Html.ActionLink("Delete", "Delete", new { id=item.<#= Model.PrimaryKeyName #> }) %> + + <%: Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) %> | + <%: Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ }) %> | + <%: Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ }) %> + + <%: <#= property.ValueExpression.Replace("Model.", "item.") #> %> +
+<# +// The following code closes the asp:Content tag used in the case of a master page and the body and html tags in the case of a regular view page +#> +<# +if(Model.IsContentPage) { +#> + +
+<# + foreach(string cphid in Model.SectionNames) { + if(!cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase) && !cphid.Equals(Model.PrimarySectionName, StringComparison.OrdinalIgnoreCase)) { + CPHCounter++; +#> + + + +<# + } + } +#> +<# +} else if(!Model.IsContentPage) { + ClearIndent(); +#> + + +<# +} +#> + + +<#+ +// Describes the information about a property on the model +class ModelProperty { + public string Name { get; set; } + public string ValueExpression { get; set; } + public EnvDTE.CodeTypeRef Type { get; set; } + public bool IsPrimaryKey { get; set; } + public bool IsForeignKey { get; set; } + public bool IsReadOnly { get; set; } +} + +// Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +static Type[] bindableNonPrimitiveTypes = new[] { + typeof(string), + typeof(decimal), + typeof(Guid), + typeof(DateTime), + typeof(DateTimeOffset), + typeof(TimeSpan), +}; + +// Call this to get the list of properties in the model. Change this to modify or add your +// own default formatting for display values. +List GetModelProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = GetEligibleProperties(typeInfo, includeUnbindableProperties); + + foreach (ModelProperty prop in results) { + if (prop.Type.UnderlyingTypeIs() || prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:F}\", " + prop.ValueExpression + ")"; + } + else if (prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:g}\", " + prop.ValueExpression + ")"; + } + else if (!IsBindableType(prop.Type)) { + prop.ValueExpression = GetValueExpression("Model." + prop.Name, (EnvDTE.CodeType)prop.Type.CodeType); + } + } + + return results; +} + +// Change this list to include the names of properties that should be selected to represent an entity as a single string +static string[] displayPropertyNames = new[] { "Name", "Title", "LastName", "Surname", "Subject", "Count" }; + +string GetValueExpression(string propertyExpression, EnvDTE.CodeType propertyType) { + if (propertyType != null) { + var chosenSubproperty = propertyType.DisplayColumnProperty() ?? propertyType.FindProperty(displayPropertyNames); + if (chosenSubproperty != null) { + var toStringSuffix = chosenSubproperty.Type.AsFullName == "System.String" ? "" : ".ToString()"; + return String.Format("({0} == null ? \"None\" : {0}.{1}{2})", propertyExpression, chosenSubproperty.Name, toStringSuffix); + } + } + return "Html.DisplayTextFor(_ => " + propertyExpression + ").ToString()"; +} + +// Helper +List GetEligibleProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = new List(); + if (typeInfo != null) { + foreach (var prop in typeInfo.VisibleMembers().OfType()) { + if (prop.IsReadable() && !prop.HasIndexParameters() && (includeUnbindableProperties || IsBindableType(prop.Type))) { + results.Add(new ModelProperty { + Name = prop.Name, + ValueExpression = "Model." + prop.Name, + Type = prop.Type, + IsPrimaryKey = Model.PrimaryKeyName == prop.Name, + IsForeignKey = ParentRelations.Any(x => x.RelationProperty == prop), + IsReadOnly = !prop.IsWriteable() + }); + } + } + } + + return results; +} + +IEnumerable ParentRelations { + get { return ((IEnumerable)Model.RelatedEntities).OfType().Where(x => x.RelationType == RelationType.Parent); } +} + +// Helper +bool IsBindableType(EnvDTE.CodeTypeRef type) { + return type.UnderlyingIsPrimitive() || bindableNonPrimitiveTypes.Any(x => type.UnderlyingTypeIs(x)); +} +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Index.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Index.vb.t4 new file mode 100644 index 0000000..5f0dfbd --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Index.vb.t4 @@ -0,0 +1,228 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="aspx" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<#@ import namespace="EnvDTE" #> +<# +Dim viewDataType = CType(Model.ViewDataType, CodeType) +Dim mvcViewDataTypeGenericString As String = If(viewDataType IsNot Nothing, "(Of IEnumerable (Of " & viewDataType.FullName & "))", String.Empty) +Dim CPHCounter As Integer = 1 +#> +<# +If Model.IsContentPage Then +#> +<%@ Page Title="" Language="VB" MasterPageFile="~<#= Model.Layout #>" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + +<# + For Each cphid As String In Model.SectionNames + If cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase) Then +#> + + <#= Model.ViewName #> + + +<# + CPHCounter += 1 + End If + Next +#> + + +

<#= Model.ViewName #>

+ +<# +Else +#> +<%@ Page Language="VB" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + + + + + <#= Model.ViewName #> + + +<# + PushIndent(" ") +End If +#> +

+ <%: Html.ActionLink("Create New", "Create") %> +

+ + + +<# +Dim properties As List(Of ModelProperty) = GetModelProperties(Model.ViewDataType, True) +For Each modelProp As ModelProperty In properties + If (Not modelProp.IsPrimaryKey AndAlso Not modelProp.IsForeignKey) Then +#> + +<# + End If +Next +#> + + +<% For Each item In Model %> + <% Dim itemValue = item %> + +<# If Not String.IsNullOrEmpty(Model.PrimaryKeyName) Then #> + +<# +Else +#> + +<# +End If + +For Each modelProp As ModelProperty In properties + If (Not modelProp.IsPrimaryKey AndAlso Not modelProp.IsForeignKey) Then +#> + +<# + End If +Next +#> + +<% Next %> + +
+ <#= modelProp.Name #> +
+ <%: Html.ActionLink("Edit", "Edit", New With {.id = itemValue.<#= Model.PrimaryKeyName #>}) %> | + <%: Html.ActionLink("Details", "Details", New With {.id = itemValue.<#= Model.PrimaryKeyName #>}) %> | + <%: Html.ActionLink("Delete", "Delete", New With {.id = itemValue.<#= Model.PrimaryKeyName #>}) %> + + <%--<%: Html.ActionLink("Edit", "Edit", New With {.id = itemValue.PrimaryKey}) %> | + <%: Html.ActionLink("Details", "Details", New With {.id = itemValue.PrimaryKey}) %> | + <%: Html.ActionLink("Delete", "Delete", New With {.id = itemValue.PrimaryKey}) %>--%> + + <%: <#= modelProp.ValueExpression.Replace("Model.", "itemValue.") #> %> +
+<# +' The following code closes the asp:Content tag used in the case of a master page and the body and html tags in the case of a regular view page +#> +<# +If Model.IsContentPage +#> + +
+<# + For Each cphid As String In Model.SectionNames + If String.Compare(cphid, "TitleContent", StringComparison.OrdinalIgnoreCase) <> 0 AndAlso String.Compare(cphid, Model.PrimarySectionName, StringComparison.OrdinalIgnoreCase) <> 0 Then + CPHCounter +=1 +#> + + + +<# + End If + Next +#> +<# +Else If Not Model.IsContentPage Then + ClearIndent() +#> + + +<# +End If +#> + +<#+ +' Describes the information about a property on the model +Private Class ModelProperty + Public Name As String + Public ValueExpression As String + Public Type As CodeTypeRef + Public IsReadOnly As Boolean + Public IsPrimaryKey As Boolean + Public IsForeignKey As Boolean +End Class + +' Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +Private Shared bindableNonPrimitiveTypes As Type() = New Type() { + GetType(String), + GetType(Decimal), + GetType(Guid), + GetType(DateTime), + GetType(DateTimeOffset), + GetType(TimeSpan) +} + +' Call this to get the list of properties in the model. Change this to modify or add your +' own default formatting for display values. +Private Function GetModelProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As List(Of ModelProperty) = GetEligibleProperties(type, includeUnbindableProperties) + + For Each modelProp As ModelProperty In results + If ((modelProp.Type.UnderlyingTypeIs(GetType(Double))) OrElse (modelProp.Type.UnderlyingTypeIs(GetType(Decimal)))) Then + modelProp.ValueExpression = ("String.Format(""{0:F}"", " & modelProp.ValueExpression & ")") + ElseIf (modelProp.Type.UnderlyingTypeIs(GetType(DateTime))) Then + modelProp.ValueExpression = ("String.Format(""{0:g}"", " & modelProp.ValueExpression & ")") + ElseIf (Not IsBindableType(modelProp.Type)) + modelProp.ValueExpression = GetValueExpression("Model." & modelProp.Name, CType(modelProp.Type.CodeType, CodeType)) + End If + Next + + Return results +End Function + +' Change this list to include the names of properties that should be selected to represent an entity as a single string +Private Shared displayPropertyNames As String() = New String() { "Name", "Title", "LastName", "Surname", "Subject", "Count" } + +Private Function GetValueExpression(ByVal propertyExpression As String, ByVal propertyType As CodeType) As String + If propertyType IsNot Nothing Then + Dim chosenSubproperty = If(propertyType.DisplayColumnProperty(), propertyType.FindProperty(displayPropertyNames)) + If chosenSubproperty IsNot Nothing Then + Dim toStringSuffix = If(chosenSubproperty.Type.AsFullName = "System.String", "", ".ToString()") + Return String.Format("(If({0} Is Nothing, ""None"", {0}.{1}{2}))", propertyExpression, chosenSubproperty.Name, toStringSuffix) + End If + End If + Return "Html.DisplayTextFor(Function(model) " & propertyExpression & ").ToString()" +End Function + +' Helper +Private Function GetEligibleProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As New List(Of ModelProperty) + + If type IsNot Nothing Then + For Each prop As CodeProperty In type.VisibleMembers().OfType(Of CodeProperty)() + Dim propValue = prop + If (prop.IsReadable() AndAlso (Not prop.HasIndexParameters()) AndAlso (includeUnbindableProperties OrElse IsBindableType(prop.Type))) Then + results.Add(New ModelProperty() With { _ + .Name = prop.Name, _ + .ValueExpression = ("Model." & prop.Name), _ + .Type = prop.Type, _ + .IsPrimaryKey = Model.PrimaryKeyName = prop.Name, _ + .IsReadOnly = Not prop.IsWriteable(), _ + .IsForeignKey = ParentRelations.Any(Function(x) propValue.Name = x.RelationProperty.Name) _ + }) + End If + Next + End If + + Return results +End Function + +Private ReadOnly Property ParentRelations As IEnumerable(Of RelatedEntityInfo) + Get + Return CType(Model.RelatedEntities, IEnumerable).OfType(Of RelatedEntityInfo)().Where(Function(x) x.RelationType = RelationType.Parent) + End Get +End Property + +' Helper +Private Function IsBindableType(ByVal type As CodeTypeRef) As Boolean + Return type.UnderlyingIsPrimitive() OrElse bindableNonPrimitiveTypes.Any(Function(x) type.UnderlyingTypeIs(x)) +End Function +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/MvcScaffolding.AspxView.ps1 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/MvcScaffolding.AspxView.ps1 new file mode 100644 index 0000000..6feb9d0 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/MvcScaffolding.AspxView.ps1 @@ -0,0 +1,40 @@ +[T4Scaffolding.ViewScaffolder("ASPX", Description = "Adds an ASP.NET MVC view using the ASPX view engine", LayoutPageFilter = "*.master|*.master")][CmdletBinding()] +param( + [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true, Position = 0)][string]$Controller, + [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true, Position = 1)][string]$ViewName, + [string]$ModelType, + [string]$Template = "Empty", + [string]$Area, + [alias("Layout")]$MasterPage = "", + [alias("SectionNames")][string[]]$ContentPlaceholderIDs, + [alias("PrimarySectionName")][string]$PrimaryContentPlaceholderID, + [switch]$ReferenceScriptLibraries = $false, + [string]$Project, + [string]$CodeLanguage, + [string[]]$TemplateFolders, + [switch]$Force = $false +) + +# Populate masterpage-related args with defaults based on standard MVC 3 site template where not specified. +# If you haven't passed a -MasterPage argument but it looks like you are using a standard master page, assume +# you do want to use that master page. If you really don't want any master, explicitly pass -MasterPage $null. +$defaultMasterPage = "/Views/Shared/Site.Master" +if ($MasterPage -eq "") { + $MasterPage = if (Get-ProjectItem $defaultMasterPage) { $defaultMasterPage } else { $null } +} +if (!$ContentPlaceholderIDs) { $ContentPlaceholderIDs = @("TitleContent", "MainContent") } +if (!$PrimaryContentPlaceholderID) { $PrimaryContentPlaceholderID = "MainContent" } + +# In the case of view names with a leading underscore, this is a Razor convention that Aspx doesn't follow +# so we just strip off any leading underscore +if ($Template.StartsWith("_") -and ($Template.Length -gt 1)) { $Template = $Template.Substring(1) } +if ($ViewName.StartsWith("_") -and ($ViewName.Length -gt 1)) { $ViewName = $ViewName.Substring(1) } + +# In the case of master page names with a leading tilde, strip it off, because the view templates +# automatically prefix the master name with a tilde +if ($MasterPage -and $MasterPage.StartsWith("~")) { + $MasterPage = $MasterPage.Substring(1) +} + +# Inherit all logic from MvcScaffolding.RazorView (merely override the templates) +Scaffold MvcScaffolding.RazorView -Controller $Controller -ViewName $ViewName -ModelType $ModelType -Template $Template -Area $Area -Layout $MasterPage -SectionNames $ContentPlaceholderIDs -PrimarySectionName $PrimaryContentPlaceholderID -ReferenceScriptLibraries:$ReferenceScriptLibraries -Project $Project -CodeLanguage $CodeLanguage -OverrideTemplateFolders $TemplateFolders -Force:$Force \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/ControllerWithContext.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/ControllerWithContext.cs.t4 new file mode 100644 index 0000000..4c6a656 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/ControllerWithContext.cs.t4 @@ -0,0 +1,159 @@ +<#@ template language="C#" HostSpecific="True" inherits="DynamicTransform" #> +<#@ Output Extension="cs" #> +<#@ assembly name="System.Data.Entity" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Text.RegularExpressions" #> +<#@ import namespace="EnvDTE" #> +using System; +using System.Collections.Generic; +using System.Data; +using System.Data.Entity; +using System.Linq; +using System.Web; +using System.Web.Mvc; +<# if(!string.IsNullOrEmpty(Model.ModelTypeNamespace)) { #> +using <#= Model.ModelTypeNamespace #>; +<# } #> +<# if(Model.DbContextNamespace != Model.ModelTypeNamespace) { #> +using <#= Model.DbContextNamespace #>; +<# } #> + +namespace <#= Model.ControllerNamespace #> +{ +<# + var modelType = (CodeType)Model.ModelType; + var modelName = modelType.Name; + var modelNamePlural = Model.ModelTypePluralized; + var modelVariable = modelName.ToLower(); + var relatedEntities = ((IEnumerable)Model.RelatedEntities).OfType(); + var primaryKeyProperty = modelType.VisibleMembers().OfType().Single(x => x.Name == Model.PrimaryKey); + var routingName = Regex.Replace(Model.ControllerName, "Controller$", "", RegexOptions.IgnoreCase); + var isObjectContext = ((CodeType)Model.DbContextType).IsAssignableTo(); +#> + public class <#= Model.ControllerName #> : Controller + { + private <#= ((CodeType)Model.DbContextType).Name #> context = new <#= ((CodeType)Model.DbContextType).Name #>(); + + // + // GET: /<#= routingName #>/ + + public ViewResult Index() + { +<# + var propertiesToInclude = relatedEntities.Select(relation => relation.LazyLoadingProperty).Where(x => x != null); + var includeExpressions = isObjectContext + ? String.Join("", propertiesToInclude.Select(x => String.Format(".Include(\"{0}\")", x.Name))) + : String.Join("", propertiesToInclude.Select(x => String.Format(".Include({0} => {0}.{1})", modelVariable, x.Name))); +#> + return View(context.<#= modelNamePlural #><#= includeExpressions #>.ToList()); + } + + // + // GET: /<#= routingName #>/Details/5 + + public ViewResult Details(<#= primaryKeyProperty.Type.AsString #> id) + { + <#= modelName #> <#= modelVariable #> = context.<#= modelNamePlural #>.Single(x => x.<#= primaryKeyProperty.Name #> == id); + return View(<#= modelVariable #>); + } + + // + // GET: /<#= routingName #>/Create + + public ActionResult Create() + { +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = context.<#= relatedEntity.RelatedEntityTypeNamePlural #>; +<# } #> + return View(); + } + + // + // POST: /<#= routingName #>/Create + + [HttpPost] + public ActionResult Create(<#= modelName #> <#= modelVariable #>) + { + if (ModelState.IsValid) + { +<# if(primaryKeyProperty.Type.AsString == "System.Guid") { #> + <#= modelVariable #>.<#= primaryKeyProperty.Name #> = Guid.NewGuid(); +<# } #> +<# if(isObjectContext) { #> + context.<#= modelNamePlural #>.AddObject(<#= modelVariable #>); +<# } else { #> + context.<#= modelNamePlural #>.Add(<#= modelVariable #>); +<# } #> + context.SaveChanges(); + return RedirectToAction("Index"); + } + +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = context.<#= relatedEntity.RelatedEntityTypeNamePlural #>; +<# } #> + return View(<#= modelVariable #>); + } + + // + // GET: /<#= routingName #>/Edit/5 + + public ActionResult Edit(<#= primaryKeyProperty.Type.AsString #> id) + { + <#= modelName #> <#= modelVariable #> = context.<#= modelNamePlural #>.Single(x => x.<#= primaryKeyProperty.Name #> == id); +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = context.<#= relatedEntity.RelatedEntityTypeNamePlural #>; +<# } #> + return View(<#= modelVariable #>); + } + + // + // POST: /<#= routingName #>/Edit/5 + + [HttpPost] + public ActionResult Edit(<#= modelName #> <#= modelVariable #>) + { + if (ModelState.IsValid) + { +<# if(isObjectContext) { #> + context.<#= modelNamePlural #>.Attach(<#= modelVariable #>); + context.ObjectStateManager.ChangeObjectState(<#= modelVariable #>, EntityState.Modified); +<# } else { #> + context.Entry(<#= modelVariable #>).State = EntityState.Modified; +<# } #> + context.SaveChanges(); + return RedirectToAction("Index"); + } +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = context.<#= relatedEntity.RelatedEntityTypeNamePlural #>; +<# } #> + return View(<#= modelVariable #>); + } + + // + // GET: /<#= routingName #>/Delete/5 + + public ActionResult Delete(<#= primaryKeyProperty.Type.AsString #> id) + { + <#= modelName #> <#= modelVariable #> = context.<#= modelNamePlural #>.Single(x => x.<#= primaryKeyProperty.Name #> == id); + return View(<#= modelVariable #>); + } + + // + // POST: /<#= routingName #>/Delete/5 + + [HttpPost, ActionName("Delete")] + public ActionResult DeleteConfirmed(<#= primaryKeyProperty.Type.AsString #> id) + { + <#= modelName #> <#= modelVariable #> = context.<#= modelNamePlural #>.Single(x => x.<#= primaryKeyProperty.Name #> == id); +<# if(isObjectContext) { #> + context.<#= modelNamePlural #>.DeleteObject(<#= modelVariable #>); +<# } else { #> + context.<#= modelNamePlural #>.Remove(<#= modelVariable #>); +<# } #> + context.SaveChanges(); + return RedirectToAction("Index"); + } + } +} \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/ControllerWithContext.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/ControllerWithContext.vb.t4 new file mode 100644 index 0000000..96321ce --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/ControllerWithContext.vb.t4 @@ -0,0 +1,129 @@ +<#@ template language="C#" HostSpecific="True" inherits="DynamicTransform" #> +<#@ Output Extension="vb" #> +<#@ assembly name="System.Data.Entity" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Text.RegularExpressions" #> +<#@ import namespace="EnvDTE" #> +Imports System.Data +Imports System.Data.Entity +Imports System.Linq +Imports System.Web.Mvc +<# if(!string.IsNullOrEmpty(Model.ModelTypeNamespace)) { #> +Imports <#= Model.ModelTypeNamespace #> +<# } #> +<# if((!string.IsNullOrEmpty(Model.DbContextNamespace)) && (Model.DbContextNamespace != Model.ModelTypeNamespace)) { #> +Imports <#= Model.DbContextNamespace #> +<# } #> + +<#= T4Scaffolding.Namespaces.BeginVb(Model.ControllerNamespace, Model.DefaultNamespace) #> +<# + var modelType = (CodeType)Model.ModelType; + var modelName = modelType.Name; + var modelNamePlural = Model.ModelTypePluralized; + var modelVariable = modelName.ToLower(); + var relatedEntities = ((IEnumerable)Model.RelatedEntities).OfType(); + var primaryKeyProperty = modelType.VisibleMembers().OfType().Single(x => x.Name == Model.PrimaryKey); + var routingName = Regex.Replace(Model.ControllerName, "Controller$", "", RegexOptions.IgnoreCase); + var isObjectContext = ((CodeType)Model.DbContextType).IsAssignableTo(); +#> + Public Class <#= Model.ControllerName #> : Inherits Controller + Private context As <#= ((CodeType)Model.DbContextType).Name #> = New <#= ((CodeType)Model.DbContextType).Name #>() + + ' GET: /<#= routingName #>/ + Public Function Index() As ViewResult +<# + var propertiesToInclude = relatedEntities.Select(relation => relation.LazyLoadingProperty).Where(x => x != null); + var includeExpressions = isObjectContext + ? String.Join("", propertiesToInclude.Select(x => String.Format(".Include(\"{0}\")", x.Name))) + : String.Join("", propertiesToInclude.Select(x => String.Format(".Include(Function({0}) {0}.{1})", modelVariable, x.Name))); +#> + return View(context.<#= modelNamePlural #><#= includeExpressions #>.ToList()) + End Function + + ' GET: /<#= routingName #>/Details/5 + Public Function Details(id As <#= primaryKeyProperty.Type.AsString #>) As ViewResult + Dim <#= modelVariable #> As <#= modelName #> = context.<#= modelNamePlural #>.Single(Function(x) x.<#= primaryKeyProperty.Name #> = id) + Return View(<#= modelVariable #>) + End Function + + ' GET: /<#= routingName #>/Create + Public Function Create() As ViewResult +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = context.<#= relatedEntity.RelatedEntityTypeNamePlural #> +<# } #> + Return View() + End Function + + ' POST: /<#= routingName #>/Create + + Public Function Create(<#= modelVariable #> As <#= modelName #>) As ActionResult + If ModelState.IsValid +<# if(primaryKeyProperty.Type.AsString == "System.Guid") { #> + <#= modelVariable #>.<#= primaryKeyProperty.Name #> = Guid.NewGuid() +<# } #> +<# if(isObjectContext) { #> + context.<#= modelNamePlural #>.AddObject(<#= modelVariable #>) +<# } else { #> + context.<#= modelNamePlural #>.Add(<#= modelVariable #>) +<# } #> + context.SaveChanges() + Return RedirectToAction("Index") + Else +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = context.<#= relatedEntity.RelatedEntityTypeNamePlural #> +<# } #> + Return View() + End If + End Function + + ' GET: /<#= routingName #>/Edit/5 + Public Function Edit(id As <#= primaryKeyProperty.Type.AsString #>) As ViewResult + Dim <#= modelVariable #> As <#= modelName #> = context.<#= modelNamePlural #>.Single(Function(x) x.<#= primaryKeyProperty.Name #> = id) +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = context.<#= relatedEntity.RelatedEntityTypeNamePlural #> +<# } #> + Return View(<#= modelVariable #>) + End Function + + ' POST: /<#= routingName #>/Edit/5 + + Public Function Edit(<#= modelVariable #> As <#= modelName #>) As ActionResult + If ModelState.IsValid +<# if(isObjectContext) { #> + context.<#= modelNamePlural #>.Attach(<#= modelVariable #>) + context.ObjectStateManager.ChangeObjectState(<#= modelVariable #>, EntityState.Modified) +<# } else { #> + context.Entry(<#= modelVariable #>).State = EntityState.Modified +<# } #> + context.SaveChanges() + Return RedirectToAction("Index") + Else +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = context.<#= relatedEntity.RelatedEntityTypeNamePlural #> +<# } #> + Return View() + End If + End Function + + ' GET: /<#= routingName #>/Delete/5 + Public Function Delete(id As <#= primaryKeyProperty.Type.AsString #>) As ViewResult + Dim <#= modelVariable #> as <#= modelName #> = context.<#= modelNamePlural #>.Single(Function(x) x.<#= primaryKeyProperty.Name #> = id) + Return View(<#= modelVariable #>) + End Function + + ' POST: /<#= routingName #>/Delete/5 + + Public Function DeleteConfirmed(id as <#= primaryKeyProperty.Type.AsString #>) As ActionResult + Dim <#= modelVariable #> As <#= modelName #> = context.<#= modelNamePlural #>.Single(Function(x) x.<#= primaryKeyProperty.Name #> = id) +<# if(isObjectContext) { #> + context.<#= modelNamePlural #>.DeleteObject(<#= modelVariable #>) +<# } else { #> + context.<#= modelNamePlural #>.Remove(<#= modelVariable #>) +<# } #> + context.SaveChanges() + Return RedirectToAction("Index") + End Function + End Class +<#= T4Scaffolding.Namespaces.EndVb(Model.ControllerNamespace, Model.DefaultNamespace) #> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/ControllerWithRepository.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/ControllerWithRepository.cs.t4 new file mode 100644 index 0000000..dc8fa62 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/ControllerWithRepository.cs.t4 @@ -0,0 +1,173 @@ +<#@ template language="C#" HostSpecific="True" inherits="DynamicTransform" #> +<#@ Output Extension="cs" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Text.RegularExpressions" #> +<#@ import namespace="EnvDTE" #> +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Mvc; +<# if(!string.IsNullOrEmpty(Model.ModelTypeNamespace)) { #> +using <#= Model.ModelTypeNamespace #>; +<# } #> +<# if((!string.IsNullOrEmpty(Model.RepositoriesNamespace)) && (Model.RepositoriesNamespace != Model.ModelTypeNamespace)) { #> +using <#= Model.RepositoriesNamespace #>; +<# } #> + +namespace <#= Model.ControllerNamespace #> +{ +<# + var modelType = (CodeType)Model.ModelType; + var modelName = modelType.Name; + var modelNamePlural = Model.ModelTypePluralized; + var modelVariable = modelName.ToLower(); + var relatedEntities = ((IEnumerable)Model.RelatedEntities).OfType(); + var primaryKeyProperty = modelType.VisibleMembers().OfType().Single(x => x.Name == Model.PrimaryKey); + var routingName = Regex.Replace(Model.ControllerName, "Controller$", "", RegexOptions.IgnoreCase); +#> + public class <#= Model.ControllerName #> : Controller + { +<# foreach(var repository in Repositories.Values) { #> + private readonly I<#= repository.RepositoryTypeName #> <#= repository.VariableName #>; +<# } #> + + // If you are using Dependency Injection, you can delete the following constructor + public <#= Model.ControllerName #>() : this(<#= String.Join(", ", Repositories.Values.Select(x => "new " + x.RepositoryTypeName + "()")) #>) + { + } + + public <#= Model.ControllerName #>(<#= String.Join(", ", Repositories.Values.Select(x => "I" + x.RepositoryTypeName + " " + x.VariableName)) #>) + { +<# foreach(var repository in Repositories.Values) { #> + this.<#= repository.VariableName #> = <#= repository.VariableName #>; +<# } #> + } + + // + // GET: /<#= routingName #>/ + + public ViewResult Index() + { +<# + var propertiesToInclude = relatedEntities.Select(relation => relation.LazyLoadingProperty).Where(x => x != null); + var includeExpression = String.Join(", ", propertiesToInclude.Select(x => String.Format("{0} => {0}.{1}", modelVariable, x.Name))); + if (!string.IsNullOrEmpty(includeExpression)) { + includeExpression = "Including(" + includeExpression + ")"; + } +#> + return View(<#= Repositories[modelType.FullName].VariableName #>.All<#= includeExpression #>); + } + + // + // GET: /<#= routingName #>/Details/5 + + public ViewResult Details(<#= primaryKeyProperty.Type.AsString #> id) + { + return View(<#= Repositories[modelType.FullName].VariableName #>.Find(id)); + } + + // + // GET: /<#= routingName #>/Create + + public ActionResult Create() + { +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = <#= Repositories[relatedEntity.RelatedEntityType.FullName].VariableName #>.All; +<# } #> + return View(); + } + + // + // POST: /<#= routingName #>/Create + + [HttpPost] + public ActionResult Create(<#= modelName #> <#= modelVariable #>) + { + if (ModelState.IsValid) { + <#= Repositories[modelType.FullName].VariableName #>.InsertOrUpdate(<#= modelVariable #>); + <#= Repositories[modelType.FullName].VariableName #>.Save(); + return RedirectToAction("Index"); + } else { +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = <#= Repositories[relatedEntity.RelatedEntityType.FullName].VariableName #>.All; +<# } #> + return View(); + } + } + + // + // GET: /<#= routingName #>/Edit/5 + + public ActionResult Edit(<#= primaryKeyProperty.Type.AsString #> id) + { +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = <#= Repositories[relatedEntity.RelatedEntityType.FullName].VariableName #>.All; +<# } #> + return View(<#= Repositories[modelType.FullName].VariableName #>.Find(id)); + } + + // + // POST: /<#= routingName #>/Edit/5 + + [HttpPost] + public ActionResult Edit(<#= modelName #> <#= modelVariable #>) + { + if (ModelState.IsValid) { + <#= Repositories[modelType.FullName].VariableName #>.InsertOrUpdate(<#= modelVariable #>); + <#= Repositories[modelType.FullName].VariableName #>.Save(); + return RedirectToAction("Index"); + } else { +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = <#= Repositories[relatedEntity.RelatedEntityType.FullName].VariableName #>.All; +<# } #> + return View(); + } + } + + // + // GET: /<#= routingName #>/Delete/5 + + public ActionResult Delete(<#= primaryKeyProperty.Type.AsString #> id) + { + return View(<#= Repositories[modelType.FullName].VariableName #>.Find(id)); + } + + // + // POST: /<#= routingName #>/Delete/5 + + [HttpPost, ActionName("Delete")] + public ActionResult DeleteConfirmed(<#= primaryKeyProperty.Type.AsString #> id) + { + <#= Repositories[modelType.FullName].VariableName #>.Delete(id); + <#= Repositories[modelType.FullName].VariableName #>.Save(); + + return RedirectToAction("Index"); + } + } +} + +<#+ +class RepositoryInfo { + public string RepositoryTypeName { get; set; } + public string VariableName { get; set; } +} + +IDictionary _repositories; +IDictionary Repositories { + get { + if (_repositories == null) { + var relatedEntities = ((IEnumerable)Model.RelatedEntities).OfType(); + var relatedTypes = relatedEntities.Where(x => x.RelationType == RelationType.Parent).Select(x => x.RelatedEntityType).Distinct(); + _repositories = relatedTypes.ToDictionary( + relatedType => relatedType.FullName, + relatedType => new RepositoryInfo { RepositoryTypeName = relatedType.Name + "Repository", VariableName = relatedType.Name.ToLower() + "Repository" } + ); + _repositories[((CodeType)Model.ModelType).FullName] = new RepositoryInfo { RepositoryTypeName = Model.Repository, VariableName = ((CodeType)Model.ModelType).Name.ToLower() + "Repository" }; + } + return _repositories; + } +} +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/ControllerWithRepository.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/ControllerWithRepository.vb.t4 new file mode 100644 index 0000000..4d70044 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/ControllerWithRepository.vb.t4 @@ -0,0 +1,141 @@ +<#@ template language="C#" HostSpecific="True" inherits="DynamicTransform" #> +<#@ Output Extension="vb" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Text.RegularExpressions" #> +<#@ import namespace="EnvDTE" #> +Imports System.Linq +Imports System.Web.Mvc +<# if(!string.IsNullOrEmpty(Model.ModelTypeNamespace)) { #> +Imports <#= Model.ModelTypeNamespace #> +<# } #> +<# if((!string.IsNullOrEmpty(Model.RepositoriesNamespace)) && (Model.RepositoriesNamespace != Model.ModelTypeNamespace)) { #> +Imports <#= Model.RepositoriesNamespace #> +<# } #> + +<#= T4Scaffolding.Namespaces.BeginVb(Model.ControllerNamespace, Model.DefaultNamespace) #> +<# + var modelType = (CodeType)Model.ModelType; + var modelName = modelType.Name; + var modelNamePlural = Model.ModelTypePluralized; + var modelVariable = modelName.ToLower(); + var relatedEntities = ((IEnumerable)Model.RelatedEntities).OfType(); + var primaryKeyProperty = modelType.VisibleMembers().OfType().Single(x => x.Name == Model.PrimaryKey); + var routingName = Regex.Replace(Model.ControllerName, "Controller$", "", RegexOptions.IgnoreCase); +#> + Public Class <#= Model.ControllerName #> : Inherits Controller +<# foreach(var repository in Repositories.Values) { #> + Private ReadOnly <#= repository.VariableName #> As I<#= repository.RepositoryTypeName #> +<# } #> + + ' If you are using Dependency Injection, you can delete the following constructor + Public Sub New() + Me.New(<#= String.Join(", ", Repositories.Values.Select(x => "New " + x.RepositoryTypeName + "()")) #>) + End Sub + + Public Sub New(<#= String.Join(", ", Repositories.Values.Select(x => "ByVal " + x.VariableName + " As I" + x.RepositoryTypeName)) #>) +<# foreach(var repository in Repositories.Values) { #> + Me.<#= repository.VariableName #> = <#= repository.VariableName #> +<# } #> + End Sub + + ' GET: /<#= routingName #>/ + Public Function Index() As ViewResult +<# + var propertiesToInclude = relatedEntities.Select(relation => relation.LazyLoadingProperty).Where(x => x != null); + var includeExpression = String.Join(", ", propertiesToInclude.Select(x => String.Format("Function({0}) {0}.{1}", modelVariable, x.Name))); + if (!string.IsNullOrEmpty(includeExpression)) { + includeExpression = "Including(" + includeExpression + ")"; + } +#> + Return View(<#= Repositories[modelType.FullName].VariableName #>.All<#= includeExpression #>) + End Function + + ' GET: /<#= routingName #>/Details/5 + Public Function Details(ByVal id As <#= primaryKeyProperty.Type.AsString #>) As ViewResult + Return View(<#= Repositories[modelType.FullName].VariableName #>.Find(id)) + End Function + + ' GET: /<#= routingName #>/Create + Public Function Create() As ActionResult +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = <#= Repositories[relatedEntity.RelatedEntityType.FullName].VariableName #>.All +<# } #> + Return View() + End Function + + ' POST: /<#= routingName #>/Create + + Public Function Create(ByVal <#= modelVariable #> As <#= modelName #>) As ActionResult + If ModelState.IsValid + <#= Repositories[modelType.FullName].VariableName #>.InsertOrUpdate(<#= modelVariable #>) + <#= Repositories[modelType.FullName].VariableName #>.Save() + Return RedirectToAction("Index") + Else +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = <#= Repositories[relatedEntity.RelatedEntityType.FullName].VariableName #>.All +<# } #> + Return View() + End If + End Function + + ' GET: /<#= routingName #>/Edit/5 + Public Function Edit(ByVal id As <#= primaryKeyProperty.Type.AsString #>) As ActionResult +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = <#= Repositories[relatedEntity.RelatedEntityType.FullName].VariableName #>.All +<# } #> + Return View(<#= Repositories[modelType.FullName].VariableName #>.Find(id)) + End Function + + ' POST: /<#= routingName #>/Edit/5 + + Public Function Edit(ByVal <#= modelVariable #> As <#= modelName #>) As ActionResult + If ModelState.IsValid + <#= Repositories[modelType.FullName].VariableName #>.InsertOrUpdate(<#= modelVariable #>) + <#= Repositories[modelType.FullName].VariableName #>.Save() + Return RedirectToAction("Index") + Else +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = <#= Repositories[relatedEntity.RelatedEntityType.FullName].VariableName #>.All +<# } #> + Return View() + End If + End Function + + ' GET: /<#= routingName #>/Delete/5 + Public Function Delete(ByVal id As <#= primaryKeyProperty.Type.AsString #>) As ActionResult + Return View(<#= Repositories[modelType.FullName].VariableName #>.Find(id)) + End Function + + ' POST: /<#= routingName #>/Delete/5 + + Public Function DeleteConfirm(ByVal id As <#= primaryKeyProperty.Type.AsString #>) As ActionResult + <#= Repositories[modelType.FullName].VariableName #>.Delete(id) + <#= Repositories[modelType.FullName].VariableName #>.Save() + Return RedirectToAction("Index") + End Function + End Class +<#= T4Scaffolding.Namespaces.EndVb(Model.ControllerNamespace, Model.DefaultNamespace) #> +<#+ +class RepositoryInfo { + public string RepositoryTypeName { get; set; } + public string VariableName { get; set; } +} + +IDictionary _repositories; +IDictionary Repositories { + get { + if (_repositories == null) { + var relatedEntities = ((IEnumerable)Model.RelatedEntities).OfType(); + var relatedTypes = relatedEntities.Where(x => x.RelationType == RelationType.Parent).Select(x => x.RelatedEntityType).Distinct(); + _repositories = relatedTypes.ToDictionary( + relatedType => relatedType.FullName, + relatedType => new RepositoryInfo { RepositoryTypeName = relatedType.Name + "Repository", VariableName = relatedType.Name.ToLower() + "Repository" } + ); + _repositories[((CodeType)Model.ModelType).FullName] = new RepositoryInfo { RepositoryTypeName = Model.Repository, VariableName = ((CodeType)Model.ModelType).Name.ToLower() + "Repository" }; + } + return _repositories; + } +} +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/MvcScaffolding.Controller.ps1 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/MvcScaffolding.Controller.ps1 new file mode 100644 index 0000000..5863de4 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/MvcScaffolding.Controller.ps1 @@ -0,0 +1,127 @@ +[T4Scaffolding.ControllerScaffolder("Controller with read/write action and views, using EF data access code", Description = "Adds an ASP.NET MVC controller with views and data access code", SupportsModelType = $true, SupportsDataContextType = $true, SupportsViewScaffolder = $true)][CmdletBinding()] +param( + [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)][string]$ControllerName, + [string]$ModelType, + [string]$Project, + [string]$CodeLanguage, + [string]$DbContextType, + [string]$Area, + [string]$ViewScaffolder = "View", + [alias("MasterPage")]$Layout, + [alias("ContentPlaceholderIDs")][string[]]$SectionNames, + [alias("PrimaryContentPlaceholderID")][string]$PrimarySectionName, + [switch]$ReferenceScriptLibraries = $false, + [switch]$Repository = $false, + [switch]$NoChildItems = $false, + [string[]]$TemplateFolders, + [switch]$Force = $false, + [string]$ForceMode +) + +if (!((Get-ProjectAspNetMvcVersion -Project $Project) -ge 3)) { + Write-Error ("Project '$((Get-Project $Project).Name)' is not an ASP.NET MVC 3 project.") + return +} + +# Interpret the "Force" and "ForceMode" options +$overwriteController = $Force -and ((!$ForceMode) -or ($ForceMode -eq "ControllerOnly")) +$overwriteFilesExceptController = $Force -and ((!$ForceMode) -or ($ForceMode -eq "PreserveController")) + +# Ensure you've referenced System.Data.Entity +(Get-Project $Project).Object.References.Add("System.Data.Entity") | Out-Null + +# If you haven't specified a model type, we'll guess from the controller name +if (!$ModelType) { + if ($ControllerName.EndsWith("Controller", [StringComparison]::OrdinalIgnoreCase)) { + # If you've given "PeopleController" as the full controller name, we're looking for a model called People or Person + $ModelType = [System.Text.RegularExpressions.Regex]::Replace($ControllerName, "Controller$", "", [System.Text.RegularExpressions.RegexOptions]::IgnoreCase) + $foundModelType = Get-ProjectType $ModelType -Project $Project -BlockUi -ErrorAction SilentlyContinue + if (!$foundModelType) { + $ModelType = [string](Get-SingularizedWord $ModelType) + $foundModelType = Get-ProjectType $ModelType -Project $Project -BlockUi -ErrorAction SilentlyContinue + } + } else { + # If you've given "people" as the controller name, we're looking for a model called People or Person, and the controller will be PeopleController + $ModelType = $ControllerName + $foundModelType = Get-ProjectType $ModelType -Project $Project -BlockUi -ErrorAction SilentlyContinue + if (!$foundModelType) { + $ModelType = [string](Get-SingularizedWord $ModelType) + $foundModelType = Get-ProjectType $ModelType -Project $Project -BlockUi -ErrorAction SilentlyContinue + } + if ($foundModelType) { + $ControllerName = [string](Get-PluralizedWord $foundModelType.Name) + "Controller" + } + } + if (!$foundModelType) { throw "Cannot find a model type corresponding to a controller called '$ControllerName'. Try supplying a -ModelType parameter value." } +} else { + # If you have specified a model type + $foundModelType = Get-ProjectType $ModelType -Project $Project -BlockUi + if (!$foundModelType) { return } + if (!$ControllerName.EndsWith("Controller", [StringComparison]::OrdinalIgnoreCase)) { + $ControllerName = $ControllerName + "Controller" + } +} +Write-Host "Scaffolding $ControllerName..." + +if(!$DbContextType) { $DbContextType = [System.Text.RegularExpressions.Regex]::Replace((Get-Project $Project).Name, "[^a-zA-Z0-9]", "") + "Context" } +if (!$NoChildItems) { + if ($Repository) { + Scaffold Repository -ModelType $foundModelType.FullName -DbContextType $DbContextType -Area $Area -Project $Project -CodeLanguage $CodeLanguage -Force:$overwriteFilesExceptController -BlockUi + } else { + $dbContextScaffolderResult = Scaffold DbContext -ModelType $foundModelType.FullName -DbContextType $DbContextType -Area $Area -Project $Project -CodeLanguage $CodeLanguage -BlockUi + $foundDbContextType = $dbContextScaffolderResult.DbContextType + if (!$foundDbContextType) { return } + } +} +if (!$foundDbContextType) { $foundDbContextType = Get-ProjectType $DbContextType -Project $Project } +if (!$foundDbContextType) { return } + +$primaryKey = Get-PrimaryKey $foundModelType.FullName -Project $Project -ErrorIfNotFound +if (!$primaryKey) { return } + +$outputPath = Join-Path Controllers $ControllerName +# We don't create areas here, so just ensure that if you specify one, it already exists +if ($Area) { + $areaPath = Join-Path Areas $Area + if (-not (Get-ProjectItem $areaPath -Project $Project)) { + Write-Error "Cannot find area '$Area'. Make sure it exists already." + return + } + $outputPath = Join-Path $areaPath $outputPath +} + +# Prepare all the parameter values to pass to the template, then invoke the template with those values +$repositoryName = $foundModelType.Name + "Repository" +$defaultNamespace = (Get-Project $Project).Properties.Item("DefaultNamespace").Value +$modelTypeNamespace = [T4Scaffolding.Namespaces]::GetNamespace($foundModelType.FullName) +$controllerNamespace = [T4Scaffolding.Namespaces]::Normalize($defaultNamespace + "." + [System.IO.Path]::GetDirectoryName($outputPath).Replace([System.IO.Path]::DirectorySeparatorChar, ".")) +$areaNamespace = if ($Area) { [T4Scaffolding.Namespaces]::Normalize($defaultNamespace + ".Areas.$Area") } else { $defaultNamespace } +$dbContextNamespace = $foundDbContextType.Namespace.FullName +$repositoriesNamespace = [T4Scaffolding.Namespaces]::Normalize($areaNamespace + ".Models") +$modelTypePluralized = Get-PluralizedWord $foundModelType.Name +$relatedEntities = [Array](Get-RelatedEntities $foundModelType.FullName -Project $project) +if (!$relatedEntities) { $relatedEntities = @() } + +$templateName = if($Repository) { "ControllerWithRepository" } else { "ControllerWithContext" } +Add-ProjectItemViaTemplate $outputPath -Template $templateName -Model @{ + ControllerName = $ControllerName; + ModelType = [MarshalByRefObject]$foundModelType; + PrimaryKey = [string]$primaryKey; + DefaultNamespace = $defaultNamespace; + AreaNamespace = $areaNamespace; + DbContextNamespace = $dbContextNamespace; + RepositoriesNamespace = $repositoriesNamespace; + ModelTypeNamespace = $modelTypeNamespace; + ControllerNamespace = $controllerNamespace; + DbContextType = [MarshalByRefObject]$foundDbContextType; + Repository = $repositoryName; + ModelTypePluralized = [string]$modelTypePluralized; + RelatedEntities = $relatedEntities; +} -SuccessMessage "Added controller {0}" -TemplateFolders $TemplateFolders -Project $Project -CodeLanguage $CodeLanguage -Force:$overwriteController + +if (!$NoChildItems) { + $controllerNameWithoutSuffix = [System.Text.RegularExpressions.Regex]::Replace($ControllerName, "Controller$", "", [System.Text.RegularExpressions.RegexOptions]::IgnoreCase) + if ($ViewScaffolder) { + Scaffold Views -ViewScaffolder $ViewScaffolder -Controller $controllerNameWithoutSuffix -ModelType $foundModelType.FullName -Area $Area -Layout $Layout -SectionNames $SectionNames -PrimarySectionName $PrimarySectionName -ReferenceScriptLibraries:$ReferenceScriptLibraries -Project $Project -CodeLanguage $CodeLanguage -Force:$overwriteFilesExceptController + } +} \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/MvcScaffolding.ControllerWithRepository.ps1 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/MvcScaffolding.ControllerWithRepository.ps1 new file mode 100644 index 0000000..9ed5bbb --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/MvcScaffolding.ControllerWithRepository.ps1 @@ -0,0 +1,36 @@ +[T4Scaffolding.ControllerScaffolder("Controller with read/write action and views, using repositories", HideInConsole = $true, Description = "Adds an ASP.NET MVC controller with views and data access code", SupportsModelType = $true, SupportsDataContextType = $true, SupportsViewScaffolder = $true)][CmdletBinding()] +param( + [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)][string]$ControllerName, + [string]$ModelType, + [string]$Project, + [string]$CodeLanguage, + [string]$DbContextType, + [string]$Area, + [string]$ViewScaffolder = "View", + [alias("MasterPage")]$Layout, + [alias("ContentPlaceholderIDs")][string[]]$SectionNames, + [alias("PrimaryContentPlaceholderID")][string]$PrimarySectionName, + [switch]$ReferenceScriptLibraries = $false, + [switch]$NoChildItems = $false, + [string[]]$TemplateFolders, + [switch]$Force = $false, + [string]$ForceMode +) + +Scaffold MvcScaffolding.Controller ` + -ControllerName $ControllerName ` + -ModelType $ModelType ` + -Project $Project ` + -CodeLanguage $CodeLanguage ` + -DbContextType $DbContextType ` + -Area $Area ` + -ViewScaffolder $ViewScaffolder ` + -Layout $Layout ` + -SectionNames $SectionNames ` + -PrimarySectionName $PrimarySectionName ` + -ReferenceScriptLibraries:$ReferenceScriptLibraries ` + -NoChildItems:$NoChildItems ` + -OverrideTemplateFolders $TemplateFolders ` + -Force:$Force ` + -ForceMode $ForceMode ` + -Repository diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Create.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Create.cs.t4 new file mode 100644 index 0000000..84cc50b --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Create.cs.t4 @@ -0,0 +1,140 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="cshtml" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<# var viewDataType = (EnvDTE.CodeType) Model.ViewDataType; #> +<# if(viewDataType != null) { #> +@model <#= viewDataType.FullName #> + +<# } #> +@{ + ViewBag.Title = "<#= Model.ViewName #>"; +<# +if (!String.IsNullOrEmpty(Model.Layout)) { +#> + Layout = "<#= Model.Layout #>"; +<# +} +#> +} + +

<#= Model.ViewName #>

+ +<# if(Model.ReferenceScriptLibraries) { #> + + + +<# } #> +@using (Html.BeginForm()) { + @Html.ValidationSummary(true) +
+ <#= Model.ViewDataTypeName ?? String.Empty #> + + @Html.Partial("_CreateOrEdit", Model) + +

+ +

+
+} + +
+ @Html.ActionLink("Back to List", "Index") +
+ + +<#+ +// Describes the information about a property on the model +class ModelProperty { + public string Name { get; set; } + public string ValueExpression { get; set; } + public EnvDTE.CodeTypeRef Type { get; set; } + public bool IsPrimaryKey { get; set; } + public bool IsForeignKey { get; set; } + public bool IsReadOnly { get; set; } +} + +// Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +static Type[] bindableNonPrimitiveTypes = new[] { + typeof(string), + typeof(decimal), + typeof(Guid), + typeof(DateTime), + typeof(DateTimeOffset), + typeof(TimeSpan), +}; + +// Call this to get the list of properties in the model. Change this to modify or add your +// own default formatting for display values. +List GetModelProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = GetEligibleProperties(typeInfo, includeUnbindableProperties); + + foreach (ModelProperty prop in results) { + if (prop.Type.UnderlyingTypeIs() || prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:F}\", " + prop.ValueExpression + ")"; + } + else if (prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:g}\", " + prop.ValueExpression + ")"; + } + else if (!IsBindableType(prop.Type)) { + prop.ValueExpression = GetValueExpression("Model." + prop.Name, (EnvDTE.CodeType)prop.Type.CodeType); + } + } + + return results; +} + +// Change this list to include the names of properties that should be selected to represent an entity as a single string +static string[] displayPropertyNames = new[] { "Name", "Title", "LastName", "Surname", "Subject", "Count" }; + +string GetValueExpression(string propertyExpression, EnvDTE.CodeType propertyType) { + if (propertyType != null) { + var chosenSubproperty = propertyType.DisplayColumnProperty() ?? propertyType.FindProperty(displayPropertyNames); + if (chosenSubproperty != null) { + var toStringSuffix = chosenSubproperty.Type.AsFullName == "System.String" ? "" : ".ToString()"; + return String.Format("({0} == null ? \"None\" : {0}.{1}{2})", propertyExpression, chosenSubproperty.Name, toStringSuffix); + } + } + return "Html.DisplayTextFor(_ => " + propertyExpression + ").ToString()"; +} + +// Helper +List GetEligibleProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = new List(); + if (typeInfo != null) { + foreach (var prop in typeInfo.VisibleMembers().OfType()) { + if (prop.IsReadable() && !prop.HasIndexParameters() && (includeUnbindableProperties || IsBindableType(prop.Type))) { + results.Add(new ModelProperty { + Name = prop.Name, + ValueExpression = "Model." + prop.Name, + Type = prop.Type, + IsPrimaryKey = Model.PrimaryKeyName == prop.Name, + IsForeignKey = ParentRelations.Any(x => x.RelationProperty == prop), + IsReadOnly = !prop.IsWriteable() + }); + } + } + } + + return results; +} + +IEnumerable ParentRelations { + get { return ((IEnumerable)Model.RelatedEntities).OfType().Where(x => x.RelationType == RelationType.Parent); } +} + +// Helper +bool IsBindableType(EnvDTE.CodeTypeRef type) { + return type.UnderlyingIsPrimitive() || bindableNonPrimitiveTypes.Any(x => type.UnderlyingTypeIs(x)); +} +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Create.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Create.vb.t4 new file mode 100644 index 0000000..f89970b --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Create.vb.t4 @@ -0,0 +1,137 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="vbhtml" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<#@ import namespace="EnvDTE" #> +<# Dim viewDataType = CType(Model.ViewDataType, CodeType) #> +<# If viewDataType IsNot Nothing #> +@ModelType <#= viewDataType.FullName #> + +<# End If #> +@Code + ViewData("Title") = "<#= Model.ViewName #>" +<# If Not String.IsNullOrEmpty(Model.Layout) #> + Layout = "<#= Model.Layout #>" +<# End If #> +End Code + +

<#= Model.ViewName #>

+ +<# If Model.ReferenceScriptLibraries Then #> + + + +<# End If #> +@Using Html.BeginForm() + @Html.ValidationSummary(True) + @
+ <#= If(Model.ViewDataTypeName, String.Empty) #> + + @Html.Partial("_CreateOrEdit", Model) +

+ +

+
+End Using + +
+ @Html.ActionLink("Back to List", "Index") +
+ +<#+ +' Describes the information about a property on the model +Private Class ModelProperty + Public Name As String + Public ValueExpression As String + Public Type As CodeTypeRef + Public IsReadOnly As Boolean + Public IsPrimaryKey As Boolean + Public IsForeignKey As Boolean +End Class + +' Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +Private Shared bindableNonPrimitiveTypes As Type() = New Type() { + GetType(String), + GetType(Decimal), + GetType(Guid), + GetType(DateTime), + GetType(DateTimeOffset), + GetType(TimeSpan) +} + +' Call this to get the list of properties in the model. Change this to modify or add your +' own default formatting for display values. +Private Function GetModelProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As List(Of ModelProperty) = GetEligibleProperties(type, includeUnbindableProperties) + + For Each modelProp As ModelProperty In results + If ((modelProp.Type.UnderlyingTypeIs(GetType(Double))) OrElse (modelProp.Type.UnderlyingTypeIs(GetType(Decimal)))) Then + modelProp.ValueExpression = ("String.Format(""{0:F}"", " & modelProp.ValueExpression & ")") + ElseIf (modelProp.Type.UnderlyingTypeIs(GetType(DateTime))) Then + modelProp.ValueExpression = ("String.Format(""{0:g}"", " & modelProp.ValueExpression & ")") + ElseIf (Not IsBindableType(modelProp.Type)) + modelProp.ValueExpression = GetValueExpression("Model." & modelProp.Name, CType(modelProp.Type.CodeType, CodeType)) + End If + Next + + Return results +End Function + +' Change this list to include the names of properties that should be selected to represent an entity as a single string +Private Shared displayPropertyNames As String() = New String() { "Name", "Title", "LastName", "Surname", "Subject", "Count" } + +Private Function GetValueExpression(ByVal propertyExpression As String, ByVal propertyType As CodeType) As String + If propertyType IsNot Nothing Then + Dim chosenSubproperty = If(propertyType.DisplayColumnProperty(), propertyType.FindProperty(displayPropertyNames)) + If chosenSubproperty IsNot Nothing Then + Dim toStringSuffix = If(chosenSubproperty.Type.AsFullName = "System.String", "", ".ToString()") + Return String.Format("(If({0} Is Nothing, ""None"", {0}.{1}{2}))", propertyExpression, chosenSubproperty.Name, toStringSuffix) + End If + End If + Return "Html.DisplayTextFor(Function(model) " & propertyExpression & ").ToString()" +End Function + +' Helper +Private Function GetEligibleProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As New List(Of ModelProperty) + + If type IsNot Nothing Then + For Each prop As CodeProperty In type.VisibleMembers().OfType(Of CodeProperty)() + Dim propValue = prop + If (prop.IsReadable() AndAlso (Not prop.HasIndexParameters()) AndAlso (includeUnbindableProperties OrElse IsBindableType(prop.Type))) Then + results.Add(New ModelProperty() With { _ + .Name = prop.Name, _ + .ValueExpression = ("Model." & prop.Name), _ + .Type = prop.Type, _ + .IsPrimaryKey = Model.PrimaryKeyName = prop.Name, _ + .IsReadOnly = Not prop.IsWriteable(), _ + .IsForeignKey = ParentRelations.Any(Function(x) propValue.Name = x.RelationProperty.Name) _ + }) + End If + Next + End If + + Return results +End Function + +Private ReadOnly Property ParentRelations As IEnumerable(Of RelatedEntityInfo) + Get + Return CType(Model.RelatedEntities, IEnumerable).OfType(Of RelatedEntityInfo)().Where(Function(x) x.RelationType = RelationType.Parent) + End Get +End Property + +' Helper +Private Function IsBindableType(ByVal type As CodeTypeRef) As Boolean + Return type.UnderlyingIsPrimitive() OrElse bindableNonPrimitiveTypes.Any(Function(x) type.UnderlyingTypeIs(x)) +End Function +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Delete.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Delete.cs.t4 new file mode 100644 index 0000000..161e472 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Delete.cs.t4 @@ -0,0 +1,136 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="cshtml" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<# var viewDataType = (EnvDTE.CodeType) Model.ViewDataType; #> +<# if(viewDataType != null) { #> +@model <#= viewDataType.FullName #> + +<# } #> +@{ + ViewBag.Title = "<#= Model.ViewName #>"; +<# if (!String.IsNullOrEmpty(Model.Layout)) { #> + Layout = "<#= Model.Layout #>"; +<# } #> +} + +

<#= Model.ViewName #>

+ +

Are you sure you want to delete this?

+
+ <#= Model.ViewDataTypeName ?? String.Empty #> +<# +foreach (ModelProperty property in GetModelProperties(Model.ViewDataType, true)) { + if (!property.IsPrimaryKey && !property.IsForeignKey) { +#> + +
<#= property.Name #>
+
@<#= property.ValueExpression #>
+<# + } +} +#> +
+@using (Html.BeginForm()) { +

+ | + @Html.ActionLink("Back to List", "Index") +

+} + + +<#+ +// Describes the information about a property on the model +class ModelProperty { + public string Name { get; set; } + public string ValueExpression { get; set; } + public EnvDTE.CodeTypeRef Type { get; set; } + public bool IsPrimaryKey { get; set; } + public bool IsForeignKey { get; set; } + public bool IsReadOnly { get; set; } +} + +// Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +static Type[] bindableNonPrimitiveTypes = new[] { + typeof(string), + typeof(decimal), + typeof(Guid), + typeof(DateTime), + typeof(DateTimeOffset), + typeof(TimeSpan), +}; + +// Call this to get the list of properties in the model. Change this to modify or add your +// own default formatting for display values. +List GetModelProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = GetEligibleProperties(typeInfo, includeUnbindableProperties); + + foreach (ModelProperty prop in results) { + if (prop.Type.UnderlyingTypeIs() || prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:F}\", " + prop.ValueExpression + ")"; + } + else if (prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:g}\", " + prop.ValueExpression + ")"; + } + else if (!IsBindableType(prop.Type)) { + prop.ValueExpression = GetValueExpression("Model." + prop.Name, (EnvDTE.CodeType)prop.Type.CodeType); + } + } + + return results; +} + +// Change this list to include the names of properties that should be selected to represent an entity as a single string +static string[] displayPropertyNames = new[] { "Name", "Title", "LastName", "Surname", "Subject", "Count" }; + +string GetValueExpression(string propertyExpression, EnvDTE.CodeType propertyType) { + if (propertyType != null) { + var chosenSubproperty = propertyType.DisplayColumnProperty() ?? propertyType.FindProperty(displayPropertyNames); + if (chosenSubproperty != null) { + var toStringSuffix = chosenSubproperty.Type.AsFullName == "System.String" ? "" : ".ToString()"; + return String.Format("({0} == null ? \"None\" : {0}.{1}{2})", propertyExpression, chosenSubproperty.Name, toStringSuffix); + } + } + return "Html.DisplayTextFor(_ => " + propertyExpression + ").ToString()"; +} + +// Helper +List GetEligibleProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = new List(); + if (typeInfo != null) { + foreach (var prop in typeInfo.VisibleMembers().OfType()) { + if (prop.IsReadable() && !prop.HasIndexParameters() && (includeUnbindableProperties || IsBindableType(prop.Type))) { + results.Add(new ModelProperty { + Name = prop.Name, + ValueExpression = "Model." + prop.Name, + Type = prop.Type, + IsPrimaryKey = Model.PrimaryKeyName == prop.Name, + IsForeignKey = ParentRelations.Any(x => x.RelationProperty == prop), + IsReadOnly = !prop.IsWriteable() + }); + } + } + } + + return results; +} + +IEnumerable ParentRelations { + get { return ((IEnumerable)Model.RelatedEntities).OfType().Where(x => x.RelationType == RelationType.Parent); } +} + +// Helper +bool IsBindableType(EnvDTE.CodeTypeRef type) { + return type.UnderlyingIsPrimitive() || bindableNonPrimitiveTypes.Any(x => type.UnderlyingTypeIs(x)); +} +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Delete.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Delete.vb.t4 new file mode 100644 index 0000000..c808ab5 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Delete.vb.t4 @@ -0,0 +1,139 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="vbhtml" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<#@ import namespace="EnvDTE" #> +<# Dim viewDataType = CType(Model.ViewDataType, CodeType) #> +<# If viewDataType IsNot Nothing #> +@ModelType <#= viewDataType.FullName #> + +<# End If #> +@Code + ViewData("Title") = "<#= Model.ViewName #>" +<# If Not String.IsNullOrEmpty(Model.Layout) #> + Layout = "<#= Model.Layout #>" +<# End If #> +End Code + +

<#= Model.ViewName #>

+ +

Are you sure you want to delete this?

+
+ <#= If(Model.ViewDataTypeName, String.Empty) #> +<# +For Each modelProp As ModelProperty In GetModelProperties(Model.ViewDataType, True) + If (Not modelProp.IsPrimaryKey AndAlso Not modelProp.IsForeignKey) Then +#> + +
<#= modelProp.Name #>
+
@<#= modelProp.ValueExpression #>
+<# + End If +Next +#> +
+ +@Using Html.BeginForm() + @

+ | + @Html.ActionLink("Back to List", "Index") +

+End Using + +<#+ +' Describes the information about a property on the model +Private Class ModelProperty + Public Name As String + Public ValueExpression As String + Public Type As CodeTypeRef + Public IsReadOnly As Boolean + Public IsPrimaryKey As Boolean + Public IsForeignKey As Boolean +End Class + +' Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +Private Shared bindableNonPrimitiveTypes As Type() = New Type() { + GetType(String), + GetType(Decimal), + GetType(Guid), + GetType(DateTime), + GetType(DateTimeOffset), + GetType(TimeSpan) +} + +' Call this to get the list of properties in the model. Change this to modify or add your +' own default formatting for display values. +Private Function GetModelProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As List(Of ModelProperty) = GetEligibleProperties(type, includeUnbindableProperties) + + For Each modelProp As ModelProperty In results + If ((modelProp.Type.UnderlyingTypeIs(GetType(Double))) OrElse (modelProp.Type.UnderlyingTypeIs(GetType(Decimal)))) Then + modelProp.ValueExpression = ("String.Format(""{0:F}"", " & modelProp.ValueExpression & ")") + ElseIf (modelProp.Type.UnderlyingTypeIs(GetType(DateTime))) Then + modelProp.ValueExpression = ("String.Format(""{0:g}"", " & modelProp.ValueExpression & ")") + ElseIf (Not IsBindableType(modelProp.Type)) + modelProp.ValueExpression = GetValueExpression("Model." & modelProp.Name, CType(modelProp.Type.CodeType, CodeType)) + End If + Next + + Return results +End Function + +' Change this list to include the names of properties that should be selected to represent an entity as a single string +Private Shared displayPropertyNames As String() = New String() { "Name", "Title", "LastName", "Surname", "Subject", "Count" } + +Private Function GetValueExpression(ByVal propertyExpression As String, ByVal propertyType As CodeType) As String + If propertyType IsNot Nothing Then + Dim chosenSubproperty = If(propertyType.DisplayColumnProperty(), propertyType.FindProperty(displayPropertyNames)) + If chosenSubproperty IsNot Nothing Then + Dim toStringSuffix = If(chosenSubproperty.Type.AsFullName = "System.String", "", ".ToString()") + Return String.Format("(If({0} Is Nothing, ""None"", {0}.{1}{2}))", propertyExpression, chosenSubproperty.Name, toStringSuffix) + End If + End If + Return "Html.DisplayTextFor(Function(model) " & propertyExpression & ").ToString()" +End Function + +' Helper +Private Function GetEligibleProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As New List(Of ModelProperty) + + If type IsNot Nothing Then + For Each prop As CodeProperty In type.VisibleMembers().OfType(Of CodeProperty)() + Dim propValue = prop + If (prop.IsReadable() AndAlso (Not prop.HasIndexParameters()) AndAlso (includeUnbindableProperties OrElse IsBindableType(prop.Type))) Then + results.Add(New ModelProperty() With { _ + .Name = prop.Name, _ + .ValueExpression = ("Model." & prop.Name), _ + .Type = prop.Type, _ + .IsPrimaryKey = Model.PrimaryKeyName = prop.Name, _ + .IsReadOnly = Not prop.IsWriteable(), _ + .IsForeignKey = ParentRelations.Any(Function(x) propValue.Name = x.RelationProperty.Name) _ + }) + End If + Next + End If + + Return results +End Function + +Private ReadOnly Property ParentRelations As IEnumerable(Of RelatedEntityInfo) + Get + Return CType(Model.RelatedEntities, IEnumerable).OfType(Of RelatedEntityInfo)().Where(Function(x) x.RelationType = RelationType.Parent) + End Get +End Property + +' Helper +Private Function IsBindableType(ByVal type As CodeTypeRef) As Boolean + Return type.UnderlyingIsPrimitive() OrElse bindableNonPrimitiveTypes.Any(Function(x) type.UnderlyingTypeIs(x)) +End Function +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Details.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Details.cs.t4 new file mode 100644 index 0000000..bf4f8af --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Details.cs.t4 @@ -0,0 +1,138 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="cshtml" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<# var viewDataType = (EnvDTE.CodeType) Model.ViewDataType; #> +<# if(viewDataType != null) { #> +@model <#= viewDataType.FullName #> + +<# } #> +@{ + ViewBag.Title = "<#= Model.ViewName #>"; +<# if (!String.IsNullOrEmpty(Model.Layout)) { #> + Layout = "<#= Model.Layout #>"; +<# } #> +} + +

<#= Model.ViewName #>

+ +
+ <#= Model.ViewDataTypeName ?? String.Empty #> +<# +foreach (ModelProperty property in GetModelProperties(Model.ViewDataType, true)) { + if (!property.IsPrimaryKey && !property.IsForeignKey) { +#> + +
<#= property.Name #>
+
@<#= property.ValueExpression #>
+<# + } +} +#> +
+

+<# if (!String.IsNullOrEmpty(Model.PrimaryKeyName)) { #> + @Html.ActionLink("Edit", "Edit", new { id=Model.<#= Model.PrimaryKeyName #> }) | + @Html.ActionLink("Back to List", "Index") +<# } else { #> + @Html.ActionLink("Edit", "Edit", new { /* id=Model.PrimaryKey */ }) | + @Html.ActionLink("Back to List", "Index") +<# } #> +

+ + +<#+ +// Describes the information about a property on the model +class ModelProperty { + public string Name { get; set; } + public string ValueExpression { get; set; } + public EnvDTE.CodeTypeRef Type { get; set; } + public bool IsPrimaryKey { get; set; } + public bool IsForeignKey { get; set; } + public bool IsReadOnly { get; set; } +} + +// Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +static Type[] bindableNonPrimitiveTypes = new[] { + typeof(string), + typeof(decimal), + typeof(Guid), + typeof(DateTime), + typeof(DateTimeOffset), + typeof(TimeSpan), +}; + +// Call this to get the list of properties in the model. Change this to modify or add your +// own default formatting for display values. +List GetModelProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = GetEligibleProperties(typeInfo, includeUnbindableProperties); + + foreach (ModelProperty prop in results) { + if (prop.Type.UnderlyingTypeIs() || prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:F}\", " + prop.ValueExpression + ")"; + } + else if (prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:g}\", " + prop.ValueExpression + ")"; + } + else if (!IsBindableType(prop.Type)) { + prop.ValueExpression = GetValueExpression("Model." + prop.Name, (EnvDTE.CodeType)prop.Type.CodeType); + } + } + + return results; +} + +// Change this list to include the names of properties that should be selected to represent an entity as a single string +static string[] displayPropertyNames = new[] { "Name", "Title", "LastName", "Surname", "Subject", "Count" }; + +string GetValueExpression(string propertyExpression, EnvDTE.CodeType propertyType) { + if (propertyType != null) { + var chosenSubproperty = propertyType.DisplayColumnProperty() ?? propertyType.FindProperty(displayPropertyNames); + if (chosenSubproperty != null) { + var toStringSuffix = chosenSubproperty.Type.AsFullName == "System.String" ? "" : ".ToString()"; + return String.Format("({0} == null ? \"None\" : {0}.{1}{2})", propertyExpression, chosenSubproperty.Name, toStringSuffix); + } + } + return "Html.DisplayTextFor(_ => " + propertyExpression + ").ToString()"; +} + +// Helper +List GetEligibleProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = new List(); + if (typeInfo != null) { + foreach (var prop in typeInfo.VisibleMembers().OfType()) { + if (prop.IsReadable() && !prop.HasIndexParameters() && (includeUnbindableProperties || IsBindableType(prop.Type))) { + results.Add(new ModelProperty { + Name = prop.Name, + ValueExpression = "Model." + prop.Name, + Type = prop.Type, + IsPrimaryKey = Model.PrimaryKeyName == prop.Name, + IsForeignKey = ParentRelations.Any(x => x.RelationProperty == prop), + IsReadOnly = !prop.IsWriteable() + }); + } + } + } + + return results; +} + +IEnumerable ParentRelations { + get { return ((IEnumerable)Model.RelatedEntities).OfType().Where(x => x.RelationType == RelationType.Parent); } +} + +// Helper +bool IsBindableType(EnvDTE.CodeTypeRef type) { + return type.UnderlyingIsPrimitive() || bindableNonPrimitiveTypes.Any(x => type.UnderlyingTypeIs(x)); +} +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Details.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Details.vb.t4 new file mode 100644 index 0000000..c6878c9 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Details.vb.t4 @@ -0,0 +1,141 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="vbhtml" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<#@ import namespace="EnvDTE" #> +<# Dim viewDataType = CType(Model.ViewDataType, CodeType) #> +<# If viewDataType IsNot Nothing #> +@ModelType <#= viewDataType.FullName #> + +<# End If #> +@Code + ViewData("Title") = "<#= Model.ViewName #>" +<# If Not String.IsNullOrEmpty(Model.Layout) #> + Layout = "<#= Model.Layout #>" +<# End If #> +End Code + +

<#= Model.ViewName #>

+ +
+ <#= If(Model.ViewDataTypeName, String.Empty) #> +<# +For Each modelProp As ModelProperty In GetModelProperties(Model.ViewDataType, True) + If (Not modelProp.IsPrimaryKey AndAlso Not modelProp.IsForeignKey) Then +#> + +
<#= modelProp.Name #>
+
@<#= modelProp.ValueExpression #>
+<# + End If +Next +#> +
+ +

+<# If Not String.IsNullOrEmpty(Model.PrimaryKeyName) Then #> + @Html.ActionLink("Edit", "Edit", New With {.id = Model.<#= Model.PrimaryKeyName #>}) | + @Html.ActionLink("Back to List", "Index") +<# Else #> + @*@Html.ActionLink("Edit", "Edit", New With {.id = Model.PrimaryKey}) |*@ + @Html.ActionLink("Back to List", "Index") +<# End If #> +

+ +<#+ +' Describes the information about a property on the model +Private Class ModelProperty + Public Name As String + Public ValueExpression As String + Public Type As CodeTypeRef + Public IsReadOnly As Boolean + Public IsPrimaryKey As Boolean + Public IsForeignKey As Boolean +End Class + +' Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +Private Shared bindableNonPrimitiveTypes As Type() = New Type() { + GetType(String), + GetType(Decimal), + GetType(Guid), + GetType(DateTime), + GetType(DateTimeOffset), + GetType(TimeSpan) +} + +' Call this to get the list of properties in the model. Change this to modify or add your +' own default formatting for display values. +Private Function GetModelProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As List(Of ModelProperty) = GetEligibleProperties(type, includeUnbindableProperties) + + For Each modelProp As ModelProperty In results + If ((modelProp.Type.UnderlyingTypeIs(GetType(Double))) OrElse (modelProp.Type.UnderlyingTypeIs(GetType(Decimal)))) Then + modelProp.ValueExpression = ("String.Format(""{0:F}"", " & modelProp.ValueExpression & ")") + ElseIf (modelProp.Type.UnderlyingTypeIs(GetType(DateTime))) Then + modelProp.ValueExpression = ("String.Format(""{0:g}"", " & modelProp.ValueExpression & ")") + ElseIf (Not IsBindableType(modelProp.Type)) + modelProp.ValueExpression = GetValueExpression("Model." & modelProp.Name, CType(modelProp.Type.CodeType, CodeType)) + End If + Next + + Return results +End Function + +' Change this list to include the names of properties that should be selected to represent an entity as a single string +Private Shared displayPropertyNames As String() = New String() { "Name", "Title", "LastName", "Surname", "Subject", "Count" } + +Private Function GetValueExpression(ByVal propertyExpression As String, ByVal propertyType As CodeType) As String + If propertyType IsNot Nothing Then + Dim chosenSubproperty = If(propertyType.DisplayColumnProperty(), propertyType.FindProperty(displayPropertyNames)) + If chosenSubproperty IsNot Nothing Then + Dim toStringSuffix = If(chosenSubproperty.Type.AsFullName = "System.String", "", ".ToString()") + Return String.Format("(If({0} Is Nothing, ""None"", {0}.{1}{2}))", propertyExpression, chosenSubproperty.Name, toStringSuffix) + End If + End If + Return "Html.DisplayTextFor(Function(model) " & propertyExpression & ").ToString()" +End Function + +' Helper +Private Function GetEligibleProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As New List(Of ModelProperty) + + If type IsNot Nothing Then + For Each prop As CodeProperty In type.VisibleMembers().OfType(Of CodeProperty)() + Dim propValue = prop + If (prop.IsReadable() AndAlso (Not prop.HasIndexParameters()) AndAlso (includeUnbindableProperties OrElse IsBindableType(prop.Type))) Then + results.Add(New ModelProperty() With { _ + .Name = prop.Name, _ + .ValueExpression = ("Model." & prop.Name), _ + .Type = prop.Type, _ + .IsPrimaryKey = Model.PrimaryKeyName = prop.Name, _ + .IsReadOnly = Not prop.IsWriteable(), _ + .IsForeignKey = ParentRelations.Any(Function(x) propValue.Name = x.RelationProperty.Name) _ + }) + End If + Next + End If + + Return results +End Function + +Private ReadOnly Property ParentRelations As IEnumerable(Of RelatedEntityInfo) + Get + Return CType(Model.RelatedEntities, IEnumerable).OfType(Of RelatedEntityInfo)().Where(Function(x) x.RelationType = RelationType.Parent) + End Get +End Property + +' Helper +Private Function IsBindableType(ByVal type As CodeTypeRef) As Boolean + Return type.UnderlyingIsPrimitive() OrElse bindableNonPrimitiveTypes.Any(Function(x) type.UnderlyingTypeIs(x)) +End Function +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Edit.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Edit.cs.t4 new file mode 100644 index 0000000..85668d1 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Edit.cs.t4 @@ -0,0 +1,137 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="cshtml" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<# var viewDataType = (EnvDTE.CodeType) Model.ViewDataType; #> +<# if(viewDataType != null) { #> +@model <#= viewDataType.FullName #> + +<# } #> +@{ + ViewBag.Title = "<#= Model.ViewName #>"; +<# if (!String.IsNullOrEmpty(Model.Layout)) { #> + Layout = "<#= Model.Layout #>"; +<# } #> +} + +

<#= Model.ViewName #>

+ +<# if(Model.ReferenceScriptLibraries) { #> + + + +<# } #> +@using (Html.BeginForm()) { + @Html.ValidationSummary(true) +
+ <#= Model.ViewDataTypeName ?? String.Empty #> + +<# foreach (ModelProperty property in GetModelProperties(viewDataType, false).Where(x => x.IsPrimaryKey)) { #> + @Html.HiddenFor(model => model.<#= property.Name #>) +<# } #> + @Html.Partial("_CreateOrEdit", Model) + +

+ +

+
+} + +
+ @Html.ActionLink("Back to List", "Index") +
+<#+ +// Describes the information about a property on the model +class ModelProperty { + public string Name { get; set; } + public string ValueExpression { get; set; } + public EnvDTE.CodeTypeRef Type { get; set; } + public bool IsPrimaryKey { get; set; } + public bool IsForeignKey { get; set; } + public bool IsReadOnly { get; set; } +} + +// Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +static Type[] bindableNonPrimitiveTypes = new[] { + typeof(string), + typeof(decimal), + typeof(Guid), + typeof(DateTime), + typeof(DateTimeOffset), + typeof(TimeSpan), +}; + +// Call this to get the list of properties in the model. Change this to modify or add your +// own default formatting for display values. +List GetModelProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = GetEligibleProperties(typeInfo, includeUnbindableProperties); + + foreach (ModelProperty prop in results) { + if (prop.Type.UnderlyingTypeIs() || prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:F}\", " + prop.ValueExpression + ")"; + } + else if (prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:g}\", " + prop.ValueExpression + ")"; + } + else if (!IsBindableType(prop.Type)) { + prop.ValueExpression = GetValueExpression("Model." + prop.Name, (EnvDTE.CodeType)prop.Type.CodeType); + } + } + + return results; +} + +// Change this list to include the names of properties that should be selected to represent an entity as a single string +static string[] displayPropertyNames = new[] { "Name", "Title", "LastName", "Surname", "Subject", "Count" }; + +string GetValueExpression(string propertyExpression, EnvDTE.CodeType propertyType) { + if (propertyType != null) { + var chosenSubproperty = propertyType.DisplayColumnProperty() ?? propertyType.FindProperty(displayPropertyNames); + if (chosenSubproperty != null) { + var toStringSuffix = chosenSubproperty.Type.AsFullName == "System.String" ? "" : ".ToString()"; + return String.Format("({0} == null ? \"None\" : {0}.{1}{2})", propertyExpression, chosenSubproperty.Name, toStringSuffix); + } + } + return "Html.DisplayTextFor(_ => " + propertyExpression + ").ToString()"; +} + +// Helper +List GetEligibleProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = new List(); + if (typeInfo != null) { + foreach (var prop in typeInfo.VisibleMembers().OfType()) { + if (prop.IsReadable() && !prop.HasIndexParameters() && (includeUnbindableProperties || IsBindableType(prop.Type))) { + results.Add(new ModelProperty { + Name = prop.Name, + ValueExpression = "Model." + prop.Name, + Type = prop.Type, + IsPrimaryKey = Model.PrimaryKeyName == prop.Name, + IsForeignKey = ParentRelations.Any(x => x.RelationProperty == prop), + IsReadOnly = !prop.IsWriteable() + }); + } + } + } + + return results; +} + +IEnumerable ParentRelations { + get { return ((IEnumerable)Model.RelatedEntities).OfType().Where(x => x.RelationType == RelationType.Parent); } +} + +// Helper +bool IsBindableType(EnvDTE.CodeTypeRef type) { + return type.UnderlyingIsPrimitive() || bindableNonPrimitiveTypes.Any(x => type.UnderlyingTypeIs(x)); +} +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Edit.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Edit.vb.t4 new file mode 100644 index 0000000..b10a218 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Edit.vb.t4 @@ -0,0 +1,140 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="vbhtml" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<#@ import namespace="EnvDTE" #> +<# Dim viewDataType = CType(Model.ViewDataType, CodeType) #> +<# If viewDataType IsNot Nothing #> +@ModelType <#= viewDataType.FullName #> + +<# End If #> +@Code + ViewData("Title") = "<#= Model.ViewName #>" +<# If Not String.IsNullOrEmpty(Model.Layout) #> + Layout = "<#= Model.Layout #>" +<# End If #> +End Code + +

<#= Model.ViewName #>

+ +<# If Model.ReferenceScriptLibraries Then #> + + + +<# End If #> +@Using Html.BeginForm() + @Html.ValidationSummary(True) + @
+ <#= If(Model.ViewDataTypeName, String.Empty) #> + +<# For Each modelProp As ModelProperty In GetModelProperties(viewDataType, False).Where(Function(x) x.IsPrimaryKey) #> + @Html.HiddenFor(Function(model) model.<#= modelProp.Name #>) +<# Next #> + @Html.Partial("_CreateOrEdit", Model) +

+ +

+
+End Using + +
+ @Html.ActionLink("Back to List", "Index") +
+ +<#+ +' Describes the information about a property on the model +Private Class ModelProperty + Public Name As String + Public ValueExpression As String + Public Type As CodeTypeRef + Public IsReadOnly As Boolean + Public IsPrimaryKey As Boolean + Public IsForeignKey As Boolean +End Class + +' Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +Private Shared bindableNonPrimitiveTypes As Type() = New Type() { + GetType(String), + GetType(Decimal), + GetType(Guid), + GetType(DateTime), + GetType(DateTimeOffset), + GetType(TimeSpan) +} + +' Call this to get the list of properties in the model. Change this to modify or add your +' own default formatting for display values. +Private Function GetModelProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As List(Of ModelProperty) = GetEligibleProperties(type, includeUnbindableProperties) + + For Each modelProp As ModelProperty In results + If ((modelProp.Type.UnderlyingTypeIs(GetType(Double))) OrElse (modelProp.Type.UnderlyingTypeIs(GetType(Decimal)))) Then + modelProp.ValueExpression = ("String.Format(""{0:F}"", " & modelProp.ValueExpression & ")") + ElseIf (modelProp.Type.UnderlyingTypeIs(GetType(DateTime))) Then + modelProp.ValueExpression = ("String.Format(""{0:g}"", " & modelProp.ValueExpression & ")") + ElseIf (Not IsBindableType(modelProp.Type)) + modelProp.ValueExpression = GetValueExpression("Model." & modelProp.Name, CType(modelProp.Type.CodeType, CodeType)) + End If + Next + + Return results +End Function + +' Change this list to include the names of properties that should be selected to represent an entity as a single string +Private Shared displayPropertyNames As String() = New String() { "Name", "Title", "LastName", "Surname", "Subject", "Count" } + +Private Function GetValueExpression(ByVal propertyExpression As String, ByVal propertyType As CodeType) As String + If propertyType IsNot Nothing Then + Dim chosenSubproperty = If(propertyType.DisplayColumnProperty(), propertyType.FindProperty(displayPropertyNames)) + If chosenSubproperty IsNot Nothing Then + Dim toStringSuffix = If(chosenSubproperty.Type.AsFullName = "System.String", "", ".ToString()") + Return String.Format("(If({0} Is Nothing, ""None"", {0}.{1}{2}))", propertyExpression, chosenSubproperty.Name, toStringSuffix) + End If + End If + Return "Html.DisplayTextFor(Function(model) " & propertyExpression & ").ToString()" +End Function + +' Helper +Private Function GetEligibleProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As New List(Of ModelProperty) + + If type IsNot Nothing Then + For Each prop As CodeProperty In type.VisibleMembers().OfType(Of CodeProperty)() + Dim propValue = prop + If (prop.IsReadable() AndAlso (Not prop.HasIndexParameters()) AndAlso (includeUnbindableProperties OrElse IsBindableType(prop.Type))) Then + results.Add(New ModelProperty() With { _ + .Name = prop.Name, _ + .ValueExpression = ("Model." & prop.Name), _ + .Type = prop.Type, _ + .IsPrimaryKey = Model.PrimaryKeyName = prop.Name, _ + .IsReadOnly = Not prop.IsWriteable(), _ + .IsForeignKey = ParentRelations.Any(Function(x) propValue.Name = x.RelationProperty.Name) _ + }) + End If + Next + End If + + Return results +End Function + +Private ReadOnly Property ParentRelations As IEnumerable(Of RelatedEntityInfo) + Get + Return CType(Model.RelatedEntities, IEnumerable).OfType(Of RelatedEntityInfo)().Where(Function(x) x.RelationType = RelationType.Parent) + End Get +End Property + +' Helper +Private Function IsBindableType(ByVal type As CodeTypeRef) As Boolean + Return type.UnderlyingIsPrimitive() OrElse bindableNonPrimitiveTypes.Any(Function(x) type.UnderlyingTypeIs(x)) +End Function +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Empty.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Empty.cs.t4 new file mode 100644 index 0000000..b4d5dc4 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Empty.cs.t4 @@ -0,0 +1,15 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="cshtml" #> +<# var viewDataType = (EnvDTE.CodeType) Model.ViewDataType; #> +<# if(viewDataType != null) { #> +@model <#= viewDataType.FullName #> + +<# } #> +@{ + ViewBag.Title = "<#= Model.ViewName #>"; +<# if (!String.IsNullOrEmpty(Model.Layout)) { #> + Layout = "<#= Model.Layout #>"; +<# } #> +} + +

<#= Model.ViewName #>

\ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Empty.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Empty.vb.t4 new file mode 100644 index 0000000..4ba5200 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Empty.vb.t4 @@ -0,0 +1,15 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="vbhtml" #> +<# Dim viewDataType = CType(Model.ViewDataType, EnvDTE.CodeType) #> +<# If viewDataType IsNot Nothing Then #> +@ModelType <#= viewDataType.FullName #> + +<# End If #> +@Code + ViewData("Title") = "<#= Model.ViewName #>" +<# If Not String.IsNullOrEmpty(Model.Layout) #> + Layout = "<#= Model.Layout #>" +<# End If #> +End Code + +

<#= Model.ViewName #>

\ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Index.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Index.cs.t4 new file mode 100644 index 0000000..01280e8 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Index.cs.t4 @@ -0,0 +1,165 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="cshtml" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<# var viewDataType = (EnvDTE.CodeType) Model.ViewDataType; #> +<# if(viewDataType != null) { #> +@model IEnumerable<<#= viewDataType.FullName #>> + +<# } #> +@{ + ViewBag.Title = "<#= Model.ViewName #>"; +<# if (!String.IsNullOrEmpty(Model.Layout)) { #> + Layout = "<#= Model.Layout #>"; +<# } #> +} + +

<#= Model.ViewName #>

+ +

+ @Html.ActionLink("Create New", "Create") +

+ + + +<# +List properties = GetModelProperties(Model.ViewDataType, true); +foreach (ModelProperty property in properties) { + if (!property.IsPrimaryKey && !property.IsForeignKey) { +#> + +<# + } +} +#> + + +@foreach (var item in Model) { + +<# if (!String.IsNullOrEmpty(Model.PrimaryKeyName)) { #> + +<# } else { #> + +<# } #> +<# +foreach (ModelProperty property in properties) { + if (!property.IsPrimaryKey && !property.IsForeignKey) { +#> + +<# + } +} +#> + +} + +
+ <#= property.Name #> +
+ @Html.ActionLink("Edit", "Edit", new { id=item.<#= Model.PrimaryKeyName #> }) | + @Html.ActionLink("Details", "Details", new { id=item.<#= Model.PrimaryKeyName #> }) | + @Html.ActionLink("Delete", "Delete", new { id=item.<#= Model.PrimaryKeyName #> }) + + @Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) | + @Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ }) | + @Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ }) + + @<#= property.ValueExpression.Replace("Model.", "item.") #> +
+ + +<#+ +// Describes the information about a property on the model +class ModelProperty { + public string Name { get; set; } + public string ValueExpression { get; set; } + public EnvDTE.CodeTypeRef Type { get; set; } + public bool IsPrimaryKey { get; set; } + public bool IsForeignKey { get; set; } + public bool IsReadOnly { get; set; } +} + +// Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +static Type[] bindableNonPrimitiveTypes = new[] { + typeof(string), + typeof(decimal), + typeof(Guid), + typeof(DateTime), + typeof(DateTimeOffset), + typeof(TimeSpan), +}; + +// Call this to get the list of properties in the model. Change this to modify or add your +// own default formatting for display values. +List GetModelProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = GetEligibleProperties(typeInfo, includeUnbindableProperties); + + foreach (ModelProperty prop in results) { + if (prop.Type.UnderlyingTypeIs() || prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:F}\", " + prop.ValueExpression + ")"; + } + else if (prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:g}\", " + prop.ValueExpression + ")"; + } + else if (!IsBindableType(prop.Type)) { + prop.ValueExpression = GetValueExpression("Model." + prop.Name, (EnvDTE.CodeType)prop.Type.CodeType); + } + } + + return results; +} + +// Change this list to include the names of properties that should be selected to represent an entity as a single string +static string[] displayPropertyNames = new[] { "Name", "Title", "LastName", "Surname", "Subject", "Count" }; + +string GetValueExpression(string propertyExpression, EnvDTE.CodeType propertyType) { + if (propertyType != null) { + var chosenSubproperty = propertyType.DisplayColumnProperty() ?? propertyType.FindProperty(displayPropertyNames); + if (chosenSubproperty != null) { + var toStringSuffix = chosenSubproperty.Type.AsFullName == "System.String" ? "" : ".ToString()"; + return String.Format("({0} == null ? \"None\" : {0}.{1}{2})", propertyExpression, chosenSubproperty.Name, toStringSuffix); + } + } + return "Html.DisplayTextFor(_ => " + propertyExpression + ").ToString()"; +} + +// Helper +List GetEligibleProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = new List(); + if (typeInfo != null) { + foreach (var prop in typeInfo.VisibleMembers().OfType()) { + if (prop.IsReadable() && !prop.HasIndexParameters() && (includeUnbindableProperties || IsBindableType(prop.Type))) { + results.Add(new ModelProperty { + Name = prop.Name, + ValueExpression = "Model." + prop.Name, + Type = prop.Type, + IsPrimaryKey = Model.PrimaryKeyName == prop.Name, + IsForeignKey = ParentRelations.Any(x => x.RelationProperty == prop), + IsReadOnly = !prop.IsWriteable() + }); + } + } + } + + return results; +} + +IEnumerable ParentRelations { + get { return ((IEnumerable)Model.RelatedEntities).OfType().Where(x => x.RelationType == RelationType.Parent); } +} + +// Helper +bool IsBindableType(EnvDTE.CodeTypeRef type) { + return type.UnderlyingIsPrimitive() || bindableNonPrimitiveTypes.Any(x => type.UnderlyingTypeIs(x)); +} +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Index.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Index.vb.t4 new file mode 100644 index 0000000..4baabc1 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Index.vb.t4 @@ -0,0 +1,174 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="vbhtml" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<#@ import namespace="EnvDTE" #> +<# Dim viewDataType = CType(Model.ViewDataType, CodeType) #> +<# If viewDataType IsNot Nothing #> +@ModelType IEnumerable(Of <#= viewDataType.FullName #>) + +<# End If #> +@Code + ViewData("Title") = "<#= Model.ViewName #>" +<# +If Not String.IsNullOrEmpty(Model.Layout) +#> + Layout = "<#= Model.Layout #>" +<# +End If +#> +End Code + +

<#= Model.ViewName #>

+ +

+ @Html.ActionLink("Create New", "Create") +

+ + + +<# +Dim properties As List(Of ModelProperty) = GetModelProperties(Model.ViewDataType, True) +For Each modelProp As ModelProperty In properties + If (Not modelProp.IsPrimaryKey AndAlso Not modelProp.IsForeignKey) Then +#> + +<# + End If +Next +#> + + +@For Each item In Model + Dim itemValue = item + @ +<# If Not String.IsNullOrEmpty(Model.PrimaryKeyName) Then #> + +<# +Else +#> + +<# +End If + +For Each modelProp As ModelProperty In properties + If (Not modelProp.IsPrimaryKey AndAlso Not modelProp.IsForeignKey) Then +#> + +<# + End If +Next +#> + +Next + +
+ <#= modelProp.Name #> +
+ @Html.ActionLink("Edit", "Edit", New With {.id = itemValue.<#= Model.PrimaryKeyName #>}) | + @Html.ActionLink("Details", "Details", New With {.id = itemValue.<#= Model.PrimaryKeyName #>}) | + @Html.ActionLink("Delete", "Delete", New With {.id = itemValue.<#= Model.PrimaryKeyName #>}) + + @*@Html.ActionLink("Edit", "Edit", New With {.id = itemValue.PrimaryKey}) | + @Html.ActionLink("Details", "Details", New With {.id = itemValue.PrimaryKey}) | + @Html.ActionLink("Delete", "Delete", New With {.id = itemValue.PrimaryKey})*@ + + @<#= modelProp.ValueExpression.Replace("Model.", "itemValue.") #> +
+<#+ +' Describes the information about a property on the model +Private Class ModelProperty + Public Name As String + Public ValueExpression As String + Public Type As CodeTypeRef + Public IsReadOnly As Boolean + Public IsPrimaryKey As Boolean + Public IsForeignKey As Boolean +End Class + +' Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +Private Shared bindableNonPrimitiveTypes As Type() = New Type() { + GetType(String), + GetType(Decimal), + GetType(Guid), + GetType(DateTime), + GetType(DateTimeOffset), + GetType(TimeSpan) +} + +' Call this to get the list of properties in the model. Change this to modify or add your +' own default formatting for display values. +Private Function GetModelProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As List(Of ModelProperty) = GetEligibleProperties(type, includeUnbindableProperties) + + For Each modelProp As ModelProperty In results + If ((modelProp.Type.UnderlyingTypeIs(GetType(Double))) OrElse (modelProp.Type.UnderlyingTypeIs(GetType(Decimal)))) Then + modelProp.ValueExpression = ("String.Format(""{0:F}"", " & modelProp.ValueExpression & ")") + ElseIf (modelProp.Type.UnderlyingTypeIs(GetType(DateTime))) Then + modelProp.ValueExpression = ("String.Format(""{0:g}"", " & modelProp.ValueExpression & ")") + ElseIf (Not IsBindableType(modelProp.Type)) + modelProp.ValueExpression = GetValueExpression("Model." & modelProp.Name, CType(modelProp.Type.CodeType, CodeType)) + End If + Next + + Return results +End Function + +' Change this list to include the names of properties that should be selected to represent an entity as a single string +Private Shared displayPropertyNames As String() = New String() { "Name", "Title", "LastName", "Surname", "Subject", "Count" } + +Private Function GetValueExpression(ByVal propertyExpression As String, ByVal propertyType As CodeType) As String + If propertyType IsNot Nothing Then + Dim chosenSubproperty = If(propertyType.DisplayColumnProperty(), propertyType.FindProperty(displayPropertyNames)) + If chosenSubproperty IsNot Nothing Then + Dim toStringSuffix = If(chosenSubproperty.Type.AsFullName = "System.String", "", ".ToString()") + Return String.Format("(If({0} Is Nothing, ""None"", {0}.{1}{2}))", propertyExpression, chosenSubproperty.Name, toStringSuffix) + End If + End If + Return "Html.DisplayTextFor(Function(model) " & propertyExpression & ").ToString()" +End Function + +' Helper +Private Function GetEligibleProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As New List(Of ModelProperty) + + If type IsNot Nothing Then + For Each prop As CodeProperty In type.VisibleMembers().OfType(Of CodeProperty)() + Dim propValue = prop + If (prop.IsReadable() AndAlso (Not prop.HasIndexParameters()) AndAlso (includeUnbindableProperties OrElse IsBindableType(prop.Type))) Then + results.Add(New ModelProperty() With { _ + .Name = prop.Name, _ + .ValueExpression = ("Model." & prop.Name), _ + .Type = prop.Type, _ + .IsPrimaryKey = Model.PrimaryKeyName = prop.Name, _ + .IsReadOnly = Not prop.IsWriteable(), _ + .IsForeignKey = ParentRelations.Any(Function(x) propValue.Name = x.RelationProperty.Name) _ + }) + End If + Next + End If + + Return results +End Function + +Private ReadOnly Property ParentRelations As IEnumerable(Of RelatedEntityInfo) + Get + Return CType(Model.RelatedEntities, IEnumerable).OfType(Of RelatedEntityInfo)().Where(Function(x) x.RelationType = RelationType.Parent) + End Get +End Property + +' Helper +Private Function IsBindableType(ByVal type As CodeTypeRef) As Boolean + Return type.UnderlyingIsPrimitive() OrElse bindableNonPrimitiveTypes.Any(Function(x) type.UnderlyingTypeIs(x)) +End Function +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/MvcScaffolding.RazorView.ps1 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/MvcScaffolding.RazorView.ps1 new file mode 100644 index 0000000..d598f47 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/MvcScaffolding.RazorView.ps1 @@ -0,0 +1,60 @@ +[T4Scaffolding.ViewScaffolder("Razor", Description = "Adds an ASP.NET MVC view using the Razor view engine", IsRazorType = $true, LayoutPageFilter = "*.cshtml,*.vbhtml|*.cshtml,*.vbhtml")][CmdletBinding()] +param( + [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true, Position = 0)][string]$Controller, + [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true, Position = 1)][string]$ViewName, + [string]$ModelType, + [string]$Template = "Empty", + [string]$Area, + [alias("MasterPage")]$Layout, # If not set, we'll use the default layout + [string[]]$SectionNames, + [string]$PrimarySectionName, + [switch]$ReferenceScriptLibraries = $false, + [string]$Project, + [string]$CodeLanguage, + [string[]]$TemplateFolders, + [switch]$Force = $false +) + +# Ensure this is a valid target project +if (!((Get-ProjectAspNetMvcVersion -Project $Project) -ge 3)) { + Write-Error ("Project '$((Get-Project $Project).Name)' is not an ASP.NET MVC 3 project.") + return +} + +# Ensure we have a controller name, plus a model type if specified +if ($ModelType) { + $foundModelType = Get-ProjectType $ModelType -Project $Project + if (!$foundModelType) { return } + $primaryKeyName = [string](Get-PrimaryKey $foundModelType.FullName -Project $Project) +} + +# Decide where to put the output +$outputFolderName = Join-Path Views $Controller +if ($Area) { + # We don't create areas here, so just ensure that if you specify one, it already exists + $areaPath = Join-Path Areas $Area + if (-not (Get-ProjectItem $areaPath -Project $Project)) { + Write-Error "Cannot find area '$Area'. Make sure it exists already." + return + } + $outputFolderName = Join-Path $areaPath $outputFolderName +} + + +if ($foundModelType) { $relatedEntities = [Array](Get-RelatedEntities $foundModelType.FullName -Project $project) } +if (!$relatedEntities) { $relatedEntities = @() } + +# Render the T4 template, adding the output to the Visual Studio project +$outputPath = Join-Path $outputFolderName $ViewName +Add-ProjectItemViaTemplate $outputPath -Template $Template -Model @{ + IsContentPage = [bool]$Layout; + Layout = $Layout; + SectionNames = $SectionNames; + PrimarySectionName = $PrimarySectionName; + ReferenceScriptLibraries = $ReferenceScriptLibraries.ToBool(); + ViewName = $ViewName; + PrimaryKeyName = $primaryKeyName; + ViewDataType = [MarshalByRefObject]$foundModelType; + ViewDataTypeName = $foundModelType.Name; + RelatedEntities = $relatedEntities; +} -SuccessMessage "Added $ViewName view at '{0}'" -TemplateFolders $TemplateFolders -Project $Project -CodeLanguage $CodeLanguage -Force:$Force diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/_CreateOrEdit.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/_CreateOrEdit.cs.t4 new file mode 100644 index 0000000..29673c0 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/_CreateOrEdit.cs.t4 @@ -0,0 +1,139 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="cshtml" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<# var viewDataType = (EnvDTE.CodeType) Model.ViewDataType; #> +<# if(viewDataType != null) { #> +@model <#= viewDataType.FullName #> + +<# } #> +@* This partial view defines form fields that will appear when creating and editing entities *@ + +<# +foreach (ModelProperty property in GetModelProperties(Model.ViewDataType, false)) { + if (!property.IsPrimaryKey && !property.IsForeignKey && !property.IsReadOnly) { +#> +
+ @Html.LabelFor(model => model.<#= property.Name #>) +
+
+ @Html.EditorFor(model => model.<#= property.Name #>) + @Html.ValidationMessageFor(model => model.<#= property.Name #>) +
+ +<# + } +} +#> +<# +foreach (RelatedEntityInfo relation in ParentRelations) { +#> +
+ <#= relation.RelationName #> +
+
+ @Html.DropDownListFor(model => model.<#= relation.RelationProperty.Name #>, ((IEnumerable<<#= relation.RelatedEntityType.FullName #>>)ViewBag.Possible<#= relation.RelationNamePlural #>).Select(option => new SelectListItem { + Text = <#= GetValueExpression("option", relation.RelatedEntityType) #>, + Value = option.<#= relation.RelatedEntityPrimaryKeyName #>.ToString(), + Selected = (Model != null) && (option.<#= relation.RelatedEntityPrimaryKeyName #> == Model.<#= relation.RelationProperty.Name #>) + }), "Choose...") + @Html.ValidationMessageFor(model => model.<#= relation.RelationProperty.Name #>) +
+<# +} +#> +<#+ +// Describes the information about a property on the model +class ModelProperty { + public string Name { get; set; } + public string ValueExpression { get; set; } + public EnvDTE.CodeTypeRef Type { get; set; } + public bool IsPrimaryKey { get; set; } + public bool IsForeignKey { get; set; } + public bool IsReadOnly { get; set; } +} + +// Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +static Type[] bindableNonPrimitiveTypes = new[] { + typeof(string), + typeof(decimal), + typeof(Guid), + typeof(DateTime), + typeof(DateTimeOffset), + typeof(TimeSpan), +}; + +// Call this to get the list of properties in the model. Change this to modify or add your +// own default formatting for display values. +List GetModelProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = GetEligibleProperties(typeInfo, includeUnbindableProperties); + + foreach (ModelProperty prop in results) { + if (prop.Type.UnderlyingTypeIs() || prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:F}\", " + prop.ValueExpression + ")"; + } + else if (prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:g}\", " + prop.ValueExpression + ")"; + } + else if (!IsBindableType(prop.Type)) { + prop.ValueExpression = GetValueExpression("Model." + prop.Name, (EnvDTE.CodeType)prop.Type.CodeType); + } + } + + return results; +} + +// Change this list to include the names of properties that should be selected to represent an entity as a single string +static string[] displayPropertyNames = new[] { "Name", "Title", "LastName", "Surname", "Subject", "Count" }; + +string GetValueExpression(string propertyExpression, EnvDTE.CodeType propertyType) { + if (propertyType != null) { + var chosenSubproperty = propertyType.DisplayColumnProperty() ?? propertyType.FindProperty(displayPropertyNames); + if (chosenSubproperty != null) { + var toStringSuffix = chosenSubproperty.Type.AsFullName == "System.String" ? "" : ".ToString()"; + return String.Format("({0} == null ? \"None\" : {0}.{1}{2})", propertyExpression, chosenSubproperty.Name, toStringSuffix); + } + } + return "Html.DisplayTextFor(_ => " + propertyExpression + ").ToString()"; +} + +// Helper +List GetEligibleProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = new List(); + if (typeInfo != null) { + foreach (var prop in typeInfo.VisibleMembers().OfType()) { + if (prop.IsReadable() && !prop.HasIndexParameters() && (includeUnbindableProperties || IsBindableType(prop.Type))) { + results.Add(new ModelProperty { + Name = prop.Name, + ValueExpression = "Model." + prop.Name, + Type = prop.Type, + IsPrimaryKey = Model.PrimaryKeyName == prop.Name, + IsForeignKey = ParentRelations.Any(x => x.RelationProperty == prop), + IsReadOnly = !prop.IsWriteable() + }); + } + } + } + + return results; +} + +IEnumerable ParentRelations { + get { return ((IEnumerable)Model.RelatedEntities).OfType().Where(x => x.RelationType == RelationType.Parent); } +} + +// Helper +bool IsBindableType(EnvDTE.CodeTypeRef type) { + return type.UnderlyingIsPrimitive() || bindableNonPrimitiveTypes.Any(x => type.UnderlyingTypeIs(x)); +} +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/_CreateOrEdit.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/_CreateOrEdit.vb.t4 new file mode 100644 index 0000000..972c822 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/_CreateOrEdit.vb.t4 @@ -0,0 +1,137 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="vbhtml" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<#@ import namespace="EnvDTE" #> +<# Dim viewDataType = CType(Model.ViewDataType, CodeType) #> +<# If viewDataType IsNot Nothing #> +@ModelType <#= viewDataType.FullName #> + +<# End If #> +@* This partial view defines form fields that will appear when creating and editing entities *@ + +<# +For Each modelProp As ModelProperty In GetModelProperties(Model.ViewDataType, False) + If (Not modelProp.IsPrimaryKey) AndAlso (Not modelProp.IsForeignKey) AndAlso (Not modelProp.IsReadOnly) Then +#> +
+ @Html.LabelFor(Function(model) model.<#= modelProp.Name #>) +
+
+ @Html.EditorFor(Function(model) model.<#= modelProp.Name #>) + @Html.ValidationMessageFor(Function(model) model.<#= modelProp.Name #>) +
+ +<# + End If +Next +#> +<# For Each relation As RelatedEntityInfo In ParentRelations #> +
+ <#= relation.RelationName #> +
+
+ @Html.DropDownListFor(Function(model) model.<#= relation.RelationProperty.Name #>, CType(ViewBag.Possible<#= relation.RelationNamePlural #>, IEnumerable(Of <#= relation.RelatedEntityType.FullName #>)).Select(Function(optionValue) New SelectListItem() With { _ + .Text = <#= GetValueExpression("optionValue", relation.RelatedEntityType) #>, _ + .Value = optionValue.<#= relation.RelatedEntityPrimaryKeyName #>.ToString(), _ + .Selected = (Model IsNot Nothing) AndAlso (optionValue.<#= relation.RelatedEntityPrimaryKeyName #>.Equals(Model.<#= relation.RelationProperty.Name #>)) _ + }), "Choose...") + @Html.ValidationMessageFor(Function(model) model.<#= relation.RelationProperty.Name #>) +
+<# Next #><#+ +' Describes the information about a property on the model +Private Class ModelProperty + Public Name As String + Public ValueExpression As String + Public Type As CodeTypeRef + Public IsReadOnly As Boolean + Public IsPrimaryKey As Boolean + Public IsForeignKey As Boolean +End Class + +' Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +Private Shared bindableNonPrimitiveTypes As Type() = New Type() { + GetType(String), + GetType(Decimal), + GetType(Guid), + GetType(DateTime), + GetType(DateTimeOffset), + GetType(TimeSpan) +} + +' Call this to get the list of properties in the model. Change this to modify or add your +' own default formatting for display values. +Private Function GetModelProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As List(Of ModelProperty) = GetEligibleProperties(type, includeUnbindableProperties) + + For Each modelProp As ModelProperty In results + If ((modelProp.Type.UnderlyingTypeIs(GetType(Double))) OrElse (modelProp.Type.UnderlyingTypeIs(GetType(Decimal)))) Then + modelProp.ValueExpression = ("String.Format(""{0:F}"", " & modelProp.ValueExpression & ")") + ElseIf (modelProp.Type.UnderlyingTypeIs(GetType(DateTime))) Then + modelProp.ValueExpression = ("String.Format(""{0:g}"", " & modelProp.ValueExpression & ")") + ElseIf (Not IsBindableType(modelProp.Type)) + modelProp.ValueExpression = GetValueExpression("Model." & modelProp.Name, CType(modelProp.Type.CodeType, CodeType)) + End If + Next + + Return results +End Function + +' Change this list to include the names of properties that should be selected to represent an entity as a single string +Private Shared displayPropertyNames As String() = New String() { "Name", "Title", "LastName", "Surname", "Subject", "Count" } + +Private Function GetValueExpression(ByVal propertyExpression As String, ByVal propertyType As CodeType) As String + If propertyType IsNot Nothing Then + Dim chosenSubproperty = If(propertyType.DisplayColumnProperty(), propertyType.FindProperty(displayPropertyNames)) + If chosenSubproperty IsNot Nothing Then + Dim toStringSuffix = If(chosenSubproperty.Type.AsFullName = "System.String", "", ".ToString()") + Return String.Format("(If({0} Is Nothing, ""None"", {0}.{1}{2}))", propertyExpression, chosenSubproperty.Name, toStringSuffix) + End If + End If + Return "Html.DisplayTextFor(Function(model) " & propertyExpression & ").ToString()" +End Function + +' Helper +Private Function GetEligibleProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As New List(Of ModelProperty) + + If type IsNot Nothing Then + For Each prop As CodeProperty In type.VisibleMembers().OfType(Of CodeProperty)() + Dim propValue = prop + If (prop.IsReadable() AndAlso (Not prop.HasIndexParameters()) AndAlso (includeUnbindableProperties OrElse IsBindableType(prop.Type))) Then + results.Add(New ModelProperty() With { _ + .Name = prop.Name, _ + .ValueExpression = ("Model." & prop.Name), _ + .Type = prop.Type, _ + .IsPrimaryKey = Model.PrimaryKeyName = prop.Name, _ + .IsReadOnly = Not prop.IsWriteable(), _ + .IsForeignKey = ParentRelations.Any(Function(x) propValue.Name = x.RelationProperty.Name) _ + }) + End If + Next + End If + + Return results +End Function + +Private ReadOnly Property ParentRelations As IEnumerable(Of RelatedEntityInfo) + Get + Return CType(Model.RelatedEntities, IEnumerable).OfType(Of RelatedEntityInfo)().Where(Function(x) x.RelationType = RelationType.Parent) + End Get +End Property + +' Helper +Private Function IsBindableType(ByVal type As CodeTypeRef) As Boolean + Return type.UnderlyingIsPrimitive() OrElse bindableNonPrimitiveTypes.Any(Function(x) type.UnderlyingTypeIs(x)) +End Function +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Views/MvcScaffolding.Views.ps1 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Views/MvcScaffolding.Views.ps1 new file mode 100644 index 0000000..6e33fce --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Views/MvcScaffolding.Views.ps1 @@ -0,0 +1,19 @@ +[T4Scaffolding.Scaffolder(Description = "Adds ASP.NET MVC views for Create/Read/Update/Delete/Index scenarios")][CmdletBinding()] +param( + [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true, Position = 0)][string]$Controller, + [string]$ModelType, + [string]$Area, + [alias("MasterPage")]$Layout, # If not set, we'll use the default layout + [alias("ContentPlaceholderIDs")][string[]]$SectionNames, + [alias("PrimaryContentPlaceholderID")][string]$PrimarySectionName, + [switch]$ReferenceScriptLibraries = $false, + [string]$Project, + [string]$CodeLanguage, + [string[]]$TemplateFolders, + [string]$ViewScaffolder = "View", + [switch]$Force = $false +) + +@("Create", "Edit", "Delete", "Details", "Index", "_CreateOrEdit") | %{ + Scaffold $ViewScaffolder -Controller $Controller -ViewName $_ -ModelType $ModelType -Template $_ -Area $Area -Layout $Layout -SectionNames $SectionNames -PrimarySectionName $PrimarySectionName -ReferenceScriptLibraries:$ReferenceScriptLibraries -Project $Project -CodeLanguage $CodeLanguage -OverrideTemplateFolders $TemplateFolders -Force:$Force -BlockUi +} \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/init.ps1 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/init.ps1 new file mode 100644 index 0000000..0399a4e --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/init.ps1 @@ -0,0 +1,16 @@ +param($rootPath, $toolsPath, $package, $project) + +# Note that as of NuGet 1.0, the init.ps1 scripts run in an undefined order, +# so this script must not depend on T4Scaffolding already being initialized. + +# Simplistic tab expansion +if (!$global:scaffolderTabExpansion) { $global:scaffolderTabExpansion = @{ } } +$global:scaffolderTabExpansion["MvcScaffolding.RazorView"] = $global:scaffolderTabExpansion["MvcScaffolding.AspxView"] = { + param($filter, $allTokens) + $secondLastToken = $allTokens[-2] + if ($secondLastToken -eq 'Template') { + return @("Create", "Delete", "Details", "Edit", "Index") + } +} + +. (Join-Path $toolsPath "registerWithMvcTooling.ps1") \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/install.ps1 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/install.ps1 new file mode 100644 index 0000000..2c562b5 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/install.ps1 @@ -0,0 +1,31 @@ +param($rootPath, $toolsPath, $package, $project) + +# Bail out if scaffolding is disabled (probably because you're running an incompatible version of NuGet) +if (-not (Get-Command Invoke-Scaffolder)) { return } + +function CountSolutionFilesByExtension($extension) { + $files = (Get-Project).DTE.Solution ` + | ?{ $_.FileName } ` + | %{ [System.IO.Path]::GetDirectoryName($_.FileName) } ` + | %{ [System.IO.Directory]::EnumerateFiles($_, "*." + $extension, [System.IO.SearchOption]::AllDirectories) } + ($files | Measure-Object).Count +} + +function InferPreferredViewEngine() { + # Assume you want Razor except if you already have some ASPX views and no Razor ones + if ((CountSolutionFilesByExtension aspx) -eq 0) { return "razor" } + if (((CountSolutionFilesByExtension cshtml) -gt 0) -or ((CountSolutionFilesByExtension vbhtml) -gt 0)) { return "razor" } + return "aspx" +} + +if ($project) { $projectName = $project.Name } +Get-ProjectItem "InstallationDummyFile.txt" -Project $projectName | %{ $_.Delete() } + +Set-DefaultScaffolder -Name Controller -Scaffolder MvcScaffolding.Controller -SolutionWide -DoNotOverwriteExistingSetting +Set-DefaultScaffolder -Name Views -Scaffolder MvcScaffolding.Views -SolutionWide -DoNotOverwriteExistingSetting +Set-DefaultScaffolder -Name Action -Scaffolder MvcScaffolding.Action -SolutionWide -DoNotOverwriteExistingSetting +Set-DefaultScaffolder -Name UnitTest -Scaffolder MvcScaffolding.ActionUnitTest -SolutionWide -DoNotOverwriteExistingSetting + +# Infer which view engine you're using based on the files in your project +$viewScaffolder = if ([string](InferPreferredViewEngine) -eq 'aspx') { "MvcScaffolding.AspxView" } else { "MvcScaffolding.RazorView" } +Set-DefaultScaffolder -Name View -Scaffolder $viewScaffolder -SolutionWide -DoNotOverwriteExistingSetting \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/registerWithMvcTooling.ps1 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/registerWithMvcTooling.ps1 new file mode 100644 index 0000000..ffa8c16 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/registerWithMvcTooling.ps1 @@ -0,0 +1,138 @@ +# Ensure we're on the right version of the tooling. If not, there's nothing for us to do here. +$toolingExists = [System.AppDomain]::CurrentDomain.GetAssemblies() | ?{ $_.GetType("Microsoft.VisualStudio.Web.Mvc.Scaffolding.ScaffolderProviders") } +if (!$toolingExists) { return } + +# Todo: Scope the following to this module if possible +function global:MvcScaffoldingHashTableToPsObject($hashOfScriptMethods) { + $result = New-Object PSObject + $hashOfScriptMethods.Keys | %{ Add-Member -InputObject $result -Member ScriptMethod -Name $_ -Value $hashOfScriptMethods[$_] } + $result +} + +function global:MvcScaffoldingInvokeViaScriptExecutor($scriptToExecute) { + $completeScript = @" + try { + # Activate output pane + `$packageManagerOutputPaneGuid = "{CEC55EC8-CC51-40E7-9243-57B87A6F6BEB}" + `$dteService = [NuGet.VisualStudio.ServiceLocator].GetMethods() | ?{ `$_.Name -eq 'GetInstance' } | %{ `$_.MakeGenericMethod([Microsoft.VisualStudio.Shell.Interop.SDTE]).Invoke(`$null, [Array]`$null) } + `$outputWindow = `$dteService.Windows.Item([EnvDTE.Constants]::vsWindowKindOutput) + `$packageManagerOutputPane = `$outputWindow.Object.OutputWindowPanes.Item(`$packageManagerOutputPaneGuid) + `$packageManagerOutputPane.Clear() + `$packageManagerOutputPane.Activate() + `$outputWindow.Activate() + + # Invoke requested script + $scriptToExecute + } catch { + [System.Windows.Forms.MessageBox]::Show("An error occurred during scaffolding:`n`n`$(`$_.Exception.ToString())`n`nYou may need to upgrade to a newer version of MvcScaffolding.", "Scaffolding error", [System.Windows.Forms.MessageBoxButtons]::OK, [System.Windows.Forms.MessageBoxIcon]::Error) | Out-Null + } +"@ + try { + # Write the script to disk + $tempDir = Join-Path $env:Temp ([System.Guid]::NewGuid()) + $tempScriptFilename = Join-Path $tempDir "tools\tempScript.ps1" + md $tempdir + md ([System.IO.Path]::GetDirectoryName($tempScriptFilename)) + Set-Content -Path $tempScriptFilename -Value $completeScript + + # Ensure we're on the right NuGet version + $scriptExecutorExists = [System.AppDomain]::CurrentDomain.GetAssemblies() | ?{ $_.GetType("NuGet.VisualStudio.IScriptExecutor") } + if (!$scriptExecutorExists) { + [System.Windows.Forms.MessageBox]::Show("Sorry, this operation requires NuGet 1.2 or later.", "Scaffolding error", [System.Windows.Forms.MessageBoxButtons]::OK, [System.Windows.Forms.MessageBoxIcon]::Error) | Out-Null + return + } + + # Invoke via IScriptExecutor, then clean up + $scriptExecutor = [NuGet.VisualStudio.ServiceLocator].GetMethods() | ?{ $_.Name -eq 'GetInstance' } | %{ $_.MakeGenericMethod([NuGet.VisualStudio.IScriptExecutor]).Invoke($null, [Array]$null) } + $scriptExecutor.Execute($tempDir, "tempScript.ps1", $null, $null, (New-Object NuGet.NullLogger)) + rmdir $tempdir -Force -Recurse + } catch { + [System.Windows.Forms.MessageBox]::Show("An error occurred during scaffolding:`n`n$($_.Exception.ToString())`n`nYou may need to upgrade to a newer version of MvcScaffolding.", "Scaffolding error", [System.Windows.Forms.MessageBoxButtons]::OK, [System.Windows.Forms.MessageBoxIcon]::Error) | Out-Null + } +} + +$mvcScaffoldingProvider = global:MvcScaffoldingHashTableToPsObject @{ + ID = { "{9EC893D9-B925-403C-B785-A50545149521}" }; + GetControllerScaffolders = { + param($project) + $allControllerScaffolders = Get-Scaffolder -Project $project.Name -IncludeHidden | ?{ $_.ScaffolderAttribute -is [T4Scaffolding.ControllerScaffolderAttribute] } + if (!$allControllerScaffolders) { return @() } + + $result = $allControllerScaffolders | %{ + global:MvcScaffoldingHashTableToPsObject @{ + ID = { $_.Name }.GetNewClosure(); + DisplayName = { "MvcScaffolding: " + $_.ScaffolderAttribute.DisplayName }.GetNewClosure(); + SupportsModelType = { $_.ScaffolderAttribute.SupportsModelType }.GetNewClosure(); + SupportsDataContextType = { $_.ScaffolderAttribute.SupportsDataContextType }.GetNewClosure(); + ViewsScaffolders = { + if (!$_.ScaffolderAttribute.SupportsViewScaffolder) { return @() } + $viewScaffolderSelector = $_.ScaffolderAttribute.ViewScaffolderSelector + if (!$viewScaffolderSelector) { $viewScaffolderSelector = [T4Scaffolding.ViewScaffolderAttribute] } + $viewScaffolders = Get-Scaffolder -Project $project.Name -IncludeHidden | ?{ $viewScaffolderSelector.IsAssignableFrom($_.ScaffolderAttribute.GetType()) } + + # Put default view engine at the top of the list so it's the default selection until you choose otherwise + $defaultViewScaffolder = (Get-DefaultScaffolder View).ScaffolderName + $viewScaffolders = $viewScaffolders | Sort-Object { if($_.Name -eq $defaultViewScaffolder) { "" } else { $_.Name } } + + $result = $viewScaffolders | %{ + global:MvcScaffoldingHashTableToPsObject @{ + ID = { $_.Name }.GetNewClosure(); + DisplayName = { $_.ScaffolderAttribute.DisplayName }.GetNewClosure(); + LayoutPageFilter = { $_.ScaffolderAttribute.LayoutPageFilter }.GetNewClosure(); + } + } + return ,[Array]$result + }.GetNewClosure(); + Execute = { + param($container, $controllerName, $modelType, $dataContextType, $viewsScaffolder, $options) + + # Infer possible area name from container location + $areaName = $null + if ($container -is [EnvDTE.ProjectItem]) { + $containerNamespace = $container.Properties.Item("DefaultNamespace").Value + $areaMatch = [System.Text.RegularExpressions.Regex]::Match($containerNamespace, "(^|\.)Areas\.(.*)\.Controllers($|\.)") + $areaName = if ($areaMatch.Success) { $areaMatch.Groups[2].Value } + } + + $scriptToExecute = @" + # These are all the args we may pass to the target scaffolder... + `$possibleArgs = @{ + ControllerName = `"$controllerName`"; + ModelType = `"$modelType`"; + DbContextType = `"$dataContextType`"; + Project = `"$($project.Name)`"; + Area = $(if($areaName) { "`"" + $areaName + "`"" } else { "`$null" }); + ViewScaffolder = $(if($viewsScaffolder) { "`"" + $viewsScaffolder.ID + "`"" } else { "`$null" }); + Force = $(if($options.OverwriteViews -or $options.OverwriteController) { "`$true" } else { "`$false" }); + ForceMode = $(if($options.OverwriteViews -and $options.OverwriteController) { "`$null" } else { if($options.OverwriteViews) { "`"PreserveController`"" } else { "`"ControllerOnly`"" } }); + Layout = $(if($options.UseLayout) { "`"" + $options.Layout + "`"" } else { "`$null" }); + PrimarySectionName = $(if($options.PrimarySectionName) { "`"" + $options.PrimarySectionName + "`"" } else { "`$null" }); + ReferenceScriptLibraries = $(if($options.ReferenceScriptLibraries) { "`$true" } else { "`$false" }); + } + # ... but we only pass the ones it actually accepts + `$actualArgs = @{} + `$acceptedParameterNames = (Get-Command Invoke-Scaffolder -ArgumentList @(`"$($_.Name)`")).Parameters.Keys + `$acceptedParameterNames | ?{ `$possibleArgs.ContainsKey(`"`$_`") } | %{ `$actualArgs.Add(`$_, `$possibleArgs[`$_]) } + Invoke-Scaffolder `"$($_.Name)`" @actualArgs +"@ + global:MvcScaffoldingInvokeViaScriptExecutor $scriptToExecute | Out-Null + + # Trick PowerShell into not unrolling the return collection by wrapping it in a further collection + $result = [System.Activator]::CreateInstance(([System.Collections.Generic.List``1].MakeGenericType([System.Object]))) + $result.Add(([System.Activator]::CreateInstance(([System.Collections.Generic.List``1].MakeGenericType([EnvDTE.ProjectItem]))))) + return $result + }.GetNewClosure(); + } + } + return ,[Array]$result + } +} + +# Remove existing MvcScaffolding providers +$allProviders = [Microsoft.VisualStudio.Web.Mvc.Scaffolding.ScaffolderProviders]::Providers +$existingMvcScaffoldingProviders = $allProviders | ?{ $_.ID -eq $mvcScaffoldingProvider.ID() } +$existingMvcScaffoldingProviders | %{ $allProviders.Remove($_) } | Out-Null + +# Add new provider +$newProvider = New-Object Microsoft.VisualStudio.Web.Mvc.Scaffolding.PowerShell.PowerShellScaffolderProvider($mvcScaffoldingProvider) +$allProviders.Add($newProvider) | Out-Null \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/T4Scaffolding.1.0.1.nupkg b/CharityPortal/packages/T4Scaffolding.1.0.1/T4Scaffolding.1.0.1.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..e832b539cb53d1393bf4d353ef0746855d2e2509 GIT binary patch literal 95637 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

8$K9=LMOv}!X@J0zwjIrzN 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 Kzz0ZRiT?#}AGH7g literal 0 HcmV?d00001 diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/content/InstallationDummyFile.txt b/CharityPortal/packages/T4Scaffolding.1.0.1/content/InstallationDummyFile.txt new file mode 100644 index 0000000..79224e9 --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/content/InstallationDummyFile.txt @@ -0,0 +1,2 @@ +This file is added as part of the NuGet package installation process for the scaffolding package. +It should be deleted automatically after installation is completed. If not, you can delete it manually. \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/CustomScaffolder/DefaultPs1Script.ps1.t4 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/CustomScaffolder/DefaultPs1Script.ps1.t4 new file mode 100644 index 0000000..317d2b5 --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/CustomScaffolder/DefaultPs1Script.ps1.t4 @@ -0,0 +1,17 @@ +<#@ template language="C#" HostSpecific="True" inherits="DynamicTransform" #> +<#@ Output Extension="ps1" #> +[T4Scaffolding.Scaffolder(Description = "Enter a description of <#= Model.Scaffolder #> here")][CmdletBinding()] +param( + [string]$Project, + [string]$CodeLanguage, + [string[]]$TemplateFolders, + [switch]$Force = $false +) + +$outputPath = "ExampleOutput" # The filename extension will be added based on the template's <#= "<" #>#@ Output Extension="..." #<#= ">" #> directive +$namespace = (Get-Project $Project).Properties.Item("DefaultNamespace").Value + +Add-ProjectItemViaTemplate $outputPath -Template <#= Model.TemplateName #> ` + -Model @{ Namespace = $namespace; ExampleValue = "Hello, world!" } ` + -SuccessMessage "Added <#= Model.Scaffolder #> output at {0}" ` + -TemplateFolders $TemplateFolders -Project $Project -CodeLanguage $CodeLanguage -Force:$Force \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/CustomScaffolder/DefaultT4Template.cs.t4 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/CustomScaffolder/DefaultT4Template.cs.t4 new file mode 100644 index 0000000..76e87a8 --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/CustomScaffolder/DefaultT4Template.cs.t4 @@ -0,0 +1,16 @@ +<#@ template language="C#" HostSpecific="True" inherits="DynamicTransform" #> +<#@ Output Extension="cs.t4" #> +<#= "<" #>#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #<#= ">" #> +<#= "<" #>#@ Output Extension="cs" #<#= ">" #> +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; + +namespace <#= "<" #>#= Model.Namespace #<#= ">" #> +{ + public class ExampleOutput + { + // Example model value from scaffolder script: <#= "<" #>#= Model.ExampleValue #<#= ">" #> + } +} \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/CustomScaffolder/DefaultT4Template.vb.t4 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/CustomScaffolder/DefaultT4Template.vb.t4 new file mode 100644 index 0000000..8c7e431 --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/CustomScaffolder/DefaultT4Template.vb.t4 @@ -0,0 +1,9 @@ +<#@ template language="C#" HostSpecific="True" inherits="DynamicTransform" #> +<#@ Output Extension="vb.t4" #> +<#= "<" #>#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #<#= ">" #> +<#= "<" #>#@ Output Extension="vb" #<#= ">" #> +Namespace <#= "<" #>#= Model.Namespace #<#= ">" #> + Public Class ExampleOutput + ' Example model value from scaffolder script: <#= "<" #>#= Model.ExampleValue #<#= ">" #> + End Class +End Namespace \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/CustomScaffolder/T4Scaffolding.CustomScaffolder.ps1 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/CustomScaffolder/T4Scaffolding.CustomScaffolder.ps1 new file mode 100644 index 0000000..9830635 --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/CustomScaffolder/T4Scaffolding.CustomScaffolder.ps1 @@ -0,0 +1,23 @@ +[T4Scaffolding.Scaffolder(Description = "Creates an entirely new scaffolder with a PS1 script and a T4 template")][CmdletBinding()] +param( + [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)][string]$CustomScaffolderName, + [string]$Project, + [string]$CodeLanguage, + [string[]]$TemplateFolders, + [switch]$Force = $false +) + +$templateName = $CustomScaffolderName + "Template" + +# PS1 script +$customScaffoldersPath = [T4Scaffolding.Core.ScaffoldingConstants]::CustomScaffoldersFolderPath +$outputPath = Join-Path (Join-Path $customScaffoldersPath $CustomScaffolderName) $CustomScaffolderName +Add-ProjectItemViaTemplate $outputPath -Template DefaultPs1Script -Model @{ + Scaffolder = $CustomScaffolderName; + TemplateName = $templateName; +} -SuccessMessage "Added scaffolder script '{0}'" -TemplateFolders $TemplateFolders -Project $Project -CodeLanguage "ps1" -Force:$Force + +# T4 template +$outputPath = Join-Path (Join-Path $customScaffoldersPath $CustomScaffolderName) $templateName +Add-ProjectItemViaTemplate $outputPath -Template DefaultT4Template -Model @{ +} -SuccessMessage "Added scaffolder template '{0}'" -TemplateFolders $TemplateFolders -Project $Project -CodeLanguage $CodeLanguage -Force:$Force \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/CustomTemplate/T4Scaffolding.CustomTemplate.ps1 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/CustomTemplate/T4Scaffolding.CustomTemplate.ps1 new file mode 100644 index 0000000..51e1b54 --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/CustomTemplate/T4Scaffolding.CustomTemplate.ps1 @@ -0,0 +1,45 @@ +[T4Scaffolding.Scaffolder(Description = "Allows you to modify the T4 template rendered by a scaffolder")][CmdletBinding()] +param( + [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)][string]$ScaffolderName, + [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)][string]$TemplateName, + [string]$Project, + [string]$CodeLanguage, + [switch]$Force = $false +) + +# Ensure we can find a unique scaffolder +$resolvedScaffolder = Get-Scaffolder $ScaffolderName -Project $Project +if (!$resolvedScaffolder) { + Write-Error "Could not find scaffolder '$ScaffolderName'" + return +} elseif ($resolvedScaffolder -is [Array]) { + Write-Error "More than one scaffolder matches the name '$ScaffolderName'" + return +} + +# Find its template +$scaffolderFolder = [System.IO.Path]::GetDirectoryName($resolvedScaffolder.Location) +$sourceTemplateFile = Find-ScaffolderTemplate $TemplateName -TemplateFolders $scaffolderFolder -Project $Project -CodeLanguage $CodeLanguage -ErrorIfNotFound +if (!$sourceTemplateFile) { return } + +# Determine where the output will go in the project, and ensure we're not going to overwrite anything (except if Force is on) +$customScaffoldersPath = [T4Scaffolding.Core.ScaffoldingConstants]::CustomScaffoldersFolderPath +$outputPath = Join-Path (Join-Path $customScaffoldersPath $resolvedScaffolder.Name) ([System.IO.Path]::GetFileName($sourceTemplateFile)) +$existingProjectItem = Get-ProjectItem $outputPath -Project $Project +if ($existingProjectItem -and -not $Force) { + Write-Warning "$outputPath already exists! Pass -Force to overwrite. Skipping..." + return +} + +# Copy the source file to the output location in the project +if ($existingProjectItem) { + $outputPath = $existingProjectItem.Properties.Item("FullPath").Value + Set-IsCheckedOut $outputPath + Copy-Item -Path $sourceTemplateFile -Destination $outputPath -Force +} else { + $outputDir = [System.IO.Path]::GetDirectoryName($outputPath) + $outputDirProjectItem = Get-ProjectFolder $outputDir -Create -Project $Project + $outputDirProjectItem.AddFromFileCopy($sourceTemplateFile) | Out-Null +} + +Write-Host "Added custom template '$outputPath'" \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFDbContext/DbContext.cs.t4 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFDbContext/DbContext.cs.t4 new file mode 100644 index 0000000..3323a42 --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFDbContext/DbContext.cs.t4 @@ -0,0 +1,23 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output Extension="cs" #> +using System; +using System.Collections.Generic; +using System.Data.Entity; +using System.Linq; +using System.Web; + +namespace <#= Model.DbContextNamespace #> +{ + public class <#= Model.DbContextType #> : DbContext + { + // You can add custom code to this file. Changes will not be overwritten. + // + // If you want Entity Framework to drop and regenerate your database + // automatically whenever you change your model schema, add the following + // code to the Application_Start method in your Global.asax file. + // Note: this will destroy and re-create your database with every model change. + // + // System.Data.Entity.Database.SetInitializer(new System.Data.Entity.DropCreateDatabaseIfModelChanges<<#= Model.DbContextNamespace #>.<#= Model.DbContextType #>>()); + + } +} \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFDbContext/DbContext.vb.t4 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFDbContext/DbContext.vb.t4 new file mode 100644 index 0000000..3cecb23 --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFDbContext/DbContext.vb.t4 @@ -0,0 +1,18 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output Extension="vb" #> +Imports System.Data.Entity + +<#= T4Scaffolding.Namespaces.BeginVb(Model.DbContextNamespace, Model.DefaultNamespace) #> + Public Class <#= Model.DbContextType #> : Inherits DbContext + + ' You can add custom code to this file. Changes will not be overwritten. + ' + ' If you want Entity Framework to drop and regenerate your database + ' automatically whenever you change your model schema, add the following + ' code to the Application_Start method in your Global.asax file. + ' Note: this will destroy and re-create your database with every model change. + ' + ' System.Data.Entity.Database.SetInitializer(New System.Data.Entity.DropCreateDatabaseIfModelChanges(Of <#= Model.DbContextNamespace #>.<#= Model.DbContextType #>)()) + + End Class +<#= T4Scaffolding.Namespaces.EndVb(Model.DbContextNamespace, Model.DefaultNamespace) #> \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFDbContext/DbContextEntityMember.cs.t4 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFDbContext/DbContextEntityMember.cs.t4 new file mode 100644 index 0000000..0a9c3b3 --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFDbContext/DbContextEntityMember.cs.t4 @@ -0,0 +1,2 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +public DbSet<<#= ((EnvDTE.CodeType)Model.EntityType).FullName #>> <#= Model.EntityTypeNamePluralized #> { get; set; } \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFDbContext/DbContextEntityMember.vb.t4 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFDbContext/DbContextEntityMember.vb.t4 new file mode 100644 index 0000000..e70ed35 --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFDbContext/DbContextEntityMember.vb.t4 @@ -0,0 +1,2 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +Public Property <#= Model.EntityTypeNamePluralized #> As DbSet(Of <#= ((EnvDTE.CodeType)Model.EntityType).FullName #>) \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFDbContext/T4Scaffolding.EFDbContext.ps1 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFDbContext/T4Scaffolding.EFDbContext.ps1 new file mode 100644 index 0000000..3d932fd --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFDbContext/T4Scaffolding.EFDbContext.ps1 @@ -0,0 +1,81 @@ +[T4Scaffolding.Scaffolder(Description = "Makes an EF DbContext able to persist models of a given type, creating the DbContext first if necessary")][CmdletBinding()] +param( + [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)][string]$ModelType, + [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)][string]$DbContextType, + [string]$Area, + [string]$Project, + [string]$CodeLanguage, + [string[]]$TemplateFolders +) + +# Ensure we can find the model type +$foundModelType = Get-ProjectType $ModelType -Project $Project +if (!$foundModelType) { return } + +# Find the DbContext class, or create it via a template if not already present +$foundDbContextType = Get-ProjectType $DbContextType -Project $Project -AllowMultiple +if (!$foundDbContextType) { + # Determine where the DbContext class will go + $defaultNamespace = (Get-Project $Project).Properties.Item("DefaultNamespace").Value + if ($DbContextType.Contains(".")) { + if ($DbContextType.StartsWith($defaultNamespace + ".", [System.StringComparison]::OrdinalIgnoreCase)) { + $DbContextType = $DbContextType.Substring($defaultNamespace.Length + 1) + } + $outputPath = $DbContextType.Replace(".", [System.IO.Path]::DirectorySeparatorChar) + $DbContextType = [System.IO.Path]::GetFileName($outputPath) + } else { + $outputPath = Join-Path Models $DbContextType + if ($Area) { + $areaFolder = Join-Path Areas $Area + if (-not (Get-ProjectItem $areaFolder -Project $Project)) { + Write-Error "Cannot find area '$Area'. Make sure it exists already." + return + } + $outputPath = Join-Path $areaFolder $outputPath + } + } + + $dbContextNamespace = [T4Scaffolding.Namespaces]::Normalize($defaultNamespace + "." + [System.IO.Path]::GetDirectoryName($outputPath).Replace([System.IO.Path]::DirectorySeparatorChar, ".")) + Add-ProjectItemViaTemplate $outputPath -Template DbContext -Model @{ + DefaultNamespace = $defaultNamespace; + DbContextNamespace = $dbContextNamespace; + DbContextType = $DbContextType; + } -SuccessMessage "Added database context '{0}'" -TemplateFolders $TemplateFolders -Project $Project -CodeLanguage $CodeLanguage -Force:$Force + + $foundDbContextType = Get-ProjectType ($dbContextNamespace + "." + $DbContextType) -Project $Project + if (!$foundDbContextType) { throw "Created database context $DbContextType, but could not find it as a project item" } +} elseif (($foundDbContextType | Measure-Object).Count -gt 1) { + throw "Cannot find the database context class, because more than one type is called $DbContextType. Try specifying the fully-qualified type name, including namespace." +} + +# Add a new property on the DbContext class +if ($foundDbContextType) { + $propertyName = Get-PluralizedWord $foundModelType.Name + + # If this is not a DbContext, we can't add a new property, so ensure there is already one + # Unfortunately we have to use the awkward "PowerShellInvoke" calling mechanism otherwise + # the PowerShell COM wrapper objects can't be passed into the .NET code. + $isAssignableToParamTypes = New-Object System.Type[] 2 + $isAssignableToParamTypes[0] = [EnvDTE.CodeType] + $isAssignableToParamTypes[1] = [System.String] + $isDbContext = [T4Scaffolding.Core.EnvDTE.EnvDTEExtensions]::PowerShellInvoke([T4Scaffolding.Core.EnvDTE.EnvDTEExtensions].GetMethod("IsAssignableTo", $isAssignableToParamTypes), $null, @($foundDbContextType, "System.Data.Entity.DbContext")) + if (!$isDbContext) { + $existingMembers = [T4Scaffolding.Core.EnvDTE.EnvDTEExtensions]::PowerShellInvoke([T4Scaffolding.Core.EnvDTE.EnvDTEExtensions].GetMethod("VisibleMembers"), $null, $foundDbContextType) + $hasExistingPropertyForModel = $existingMembers | ?{ ($_.Name -eq $propertyName) -and ($_.Kind -eq [EnvDTE.vsCMElement]::vsCMElementProperty) } + if ($hasExistingPropertyForModel) { + Write-Warning "$($foundDbContextType.Name) already contains a '$propertyName' property." + } else { + throw "$($foundDbContextType.FullName) is not a System.Data.Entity.DbContext class and does not contain a '$propertyName' property, so it cannot be used as the database context." + } + } else { + # This *is* a DbContext, so we can freely add a new property if there isn't already one for this model + Add-ClassMemberViaTemplate -Name $propertyName -CodeClass $foundDbContextType -Template DbContextEntityMember -Model @{ + EntityType = $foundModelType; + EntityTypeNamePluralized = $propertyName; + } -SuccessMessage "Added '$propertyName' to database context '$($foundDbContextType.FullName)'" -TemplateFolders $TemplateFolders -Project $Project -CodeLanguage $CodeLanguage + } +} + +return @{ + DbContextType = $foundDbContextType +} \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFRepository/Repository.cs.t4 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFRepository/Repository.cs.t4 new file mode 100644 index 0000000..f34b04a --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFRepository/Repository.cs.t4 @@ -0,0 +1,103 @@ +<#@ template language="C#" HostSpecific="True" inherits="DynamicTransform" #> +<#@ assembly name="System.Data.Entity" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="EnvDTE" #> +<#@ Output Extension="cs" #> +using System; +using System.Collections.Generic; +using System.Data; +using System.Data.Entity; +using System.Linq; +using System.Linq.Expressions; +using System.Web; +<# foreach(var ns in new[] { Model.ModelTypeNamespace, Model.DbContextNamespace }.Where(x => !string.IsNullOrEmpty(x) && (x != Model.RepositoryNamespace)).Distinct()) { #> +using <#= ns #>; +<# } #> + +namespace <#= Model.RepositoryNamespace #> +{ +<# + var modelType = (CodeType)Model.ModelType; + var modelName = modelType.Name; + var modelNamePlural = Model.ModelTypePluralized; + var contextName = ((CodeType)Model.DbContextType).Name; + var primaryKeyProperty = modelType.VisibleMembers().OfType().Single(x => x.Name == Model.PrimaryKey); + var isObjectContext = ((CodeType)Model.DbContextType).IsAssignableTo(); +#> + public class <#= modelName #>Repository : I<#= modelName #>Repository + { + <#= contextName #> context = new <#= contextName #>(); + + public IQueryable<<#= modelName #>> All + { + get { return context.<#= modelNamePlural #>; } + } + + public IQueryable<<#= modelName #>> AllIncluding(params Expression, object>>[] includeProperties) + { + IQueryable<<#= modelName #>> query = context.<#= modelNamePlural #>; + foreach (var includeProperty in includeProperties) { + query = query.Include(includeProperty); + } + return query; + } + + public <#= modelName #> Find(<#= primaryKeyProperty.Type.AsString #> id) + { +<# if(isObjectContext) { #> + return context.<#= modelNamePlural #>.Single(x => x.<#= Model.PrimaryKey #> == id); +<# } else { #> + return context.<#= modelNamePlural #>.Find(id); +<# } #> + } + + public void InsertOrUpdate(<#= modelName #> <#= modelName.ToLower() #>) + { + if (<#= modelName.ToLower() #>.<#= Model.PrimaryKey #> == default(<#= primaryKeyProperty.Type.AsString #>)) { + // New entity +<# if(primaryKeyProperty.Type.AsString == "System.Guid") { #> + <#= modelName.ToLower() #>.<#= primaryKeyProperty.Name #> = Guid.NewGuid(); +<# } #> +<# if(isObjectContext) { #> + context.<#= modelNamePlural #>.AddObject(<#= modelName.ToLower() #>); +<# } else { #> + context.<#= modelNamePlural #>.Add(<#= modelName.ToLower() #>); +<# } #> + } else { + // Existing entity +<# if(isObjectContext) { #> + context.<#= modelNamePlural #>.Attach(<#= modelName.ToLower() #>); + context.ObjectStateManager.ChangeObjectState(<#= modelName.ToLower() #>, EntityState.Modified); +<# } else { #> + context.Entry(<#= modelName.ToLower() #>).State = EntityState.Modified; +<# } #> + } + } + + public void Delete(<#= primaryKeyProperty.Type.AsString #> id) + { +<# if(isObjectContext) { #> + var <#= modelName.ToLower() #> = context.<#= modelNamePlural #>.Single(x => x.<#= Model.PrimaryKey #> == id); + context.<#= modelNamePlural #>.DeleteObject(<#= modelName.ToLower() #>); +<# } else { #> + var <#= modelName.ToLower() #> = context.<#= modelNamePlural #>.Find(id); + context.<#= modelNamePlural #>.Remove(<#= modelName.ToLower() #>); +<# } #> + } + + public void Save() + { + context.SaveChanges(); + } + } + + public interface I<#= modelName #>Repository + { + IQueryable<<#= modelName #>> All { get; } + IQueryable<<#= modelName #>> AllIncluding(params Expression, object>>[] includeProperties); + <#= modelName #> Find(<#= primaryKeyProperty.Type.AsString #> id); + void InsertOrUpdate(<#= modelName #> <#= modelName.ToLower() #>); + void Delete(<#= primaryKeyProperty.Type.AsString #> id); + void Save(); + } +} \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFRepository/Repository.vb.t4 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFRepository/Repository.vb.t4 new file mode 100644 index 0000000..5d0d176 --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFRepository/Repository.vb.t4 @@ -0,0 +1,91 @@ +<#@ template language="C#" HostSpecific="True" inherits="DynamicTransform" #> +<#@ assembly name="System.Data.Entity" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="EnvDTE" #> +<#@ Output Extension="vb" #> +Imports System.Data.Entity +Imports System.Linq.Expressions +<# foreach(var ns in new[] { Model.ModelTypeNamespace, Model.DbContextNamespace }.Where(x => !string.IsNullOrEmpty(x) && (x != Model.RepositoryNamespace)).Distinct()) { #> +Imports <#= ns #> +<# } #> + +<#= T4Scaffolding.Namespaces.BeginVb(Model.RepositoryNamespace, Model.DefaultNamespace) #> +<# + var modelType = (CodeType)Model.ModelType; + var modelName = modelType.Name; + var modelNamePlural = Model.ModelTypePluralized; + var contextName = ((CodeType)Model.DbContextType).Name; + var primaryKeyProperty = modelType.VisibleMembers().OfType().Single(x => x.Name == Model.PrimaryKey); + var isObjectContext = ((CodeType)Model.DbContextType).IsAssignableTo(); +#> + Public Class <#= modelName #>Repository : Implements I<#= modelName #>Repository + Private context As <#= contextName #> = New <#= contextName #>() + + Public ReadOnly Property All As IQueryable(Of <#= modelName #>) Implements I<#= modelName #>Repository.All + Get + Return context.<#= modelNamePlural #> + End Get + End Property + + Public Function AllIncluding(ByVal ParamArray includeProperties() As Expression(Of Func(Of <#= modelName #>, Object))) As IQueryable(Of <#= modelName #>) Implements I<#= modelName #>Repository.AllIncluding + Dim query As IQueryable(Of <#= modelName #>) = context.<#= modelNamePlural #> + For Each includeProperty In includeProperties + query = query.Include(includeProperty) + Next + Return query + End Function + + Public Function Find(id As <#= primaryKeyProperty.Type.AsString #>) As <#= modelName #> Implements I<#= modelName #>Repository.Find +<# if(isObjectContext) { #> + Return context.<#= modelNamePlural #>.Single(Function(x) x.<#= Model.PrimaryKey #> = id) +<# } else { #> + Return context.<#= modelNamePlural #>.Find(id) +<# } #> + End Function + + Public Sub InsertOrUpdate(<#= modelName.ToLower() #> As <#= modelName #>) Implements I<#= modelName #>Repository.InsertOrUpdate + If <#= modelName.ToLower() #>.<#= Model.PrimaryKey #> = Nothing Then + ' New entity +<# if(primaryKeyProperty.Type.AsString == "System.Guid") { #> + <#= modelName.ToLower() #>.<#= primaryKeyProperty.Name #> = Guid.NewGuid() +<# } #> +<# if(isObjectContext) { #> + context.<#= modelNamePlural #>.AddObject(<#= modelName.ToLower() #>) +<# } else { #> + context.<#= modelNamePlural #>.Add(<#= modelName.ToLower() #>) +<# } #> + Else + ' Existing entity +<# if(isObjectContext) { #> + context.<#= modelNamePlural #>.Attach(<#= modelName.ToLower() #>) + context.ObjectStateManager.ChangeObjectState(<#= modelName.ToLower() #>, EntityState.Modified) +<# } else { #> + context.Entry(<#= modelName.ToLower() #>).State = EntityState.Modified +<# } #> + End If + End Sub + + Public Sub Delete(id As <#= primaryKeyProperty.Type.AsString #>) Implements I<#= modelName #>Repository.Delete +<# if(isObjectContext) { #> + Dim <#= modelName.ToLower() #> = context.<#= modelNamePlural #>.Single(Function(x) x.<#= Model.PrimaryKey #> = id) + context.<#= modelNamePlural #>.DeleteObject(<#= modelName.ToLower() #>) +<# } else { #> + Dim <#= modelName.ToLower() #> = context.<#= modelNamePlural #>.Find(id) + context.<#= modelNamePlural #>.Remove(<#= modelName.ToLower() #>) +<# } #> + End Sub + + Public Sub Save() Implements I<#= modelName #>Repository.Save + context.SaveChanges() + End Sub + End Class + + Public Interface I<#= modelName #>Repository + ReadOnly Property All As IQueryable(Of <#= modelName #>) + Function AllIncluding(ByVal ParamArray includeProperties() As Expression(Of Func(Of <#= modelName #>, Object))) As IQueryable(Of <#= modelName #>) + Function Find(id As <#= primaryKeyProperty.Type.AsString #>) As <#= modelName #> + Sub InsertOrUpdate(<#= modelName.ToLower() #> As <#= modelName #>) + Sub Delete(id As <#= primaryKeyProperty.Type.AsString #>) + Sub Save() + End Interface +<#= T4Scaffolding.Namespaces.EndVb(Model.RepositoryNamespace, Model.DefaultNamespace) #> \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFRepository/T4Scaffolding.EFRepository.ps1 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFRepository/T4Scaffolding.EFRepository.ps1 new file mode 100644 index 0000000..95f4863 --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFRepository/T4Scaffolding.EFRepository.ps1 @@ -0,0 +1,57 @@ +[T4Scaffolding.Scaffolder(Description = "Creates a repository")][CmdletBinding()] +param( + [parameter(Position = 0, Mandatory = $true, ValueFromPipelineByPropertyName = $true)][string]$ModelType, + [string]$DbContextType, + [string]$Area, + [string]$Project, + [string]$CodeLanguage, + [switch]$NoChildItems = $false, + [string[]]$TemplateFolders, + [switch]$Force = $false +) + +# Ensure you've referenced System.Data.Entity +(Get-Project $Project).Object.References.Add("System.Data.Entity") | Out-Null + +$foundModelType = Get-ProjectType $ModelType -Project $Project -BlockUi +if (!$foundModelType) { return } + +$primaryKey = Get-PrimaryKey $foundModelType.FullName -Project $Project -ErrorIfNotFound +if (!$primaryKey) { return } + +if(!$DbContextType) { $DbContextType = [System.Text.RegularExpressions.Regex]::Replace((Get-Project $Project).Name, "[^a-zA-Z0-9]", "") + "Context" } + +$outputPath = Join-Path Models ($foundModelType.Name + "Repository") +if ($Area) { + $areaFolder = Join-Path Areas $Area + if (-not (Get-ProjectItem $areaFolder -Project $Project)) { + Write-Error "Cannot find area '$Area'. Make sure it exists already." + return + } + $outputPath = Join-Path $areaFolder $outputPath +} + +if (!$NoChildItems) { + $dbContextScaffolderResult = Scaffold DbContext -ModelType $ModelType -DbContextType $DbContextType -Area $Area -Project $Project -CodeLanguage $CodeLanguage -BlockUi + $foundDbContextType = $dbContextScaffolderResult.DbContextType + if (!$foundDbContextType) { return } +} +if (!$foundDbContextType) { $foundDbContextType = Get-ProjectType $DbContextType -Project $Project } +if (!$foundDbContextType) { return } + +$modelTypePluralized = Get-PluralizedWord $foundModelType.Name +$defaultNamespace = (Get-Project $Project).Properties.Item("DefaultNamespace").Value +$repositoryNamespace = [T4Scaffolding.Namespaces]::Normalize($defaultNamespace + "." + [System.IO.Path]::GetDirectoryName($outputPath).Replace([System.IO.Path]::DirectorySeparatorChar, ".")) +$modelTypeNamespace = [T4Scaffolding.Namespaces]::GetNamespace($foundModelType.FullName) + +Add-ProjectItemViaTemplate $outputPath -Template Repository -Model @{ + ModelType = [MarshalByRefObject]$foundModelType; + PrimaryKey = [string]$primaryKey; + DefaultNamespace = $defaultNamespace; + RepositoryNamespace = $repositoryNamespace; + ModelTypeNamespace = $modelTypeNamespace; + ModelTypePluralized = [string]$modelTypePluralized; + DbContextNamespace = $foundDbContextType.Namespace.FullName; + DbContextType = [MarshalByRefObject]$foundDbContextType; +} -SuccessMessage "Added repository '{0}'" -TemplateFolders $TemplateFolders -Project $Project -CodeLanguage $CodeLanguage -Force:$Force + diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/T4Scaffolding.Format.ps1xml b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/T4Scaffolding.Format.ps1xml new file mode 100644 index 0000000..2391814 --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/T4Scaffolding.Format.ps1xml @@ -0,0 +1,26 @@ + + + + T4Scaffolding.Core.ScaffolderLocators.ScaffolderInfo + + T4Scaffolding.Core.ScaffolderLocators.ScaffolderInfo + + + + 35 + + 30 + + + + + Name + Description + PackageName + + + + + + + \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/T4Scaffolding.NuGetServices.dll b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/T4Scaffolding.NuGetServices.dll new file mode 100644 index 0000000000000000000000000000000000000000..3169dc6357ae98e63254125e67793f6aac5e08e8 GIT binary patch literal 24064 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%0AW|O=a*Y1g1aLhNo+PVotR?DT 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 literal 0 HcmV?d00001 diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/init.ps1 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/init.ps1 new file mode 100644 index 0000000..fd1cd4e --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/init.ps1 @@ -0,0 +1,51 @@ +param($rootPath, $toolsPath, $package, $project) + +$dllPath = Join-Path $toolsPath T4Scaffolding.dll +$tabExpansionPath = Join-Path $toolsPath "scaffoldingTabExpansion.psm1" +$packagesRoot = [System.IO.Path]::GetDirectoryName($rootPath) + +if (Test-Path $dllPath) { + # Enable shadow copying so the package can be uninstalled/upgraded later + [System.AppDomain]::CurrentDomain.SetShadowCopyFiles() + + # First import the module into the local scope where init.ps1 runs... + Import-Module $dllPath + [T4Scaffolding.NuGetServices.Services.ScaffoldingPackagePathResolver]::SetPackagesRootDirectory($packagesRoot) + Set-Alias Scaffold Invoke-Scaffolder -Option AllScope -scope Global + Update-FormatData -PrependPath (Join-Path $toolsPath T4Scaffolding.Format.ps1xml) + + # The following applies to NuGet 1.0 only + if ([NuGet.PackageManager].Assembly.GetName().Version -lt 1.1) { + # ...then promote it to global scope. Note that this is a workaround for the fact that NuGet doesn't + # currently have a native way for packages to export PowerShell module members into the Package + # Manager Console scope. When this is resolved in a future version of NuGet, there will be no further + # need for GlobalCommandRunner and it will be removed. Don't call it from your own package! + [T4Scaffolding.Cmdlets.GlobalCommandRunner]::Run(` + "Import-Module -Force -Global ""$dllPath"";"` + + "Set-Alias Scaffold Invoke-Scaffolder -Option AllScope -scope Global;"` + + "Import-Module -Force -Global ""$tabExpansionPath"";"` + + "[T4Scaffolding.NuGetServices.Services.ScaffoldingPackagePathResolver]::SetPackagesRootDirectory(""$packagesRoot"");"` + , $true) + } else { + # For NuGet 1.1 and later we can load everything immediately + Import-Module -Force -Global $tabExpansionPath + + # If there are multiple versions installed, warn the developer to uninstall the older ones + $oldVersionsInstalled = (Get-Package T4Scaffolding | Group-Object Version -AsHashTable).Keys | Sort-Object -Descending | Select-Object -Skip 1 + if ($oldVersionsInstalled) { + Write-Warning "---" + Write-Warning "Your solution contains older versions of T4Scaffolding. To avoid unexpected behavior, please ensure " + Write-Warning "the following older versions of T4Scaffolding are uninstalled from from all projects in your solution:" + $oldVersionsInstalled | %{ Write-Warning (" * " + $_.ToString()) } + Write-Warning "After uninstalling any older versions, restart Visual Studio." + Write-Warning "---" + } elseif ([T4Scaffolding.ScaffolderAttribute].Assembly.GetName().Version -ne "1.0.0.1") { + Write-Warning "---" + Write-Warning "A different version of T4Scaffolding is already running in this instance of Visual Studio" + Write-Warning "Please restart Visual Studio to avoid unexpected behavior" + Write-Warning "---" + } + } +} else { + Write-Warning ("Could not find T4Scaffolding module. Looked for: " + $dllPath) +} \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/install.ps1 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/install.ps1 new file mode 100644 index 0000000..46f868e --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/install.ps1 @@ -0,0 +1,32 @@ +param($rootPath, $toolsPath, $package, $project) + +if ([T4Scaffolding.ScaffolderAttribute].Assembly.GetName().Version -ne "1.0.0.1") { + # Abort installation, because we can't update the T4Scaffolding assembly while it's already loaded, + # and logic in the installation process involves referencing types in the latest version of that assembly. + $upgradeProcedure = @" + 1. Uninstall the T4Scaffolding package from all projects in your solution (along with any dependent packages, such as MvcScaffolding) + 2. Restart Visual Studio + ... then you can install the package you require (e.g., MvcScaffolding or T4Scaffolding) +"@ + Write-Warning "---" + Write-Warning "Warning: A different version of T4Scaffolding is already running in this instance of Visual Studio, so installation cannot be completed at this time." + Write-Warning "To upgrade, you must: " + Write-Warning $upgradeProcedure + Write-Warning "---" + if (Get-Module T4Scaffolding) { + # Disable scaffolding as much as possible until VS is restarted + Remove-Module T4Scaffolding + } + throw "---`nInstallation cannot proceed until you follow this procedure: `n" + $upgradeProcedure + "`n---" +} + +# Bail out if scaffolding is disabled (probably because you're running an incompatible version of NuGet) +if (-not (Get-Command Invoke-Scaffolder)) { return } + +if ($project) { $projectName = $project.Name } +Get-ProjectItem "InstallationDummyFile.txt" -Project $projectName | %{ $_.Delete() } + +Set-DefaultScaffolder -Name DbContext -Scaffolder T4Scaffolding.EFDbContext -SolutionWide -DoNotOverwriteExistingSetting +Set-DefaultScaffolder -Name Repository -Scaffolder T4Scaffolding.EFRepository -SolutionWide -DoNotOverwriteExistingSetting +Set-DefaultScaffolder -Name CustomTemplate -Scaffolder T4Scaffolding.CustomTemplate -SolutionWide -DoNotOverwriteExistingSetting +Set-DefaultScaffolder -Name CustomScaffolder -Scaffolder T4Scaffolding.CustomScaffolder -SolutionWide -DoNotOverwriteExistingSetting diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/scaffoldingTabExpansion.psm1 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/scaffoldingTabExpansion.psm1 new file mode 100644 index 0000000..679e082 --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/scaffoldingTabExpansion.psm1 @@ -0,0 +1,114 @@ +# Mostly copied from NuGet's native tab expansion function +# Maybe a future version of NuGet will have some kind of pluggable tab expansion system +# so that 3rd-party packages can provide expansions without duplicating all this logic + +if (!$global:scaffolderTabExpansion) { $global:scaffolderTabExpansion = @{ } } + +# make sure we stop on exceptions +$ErrorActionPreference = "Stop" + +# This object reprents the result value for tab expansion functions when no result is returned. +# This is so that we can distinguish it from $null, which has different semantics +$NoResultValue = New-Object 'System.Object' + +# Backup the original tab expansion function +if ((Test-Path Function:\TabExpansionPreT4Scaffolding) -eq $false) { + Rename-Item Function:\TabExpansion global:TabExpansionPreT4Scaffolding +} + +function TabExpansion($line, $lastWord) { + $filter = $lastWord.Trim() + + if ($filter.StartsWith('-')) { + # if this is a parameter, let default PS tab expansion supply the list of parameters + return (TabExpansionPreT4Scaffolding $line $lastWord) + } + + # remove double quotes around last word + $trimmedFilter = $filter.Trim( '"', "'" ) + if ($trimmedFilter.length -lt $filter.length) { + $filter = $trimmedFilter + $addQuote = $true + } + + $e = $null + $tokens = @([System.Management.Automation.PSParser]::Tokenize($line, [ref]$e)) | %{ $_.Content } + if (-not($tokens -is [Array])) { + $tokens = ,$tokens + } + if (!$filter) { + $tokens = $tokens + $filter + } + + switch ($tokens[0]) { + 'Invoke-Scaffolder' { + $choices = TabExpansionForInvokeScaffolder $filter $tokens + } + 'Scaffold' { + $choices = TabExpansionForInvokeScaffolder $filter $tokens + } + 'Set-DefaultScaffolder' { + $choices = TabExpansionForSetDefaultScaffolder $filter $tokens + } + default { + $choices = $NoResultValue + } + } + + if ($choices -eq $NoResultValue) { + # Fallback to the default tab expansion + TabExpansionPreT4Scaffolding $line $lastWord + } + elseif ($choices) { + # Return all the choices, do some filtering based on the last word, sort them and wrap each suggestion in a double quote if necessary + $choices | + Where-Object { $_.StartsWith($filter, "OrdinalIgnoreCase") } | + Sort-Object | + ForEach-Object { if ($addQuote -or $_.IndexOf(' ') -gt -1) { "'" + ($_ -replace "'", "''") + "'"} else { $_ } } + } + else { + # return null here will tell the console not to show system file paths + return $null + } +} + +function TabExpansionForInvokeScaffolder([string]$filter, $allTokens) { + $secondLastToken = $allTokens[-2] + if (($secondLastToken -eq '-scaffolder') -or ($allTokens.length -eq 2) -or (($allTokens.length -eq 4) -and ($allTokens[-3] -eq '-project'))) { + $project = FindNamedParameterValue $allTokens Project + $filter += "*" + return @() + (Get-DefaultScaffolder -Project $project | %{ $_.DefaultName }) + (Get-Scaffolder $filter -Project $project | %{ $_.Name }) + } elseif ($secondLastToken -eq '-project') { + return (Get-Project -All) | %{ $_.Name } + } else { + # We don't know how to complete custom scaffolder params here, so ask the scaffolder itself to do so + $scaffolder = Get-Scaffolder $tokens[1] + if ($scaffolder -is [T4Scaffolding.Core.ScaffolderLocators.ScaffolderInfo]) { + $registeredScriptBlock = $global:scaffolderTabExpansion[$scaffolder.Name] + if ($registeredScriptBlock -is [ScriptBlock]) { + return . $registeredScriptBlock $filter $tokens + } + } + return $NoResultValue + } +} + +function TabExpansionForSetDefaultScaffolder([string]$filter, $allTokens) { + $secondLastToken = $allTokens[-2] + if (($secondLastToken -eq '-name') -or ($allTokens.length -eq 2)) { + return (Get-DefaultScaffolder | %{ $_.DefaultName }) + } elseif (($secondLastToken -eq '-scaffolder') -or ($allTokens.length -eq 3)) { + $project = FindNamedParameterValue $allTokens Project + $filter += "*" + return (Get-Scaffolder $filter -Project $project | %{ $_.Name }) + } + return $NoResultValue +} + +function FindNamedParameterValue($allTokens, $parameterName) { + $foundAtPreviousToken = $false + foreach($token in $allTokens) { + if ($foundAtPreviousToken) { return $token } + if ($token -eq ("-" + $parameterName)) { $foundAtPreviousToken = $true } + } +} \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/uninstall.ps1 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/uninstall.ps1 new file mode 100644 index 0000000..691ba34 --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/uninstall.ps1 @@ -0,0 +1,14 @@ +param($rootPath, $toolsPath, $package, $project) + +# Bail out if scaffolding is disabled (probably because you're running an incompatible version of NuGet) +if (-not (Get-Command Invoke-Scaffolder)) { return } + +# Try to delete the solution-level config file, if there is one +if ($project) { + $solutionDir = [System.IO.Path]::GetDirectoryName($project.DTE.Solution.FullName) + $configFile = Join-Path $solutionDir "scaffolding.config" + if (Test-Path $configFile) { + Set-IsCheckedOut $configFile + del $configFile + } +} \ No newline at end of file From 2bd58014c664bfe38640b54d0be6901a6ba1c137 Mon Sep 17 00:00:00 2001 From: trevor Date: Sat, 2 Jul 2011 16:53:22 +0100 Subject: [PATCH 05/31] added database project that is synced with entity framework model --- .../CharityPortal.Data/DataContext.edmx | 1 + .../CharityPortal.Data/DataContext.edmx.sql | 37 ++++++++++++++++++- CharityPortal/CharityPortal.sln | 8 ++++ 3 files changed, 44 insertions(+), 2 deletions(-) diff --git a/CharityPortal/CharityPortal.Data/DataContext.edmx b/CharityPortal/CharityPortal.Data/DataContext.edmx index 1bef832..314561b 100644 --- a/CharityPortal/CharityPortal.Data/DataContext.edmx +++ b/CharityPortal/CharityPortal.Data/DataContext.edmx @@ -369,6 +369,7 @@ + diff --git a/CharityPortal/CharityPortal.Data/DataContext.edmx.sql b/CharityPortal/CharityPortal.Data/DataContext.edmx.sql index 7d21b71..7696c39 100644 --- a/CharityPortal/CharityPortal.Data/DataContext.edmx.sql +++ b/CharityPortal/CharityPortal.Data/DataContext.edmx.sql @@ -2,8 +2,8 @@ -- -------------------------------------------------- -- Entity Designer DDL Script for SQL Server 2005, 2008, and Azure -- -------------------------------------------------- --- Date Created: 07/02/2011 15:02:17 --- Generated from EDMX file: C:\Users\Ivan Zlatev\Desktop\dev4good\CharityPortal\CharityPortal.Data\DataContext.edmx +-- Date Created: 07/02/2011 16:21:29 +-- Generated from EDMX file: D:\trev\Dev\dev4good\CharityPortal\CharityPortal.Data\DataContext.edmx -- -------------------------------------------------- SET QUOTED_IDENTIFIER OFF; @@ -17,11 +17,44 @@ GO -- Dropping existing FOREIGN KEY constraints -- -------------------------------------------------- +IF OBJECT_ID(N'[dbo].[FK_OrganizationProject]', 'F') IS NOT NULL + ALTER TABLE [dbo].[Projects] DROP CONSTRAINT [FK_OrganizationProject]; +GO +IF OBJECT_ID(N'[dbo].[FK_ProjectResource]', 'F') IS NOT NULL + ALTER TABLE [dbo].[Resources] DROP CONSTRAINT [FK_ProjectResource]; +GO +IF OBJECT_ID(N'[dbo].[FK_OrganizationResource]', 'F') IS NOT NULL + ALTER TABLE [dbo].[Resources] DROP CONSTRAINT [FK_OrganizationResource]; +GO +IF OBJECT_ID(N'[dbo].[FK_ResourceResource]', 'F') IS NOT NULL + ALTER TABLE [dbo].[Resources] DROP CONSTRAINT [FK_ResourceResource]; +GO +IF OBJECT_ID(N'[dbo].[FK_TagResource_Tag]', 'F') IS NOT NULL + ALTER TABLE [dbo].[TagResource] DROP CONSTRAINT [FK_TagResource_Tag]; +GO +IF OBJECT_ID(N'[dbo].[FK_TagResource_Resource]', 'F') IS NOT NULL + ALTER TABLE [dbo].[TagResource] DROP CONSTRAINT [FK_TagResource_Resource]; +GO -- -------------------------------------------------- -- Dropping existing tables -- -------------------------------------------------- +IF OBJECT_ID(N'[dbo].[Projects]', 'U') IS NOT NULL + DROP TABLE [dbo].[Projects]; +GO +IF OBJECT_ID(N'[dbo].[Resources]', 'U') IS NOT NULL + DROP TABLE [dbo].[Resources]; +GO +IF OBJECT_ID(N'[dbo].[Organizations]', 'U') IS NOT NULL + DROP TABLE [dbo].[Organizations]; +GO +IF OBJECT_ID(N'[dbo].[Tags]', 'U') IS NOT NULL + DROP TABLE [dbo].[Tags]; +GO +IF OBJECT_ID(N'[dbo].[TagResource]', 'U') IS NOT NULL + DROP TABLE [dbo].[TagResource]; +GO -- -------------------------------------------------- -- Creating all tables diff --git a/CharityPortal/CharityPortal.sln b/CharityPortal/CharityPortal.sln index eff4e4c..f69e521 100644 --- a/CharityPortal/CharityPortal.sln +++ b/CharityPortal/CharityPortal.sln @@ -7,6 +7,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CharityPortal.Tests", "Char EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CharityPortal.Data", "CharityPortal.Data\CharityPortal.Data.csproj", "{1D773A47-6822-4511-9B27-B37386F866DD}" EndProject +Project("{C8D11400-126E-41CD-887F-60BD40844F9E}") = "DataContext", "DataContext\DataContext.dbproj", "{67CBC824-A49E-4E9B-A947-360F3DFE65C3}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -25,6 +27,12 @@ Global {1D773A47-6822-4511-9B27-B37386F866DD}.Debug|Any CPU.Build.0 = Debug|Any CPU {1D773A47-6822-4511-9B27-B37386F866DD}.Release|Any CPU.ActiveCfg = Release|Any CPU {1D773A47-6822-4511-9B27-B37386F866DD}.Release|Any CPU.Build.0 = Release|Any CPU + {67CBC824-A49E-4E9B-A947-360F3DFE65C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {67CBC824-A49E-4E9B-A947-360F3DFE65C3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {67CBC824-A49E-4E9B-A947-360F3DFE65C3}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {67CBC824-A49E-4E9B-A947-360F3DFE65C3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {67CBC824-A49E-4E9B-A947-360F3DFE65C3}.Release|Any CPU.Build.0 = Release|Any CPU + {67CBC824-A49E-4E9B-A947-360F3DFE65C3}.Release|Any CPU.Deploy.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From dfc35f150cb9191ea19c67793f1e4b3888111e53 Mon Sep 17 00:00:00 2001 From: trevor Date: Sat, 2 Jul 2011 16:55:02 +0100 Subject: [PATCH 06/31] added database project synced with entity framework model --- CharityPortal/DataContext/DataContext.dbmdl | Bin 0 -> 2772992 bytes CharityPortal/DataContext/DataContext.dbproj | 241 +++++ .../DataContext/DataContext.dbproj.schemaview | 8 + .../DataContext/DataContext.dbproj.user | 3 + .../Properties/Database.sqlcmdvars | 6 + .../Properties/Database.sqldeployment | 14 + .../Properties/Database.sqlpermissions | 44 + .../Properties/Database.sqlsettings | 52 ++ .../IX_FK_OrganizationProject.index.sql | 6 + .../IX_FK_OrganizationResource.index.sql | 6 + .../Indexes/IX_FK_ProjectResource.index.sql | 6 + .../Indexes/IX_FK_ResourceResource.index.sql | 6 + .../IX_FK_TagResource_Resource.index.sql | 6 + .../Keys/FK_OrganizationProject.fkey.sql | 13 + .../Keys/FK_OrganizationResource.fkey.sql | 9 + .../Tables/Keys/FK_ProjectResource.fkey.sql | 9 + .../Tables/Keys/FK_ResourceResource.fkey.sql | 9 + .../Keys/FK_TagResource_Resource.fkey.sql | 9 + .../Tables/Keys/FK_TagResource_Tag.fkey.sql | 9 + .../dbo/Tables/Keys/PK_Organizations.pkey.sql | 6 + .../dbo/Tables/Keys/PK_Projects.pkey.sql | 10 + .../dbo/Tables/Keys/PK_Resources.pkey.sql | 6 + .../dbo/Tables/Keys/PK_TagResource.pkey.sql | 6 + .../Schemas/dbo/Tables/Keys/PK_Tags.pkey.sql | 6 + .../dbo/Tables/Organizations.table.sql | 8 + .../Schemas/dbo/Tables/Projects.table.sql | 17 + .../Schemas/dbo/Tables/Resources.table.sql | 16 + .../Schemas/dbo/Tables/TagResource.table.sql | 7 + .../Schemas/dbo/Tables/Tags.table.sql | 7 + .../Post-Deployment/Script.PostDeployment.sql | 11 + .../Pre-Deployment/Script.PreDeployment.sql | 11 + .../Scripts/ScriptsIgnoredOnImport.sql | 61 ++ .../sql/debug/DataContext.dbschema | 843 ++++++++++++++++++ .../sql/debug/DataContext.deploymanifest | 41 + .../sql/debug/DataContext_Database.sqlcmdvars | 6 + .../debug/DataContext_Database.sqldeployment | 14 + .../debug/DataContext_Database.sqlsettings | 52 ++ .../DataContext_Script.PostDeployment.sql | 11 + .../DataContext_Script.PreDeployment.sql | 11 + 39 files changed, 1606 insertions(+) create mode 100644 CharityPortal/DataContext/DataContext.dbmdl create mode 100644 CharityPortal/DataContext/DataContext.dbproj create mode 100644 CharityPortal/DataContext/DataContext.dbproj.schemaview create mode 100644 CharityPortal/DataContext/DataContext.dbproj.user create mode 100644 CharityPortal/DataContext/Properties/Database.sqlcmdvars create mode 100644 CharityPortal/DataContext/Properties/Database.sqldeployment create mode 100644 CharityPortal/DataContext/Properties/Database.sqlpermissions create mode 100644 CharityPortal/DataContext/Properties/Database.sqlsettings create mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_OrganizationProject.index.sql create mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_OrganizationResource.index.sql create mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_ProjectResource.index.sql create mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_ResourceResource.index.sql create mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_TagResource_Resource.index.sql create mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_OrganizationProject.fkey.sql create mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_OrganizationResource.fkey.sql create mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_ProjectResource.fkey.sql create mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_ResourceResource.fkey.sql create mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_TagResource_Resource.fkey.sql create mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_TagResource_Tag.fkey.sql create mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Organizations.pkey.sql create mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Projects.pkey.sql create mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Resources.pkey.sql create mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_TagResource.pkey.sql create mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Tags.pkey.sql create mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Organizations.table.sql create mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Projects.table.sql create mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Resources.table.sql create mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/TagResource.table.sql create mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Tags.table.sql create mode 100644 CharityPortal/DataContext/Scripts/Post-Deployment/Script.PostDeployment.sql create mode 100644 CharityPortal/DataContext/Scripts/Pre-Deployment/Script.PreDeployment.sql create mode 100644 CharityPortal/DataContext/Scripts/ScriptsIgnoredOnImport.sql create mode 100644 CharityPortal/DataContext/sql/debug/DataContext.dbschema create mode 100644 CharityPortal/DataContext/sql/debug/DataContext.deploymanifest create mode 100644 CharityPortal/DataContext/sql/debug/DataContext_Database.sqlcmdvars create mode 100644 CharityPortal/DataContext/sql/debug/DataContext_Database.sqldeployment create mode 100644 CharityPortal/DataContext/sql/debug/DataContext_Database.sqlsettings create mode 100644 CharityPortal/DataContext/sql/debug/DataContext_Script.PostDeployment.sql create mode 100644 CharityPortal/DataContext/sql/debug/DataContext_Script.PreDeployment.sql diff --git a/CharityPortal/DataContext/DataContext.dbmdl b/CharityPortal/DataContext/DataContext.dbmdl new file mode 100644 index 0000000000000000000000000000000000000000..0d9948c032f9227f4bc51e4c9942b38468b7bf4b GIT binary patch literal 2772992 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�{h=<7+^k)0aNh#XQ?4V%&5fqkVCUXox4bdfD})=? zfojT!W?6J1tyvZwo!^==PpKuw&7mmOgA8&+xBi~$)+a913Pp_FZUT;loDF0nvyi}$K-0e-i*>W0WuAHd)Lujk+YGYTs7 zK@7En<%n14B2Hrlm;q*h8DIvO0cL<1U}@W`G%B2ABb6fEi#0m;q*h8DIu3E(X55^6gJOgzNu)UjN%tOa-t1ZSlmJ zm;q*h8DIvO0cL<1U)1N~%imTodM4g86Fke4Xc@=MgCtd;u0C zGY@)>;KhTUN=$6RPkQnQtZaRoXCEdAtf2`%Md>=1OxTaP_hF$&F!?Z6AtV?|c4Kna zBbdK7Q`AU2bu(6Rn5u|+>M7$mSi)-x0TMyUX`kmPChEpfEl)|^X)38rt6Lgl6Oz;{fMavE6^096+T)fO6zOD44s(d#_Oa`wB&J^e7CgrnFM7Fe!U}CF&Wb*tx5|{ zcLmBm1uba7emr%MfTgV%>C&sKqioa@q`8{uRytZ>i=qe@5oH7b>k zw-yh5c&xe5mC8}^F|2T3dY~C`yzM*&8tI}nUy1ID*ur5?TCP9?8bl(qQ#b`HSZ&>( zN-(Ki8eF~!hzm2U%}zkH&M)Li>&ZohOwy)R(v9Z&@$8JOQf4yFKuYB)yEBk-nK{=> zYvZ@pPs=cIV{W~=V%_p8Is4RSA0zR^YB@(ejI$Lv`^_cIgNX~Y=`2nyb%L!~9E*9I zC5zHSHqq2YpPT3txlvjcGm|xVy2Z%EczJ3+;*p*}_6Uhks#KdFG?21t)BQxw7$j-|(ucg=1^NqvP*J!qyp@GI{*~E5@=2qY?5q1_RPS(8aIWzLWh|bD@>oi8H zSa#zlo;rfR|GzbN{r|U1A5nT`K%ilGc|(jxL!SqA*HgoiPdr-AV>MC1+iU>NYw&QLJc z7KrqOO#x6{*`Tk>@(1FztQf;F)~K~$JciX4>anUe8+jI%JCDjw(^#=}5%FdXcYQP=wiV%@=x{&*;X!Phs-=)V~drWlrRb$;6Og&&?g zEc|eRdW!}?2A}f)$j%VNJ7S@}KrC;JRk&7Q^kH+1-NMm_C#y5Scog8Ef9KA4Fp*aU zt%ZUgTSrxORDC!Y=}qj)Tm7n1Y`ZzOuHJfclvOH4b;N%>5r`$$g(CTFu&oRc;D0L( zFC9U(;cWT~A}~e)pA7~0Cj>41;eoygT`xN$^@AKgu%;X_nB(c{7{=zoVC;%>3Syu> zDZ`<+_hdkrJOaE!^9a?BJc2QveiIlxLM#}@sJ{IXxo^nINFuh^iElWM*y#1DaRZM_ z!4?Aa5)xd77_*l;k09ywsxcn(LYqj6dJ7Df?$le<58KDX7Ar;kM!}%z)_&tWffVr| z7(3mm2RTpe6!#?6^}}|6u!qLVzo_TVUGp2r22{UU z^DkE3%y{lx`UUDJbu!SAak$+Wx;$rgqs6tCj%^X-ewGE2qdj*nc}`U_A@sKyYchYU zLEmSJz?{ag5bnwx1u#HTD^kwu^jB;8!{Oys%Ge|NS^cl6I{kFc-)s&Q_o~UX%fPMw zwc@rp66u$r*!v?nd@eS8&cR^dHjsna;^S!B+~&dXdU4z1oZFG=M4%(HS%0p2u3Ss{y$TexEst0kLBFxpYlyUl>b%;c~1=f0v;f`Z`UERo}06 z#;=s;b6;{x8O<+f>De^RN67D#u7+B1x`}=xef~cma*5j`)#AY^E-`Uil~}&kCBE?1 zD)Ezcm*_rNB|84#5?_4DC6;{EB|i3`OI(8Q_kG!gcWk-D8-9!X1Z>9ZTV3LRX1c_{ zZz{y^{<}gXX5fASbuQ7@iGPn*h`XW{0`Tvf!d=@QF7<(Tlm?IX|2y{%prB&ts zeU4Hh&KLL7GQLIM`mQjD_IPt79+E1FZ_K;CD~mecvJUKhv#7fXw%_gE-Yi6>PqZ~l(7&lUxR}|06NOx>+6d_SL(pXIktFlC)sk<2- zm4YzLOT5DR!7iLO)y;dOdH)GecDwTpkfy1|?T6+TC8X$HSbLmrgETEOGuHnlQJ9bR zcuOE0F3@rBbiN7Fv|;~}D~6#f7~YxJD)u?w0BM?P+z)J4QC)1jBVr~YXLG^*ZrohZ zyoZjyxgY^I3&-B8C5#)-8aAk--jM@Btwa#!p+g6u4gMw+2*R07t`8=5_4f=%k>e`v zDYV^@`CnFq2T?2l<5A2W+9UB`EKzJsc~hYskE};{=TNppdvH^%Vo=^(g_HgpGS zy$O_aD6PS8usD?aJUG&tXCC@Un~xRazLS?1>n^08jjQR5xO09BIn3jp%_IG@#KYM7jZ)J&%sa zJWngkQG0xAD6y+K8VyGB55b2G&<-(om6^e0yJqv>cn&dL8R$d}dh z^^7)sJ!(1l(^Y1H(^vDqT8m9zTeL0bdaV8_pX2%7<$MY|!_Mr{RDGUlYz~n3IG@JO zu;YSFK-%LSxWzYa!dGC%_Mr2L>)Wg>Yz*9IL|GSsezDIh>BFAw!7mOUK}&coSM65*bHBhT)JQDzxA( zT4)k2lEoCPdW#I>A>%qxkUa%oP>ZKKWk4JZi9sjIlB=Pi0lyx`kQ`c&Kp6u{M#qw2 z>a46gZ5)RA3Pp<}deDsl=Ddbh$*O1^UtgtBjC2B(OFE z3vPM(C{`(hJW`2NMOpPqXdpwtlUfiHRD_YOS_G{H*po4W>gc+1yl$-w8iXNBP-_%p zh7w$uutF*@8$eKF2*Va(DcM*q!m?&->PKMSYxHn^GRmDapp2~rhWA*1kXgM_BX56cFxLxoroYE`HQOIc~n zVGSlN$c+eenBqHXD9Hgxt(!w1j>fCnwMdz=SZN3v+nty>9sh`$Ggji4kc=@F^90tk zhByw(*dkRbjY8fZUMTwaQ*F!uu8-AG%O0im>bto4%fY)n||kYJ^@ueT>GO2u2C{cb8LG5A1O~6gJzY>Q+C6LjgXn82J}E+ z9z4;N(-F{av(eLBGLeGt8VSa4GOlV`?-%t%guyWb%m6dM3@`(K=L{U*7r1k9&w)Em zBo4$oV-H7b`cL+qxa~ymiSE<>!1hJk9=_@28v@tWZ9dR>a>L;I&i0e50xc(+J68m* zI(?=A%m6dM3@`)C05iZ0Fayj0Gr$Zm0~aX+ zop*vdwK7eNMmf{X;&imhXe`G^ zIUxxCa_9xv1&7MvR)E_eSq^;w5ja~8QGngxt$;W{0y-+-c7QuTtpE&5bteW>fPDaW zL#hJafR9l_wF~Y+oWkdVdjZ}IQ5W0?a6b&W;H>~}gHtYe0N@<}ZdfVcozUopcLTf! z{BC#<;C*n&4fw3e2O#N&hX6hVXWcLa@G$rn2I0DKmPM!>TG&%vn?@I1g5FdhM%1o$E}j)X4( z{38rq0$&06DjXUKUkCUGBuB!x0R9Qij)YSHr@>nV-vRg+=%|A40lWZe6}$-W12|p< z{|fLUNL9g408&uxfu92W8yvp`eh%;phBWiV2*-M-OW>AzLFdbmnyJ8IXfB}6k+jz!C+nP}DK7 zOo1zv<740|1y(4jF>sB7F$=55!nF#tD88|)OhGuu-8^kfEbo9d=p?mfesO!0DBbJs|-zmyA;@`oSFa_ zsO$|22EjRi^^3-d@FoTBRs0j-EehPH9GVCR6?m(XoCt4M-~r|AL^!0tpyHhb?^2*k zbWDQxD)6A9PJ+VSAp*- z(W!8QfESgasc@r!e^pLRg&!;M69r?Fo>AbZO5-&6nF2po{L|q7De#hVXd3)df&WmF z)8Ic9_%G$`G&rlk%Zhh8{6>NQQ97o>?-Y1NQK!Qn6!@cZd^-FY^(B(^uuZ@%qS_1F z(N79=ePsg5Mbrx}0Rb`Og%JWq3hylN2pA=x4!Q;Oh{ie?D8iBWoQ*+<}0q+p# zvIo&WiN?9`ZUOHR{<(lp7)}8Yz%OQi8DIvO0cL<1UQAqe@7lHWu~HwL zz}1y}$@qU$)NK5JbHF2<;`a=j`RM_Vv?5GWJ&*7S7{ft}N=;?SAS8q%C*H<~3I(|^ zA<(`e4n16){9jgaImVsGv0%IL5Lpv!qq0#LmA1&sHAI0@UdnhFKb_LDx zP;#I=CjYU6|I#wNbSU|VDH_;s7%^!m?HEyy_E@0mtW5XuLebkw3@FoIP*E%JpJ2I% zZEDbj^G5bD+ww;WMRh~RF#LtcoGUFSP9~LTMbeXQv}SXRCEc3MR!*fLl%mlOhbb-I z6%EAV!3+#@;F^Ee0@oa~Z2WLK@Qms-R3~E6Le_NU-vOfR6V9X7*a+2WsM;8^M(V^& z#(!#LJno2$rTDMh+@o0Fr>_1$R11066%BUdzA)Wdq-%-C%24osoKAz7&bJfDEFX^H zG?|A;{4bW%A#%QYHU5V?_ZZf{mo?@?v^BUR8zV3t4RmMC*$nN|_>U%}%lOh=p|w|@ zuU?7&htECE2U>GD6u|$Qwr&KQbJdm1$rZMh`hobPJj{K=`3P)7g9Sn5gbGfs$#%b-WyrT|jlEa?xe8~ zZ~CXiF}(l((e(P?Jb>_bBLi+f$Nw`j!rzzyW`G%B2ABb6fEi#0m;q*h8DIwf78p48 z(-#wu>1o!rnuM!L}Ir-FYwJ$kR zU7#)l<1sA6Wx)W6*$~B4Y9>JGQqV(Mmi=>~0HrxtvL6vuZqQ`;*%_+#c&m(W+ZT$2 z;)zgqUTCKa1p?L^ki~_cUNvE@fkdFWyE_;+#ZAs3>^o%`%(>i9tqjL0@w`-G9iDiB zdJPy4XM}a_jVFSAHn4rS90RzUqwebg+^vJ(zStD1GuOG8CCzF!3uNd8V2^f#U@o=$+cEmz` z7$|scaBoY0B%X)`LXrFtjDO%fy6aq9A%iVZJ>7d+(v*|Ag>b&i!J!bP-8^{c zJ5jY__kZj z-Q*T;Kj{{)_%Z)+w}50BJpYH2xT|_~W>Iv^fP}v=1Iz$3zzi@0%m6dM3@`)C05iZ0 zFaylM-!cRG|AFp)_XofGalHTEpZ@*-Z@Eo>4eVo+y#L={gJ-UT8DIvO0cL<1UdQ z;c?3|6|J5o&!FdiPg~Wbs*hYT_Yrl>obAl>*j4<7g8R`(RMRv7$!+Ap#m`BF)9gFC_xKMklY@{$^=#| z3D}2KE=f~23a{^ylpi%Ecrc;8mb4*ZK8D3h!eu4(RKXaTp$UtO;?~)kv9rkjmAnl$qsawH`N>Hv%)PoQc=T*3HD0 zRbnX!gA&VSqP4awFlqH579(p+_k^_7j+S+zZBh%OX%ncFCna;WcD^Zv%mZN5*hKk@FiCM3b%07ba!_H8+b)&KF2H9m~Z*8I)(#}c0&Sb1;>S%=s zEe!@~l_u9f*=w*gG-4|nCu7oDsT*lpO~^tWmLM(Nji2iAjO=Yqm@Ye1x=Y|C>#eKT zE0?LV7fAb0+aCd$Ac3IOp~5u0(kE16ZO0I=tY6Y=rPNxyaO-23)P$L3CnQHrWlqAR zEwa-}D?MyTnkcV2f=#)c&}cdvCoyQ&`iNFc8jGaI4wms)z&5+U$I8sP2I2yAWpYH3 z-bwliX-|g{x*)POjCqaKjaPSB_v}hc+9JKw;j{)NQNubHQ8p@t9oFWsDZ6PUYX2bi zCNz5->-MEx34+uTqKF+6sb~)ty&z9+YYVK1u6uQ0$Y3OY8bItbgv1hF`Gu>@x^=D# zS)t}mJxQ z9h30d&cSp;q_>tmOCQf_F|h}G+YvP8Hnf(kqgRqRV#toDbwl)ox&c{3tR}B7txXOy z+I&N+wG!);oju0}t&6C^B7(9XOLr>>Q(A$T&^?H!B^q~n>>7yx8#JFMamz7J`oLOj zhlDJrCvwhXuzPJ_%w zl2I-bj2=?g!U&lp=V5Xb&;XaoQ*xduU6*W^hEWobVKW1yQf8LT#|aT>sR~bQmAXi~ zCM-DXjVfd!P5+HV;Ws(r)KLjFnCYrI8v10NnhVVxbF-6qv^+QU6*+oI;x*@;o=zio zvJaV!K&yp~jE(F98rf^J?(X<{=a-Z(E=tyYq4T-AXLo=0%rk?ZKJfJEPwxJB-Nyz$ z8aNg>dh(H%hZa4A3-Uql!Rj~q_SNl;#!p6T`WM|+cWY;FbN9=EX8+(V%1xbH>o)J+ zG`Rl68l~;@%I4PQ<`dWKULIIlbH&NacVAYwc=w`{3tztU%>0+<)Xl27vx_yUh0D{lwiE66a4Q)(?AZ+UCO?_MZPMFLVA_;(0%TQ~24x@(MRTmsDx8UH!=<>&NZt z)dnygw%95B++Vr75+AWMKZK}1VrTtKWWB9Nw=E1O|1*C%mOR4wgNWz(%vQeV$g>Y1 zmRC7{0P#GH*!IJRW!l4sCoCUdGZ~cj6(2q{J~P@_t!|N~l;9>b_=MNsvEdF%ea3uMRCdY!uIuAZDQ@sL=hYeEN;~V-DtNLS` zg4#puq5eo_d@w(<>ej60la8#$*(0mV8e4-q0|ViN4ZE4(+-__WHy(B@hJSH^Rh-X z;b5pYVk`7X`84O2Gsg}=mLQ57kJq{J%qbp;B@ZVy>}Q5^`e1Yt$aRWlOtT6_kFuVGy&6od!7v83GGQ|JxEig; zJ?*H+7MQs+HvM)4`nFrC=w>kFNCsTsw))G#D1y8@Bk;O1DM`?gS|cVo0* zms;dJvcQaCv(sVzXBejTcvqr7x(0;cTKst@5e6j zKkMD%){nWwkH6^>TR!L#U&H7BFJJ2x53g|x*ZbXKkJ~N&{r4`hb&gwn^%a*`{(?(< z;>#}K#pnOuw$d$>Pr1Y$M_uBV-@!ci{QuX#?GnpIyT$QAj2m#mCEnSH&;NVf;)6Xu z8FvEj|Nm(2@Bfywdp;={sDQN?FM(go05iZ0Fayj0Gr$Zm1Iz$3zzi@0%)s9k125FQ zGVYVO{(qj=|F#r2g4h4Hc;ZaV05iZ0Fayj0Gr$Zm1Iz$3zzi@07Z(FRo9ybFg3te# zTkd`au%$5wD^-B&_yd#hcWVh3SD$4x%m6dM3@`)C05iZ0Fayj0GjOpm;BP#&(6{jT z0`G!D`1onGAvM2aesW&pyrH?(bJaO#XZvTLn&q2yyxv=X=n}XjIx{t+V@9&Bv2Ms) z?Nz6ro#vl*YN~JQ@hRRZhbF`1Xl-gz$E4)M#)(4{swb%9&yMqtJ2lof_V^g@m_wss zbhIW_-BFz!)i`R%Q|(c!&W`ktJT<~M;&`RE@{k+cQCF&>qas<}SUyx%U8a_vE%BF} z5BVExzA`}Q0jx@5wd8Cm#bv_smtFRG<+KUGo zS?WB{NS&>SCk7lgVtZUEFtAz)sV*z@_<)uQQ|pR{GedJR0NEUj$AjT8Dkvv(7)61} ziGg=j36z1k${LXIab7C1j*?TS&cc8kxkpjmT)#e)jb3JkaCIp{z^Ispmkz=5KV-;8 zZuRnWQ3y8_g5Z+?$_)SjbO;ko=jrSDK)4>GHPXehznWRNwj3dtLo(_RymXmKoDYN> zhC#@Q;?!D!Mrqc$ZkBUQwbNIGuo#R-QAMndg?d_pk$5PvcU|!IV0aOgl%XUC&ng$< zahvMZ@idsuzh-!v^5SVL6xOrxLg87Q7tfkXl#-k{h_IO92r>8(b zsg5e-#A9l^&dF7#^ExNSK(GzPo!hEVIJ_#*o#>C{a5$)h?QjKyPqefA?+q4aPqXz0G(N9NpXaOy_kt zbHI2Mg<}djZC-gy(pDbNSaupK41h6=jg$TP#e*DXx(}6TWw71OmmSkoBNcP34OZ{D zP<+i1R8S*k_o{2ek|A}Py){P$L|32>oo%GIE3r2m%*#e^p*4rKrA|}lg7L644I_|X zSLn|CC_-|=Vs5tHd#!C_n!QmugJMJ0#ab3+OZ2q6#S7oZyi48U*#}+XvO8Sj*!NswLb+SKrOYi}DRqlp zeE)2*O9b%!<0hB53E!tM?%!&R|MvwIuQ~1#;46XtQ!96V8h`&EV;*lz*!Zi)fPx_) zEvIZu5Hr9GFayj0Gr$Zm1Iz$3zzi@0%m6cR5i<~*czWkExc+}Lum5dnX(F%xZSlmJ zm;q*h8DIvO0cL<1Ui-cSTN9+fnmO}XR3B%&*#kdZ&)Ir zlXzo~`4+jNj}){95`h-HMJ|T7uj8HTMYg2G+sd8pQ9jSs4)@kDir?@Pb$-LoJasu3 z53BoZtO4aPMR!wYlxMz|Fy{RJpLyz)U_9*O>IlRVA^GINhJn5v!R&3RW}B+hZ0cD@ zHf1*LqBeDXUy(;t2ArGGRCP8O4=Z*uH5a#>JDfkBGS$}oY8ebR9!=Tnd;?sEMBpvc zu~1(imjAxsyPR)*JGJ;O;P`kRIL8+VW&D93yE%y-!8_wHE^L+Vspw=!mUuz9QY8!Hfqxz#!l zOGko0j8Ca7w!E=32Z)o~wC{Bx9`kc5Iv(rWv>g*;>lW>|xDiODX*kw_n9WBUpr_i} zy*h^&d-p}(Ux`S}kEZBI%r>MWF+O{^pqPpXN%4E4-&*LY6!X(6Iur~NWjG4DcGLaP z=8^a9g`Pw)o3ReS&hu>=s#!K zSE+ilIG>3mJxIHGZxruH#v7!AE&btvKGRc(IS-q?)AER_%B+iW5WTO^ z-Q<=x46CmWQF~7?g45dkQS2SPno#+_qJA1p&#G7kW{E#)K1 zymE7(x-?B)LGzPwIha0Fj+o3tfsV;+_qsV<1;)cUruIm8EZB!?%(2+-e#kAFH@L+| z?skibm%7E98{Fczlii{R->24K+8saZ_jb9sU|uw6 z#`60AqR|BdVFs81W`G%B2ABb6fEi#0m;q*h8L-d5*kkv+@_AhUui^E-J6UjLV1Ak@jpR|ukvb7_v3 zI#-LA`guq3QkQ}8C>kU^6Jk=vlpjb0ErUwtMBjYadBoHPbqN@cf&m;&K=Q;)&4Ki& z^APF{>QXQsP9S0A?qDn)iX&SY?V02Mez;KFRLg*gYJ=(n<8hv#hJ{cyo7Sb8X??+w zX&E;wSPu40YfB`wdjLc6M&gNBAe0WmX%*V_ap%Uhz?mk8K`CxtA8~G83vBJ}km-8E zKxLxkuMOspI{Tz^3tM1oZ-+v-TEYWp_OSwn|M5cMd95S7E>K&*coa1JVRShPL%m3| z{iGw?H^!g6%7N{-26qMq!U-G3f5N%(FI0`*ewk(T^o%}-V;OG!W>;~!M%PJ4bQ$*# zxzYh$ExUr(f>vfmQk<$~8dYC(M3u8$O_nvbgk$T2iCz6Yc}JdS zoKs_CGmqSwhf_hLUrw0k&pHodK2@y;<1tJV&G2OIP%Aa<{i7r8tp?*!SbMlx58BYGfk?O1*v43ooM>o4?(OOF%g%LqrP>O{ zV_09a4Xe0jzv^7GSE{SPc$_~#J9=){^!#N8kVP8wEB6eGt^=#J z!8e@iw)om$)KALA9S^w0zpSVfi>FqKcdV-vf4s>pdY8M!>08}m{Ti3}O2{RyKI{_D z&2fpPZ7y-*4wsm^8utLW-7U@r-D2x|+~S$iO5sho#eHvdi{ET=i<|Coi|0?f#oSJ} zcyA-d|M$Da>cj_M`2zm_e+&QqPfn(oDCOV(i&4bs%m6dM3@`)C05iZ0Fayj0Gr$Zm z0~a9!UyeTaN)p%qdwBhCOFM2}|J&k;Gcg0q05iZ0Fayj0Gr$Zm1Iz$3zzkem3~Ybl zYp>@2ABb6fEi#0m;q*h8DIvO0cL<1xVRYjzQ5|$FXHeq1nUyWdM-xnG? zm(L6^1Fs(gvaj=t8DIvO0cL<1UiS#G52&P)xYZ>)+(G>tm?Lq}g^b$a^IG0Y$l>SxFkJqB~ zed*%k*HkHEkH`p(*|z|pV{88CM?P|O7N>SmBmU9;N1^&;I#Q7Sn=Ta8YxGa)eE40S z%bwTEq=1p<&ZW))R;sig+2?3wXjM3F4evL*h-xFU@6c8Hl8IS*|_HGgi#Ka{fqGfPOeaa!J~%YH}KB#nB&h>(d%z zmeo0zr_*e6)YRz6y8d|nNOXo)fHg;Xkmwvu%4wt(M}O8kt(hI|`}my89doou_c-WT zjMb!(7<%Aej9JWh3L$v{^dk>P)<_cRItJ4I@>{4S{Vfo){H*&o?X&J90do8$`aqEH z^egKR^)uSv#jW~xy~9}P<6PlLzq4PBKAJ!;+=f0pnanzDc zD?vZb3(=R-hPxoA(N>(5>1L+0Wc+(+&gJP8)iGz6Iq|=q^7BWeGq#d!xqud}5j~ma ztSP6_R-CzXr(ont|F$USa-Flu>KvE@xtpN`!$CO<>gpeebq728;~^Qjoi-fFHMh&5 zJgJpo$K2fK59~hBk5>b%Rl^Fmr@eIgYx+-NbTU&mN5(ThPF*PF)0}(eG@PLGB`xOj zmmAC{n}3Pnd>Rq|VFs9i*NcH4FE4{X+~^U{&#e>(=TwUS-dQbn1gpi>N8O_KQMX7b zBg8FU4}A95Rlom7{QdtKe*WKZ*DzyI5+kTWp@%m6dM3@`)C05iZ0Fayj0Gr$Zm z1Fr!CAAEb=@4t-e|F7`+-xiybc>QmSC(gtSFayj0Gr$Zm1Iz$3zzi@0%m6cRaWU}Z z(@Q__l~Ny!PRIW%!CQGIr+z~q!>b0u;myH4iS|fOa8FBrc%U!R6%BTWc7}p62=(Z< zOv}u4FV}S6xpPZ1_e++4OWs#S_m1YYxrEYRlJyLKsSDI)U_8>5(A`_x+q-rb2DL5_ z=^Y642HSh6aES_1=g#3B?)vRdRqN$9fUjBtkSW7nYL%M3`%U|_eS6p5_{JT#2D=k+ z7zS}sVc*BxniF&K}+ z8eZ1e5{|78CU*7rbOd7f@Jj-FgnU`)^SjRVIZJKCTdQ-AVfwU$kVkusS>t*^fu3R7 zbAxX>KtAowQWt>num=VylFtR@<>f_zhGe#w!iF@9o`sRm!{~=SDDCl$1BvK>c4xJf z&1}(Z<{OS|W*!(1gUw{0kwM=aDAi0vi#1wGO)YZ^3i{KQEI5lN zL-P{#U(Sgt?oW$gv1H8bxz0LYJ1kVM2IEmcgH|ME&b9Op;4`%HWi?d@Y05n1NSV%z zJsfL}$Af)4!h5q#$lx(kg^M+(%LN<8ZV4g3>T=xsZ=JjMS!xp)k8HcsozD`FoHld^ z!Umsi?t6Wjy1wm5UHa@&|6924g=2E1mxWBKI)CxWe{zYL|LYR(s&b1GeD8YBE&llf zZm|U4k5#(GczoaaHMjWjSKXrZakuz*uUkyS_Z!~p7Qc9pTWlY2iSH*|V%?Wq;^b2< zaoKlV;;6u~MpufSm)+uv-b&HncMC`gnA1P~zOUl%|KI1||7|HuMAr>ln%laNGcg0q z05iZ0Fayj0Gr$Zm1Iz$3zzi@0uOkBoW?uf#*Gm2Hi`@19*)_1>P%ELTO0{9IoYIxM zJ$0Toe0SnI>N$*u@VMofidIjPXV7!Mr>$yIRY_GzHbub~;Ds`|4YMEg)Z@jE;HNgv z5&U%6bIh|J{|bxGvhF6#*o2>D<|t*Z zl$j6Wsr^`Xlcy5vpo=JRgiOrf#SHr}!xDKdw%`bUUqa`ErO5@e=I%qG!x zV&*~oyB|TM%g$8pk>$%~9VCR62%r4ghVd6 zl8w|ejg*;Wa~`A9QH>5o+ulyN=-{Mk&2RbV4)=Kl-cCQ;icQP4rjKX$(R(>dZ9!w ztE)uQ$#@2;x)w9_58_E(u@mt`Ktjp(VZ561PQavYE0s@@2?wzo9L4@~gswF=z?DL) zID!zG&;d!GA~WQ%iCRo*!jhu+SK_V33ykh!37*w3l{qNanx+aYAtbdTtxGd;s+5{s zt|jhA9Gb5H5 zB*)pVFWaX1EBQ(G8?Dk(tn>!y+7HrcX))49qyu$pddKqYwo-OT*+$vC@o)BrMXW@zBbGV zZ#y*S^c^hnv5f6EA^bM9Kh3!k(sU~)W4X=JtH=&69aYv*PnAh>E+Cb!4T*C6lLN4( zalPYDk{Rs|m;q*h8DIu3E(T7$S$Wg$11I0mxv%-ohwtdTT^TqL59~hO zuSCv-9u5w6KkPrft@-BWt({vAbOkn^X+N>LZq@GAKub+?;F=T5y-g<@4$L_-tERrL zu4ZbWcG1K$;}(ss8?|U;pmMMRVAMM0k6*{%|CO;?tM%LUUoJZvxDY((x3y0%zYwKg z_%h30!{7f8BHY~fg-6ddFaylM>&1ZV>-=H{m;q*h8DIvO0cL<1U;M1F{r&&-1ay(t?S2i{{}*{v86Gph3@`)C05iZ0Fayj0Gr$Zm1I)nxAqKwPcGG>| z#PxqgI{x4Pp{8Asri|eA{{`Wd3uOkF0cL<1U341_IF|F(GIOw0f?zzi@0%m6dM3@`)C05iZ0FasAC1NT?H`@Vn1_5WqO{>@2ABb6fEi#0m;q*h8DIvO0cL<1xVRVyKYr}KQ@H+b<@LWU#Z2J!zb&3P6EnaJ zFayj0Gr$Zm1Iz$3zzi@0%)rIPz>e|>%IQ)+wB@eKTV7+P-0E%%PL+IPJI0j!rh3wKf`x!rOd?ldenMy|w9ZrboTciZz3ctNKGc?7e` zEcN(V)^w2S(Ke3uV5V(yui|~4Hf^`%<882B?gK41)0SHq&&2EH&c_m$zK`-)iAAqp z7AUu(mvtYeGRls(zz)P$Xd8JK=D|&&L9u&R6o3j8+>ZeX8g1#35yRzyc*Rjfzuq%F5AZzJev zCOJS#B@jCsw2#HzzSrByI9{@uyV@UPale z@#?j*i)nkjXS=Ufcm*K9Vydq~F4wnV37VNTAUJJPbh*>!&3SCI8ZYYHPi)A}Cac$g zPr#0|zOWTdkxiD{vddlDX*+pp%P4BH1R?1V$hG{G+m-c>A(Gf?ea~|@W*x+=ayxfv zkg}W9)5U2=gPCu#=jp~AS`9aK;`ImdkcyY~TaTs6jos_f{0e~@A-S$Yl@;q5C6Xa& zGsCftkqwg`xfa{KkE+)k+vG#5q;+b}I%9-+=uwc!Eomo^CrbsEw^mw)@%R6&x$FP)f&O=LO)dZa|97HkZYDFp3@`)C05iZ0Fayj0Gr$Zm1OK-e zc+cCC4}7Q82S?NE|B_OG$;nr!k+V>$(|za8%>g`1ukzmmlz@`{rvE9S^p{HX?}oqX z40RzGkLF0EKM_cT`XieIJHo;3E#cVaz0qLyG=zF`zR2Pv7D$~tcMdYOSM8SH0RBY> zC%+Vasa5J_U_7>O@7f#RxZ~DfcOnkiO4Gpl!vlShmj1}jP;WMk>aZf`PtM7iJq%E` zo`M)G88U0@FA9tRVd7*Ioyn)I*=i#g51W9xf??z^*pru?a{^7rY$LkqSn5!ntu}!1 zunooxq%mW|6-o*8WWMR-xWP9aAU`WDU_5LBSsjc7V}V3}Y~`LrFcL?TZwo|v!olnN z!bYNU@L?b9fifLf`mc`9-1jIMiCP54!zR9s1BvKBVr_75293Fw4QRdWdzKn9fz-ZY zFWUgdqi`>a1p|rT=1^box?n7{GZgG;4Mcjwp-AthV3^!Qd{-!%ZBPcP$=oZ-o%g@y zVNkR6r2C&!be28S%<5i^)fXJG+62a$8oVj|{2&QS6_q0S{ zi=DeQcE0b39UmBvBJ3mrE&YAbSTHU-<;p$L0QF8AT#aM9>+_u94Sg zjB`GoFSKQ91#qnjgu=ldvdYc?Ngjv`%HBy7!Mm@q)(IhGV`)RGqPy{yP$dMs&_%_8QDzraxfk?Kxxiu04I#t z@iqkdOtzil6ugDzux4kW8PLq4OAVcqEK)#35u8FGoUTL+XJker$^kT^(4^H&oes!2 zWnE9IN^KUNkB~dAsztbf?e%d9b*0{yns@(#TF0t>%PqqCE{{Fv%fBz?ADkhZ1 z^_hP_6wAx$%m6dM3@`)C05iZ0Fayj0Gr$Zm1I)n1!a(fc?;rmzKL7uvM=uscjDs0q z2ABb6fEi#0m;q*h8DIvO0cL<1U<|7|J8&Fg<#JaHywfEi#0m;q*h z8DIvO0cL<1UsY~C9UX3s;YC+CYSX%@cK z>ArL4<^UE?uZr0Ulz>Qo)BluE`b!eT@E3x)6pTlV!`fE9N|)dR!HUwL{eg^ zPe(o7?+kJj51So zI*e-5dHRZEECSun#C0` z0?gJqih5LjL<_)p*g(`Czpg)wnlhVi4mp>*kQ{d&aum~f`ikT%2IFA^%F1|mAR6px z3CB7Du|%9ok{udS=gyr2&}*uCyZi?5BXe((C#_#J;9!>p>R)kAZEwkEd?}X9iomxH)Z|1;jcP>7$^rgY&qd8ojc+AMSFVza$5Qa zA_;1wl_S1Nph=s1Q(=>yuU-bm!vRG)P$Qrm!@jx%4clx*g?s&cbvYOhM}WG+187z) z{o#SWNPYt!)C~N`W@rZUF?>M-UjfFWn1P2w-J!&WfxaEV*v3e(Bi7%YZHbYwoKd~m zxs^8#Lzb;a8`V)y1;JRFy4fkbN8{`#jySstj7Jg95<%${kg8}fme||YA5UbPl9#ep z=ael}jj*n=a8L!Y*kbIk##qV`V@4;s6pAtyiv+?tV>Z}Y?VK$;ZZr|hgTs<3n#<<+ ziFO73gn2Ie>itAsP%VM(UBULAU?dUR84AYon%3GvGh0iw;+WF}#v`i~y*K8?wQ=Xp zcrd?zUteg7Yo5wbqh1}HB2(Rsg{HdJGw%6C=X5LgnYtXT%e!|HXU}0&%Vzsra$f$_a1YL|9rDs+&tbb{^{o~v22T59Np{| zV@uuQ{-<2xl^Jdkd8bRH&bY)4yItZtewSz;atSz83Xui7U;GjN{_n9|O_^28-`&ae z!)Ec!3NyeAFayj0Gr$Zm1Iz$3zzi@0%m6cRu`}@UjKLRwjO+i|y#BYPDi5#!ZSlmJ zm;q*h8DIvO0cL<1UGi++k-w&m;J5 zBRC_mzTJfY)nJAN^_V}3?}J#iPJk>u>Y0ha>I*e?CMGsXp0LrfUBnrF+DGSPfl+L0 z9f28zb%hFnsg@b`K$1t>;q~I$8ND zkrdL$C@i}{_9MyeVZi2bM0`ikIjJz!^RDKPXkB&|%Rco_Wo-{IPSjRjK zSh^(tJj)-8&m8!t1M?RA_y zxsUqTAQqeUMe?N9NZDxVa?)z2nkHbfy%9+F5a-e0Z1qyx=)kCI1>^iIk)3NMzU5!? z(uI^EAxP?^PG#fKFA{muuB9s*#BW(|S&L2UE=1yF%n+31%j$J4<~kjL2)hT-EccUo zwNX+c9Za*Rdtq6CG*wM|WwK#1i}dN0n7x243}-bBK-vb;RF0)>lU`F(ceZ_{GNDlW zDrAN>#8Hn|OQUNe;5w>YuH2Y)mT?G{9!VP=Wan(6%bPq;U~>w(oVT8}a*I%Ic5_u&ZmynNJXEH|K+o2!u;OxUhXG>)V@%s4zXs}pOhMHJE+WM7h_ znbfUriUk^8i&;(9Oq`FE7z#Chf~;81VYC56c4w`})?#^5chZ4N6MYr7Q7h}v#(XmI zbRCjf$%3R>pV<{?qE$bcgeCVDYMzqB3}$Bv@}$|BmdKM?Z)SF;!kC=v?8-4|jwDTX zDUHBd{HD7S*+gyHTA*=O(>f;{mS#pT-R;SmrC*bMRCa8g60MYj z=+m%F%IwB6W@;7WjDnO@iAk54@QlK9a}9G0DqFU5KV38eGtABhc%-Z>t5WIyvMUeC z-jVe5u}Wq%u8gcR+RBtER-3LAt+eCUCx5l*mw}f$e^K-Ez`xb~r1M8L|Em1p;qNNn z>iqh{Umg5%-IpGI{^jSCXHR@K@R`m}pE$nzBZ0@yJaXdUx}k^PKlr|ycfI_;;C*NA zJ^jY!djfaAyf<~n>4DSz-d&4!p6MCvJ`gx_)0r)2HrA~<-4IuKwj2r|Wi4t(&}PQr(0=b*HBj1DYQnzwAA=<$k#L>70LIB)j2H z`d9BZSg9x^1<4YUr6kKpmXoX?=_2VSSxIsP$&nEy>9wr;waVavI6$B)uf-NX{TRljJ2N>q*WcIh*7hl5f}PE5N$w^YBN-=| zAUQztc9M6H+(U9N$va8jMRFg>yGepdHcwKJEFoD+vW#Ro$qJG#l5UcfBu9`ONwSKh zhvX=d)g)_3jwU&V^GP<4yp-euk_$;Tl3YZxiR5CEmyx`jAIWBt*OF`@*-COH$yFp*lWZf|PI3*&wItV(Tu*WX$&DmCNOqFkM6!$I zW|CV-UPp2($?HkpK=MYCH<7%V0aPpJbHeZjv#Qagqs=10-)Jc?ZcoB=?fMljL0__p$stW}x%XEjY4oBH2Z9 zGs!I^uOqpYY_! zkqndUBN-vtPclk!H^~^uILQRb0g|_qyo2N(l6y(sN%Ag|`$*nR68zicJcpzpSwgau zWEshFk`*LfB;6z{Nsb^nl4KQ056Mv^t4Y?798Gcz$+0BIksMEQ0?COaCy}frIho`X zl2b`eBRQR-E$y-U@MlwvYk7R^oKglS`-6Ufq<0KO#2T0yd@(z-FNbV(h zC&{}=?jw0ONjT+4o7X1#-sh8__kSKfKlGgMxzw}jv)*TupYwkXJ~#AP-)B>wQ9tAT zO!683Gw{sNr+uGJeM>0asXpm_GWk*eN8zJGAMt%8^@RF__le}={>S0*p<}*dsmIjEypJV6 z?Ef%)c<89_XzEe*QSYP4NBob#BSR1S9!?FZL*Aj}5&sc5GV~$ehf)uz4|yL-e$f9x z_~6h7d>=@?Uwyy#{mH}r!*F=$eZKdl9#kLnKA3#3|Gn_uq4)USlX|!MZtuI3@AAJ3 z-Zk`2-#b%->Y#TpdB}eV4h_A-_m0#9>I2>fl5h9F9o|0lHs9M)Z&lyweQWZd{~#P3 zy5Dzy>OS>8?|sR)_}>C=8G5tt&8d6Ud%gE2-{gN2ylLo-zBi`sQSb5IlRV%*00)Lt zpPG7u`UdYClKcJpVgJzGzPnTV)P3H4$-De_!Cgal`tD5aRrh-LCinRFz@DKye0QX7 zS8w;;o*eKGz`#(#mq^9cxHq1R`C||p+U?t&imFj>G}-U(hyJ06FOuq0`@DV0us;mp zq1$}7rEXPk_1>Bc`9lyI+U47o>Q#Hay~&;aov?E#=nJNL)E;k7vfJMc-9tNkJ5m8P z;0+}Gen0q!w)?iHZc%UX-jdwr-v--;ZuZ@rx=FpsdsFg8|BZ0t&<(yDQrD~3d#_J! z^>2l(L)ZDPOKnlNc()`s`!~bpp)OxnYLmLjyD8b}?}W~w4qr!Vqq@<%F}cCN0X7V+ z_pMK@Q`dRdCD;1b!rGxVzBQ?KwcXpEZ1cB4+t6y?>eMQAm3LKgrGF)?9BTEordre% zZ%gu8|Fv-KP_wT&+<-W^Pm#LR|FH0`=QL@pGJKGH{ z^es#+P#1U?Bro;j=5j*~zJ}C%b-s6ga-JVIR~wq^o12=W&hgGk&i2oS*+a8@vr_eH zy|+GjiT@I~WN4;uW@?5y!#g8c=dXjhA+OJynyyawPEStrPlIVgQ+-oYQ`9NmDapzH z$uN1S)>oUFq)zfqN>21ogo#5Fd=paR)$!i($#MR1Fm7n9Z)|FeI>tLDIodxOMi15a zYEso|wYNGs%0CK54S9T?RFzugtxAsckA#s!BYY!Lm1?E8GU@ia!9C>ixl$Esg|{ME z?k|V(p)y}ts#GoYmL^O5xc|nG@QIY7DqbZCegJrJ`RvF4t<(p{)4%_h;64wN8-Ir> zfcp|S*&(4llHU2kus4?~xBbi6BH?<0Tcwmx@mZm7m122=tlFTW9T*NLuvYE~bSGAZ zgMGMLN=rBpk8cR{1*vMQeI;%z!7ZrFTU`|1f~rAn1>@laUe`c08Vknbn}TuN^hs{3 zxH1;&&u-~r-j3s8Z99&inK5R`G=Ea7RO|N~t~l4m?q-@77zSrue{Tpkz|_tgaG6c~!wbJ_cmKm zc;Bhj!ALL`zzr7T?YQe>C=d?a8ML#9-%jV2UVL}6Vqh!{-ptt(8fU+7#F=rM%!VSI zh5L5|!r{GL-MG7%$;NXwfD1XNXnN5dJ69X)w#CTDG)DfPBSvy};*p;VI?DDwZCkok z{jp%EH?lUkH|xZVJ|KsmuycMcRn4%n^=Mmi6+~jm77fceup$bMd&1;{3Xgl27WLr; zVGY}S(QMKuGzGroNP)(!u&yYgz({l;(He|*$3jtb23c0~YHzo5?aeE?L05ZT82MF~ zH-RYYVFtOzM1Z3 zb^)K&l=n+V$}?|`STR;_KN|K2`rg{y7t z3a}LbRe#9vaKH!vcA8|?@ zpLR+=UF4MNH#wz4@cVxkmO7<}ev&W!v%x9d2FH)CbV@aMIHdzSozl!t(aJkQBxBYQ&?Hlm?zoPE{wK@7n zIi{*jIPrALpRj`C2*`q4wKN;XDLQU8uDA5ZxD}`X5g-C*ErG=S)mdu@DNY2401+Sp zM1Tko0U~hL5_ouUblERq|Nk*{|9{pR@-``+pTYhA+oUozLj;Hb5g-CYfCvx)B0vO) z01+SpM1WnMTX@s2VE_LJ?f+Bi4KCXMr^Ja05dk7V1c(3;AOb{y2oM1xKm>@unML4* z_USkM8utIgwEs`ZF@?1MPl*#1A_7E!2oM1xKm>>Y5g-CYfCvzQGmF48f4lUiH(~$( z4DJ6@a!e8J|5M^bg@^zVAOb{y2oM1xKm>>Y5g-CY;LIX$@(VZI^c&d!zd-x{lpHge z_WvnyqC!M~2oM1xKm>>Y5g-CYfCvx)B5-CAc(s1*O}~Zx{|{;ZpORzFq5XeKoTv~H zAOb{y2oM1xKm>>Y5g-CYfC!vf1m3&Pchm1+|Nk28|5I|zG}`~C#EA+K0U|&IhyW2F z0z`la5CI}U1c<HI4Ge>H{`SRHGIC&bG*{mKuF98#KyEXj#*!Fd?0P1&yv^#t;XP z3ZtfoFC1AB==57E)t>`Ow9c9d+Ht0Tr z-x&L^Ls+#&EFd7W@B{phr0va5&yO|{_bG=&VYewA8fFaB1HSf5C@Ftrpo-C9o~7I+tvw*GCt_Y4`&0i#3@2Ume}pM)`0AK zW(@YUs_$;~h5Xx=w1;83g>ix(>|u!`@|$8r{=u{}Vfis17?G=)F(e(4Vj%jP10DW# z{%~M>z`w1|*V)z{=xkf#M{vQ;?pp()xOu!qv(fM`_DAUrV|0zTBSwRL^-M=@BG(rM z*FW0gnmD5*<=WKMzN`}{`j-H}NZ1$XjKpoTWcVrj49B18lB<#uukQ$6r)=@6WyUZb zua&`V{`MPo1lqUx!?vyupRrGEfnwARz9p=KfZDhUnX*eXs%#Kt#~`)LeZ2=6YFuRTLwJo zfMr19YED}QjJeKYf-+Z`&y2yATI+o6JFJ%_PbC|j=F5_~vW7h zn+1##yOYK!ksX%;jEu{-tH;i?$y^8PBY$UvYsOg3YSUHHe~5nmR-$5D0n-RpNr_q| z>F4<$&6C2NPU#mbozg0|Q~E-WQ<@3K-7{R$>n}N_nrmFr{sT@a|2IzQwl|&9_wRQ~ z*TC_S=Uvi&e$yo_ea0yr-sY61{J<$GOPtc1_c*0SIKJ5BlrHuv(^2-sp^y%Bal6^YRtAUmPsc>fCvx)B0vO)01+SpM1Tko0U|&I&QJo6w+;OC z53v6)qy2wM9&*wCKP667hzJk?B0vO)01+SpM1Tko0U|&I&MX48-`)SyKf?ZhF75wQ za!euZ|5M^bg@^zVAOb{y2oM1xKm>>Y5g-CY;LIZMxwn@8q`2VB zM1li841`y6Ve!hnP`Dq&MR@@UUb@#Bl?UZs2q-rSLHzB3mIh<`pn!hRte;oQfocn* z@O2Op$59|r`P3d03zU^eBhgE)GYp72?ul zIicvRa^3*if~3J3uoeMTb32i3wR`}|ShvWDT4xtPD|1jGCs(FH9)=cN@VytMa-+tP zAfukupms0U#>I6jXVLkm|c!$eM#g3x|{dSPI{;AE691aa`jhu8lS#hk27uY*O?_iMyhd zJEg~9O!d~m;y&%3C&DsMF8-MDX0y5Soqb`A*jpozPbgY}$*U!a7vC_vC4PL6@a=}N~ zG|WPMaT)C4Nu`jq5ic-k7tRuRiBlo-0**aUNAG0K17k0oIZ!mUNm}?+PtFW=5+5f6 zme*3la#5a`k1Vf?XfGNj+=ojJ-0Z-7#O=-oDVHQ`CI<@CKqb63z?O4z>4GI;||kWnTYNR;D(tOW`B6hYc0 zIKyg7mVUlSK|6c7yaFgN+e+a=Y%IPAi0>4|q&WamgxPK^D6S?bOLQb{je_5_g8K86 zD;1yW`@^Z zIki)&CJhxIDe%JE@rJVhSb1J<4ZFEV{JTUxywIRmd6j?3gZL=EuLxd-#y^g%IokWY zFi*jE^90~z8@w9Ak##BLEx>ZT9=;hNUhgtPz5lD$^YeOh4fXzPs5j40@2_gT?Yv&4 zq2AvO^{Nc@{#UKn#_P>D)EhO_TcEGE#{qBXdJqh{mDfYlDly`=XF*;YdwJOl7LtUMJ71)8`#M*C4ZAFZ1YhL*7z-o-#viFUVysGsryO zQ12!~y$jWPAzp8VzMkTNJmlHM^H%Efj+Pl@uF}gqT5iZ|)aNO))%L<%<{G_B4KnN1dhg}+ZZ*_fYN!{`*E_n*kaxR2PgxFm$n!2PvqLXaS*fY^%P$3y@q;Q4E65P*E{Mne^u%X_)hI*gS*E{-tL*BpW^OXA`5B2QlGXK>ebGM=1rwsKz zq}KZoulIK!!H`+}j~zp3>e=k>m5sCURv?@NYy|E|_M!0Ua*Q15ewde0f^eO|5i1h4ls zL%nAW^+pW!zNFTJSGvJk`0IvxUoq7ChQ8jOuRV4Nx?-fJ6 zSJZlkc)jl%>V4l(@BbL;{XngEnAiIcL%kmw>iy7A@5gGrf9LgnY^e8BL%p9E>b|Q11=3-ZQ-32}8YK8S4F~q28Nnz0dP{ zZ)o+fQ;qjI_#KDzARG}mHo$Q$95dm_hU3kb9n#Bi9D?KHaNG&UEpXJpaWNeEaQyz; z4(Sy*J_pCYz|jLo3mkQD%z>j2j*~Arq#wZXEF7PPLxE!(91U<(z)=jxpI&rGKZfHg zaO{EOJ~(cLV+9wJgrgmfMmQG0F%6D?e9IvnhvO(5kHhg{ zI6`nV!*LZH=fT0?c;k78^a30Q;dl^^2pk*WxE79?aAd>r<~PB9I1a(_aX9XT;}$q- z;J6r$d^mo86zqrNb8!3%96fNfz)=Us95@Q$IQb2*AC70?_%s{}9NXY%fTIGAVmSWv zb+8|fufVYfj{D%a6^<2fRKhU@j=vlM`{5XYV;>wJgrgmfMmQG0F%6D?jDY=c9EIa? zI6e$V2##hru7cw{I2atCy7Sea{x{tJzd`^1|KoL*|Bv&h!2deH=%No1AOb{y2oM1x zKm>>Y5g-CYfCvzQvx>mQ{=fb7E!h8uX#by*-=@?4KP667hzJk?B0vO)01+SpM1Tko z0U|&I&MX2YUwZE?f6A_5$VEVv#1Jmt?^Nk9Iq`jTKr2mBhM`t$1X- zcJq$bCA8mhhvzcJew2w(S`zmABK~o-dKPtp9$@%rS``{n)i0ox@z+S_kNvI9B$QV8 zJKG|7OS$+h^2FaU{!%vR12;7pKAJwohE(+n=(7;+qtpjGeW@t|zm2{EenOjzGwa@P zFJBhRO=wzEX-Yym{|YKy#f-tWN=t(6J32azO6h(h^{ct?8>x89r~ae;Myft7b`DA< z{1K!BPMz!{ucXB#ILvF zb4V$E;MZFd`+1UIZ}o5C(-!dA9%zemHFDC;PT#OUXU-a!(ro!n`?KXN zWgatz)bv@kqhn3*j)X3xL-Q?(6^xlEi};TwznM6H3STPes6t5myvd!REA*%j+m ziB9{aaN1vNInCC@y`iJM&KL1v$B(NW(0v9-?*PhCk);*Fhz4&UrRP|w}GUoj^Vv>m-hEE#6ZbkLN0U?P ztaeJja5$v~pHq64Ii-tQoD!QUv1PThHvM1t|NqD7|Nr^88ZUCf%SKF>dgE23d?G*u zhyW2F0z`la5CI}U1c(3;AOi0of$v;Vzv+Kq|9^z`|0#Jvru~0PoTv~HAOb{y2oM1x zKm>>Y5g-CYfC!vf1aAMhchjF?|Nj#0|5I{IG420T;zWgr01+SpM1Tko0U|&IhyW2F z0z}}jTNfI2@a2Dd{PPsw$@T!AQtr}8$kCh7e+aw>_4}Z;2H@u6l}b6?erO*BT2;hHyJZgjWRg!ZwTs}DrG5u8i=TB;Mrn$ML_`^Jcy;2w{i})5{1Ss zO}3PtbsSh3Fz}H+2+E?Oy&y6Qt!c<(LxHzj(o)Oj$C6;QSL?^NC^EBwE!izMxTm|b z+*zPTIRpfO0|-V0FXX7a!B_|<95GY}pl~&)vJk2a^TOGCma)}?z#Fwfcc{AY%t`D< z(@frI56nOU*ih*iq06(0_Pea=~9TbT633)#1gbqAYFbJE3qCBub#4K%ZR0 zX;68y=3~WnW z0#TIK1>*C%N2oLcy%~oU&S=s1LyFJ;MSF-X~pz2;Z z`bIvy`G`{dsTBnviJ&0RWV~o?d_4vy4MBU;q{S;Z`ITxdea4n3KE*t5ShNj8nj7#)o^Os z)OWY~LjG+_+QabLX5E|F6JMnJ8}TCDzni}4G(l4pkbBH)S(Co~7+fe`!y124Y}^Dc z((Empzq9{B-Faj5inkMcfo&31QhKrOf7ySr?mXohW(@Z9S`lmuz{^^VZ?PR6UHle{ zy@s@)O}Nq2VTQy}^~02@+WT6SdibXy9@_o*6CZ-rvZmH>AQWMZ%eU0qNypZ>Lq|tP zMiqxP@C$A=s4?cte?SLJc%P=KVJ&+g7VK#jxw`0nnma6?tP(Vx8 z{f(DU7Gtt%slgYw+xNvq%2LLI(#}Lku(Yeash74gNLW8&4nL+!`EK`;-9+V&x!HmHT;o$B5aAP@09oMu*I-_#VSzLe6Lnt3J?^ybm}``hc)^2RjlA zr`_Ju-Wx`4(Jo_#_0`?>dxIDuj<`U>I!8&4TQb3&+K|&aOMPc+7$ywZMkiUgnHM&L zeAfjz(#szylsXEFq|N_TBHao9C$n*RiS(uXLg~G~DU#lNzEJvHTd_3b;X>(+`eNy$ zWiF{|pDg_)?37yWaY`@rIi)MAoYL^|d}&f6zW?9B4(@y8%YTRa|1VVc|H+Y1F8{9yVKPhWw`=*SP1X0msDq&6>?x9yers>NH!M0n_uBJS!kewi!5QSYDUUIwJ7EY3yZ0UMk>QFYO~@Rs*suv5%XPLNTCS{a_x;c{G%wID&CB1pT$ z@F)_O9e*&P01C_&@(jhe#6oN=e%Z!n_S9!1IJW_qD23T>EGRB%f|ymovtva>S`q;w zKm>>Y5jZmljNDgs&(Ph+-go4#zV{xxGa5M(?(6CbmfSwFwejYm_0hGy=EG}z-ovYh zR#q+dEpycQ7JIMrUUj(2Q+arvZ*J|Js@b*Wr^<#diq5RP;M9z&a~xAkCij&L6`X?m z|Breq4*W0d|G)R>nPDqwK?H~Z5g-CYfCvx)B0vO)01+SpM1Tlnp1_Ctt~~Hh*#G~O z_WzlOOA?6y5g-CYfCvx)B0vO)01+SpM1TmKAq2c9mK+#`{r@j%|9^&fgw!AcM1Tko z0U|&IhyW2F0z`la5CI~Pc>?FwHXdL(E$k%i|1%GlBoYB4Km>>Y5g-CYfCvx)B0vO) z01-Gt2>fEtrUMSx|Nou#|7VCtNDU%D1c(3;AOb{y2oM1xKm>>Y5g-DYC$Nv*dO(8x zf9}4_%O;6LfCvx)B0vO)01+SpM1Tko0U|&Ih`^aa;5#?3RI*_Ie{RD5KlU5>Y5g-CYfCvx)B0vOe5_k~GJJ|;hWW)ad;)MObO;J>w z2oM1xKm>>Y5g-CYfCvx)B0vO)01-HY3HWk{7UsbIf4hGFU%ZKxoLtJaE<9et>REPu zm)tLV7OFx+CJoP>#bH9{c9 z3)#>bFHnMQpf3F&$OSq!fW}@q#50Q_b4vr14XJ86_G|>>^Fdn)(n3%itBx@#uMSeN zp2Srtg%Ukrom1}NVxfAkypR`4Uq}|HGRq0dRzpju0XhJYOVE;+e{X^1v7?nJdo^v-ZODmQBD;{hFmvq26Ig()jyD0Me8tunj3>|y ztGj1e&G3@@5K|} z82Z}K7f(Iwea3gl^OWO2?Pq)+cRVok{@T0t1Z&$I8){cO8u}JH7WU2cmGw<~rRa!! zs_=v>>a5K_oXc3dv*p{lu>Y^t@Bd-vAG`m5&wCi$|Ia>l2LBrdsYV2d01+SpM1Tko z0U|&IhyW2F0z`laSQEhe|KIz^#}4Gd{(o`8{@=P5>Y5g-CYfCvx)B0vO) z01+SpXB&Z<)&G7VANKz@(f>Y5g-CYAY}r1pMCCt z6ZZdWY5$)xGb%^~hyW2F0z`la5CI}U1c(3;AOb|-Y$Nc(Ip03ug8jdb_Wx&_>quWB zKm>>Y5g-CYfCvx)B0vO)01+SpDHHf*)fXQt$f;rXsQdq{Y{n)%_!nN^zhzldS9?`u zrFVyahrfQOzcaEb7zu0-wE7}}U?*!_zNNn1-vP~>5URKLXj z#NIg=OG!M5mrxdC-Yhtj(b2_kF_y2EEf^dfRZqwHGpc@=a*47QUd{0=_8*|o;s z5sdho{NbH}R{srw&TWCtHY)}bE{nRW){TrR4oS78V2^rY@ux6H_v%JbMzt=$o{5Fi zVjUY1?KxOhOgYWpTTY|DAGPoAa%CmsLD|7XFelO-+!1c|FAeVWhdYB|YhR~X4l$Ye zSRINniU}uf6CVqUeC(-M$f!l{ly8Ua`_`k>!*6y#Py$SZWF#7c!S?a|nsON{e?Fez zz=W@|i9dxE8`)#AkP$21DL+1G-;XnuC5#7UI}^c-0M5q#aP5w5frynGZ5FX|;=u&3 zC44P1aiTC`J$p13GGIb77q*{9U?PlTe^bccI_~m9=g*0ixAOF% z1lJ~fEiv)5u(XRk7YnD=(s!y4JZ--ZT%;^zJSgo<1Zy&@L%6K$PCk%r6|!>i=MsFH z@O6@ji-jSZ*l;Xl$dGr+nP0H)%=45*j0fdrCV~|MSRp5KV+z?;u6s7YR|#Jyo48J> zy_&rq3lmV=%v~Q=mC)v2TmZ)pZ9%NmV6ph(7{4*r0EgJtC^b($@x=8!kw;>SgQpwg ziEtKA_gSQOtLd|_bi(%N%l6$a79-;=shW0mboe9TKvD7A`E5{+e4Xb#5z^7L*rD4_)Mzwmn)b?LF?66i;L)d18&&= z-$ncXv&d_tDiI(8M1Tko0U|&IhyW2F0z`la5CMAxa^CaS0U7rHAE5oeJ#bW-2oM1x zKm>>Y5g-CYfCvx)B0vO)z*$7#`ERl(ieUf$5bgiZBCnCEM1Tko0U|&IhyW2F0z`la z5CI}U1ndzgzx>$ZV%YybuiyXg*}#fVZsCH8Ms9(ZX-V~6vPW)!!wW}99)KXpPE5(G zldI*ZyjyN?Pj_dzv*cdL>4*Gke)K@;sO*v}L|q4b7zpc?7ed9%iOf~jv&w#G)5}{Q zmKTEXVQ5#hKL8p@kPDipt3m3*vk$Fh)jiO*M=q5Ip=D3{ZH^U_3)1K92Du(Q(vxhg zUIH$TO9Z)l;XogUfFAm>3=S9Y!*k#{!8TKDKswaO<^enKC~Dz>UgQCmd$}$i=zHkR zQXZG5r;#1u*`Q5z6f{A9qG!wD969xKO8x0;FrLs{X!-hHXst(X$V@AGVfombaC}NI zmT}ycfrTOXJ|SO^ComsewE6QV6x~-UrDMoICFirIXu|Y0B1bt9k93?>D zfi&p)>9(1w=wj#*mBY}UXc4bsE^%>8w`FT#E}Tqa3xo9J8><(B#47>RFb?1e3N(mu zf%_MO->o~N?L|sVbFHDI;`3p_G7qQPYFIkq#XMt6l~jbv=qbFEdgOiSVbxb=EnYTn zAN2En=vfW$SAxmBTB&znE+5=CZ$I?u3C|H`LL{(fjt7>q5_CJ9_YBJ)ZWk^7zRN{?Gs z2{b{tr7*V8@M_Qw^|O5?MtxEhJ9e*Zr?yx!p8W6VZ)<;3^=99%y58vedCQ+XzxTd= z_~+3dR(T*@@Bi)n69Sbc0z`la5CI}U1c(3;AOb{y z2oM1xKm^Wk0@pru{u7g6|9_D7|7W>Y5g-ET6S(ge zhwq;Z`~PPX_W!Y;sSLdbeo7mDg3_U$_#`;V)_!3!{f4O~5g-CYfCvx)B0vO)01+Sp zM1Tko0U~hP2`CPa<3VWUYdu#!F$MPjM-%q{r(FSRfCvx)B0vO)01+SpM1Tko0U|&I zhyW3I+XyIc)IBj3_W!TY{{L-bP7M(OB0vO)01+SpM1Tko0U|&IhyW3Iy9rEx>Yu@L za%$L{>i$0~o58#P|A(tF3u0w-bn#n^<*RxXd~I|zH5EtI4^u8umNFicb|yl7yT8NV z8EN)yZTD|k*3{KrRav<{7{0wd=-ak59NZCNjmx)Ws1Rza8Zt7fI3&%G5%t94&(s{o z9L7A=kWFkj7BZ!ys*Hoh9=l+5YU94eZpV~Cqb6fiOU#Dvapjf8m~H0FZ`gNcnX-)W zpahu+V;EdrSsMzq2U>lRK(KR7u-$L!&2&rYY%%!rC}voH&NcC;uw^ql5DOWzg^dVR z-foY6%f3g?Qx-8El$)6dW)!-+{T*A|cUieI#cYIPHW*(Jw5;N3Ce9OTuVzoj!UWVd zbJs1ZHrfEh0Tn+S>Ht$}uvmPs;Wx&n!6DKxUkpG@*Pnk!BxpPgv+TF+yYWJ$mhqsp zG7(I8Eb)gUf$cantp=sN5@>>%KVMdDv-neL;!mOfS~e656V~6%tJ<`>^)yba-?Q(% zlm_9FU}q%kYmHb8!c?=Zoc4-^x76erCQj1^;bjgjm^m#)wawi11GRC@UAgc*emM9! z45}I|hUxkb-rlGU!Y7}&^!j*Sd_XRbC&F1geUnA{W{dPzi}W29>F-n1XTjgZCD#A3 z-+g8&s~HcRv$2q2qu7X0!|WohbvUDE+EGy8oYrE5fe=eAHV&}nsz zNHrUMX6DdWt(}QE7nnFyyGBfQXu-sxDeE;N6wnXZuZSeps$SAT2NpjZ{9L<6V7mTu zCw$Sa5#M=vh3Pe7nZAPV8u6S(`qwPdk65IC1JWyF0C=JJg~(9HP z#nO@$Yo0har-l7&pNVivA_7E!2oM1xKm>>Y5g-CYfCvx)B0vP*6$DQGrsen3VE_N? zg#CZ)-!VtT`~S56t$J4&O-2v_B0vO)01+SpM1Tko0U|&IhyW4z|A+wIAosx+{g+OM z{r`oJ=?o8TU`59_@&wn&Ev%m9*LTStxd9F@93goCf+RaJC9h7dmZS1+xxqc%o#oDw z%iuefESLM`9(hpib-;&#fL?ha6rPxv5@kKB90d6dpn*r;4{d zM-HWD9X4RU85vm56V(=SU7`^8gLV+7r$;hjS-@hR7p%peggqE}V4oV(!!yq(GtCww zuU^o)pId-dfXBcRms}z2NRQh1BJ*$*_CtGK-ukeN{u+jMMf(Gwk;Hphnxmr^1f(iF z2mA=S^g!#_e+QweCtbVE#N=T=+091>jF9vs8>>%3zr~V3YwY1Tr-r}^^dionF5Vlt zM<>{3iVb8PYGm_(9rzTr@IXHjqYriQz+5k;5{%2!)5wnS9MGmZ3YwrlvHfy5=Q9DP zl;(VZ8jL424_dyy7h3C)8`8H^--=$C6MGYmP@Hjb;Q=;s!;o!OL`PT1?NG`nJc4D}q)Q@&Ph2>2VPSaM7>C zxepf@$Pl_AILn*vr8o*suo9Lva|5fy*&Z2ThZI9R?WGjD-AY&vwk0mH;$jOXr_0Pt zObK!uglP)r@Ih`7E^@@ROacVB;7NNS5e1Q{i7tU2Q8^6li5BrX<`S33bgi`(R)CX9 zY#EoHd}DPtNW2n24FfpO1O*zzIAO&w4_B7euv5U5CU$IGt4w&Ukc!YE1hp61_Q?Cv zvr1pt(c)$E_JRKW;MfNEE5Tek!QD=Baaqvf91rZRB=C#adFa*$yvxI6Vb`+M1m>W% zQScP53~6N%;SNi)JaA z2oM1xKm>>Y5g-CYfCvx)B0vO)01-F~37iOh@6H*p|99yB{~zqg)of`L_x~?h>(#yfH_*4}8N)uX>efCvx)B0vO)01+SpM1Tko0U|&Ih`>8YV2@NQopAIy zJPy47|H^{?C(eWYznrlDe+Lz$rilO%AOb{y2oM1xKm>>Y5g-CYfCvzQ3={b0Z4W>Y5g-CYfCvzQGl#$jR{Z407r_4i;)MNwj;3Ob zxc`5dLp^y;f|Km8Wnp|I8)N+aLi!K^B0vO)01+SpM1Tko0U|&IhyW2F0%sV38r}W> zcinLKi3?%>U!Ac3Kf_ceb%+2FAOb{y2oM1xKm>>Y5g-CYfCvzQ2@rVslZURGnN!17 ztNZ_~Y{n*!{FO_b1+g+Zy7(=|;FkjUr{J~GQT243Kcni0DP_ts#)A@MBGkA0JN%uI zX5ZF!|CVJteTK%3v&6JxNe5F&nX5Ra_I;E9^ z3ff2Qdxq=OAMJafTv^F@Phg(HDTAlP~1j?Py6YvG6V%b`_fqv@n(uKC}K zO?)CO^0B94A)^+V`A55AZ99!uthem@cA7Gu@t~|?BAAd^6KuB{R^w$^Iqgs8&eBq6 zn>bCVx|FStg)~$(bIk&E=v*?+(D}1{yeTaR)&zG%toe?YXGQog8cXxPb4&=Qv>+H? zTQkOQNB94`egBjyS27-yW+sA3pK5Bo)!*T>n9owlv~tlu%w40UUTWeZq409HDHhUH z*vv^i>OiO%XCS~1M$<9*-}qkVVr4nwK?ySv%=Gq$clyJ1+uEDMfwne(*a~@?#ZcE- zaKP40zjQ84ZUei_#0|onE$qoy$e=l9uF2&1aU5S`${{;Bh`A;lE>kwLjjV%xF%~R2 z)bE6y?W$lTuszV~OR_*{;@%xwIt41<_>5cn{XYt&FF#N$-8-W|TJYfl>Gj{Zr0AtZ z(tXdmq|28TNRQ8QOYa>nmS*J?O1~;El){e|NEQ2vr0<__Nyh^x+ z2~SQ7yY{i>Y5jcAZxTF`KxCr+DOKJaq_BxR? zCjvx(2oM1xKm>>Y5g-CYfCvx)A}|htB_Eg@EQ9_3nuPtotkr7~@BdrrP*2uNaFV?x z3uAva#%(zm2XZmKJrCoKe2jxmjJsSI-%)_^u0o9Oa$|hA)&Tt_0z`la5CI}U1c(3; zAOb{y2oM1xKm;aEU{6kM&WY^4Y)|%)EMJx*Ye=fqz5nl==--~W820~nB<%ku-Y!WX z0z`la5CI}U1c(3;AOb{y2oM1xKm^Vd0{xSpm{gwA$hy`2zxLi9{Qv*>;o#@+N{JfO zJ9cjXet}OTyiY^CQbVaJU-r;-A{Art);T;|iBaqmPhTHP!;^UW7K?PhMS7b>dcY$6 zc8l~5i}avHdY47|9Tw@kEYk0?NT=H*3}EOB5g-CYfCvx)B0vO)01+SpM1TmSN#Of~ zWgnge|NsBE{{R15*0ITZHgJiBEnZg7r1~z|BR9a|g(D;nK#*i7rsUPh)pAtcEjPG5 z?ku?!(nX#GsU8S>)fyqW2Xd@chLHJt^3PeE_4`?Vf^~n91&@kO*3zhXY@p}NUBoBgF17HLI27?B`Sc#iE zke)HA2+cjY&Zeqft|a=QoRd$Jw7D1=I&KB_)l%?hPx{82i6}hO#O7)Jx}5i>L1-l- zJtsb3#uF@q77GXDVcuUe+;(!YxzKV2j$;`A>2xT4RTs#b5AMeynK6iJ1LKO7Z4R$8 zK5uw3L;5ff8HGDk`9@0qAqR z++_pM8cs6}nd$xZgiFYQ+l%8n9h;4nvr(QGrb?VLVdfVePDie}kX(>I53ev$^;)A2 zv-Dc95|oct^g;{$U_~`Q@G^k?B?P|0v^1}~sR_-6UUL0jXuknk^rU0k*mjKKTxcOq z7-`Nw`l^K>t8x(iosOnr*3v5TnK*IfARPy%<0UQxNCp5&e|k+t!Ea-Q6vCorUJpp_ z1sJDcArl44sSB4-n_*Za;xZ9e9k|pJ(Tk)z@j7B<+YU#-)mGi3NVq7B0!J@iv#_!rAINF6Bn@ zffV!?TySS(0h8RMY#50ZgV0i%i+X+4LeP9ZtSxb6jQa==oNIfZ3C!wh6DbIGVJF)U zeIHi<8AO-bmC$6tA<l^#rX0(jOXWLe5DiPPilhbFA*RDM1Tko0U|&IhyW2F0z`la z5CI}^`U%W5eg41U&GIMb!2bU;3H$%kuMf3A1c(3;AOb{y2oM1xKm>>Y5g-CYfC#)@ z1lBFS`Qw+s^Z);+V&dV>GKL3BN!Jzna z{xdAnFSJN6vq+z9k$#y)`sEhs^DWY^v`DAh8w_CR3lSg!M1Tko0U|&IhyW2F0z`la zoS_8vZ+xxfQuzP>0}22C?~ds!e*bT}gNc*#B{<3UWMN#MjqxQp7|+ecxGE3hEAlbE z+KKUXE{vNBFuu1C<0oUH>4XRn0U|&IhyW2F0z`la5CI}U1c(3;$QXf|B)|XH(zf== z%V7Wi?S%b*#u_IDY{r}%exc?vj z|37{>___A`fAM<*g!)(Me*f<$yB{&V|9`r{()j)V=Ub$EEYiy@(l4<{pKFm`Ws!b` zMf%ki={jSfMBJ_>i}Lqcq|;3i1~Bx62oM1xKm>>Y5g-CYfCvx)B0vN(OrY$0Tc4Z@ z|Ns9(`v3n7lO=IPfCvx)B0vO)01+SpM1Tko0U|&I&Kv^&anE-a&C97_e^&SZS=o$D z9{DR*a2CYM=;-3N7|T~RF3cJoO-=bx^~03Ql#PrB<$fkYeY?NI-x+E4ZEg2&S=Q9m zesyJ&KfKc)uHOmCtAdfh_CTvI5(sv(#^qa1TWJ$R#A^&qGGa;b65>Dm%^>C3hjhMj z9pgdS%tSCVJJ8nYi|h#dt+1q=kLIYFkBlk~Nj0xf^K;Bx59`;k!}W$8f%eF<&gNYq^WkbI zAC))j3B?9$$9$9ar!bBLO zeSJ6_46pQecl+AR!P_f<2AH9rqFHACcfJXFp?nh?jD-m*&qhS!2KcHz+JH2w7oQ1@ z>G5yz5@N8KIqqEhjyq3T#CT9{W+IHST`U3C1l!HsmU=cCW9G7HaVyQvt}t<#P=>aJulc__nIDvUbO|K%}-67t%|^!5tw}-%g~Q zm2YRp{b+V}ReHXikftL-k+*xQEVJ+1x!M*$d4P#9rk5K@G===F$#+bdERP(`X4i`a zV5|6Q6Q2u9yV!HFa9S-r?c@7UlPQ@wR!l_tH6~;(QkJr%Y!e%f1s$0MAI+62pOU50 ze=CuiFLO(?4i-yyUgDN+dZJj$xwAm}$_oY3iXRq8&Tkb-KiF3wedLz~(og=~CEb@b zRVp7UkX{=qlHMqW)p(68y?SH#$;)$E*z1oaSCVpx01+SpM1Tko0U|&IhyW2F0z`la z5P`Fo!1}fm&sD9kH5ubar(pcpRE&qu!T7+r7(YD?<7cL0{Do4Czc>TqFQ13;H_ylTTNhyb;)NK0 zTQi3K5&>Y5jYzOv=llDhYD&7PPqD99@i14&*^Xu<=5t) z$m`4VWN+C$_x++yI9c zj*vV6L6V)Al2<2J%Tal^+~D@Ovt$?K_d{;ATn2{=N)5;!2YeWa=#>{j@rep5P}bX2 zsRG(`$qV7=0p+8hQa>nGjfSMB+IRx9U)f+&#RgCb*$&7Rpk!%!YMBWso~SC|HHq^Q z>VbPRqMU`;+_co~1qFLRqUd|W=__a^$a!*|O=tFiD|_WZ?D}#k?{y9E%`1n}Q!KeS zCydZ}*sn#ecBR{=$BJ;aG_ys#S4LsbNOC!t6Xld$>iAB(GZ-36sfhwGv!ayGCphy+ zpb5e)g*gZfuLkWLq~+v94N_~Q1RP{%a!zc; z3)uSk&_RG90N4Ov@$XMUF#w7otcJ`C6nnz65E(~< zQ$ad-jFodxo|j*f(EUiKX1-n)V ze5HO*r_I!a=Gp8}W2No|7vM_MlNlwA;tCKCPE2XebNZ@okX6ao$LVN_lH!#;?&(v{(pmh|DPEJ zNeU4l0z`la5CI}U1c(3;AOb{y2oM1xaE1^ln0jAP3_|axosv!+0nk>Y5g-CYfCvx)B0vO)01+Spr<=fMtNW&33HSd;)cwD9|3Ci!fBbOp zbM5~B*u4R&azBQ@+Wr4mf8=%3`~Qt~;`fIyG8h<7Uu}{8utoZSMfxKa>4O&OLl)_D zGlKyPeIWuwfCvx)B0vO)01+SpM1TkofwPRj@P|qdUIqXEe=q(2|5@faQkMu20U|&I zhyW2F0z`la5CI}U1c*TD1Uh~<>)_R}|NjW>|5JxXC5ZqLAOb{y2oM1xKm>>Y5g-CY zfC!vr1m-WFfAAXE{}0gq|19$ysY?Wi01+SpM1Tko0U|&IhyW2F0z@En0$06JRk|pr zhJ8WZ|7T@0Hi`X>3z!A5GCI2WEynUyiG{OAM^h6%s(zSqk+PKWptLg)>f8Mt{?16V zZ)>}M%d)1f_WC;`{?2XwZH?hz$RCdEVvWnUWT+5oJCR1%h_Khe;y+v{M!Safe4&+ zn*`ot|H6~vM`S{FWlyjq~dwoCDCj%e^;9D&?Q}G;%{M>pB;{c zjNA22d3nBlFHckEGai&xOoTBsuCBZ>(C#;N>-bq#j$5GflF8}yCXN%TE@dB!g)~%s zr(AQTeb`{NbJc@QPqtpwrY#>6Wtc-Bl(I(ilSO zT5IB3VN@&oY%FBhsCUZ2i|so&g=^;3V#TyH6%X^ZRoW%3d|YGVSY6T$CO%H#nmJLs z-YG9HvG3)ShB5bD^RAG8ykR_%f>tipb`(0d>Q9%LxHzR@JRx02gbHRmpNuShTbi{c zqG5}<)V_n~Dw`P($^%S>Y5g-CY zfCvx)B0vO)01>Y5g-C4 z1VRsOI(R+o|G!H6e-k>CL)VBvqa9b63i{}*Zh z|L$-oSwRGd01+SpM1Tko0U|&IhyW2F0z|-sz)K5X>#c$P|J3Qa%#&N#vP_6Fb#+v(xr2KaZET!DfiWguz0?wO+HmRiOoXS{_A zxO^wbpVXk!GYa}u%e|nZB=;uQFiU7?3M4I&rS2JAWL_pkp2tN_hmNpRAk7DpmwI@r zgmk0e7tuE|;I|98TsO$g^~eq2XVurxN)L3be&~lDpxXoAt7Clw`-u}v^U78|QH7Hq zgOlL~O5Nx4_Vf0vW>aD+<<)_rQBb>|cZ*o3?UffomQjV|m5SL~cJXex!9Crb<<0_= z%OT*PDd*iUW_&7=#}nfO8w_nlY~tVJz$KOHC^0gd}hm_SF9)Lt*TcICc?rn$8?gV79WJ&2z!%?1xz%FA*_^LaScTK|ji4^L=_$(rd=~ z$_7@46!6N11F95s>;b(7LBG&AP+_*Q*JI3eOt<;Mlk1SKURxNV>C!V3R~{M*Akr8;Ofb*q%Qc2J$5hj7Ve+)+f7|OUQQ%%yayUamBbPx z%A3xexq&T2;@Ef5m?#8MKvy_DElc^dfOB3d;mX~ z#fEQ2n;0WlI@H8&M2F)d6W5hSFW4S-7N+q&W!{7Y2H%KKap8$NlxNoBv7)olX1wP0 z!w^V&7+YDIDAC>hE`#P`iec)9D|rKi0cc~t$`QS~KRuRs1+f-a02U>* zCl;r8k-=41niFGUt7by8aU#ZEG6Cz1)!Cu7tQz$WVPAk=!I!u&++p$s3^*MpTu{?v ziVfIr#*Mv4RKt~EDbU4>Cr(DO4WYdYV=`e9u$brN&d0Hc4#1^Ce0y*j`DCV9Ks-^+ zTRPJH9Yb0w#=wJr({w|;mn*ac-Q~mHbxHC!v6mU^#A|5e*mFV zB0vO)01+SpM1Tko0U|&IhyW2F0`D#YBVSYw-T?dm*J%I$?s6>Y5g-CYfCvzQcNc+= z=3V^#I@tgJRlol)Ud3j%tmB5}!=tO>Y5n9+D#P={{P7Qbh^QZ)j1y0y;Umf(n-8TV z6_XE-2B)qLK5vAN#^Dn=rRrmZE`E*=lBc0qDgq|~u}jSg;*+`kppo6jY@yot;tJpq z)>OeHKFt(+>WDvfX#Uiz{fBz^vq`3pYNgOjo(*&2>Z6zO$w_k)(tqTdKZ3;{>*Ad! z^(OM+dA>Ook2Qgo_@FCjZ+C#CCa@6t;T+NDy!?qN?IG1M&raEGKXsupys;qFUWqe@ z_9VC$9(BXPqP|PRu7cxw(xQ_h?3;?It34b|Ew}%LzjWA2JpXQRACGqEMj}93`GSRi{BqA)sQiHcGG!oZRvK z4Jc9Q3l~~`F$h5iuZD@%N=1-f1|}hSEQYVAFcHPAktf_zGCPVvdaHON2fjN9oo%g3 z(b&QKdTm8=4L4_@ceY$69_%!w~V(4G|f zAvy@3^+rpzS1M^sKke$Rn^j<0=v80CAwhc^lesMy3n0`1Fbm`O+k3Jx3$eoJ=03}U zgw1#<#y34^iTRK?2R$VoyT-8$T}(Xg4d*z;Drf%SeZ>|X>xscZNA7F zA}}EWCtrw;)PAk%t9@VT`cl`^RiCYWs`l|ykChCSe7bMo@F$KvSk-^(-aYRd+UW^b zwpICRnj2RhUoy1l#Qe}~rPMR|WIkh62R?JK9`^r#)9?Q$q!U#p0z`la5CI}U1c(3; zAOb{y2oM1xKm^V-0(Y;xZqJQ5HEhPP&@2ny2{?)Ujen_Z4hP!W{NehY{?17Au8_Ye zghOtM%52fs+BgzgYs!6f(ePHT^$|%NI1~C+`p^7 zvo*Xc6bS@78-3l~cLc-REbyI^pg;vV`%VY-b`QVRK`keLNSZS_G{yb8oY1p2eSKChip`tY?qLLIzAQbM4zP zPS@LaVTH1Z@u2iG5lrk~66}nGeXWs|{_bvH+qhT1Ocl3s^9Bq5s>wH*xLKGPWM7Vj z(`aTg_qUzKYxpMn?k`tXG9Hv2OoTC9>UMSdIs&arg6%sxI+M)Q6DeoqX>C5VaQJc) zPYa8D?5SADs73FTZ@1X@?Ip@uxa$mp(#J#?L*nYnrl2ph!q?fhBZYB2@v>HaZn1E% zn!Liq&%(L@dnOi6i*@gmzgzA5JGJ$=KfE*0>c1fzyxkv8+3}~Ll2upOmb@#hH0cV$ z@bT8;r^AL3p{&_@JTnvhT5X+USgN(z=o}810cL@ku;DZ8du~n6d9?}Wg-VbG*}d$0 zv0yUf>Uke>h%8H6K3ybjSUE`w{?;w6ysSj} z*c`XyKTs@ve5Wkkb$^L;Y(b&)@tk7m_YW0H&wQgq`rd;@(hIedq`MhddNPk4uRL^c zX-*4ss{8-scqo?$5CI}U1c(3;AOb{y2oM1xKm>>Y5jYzOy#C#he>TAWe`>=1Kla~j zue^uVD-8bWgFZxn2oM1xKm>>Y5g-CYfCvx)B0vO)z}ZOPK~TDty>xIH?EgIp`~S1i z9@3cz5CI}U1c(3;AOb{y2oM1xKm>>Y5ilokY0G~cyb1RI6}1012SlkvfCvx)B0vO) z01+SpM1Tko0U|&I-US3se(l7;<*@(1lJ@`a0&kKDM1Tko0U|&IhyW2F0z`la5CI}U z1k4G1{=z>TTmk$48)*M;4v12T01+SpM1Tko0U|&IhyW2F0z`laybB22dH>%Iu7v&n zD%$_Q3%p4t5CI}U1c(3;AOb{y2oM1xKm>>Y5ilq4Y-z5t3ikiE>G%J8)-!o#6R%Lj z*06e(U*9Erlf_F^pdWZx&q&Fjt+GxrRPMX&P?e{_#JuQy0BfRM3 zI<^1@>i{t6fnj6p924%sLYLGV$U-{9;3ZK72e6BG<6%?8y+AMuVISxY!#+Jt(j2^YM3)?DLS1xIDR=^> zSuwri*vin9l3pWDUcuRVLInYAIei+Qyabs6}wJYN~!3CD4eT7V2Z~>sMRu#+45E5-C z7nuj0Wj0)j2f;*Kj#Tq8la6DP2+0G)b3`YSpe1O>W~Wg*ioS9I%)%fOrzHuThjXx) zeFouM2mtm#OZ|}MvENpzLY)9_4z9m&{_E%01Dxsk62@+;$;3E;-=+J(J2;~u$5M69 z#bs0}x6`(j9yt|(4wzX@TgJJpAEyBOcAB+o6z7Ci=QQxXh|5E~;$v%K;oJbM%Q4Sx z%c%);qfdo8*sIW=eDK3xG3muN4tCp5U1$+Z1#_@ZY1+-tYx@kAA1 z|H5(Uu`fAZtpLgCJ*75lSEiMSBG7UXA7m56VbXx5*n*Z?mRrpS9WEwf`w?|{j(fNm zv_Tl1)v$dW1Ye0+$>W~xp3dzrMmey5fby{&m*!4h99I^@kP@4=V2Jm?_iElMuDoLV zR1K(kd*|`&vqn*EFaOFPj{VyEy5m*H4~LEoz2y7)(3fhT9(vOA*ojXMebO5}wY#g& zdsj_&U*}NU(B>1(L#zAh`W6jUpPExr=A9NTI+e#*MP9*Et6~3ti+=yFiKo9rfCvx) zB0vO)01+SpM1Tko0U|&Ih`_so!1~$WIM$d`!``Rv|Fg0go3!Vz+_q8tFlC_HLyM4 z53|PQTi)i1Xhogsrnbdy$CN?!OYDy$c4l=FFQF{PGPB@NMn@OF#aO;tr|@>bl+uS2 z$sqt&Ke$3#Y-fcgoe>_Fa9EvXt?lv@;P*cr^OLkw7F6>|Ez--{H5I8`CLd<=BX+ zKVykaCXN+`Y+}Q)kRe0fDQDhc--8x(GG9Hw>mreFUCT~?K1Q7Evkx|mvLO{u|R z3F|gCEtZD)V!?~$^yi-y2^uBCpuX3>_h%|g7!S&JCc+p>Yl7|mmHv*c{&4rLfsm=& z?H55S%p856YM#ZP4JM8jCah6FmtW8w$)r~)G^VS#$5asFJZlxx!=AEF92yg zC@oBcG4@wgR@Sz)h5c>5i21m+R{)JMbKVCr!}_z)#CbybCN>xg6IA}~a2#VNeqJDb z=DS7G1=kizCkl(Dnf-3*FSkvSmi?trnzp-GdTx86bZ=Xsbn@ec(iiKCrJSeT(($Yk zY3d2L^p>YY`X&PwjfL#hkIZ<=o72K>r~m)A?l+V}1c(3;AOb{y2oM1xKm>>Y5g-CY z;4CMw_Ybq5S_Aw4owWZy%RNcz69FPX1c(3;AOb{y2oM1xKm>>Y5wIq3>#7A$HNpPB zkM{r8kSK=;5CI}U1c(3;AOb{y2oM1xKm>@uSx(^A=dZYQR&EQc{G8E{IY(M~g5#AI zR_~B_oW z8Xnj3_y!&?;c*?0>v?=5kC*befyc{ud=rnC^LPc1SMqojk5}`!k;h&huil?&5Kn$K5=R@OTH0ck=iS9^c91T|9m-kMH7f50Br+V>aT0 z-tOSB#N#X;XY)9R$GJSt<8eNZoji8&xPZrnJa+R~=5Y~^i+Nna<4HW8%;PCMp338M zcziC8r}20?k4t$xgU9Fb_$|0@fAE?$m1({d=-zc=J7Q=Uc}>Td3+s@ujlb% z9@p@=md7{ncnOc|cwEop8+p8x#|=DQ#^alKyqw1?c)XIwt9ZPc$BjJp@^}r8n|R#J z8Y;zzv`njGp$Bs6S5iEf^0?Jg1i-Z0C^C3 z8}bnHF!FXJlvMIDkCc%i$WUY$G8`F!j6_BuqmePlSfmYUN5&!Jkq+b-WCC(5avX9z zasqN9G7*`COh!&ZPDV~aPDLt6CvqAx1vwp=icCYMBQuaQkTa39keSH7M?rc-2FL&z zAOmFJ6JemWH>YxP>C)~M0g)rCC!)&1Um`aWf!QLV8HyLk4hd%ab9l~QHw(b)AA zJZ{zPt<)=(N~1!nfC|rUb+^~0yA+q9Y3$4To?YrL?@oQEveVe1?SLJgo7J1W+x6|r zc4M2i4Yqlz zr$jCBuGiNq>y4YVo8TtTI(41*M*T+RMq{nUF5cp~LA}AdMqi_>F^aWfDE6#YS9@3K ztCUqnk;X2w<0(`Ny#;!KQedpqR>De8zMAhOsET*0K2@1&Owp#m6whRJvUid`Ntt9M zYsrx8Nm7%%iF%@vXiU^5!bHymb%J-iK3*AbjMK)!IL}yhtT#bVP!fzW+8A~zK8Nb? z#_RD)yb-6xL7c~~+Pya2rr3;FEf!)uF=~uAT8~zujVLV&qCAmmq&Gs3P$GpkO4A42FL&zAOmE8 z43GgbKnBPF8Tgwt@YW+Ar)~->fePRJ-+yVz9Cocp|Br`VIFjFIR{>QE-`TX(yx&U) zyX3EVX-V_>z%x2tGM_(w3xoWz|HoYF9rKruf#oj7K){nr~}HrV&7 zz2f2RZW&lkj(3gUT!c)lRMS`c3=h_4gG z%P>CB&sIUaLJ;3Ch&Kx2hXnDv1o8VYKG5^Sg7_nX_+x_j6M}fVAbv^^KP`yAD2Tr# zh`%g|zbc4-LlFP2ApW`_{sTe$M}qjz1o1A6|9yV{?R~NA&msRE*j|T#c|rUoLA+BCKP!lTLlFPAApW`_{v$#BXM*_81@SjAuB!dF z(|0jG@VM}SApW5s{#QXfEX2S4``5uA1H=g8;{@@^f_RD`K3fop&e-##gbKOu;p62zYs#7_(2FA3tEg80jV z_^X2WYl8T91@YGf@izqVp9tbV7sTHb#D6J>|5^~gAc(&!i2q&?{{Z9n4miHg59MRT zzfA{@?@KXWGGO^;!Sc5Y;&)*@en34h3YI^MagQ2klR1WeCRqMWLH&QmxH_PoIClB= zK;41}3D@2*CeeKm1|(O$NvS86X2> zfDDiUGC&5%02v?yWPl7@9|lgaW*#h`e`X7t{~zf$|Gz$ZK&>PLWPl8i0Wv@a$N(82 z17v^;QBN$ zY5kdPZ2tck&Ht~@{86jP02v?yWPl8i0Wv@a$N(8217v^<48cI*!}`tJ!&K<-&HqE# z^(Mx^pYWAwjCyx>9=nEKq_3*j`@6e`P%B%c+jj#!OWy@p^b=r~q8fLtyRN0&wY$c> zYfV{WO-^?9n!1|mIyZ(kxoTS7m8)9oDq5=R>!4)qt}FZk-XmXUjc#4SO9!z~>;wD> z@ogKs)6}Cii_39|e{$FKl5o z5FQSGAS}@90gL`+FpHI&b*(im)nzTNmcSSp+JLx%FXUFN1_=KK%^-%wpxLq^Z8bUD?{? z7VRm5Sb%rPD$$SndusiAhee{z#+N~RPZ?q3uT|n64?b~8`a-~>vwsnU#j5Y6t?pJ~ z(uVM)C|RGkPLe;m(;``BgV(}4J!O~;wn~!!Fyi03_>Ma8V34p#2UDqJh6(Z+Sz=eP^2OnupuB;sz1Oqs1+1CRBTVYLDjG6HY3vbCf`)`D>4o>!z0p1p8mmRFDuRB<4ndiW>R_;3LLgoMW)o3~X zgJ}6Xv*YB=zmAc|{xnYhT4Ib`aYLN!eIr)>%HDYS!*Mb4Ge1m_m;53|{^-jFVg(~I?f_BoeYoxGC&5%02v?yWPl8i0Wv@a$iUzR{uJ}Hv6IdJU+p*l z@A({Jw)y}6@+IG$0-4fDDiUGC&5%02v?yWMFg*ye`fCRYtf5 z553Z>zVj9E7vIB8h6~u6{mKp~3Xza9G6Wfl3`2$^Bao5EC}cD;1{sUAA??UGWIWP= z9D__ijzx|`jz>;FPDCamlaR^CNyy2_Daffv1?faiL#807BU6!S$aG`|at3lHauzZZ zIUAXUoP*3p<{)#CbCL6q^N|aX3z3VEi;+u^OOeZv%aJRPc}NwRk6ei?Ko%m4kgJfZ zk;TY0$QzJrkvAgOA#XyiN0uNc@TLU@(}Vc z@^&QXIOdTuG6Wfl3`2$^Bao5EC}cD;1{sUAA??UGWIWP=9D__ijzx|`jz>;FPDCam zlaR^CNyy2_Daffv1?faiL#807BU6!S$aG`|at3lHauzZZIUAXUoP*3p<{)#CbCL6q z^N|aX3z3VEi;+u^OOeZv%aJRPc}NwRk6ei?Ko%m4kgJfZk;TY0$QzJrkvAgOA#Xyi zN0uNc@TLU@(}Vc@l$D_^aT54U&sbz8L}L? z5xEJu8My_y6}b($9eFcy2XZHJ7g9sIkh_r;$V#Lexd&N=+>5M6?nCZJ)*x$T z1F{j>gltB(AX|~QAa6w;KpsTihCGBkjJzEQ+Ae;EgOrgW$WUY$G8`F!j6_BuqmePl zSfmYUN5&!Jkq+b-WCC(5avX9zasqN9G7*`COh!&ZPDV~aPDLt6CvqAx1vwp=icCYM zBQuaQkTa39keSHY$SmX>WHvGfnTwo@oQIr`T!37NT!dVVT!LJRT!vhZT!G9(s>pog zN@M}D5Ltv=gwx4f_EuPLt?-_*Vd-}HP#{f77J z`q!1O8?S1w!mFOYQ~%C;RzItpHD1wPfmb{)t1o-MrhiTOn$f9sLZ_!g?eLz_&nRb% zuWDa~uX=y^hY z!utjN3(6OalN!6$n&{Xk1LNGpVK}EpYuGXKIVN?e^hzYctm>y9`Sru{j9f5 zZ&TWg6B@f3x#wZ^VedowL&`(OgW7}epyvVg0q_0#{mT8uaqT!9_uQx6=e<|ISGm`? zN4p2^@q9-8jQ5y+OgU!Ut=$cGd+t*2^4_W6soZHC)sDhZkFM(8JM=r0JB%aR5jf(x zUA^6VSU;>BHV$cr;E?Aw^)~N8{h)HtIG`PX1D;#eTfMjFwxX^%}c)wx>?5^VaIMO07|&)j*ABzq;SMPv58PGpe;}sP^nt z_j;@JDy7QUqwRq`9=GcDR_c{XrBR_(K!suCYt|ddk!? z?*@H?vcV|T*wqX@C2EOxy}n*qZ``Ea1UGrssq4Hq>NhGk8f&$+u-0>fdV_b3zD8MN z6l=v$>{+d@_O8-bDXWYktq6)dg=(RtlR;Vky z%k|~Ta$}jc43>G8s!P2~^d-s?W3k4rxaV1X2ML*40VP# zL(fn$jC3s>(miQvnm1KXRZ@-V+H{!iNl{b0)AVV|G{dPm!Rb*{#XD7>s!TPeXj5Q{ zXR5?KDpaH-anogc^vG@PqruYAu4Z4v5 zGC&5%02v?yWPl8i0Wv@a$N(Am+ccp43XT`dE{22xj4?jK2i@J>peO6>TNS+M?Asq$ifY`o?z)z8*X|nkt~F(iHH)*$ z4%XGz9jt|twY!G>EMH}z*$Al4vq@vyeGhtmNj>*OcLGc3d3>2P_M>-q=Y0qe>3dD= z8P=;I-B|bW26~FV2C(St8#q`jdbzRL-Bjq_Q(fn-EI-)b7PuJRQoOysz8KxQB>UPQ z+c9`Y++hF#CAh4wFFW8;PZ_nofMGUAf{>neJ>a|N&nSN;@Z(=nSNURrSMf&x#q7sy zzOKIb!V4=fh%mFu?{)=(>|P-LUB4rIJ`k6f5`ME987~JvGSYSSohM#&_T4Tl7B;uk z)|6H3b=SHI>T7D;6)n~Eb%N0`vL$=rkE(+(leV~hK4@EIMi&jBnt`;I7<0Twp2)>tQT@F#eueLMd?J4u5-A-?UiNR`>h z0(iKm1lh>JHnDwI@D%9v;1iOqvo87ho7FtQ zUAP)49K5Rl-&h_iAGXKKzuIn-U;1gh{DZ}D^4Fus$n&;D%Wwa^UEck}SUIaIUjE*{ zM#~MUaq>UkX_H@hmpwLO<%ceem79RsQX-)IS4BJBVH$Mzd;h;@F6K4=|6iA6-jTm6 zvpXSS{icfDBv%11Eg{|L?P&fB4=WHvf&`-e$kgUTkyPLfE}% zdnPU?OY8>hg-7fQ*h0g5c|2QvmeYRR{uHa=xIKxLVz%z%Y@MmBu-Nd{a``I9ur)7o z;(B?18|;S}bL}bYCz|!0-#=_`80p%FwgS6W4)geWoy_@hw%!G3qnNd$fmvv0zqyMx zrrODtGFv%9H^W_>>}46_*=aya?X11d;aRe(Bv#!NT%_vz-bgl~+awEyaJa2WDR zBAF>RUPiGMgH;yF_K}(GEC<8%-utDotmSjr2Is^>Qv>_W50d-<#ec9B!x_%LRScnG zImlhIbT07Wya!#?y6z2a!T>6(lCdNMkj>`fDDiU zGC&5%02v?yWZ=_eU}fipGke+mKZ)l5pQf}^U&#O&AOmE843GgbKnBPF86X2>;8SKG z((zwss@eQMmFEASvdmL=$p9H317v^^=Ko7+{{Jbh|40PuEKUi+%{qQdHxvb=S3&yLQ*OcdaRFtjWpFF1m$9%G}M( z)%A7x6)lWVvUb;~FUcG4>zC23OR~RT=LhdqT^NAWcM)H|+|b!mM!&U&xlRc}dRAWO zySFdTCXH?H3H$E!Yh?eY+2g>-VZ);v-GWiMZX8kGGOQ~&MvEWHLP>D z?5(dXYj9Uo@2ReE2`3<$ zFP@M{ftB=`8eAM){jC=2hc-1RYu(*c-^wOC?h;p%tJd8jIN##Cd5cA@q~E$TT>j^q zV&&U!w9Bqqhy4Bj6C)q}Nu2zby|ME5X2i>L9*>p(XLY=M%Udz>+#kltT?sMrorQ7o zzjfN=bFxDQ-6sFa8!w;UwXmZhOoP4j{{P_Fr)S9k86X2>fDDiUGC&5%02v?yWPl7@ z#|8>MNJ^R!uEFA0`gS6{s{#Ykc@2s}WMl|36d8sLM@Aqckx|HKWDGJEX+zqPamaY2 z133nnfE5$OXuS$VJG-$R)_7$Ysdo$Q8&uq>9W(u0$3f3z0?0Rmj!IV&od+4al{~8ohJMw1a4&+YcE~JKZA$KDykd;U`au2c!xffZD z+=twctU=Zy>yY)x24o|$3E7NnLAD}qLEefyfINu24S5K87yCnKjIry>=k z6FCi;f}D;_MW!Lskr~Jt$eGAl$jn~sdlaNcWPl8i0Wv@aJ`o1$J#}iGw^pxJYK-F`@dgCVTCb-G7PF?4{ zQNK~S(O9dkg|(g=)Em5O^fk&FqgX43V$W)IwRe@iN?BzTY3!3yo`CHfL&iLqE)42wOB)J5Kf z`a)%)u|Qh@3q14H`QCZ@JY}9SSDOoSJ-KSGH%HG=a*S*(8?rrf)H&WPJxj?lW^1!y zwkK1~^v=>}DYJ~3+Dw?~nW4_`X6PA8hLNtNL%JtTP4lMesY+wpw5vRpLoX4)(y*AyZ*o;^$ z7GgayYK%8pk5;0MC@l)2JdtXoH$sn4B8+e?9KtviM{`Sgx>#WHt0qM$N(8217v^fDDiUGC&5%02v?yWPl8i0cK#<#)T7QP~a!NE8)fQPX$Eq3;x9e zOaX|21_^8czn0>o;3*c8v!}sK8A6~W1s2G#Le?cn1W1C5DWJ-bFPFr?RDhLo_H>vA zfWcILC9eh%V#h3pWR2QVMlrxX?fEP@juumoT!7$LA6 zUIz!^#COh9|ju$%0LZ+jR2c~ zUD<65uxo*M!eBeV&2T;pb^`1I2nQFyZpaRYN&q*oPfb(-?1dBIun%BA7~xP0PzM*o zp#h)~ln7`BV3&A_fLj1=1w8@|0^9~25pWpbcJM~P9qhV^5FZJ5vUbX9Bpd_y3^YW- zy#V)tClc-lcmU2v!b1QL14KcQ44;MUD0md$F<_tKcpTvKa3Tu60PqADQSc%chC?6 zUk7%D5Kj!e2JkI79|PY3_%1*!oCEkCWXHny0e%3U>F@@?-@}Pm_%Xmwz=(yP0sI48 zj0JX)#4b>5@Fu`7pu`6M1n^6CAqjXJ;Qv5}4cL{wegj?`yaV8ccsu+S;9cmL4(|c{ z8#LH~UAyM@;IYH|0RIW+?eJd!e*lPsO920uC-=Vr{s`<-E*}B>51feOm!bSK7;*4d zfd7Syas1kalBC2#hy%+EXf!H zvn9xqE{=h0334PQ0p?0DPbx`(1rjWj^aNNe!4jz>0hURyT=FJBo&>5CKNeO>P#~#e zp-6&NQo~p%mSBzK84GJAxKTPk7H*PYy#(W+RDums_Bbe)V54+?I&79;i*#ZfY?ENS zWQ>Cy66};Njsr~sm*kxe6%tfRCF5a_1XYqg9;zkSCv}X68VPD8?|7(}*j5`q0h(C- zvN{1;B`A>_Ccps+4oaR0a7co~()kHcD#INTOoXFs{c`q1xLbl_68lurJrdk2otOy6 zCAeQQCc=XfJS1J52qz?HlaxewM1nH8BoRI*!Q+yi2qz`@g4B@+UzFfU$(so65_qKe zBzQ`KrzJHBo|WJ^sUZozEWz`VCkbAZ;49MkB>1WXXCz35P6@syWhcWc5|qpAQ&O)= z@O9}#GJI2l*CZnuzAeFbq>IU5NN`S4Cc*0x+h|HA!4D;PL((U~k0ki9)G-NuD#6br z?<6*&!Olhi{1D(xNu3ODN$^in!(`Yh!`qT)GHjFKpQZDY;a?=|0P|V0v9E?Bq>wjLka#{DwzuZPlAsmeJXq` z!Jnj#sqhz;FWE?i9Wv~c;}zJ&_LDN(^@Yh0E;lF;DT7P)C=eqtX_uQ zQZ~!C49&8d4y`g|%UU|zD#HO;O@V_l8)O~na9D=%;7x}+*yUg3_zbvHhPz}n1CGh? z8Mz???v>#_*^|LC0uRXNGvFZ^9+ufIyN&Iis;TG{*m?ezZt^^`tpD;XdIWPl8i0Wv@a$N(8217v^fDDiUGC&5%02v?yWZ-%-knq3vcihV6|7U6b ze?6s*+DZn<02v?yWPl8i0Wv@a$N(8217sj515=9cn{gmag@5wR|3gB7eIc5C@tWOS zyKCIL)|55Y^V!4%};k1U0a?hANVe4RDAb;4 z4R0Wfa@!5FaaVgF{5kl6Fhk$St}eogeiY0yU?X8}N}8%`T}=nqx(^oA*EP2^xvJ~f z^+T-po+DnCyR*vtUrebY9=6E5*}G~u+f%Mc@2=H`&-Uvg8-3$}BS5OYj$LAg6}=VA zVr67wU3Fut`|`OS_Hw*=7CC0u=^6BPyG4%89=X_sWBg@QdvuL*YYPcJw<-D>b|oQJ z^m;JM027O|3--Dz_FpEm!(EE!&MK?ylx(ou5sR#vec8dT4CF7P)|bIDT65*j*K85N zXLJZ#>*DM}_a0YkP0M9-I{f8$@~raeKNS@u_YRA^4q7F~V2XH@T~;>MnoaU7S7AMMX(w*CHD1rduT0>{=DOc9*|gfv#QgR4ZHjgTD8) z%N7@Ws;B9z*>&Dn(b+#d#4^AKJIPwrT2oW*KG3qJuF`!#bapjhAt}(z-V-JpyZYT= zx1$zmGn=^`PWO~iYNl1H@{dHz|Nc;nyy;suImhOZZ<}e8Z+tOc{_@|)$}QFL@=w!j z@|RA>%m4hZHu;;W4*AW0w9Cfp4*AFD?eeSV*z&-7;E90OkA1P@V3-Eqr}zH{%Qrno z2FL&zAOmE843GgbKnBPF86X2>;JP;Oi}@>RZe#QRu730Xao%$5myNx-RRobmjdrKK znEjNpp9cF$R%Ck=k3wT=dRzF#L57US))L1EjO$x3g6hV@LUb7*1jbsU(6a z&M*g&%+|!#6J&RMBe3_2W3+N!=V>-5WtOm9Cd*7&JA2f?1RiEJZDZ|84SubIRTIVh&3umKg>SChV-g!4e4VU!>^|>j(7klphf<-` zQD(hnK0J@}krJ$3>-F}nF82JEq3);H_Q3}fAG&7Ed@scnJ=bqIjBI-v(P|=t=uV*d zJhOdAbnh-i<4$-uyCt@%_zeZOiYPV~GK%r#3vk?-2ZyI{BowpJn983Ec03HNLL1-G z%t6Apb-tBh-`Q_|@Z!n$9n6AV|IjOqV>{>!zSa2;ouzD-$G3tucF@SR9|?BNm#Zp< zZ}og|JA?W%!2_8t3Jw3NmDUFQc0u65-0ZUU)a{Qwc7eC3;dzwXhj*Tp(huPy?e=0Gpcq-@@YQ4Tm`1Eys zvP_L917v^DWdj}0Wv@a$N(8217v^DFeHK$Y& z86X2>fDDiUGC&5%02v?yWPl8iflr!&JHPl&#~p0`FTMClYZ zfDDiUGC&5%02vr91I2%Nze8v9|5%#;kCsxZhYXMbGC&5%02v?yWPl8i0Wv@a$iOGg zK-|qAbsS~${|Pkz|HS2n8bk)j02v?yWPl8i0Wv@a$N(8217u*d4BU}_aps+2DlGEN z|3g9n#=xJj`l1?lt-G$J+_k&Ly=zTbV@*zW_NvyJnsWDnmNj*i?gO|~p|2@5c{XWm zd;fO%uQS*`9(WvBLeJyTH1?x+cjtWw5b0aWmeAepyL*{m-M$;>PQ8fz6Ju8NYA}mc zcgh-EE!D0Xvo|Gcca6$2yp6tI7~Q%g``T<9J9y*o3Ihnpz-4{C*b2|~l+kISVKzmA zke)VOjXX{WK95t_sKBCYU=~XQEi8}CE!7nuO5)HL;6|*{H?c>R<(<1N(q}fl4BC6j z2pbQEx$di-xa8myH2*s7rI(p1@*NJP44FA>iW9%4K0kKB#y$uT%T2P zCz)PFJZ6zxvxEEL)t+*NI(V&;J~jBHPu7`Eg(rK;h+2NFa+VT&&W5(3;#olX!3K9(b!|h9yP&?NwN|*Hj>5vC)J`8fwf9=2 zc4!;wXtdcd8+Wz$&gsD?JyYKfSoGsy7OUaj`TU*?fLrnX~78j*HWAN19XOVid zoAvNoPq~8KyjI)%tl-n1rSAeP`Ux=0pk6lCRX4V>ZN9F#rO8!Y*CIMV_l%d3zd$qy zG6x?7_gf4Cv$M_c-JWuVJA17L!kpj-!W`WNSoBB0EQ7i!bnkJs*0cmM5=P?{aDI#B zNn7^dW8nddv0(PM70&gPE8gG1MnmmzC(TdV;^YTcIOIovZI_S!)FD51&@LZ7?vOnb z*yCb{{GZRp$j?0&Cx4V+mw#30kXQU;jQr>C#mTp5vGOu!yqpG1jwZu*-i_?MD@=nl zdjEg$!9>rJ0Wv@a$N(8217v^ zfDDiUGC&5%02v?yWPl8ifx!)|dePZ=jLrX-)BJyMQS>YsAOmE843GgbKnBPF86X2> zfDDj<>)1eSOjhS-*!;hk=Kt4m7OClEfDDiUGC&5%02v?yWPl8i0Wv@a1~>5VvXA2L zVe|iOz32Z*86=%3#TQ0(Y-AVFi!5riJMG2nrD{rgT!vYsybp{z+N_56-ITGKvo;8?zsIaq|DZu z#MXFnxa$*D6~oq4z&dz@ttOhSAcg(#&W^Bq7OT6=N^GnlOAfPk_||N18+lg;Ru{+C zvVix{IkMUVRm5D}1lhT45FNq66wL-jF-unI@P~%DvJhnpWFPTmhY!eHHWZUs=AIjF zZ^V^_@pbV{g6E?R89m&!SXJZT-rCs)cbpk($NC#sPk4ilvmd@uo@77Ahr7<9R_$OT zBKtI3pSi~4IQ|!~HJ={tn#GmHusu&!&u(UT_4j?bjn%l2i8{?U;1O2Xry7}EpC-7S zWKYBV^{}lhlX;A`FJM1xSBayD=a!G!VeZI=vl1H{$s_N|VKzXH;6QbV@Sxm8C7 zUxi~7y21AqDJ%o+Y~OM6N@itfE3%KmAnVx$vaa>X%Vmx?K_9aRW^A~tjv0kawy~{f z)Q&j=yEa($aih?Deh!t(&am2X2XV!A4ntW@6uYQv)=(A)o?$!N<7}r}%zn#kn@IH?Vvh{3{=ut@3VJX+$Hwi5&s?l331OYjaI({N zneC|g*;t=5S(Ly|?t_&uv6cjKwm7gX0GSMI4<7p9+^>Pqa2&xrb6res-MA|C@Tx|FsQ}4Cd$mm~0OGwBsk_gUYe^S-O#SW$;fC2R%ToYz@AO_)+M_ z&^|vr3Y{6+ifp4W$cFoA;Zf-1a9178GMUFd)OgK4YHS~cp){0F;f{jip{yqInts&S zKB^xzhO7Qj<486bvaCM%8+7)pDv__@r-wtY*r$iXujHqPL$AW8hr^kgO!moS_VI20 zMYO=z6NmL#WpPE(eA67ouPgD7b6@_nA|#08idkbZ6JdT+Et7q0J83wdW{+kcPajxG z+(?_kK5{?8ukKm)P*82yu$p@WzXia*>&l1Ius)-2+Ow)ClFci!20t|lVoznt7`(bj zzTefDDiUGC&5%z%@7U`%C*eA7JzUJ81rY&2vEw zAOmE843GgbKnBPF86X2>fDDiUGH|5~Jh0@h@ehWn@QiQ%9})^M2L9A{b$T9uoW_3i z?(Vz~0U~|R+vaw6`|e)mSGVs5`fPm%V9_50vlP|1Yu$A%<*wZ|?p?~-E~Em=l$^Y)aceF+1D@Iyumy8P#A#JcM)Gt8{ykM z<;u3)FxM|ZNKZowefMhfY|_~Fp0MvuzXtbznmrCIAszz@gC7Hv_2q!YKNetsnZ?-! zHBIZ>Eqm)LEpr~s^SonLIbCGY<6fbMEplqMycAqLWkf9p!(3nQoYmOPSQ}ft|7NxA zEe+oLR6QTC=oMfV>(-Yv)i=1CS`LcM2eAb2gO&Yd{?1wdK4D?sZ2v}Z_mmO0-zo#& z_YM0;E|Y=0;4_e^ZwD;;aWKn(9;~UWbRTe67Sz|Y*4C9ZxGSpnR9CoKs_W}4(=mFB zixQ<;C&(ZDtVN>CZq~zVJ>?2^(<+5mW5-tzeEOH@w*nUZ6)?*HFYMsQ_I#^a>neE4 z*EdzVn}$9ZuFi`^1H~`hKQj9Le$-;1m_qJ{U-p!1B;;BRqSe6FWWDegMoez*ny`>=IX#tJd8j*msO6i6>4t<^67_c4cje@Lvnc6zLw@KlWav){(ZaUQ$;vBx39MSw3g z-q!h0mZja-visx*0aNaS7^Zo?R$H#I$J&yCtc+S@*aK15-^CyX%KTqO(Gnw<3lQ@4p zne&|~obOKMd|zQ?-H<+X@`rz(#uy@pr0@qZ(>W7TIg`^kQ_?wSWpK`&!MSiI=h9i6 zd6}FAvpLshaju`kS(eSYIfrw5F6XYfoE7sptLAgoFW_um$a!cH=Ut0AA6dfr#8S@o zWt``hbN*ljXICEQTPh>#gZy?rfB2h~obMHI{;`lTBt$CW4{WPA6IXMl7IWsT;aq+L z=bE*g8*k)vt>dh{iSyuk&SNEF@ufv=i*goqEo@xqSlGFsbit+hZS!;Hcg<^@ z=a_eDZvNa0xkq!Ix#x1SbGot{vmM!;b4ur2%4*BX$?BTjINLG1GqW`F(yX>wIkUQE zHqLa+?3__L<5EUjMovaodSkjHy)&&e?NaK|)Qi*GrsquWN@+}Sq;yUzop#CD=FD++ zDUFIl>6}_R_0p8KDLGTRCO1xYOzxaiI_Xk!TXIfvSCT79N;;L8pV%?6bmFB6Z4+`P zbd7Hu?-<`Xu5{d`v29~>#&#t%CO8s0$CQq_|HjO zO|mt_I$}FxN@FfXw?*efcSSWuIiflvOCv8uv_<4ZbcHvDJHk7|O2aONwuR<|c7-&C zNFk@>eEEWORB}ou*!cL&TR#Xt!RG&)U+Ozp;{6XxTsY}`TJqgFEwekJFNScQ3FUk_ zjPuoS&e!4?LqgxP^9R4TaeffXc`1hTkI|eTM{)i&k})LgkqG{v=g$rP)zWV=KnBPF z86X2>fDDiUGC&5%02v?yWMHTU^l;~8=Kr5tEuU)(D}gfK{NMjYaXujr{7878ef?kM zYwkZ;&tP9zmiQCw`L9WDFU7m&W4v$xzx!q&$nKe6Cg-7F3gYhy;=dEb-xtLHAc%h? zh)0+m@jV-8XM!L;RS=&gh%Xex3k31?g7|hpyh;#n7R2um#P1ix9~Z=*7R1j8;;#wf zZwTT)5yXEkh`%X_|56bDwIKeEApWi({=Ojop&@kBv9RS?e+ z#Fq==YXtF)g1Ac%uNA}(3gX8E@isyHNkRO1LHw*B&ORH~>lX0;Z9)8;ApQeE{6~WL z&jj% zh!+Xs>jd$Qg7^+W+$D&+1@US@yjBoz6vSHv@q>c+Q9=BeAby`9{-7YKh@TY1 zpA^JT3F6NR;x7r}or3r`1o3l%c$XmlmLUEcK|I9&ZEf860^41LAf6zICkx_J1@Ux2 ze6AqAP!P`(#McVqn+5R-LA+iNKO~6XBZ%KGi1TY}(e2tB_)U8A%b#WM{~zu5{{OXa z8MS~6kO4A42FL&zAOmE843GgbKnBPF85k`CZ?(R2|0C@E|J(b$|Ia`FANY~*zW@FI zp6>?u8lkiIFwM6yb(Jl%JkYkl-_@QLyl-<_5Pwk+KO>00EQr4527MCZIPVgqBs+yIh`?_sj-~1ZJarF&c$(@%i}qV9Gq*$aF!-;ZXCq`uICsQzy5l&j?VOD^&emAY+haJ7`Zp~4O$NvS86X2>fDDiUGC&5% zz?Czg%s)5JHBXv%YHt4A3%N&gow?_7vU9q!8?znRopVa(T*_+8%E>x6+cjI7eJV3Q z^TMp7vz)We&2-I_W}cdnKjT8i(F|wCxpY^$lzu8LC#@^BG1WW$=yd1wb1AMADdp6( z{Am}QN1aaRImM+&%BiXOQ!h+8I>kBV++^2eY4WK_`I9arA5C^9pG$HjNlB*?^AkHJ zmQK7hp>0CWgs$<8;~nEW$CZw|G`4MQ&e*Pm#so(~=a|wlmmF=597k8YD_)8}6_+1( z!G6^4w4bxNY?7@Z))CtoQyOzAx-B{H+|lp<|2aZB z<$U>qbX0OmCz$NN99ePp^KAaV`plIxPc@SPGC&5%02v?yWPl8i0Wv@a$N(821J~9- z%vbLEyOZqt{{_DJe_ftU8ru%Q-~SK%NO<3W{r{fN2KbtOF&28R{~y}?!O}pF0@we4 zI}l{|0`cDn;+F*Rj|K6+3gVK~`-#AMqXcoAAU;kIPZY$Rf_SPRK3fpa5yTe@;>!i` zB0+qOAYLknZxqCL2;we5yjl>i6~tQw@q>c+Q9=BeApW2r-X@5j6vUqt#Ge(!pBKbC z1@W_j__qb|bAtGLg7^o5_#XxFzY5}Eg8#2!6U4^};*$mOR6%^UAYLShR}12;g81!% z_%T8JK0*9JLHsd6{0%|;CxZApg81(Q@%IJsKM3L<3F3bi#6txC|2#qvj}ycb1o31+ ze5xRxE{M+(#ODg)3kC5!LA*c^Un_{O7sNLU;@buB3PHR|5U&@+n+5Shg7_VR_&tL7 z{et)-g81Wtc)K9}v>^VXAbv&=e@77iogn_cApW5s{%1ivMDYKBVg&I7K|EOyPZ7jt z3F31F@jO9%wIIG;5Z^3_9}>h*3*s*e;;#wfuM6UD2;x5x#D6J>zaxl8_4)rzf%8?H zAU;kIcM9S&1o7E|_+mjkUl1=6#McSprGofYL41cG?iR$W1@T5fyj2jtT@XLoC*FIm zLHEhPC*MGE^(&8mAxwoz-~68+UmWV6u;FQpdUto;hX9ejp4iH|yNA}PZr=^`$?QJ@ zV$pYiS@P@Z>RVhb)%A7duH7~6UHLWDu4Z>-d41vTdMH`DYediU<_)J_FwBlg5IFP} znj!H2RmAtu_p8s;r|(k(mN56^Rz^1mZ*-3C0xbF?V3z*IR<>5xv{cuX9c<38tgWuQ zvA(LhF0hQ1<57PFSK#Zf(XC7Vd4X+W~VCPOiu~4+?VVTw$(73bF~v(5qyF#zqc<4xY*#{<8E@-Rk#Db zE|clec?Gv=mHSFlvxw~$xxf70e$@L5hS@-?(NOPuN2G5T`W>SBK8cS4ONfvCRl$#j zA#Cn7P5I5u?%Lfo2QM=SMz$dDrB%xJTFB@X@>ryN2%Gx|+iI9CxY`NcAAEwR>8k;Y zUIS(cWYM?lt7$4f*l@Wme0U3SO;$;*G5v{n$|9*|N4CT1o-#@uxmH_ieelUl*GmD5 zehADmz(IXYYi-?-PRmBRq$sxyqO6+nrz~=7_R9^OJ!RDUb;Yx+ZnGTeErZ*5+QLS@ zehiMmNqDcP46xDUcD1<6t83kx+)dScs@;`^?3}Eox~^)2y9Q^%&3mgG0X7{h- zw^_0BUmmc@zxW_tp7TVk{6A~s<(szJ-sxE~KnBPF86X2>fDDiUGC&5%02v?y z*Rg??J=@QIkfDDiUGC&5%02v?y*Rg>^S=zWSvHAaj-t+$xr4WB{JNC-q z-2g=pS=7k>=Rh(0DP=zm_LHp0_9z~SD75F=+wAw*i*1Rv5L*a~x7(9gj4u(*m}@`G zUeRVh!d@B89;L9KX!e}%8HwG1Re!|3fK_!RR}$-44_Q(6S7DgG8M308spG8Y?aV~LNiMT_q>t4RS{dGIqR(%E!o#e6Nod8%en&G$#jLfZ zqn|nJHV$|7wu_q}yLVfi_LIZQW8W_OtFiMj6V2RkE9S`0Wn;H^xa+X4D4wk)_cR*| zCzSr`UbW&hXbe^y#MG?uk; z1fDDiUGC&5%02v?yWZ=3q&^Ye1XHT*De;dvJugm;VqsagnAOmE8 z43GgbKnBPF86X2>fD8=9z@pYC&pyTG|6io}|4?+%GGu@ZkO4A42FL&zAOmE843Ggb zKnAW$1ONMr=g&UP=KrT@{(oKOj~Yz|$N(8217v^5b=jJ`yN6OOK)3G(dcJ-Pu;@Pmv*g#+)wj4> zs_W~@UAt@Cy9%1zt`>KBb*+1oyQz9lwY##=RaaG0U01ciU4zRt@2zeKyb4Oz?g~7* zhIMcimuo8+rZ5RY%sY&QzI*j~Hfd~oPuO=y>K_>JIIx7C$Dg#y)UCm1Dpg+xSoBsf zOMlCSu8NYT`hD(-mcTPs*%;Asy?SJH>yqs2zU_eTj^Nj`VE_R!xR7r4$OSL;lt8=9 zaWk@(8fIIrc5V*^pWC^5HDJ-(!7Kw!w73fDYa5!}&CP7nEIQEOs^fP8%UNgo3cZS( z^^NO3qu{WqT*T)rMuFM)+kJZ~AZa>nVZ01V+W^w%#xsc(q5v zUBQor6nza~(d)r1R(8s&>-GoYq7g8xrMM}pOy6xP6!FUznKt{f1D@|Gfi?#+J-k*L zW<#!aM(?>&87)89;11XkWpr3eaZ^?qz1LJI;`77K=G2>^@Pt`jia{2N&d9{6vylt&r zUQy$a@BLA%T)r<}{<}9~fDDiUGC&5%02#QB4M>Oo9{WPl8i0Wv@a$N(8217v^;`NVN9+q&MHUN;>WV^Hm(rryYL2tk@wUmV zb-8R6r|r?$s}%Mq)v6i6wR8BZ2xl$K$ix<;+MR*Uk4BqX5g z&MVc5p|2>K`zdBElGzw*V=XFWqpz6d&tm8Vo3mi5jb-h~}kHE)iE^Cw1{uKK;&hGP8IoURrgn3EDt*n7|OcB$m%vo<2{OIEk4fd&u6`f#%*-K{xP_*7fhw0tQ9l)o|xyq z6kFoNZNW6^v_I$b*~ZNB5i;T}gST!pRv6A&p2hcS4eW<+!Tw{(sE%ZRYlpj{NZv~B zuED-w^xR#p!f3wM%k2P$e4O+vQ{k^`f0$Bw*;Qq-t8IsD#Ce-+E~`w zS!beImqy*qP%4jPtw`&;D?7~EWA0A)R*{Q&%(XwyTF5v15st2ruPU0gn4O^=W?L#B zVf@^z4UbiPTSyA-xX4c&2CFER+u>&(N7#b?{X`0T2~RUWljr+z=V+WAj$|cvZlr;= zv7P0M?;W@gewK8EJ?3p4an|_3D){Qhc~uDK$6ju0kT$fl+H>vqvF7vLo6Jx2Y{{6& z39JSdWV1jXWKW*-=hx~rlkmw{EgzDtR>xu|S>Y!(nM0{A(PoaO(9x=JGPZAY8t1F) zYW#Vi;SWduqw&3*-#Y%K?H4&eZhXD;>zB@SJ=geT*JmB~<{UYHOJlvm-MH0J+LiBE z+?7*0qibsEgd7{d)4wWx=tVaF|Ik1Gk6($+bufO8{R_Xb#!WDr-T#>VU%(=eiW(yd z*%aNJ-SdsofA-tv&$-1A!hHJwOwh(gP!tJ=6+APHYD|YwC}N+*F?MXqLrxHZ;sL z0e+xtWBW@!c?(QcEk>_@U=Qt&QzKnb0^6B>%(gp~b**Q&oQnqxK5+dlJ??Ln)h;#> zpLBTELp+nz-6LtJTZ}&q{MgO^x*{`e{4ZrE`w8p6<@DtFO0Ou+xEcPFNs8x^hPpET z_XU0yZk{jkxdT4}XR`jWqn2N%ndH%{GXCNwNMK1g&RUvf?)v!dgr5WOT_B&m@K)jB zl*QO7^YB_S^r~aEQnI#L92<*UWfk__W~YCLzzH}oediUGCMq) ze^KX|3F5Czd@o^9CCW-R*1?}y)-SS^<6M7u(;?PqK5Tox*uPnsCjevE=|U#6`WL<) zJPI?RhjI5+%=%@%L%`2|xo&;FE3O;t9v`OLsON_O!Isc2zlcTq-MF<5?;# zESce%axvZ+*A>Yovdee==__ph|9}1Sf5V*rk7Zrs|F1sr{7U!-c6goJbJo)L*xLJi zrSH5ua30C$5d4%1--+^{yYYqjN%%>2BEU~`7O)>a(couZzPICX(TPw1*{mU7VhzaR zPndtrHE`! z`MH2pf4zMc!C>^o0+3m4`Mfs&)4V;0@$Y%Q_ci^m=Y8c(Pi51MlkBY(^Usp}{t@;9 zeon)?mCEil;7i6Rh2UY**Ra|bV7me}@sp?ie`>RNi}8;%KjN+F$w=TeeC>Ri!T+wy zPqz3xn7>_XzH!a-z$YY!*&DXJ1JB?KlUSW|SP#$eI-g<oae_&IBPIeXp6<`?Fyw|`%gS^e`_yPjtCXQr@*^S>_h)$>2`n=?}0LH22r-u>qz zjHj26H=Zs&`7QU3Vf$xp z&U^QMXU>^3-^`tR=j9gbd&FHxzu^`Q`tkODH3BQ?l0E*^%%62x0-M6QWJ3R?!I|cD zLzz8Mm(x&YAOG~&nHsvS6I3Eu!?(t-1@9r~R7_%8utmJHV`qBn{9E0r^)mSreDIG9 z_B@XRXFqf&9%_ls4!T-`sqQaCYf;)bt0k(O?9AHlfB2oyn_Fg}uwT@FsWb6wJ?HHY z)w`-q`QHGTtlzIoO(`S`6JGuv^k=_H%0MDJt2gshNAlqJAMQr%o=*1)|9Ix?dCCai zu-{S|Q%DAW2l@ovzcZ>dh*z6%u;BG2?B+|nj@+;~lDkP?GgJ15vse-jE*xVxq;dq} zF7C3@xH5O-Fb%)i@Mtp>rOPpuLz(ki7Q=P8&u(bh{8glGM{V%i3#i>X6=gQ}Z!ekF zOsgI0^IQ7nA)mG3_{Q4sS25?BA&w;4Fj(KVWZmlT7@?SC7%&VN1`Gp+fnPoY)6dU4 zv--5WlNXk4Dq3}H*|eJ6xA)sLqIytPzpS3s-SfKSbzGQL-8u{N|GDQ{>u$yT|3BXR z|Ce8RQv<_*VZbn87%&VN1`Gp+0mFb{z%XDKFbo(5GzNNpk-6?R%>S)5n!;=v1`Gp+ z0mFb{z%XDKFbo(53GHFz~Bk;N!zOue%-d|5j%H|Ep+P6_{+`@qQ(ismXBU=*2lV$m5t1_+plyt{4YMy zVEZY^kr>IG$r|<2hBs>e#8H-95@%V?l8l}5l320VsDZw&25pwyp*q%VP1w9`mMQZx z=ew@YJ8&y%K$XmuaO$|g+T<@m9fEGyJWl{7hdP%J(!a9h|3$^BL*an!As;P8} zDQ>eRyMr(`z2=Lu5K)erIxeQ#Y=u^ zRe62ezDaq>o!hyUR$t|iTG!`YNm|{hU6J*kzwDISSv5{j;r6a{Jc5#XM$WW&QX4euXA5(SoA5|>!cqBA%lUJ@^lRhE`l zOe!g=EQ%Eu{We}0WJ)$f>;x0ildRKR>+n|B=iNy<4ziQ1eQ$7RtLt-JlJ<4t zpJ`p?FHMd=*#PikwBF4PZ@qzuS(aQ9=UL98*M8E1vf`qGqRR25u=r2J%oc*|YBd>8n`LXxl+Z)~o_DURK$t7`yJ1?EuY_*}~(&lkMU=_!sv*Nt)iN;0e}xe+g>fHhnY2+{i|M zeYdE1;Mu5n<>si^a7&ixoY7jm_Hi50V&696o0jdw`|o9n+TQKO2NhBA>={|&rBP9F z??2k%;NC`jK0RtJTzp5(+SEB#uP`~EPprFstvO!Blh^_f#iGT;GD>I1Dq4|Rej`HN~YQR>h4 zjZ|$A-7n>hR5m8$zl=9hMG)zrhQ2VW-Ve^x-vCwLS6-zes-M>zsnQsc^T^Jh@QqaI zh~k&^Myghb_{Vx96`vmY^M4~%8#2h1-h0!(jEid(svZ)2NV6@x3V+7pt$;o_vCEpw;pZeK!Mw?blht0Xc z`y1*yF#vDLUU=iYhpZDk;MtM-1B2_Zao$6g+Ptp~YtIlG^|qcgJj(PS=T&BDhzTuI zkGC$P%^LKwwB6jl!??MxXGp zZif#oP8M-z_dRtj@j|5b;nPt*<<@@(pL!;%bR*>)c3Yz?{OY}D@V+s=IL3L$G2bDM zCsQ}X^N!qPpbkn|d=pz97Cz3Kdov%Tj&~h4w#@Ch%gR068sfbPD)c1a#+Fr=t2TI0 z@tCGQ#y9!ngw>9 z`lajMzGKU+Yj3K)e#_-q)j4OaJ#~6Tb@9Sj)=^ugRgd3tKu%6xpDo?1JLTXVY7gK1 znXFs1BL;^fMLKeU>GnA7zPXj zhJmIrupH)-<{q%_PR#%NY4iW4c{bLD0mFb{z%XDKFbo(53GHFkl!k4E&rJ z`0lgwr{0D6|8Q;oFT5bjX378m+qS#nE4&Qm+c01lFbo(53GHFkl!k3>XFs z1BQX0F9SVn{{R2^elyqIjro7BHvj+m#%&@q3>XFs1BL;^fMLKeU>GnA7zPXjh5^HX zVW6Q5Tzbx&b?Y$ypKRv;4W-WHHw+jC3GHFkl!k3>XFs1BL;^z%Pb@SsxXz zTaWqw;b#8-i)k|xsA0e`U>GnA7zPXjh5^HXVZbn87%&VN1{%sh_q;{x?!o+ju9^Qg zlsc2&Fkl!k3>XFs1BL;^fMLKeU>GnA7zPXjzZeF(*DTz0Z)&b}hCBa{q*zwl#J4+) z-+w=#l^Ds)y&;LMTStCjSuI`T%saPkbys)rwbe~lqJQEjOD>7CEN2;2Qc_wOt1K!l znGu^?9G^Xeg|Ab+5ndyr^rOGHom3$2rzrTR1Y)Zokrp-IbtSb&a*$$G&(9y!UsA4t**ocdN-8~i1x zi_>?TKl&OcydS$a+~4rtFeowGl1pN_#*{upaW4pe9aNXzti+obZx$gz}v@EIhPRIzqg>q6ou6;bHNL z(&7{A(Gi;0fK(>y2rkDC)7yUjrEwjhnPYc@{INU2BMt8eqrEeN#M73u=sSti{_z<_ z3*v{z%jMx=Y^-E{aZ$Kxnw&TN3{=(u(CFol5F{LFHmF2OblFESQWF4!S4M=6O z4)cV=ab2Gql606IAAXuU_8KR=AG;%LY-u~+N!M_yf10(?Uw*{uTQyFoJFT1K9-EY>=j&p~!5>M& z)4;?mYnHXpdeC3C;i+owq>{3#%CYf^g7TuW%F^;6N7CV9d-+4mymMS@@xXU&#Qo>B z6Lq|{{5K$ zd;kBJRat(l)q2&@ay29OXltA$#x0DBXc?Bp(G^%*5gm%PGP#}}ofyqd8yoE+aq3n_ zmqfFZ<+qV6xLOk38wSngur)&LogKX%Zt1cM%I*@q77hP$_ygS|Yk)di8^NQ8*WqE};^BdT|tYI1CiEg-_^c+|{5 zY%As1$zg@Pyc(6w20j#{#ZZYfIm)IMl*(v%6kP_%Lrl&f$bI!{iE=-c$9sG?aUX43 zF=>djFPY>R!XpwHC9fQgCdz1=EzYJClTJp%agkH*hS`Xbj)T^B#yt)e?7_WcZ6<8$9cME?x~%8e53K|5^Kb$Im?3_u1;) zQ`4g(uoq-BPakM(5h?sXFngghVmLjNV{)&i_soX5ZGlLJc=M;G4UqM2*&xE^DR|e- zxmF8u$USE}d-h7~^g}T`tVA}R#$!m#>?#Mcj_?4G$8wI7=quj%mdvJ`RJNWo%Icb| zIAAMe_sYQVSr2!eGo7=$l;(1{n~YC>G_z0bSBJ9yEd6ZZ$2lKly|d}%oM&@tx7?d^ zTlFGnA7zPXjh5^HXVZbn87%&VN1`Gqg9tOtNtX}sZ=KtrK`Twt{QB6$@1BL;^ zfMLKeU>GnA7zPXjh5^HXVZbn;F_6*Yu62LG{QnX&|JRr?n}z|yfMLKeU>GnA7zPXj zh5^HXVZbn882I%t@Z7p1PkjjU|69WI|IJ5PySF_?Rx%T}eU7tQ*5m&Frrcaw@4Ho+ zQb?Ph=^d{+qtW?eor=PjPq8As(vS8*W*4{KKh7vzEYa$aZC+!o7uo{`81IM z@{V62pAj%o-v7%x!<{EhHJNiK{Kgj3p~-hOcWT64&8f|M6LNcoFcdvQ-c*e>=fNY( zws(7VXQ@o9Io3MJxiLBoG0A(ocleAW+4v`+-?y{&Z43g&?$)0_Y2X9NZ7j6%! zj4(z%W1`Nx&>I?Ccj-3@zb%wI)8$hPyk{#dL3w;0iPvXYclk_#?M2+#z3aW@s%chx z-vW8K2*!^ zjP+@lFnvkfYfkI?8^fxvvbI!zyy+iVZ&bg$>G`~kS&wIJh}CR(VAJ~QyB4lVT(kVL zoC~)6F7LN_Wm)s`j$S)0E4O;Ymc6oiGHFkl!k3>XFs1BL;^fMLKe@QYv|k+x~w2F(B0nEC%NqPGnA7zPXjh5^HX zVZbo(i(nx0@ekKMg8BbrX8!++XfG3_VZbn87%&VN1`Gp+0mFb{z%XDKFbo(58pFU{ zr~ZBa+SFX@U3dN;NwKV~+;63;-uO&x-8%9M%WCQR&U|j`*7_B*)lF7nU}Bafm&AFN zvy3V!DXolE7L}IFh|MjI&(5!!JE^3ss&Z_+qM*E}tg^H`$YD*NJUiIh3Hg=kjCHrl zM`qgXS1KxO*gCMyc90`6lFDQhzSwXI2PBTc!waz_mRZiS4JC^z#*{8t5HG2$m^Sw} z@q)@ALsABtFMFt(HCq$5a5>5RtGiOi*Q2T1@R@L`S!&(yFF`HbmT$(mYn;ezE8>Uv zV>JIO4R8M5iD{Nx5+_^EqVpoz8B!Hrp8+1#PVY|@aqk4;C&JcEx9Cawwxs?7c&->#iz&0V+-Py@$zZqhsVl` zIDQ6s>um9zX-Sro^@%qe`s@09JV~E$csSGACR(8P?SELk(Z>u_1u=Tk|VdB=x=rp8+1 zgp;g+D|X^(-UkhD;6aJmmRu6cEoTW@(HZ{0MSj8Y@ddFlrNzZK%fl&jkfn}>ZcYPI znXKVIbU3c-b7PW*cPd+9J>)MzO?FCUx3{M^b4RGbB*{M!{v?EC$^_POu^6)M_v!rNYReUPW1ad}LqQ=9_LhSc3AynbdGqty6#>8Dz#Mp#n#_=b~^;!VtGs51nq6v zHI6f{+T5yiAS)R`0@ZU!NlwrZ*m?wERnGJrcR_{Qx&Ga+TyL|zT$vT@MIj=#=q=$H zIp5D|M9exZMa=kfTQO|6c4DvBqoU)}Sz^*rnPT^++KQt-$Q1kZ%@RG&Y%BV|-%gCq z&lDYN+lny@qhhb$WeIClRD8TV)!H!rn{|(-&awV#{{OF%ZMF;ph5^HXVZbn87%&VN z1`Gp+0mFb{z%cMDV&L@KQrAC*`Tu4!|Nj-Ws;P=$z%XDKFbo(53GHFkl!k z3>XGf2F7;SW&Pur|Nqm>|5aklmSMm!U>GnA7zPXjh5^HXVZbn87%&VN27W~hv^sJ3 z^-o~_|CO2l|B71GRK+l07%&VN1`Gp+0mFb{z%XDKFbo(53`#=@Hd~xcDJGqavc0{y$mvkY?bSe+g<9Wf|6YiG zD7ft z4#-1XUC<&E(Z5$Bu8DGM+0N-xPQ1-gWE<`WD-ko9T!P3~$hfP)GyB#OY;*5z28J77 zh{!$G>bn|k&bH5!eV?t)Jt93i0-R?wPakM(5h;kTH+!KoVmLjNV{)&i^VTr8EfC3& z717mbw`{qm{|Mu75MlEa+!A%D-(m4ucQ?xb&CAej8Obt`&LOhN9kwyfGwL1s_2|VM zAviiyoEB?x&<%6jx`E+x2OI!)^AIvS`9v(v&gY!6G*kGEEhg$$hr#h6wVi-gVz?WM zgUd=}D?>({tYmi1+)bW>v}wAd-KC?pO?T8?I@)z}uGONEwdyK82s|g+*{eJ^JXEnQ zS^pI>4^9)4(~>RKk;c2|k{OXMQkvqTvviT#6c=5ji;iFu)vjmtyGfhYb4FQRlXWOy zE96eheWPA%Izgl~mqVw|hNl>2-7sJnXl4eUuYLQWP4`u=pL6Gs+pU|Qzkco2J^s9W zg>`Y;vwNIcwlF7NeQfn%c@wJ-+>(>G$EJ=snU;0m_k-6zh53IAW&YpHVHtOZ0mFb{ zz%XDKFbo(53GHFkl!k4E&@FERG+zek11p?aciDCv68)xM9FBU>GnA7zPXj zh5^HXVZbn87%&VN26iR`Gk^Q~(x+2%tvZn98dS4%F5K9;j+1qN@=9BPHvS)v<5`0eHyx2bQtl!1jlcJJ zU#B{=tw;Q&8LMN}IKhN>mt)=dyk=z=4#W<1X|H>`2Kdsue4q(l@%ktCeXL1_tyX6> zyt%Uz<8bvWmPC=|EXnv8cOv$f{CGtL_KdpPy1{u^yJW3=c2MnPYbi-u*{Q`*)^+~U zEVW41zCXrpdv3$qad-3(xg_RT&XSCQ@kPb)`Q@cmWpy=T12WXreBMi-leHbN7D<}V z2|nLi?=MXZK3T)<>>cw$x5CMG%nKUcpuG}PEV(4AEN4l|NmX(2jQGiw`IV(*hZa>- z*4eI&%~w||FR!C{T{taCD?2rcS-1L2v(_kCn|nL!aXaxCdtt-d))}sLH0T~$RB}SR zFh5>?B2HK9I2UPfp1RueqV2b5%Ovetzd^U*5!N`Ngb%7eMmt{G@OG@C4BYc1m6wHCwAYb&n&O>0rmzpdENH&a}AV_Wh0%dNz%6S73# zcx$mRx25>f>L9GPY2shK+KTGHFkl!k3>XFs1BL;^fMMY0z(B&zw)w;H z&0Wgxcoy^jUUkg>Ios#_zn$f-wC4{2_)Wwl!+>GHFkl!k3>XFs1BL;^fMLKeU>GnA z7zTd!43xR^|329#wto)u|ABSP|GjCy%^v~e+@C8#ZpkYFBF?V^Kl=)s01X3%0mFb{ zz%XDKFbo(53GHF!2A7fikhd-i&%bd4J6*&*T38G4A|7k}_m!`sN2cMsOc{ zH>(?NkPa5!$3Cj0q_onx$s)LaK4%}xs&Nd%Hw-1ax!rZ|dw;_6mgexj*mYmw-fG5s z89d=__3ph5qi(+Gri1ziz&f$m5EW$Me}6n~AMk zH*ducCa!hn7mktVO#l92+bb&)dn5*1gRL>4g(MvopBFEWmlTBBVpL^itl)UwQ6GA$ zLC(HbT`l0oR}+r!KaGzs-}07bi0|Djhnh%>&2v1GlJWW9?Z>;#qbkrMtrMNC&ep)t z!g$>~c*4x>XNel8>~Mc3l8m{p8Xw6)mbWx0l0DsCmDR$DG8CE8=f3fJUyv=l);47B z;`Qce=#U2Wu5TM3iO0}Ecw9)b)~X{CkE70^O1iD5aP*zG(}tM|);omE8_ZFTH{xJq zQHyaSQTD*^)hs~_&f4}OxzX~LIyg!mNu^sxl{;QOgI4lHAZD&RW1NF?%j@i+@e*So z?tAxBFi!fATp8xwLF)TR)*f3^R4Z+(PgB}ssO34YM|(v5%vuQU=Jq1-TI0sL`fTz@ zeyaBHI$o0Yhzd`coQ1uTv`70ywv}y-2rcZDhsBHKi9^NlMP*ZBWuftQ=rAj##&KVt zc1ixUAwRtBMTFbE-K9|x)w-R3P^i+$I7{`qnIDw0GB9NBDiRImY7^C& zmT&o#p>TH_VYR4neAK7Ar8hpXvn_9FN?>E1SgjMA=>ZC^JM(22Fbw=E8TjVtsQ632 z46&?lhWPiqwqkC)tvLAFbkXISbg|iPC64P6wO;*r?wC!O|1Wi)|HoriUd@M+4<7Qr z_J_R$Pxa*a>(~BSd}40V{31*@J%xXg07Xfxe37s4k2_EV+5O3GVs2IO39-TjMJ2w4 zKhP%%j*pf5a2nT`5(QP|6{Uf~dtjiID2!FcnL~!3&NU_pR~F%+A4pP_!8ImdHI!RY z*NSUQzOHoMyoz`bdTU3`40C743JUN*E;W9(6fTc}HItA$Qw6*JE6Hd1-ltd|n1~N*g|| zO{RpjfwFv2_*o#yY&xqpe7a9jL40(1=?U?2#rxM?{G4f4VZ5MdL9CbvOa8j6uj^us zjTiFSBk{r>qu7^wj43TCi5JLck$Bm=`PtK~vE#;%ntA99BGT1vzAoJ=EUE~02&r{< zP&8|*HLtidCi|k)bocF2t@%}PJbKFW*u&T4TE|ybmhC@ya0Q=y6RQ}sps1j{w4!ug z<)DJn1%vbR4jmlkt77mrwEIr8eWw$e?9?UQ_q~Vjdu&5}<2-o~j;G0(bXN=)1_#mY`G*x5JGtLGKXufm{(hwQM^6v#1EcEvuv z^MYn`K6rc#&&n%2EWV($GVTRbR8m+}GM}Z%a{Kz_&S>^>ORJpYi7cp}Ur=H56*Q#? zk8>=Uzug+{D8f49>@Yo2n}4P5K_j zHKs&^yQo{zxPs&5S($V<+;IkXBOA#A-3?ZJj_`e^S~y{tAB>TE`Apae0uhOtYpRHfhSJ!;bQu;=g82O0>4h%1f1# zV;PVCGjXDYRaP~(I8?>0(JXO0m=!1v)niNav4^zSl zceW&bP4yM&7D=h7j4dc5CbiRiZ5p&Ci^9ZA_jPTp8934GF*ZIgR#jZtW5yV%k`D6f z%5?Z7zu~v7hU1^J#ArIVYiVErxd!qSMp1_}}Zccx$6A9=#cPAk~mX=i1`1Q-s(T z>+c?tDlYyuMeO%fs`&f8sp8bmEkxg=QpGEsQpNd~rHE0lrig!kl_Jhw-9ogvG)-K8 zNeeOP_i19&OR1vj(Nxi6W~zAnqEt}=X;+&n9?VY_*IZ+Zb08CCZP-cq@mfPZFd>;#J{2W^h#CCg#m1~Qdr!W1@3#qx*bMEw_C0b)i;tff08a`KX z+Ik^`bAFo}mOLm)T`IPyBdqI~fjYLXuH&S96@>PVPR^F4PtLq)$N9f*$6VAgqpstu znL7RspzAmzrjF(6x?Nlye+|%eoXFCSG3h$aQcr`l_I1o9LtDj}ygUHxk(SiY{pPQNVflV4rgA*pg0P8iN(; zmd6yH3Nt!K$5wO7n~aqcApD`i(d~&fM>hp4 ziy?uIJ;>2b!^$cM`>9;?{(cNu8z|SU3V%lmN(4T1?8OvjOFoMU$w@2L%C&wAbF7SDdtK+G>t~=M&aSYOR=eatb z&g;4hT-^albk(lzz$7}xNStGrvg{q80$CL*9G;v z+tu-GU-!A*)lEsFyVuoCO`^Ns)lEyHdk`3pE7N^lf2=uu=^?C8mj`iT33MA=-C;>| zkGQ)0B)Ug|vFDwh_}&P26k^@E3otbBSO2{ zw-ue_1c|BCLi#|Gauj}#^eKC zo$UaS!*n=@HxBtG9DJC3pr^AP0NzmI=jfy7@CF7yhc_Dd0EYl3AMo~VAK(tn7O9y7_KuiaC3}Nycii13p56pMA1E5F;PSAk`I#8+u3w5AE2dZ@7Bpq0!1E=V~ zsXB0)4lLDy({KW5xIhQ0b>KoBxL5}+)qxc{aJdd#sRJu@;3^%s zMhC9bfz>*2qYm7x1GnnH?K-el2kz8?yLDi_4&18)_v^reI`EJVY|w#6bl_1Pcw7gb z)Pap*fcx1qI`CW=h+snjXtF7sgTRYA@RAO^q64q#!0S5jrVhNN18?iVJ38>54t$^k zAL+m+I`F9ue5M0ibl?je_)-VH(t&Su;D0*sy$)>E0o!&EIehXXq64WqkfsCP_1nIW zR(g(19cZHiSvs(b4(zG}9d)3y4s_Ll-E^S44rJ>EYg8fbl_AMa7T@X zfBm_eEzW~1hMWL78Zrs8FQgBo10)slpRTre2l4`B17r)Kn{b9f((Il zheRRYx5IA$kk=tkLGFdz0J#+Mdq@?e5RwlW4atG@fV6@9kY$TcA#Xr7Lhggy2)PV$ z7UV=o95Mqk1~L?q4QUJ6+SV5Tg1iZN8gf76CddlN*^rYU^B^-JVrHK(R%ip12Q=@L z_c?5{WgKl=tV|4PZ>5Gwdd|Yi<%EYtdK-(T$ z7eVWtGqY7>lI8A-RnIdrS+76>TmELv!z)oHo>d3hj@aU{);rgJUD5JCyEZ)&W#XxMpzVq+dM3(rmhz5{zK11nRxaeXnSCbp1nDNTHkDFJTar(}V4Zy@wclu6xF_5nhkJvKOd3vBsc zaoQ4PQhDAFh{tmp*3%SQ{%4#q6J_G8FYtT-5XMZDiBrHpdms>&OO&bF`Eq$a2wR?K zX5efwu;qWq>6s`~8$~-32t5;JQrXA_LN>gZvlQD=(9)JDlgh?uARZe$u5m&dL^TEo zVWrud1eOAY6IH|K^K?c;^1tAW*_%#hE7~d0GG?MoJryng6V7sp zGO27#1LApRhF*&8bRhIhl&O!R%>zQuM441J_#bhy;lmnf6U#*sig&&-gc*d7Iho{2IIQ?y3|p=Y8@ zDjUZDAsb%IBNSWy2c5P=nN&7r0rA*qh4p!kCFN9iV9E0AaaA znN&7nKs?XPa1cI%J~SCdxEH(G~$=xkQ;%Hhu%d^UMsB6x$Pk&@)k{$%?iZ2t5;J zQrTDlglu>*Pf=`3prtKQCY6m+ARZf;SZ9Pm8|{{iy_BBav^&_QXubtjQKj`CdeNk zC6MWmp^)~F|9*tu10eT7u7E6o%z=!C>Jjk9joYHpp^FIb;T8Z%8M|x9?$|4*3gY736o2LdbYXUq}Yz zpYPh@S;!j5A0d^H!y)@Zx2E)I zDK*!+nP=oky#If~nvdi~>OibD4b^1$R|O1E&6Oz2<(4EKmK?(07ff)f#z{sEk6SWH*Buq-q5Liz(u4=IdYDv{7ZoxaZ8p#0 z8j~z0i+39N)f`n33TSi8$>-*5ujFKHy}C-bJo?Eb-Kv>ql;&5KySMnt%sdzdnbjDk z$I2^YUz9bJaWktEtwM^-DSM=JDvg4yO1RTY-Mg5i(|NM&I-D{mA8S=vRTzZ9qo_>D z!jKlFCG%Ai9$L3+qO=MRwL$JKO7QtJyylzbB&PMHvASZ+9qJRBhW_D+eHg_dTC%% zhV}WSB}t;?X^Koc^r1w{^OwM^n-=X9rD>T@c3+;>$Rx|^rp2ooEx;{?Mbb@@pigRm zBPHyU6+^ufPYJg%bIPdYk$_uCJF#LTgQk-@JI8P7h-t^pl)z7MtUSAI`3~BeIc4CB zRhw<;4s2Yu>*^$@*58v7^%BKycP(lTabrr0i?`|5r>SOI;JTSN)X|mmxRxY6Cea|5 zN+p&mrk#^if)zMo@@VFh#Q#pUND{wmancEMSsM=2zVYexHCBQ=L$T6_JAZc!M|q}d zqD2`tL6~yWkMZ~QHdTW3Cpoh7>r8q(UpU6Im4Z5JF@`JDGp+r>lQV9H!@Wo~ z(Mt-Mc;OPl5t(*!%(%GT9+X%wQOtJJVhsWD&AtIKa1^p{2q7Bwxz63rlNfAdL9ue6mM#P)rQp8OoBBG)y zA_i2Yh;N2R#D+5>V#)9namd(+*rhTep3P4Ymk*1G1@8#4KfYV`jEKMEnE-d*foB)s z``8zR7z|0p`leA4@#ma~D0^FoF`I6XLkD&N<~}%>R$*<4~EFf`8hq!3PpQKgSP8&i&K)_GU{`!5^yHLpZyh&kZE0 zh+w51gi~f(n`9U;3>XFs1BL;^fMLKeU>GnA7zPXjh5^ICPr$&?<+witVnGI-vg)>1 zF#kW!o&Ud!DZJR+T1Lg${J(=4d?)#wxV8XCTUAz(Rcuw_X*DHQMV&akNGI;k1K8YK zJ}7Ds*7B`|aFK%tKn=kK^Tl{L%nWOhRfZoKDv+lT5AdkK!#Iw|_5v#=AF;GItfrvg z0^}`)wiFM@s6<}J)Ap=kXp&*TFkl!k3>XFs1BL;^fMLKeU>GnA7zX|yGB9p=OJPk< z5gSF9k6y+6f0qFc3HtN@YqtXTt`)K)Lp`d}u#&Lx;{Y#Nrr43;_@r3W)kdHT>_!l0 zlDbqyw~wQ7bcr27(virJ3rAJ)~jQhf4GPnl$#nXVl#T(%>; zlhgNE+eWeDeVj7MII|R8uB(!DNbCX~V4-ST+#vK<){*41`Ye2#@q zCK)I1mn4_GsK<_s$EWYJmUl}Ad`^%?_>gh(Zpc74DXdHI&Oye>%bD%SWPJKQ6WMNg zyl&Z!92(Zu_EdaMflekFC+}oroV-xkj!eU+@3WToF$S?rmqz%Iaq>RJKzCSJm*72p zjI$hKM`qyD_nF{bh%AqnE87v?AmZz42P;1P+e2iWIj&u$wBv;;fgSHK3}QJ7I+y&1l)mUjmRKK+|8q)*=cM>}4X zY)4{>9q;`M?B+rzlZ=!1_654aur4tMI>yNhmhH$qeEP8@c;_C=<29ppgt>fOE$`b4 zd@`3zGEUx?M}*fP+Y#=CfgSJ43+((`1Z14N>n_kOkPh)7eew=9M!@Tn?Ff6R?=!)> z-&h{6L$)LArM|9~chm(w{Y&PhPu?*{J6?5cN7!ouJKirB*i}L&lZ=yh$pt#LqOVIF z10Cb!70Gsltol9^v)uA{*|8lVtG=#ww&K&jdRxXBbL|q+jJQp<|p&rB8nPJ`+XIk(b{|9Y1|t?FrBYb@#6!mOdA_c0}z6FZ&JbN)@}`Lno7r zbD^R;JFH7oK*u=GfY=dUG3)zGRJrA`Bs;=uV|`uiNs7-uKqr%obCGMuDC`KYRt@Y< zQSAH+QDvN`DmwqlQR(wE=osf&(kHL%^nE6ly5+HEcI2Y4uJ&}rr+;y#^m(Rh$E%C& z2(P8|eb%0(*j)ylOth;#N74PsRXO|7xzI6AGHFMyz^Cssah_WqnY1HUhIO?UC_euT zolG*$YS)e|+mTiH^nKP|sMuX4jqoAkyjam)6V@dzg^qEuui267@ag+ZtbmUFlPzaQ zt`F;KFIRl7hE66K=asG^V?MlV&CdbN+^D0GmOIVk<20F&M9AZaq!>8{v zah+Qpdx{;oJ*=x;t@vC6olG*$8(q6U0uT>*eBKM4Oft^9T|4$#J90lheV?`K6}txu%272RLL zy2Sm^G0saMcBBTMzR$#iZh71j?8t_&uJ$3t=flv+B;(xR+Ho(jBenSSebzpr*gfi4 zxp6+K=pGO25|2a2I9EXI$dmXCd_JkzJ*C)fbnUoT+L5OfyJr-;XB4~VT)WGq-E)fF zCdKY~#qLGdj(fTtc|oyzNwIrTv3td}<0xQ9UQ+B{Q|w+=>|S^6I6~NwR~5TA6}#6I zySH4smD28Y#qMpz?hVE69oKG^wEKJ5F7Y0894D@ly0^l*+7A?;o1v45{iXIJMfVR^ z<&2-7K*x5!8e&J@#i!ryiBF+pc^t{?$a`U3?PrS5_o0(XmbXRGeHhjyzHrOC7N{Nh z7@t9TU%KUSbhIO%gmtxFDL(%RolLU4Zxr3XJY9Xh&GY~Ne?I?z_O$(WZJjd2>e9{W zB^hpK`D^N$S=NWC))%SEXIm*Ptd1?7k68z|u%@@DPj9L_4|=FfP4!cE2|HKQX-=-Z zsehjoryQ?7-Z#+1Rww!A<#k2$RH|h?2^rz~njFC(fc5nvc%Wikwgxv07zTb>4Cwp$ zJ!U`uWi_CQ)-YfgFbo(53uvmvVtFnz+iFKsy8`x0w$+V+ zE`!le#L@-dWQ8pT9=sUFB2PQEsn69oB6)08&5t7hU`nwZM4MU$QFge@p*y!o zcD{)ykR1TKndC5M=N6fq+Yt>eG#f3$kzpd*ilYKq>%~@cI>O#fc8F$Yx5cMBj0|hA z%buWhV%Wv-Cc8jCSqzUHRh_U}xx0t6`{bb~b0p0R?<$$dG7*N=azN=K32F^&^7a1i zl!48mE3nJ53zlJ*!0_M@*%Kk}E&GVGy(hN!JWUrN*yI^a` zVsuacNYdWbd*c@mcwJoMU7;H#YYdC9q5~8o!+o(cW8yH_1?K)p-v#KwC_DLJ)fd_! zjHH)$gzpE0u{sC*uJq~jPOhUY803E-LpG=_ps>iO> zXwsZ}03FJ*x?tQ^Jf}IDbI=kzKXLm;OQ5W=8utJ+q~zG!Pcx8#=QQ5N60+& zDO>vKkNP%jKx9|bYv!JM4roSasG8$d!0G-Th2e2AwIiylv`W&}=!9HTle9)%%y&lq zyfCYS0gMhYpM&i~HRciHbUT)K#Vm1) zNu3I~br}vvp`9`{bsEj(v?+}tWMfAV*pYDhf$bIO-@g5H+4K8{W9;b^EoeUdeem z>!mF(R=<$FsrtDs&s0C1w{gppYaieA=%z=iAFkf8wC1V@H{AdBecAU_-;=jKZ{4W7 zueu|)=BnFbw`{p_?G0;JUv+)EVeCcJ`m*icT^+)Te4Nq)%eC=av zAIaOW_MtiVEx$Wg#i^tG*`Z>Mg6PSLXbA;T2hz=d4(GY1SoM zF3P%aZS|(*YcJSz-oih`&fRoQ*4bNrpY{7qXXKood)k^)YEJsRqNa36QKE1|L2T}* z*wQ&mXD>bO?PIqbv-aqvM^4Z0G41n7o5wCcXwKe42G8kd_pR<-y=QgL>g=2zn|5Ej z+rqAEJ8$Z^aMzsno7!z^o71K`GpqHcjD_hrE%Q@*-mnPw?kUJIKCgecQ&Ma%1f zSuRl~|Ef%0fKam-AD(Ash$*(bT9%%PG8HJ=B|zwzDAQTamm4$xYtJ`lcrnKn+XS?< zCCa3-u@s2MMjNcpS8RU=gfSCkDpItk17XZWnNCo&X8>WjM429UzTBA4#Fpoo85StE zzXw9kM43tzEo)EDM441J&IUp@yqFg%w!D6ownUj!HkJYL*l3IO3dNS!qB3TpOjU}O zSDZ3tqD&_#T3$QKa)~mjZ1Cz)&oeVDQfzsRC_NKpIz`bg2SU$8nN&8|2g!yP^Qnq0 zuj-^NQ6`lQUZ3f)k%jfs6x)k{FlM4mOBF4z!(_}vnNC-vr z`C`TPT4-rYlu2cS*ZFyD?1J@672E59FlM4mD-`W&AdHzP)8&fx1|Te#D3i(tuax#Y zGsBgN?M*=FnJCjrMSC+4dM3)GvcYSq$%Ys6Rf_Gc(9)JDlgb9Kwf5L(kM(O5TV8F= zn29o7r)bvzVa!CCRx8@IKv*tOCY23dkL`J8h8q>zJAu$MQKp*}?Oj0VnJAOW2CvvA z8(z$}Dz@vOr7ck=l?`6e?Xj^d)^AsA?*YP?i88HKwD$sG%tV>)RJ8X2VYx(^R5tDh z;(2CyIn8PXVE4qD)UJ+KoWynJAMQ6|Z0SJa@wSM#Yv_ zu+uY9re_rGvq0#XD3j`$SGaqgJ7fJh#rAn1^h}g#lcHtq>6s`~we#hk1@Rhq&vO^7 zzo^*qDtLM(%Jh<={VNc9Cd#CG=2h~Z=dM_PMX}{|^7KrU=`}_B3J`iG%A|UJ6^Q4V zSKz*`*uDmYo{2KOsc8QOgr12qu_wtS&yZios^@t(tiPq$z5#@ui88&dXx{`v&qSHh zoG+JWUW@N}-W}`jD7J3_;hsX2={-fe83^|jqD&ts+P8tQT%t^DZ<%C`{()7-?0NnO z>w;>jeFrPFCCa46{4NkL=I&VkM6rDj2xBJ7^r@nK9|&V6%Ji9{{QwBdCCa46%xnG` zv*&q>V*3%av?a=<#{4l5FXkRt|3b0lT>*@lDASjUmiGlPW}-}Ad0J<);h*OHf4|Q6 z|84mF7bm=tnrq!O-02hPDL4dv&O?W@bA87>>@>F*aa{sSb>MUzI8z7C(t&ey;9MOz zPX{j0fodJNPzNs7flGB@g$`V<16S(6N*%aL2d>e9>vUkX4&0~%H|xNyI&ixVtkr=# zb>MCtSg!-#iI?Bl-kFIHcqdRk@R06fgAP2R1CQ#!<2vx94s6tcXLR5>9oVD;FY3Tc zI^Z3}{mOXA*2MFiQt! z>p)Bg3UnZ@1Kulnh|6Pkk)GoO9ax|Pr8=-s2P$-+N(WBTfkirSiVmEr1E=Z0QXM#5 z2hP-ivvlAb9XMA9&eMSlbf8)XF4TdGb>LDRSfK-#>%f&duu=!E(t&Gq;5r>xtphje zz|A^vs}9_*18a5QP93;g2iEJry*hBe4m_v>59z=L9e6|s9@T-zb>K-I*r)@~=)iM2 zut^7A)Pa|D;1wNsO$T1rfj4#FEgg7U2j0K4{*rEep=)jjc z@RbgHqXYkQ0q2yW5ubnVW{dM6iySQE{HLoe-hsRT*#KDsSqV8G zaw?=4at!1U$bOK%kdBZRkT1K~;$6s#kcS~_A*&!4K$bujK#qk>hU^dN2k8V!gZ#I% zE#8Ct74it=4#-uI<&e`LC6HN=Lm>x1_JVYVw1j-s$rkTJUV_v@?u1+osfHvVrI6zw zQy>RI`a`-v(ji}Ww8aOImm!Zr?t)wc`6Fa0qzp0}G8J+VWB{ZqBm?qI2U~myc?I$q zgUN25ANPc2`?`1bG$mIAk5<$k(;?-M7-TwRBxDd| zH%M#9|JvK)W5{ceCm`z~*F!FboB^qT%!TAZav_5uyF)S|-|b?HPauDTJPEl6vKn#; zQ8AZI~Ngv22;AY&jyA=!|&kgaWP@h`}mkf$N{LvDhsfSe6E2{I2d z6EYSu46+9#3t~YAoWJFwH!=U8J;K>>W@G-}!`ee`aKHL4f)Drf-I)WV0^q-8m}CzA zYDJJq0R!5-`aeXSpjrz<*%3Ndo+r4w_dc2|S8b{+`Vwfyc2zqM0P{Bv#m1OcL0L z75-3dl3~CwU>GnA7zPXjh5^HXVZbn87%&VpjDeqe{y+5CQTzTqHP?E~o&V3p1TlTO zGr{Gw{|9ecDmM;rD$J!Tp8Y28Q!=mys_5ZFkglN!+>GHFkl!k3>XFs z1BL;^fMLKeU>GnAG>C!YpSQ#@kg1SSkl~O%kS>r+hy}U)nb(hb3-kZy_I6w!f%$(% z59fd4a+dG?-(GHb|16dp-oNMNMo%{~xzQ)Q(LcN~IJ_||ys=Ms<5G9Sd>IA|1BL;^ zfMLKeU>GnA7zPXjh5^HXVZbo3JqD^Ux3ACq|D_+kK6EqY|H7SrAC38c=5psUdO4T( zE;^SR-ZlGjBik)sZuAOo^b2nc3~%IwH{44O=)J?6yC@WZ=4?9xY^w>Uxoq0 zfMLKeU>GnA7zPXjh5^HXVZbn882Eq0z!jMDUjX?Xq`ve2iEnK9*V~x?FLmeNshIyy zZOg}2I(OG^_O9i(5|KpfLHP9o+3}0!$17*&&&V$?D)h7eNm}AVX78wE z&z~{2XhFQBqNudQ&wsg+zl)ZCLcDZAys~`Jj74Q}-{cC#q`hV`s$xd`lLdcHK~l16!_htX0@7KD+D!>+0`O$ zP;B(J7+p1QUchV(pT!`PtVMgR04H;yTMYB@p%j~Mk{0-oMtZ;Ys~*}FYW!cb922da zu!&k3K5JbjX}61|_LZ3>;WBPj^J-KrM#P zZI?+F(^acO{-OneA+wR<8vl+V$3`nju~7@-gWhG5hV7KX4vQC7g*w-rYF4ETCu?PC zalAa-AvfQp+9>WZij>D=%piNo-AY!yt52#JQ(RgR4+htDN_M^59vUy1UwORmd%cob zABm?{Ett*$!QWXo^HK6LNmg{{GV@gGCHMC_S>5if?-NeuV35C0$*p&y{K{B)r8M!} zZ@ynK(0LhGQmAHsK*_G|0X#+>8uJIf%?~Ph)oRMTr6u$IIR2t!&Qh9^nUD5!KD2|J z!9k`*$*Bf_RynMwWPZ>n8W8_S@oR_F}R1_qIeKUtzx71 zChs^Mg!8DHUkN9FhMzwO>M_MYZSqMa&LBQ*9y7@f__&%~@gHQLpX~hM3B|O#(x}d8 zene5_@iX-Ox`xlfkxA|#-IXGf*y)Fa8t0+P@K8VdZ3dPaK6^)|`Z*|%7so1#PV|qI zoB2@xz+N5q#upXi@J+3x_ZcUn8*4kIu1;2UNPSkx-&x^wT*-;?;?lDCsFL}`K`_rL z7U}`gvltWSDFQPxsLgyifK0OfYW$NbrdAafQ!BG>ax%K{w^ia%GQOZ>RDEivwl6AK z+bBN6Bg|iwd}`T;hDVo|l#H2*!(e3L>jh+zwN`Waqsr&6gmSgQn@UFSh~QUM=>mVRJMWCr{K|3+p3EUBd`roz1TZ~@vtKV` z&1N-Ym=2jS7+K#|bB0?^Im*@iL(QnTKSFtJ3GkfPfBXu-9b);{r8m2-cBw_ zb%u2IiSX>J=6%&79I|TR57e>w^W%k{56`+D-v>=i5v>MA#NXc(;;vhTSO$q*Da1bb zj^g_tPYbaQa^4j}9DQI!^c@fp-~3OAjh_gyda@8pPY~i5$k5A$$T(Msx9&s!KM8Rz zzK`5LB6{x?5&un(h>iCGOHUDpbWRZ&_F?1RsR)YY=?;G@V*cqy(GlFsS)u9e9!t4<=-vD4`bou zE+PJOQAEtc`jEni*t$zZJPWz{5g~qadPM9qEFwgHM7;EZ5LbGHFkl!k3>XFs1BL;^ zz)!=#UYjk^4HAV|kPhb`Zoh;1|M%|v{|}h|N0vMD|8#^{^TWhZp-5e5%(l?D5M)*j z1BL;^fMLKeU>GnA7zPXjh5^HXVZbn882HH<=sm<1yFe_+Av2e(c^C8lKke^?H4XFs z)aTRW23D=lC*i~SIl#%lPpROAlt~r56f&uT7c(YRJd#8K$RxvnVZbn87%&VN1`Gp+ z0mFb{z%XDKFbo(58qPrBa$8J>425)tSde4CoHXP;%>OsK^Z&`1+qc-v3BKh#mv6FL zj*aghjtOtf3U3sIH>$!Lr@9;F%P?RVFbo(53GHFkl!k3>XFs1BQW}%|Ko6 z|C@Bz%Jla!|NqRL|IftKKe{<8!;yFV^ARJQ`!h-42&^c;Y#rcJFq9ngb)ZNGPSAk` zI#8+u3w7Wm9pGawlsHb&fzv_&R!uSt7zPXjh5^HXVZbn87%&VN1`Gp+0mH!0oPjsn z+Tv-*{g9g=DPJ+yX%!G`E41??e$%0sr{eM%v`~%GYpFO~-;26yRBda*kcc=T- zQI5iy{97?)OFqTYMa-9Bz%XDKFbo(53GHFkl!k3>XFs13xDQ!q5M^aCoQ6 z4>A9*KFEo%HRk^(=DsO6=Ko^Li+K;M<0T3q+pmByW}-}~iuP+DjF~7?nxg#%2+JkP zq?Y?F5XS6zPFHOI2Q6)hGO6|b4u}_XPpr36Y`+J>n29oFD%u}_FlM4mZ4~WRAS{MJm)C3on2d^Olp0*KTfZMN%~DAPfTb`RGxQ6@F!o*~cup&hB%?&*3a$}~#R z_HsQFWjf3Ga@(kP$nyYb#wfOZpk?16$}~>V_JxLhgDBGkMcWS=_6?#;YPows!@l8p zo}}3JcWsF>seNMrv|isB2<>FWcA)E-DAN>0JIM7+lu7kGIOKT{w9^#ZA+BelOnHhn z$MsBzOE%+BZgoJP(2P2*q}9*E3P3qZI8vu4kf5 zs^@(}o^zl*MzP(`^-Pp$mZII?^-PpW^?X3c^H6AKE4Bx^o{2KW6zxH-XQE81=YvC@ zhe2DQ*p75P6J?4k+FaK&Q6{y=jtY4m4()u!b~LoyQ;0GZDcUj6a8Du1bb_KC3k~-a zqD*SJX4A< zy`im8Y$roYHi$A+DcVD!Asa-QPExc}pdlMXnbdNpLPIt@&x;gWmPuQpOe!0+^Vrx2 z+EWx;Mnrp}Os6W^!=PafqD-eL+I(nOE>Wgx=gVz{8PKq7&+}5ncBX4flqt>ma%~TX z){A*xXiisbkARjj6JHN_dmA96OfxAe}I%grbC88+C%>Pku6?@+y}V=vIH^*G8(cc zqy^-|4{h-jiF#K;}ZmLV815LOy;U|3`=123Za% zhs=QN4e12=_B~s?0r?AL736o2LdbYXUq}YzpYPh@S;!j5A0d^H!y)@Zxzskv6agPl&%67&Bh3FkeV?2ZY}lILUP zdWaq2oSjDt*;Nyqee;FWt08t|3qE~aE$80n0b#NuoUhA7pS37Dq~m;CCRtttI+k|> z#Ex*j?fXomLdWuMlse9~eO+yu;*)c2nPhqCijH$>Uzcd*md6*i+Y!!{eV>U;x4fIB zjx%LnSKCJM$$7F&vb-!s$9b@?OYGv7cMBjp!g;RmGqI~%-mOx{S+1|E?Wp+V99Je; zUS~zeIjpZsbal(S4UqkR?7a(k6VEni8w~ zobx~b`JXO$-&ym$>-%QS%FJ{oS^1*i8MQK|vkl+g38vu*wNfi@C&a|_DJyJyWZ;0TBXST54Fz)vx^TRV)*l&d3XBPZMalbRn4^LcSKdaz}=Pg#)cqVecrnnoI@-&qCptse&J#gu;Gl z-0vCY*GKTP34ZZ{Uk3Mkmigg1CcM2Vf*+n@SYhKbjr*Nret1d=`^^yi@Qf1no5lT} zV}5uB3HxOUes}^2`_1Kk$fjyg@PrZevkQL11;6>+?>zIv^F!D#NASbb11oI*a=D+6 z`B}Ao&OFlay1&3QJR5{#E)inl$$%C1x)%r`}RsdC+@(}&x=gMU3;Zgj{EQM-y__!v%>m``|GfVd-6)niMw3%^F@L| z!TnfeOegN1vAs)7!+l<*R*rk;a7^59v%FhAVshW)k*ez?!A^ecA@ z8t!8&HRpEHa%uGyfZK{EiBK#e&~4 z?)PWrS1R}&7yOnBekZu!Ys_z@;O7D7FG5A-4LD?w8ydcE9T^rMR zk^8;H{O-{DIWLihYr)@`wn?j%UlwBCDa5?O{oZDNcL{!11-~s?zw%cFZL3yu`boq7 z;Wpl&xP_Rn34Zqoes6F;eEern@MKzfZkE3(`0W(@-r|1$#r$>&es2qY_X&RQaKCq% z-~C!Y=ewj~Jg+ltk5(%W2r==T%L-oG^7jSpL9OQekZ&(Q4GqeEZA|CKe0%RP&7;-I zKNVs=B*grj`@PTn4hnu>3Vw$KzpuI92h8uV;8!8|9nt!gex8EW4-lM$1%zZmPeLr=+spKvPk5HFpRj?jh%k{5PiRc|;U#(o zC!8l7B-}yBC!`bl6Pgo#zC_Q*gmS_W!d-+SLMCA_p*2AweDET@??8Bzu#Hecm`)f@ zh$E*Pan9qy}(u9QIA<~DQ{|(oJb%ho`NZW%eHC!_SH6u_n z0yQI0GXgauP%{EGBTzE}H6u_n0yQI0GXgau@PBgzu1j*x*=F~APS5{Eql3G!0nh(< zXN*cM!g&Ke91ay{s8X}68G)J+s2PEp5vUn~nh~fOftnGh8G)J+s2PEp5vUn~ni2TF zG6MSz^5T2`vHc5r{`Zavb~+i)|CnV=g?;{Sz+^nsYD&!r)QmvQ2-J)~%?Q+tK+Oo$ zj6lr@)QmvQ2-J)~%?Q+t!2ih+h@c$C*QnrKfPdrrZ#AW6 z1Zqa0W&~lb%Vhe z+}0X4y{d~ymk^N_+T9u@x9Komj0%v)M$DxxH3#4ljvE@5Do*XHY-b|t zN>1fSR&l}aO9i_X>Ke9_Pj7Za+zNgwNs{6?(6!Xx)44?Erro1ddNT+k^&8zwyNOe^ z9Smlo?noU3w8Ndq_ANj1zU8v*wInw{>lzx4Y0?B~G->>`4`x)>zO+?eC!I?$NwIbt z`eD#HY_8HN{SfFJkVZFn;DipIo4rChrvuDMyC+p&ADzpIo48cdwP%=1d+Hvb9bo-y zqubUc=BU4zAV3CPCGz-tW$bjj!kUIICTKE-8sKfbrF5;xqhnwx#wU34zFK7;Lg!}a zUBA$~kd-d4F_+Ng1@UnWs&Z<*DKyhInMr3%Wwf_hv(S!(qK#%}2Hp$|zU|0%>|NHh zA-Mu*ii>Fy?OG9CJ2Va77dDNCN%Zz=DP6kq$)R%7pI6y52C7(ET=f$64Qtw*T!G-G zagD=Umbe(sr@AKcPZ1)QP#2a`W6jl5!LG3jHAWPXM^jH1(m%vTVf$W}HParRDHKWU zfbOMj#9U%10)WU<$VJzv6>Fs3F^oZI^EhOL-gaQkwO6qW8u$Wsghh1f!JO(*CxFSc zV+&{(g}D8MCg`h`_CAM(3kBlOgIE*ofr3{*kzP`~kB*p?O^30j+9Px#HNaoB5|$a8 zM;yhPX-^dVjV#by%{4D+VwITTE8V2yUS9WM0a|oUFdWS@68oCBly7-t&Xm>*|?M?4Gk(B>;-*qB0e)ul$ zCU>1kfgiq*g*IH}t`iyW!_6Yzbt1uicyl+o>qJI+ZG$Rzok-~}-r9u@lF+?Ol|NYq z_HmZ>U<{w*5uNHYr_gJJOPBtBrpk6&RB_SYHdJxx#9ZQNj{t1tX7@Bz+$>f0sOnu! z6{it5ajLe1Da`3Vy6c?6TtlY?_D%mv>28MX%t1TkRbMBaOF@-w=wBtB!>TF{`XSIc zY-A4FgXd}aMzD1V*)KZo`f0O0qPs?)R zP(^OolHv}L<;UMrJ@-4JXJ0r_I2g!0Y;q|GCeCVID?3^mgsRI?c^Kx1K>9j1r@*TCOaHzi`uY8@_KOxJFcPMh8pCUg-Se2p3$&D1b8R3JzihQaewR>EV6DKQj z4B<_OA|JFUvV$<(rpVE>{3KSEFA??^$?__~bgK8bCd<-ES>8PR>%ZNg=l?(R=YN+f zNw=SWi;cFC__~B2Y|)pXf}bqWm!N_l^w5`}640AzJ*a#bQTa5Y@?}Kjn~2JH5tW}J zDm3w-N(uH_VfV50!CrTWsC0>_bc?9;iKz68 zsNkp7^d;E0VG)&45fy7hWn4sMLPP~W=BqEkzGXyIrbSfnlePL1j5ar-GC!h{6H!?b zQ7Me5I3g-5A}XsRDr+Mu>mw><5f%KnlD-7TZEHkjdqk!3r;IcqgVFXx^w}3t!4C)N zOEB8uh{~~u%JGQGsffy%h|1ZB%JUJG3lWuz5tYjkm8%gIe?;Yth{{_Lm3Ja4fr!e- z5tUCPDqlxbDk3W1M^t`{sQemHpS1SsI-fym?J7( zA}ZY?Dt#gAO+vMZvpJEF2TqT-3D9EzwMji?-tsCXkP zrz0w7BP!=2Di(R9=gyyctn>JE9VZsJtIh`81;PJVCgh;3O<0 zOeFLrG$;J~5d9_~;bp=}!o7qwgn5KyLT^H2!oLpE@9Pm>Bs@yEhp>_`hcJfFoe)d- z=K=byKEexxBZRvNC4`xT1VU#*J;Fa8qTl@^JV!W4xRX#sm`WHz}wTM^ua+6(}L}OVfE1GWq6wz9|GL0rGecgMea*9(?f6W;k{kVO9+2L zXs5WaE}-}B!k^>^dr`ld*iD!odf%*wA_u1rWYT^`j@qJ{sAi^jr4az~SS?l>2JmFR89O|Om9!I0rVP^26EXL|8`_cHIau1JujeF6`v#IX+9GA?f4_AiJ!#u zzSL_V96$7a==-tZSGg?!s*+v%A2UC1Ne`JO}R1bbY8~o_= zw@1%j&Gzz`9{T8Mg|tMPSNU#r=zO4#1T%n21=U0=WqRmL4o1W11kZqQoK@AtaWOsg z4tg-o&0f!N#EsQN+`{zG$4KFxg^%)ZEO#}rcHg9TsW&;U!x8sZ6Y&t!L)W8V@4^v( zd(V$n6Wh!5(Dg_kTRe8dJw9Dc)N@SlP7XjYYUopr&~bCKqcyw*Uo~6!km;e%bPMU4 zv52n4!6^j6EAf}rw)n2v7Qa;6!iYatl@l5k(6OxjyfwT(^;x^$>Ti>3TePXRMWkX+&i$Q$jNZ^j9wJtefE0H?sDjYenR7 z-Nf4cp8eS(M8tH9(7gmcmJaXTPS)Fp^tfL@2M^1uDpvRyTiy9hlO?*M+!$n>Ztem|z;J_ZQKzu8}a-`9|HxD1KS#^*y_XevIW1??dk&)sT?w^m{j*Q#J&&#w z{|=fPa730T(XwrAng>AdIebR%CtM>ud{~w@bfIk#5(sSx|Gb_0+?nPN5VjGP5+>D> z<$9e}`3s{gKbfP*_tJ9aMMWM;%i5jjGkTTg6_m^J1GHS+QIW^fvi%0?J1t*-UzVRx zWO;#Nl*iCgN>t_RB;EUvD$`T~c_1}vO3S}{6!}?tt7DBpm1onkvz^9|mM@=IXH&X_cq1O zk^1(HDI$}ZjBesORPReMikP>tA+?x9TVF%wo@m6(b#Lw$?5nXJspG5ov?gnRH^on; zVAxX2;1+5H?Plurt+bKgZW-HP3(3@~h&oQ24z_JWgF{yI*j%}<==;MlyMry-QVaAq z)ChxfCv!j;nSx;)TT(sj)Q)^?Zq_W=rvYRb9UemCAX=YDLA7lLk}WMbvNzcl>r7{A z($`kmmC$RW-L$a_wMnPYwwQg?5JP{HXc2qfmAo^wy&6e|F`Awy&^m@g+h!EmY{8!Y z=2qE0bfCtx54X~57CcUFx)&X()ns8W!VZx}y%YIN(e`T?8OCb*K7!UUG}<=9$(Et- zd*!xRkGoNm!O3*y+_b0NdC>5l!yC;z(Gn-Z&5w~D*s!)IRx)TuI+51(BR!gIRYqFa z9_w*;9P34N0NB{UiSsvjlJ=z~Kd0J;+f?puNNY)(=^M7*biZ3s8w_T+S)@H}O)Z5z z?Mnvjp7y78{hszC8{gB)EwFuSNBthouO)F*A5DD-uEvqez=*GtnQsKqs(*FbWAoZq zXD}JGXYf#3*Pp>dxGi`%2^(TvAA%v*1~r<47L44Tbfk!TYHSu%57W!nl1`Qm^bZ$R zT*B(am{~|;b83T^LA;zcg6BSJr@8PpCR;+4ma)|5-n+?Nb6pEY9!~9h9}U(=QoU8^ zAmSHPV{?|g&&fs;zNNTs(=YMm9I2@8`bGXny#1D$z|C<}U`Kb2$gPZI? z-Nj$0(BFS!|NmxyDhGA~9i2Ucw>aUu7|mfin)I>cr9B_5WJ`It@=zW{tMR*|#<15E zm(%3XF>d~Yy+uC|h#%c!C~$uvVDCS8(u4xySkvx-vF(4@GX#1#c<#0PZ-n62hPeMQ z1i##L|AX$hk~23e>~t`vX^+ZwWJu85h?!{} z_w(8|ab!!4^p`UU8@cIUspQx!sR?_mp%ImFqZ90cF@=QsWNAq@IzG77IG)V4aea=a z5eT(4P9STY@cp~dXq*U3Urjt?Dp?xv!;J1v+fXcEww^H!I$7y>5Ta`sctk z$E$&>)>j-aTP|B(GGDTm+h6dXcR%lb&UG&EwC5?qlfEZ>r@W6_PS}o{j|Gkfj`$C| z5857b?Xx~;-D`QkcAx3qz;@3)@s}zt#=UUzT*A}wPo6&!e=Ol}?1AeKrr&Sbov_oh z-FuJ2?bw=qXZr1N>ta_*j`Sr`t~!};jUq>p^hOH15Et`7EipVkGr?6M@3h2=Rn6m2Y>sD zw%*pRmev;5=9Xp^jr=A@tf_&!zNMb6PDO1$z14l)-#+Ra`uzXJl;HD!JynvHCj>v$ z$2;NY=hH_eX@uYx!z2lBqtpN3Y=H9%NWllB!8g|>36q(^Y7Qwo2%#xX{@^ya??O`2 z38BcC?iBXT<-VawP*H;KB2ph9AmUI0zLOUA#mAe79Q>x5Bw@N#SY1pCdIc+rEx6#l z!er@C!xxd0lm!=jG**%lii~#_PYAyFAQ_QiMZsh=R%J)*EuE6Qm>T}uig!-^tCzLk_vWK6+5BlxZ(6_H^@!DKjAWqo#% zg2m-u%et3)b*qwGOQ?K0D~P%(WU+l3WHJSOiTB@~&e(nY~{6Pa+$ffWTG%&{u#)t#i^ngc7! zWkKCc3bqR?%9Y@PA6Ivg5{gV!2_NdQhAc9s3m`JAC|3pbZc-2#Ruu7w-AW2ZBh+V1 zHDnE0p(FE*f8u%d|j3ndg8=g}L2?@k^W zR+Kjd^_-p3=uit@IgVk!lC1}lm?xZtnR{hG))kKPe{akSzU zgcapoLB+n}6@(QfAgH+dV!N=Sh}*>(hF35Y`F+6`U-^J9tSI7W>?b8O&UnE;6ns6T zqR+6Rd@QIBk%B(Mit?$T9v}tVg%w3Se-DxpicD4MbHNuAOb{7XlrIJKVNwtoRunNZ zzOE9Aj0Rr|zDGz!WLQxu1QnB05E)h!@l1Jy6pV9dG`)!uY&Ir+!t09aWpVpCo~%P;2q!mW)0aj=Sfo0=iv9jX_AMa;%h?a zbMV7{`Vyv~K1B-p3@eH_8fQrfMW(8RkN(5keVR;&3@b{spguziBEyOzj>fa3U^GH~ zt}FPSh@d8xWI|+EQJM&9IVp$?D~dQ87fHcrg!MxV749wFRCSV~AI^d&SV{PR72{$;|Wgu4kvgvo^dgrF05)qwFj%#LbVU8Mxok|RcoU{dQA_e@+Wbmaa;49O?ug(I$HV6Es9sKqJ@VmL-_Y1(E7lXf1 zoO7h;pQ4Ft%Sr>R)NKN8)C%0n4DQec+@lw`Up#nFKk%@D;88=siKD<1MuXFmz!}Nl zX%oP+CV}VL!1FV~xii6qS>WRN;MIBH^`+qLMjHL-J+;C6>VXe503U7$KGp<$qB;0f zEAW}N;Aa}rAgZt7g?Xb9RapfT)da$usJ_)41N}}baG)v7Z^8U_Gpe!*=t>I+@1Xi_ zOD?>NwX)WHEr2zDTQqwg)eqZo;X|xlF+=zm)lb`V;Zx?(5yI!Fe%Xl&Ut-PO1;W>; zR&=Lo^mkohsDR;{ZoK6;tYr_r_8r#zz0mA?RDX=8YVT44fRK;KlPz1 ztAK142*05EYhNz>%7p&3rWg!VHz)&wia~)=Hi)mW1K&S{*3>98iyltZ==!6;rlBxL z!(4Y5Raphz?hz2`W4*yhE;N8pmcZ9cSo4oYvqosvB#ElgEt0`)5@BuvbF(p2Wfin{ zkA=_z>#fFdfn8h5QutaMH1khDGhAs5=1EkI?qmaZn+UTR<_@V;Wfin{r$Ok1^)BgL zU{|EF$$YIFn)x%)4A&<^uW3|`w#)<%m;!SznEOnnDyyKqdpZOQ*89!i0=tft&EjhV z(9EBOX1J;uhGbJUdc=INbq>r!U>-J?s;q+cZaah#SRXZy3!@;EE#PbHvglukX1FXG zlJck;osthu&4oD$=5dRt$|~@7FNTnU^$AP3FabhY0bfhSn!gau=#-ZXwq;a}o>B^) zQ3SIM<_rf_Sq1Ig#So@oeOd_@ra>r^=z;|E46ONOT2p6XJMz3lKUfTrbQkYjXr7EkS{iWs*R$+a03ofjNP}YjC zt;L$Z4VtY(Ggll{qc?T{Z)yv(3+DChsLCp6f5{ACBi75>bD<1ESx3IM32Xk&Xto*6 zwsfOvbma}FR8wk3pk@SWMxbT{YDVDyD^b72f67O3kId5_^fa_}a1? z4yz-($XjSDtXOJYnqA<`_b<7z*t$57=gRXhx{({3YhUQh@h@;JFfFjpch1{yugH$g zw$C-p^~|Zrip`3j?V7cJX2lHm49g7H^!?M$Pc==ApW@0iXZkWs8S#_TZJzY=X{I#q zB-iLP+Cs-z=kN2clQv%7BId5s36P4y@hvQ>5)0(6jc-#E0xcl7+9m!>&l&Sy(6B+O-op8Vc}-Ei#e zf_slGxcAuFl?z*OQ*x<01UH23J-DzPLRl}qwi9dqK4`WJ&35;tYV_U#U{5^EyJ6mA zp(?AO{iS{o_F{cse=h8UP&SaSd9damjAjSW?9ec(MjsssK0XBILogp6N>x@t`%A+i z9L4&v5nMP1p==aiJB~HK70phdnRg6Tqfd_mpB)Xe7v@umRAm*kzmx>wG}h0I<-!>V zWyyT)EY|$v(d-#CJC{n;XkR+`;slt_!TkJ0sQ7LAiK1$4*vZD42vL%X)TWjod~j<1>7T6;9>fM%UK zQ8l_-2N*iR(4`}9*@d<2%-6cHwXSH^1I>E%plY-5Jo|;4(5UtLfKFVi4c-TP&GPb z7z{};j2q5dj$8YflxLDLN0{7=~Rs_m=^Xtp+&s?n|-7}mnDZXs{E4lUh__?ioAQH#-RJ(_JSplbA{BJh@CuzLx_jS$Q7 zsmdzwvMq(M3G15+xv-fD4hUNyY+c5Mtq`J0_?jDQeu>_wRJWtqP6h8-?l!=%6NX(f zRau3#RQcL&tVPvAvprDvMsZ;;1Y0zOeGoi#xZr`{uMgn>ghMf0I0PXo7Q$f&M@?Kf z$~+oDI0oT(V=f$rP}UT}2?*Y1T<}7$wSaI6!s(V=IL(CC5Y9k2+lC8gna~cxGZ4jW)-n7T*%L3?U4i@ubRL#bGEIJsMV$lgg7Y9|Ndz66t6vB*)oYJib)o#XR zSoDCUS23!+jHOugF&ehf!UCb6O4aB=QQ%=R%>7^HF z2a6F9M%AZkbYd)cTwRz)!ECLEs?`{S1+HRBQUg?zj3z9`85?1NE0!{$DOID>T7WYe z!#n}z)F!B=8k=E}28*pZsy1UwEHaF(vA~5&nbwY~(X-lv=eB_v7cFH*TU2Klx~Im;2NWpB~mqd^H}g!E6imuZyJs2CgT_^aFtQE zB%!*+I1Y=g#uO}YT~W4Aq-yl8H1MABFmH!>=LA%D8dI^@1_22a)so9!0~|L0o$Iy z{g(UvyB)iI_u1|X?6U0g-D|qnyVJJQv%|8(x7|du%`4n)x5e$+X4>Z2T5-4QZvPg? z7Sk5{T@{;MoBem%@APi6ZK}A#dWXNvUgo{sdb@k0Wut$CX@h6IWxeY*(`|N_!R2vQ ztaGh1t+U@+vDUiQzs9`Ax7xniu-bM@V3lK)Z>4>ucZGF@d%1bJqtsApD+v@kihav$ z%RKZfA1JaE`3g;i-levs6$S1BOMyS%k#EZPF0n1CSnOVGS?teq z+@ej}?y#`_7|J}+A%LAnnZNI2^+p>VeYj2k(~udL;h4P5 zb~4?N?n$ed6g$bD>YV7GaAUl6e0GXA`P#S}W36KYNtUGaF-7$5fqk^sdM)9`DC?-e zNXy7{diTIL%s$LJ^xBXcgRO%DgDiv62Nn(R^|$x;^gG}8y2V289+=|e*}DhUUhbYJ zdtB>o?(XYm>K4!6J#cqAN$(rPb#S!bW)8$jakh3vZGCO7x3;uSr*{X=x47Qi(mcJH zr>V7RpoyhPdgG!-zJ}NNy8ylh*JGp@Tm7PXzPk3hhPt*oMbX=82co1XTdfMC+Za$K zHBNEJ+t~BJY4=_2|7lE+{%Vt0sZDb^Z*~5i)uV`=m@T)6DjyLH%5j4v^@j+p9CPKi zV2z4F!TdT_m>=fC!S7>&K{+Y-VJ2MI&#Uz-|5eaVX*H)oktjKuBz?kSp4P^6Vjdf| zhaU?tD46>e?x&Ho@b=CKF)>RGexEVFvw|PysD=G7uZU2nGdnxhnhO#H=iA?;lL_YqfIB$qL8BJT6w)cw){K z{JtR=6wK4Aj9HEuS7E<5w0`B7Q5DwS)M`!(Y3S#-EaqFQdta-STZNb( z2r(16AJTdnl#c|zB*E`vtzY>#LHkszIa5eOKmWyIey)w_oWQq-AMG$GUud=RR3YY< zLd-Po_cQbRTJW<8emAs!~>T6@pe@t2tMZhJMy!F&k)OI#=`UMKLW_tCg=6Vw!}Q>$qQS z=GRE@a|wQpwSML61+A%8b8aLJ{fuTYn`>h_%lP){Fs+4FE8irC*zzt)1^ z7QwHL)~|f4ptaL#PB&@jXFV3vtc~g1&bL>eY3;RI`A#8b2O;Jz?ia)SIthNe1;5T( zzw$kT)>W%H_mYNwHefNkYhyb1@$JPjt%p`C_Xsh23Na6GKNIuoE%+T0{Q7A9$`1>g zMXNcFl7@aZWHI|`V>*xV?KNUrf2~%2T!=Y9hMew`K{aP}=34-4h!Ed7Aca{6KVt$hZzgGpnG{Mi${aQ0W zo8b4F;5S+DdxQJ6VSbr{-`B(fXBtEoiw~%~?Sj&ZCYjW?m>JS*k6MUZwf&gc8DZ!f-+yK_z_h3eAZpoFwcZ ztR&1PBoI0hY7@S=Li5!LPY~`StRZ9*#t^y^>Je_dOu6d`PZ1s3<2-$=&gsy~ogc}!V{|QeK9w0ag3kb=Co`hJ!w=dBC6P_jPCu|@rB1|O26B-kK z@X`Jg&Jzw2?jYn7(h2A`}ra34;l(2@>I5&&w;nHzr6+`18M! zp8u1!;bEA68}sAPq2pAXb)7Ao#jA>Qa|#P`N|vq4$Q(ztvC9ezGILgz6fetL5c0bI ziQv^z61>t2^Olx`+(ItrD}UvWZK$QVA;F~x{+agN+?)m2aAkyGuW7Z~2tr@+l+H?U z55>Mt%v+jMrK@;$*La9s)q3QUcSgywyrsD}>F$@mH;T|(Jgc*Ev)-l`=C7*KTRg#Q zJjC8=J&MRXw{YoAx{8PS-xWgWDjwIvUaiD|O%+~JG^<58kH>gc*zUCwJ1hDWl;)S@ zu_!m`F&^uGXB?r=cytf@=?>gf?Q4rxtjm=@D0#EPPH4<_qY<4QD0mBi zm7qh_O>u`6OXgu$aEV28=3Ds-q}BKeJ;ZZ9E6k~d*u%>6PuoR2{cAkLE^0lfk8Bl< zSqJg_&q{Dxkv)YT;t4jH|wCrRp=ld>%&g^YnJv^Lo2o& zJngf>wxj!F8@|j2JDFN}p@j?c$5THm)%puP#e;p=O?N<6UMjU?iN}47hd7p64;oC? z&zrpJc=Z2WF@(P2;a=kh9o1eFwd0D%evOmZSDh1eH*`G;UrOQ3I*m61SYe%R{hN`5e&cCB?AS!x z@7$b{xfz)m+B-@- zhx)LG(4CCTq@~Mq@(VSs@hBf|-AIgYE!N(bUdQ8mgtoz!GgBe6Uf_|P71nQEFRaC* z^OoAfe-*CdK|S2MvDk~0;-rG2lFC0J*YR{7ZmbKPQk;=jP?R4Y4m^`bY(2WLbm;Qi;K8;+@bh^7uEv3$Hgc8~2k#)#?IpCbG}TUb_3W2CSP${Q9S))!+A(>> zi}A#Q25bO2iLJ#xhFS}~yxv)GX(kRqN~nL~G43L^7dH`ZFK(o(;G{d6G7C%RFUkpT zp_|xP+yZYbhVL$Vi2IPZtgyIP6TXMoSPah_SB4LceYL!zH|5p;FIjF*%g^7TJp5UT ze0zOG&KRM{oxYUi>$6q)L~BJ}|B5V6re$YZ{_r{F&nN7CTb2uHnRrE(n-Mybifk@X3^Ws!_V7wwr*@_(V$<=8;(DQ$@$-&`^rsx0XZ@kP_@ZQqTpit(T zN&`NmN2xRz=$$9Qpy&-oy&+0(h}IkG>J9bvh6Z|rNpEPRH#E^3n&}NK^oCY?LmR!J zo!(&98#?F>o%Dt-dP6t8p@-hkOK<3-H(2zBetN?IykWJKhP`^jKE1)CHyqF#4(Sbt^@gK*!!f<#xZZF=Z}933 zr}T!?dczsL;jG^9jNWigZ+KpB@aYW~^oEOi!zI1pvfgk-Z@8*Ays9_&^@i8Qf)f@8kh9!DKf!tm1~?+4~>xgRKqn7Q!0B62eSE3Slsz z3!y2&NcgsuL4Kd`XM&G#lCY0(H(@OypD>Fso-l;amC%e(i|}1b`mCAo8sP%C zgb{?EgjR$)gddyI=jMbr2`>^(6Alu#6K*3o2-$=*!bn0dLTf@@!oQjrVJ4gle8!pnrSgd>Dqgxd+F zgaw2Q!f1kp5JzZ0__xU*e@XZ|;R@kt!coF~gfhZ%LJlF5kVxoDFcV@4zs6FoK*BqO zR|wA#9wF=|+(B4DSV)*c7(?hsXiqQ^B*NuWqp$r)&;RYF22Y$S`TsGCIg~lG9<{O1 zpI-L#&)&+yJmxe4tSJ2i6*HM_1Xxi92hmzcH^6;iMR}gT)e(H_?mbdNqfwvK5rXggq@vHT zqKp#M4@g0uVMVbD>W8GD&#gxd zgd$T_N)vojR4mu*kijpU&^p+@#3@eH_8knPw(FpZ zq0umrS|Iph7CS}*R+K_P#XNTO8CDdBpholU!ipk}2IjekB2x&dSn$P6cSMF2rBqPs z@yM{Eh@*j-@EDCypH~RJG29nc6mc{#Q$92r4M|-k_+qX+`V1?|YC*+pdGr}pl(mA| zkZ%`O6mc{#n?4koLP+ZbU(BaRWLQyLg4%>fh80B|4a~R4XoUK_Uhr+kePKlrM+5Wm zL!;4%)Qy5KX5^#Ku%eU+D(2*)&#j#P|BsLxvk-#G3ID~dQ8W>Q0=(U?@X;EQ?x=rgP++XWRf|IueyQFaPy zN4{NHQN+=}Hv>YEDTK63@Wpon5E)jK-GbVMM}`$e91VPT0HYD=^B%#s8~243MH~%$ zw;(hcO-S7<_~P3I=rgP+`veu=FF>DRMezt~FTPz^QN+=}_YXpmDTH)D@WnR}5E)jK zLxLL5Bg2X!jt0J=fYAu``LN*Im;1tsB8~>W!4Mh^{NVdh!580QK%ZenIVPz176bYW zE6Q;}9mux}D~dQ8_?AN`GKG*%2)_8910utU;uX{(JTj~(;%MM|5EzY6pHB(C!?-W3 zDB@_~dlI41Xh!O3!580@Kx9}^&IsyA9vM~?u~(xsk(-lxR`5;Wkzqx7Mo_IhGOQ?K zWPH~m)aMqYo)diWZ42}nR+Q%jbqtRTD~fneh;L(rBDW;fC-~y~7>Eoj$^}6k$0Ngv zB91e@uMvveiqwmOZwikLE6OE79nT}fiX!$I-{=TMZcXZC!581@K%Zenxgw~kJTj~( zVq|>hBNVv}saHe3tnGh5HTnPl|C#^4VcqWM{$@2py*^?EW>*twM;KW4m7^GCE1ZCi{ETQ^1TVktz7V2Xx0p|&pZ}TKlZK_`6;Zz@Ii8fCm z$ENxOa&oGtkzrGPG68&s<=1?QrPDl%Oq%M`NV7=^#=y@ag{FEADL2*UkU&#?J_URp z=`*nlK9(@^1?0+9FCdYoTFx?MUPO{i^+hDrR4*Y#rux!k@MV@D^JV15RIf|{zrr$O zvZR>mpQgj|DocrZ4cRbN|19vIgSjw~22*`~4)_h01oJP*f2p$H=TQI3vR}T1#Fy&d z7J%Q*0skEtFV%N)!T-hbUB1hbTwdq-Eu{c5U#jmR!KKQ6*hBq*rMLW$<+S_==`7Wc zk>yhT1j#JbPm95yu~e3yv;37`Aa$ksB{Ev7Um2SZpHzQE zPD+}#&vQ>24EV(nRc6U26_#;QMY2iNh#Zt^Eu@-MqwsqqYHgNiGMZ(Vtb@doYF*@; zRO=zFq*~t$j$uh98?a20u^nMCA-AO35Gf?pMqR*-Spvx>ENf&_B#cy>A&;cm9O)v} z7QMhNS+dAh$P=lyjt944St8paL8RKQA2<%_A?Zjmn2{V(ZI2&BQ9H2IkR6c~QtgBv zM^QVooRD2uBFL`D0jYLFYDl#^GC-<5@Y5-3PnQ3&7g9f}y+?!lu*8q?V^Fswf%~$I zkNuGBQSF}$9>7vP4n&qmbW+3ZQ}%%t8pUIG^(k{ z-l$GOl14RcJ~({=*p>sHjFgOO1~N6OnMlZ}PRRpLW$75FvAm1Zk#bR;fvk+`OqOtQ z7IH1Bvyq`u&0?7r=OD?VIv3d*)oh+((O@sd>O3i)a(&G=fEUQ%90j~k1?L*Ui)w-M zqQHx5gO@~u^Xq^M>VlWzhiBBn`rx7%u%iKZSuD8N1TJX^E@hb$mp4XzMHBGKrr=e` zmZ;u>AF5GTvs{U5kS0-G+X{RuOOm**4eHLe#CR24EJ5OJaWJkogEzDXZ|nfRy(74+ z6ZnqK;7wh?cXkDD?gqZAJ9tYE@ZCMZTYG`G^#;59fbWS1Z?}MV^abzi2fnvIc-H{% zeFMR}ky%l_e=vB@5by&-!Fz{+9~=(eHv+tWBr$fuGYYE@C4diD!3Rf!4<&*h9s@p{ z1U@nrd~_W6k!0|(6!4?t!N(_nADak1kqSOJ3G7V+Kb{UgWdlDk8GJee{A4Eh%oOlb zQ^9AafuEiZer5*v*_q&Tv%t^I20xz#K0k*TyWpFP)fckC7wq8jdEkrl!7nZVU&;Z$ zv=Dqb7yR-f@RdC9D~rKbmw^A24}P@(d~GS%UkLtl5%@I+`1NJrH;Tc3DFMG(3jV9K zjrc7C_-``!Z3X;y75t77{9m=e??!>I*Cxg;1fsF}ULElJb-^Fh1AkZ_{80?};|AbQ zV!@x9z@Ie)f8GfEMPu-nO~79@1%KTPe4{zIq6PRLEy3Tk0#|L-x}G#Y={s#dZ8+_D!umwul= znel9gD;^H!#&aApQFc7r!HNU!1C|5+hk_aMY@Uk!?){ei{(X*prhU!_%@6wa+V>jv zdLFPo5ZL3|W8UMt-+sU0e$Q^}?!bMn`^@+GcG-6sc6si#-W%BI+G*bD+hN~f*x}i3 z-5$6no#)N-Z*x%QJnvQ;<<4{8ZQy{g<+^a0B{3{(RO_W>DwxVLWd%0z~ztmA`D)pAwN-B!o#g=0KGRHF0 zGOxqts3>w%o;`n|gJ;@1UtljV6nOHj`GF;_CFUi*#rDO9#hyHCUSN@Hk$I6X*UmEF zSr-O!Tsh_(-vavr!vfEI>-@kx*E}<2!!z4`+4gKhwr4K==KLJj9P=DsmOaam<(X}r z9hl{sWuE1mX`gAB>6u}j5t#0pZl3O&W}jx5=9y}p8kmwkr6SXvY030wI4JABcd~7A zh0SfV*!<~^bW^%F%|_Yt+>u5OZDPd)H)Z1Yk9UkWjrXR+rTCKV$%bUl zIP18;Sl3wdSYMJo$&ln3V;vJnbS0Wuc0I#rkJV}oB)AgH3BFPGQHD{Tk=Buc5v~z8 zhP#JbhWm#(hM6eeo^5Ew5cd$v5dUDuU=z#RUop@<&_bE}9Ro}Qy!~zcEBd+nS^D|= zI{KRWdM!4~`FMN0A>Px++9%N4)!W?L*UR3^(96@)+B49@)x+Gw*WKRTz%%>1x|+NC zy4brIH2M9vb+mN!cW`ttb?~;gwXZO{%@(si&Jkyd^R~0Kt7z+PYia9m<7i`Q<85tg zUD3+j%F@c;($Uh?(%Zt;qM~_rb3=1aGi$RzQ&&@SQ(qIB)zHM#*xESI$koV9IsNPn z4Gldet0@rciZ#dj8rT~c8hB!?F@gFn%J1*17hlg`*HPC*S^jNxDx%%dmS}%%M{QGW zZAN<#O8m1e`1^L?AL772n!*2S5B{kG_~(w`Upj&R-5LCA7h*-0x?;u9 z4J>yDD?Pw!Pq48UxK?j)R3C8dcyP1@T&FL%Za;9n{^0rpz%c{C4F-W@2ZK#Rzzv6j z8w~?D9!^aAAU7F-)utoC%|?NnCxBa6!7WFFTP1>9j{&zy0=FFtZZ{4bmkc(ifZLA; zcbEX~I1$__72J6exJw$iYdW}_4cvV)xJL%KXC}DU6majU;6Bs9@zcSU8Q{J%!Tn}| z`_CrEE)2-R>cBbRL36=_v%y2`;Gy%t!{&pBF946o0gqe=9+eADSOm7_fk!U}CoTbx z$p)ONlqjrDtqqHJfkjnWnj(i6P87kEu?@Y+7$TjRm&EMR9}u&W>Vw*KJt1Hc;wf;SEV z-#!>zHUxafQ1GT<;5&zdH;(|{H4?mK6!`80@K!5$+i0*m5q!@W@b)C|jBZ1Axx@S}6U$LE3{%LbpYgHO%_d*_26UjROp1Aby5F?Qi}E>@ph z1U{1oerhrJ>=N+P`QT>?z|SrPpDP4ER|J0E0Y1MB>?;PpPy)VC3NDw5?2>xX0De&h zUsAv?so={-@XNKpSE9hL)COOT2LGuJ_|>}LYxThX`rtpufM06>em#~LyYPkytAA+- zezOtyuZ_WPH39#vDfsPX;J-HqztaNzUoFA!wgO*o4Gy#cztlxGzk3jVDK+P!2cc!{&g6!qDaHBVi*CIM}n16U^M}3w1R7m z21g}=YmWg(CxPpX1=k%1u9pn1p8}2<4{k6496J$gN(DEZ1a6cDZk$d``=B(jVYTUG zaI*|>^GtAyDd3h21L? z+JR@rfoGY)v)hBSI)LYN1kddR&h8AhcLC4q3ZCB$yr4Tcrw1`Mw6G_yFD@6l&#W9FimJQ~W;vu|JGL%e9 z1h1?d$t$Zy@yaa;yt3NLD{Dsc%GyL;xpfS$tV`k*=U85GjpLQul6hr)3a@M!&np`z z@XGBId8I6sSMHd^E1S}I<<4|o*=*yLyC(C>mJD9GJCj$oPT`epQ+dTbjaTlO&MVtz z@XC&vys~o^uiQJES9WFb%6)TqW%pcOxj&m%_SkvlfqA^LcRsH?xPVvog}ma) z<&}pP@ydZbUOBj!R}L-Vm51|rrKj9^XpYxK!PkTw> zXTGH9Pku?6y6u#7s_60S-gNKzlkq3_pNKu-eC)>Y?BmxSO?dR=vAAQ~9+4g?I(q#` z`jPX8;}7qDIQC)Zp&JLY4_-TvaNy)aaSv_tNS>no*Y~CGJO5z(gZuZ!?sYzJV^8*; zYxgJIe{y%+?rrx;_Z98BesB7{=Xb{M+`l7shjaUld$RAj=1y>*+!nWO+g537(cRa# zq;ENYm;EloU7pR>&4D{zcbf0?ZL)7NZ1PYR{Xm(k%v|QXJ^pt8M#o0eM(+mOhKlv> z^_KPi+Z>cl-|MouDx7Yo#pz$?SZ7-2z12oJ_1$YNlvUrc#L^u z>9qn!fvLcoZ_BS(;$C7|;$Q4oY+CHiv*lGRaxbzh^5;5oO}XBMwuOZSIlzHvdr?&bj&o(^v&t|kK=eG$8j8w$0K=p{CPZ%$KUf=U9HX5%-OTg{{1sQ7O(YYeV=FDo1|Im`!sP^ zS}XlCoioETyff@Gg45m8t<(Jurz2e9t*}=Fr@5zDr}?Kkr-r9^rltg)KYw45PvCcq4wZSzY-Itv%YLQQ zEuX~iFL9QHM|nrtM+J-B#nxi~Nax6KkypOeFF3+I!aBlV=qwBm_sVzs1q<8-)&l=9 z=df_TH{YJ$G1M_Ml;_E_g>&dm{269|EN{(-^V{j ztxjt=#hYSJ2`0Oft;zl*XHq!Pn`loA_O0j}O7JAu5&{;NMX~rahZc(W#M|WC{#s+suLJ*Z=P2-~Fpx|Ht>f{=d>}3MgH-0*u!))34+gr}-f|^<~2J9XROR z*JjYUuT|2aAFEUme@pMyuhu8^-urqc-=o{!Lif7%B^~J6H*}g?=qI<(5gxC^(fe(g zE@-LrXItp7)^g~iw$KZ$718r-p=((yr#sm~XR$Ve4q^*Ez*;@Mz81Q5wWW0BTIi_N z*3mg@q4!nWN{_3BE>&$0-Ker-3VWyQp~F-=L?@|*E>P__-JTZuHMP_9Wm@R0)Gp9L zX`u&Fdxb7X3%z>U$8_3hpVKX;eWgk-hV~s@Yw(G#O>U5z{GP0{w!gJPl6#9}IyFJ(D83|}u4E#sN|aH`mS05P99NX&%U zWWTOsa=swnqqLA|Zk20^+#9#7VKU zq&0H$$HLtm&BYBJ3wLa^P28oia2rP3!L1hyH&(QL+)S}>w?y-Dhs44y5bY$lJ-T;1 z_9Qnrw6omNu=JISFYQCF?zK<2qPK9#u7$ZM*S_VNJ6=_|tkyIxoHZ+####m!znYE9 zTdk0*SIy4Vs5XV`O|6nEO0AA-My)ZS)g}8k5}z20{z>?<0|PTfOBFQGewVlX+K0Sz zjyK2gcG;o{S}N~vwH)5Tb{~YffVZxep(M(Auc=Mrou!30idrr22`#+E)0%iUXQ^az z74O3=ysgr<@D9piydlybj^>@ldmy9LPaf84gKW+8P8N^z_b6}CKBk^U`;;0M?Q^PB zv@fYK(Y~Q(M4nDmfM}^ybZ9yHciR_HZlRS^KB3K^973y)=P|pKS_N$#wFlZ(Y6-MG z6b5LA=;+su({ZnzrXyavK(D&?3O(uC8}y!QZ_;C~y-hE<_6|Mc+I#edYkCj3_7NT2 z+Q)QZYoF6et$h`T-zAFj{GcycOQ5G%OQkPZ%c8ee%cDP6E20lq8%@8hR!(27Hi^zz zZJPegd^6~B)oSTx)#~Y5)#lTksx{Gtsx774RBNWIR9i()sJ4#YPi+hRo7z@-FtwfZ zKWckpOXcx*v=2V4;i)_fjKtSVFj$7~j>Y#U;fGcDNdtbpSd?ekN*ak9Fym&-k82n0 zDL9257p-OpHgeljb8#C}+r&LdZ3p)lwSC+()V$mS)J}3kPdm#^JneaI+-Wa!vrc=J z8+2NLn{wLg+=$bDZ{o527B}3qU>|&!yK36|$@n4n!L(1f)1`&Em!*BnttxpUaW_iS zxZk8%xuc|IaL-7yaZ5-mbTpYHFAeVTh3h-&BdJ* zZ4Gx%wDmEq@~GZqMt3}JOTryi^z_Gl>3AR$4`-t{7mwxPiD7uM5Pc>1L>ZnRkN&Cn z@@x#$VQ@aayBI&*D#n{*`&^MmTwhF0#w@NvwHz)fwE`QC=0Z^`=SokT#^sq-%QcnO z#D$QyimMlGi*d=J@bok9G_EqbTKkO)i>}t8wK6}i2>P5y^olhn&)N4WRntDCrc4Wu z!f&Y*)4r!VEM8G40Mj&zzO+PYy0kRvxU>u^wKN;mSz12zS6VSOSDKxwDs2K~RN52@ zrL;d7s(TH1)$t{?=7PHo4&K4}V35#Od#nEOg zPrzwOIHNz-rel3JHs#{dVYsRg*OlOwGTb^IcTU1R4%|Nz56#A-b$EO}p5p$$cA7i< z+Bt6NYZnrE8hwls8v~9+n zfv)9t8#e>GTAsvG>2{bWD~vgvB9q#gR6I8TFJ$1wLHJ@0zOuYk_FVm>MgG%1TZLb& z#qfIkdLw?j1;4-XO4r`9a`RE+0$UAGAK`Kkhspe!%;H{ej>y_c7}+|NYMU z!$-YG?MH+6x$m>y=l43j;dXDky*+rueZ+dif3Nf2@L}&^`{Cd{?*GI60M}j0UA}#e zeW5!&@;!F`z0SSiJG^(;?+AL_9;?US=4=b^@$Rwj3Eu9$-Fmx!w{v%Rmv@(aS8%6$ zr*)_QHs@{OpREW8Y;(ys?)h$Z-0a=jdD9j5wbqnY{}$(#@MiC3`{rQ8U4Vao6+pn{ zaw#rfi=!pf>}j?&2UfUNC@Xx+?aPD9+{>)X{7aon!%MtN>`Q`+-HWaAU3tz$;U;gB zy(zfRz0kVQ-{}0KIsnJKkkjL|IRgzY{X6s=^`W_*xwg51I#-=i=bPi06RP#p+G+!{ zU9*+hz8XhOsM=F)s}5ATs+209{_T4Ip8EjyDZ$C^$=1pKNsdXOiJpnJiGc~O3CaZL z_}21v{SJV4tbJ@~jAx8}OmMVkv~6@iY5>~hoA`pI9^(#xQsN)w92GA17Tb%1Bi$pd zBmG6rqVNds2>Xa&pZ?Zi(l;lb3NOUBI`+EC2F>qIy3oc$W%(?SoAGh6uE186t-&x z^RSQtcCCb>b#3%g97}P!HfbeJqYhnjP<5_VQE9H#Qe&>wQBkhVr;1!_GVumyv5L)c zxJtt{l!0p-QgBN@bW`H3ZO_1+6m)C5Dc{!i4#E9H@xX9AQiMmT!q$%2@!>IeiVADZ zM?JN6h8k+^9M#j>d1|G#i_}MJFIMBr6hUj3>hU!vzPZ5#JjFTgCWxDZVor-y4S? zOvKP+{I~)?n}J`i*2|(51R{c%?MmS5;v5hdo*qv zi`ysQ?#bwxihHNyfl54Fg-2@f*jzl(fDbP~UlTsD7|$%n^DQE;N4%WG`d1RWxCURm z0bkjGmp0>TZhYfrd{g0l@7pTA6Nm3v@Pi}_rQpZ?@w0UNg2EB)OUgvFuPG4GzRAPy zDFo4eC=}yWGvyvyTnQ%HF?lSem18=^8d^4G8d{D6^Jic|6&BZs-3OwUP-&r!t;h0t zIEg9>%|ZQyHiK#jt%f=Yt(K|?%}G6kHlNZ5Z81d;+ENM~v}TGMv{e)|XzNV8pWP6P zTl(Nu4Yw!a?quB45BH|w{(*QX3y%!Oqc%J~6dx|YQzP*7C_Gz==SGV?$8n*Y*z*(c z#VPpeG`uteU!R4)ufex!@$I?z&OCg70e-LuLrd`E75J$OKVOYsuEVcx#BVm?cdhut z&0@US9CJk)31&==Lu&%2Ct^klX7|Uu0hphOMcG)ABX%E%**=8W*kL$nI8GUfGfJ?^ zjx}Skemu^fh>cTmsRNs5psNbk&BhILa8m&cLnZq;epk7c%9g@ zU)~M9TgNu{Zk3**3#7sz$cItDUj|t!pa$kaBk-3t7XG-#!r#+a zT)FOTr9Ejs%+698PXsNY)}BjPzs}gzu>U&M;jLYD#J1zDxn%`VJXACFa+{pI23^$#=u0VfH_bP zjc}7757uo=$6pbWzzXS*3wcloWiSb5LLDrGW>^Vp1fE4a^vy~_soXv|sXq&rw#uer zF5O_{37VC@sq>5{c`O2(hsJmr5{yKOFz7x)=!V@FLx~MFLXYCK+bNg(*V24L){X?g`a&;em)c2_K zQRPv;)cadc1|D%gVtXVg760~!Ll1c$ay%41;XC0xp`7qP=#s1az;X9++wtH79=XmB z9rGS@91Gv?lPi7Ye*aO|QR~rwT1S_Z+bw2}%9GL$3FIhnyx|@E&j+2;c3y+j+Ngw|~D&{th5;m-{Z8R04SR+2zXL zD}M_R-s_WVe`T*<{u;n~M?kLrZSsBg9;pWi?eWUD+J|rVNkxDncL0>#Uio%=_s+m= zS9h4?+wBAYt}1|z&5q5XO`c7*O@WQBjmk#f2FHd_)Ea>B8t)qWn&4{pYU^tMD(9;3 z%9NFUm(vw)@wV7og3az`YqNiab47T$_fNd`Z*R0W1{b&&SQq%`JLiYzdFR>Z1)VOZ z;`B8*8bbA+dRu*9u4}F`*H`DL3(fJ&vCRq8x@whL-)zV1P>rd^SM8_{Re7pxRe@Qq zS;{P5rK2)5(=*dHGcdz7Lz&^5?wB5OcpNrIpu$z5RQRSjriG?@rrM?krnsgkKimKR zr`P|7OTDG`(qM_Z#QJ}{`u7ia4i6hw|L$SdVg7t)eptW$5B||#00eSfxk|1t$B`2n z>=|qu9LRR**ZvN<_V;AjvI3c|OeNEo;m8OL^bE8O45Yi#m2}?#$AD0pC(V`?=Pb)9cn1n6KjhN#JFPQ^CK095;B=ggZ^9T?*A><{}cSu=r#PR zd%9vJuVV61fyPAt7@1H9#$uL=xn>;J2S>zVX*`bBaGV7vC*ZWcSeb~`NjNtdohjI4 z#U=f)B^6io$MtEraRA#_Ll zI5Ad9FQ+kRJmyTmArmow5*ALzF;lR7Do&h+Qz}F`2BpG5bLMocnSpgPaegH>&cel2 zxU3qRYjE9cys;KH&p~$`Zl8;{)#L64Y;)q?dANT*9$J9+HsaBRc%lhUF2d7`@yR79 z)!pKSW%!Hb_|gh|r5OV)B8TuB7tOz3iEpjKcUI%yufcy@iyy7SPj0|}S&#qyMhtJj zZ#Lrp+9bxtm^Rah-GW*x_H|>wn=oxFX5EZ~x8cxRuwXkD--@L>aNKP;VJA-Ag^t}g z^LCuQ2kY8IIfj@956$^^;KIGwd?&8mhd11XoA=|*cjIjbuV)?YwZCvNoP zwqM}w7jge{*#118cmW@I5l_8@kG+hie~D*b!E>hT!}T+8{R~_`1J}>M^)qn&3|v10 z*U!Lz#53?`egZ(ll<;KFWZUGxB-bQml5e78VrYVAf^9-zylcEN-dFA@4~_GTvyBUk zb&XZV`o=iMgpA&QSD8}gv!~eorOwiDiMPaF5*+0oWgX=&b{2<6dPmwv28-N9)*}B1 z=ZH|Dr_fdy815Rb4EGf{3PO7Ce<0tLe`Tn9sCB46&zTn<;vHhwd;hIAf37n(oa4>0 z=L8442V3>N|L`F1Ap4+TmOIOu<ec0AHFTE!f}P z-`d}w>P!vy^Y*j%3tHV)tJR<4ObP2f|G^}8k~PVn=#;+ymcB|~UxGvL`L|gDnoCnO zU%Vqe6z7SvNx#2K`u%-ohdHErRGS)zb;T;Nz8FVLNbx8(rClCL|GIEe>JM`LUlDQr z?=+>D7U+*NYe&7Q(iBtaPO>Fc%jlG`HR*)>i%HUm#LY}9OY$ZiNUBcENQ_O4P0Ex^ zS2jlCHff!bSeeAUNw-VeBGY*?TJ-tKl6EDvDl(X46SpUglhyryy`fY&q^TT*CFx+& z8QJIw*&Er5q;az8Gk=+V`L|aeb9tF*>aJc}_WotI`qNeR$z5a`XOW|G%GM6b@pM6l=-HP)Z~On&%1qZ5nkwZ1X6gRn{zW(OlNHBw z&Nt1B_vIJ>+E<;ymA$;-;^f8I8Kel;m=O{UUQvi@p0gSMn6jq}JUfAY`W&cC&~ z1UaHV+MZXo$oaGUd5(O0xf#&qy}#@83)!kDji@c#+T4Uw#hiFGdIdytDjott>{)#VDs7EsrGq zCn;xv$COjXh+m$6`SbIa+3bJBx0u(D>G~PCeg>|ef$L}B`Wg8D%Nc0dek=WM0!o+lP z9}``MrqFVec}uR~hOMv-ZiOAN3ruZ748%eohzAY&LJ}lHKj;r>Fc2~!3kE|j*kC9O zg8~=2xr z2kT)2Y=SM|hMQp<+zLBj7wm=@Iql|H=mT+Jfdoi`WatN}FaXja6S5#1a=-?8FboQy z5Q?A}O27`IVJwV?2`~w!!Zer;Ghh}}!)&O9xlj*Im=BH61dCxQEQe-r!D?6s>)}S& z2%Di5w!+P@9d^J@*ab>Uvz#?hAr3UKKq4eV3Zz0B41f&Cfbf|<`Pz|$T4$OrHmOh4)5Dy8E1Sw#J{*VUgkO^5Z7;?b|c`ytLU<8bWVkm_&7!BiK zJWPPeFcqf3beIX1Pz|%87V4lLoG>36VIi1uyFTzGMv)0MHU`yLG^^OhjB$N1J`S~b zv}l-M!M+KiIh)DE!6Ls#68q9jN+grSWO6c-DNLqVne4};HI>Q!O!iA-asZR5=}Zn} zvVR7XnM|f-F*%6I0XdkSivw+#F$6R7Fl#6d$`{SUn9MG~!NW19knjj5bBoY65{DFv z?0DWNnnO!4zZ8erv7iixkH*3=IASaojl+@USUes_O~8_gSUL&qld)_Hj-HBRrs3EM z9On?t)0r%vf#YZ5gi4$^3nx|K);C6Y;h`G5XAT~&!+Y!T$UJPHkKRVS zZxJ3{jQ20aV=M51W<2h~2Up{XwfN8t`0$PR$VNQ586R!MQ#WD9R`lH>atM!Yr+NA| ze0(Q9VUpj$>XQndQSm7=o{h(+H9XfBpGm~?Dfp}vFZ9RGH1rR|Uu59LLHOKYd_EUn z7=kYj#h3E&<>C0t5%|hT{M9IYwG@9{hL^_R<#8A&7deE#nn?4t$@rTo_<9BY)`4%# z#NSoo@2l{yYw*oE_&0Ub&)J^~UUXlyN}aw_>h!&SyFb|JmMVS!1?PqEv)*Uz&j!y|oDV(YdB*lk;GFB6 za?ba(bss&p7Nb>oC!VYkvjdr6RszeCwx++A3E(hZ95&18hzz4pD)Gd z?{Id6r9R(&D)^}TQL9wvJ5Pom@jhag+I;uJ)`$HMIi)h+d*bK+`u^(up8IY02c#lj zIqJL5abHO4@onBfyQ^Jk_Z@LaHNNLw+r5FqE~&-$-Q&0?bjTx>_<@72gUUgl)ZuqZ z6@GZXcfWmqP-^h4clq}@_l2bb-+pIsuY0dm>hGO*ggsu5U8?WhZPuTB8h^X|?R{vc zXQxf-?_IYkJ)g#Bzcsksz1_Oqe~a^$@HX!@`?lcC?whSQ`?or`hHvuTWWOoscDt?a zwpLqfV2jK6H2&}=-zLYV&_>Tj+s42K*9K*S|3;_&dHj4HpYI084dHd(b&hqRwcfS% zwR|GqwbkC$j@6-6o>jJ0ft9Y6%1WQh;R>~QTCO#BG&eMxnmbpttVmgLd3me6x?Wk< zwybp7)uruAE0$hc(y^priD^ma;+DlJi!U!~U6i}%N>f`?Y17q(?F%awUTf@-PvPX$yJdFD?8`N+@>%^?s@tkdtFKnIS5;J9o7FL^VU}rDXJt!e zO6BF5tuu3HUYXH0qjbjA>GI*z)2}%?91RYWqqCx=BBkQ;wAN|4)2>Wyn_4>c>Xh~= z74pgb9g`a-nGH(ZiMbQ6OlX@>I^pX0_VE?tua$R{H-b#(jaiqY4~I?5W#Ol6(+7JG_(j(=-uZt0bhwvy74tE1XSRgAh; z+)><6Y%1;?*)lR^uP3uW<}<;jE;AC4w2DA+* z9dI?RJ*^_`TK|sz4gF31J5yUyQ&KPYYwefY?~1j}T57$T(wa*8KY)V&W+iWJg)@sjnnMTrgohe-^7GurkGKo%><>@h_Pw=4h zvCzBJwc-9OL(dm`BQ*&6>dj+Xo4cc4>7b%7iG0^)%w>`tV|4v>&0j8&QcX5M#}#!A zJ@dxP`pZs9msTE|?wVVZScU8n#SUGY{&9bXNUl_NPVfGq^RoMp%`sgW>JQjk_NnWX znPVk0Q`Waj5+i#yW0B}MdeNVhpx(dOwe=b7D-{j9WaISK8f%#;@##NVOEOz!M~x%U z_pJNm$=h(3sro0&l&}Ss>FUNZ>Ik~FK1Fh4yh&sABaC`#nPT98|gjINQpJ-^ZY5>*4Hy! zj(mLg4t7=Fm1Tez#$n3!pUX72=cp4Rm*82{^F!-8 z`o1y;#})ZVnkGBaYfIhB8IQgS$^P`&G(gr==9TsH=w*qnpSXFf%q?*`i>XX9UYpWo z?lC+{dmf$RWIlPu@oc1E!1(E;GGAAxd(SJ(K#7&|5-H2d8b@{=iON2A_oV;q&(JJ$ zaID=k@tS7rf=vDVBe;(&6Y+B#B!S*P$HCJ66m;bwdnf=^rTt7D4dryW-p!azmA?-gt&xJAOV_-LM1T5TX*~0G zoeT2>rj6fAmAo5Z-+KLW=vvQ2nQP=(e< zA?JtM(5`pOyzB0HKRHcivcSxj+cjP~_ zTA3@aYp&{)<)$?K0!KC%BR?ctSKM49iA0HHO04H3na#5$9M6whuX8izm5Unr+!DQZ zusbq`i2jzjJ5nc+Wc_@xnXVE>v)MdX!hKuiNCuQHN zyCXdpS%2yRiga2r{A5i%n=Ad)`p?0C3jY`TRqKEDf8hOx@O$3Bx4oH56IoD`)pp<5yxTWkn3*Se%oEveO`}$k7u`I zmt&{>w(u?fo3F~ZIQX`BH~VjN-{4rQtWj2nSNfafGZ&W0rz|dZFS0gy8|@36^TG|m zx#2p0ZJ@?e?WuCla?h|j+|#^Mol|TRL*ql`!ExR)e~J9X!boe8yD(Vb9%j#%&mtHi ze}9nU&bAKnW?D1+>DB@6{{DV$YcScL6zuCxkZ%c$_sAy$c+GCrWO{GbttByX{om97 z&kcZUEqdQSlWTLO4`4lPgw3!8+^`k4!L6_Zc7dr)h=Ew>1M#3iUr2&v=m-5F4F*Cc zWWiv_1se>7VNd`gU?dbnDU`uz7zg8F0!)UfFb$@|OsIrvm<_cs7aG6`3t%BM!4g;o z%b^8U!YWt;>tH=>fK9Lk+;B5&gIi$-?1J48(=OfFv2eZrUmkUwi0l3T*ZcqJZol6D zf4%=dS6(6q3fKGpXK@y;_y2PiuJ`}TNx0tsFWuw+k^BF7Q{HR1-v58S|3Bq=|Nr&= z|39Puzd>F{zI;O|jP284T79wWMP=)>M5X^JlZns&`*BoEzt+=j75vxp*?@Y?Wa_Y* z^uG}>nc6BGbDo`Kgyp}sY2DK)-4pu%KgRnnG zDDlZr;yous&;NKHDx=I_9VI?DO57PG-V`Ms`Lz!}?oUgU`Bz1Wua6Sn7$tsFl=!wN z@tslPw?~QJ8700yO8jt?czcxi15x59qQvDX)ob|iJU`Ye+WYzPRFrt+2jcy>o`{d{ z==HpNF3Ng-872N|l=y2=;=hd&e=|z_4^iU5DDl6G5`QmB{2!vkKa3LpI79De*c4vG@bi4q?YC7vH8UKk}lCQ7_KN_=9J_>?H|iYW1!QQ|dG z;&oBt^P|KYqr?|Si7$&1Z;ldQ7bSjUl=$W-ad(vX_9*e&qQrMciMK_G?~M}QA0>V$ zO8nj^@uN}VC!)kpMv0$}5`QvE{A`r?g(&e~M2Wu?CH_j3c=z`vcRja%d|v-1%KU#F zCH_{F_&ZVJe;+0Ok5S?uMTvhBCH^l_;{QELJRBwdO_ccmiV`=;-=O|D{CGZNqr|l+ z@xD>w{i4LvqQtYJ#0N)-4~-Hph!QW35-*Js9~UJ)AxeB|l(-{Gd}fsR>?rZNDDj3U z@%d5W3!}uFqr}%niQf<%JxV+$N<248JkN-)-SJO~+NVPPp04Y7`btf}EfrnwmgP_WO_%HC z1T@Ht^IOIOZ_EGsInlE`t?!pCQHD3V{xg~MtW&a&NR|iRV95j{mYpY2)=ZS)oro+i z46KT*Y`yFiQHGBqvdbjvlq^w(P(*gQv0b7Jk=tD% zS+Mw%J&gC`07gXpwC9PjHB2KZ#h@C0X{FD8r`_*_D!IpNTSj7Li>gS$+yc z86x+2b+0wcOs3BxmR)14nJB{-5m|l}ux6qR-md?QN6tFQayGj6`OAo9`E|jvL>VH_ z#(K$ipN%}ph9j1}QL>y3q6}X}WH(5bvq6;M>xk?|W4lBdBG1Mq$+FMgYyKu;S$>tV z&qNs__j!wCyZ3phWWSAAwpFt1Gf{@`BC>ADvd=^rzK_V>WNeoxL*zbhl`Q+*z2+Yx zmgUzh`%IJ}a-X+JwtJuRC9BAbl7x((;4L!AJ`-h#jmU17Ec;B9!5opjRkCcCC`05v z?~p9}+`Z|V*T&qNv0BC>ZH z+a<~nxzGC~%RYCnIXz-o-a2ufi84g)^M1*8@AGiUW<)G|w`AF8q6}FP*#nYgpNTSL zM`RBg+a<~nxzC3r%RYCnIVWOS-qx|tL>VIY`LJZW_qkBAwuoi#l`Q*Alp!x7dqlGA zGf{^8h-|yDU7`$;`|Oo0``o?ef{0~#%gH_yWr*D8qmu33XKt1kMl5^3WZ7q;3`G&y zW0GZ`i82&NWFIiLOOzpUpN~tHeePa!NyM_e9cG`2GW6W;)_=pEkZkup7fIG0vFt;V zWuJ*MjE=}YELrxMD8tx@>?6i@i84fP_oQUm=k7I^M=blOu`E%B$m2aF+3tNFDcK1T z%XS!RCdx1=BI`5OOq3yV&5!k3bFpNnL@aw+vYZW~4AUaAk4u)bL6pG}k$uA0E>VWa z?LH}4&PMl|XGAP}##olX-sciY*F`LQL9*;KQHJ`6Y^P+|XQB+wh^*h( zE>VWaeg1`H+2`&x&yQI4qOmN|pDz2HWV`p7F0aOjWuKQU`%ILfDI)uVWZ7q;42vVO zFB;n=$`HBFFG-et?q2iKh-F_kmL>YrWq&Ez?tQjPdU?dMuNZ44%FrB<{gtt1q70F* zb+7hXbD3ma5zGGCSTj+ERS{W^k5?q343V!4mwT<5F2pqv%La@!6J=Nzk^L)U%|sa@ z&*W>p);vbC>m!!^jj?8;3>&($UCn>LFMOfIJSgLBGA@&Gs*JfZ#>n_j|4oVct&C5} zcu>ZTGR~E;RK|WX{*TXJh>WU?|NLK-nBU3xw2b%2xLL*q z8OvnsFXR97nG*A#Wc;O!kH~ntj4d)wmvN|!ePsNXe^FxoTE=H&yjR9n8RyA3M#cd$ z{?AX9n17J*S28{-W1EaCWt=JFFd5@z{ICD4#Qcqn&&t>?<4rOyka3)h17-YQpC~c^ zDC4hX?2z#e8CT0VOUB_cT4elh|D?qHLB>uQ@00On85hbpUdBur|Mg=f=0D4LS;og? zyi>-tGFHntLdL!_{`dc)#9Wc_7c$;2<1I2Sl5wJpgJk^QAtmOjjDIEL<1*eQ;|(&- zmT{zvNitr$s>J-QjL*sVfQ+}wxJ1UuG7gr}B;$Dh`SWI}|9@#^ug647i|K!KH%q%d z?nS9=llRn$v@~-J#>JwhVuBeH`(Sb$TH`TQ!!!$~CtyZj%u2-UB+N-hTMFh`F~1)c zq+(%zEK0-T0a%ib_JKG$1IK1!c@|C>gp;yy%3z$9gN|I0L(q?7hK*R|5Uk3>nxR;m zk9EVaz5t!Waeg5-j=-iOTs#t&7US|!*j$3HQe0)nHD$PNG_D_m8^+?Mak!-%-Q#iV z1l%?ew@<K<**MO&;_{2OsGat_`z;lgwej#3HLjNMXxEP;bf-f$`mzUuy%kk9} zc&Ql!En?4cyyhbI`bvCb75;uTzPUzJW0>!)wFKV20fX!Dog4Ap4fx(he18*uuo*wx zf*-YF$c-Q0gr981PjAN0w&CZu;1}ER%UdzL1HZZrzut-8?80w%<9D~?_j~Y%HZfjN zJn|oV$*wA~caSpg#kf0B+lL8vVd8#Fz8kFvF!dm&9m4c`Fyk<0-HX{rFsB`DUd+1> z^N(V|{aAPmiypw@<5=<_+E3ur2 zYo5T`C$a7f)<1>LvpD~0Y&?fe&*0+oxb#_EegT_1(dEZgzrZyYaouyc{(0Q+0&aQ{ zx4eYzmvQSaaoa1n{a3i-RowY&+-G zAC}@rb_|u_$D{F+G5G0Nj4XmMT_3KWf$L}B`Wd)>2Ckoh>u2CU@)@|=>}j?&2UfUN zC@Xx+9m_+@Jj-m$0!v*>m8HHVjwPYRp2fDsfkjuFJWaNyz(UtTWudRp(HL6bSzucb znD3ge%=gW6%nLa^PMb5(;A&7BeD#j{&|J@4+uT5%t4^u&&2h|Wsa0xyvmLWTHJ%z< zO`zIUt^B*b3GnJv&s5vgz!cXMWr}aIV{&McXOeAFV4`cHGSN4|F(EYGGu}2nQ0^*M z%6;P;<3eLSV{KytV_ajDF}~4`(Jf_RyVq{F2TR?h)>40ovm`vqJIX#PSnMvg7W+p! zM}~{MMfRfL2=@r<2!EloFg)BlJXGK*uoVP`xrVjn+wucLT|XozQsZAif8 zvMDxSt|K>;l;XLB`66#i^CGqJeo}l z#Jl2^cwd|&F4V`<$JQrcc9|8kPj#rFSWm1iHW1^AQDS_GLkY=4xIl^jFMZ_t|J16; z$MgHn7CkUd-Us%)1O2?5cZFY!$1f*fcp`o^3BR6<-%P=8r{Z_h@cRnB7X85e)>Fq z_5yzXB7X4_e)%$ne~Dkcf?xj%zj+nE{WX4PYHOA!fPz27i1G3ToHSxpG@CK54{C9k z5RZu(CR@;&fT?{kEfLd`Fe4eWQZUx~a19=rjow;3ItP!{;qke6q8=Y^z>`iqH4lCB@$>?Gq7lz5#IsF! zZV{eej2D)me<@yEhR-j@7gylR&G1MNUt5i@ufaFg;_uhtn>XNF>+$Uy zF}MNW*@*9M!uK}g`&;mXR{YS7AKiqZt@!cH_{lc>^cMVVyV(7kAolZHiG8sHzq}2@ zJMpVs`1Nl5=63vc4}RB%-+Sj|q2U;sH!Ph}J`xdJm=@ z#`JqJ;|ON8W40G_?nB#A%)1}+k72~L&#^YG|1XewXHD|E)DXcq-^-rVo9L|3R8_#3Yv$*&IF73qSer)~) zx-R0X=WxyQxb6j9|DxD)92;IDw&`Wu@=J8Tf?I!u+g`=(zs4P=HkUjx6xx28_@IX8s((teak0hYCFCIb6#RNBelrcft-$Xb`2BSJVTKrQR%X(Otwi%IjH^Pe8WUtbN6YJ#uwknSUDYF&iqoO3M z$sa`0+h8{K(`Xs{YqX60Hd@C18!h8FjFxdcM$0%Zqh%bQ(K3$HXdUjgZ{}++IbLdc zvF(M9=Py5Z^`hyb?-!0=g!~@A%^&D=bt;{{3yuq+XFbo_o(-ILombBLp1J&Ie(!+8 z7wYhI*g7gsg&y@hYI`(r(sfcf>3hWSNa$hD!?uS554j#v9`c=VoCrPWdC>M?;JEX6 z_yO+&_6LH;+{diP{P#QW4fQQo4qZ#$Gyk8$A7!?_V8}+Zu{=wF840$F8@yF&hTyC+d6kRcZ6^C z-ukD0-+;f>*&5#B-D2Mo-0a?L-CVjUxY51Qy3xPExgmU`_eT4T!S(L-*7g1yocebS z*w+Quy4PCQ`qwztgjRc2+g1lwxmGEwd@CI*LoSc2qs7q@`V+79U5k`Oz9vUgXrX7J zZDF9%)u=T37C07!=6mMb<_G4v<|*@hPKPtp;AyZm1nOP&O1*EcV{WLjB`wQw0E?9bg;}_W-asEo%V34x71!5EOD1uOZ=mp zqr%1BVta9Lq~dqHrRdzf{YKi`=j9_k%x zA1a@?muJoM4{;6&+q^crEtu=hwdVSBoH^ma-of_4!EE^~zHI*>=b&(wH_M(C%yeg3 zGyNIPjPOA3K>NU8x;x#P?jPVB5Ki-^+0%mk-Tkfo{i)8>a6fN9d%vL7ZM9ncDbAE| zvNzeD987X2S(E&U&ctwEZ(n=gV1hfrn&7uMEn!VQ+fNI|yW_3#{y1k`xR1Awy-(2W zHd~`!|CcrG*cB(&|A*J;m-{^o3AE_bT15-5XR+_Y2Nt9CfwW>S^_708b2{}oR~xPQ zdTTASH8NY%dYROgt|QPyVDSycoQw52Z!}s<_0~paTh46Fn~X%Wv`leZNVrI>YBdt8 zNH}jIv4+IDtwv&Jh5^*uoQa6#<5^E&3=m|3kH;Ju%jKo$F z&Ug~rNNm@P#C8(<6O7glayyfxrS0j<%sUC}PBhZH^_i26)*flaT(UBohuQY_GZK6C zM1KWN$u$4DHv z8HwY1B9Fug5)ThG5)Vr&=F%_{CrO+tFcPQqL?H&W> z+4%N!lCP0`eTGcx6D;MdB=H9A-_J4jKt^Cin+9k#1|yKTx}%2WQqN2 zNrXv!wa!RxYj?TmKLY!8HwUe-ECa$W(EemmH zGwxrBht}Yc^&%T$FU&_b_HG^D+A6yqOTv7!OzIQ*ye64Vjbl=al}V{TM5{trBb*Q; zllp`{ze*yJ$z-#UNY)c^M$4+VG-gX>GOe#nY8e&+X#~;}WKy5d=S(zO8PYPvB{N$V ziR=_3kxk->ek5{8*wSQD%TFa>BaqkMm@|(#_YW{y`Q(&=%vQi;VU|p4#e>nFLAa1` zQKn4l6Z-svNE9<}X{R!31hY+J(ormvT4gEL6cKh1o-tA;^$C6cQ6wsvtST`QReHj1v}&Yf ziW|*rwIu4s$)x6-fQ@4a*AcECE0g*JDCH!aOwJ!~B@X6|dSZsra!E_x_%Pcl5^JhuQd?h(n`RMSLwH@4 zOzIP$)R0)u@4*|v~yJ7rSawg7k36Lu5c+8~qq1Ss=JY-4i! zd?T@4Pc#~>9nvzzH8I;x61$hkq~=+U`xX)2O?b~@nbaphSxUmg)kfkl3GZ4GM@V?r83`|mxEqbuQF6yN7_DQplubtK zIIR<#jn)Z$xh+QPAzDWz-}_t{r%T;xHgAb?)IDbN9{KWNSy$J2Gfthl*KFP^UqvkOeP;7MbFWiooHg}; z*?hp<>x>yEO+9QjALa{-|EBHDj=#SA`>Ve*{Vw+n_ix)@5B=L^aUxzD?wvp(m)s9enbMTOtn*?B>^ z;Ct5btoMB9Ggr>p&Q(0^J!?N3e9HDz#hI2T{ZCwZ-1d0jwClA0u`9l79gdEcQ~pP< zoV1;+c%((X)NaA_1)pPBjoXTY@R@yt1YnS>g}f6 zb9cLUweJkwX1dL}qxIIn_N%wpZ)w=(yZQ1~>(Y#kfV#Uf9m%qi?;%mOV;_7nKa^JG>(v+pHC2fm4 z7KNL7CIzU74Qia96a;y$O?iI)Cfrz@)1a?Gqa&wCc47{&82vUK`^W6Oy|R4P~wNK&eY= z4X(&{6sAaxfig0;$UUOHuyeRF+*c4DmNKj~-!s%U)ScHpq*JdX2;}K{o7K5{oMWh)+_S8fext;uqQPnw(6Aue#;f@TD&8^ zCC=Z+*(Ypvm|N7g*kFu1CZJq3nM_IFpU#e#>;EgOrO`dKOZ~rMH00hRPa(bZU)4+h zRlW3I)l2_Xz4TwzOaE29^k3CW|5d&8U)4+hRlW3I)l2_Xz4TwzOaE29^k3CW|5d&8 zU)4+hRlW3I)l2_Xz4TwzOaE29^k3CW|5d&8U)4+hRlW3I)l2_Xz4TwzOaE29^k3~M z{nxAhRlVw8)vNwhz3N}ptNvBJ>R;8X{#Cu|U)8JrRlVw8)vNwhz3N}ptNvBJ>R;8X z{#Cu|U)8JrRlVw8)vNwhz3N}ptNvBJ>R;8X{#Cu|U)8JrRlVw8)vNwhz3N}ptNvBJ z>R;8X{?(qUf4$&e)eHVrz2INf3;yLLm0QGm!M~~({HuDwzp5Aft9rq|su%pLdcnV{ z7yPSw!M~~({HuDwzp5Aft9rq|su%pLdcnV{7yPSw!M~~({HuDwzp5Aft9rq|su%pL zdcnV{7yPSw!M~~({Hr|$|9Y*zs@M9fdab{z*ZQknwf=gUzxpb3r=UhA*wwf?GJ>#ypy{;FQb3r=UhA*wwf?GJ>#ypy{;FQlgLe^syYSM@4?Rj=|_^(uc= zuku&*Dt}e4@>lgLe^syYSM@4?Rj=|_^(uc=uku&*Dt}e4@>lgLe^syYSM@4?Rj=|_ z^(uc=uku&*Dt}e4@>lgLe^syYSM@4?Rj=|_^(uc=ukz;*^g@4CFYs6O0)JI6@K^N$ ze^oE=SM>saRWI;Y^#XrYFYy0=*?SZ4Cax^+yGp)=F`F&G?27~#17@+zk+;i&QDwWGZb@i`Pf(8D91^$8s{(=Smf(8D9 z1^$8s{(=Smf(8D91^$8s{(=Smf(8D91^$8s{(=Smf(8D91^$8s{(=Smf(8D91^##m ztnnAD?H8==7mXT8E(B})#o=Tf@S@JW&MI>{eorvf@S@JW&MI>{eorvf@S@JW&MI>{eorvf@S@JW&PsQ z(HNg){o?bn@L9|ySj;6@%q3XNCBB-3EQ`4Wi@5}gxde;31dF)@i@E3}G|9OH%ee&0 zx#)rn-C52h+RlW}axTGgF2Qmx!E!FaaxTGgF2Qmx!E!FaaxTGgF2Qmx!E!FaaxRe% zIhSBLmtZ-UU^$myIhSBLmtZ-UU^$myIhSBLmtZ-UU^$myITv06E4l z)FoKdC0NuYSkxt0)FoKdC0NuYSkxt0)FoKdC0NuYSkxt0)FoKdC0NuYSkxt0)FoKd zC0NuYSkxt0)FoKdC0NuYSkxt0)FoKdC0Nvjm%zF%!MZNNx-P-GF2TAk!MZNNx-P-G zF2TAk!MZNNx-P-GF2TAk!MZNNx-P-GF2TAk!MZNNx-P-GF2TAk!MZNNx-P-GF2TAk z!MZNNx-P-GF2TAk!MZNNx-P-GE_w+~$}W*1NMs>24P<4PU}cwJWtU)OmtbX=U}cwJ zWtU)OmtbX=U}cwJWtU)OmtbX=U}cwJWtU)OmtbX=U}cwJWtU)OmtbX=U}cwJWtU)O zmtbX=U}cwJWtU)OmtbWVUIL4|1dF=_i@OAiy9A571dF=_i@OAiy9A571dF=_i@OAi zy9A571dF=_i@OAiy9A571dF=_i@OAiy9A571dF=_i@OAiy9A571dF=_i@OAiy9A57 z1dF=_i@OAiyYLcN-z5%A$ML7DQ6lTR#3AUr1nav5>$?Q&y9DdI1nav5>$?Q&y9DdI z1nav5>$?Q&y9DdI1nav5>$?Q&y9DdI1nav5>$?Q&y9DdI1nav5>$?Q&y9DdI1nav5 z>$?Q&yYLcN;w4_+fE{Lum$(LrmtcvPV2PJtiI-rBmtcvPV2PJtiI-rBmtcvPV2PJt ziI-rBmtcvPV2PJtiI@1S`IEo=S@To#PwDAruO(j%ylQ(j_KNovdJfvlu9uT91zxhf z6noM8qWQ(}3$7O;Kk?ADWazTva^iXa^Va91mppVu8Tt>u_jf#; zy@M$J=DWg;uEyk@fjgD|;ObTNh4wr4CvNlKX1y)C&$Cb67uxIC zo7m&uW8D+o?b&^Omv@(WS9qsuXL3hihiyk}yLY>Jd$_^XkgN~X+v;O=Ub?~!*Sczx z-hkKUjn#N-%r)U^S9P)~P-UwMZgXr)Z1r!oZjDxYD%Hx+7RQ!Eg}=gD5#8+BtZoi% za%@U$^l!9ojFx-K)$-5=$A(0ipRR+W>pkn$^)((dUkxYM1=iWt#nyV)n%9QcxYi_B z2Ugow$5we)nOB8Zx>hDv1XkEq#Fl%Po0o@|xt1lD2A0~E#+KOs%ZmTRT>o6_+~^$7 z9Cc1;cFyeZEZ3~$%)m_B%-9U?4D*bz)8$M~4@|dBj}_DN?ux_HT+@<{fWzj9*}ZnN zJzV4}N=^+-wM~sp@lJ_P_D{Cb)wXAnIw>^KF)=a0KfyX7I^Hv09UmI!7?&99A8Q>O z9pf3JjtTJ14C^?V+Gy< zb3u5BYe;f%V6bg)Y>;=5c~CgtldtB7208{N^8BRzKlW#S|L^Xmb_;cNbWL>ecd>Sf z=6Z6~+)!sn=R_xeCu^r@M^8t!W610KPcOF-eU3KR|tLE*3#6b{Ql;jkhU4vRwJur8FGCS@ob7Kg&opbv$^5>Yr=P>I4} zp(q^Iio#*JC>&Od!eP-U9M+A(Vd*FwR*%AA0Vy2TkiuaZDI8Xk!eKEf9M+SsmEpcE0-l)_)2ou!X}STR5z< zg~L)?IIOmX!-88ltht55vRiVRgtu@qoK3r-vHTX1%$YL6B3wjRhYN?LxNumF3x@@{ za9EQIhh@2NSeXll#kp`;p9_a2x^P&f3x|cea9FDghvm9(@}by;(=6I;((59^l3h5g z+J(cyT{x`Wg~Re)IIQ4>!y;ZdtmB2lQeHT$=7qz8UO24jg~PI5I5RiN{b6x0BCPL) z!xCROtn!7!LSHzn^@YQ7UpTDzg~Os>IIR1H!_r?ktp0_=0$@0-0fxgeU^uJsFO2up$Cuo@T+3xeUWCKwLOg5j_-7!HeX;jr!&4ohy~u-X=m{|7%zk3jke z{2x35IlFzkZtQgLyuQP}%y$*Q@MR7q?lq z9owpGt*MM}DcKUKD69x>&e`nSbYr7?Wix^tB$QyR@SVDFE3dhSys3#xHM;}Z^@0t?#0(j?WGqNSr#30DXyB5 z_`;Hfkp+bdg7b6c`{v!4>z;dkj(yI>*_PSIW+}63X2xff%!oJ(ox$lj(|yG^rn#qG zci0^l?H2kzUn#1Y8lO@!B{I2ia&S`4B;Ujv6WkN7kGGG%ILk~eX*B?zUx)wl zcxFjvq*Y<7pq8Wg#ElGh#&wh3bWyda$LQRc_;v2{ZRq;{6aDx97j@tNTbjTBCx^cO z2QxFkECIIF!1k@c>`c(y8tjw>=C%R5wgtPl1ADdydv^f)W`ouou)i71>j>s|0ta^n z3v$6>UBD4tL0dO)RCjPp4{%&ha6&I|Qg3idAF!w|=&%s!1C~;3Mbp_2oY^0oJpi1W z2hJY|F3bmAgTT_k;F2NWvI20$P;k{SaLsUV-3ZWA2$tEv@{!=CQDDVruyPEzZ7f(l z4)l%(>n4B=6Tuymz+IEUJyXDaQ^Ea3px;i!OE};_^WZeFu^2ow9X#v=kIVp%&IALq zz~i&Q6LY|mbHP*dz=!99rx$={7J{J?@T?0ww+K963SL+YKD7jVW-0jWGBCUxytD$m zyb^q275LI>@Rc>-Yiq$P>%gd+h?nrX2hBIugV)NyH#dN9m4k0@1mD>N#x{fRR)Ftq z0pG6#KiCR>xDEWM3jDYlOw@p%c)?F=!O!Zz&+EZ28o)2NgTLJYCU=5g?E=5v4Sur+ z{B|$+-9GSp#Yg->C1$8pF_d3}nvsF1CcsP$%xVR;%>>)G2D7t3a~rTzTQIjB*tI>_ zy#v@Y8|<9}_BDgnj$r>zU|wf1KNlR_1uW@CfRp-y zQ!HSS6?F6?(yu`+?vJK(05~%boIMbnn-9((1TGv5x`u$I1>lmQ;Id)his9g@5#X9a zaGeeGj0DR@f#svYO=G}{v0&vmaNBsWdIIR32-Zyk8zzH0rhvPqf_sX?>Lo>j`Gr=RXz@xLlz#Q=ST=2v^@Z@~()B^C~h2ZHD@Qe!#EdtM$ zg69^4=a+yNmV!?$1D{zAKDz=8uLLix0xz!yUswaav=)429r&6Xyy5|)>xp;?ua}|u z#s=_OIr!#A@U2bY+nd36D!|wl@ZC!Ay{+K;+rSU1zz?gzk7~e=yyDd z0sMSB_{9$J%bnnFcY(>>;8%OVulIuA>;u15j?n|Pzf-~QP2dk1#0--v=m)(9Q-+49 z)(Xtb1hZO$ZL`4kZNTidpt&8`sXdt60qmL$cFzHOn!(;3!M>e9YiF>3E|}K^%g z?gkcg2Z!|lNAv`3y}(hu!7+WnaecuF7I2akoYD_0>JK^w5b+X<^U!n-1ZU=hvj>55 z2ZQs6fC~#i*HEx@7`S9OxNHQtq7YnV1J{fM*Np-_qrtKSnVJXkpa+%^%c zo&hb`=<24PIIU zUS12nunv654Zh+5Ut14eDFdS$hdul9joD{lJg z^&1uZ)&zc+0e&yQA2eb{hT4jL&}+!Z$V60Y4Q6J6S#7|!ZNc{K!0h&*xdYfK8_dlC zyPCo79l@TRz}}s~zPX^a3)sIanAZ)=?+y;`0T%QGhxGzS^agExz)^j{F&1!~6`ary zoYWtjG5{>f104g2cnQV%XgUXhGY5mShk$bn!1+VLg~LGCaIka)xTFwVW&>A@1Xqm$ z*Ng_&jR8Gl!Lo5+`FL>C1h8TvSUCyYHW{p*0(z%{bwwcEnMT~<0C!CT_Y{Nsri1&P zpnnDtFX6yUG!M=K8)t)u=75Lif=A|oN9Tiq1>o_8;E59OqzgQ?2zEpb`2O_3tn0WUUq{oc)*v|gRhi8P`z*rUdZZ-H`4fwtn{Gb;6unzpF9{jigOl$`~*#UmK z6Z~u!s4w<<@u#kzCSMD@W_vC6s`pj%tKnB%uOwd%yli_p_LBD{^Go3uT`wkI2)v-Y z5c-MZCyC4c%ht=$=RMD>&xbBKE+wAxKWBX|8uo z@LAW{&l4-jF#I4!VNLGl4Un4k0wt0NrxVN#Pf*yNa$h5!-Hhnz_eYO=j;qIO?o;mz1ss9IG5;~^vFK6H zQT1r(UdO$OBmN`SBhh<2_o(-T4m%Df?)Kkpy*qlyb4WcDy327_qS4=IZH(So_-Ee# zuj~%(a_ma%^zXEis@=0g-4WXE*q&(cH&`2@^`3gQK2+zZOVs*nt+i3F$E&i^JyGqi zwpK^0JfwH`ZZmHSZ*^@=Rt73(#dQqove1!Y1>{p?K?;(J6k&D9O-m2ODDIZ zbh>tuPWR5z>6t5?-d&_aH#PFh5!PEB&Cc|D|)-%~n+dr7CDw{++(y{7IX`bx)U zkC7D_o%zG1 zvv7oTT!qppwMl2mNa-vaC7l(crL$^`bk>ZO&bo2Z@r;*F*#zm7Pn6E4Nz$p9ES<_J z(%CjuI@Lwe@!F+R=a5drH0kUpmd>u}(%Ivb&b}Ga**{Y{{#nvFFk3nY=SZhwbFTZopi!(>0I(i=kj{#yig{cmo`Y}m2&C4woy7)Hc2PCSvs#* zNau|$(z#YCoj12i=dEqhdAmwF?^H`CRwJEvz0!HFRyyz3N#}!l>3rBAosYIl=i?pH zN$ix)C%dHc>2B$KwnsXj@0HFM`=s-w5^0hK{8p7t(j=X)GNkjhkj^)nbiQpRo$oTG z^L=aS{E*e;XlfhjWVDrz)=oN^?WL2|K{{=-rPDq~I@xCFm^(_RQzz-5Q;S$JS3eqxwr{%mC?( z%ahK8fzp|jFP$laq*F9lI*uXIDK3zXbEtG?4wKI8;nJBqLOSycrL)i`9oIP{GW@TdZlsSu`Us?tK>7%zkHG)=Bar_7|Np-4|JRRVYO^)2&weXILaeakvs-x@qe-?EkHTN6t4ttl(?E$2FYYks-DwWLzt zT2rNOdA#~odA+_>q1N!V55IP?P3T+ROns}NjlQ)jN8j>y(zgzF(YFqD*SC)J(zgPA z^{o^A^sQ5Q`qt?|`c|kw-#Ta0x1JfTZ-po7TQAx5t>`>`E4EPIdT)uo_0ej5>(h1m z*5`D~)6KI-d|9q%TPwiMP;xyFe!1Mxt?;Y`ufrl@VAi2KU`UnRpkgy)_bv_mFsh zluW$OJ;osM0o)JA%EX805g3oeM@W1;iQKGDCLr)J0*Q%o%>=JGS++hw?#fiG_9@)Y z9OPzwF&+HvOz^8BBtJv)b33{05ER!mB)&lV%VL@Mk`qoOev3qMhD;=pXq+WmUmn7kLfc1Iv)eL_2G_Ok^R^xKg&-QpVzX z+QaH(Vi*#Q4YDFDx$F>>fQH04v?sKZi3vzF zwwA3))G}RZgVm;BwW9XqW)x$F>>KnEm>(ROCbgcFHIvuw?zmg!0- ztTr2~&Fw;N*23;!X=jAzB0N8rTy_Xbpeqs!(ROu{2^SKLJ!GqtTBa+#u-X!=wyZC? zS*!Yi>v|)+4B-`h$YqD1T(cmt3hgyknOK8FV}IFNM=jHpJgnxyYGs4S&DvA|Rt`kC z4B_&8a@ip$*9If83GIp@GEsp<<51bEq?YN*aICfst5w^`&8iy>?ihh^HNxIPa@ip$ z*G3{yhjzm#nP@RcZr1)O;DPZ7??HIq1ajFSDAy(-u^(;! zWSQ_I(KuDM4p7T<#g5euVztI%a;S+PoWrv_#n~%gvv`;ONiBm{4mdMt_)G}RJ zgw;-CwKGe|%{sdrJYS0N8H7n-(KKuby{|1r;w%#9mdV69BpO%9)_H1~uB^gp7qHq> zYst-e)&pKzjqp#2ZLl^UB0E?oo%tn@GG> zFB5NZLZMGV;%y|}QJX#xWxRvLwG1R;NW3d#;$0*%TOsit67Ofq#QU63(o6aXq>sR@ zjzG>cg-`pR3O<>@_93)6vMIjNwy{LkJFu0N(8vC$J1%P+MAyVuE2~|rYF0*9cvh$@T+3^g z9b1}MqAYPOPL>8r6N{8Z7MHi=n0#KLhwd8)&P~qAnbY*lf+SV{E1cn{I|h=)ImI5T z{ugpM90B{qqU-!LLi3cu$^J>fiOC5$6FlR64Gs>90q*|3enD%*67Q?@we+#~cK7o24EBh0k9SkLS-RT0 zxO07-gPkHB<7UNd$+2gO^yDQ0x>m;`~jB~f^b60Z>V;<0td9|w{cTk`6b(h;4&SN&}$Mp4-+Z(~TyY#uMy$xd? z(vNwyuOW9>pYvJe_6m8-Bl3A$L-r^V#I~M)R1b^ke!)$?c8d+(Y`@)iH)KAJ&g~ zb(|r0TA%YxklP!}W1caLImys3Xy`XZ_8Z6j9@F>p6;TdqnR-e1-FpT-Qe$1=I zhTM+|?C^F@K^T^Xe)? z?nQmhw?=NSh{t@{Fy=Z#zgG^peigFc zH17Ahp^GhJy=mxIXXy7=hJFpQpOgFj+|X}_ zq2Jqve!FD98Qkw3eLvqG%Hi*5Cg-l}b658n#*FF5yt?0zdsm^GPD{ez+3QA59v4gCVL z-#qS@F!Vca==YC?ekWwV`P}bUhJGgv{XRAHJ0<%q;C`PO`aNvu_iIDH)3V<}?)T4z zerF8*zA*F)$$ll=?@L3!vxa{EV(52H_H%K+8~T2}^OVDRwuo~{eeUW7!IHxtfAjGhJIn$Z!!1#R^QKeiE`M_C7k;=eeUXI!3dynZw2RC>2p`#FpQaL81tI!x03s18T!3x=-0;3?=9JH758gr==ZjvUweJOtM3?c z+4`I>Mmc=GUd>~g4P(A*=-1KE?>*UX4fpG;@8^4;a`?Tk!#27K9bv8$7A-;kLmkZZqLoRp8DL?gkj8H`Z2G5V#xK;=X{@1u7X~JhsU%U#{A6C zub-jc=d#~=?l-{D?+Zh}JVU=PWxq1+m*3ovPtyMYPrt32j*-=qEhn2yW+4+~zy7&u z`Z?J}vir$)lC37QlMNtiP4=6&RMT~`=gA%<+e_vqn@%=}tR2~nzfw(qOZFn!BV<0Z z4P>*(hLYuw{q9ZG^b4|A$%15ekZmTLM^;GIne6v}shWOC79o3_>@KpcWF=&y$-0sK z;hJiSlU*fyg6tl$8nVS?rFDP+I;nQHn=vZu+8k=2teC!0)WAroZ3euG{=*+sJZ z$##;hCbN?bAZtzbo2&Ht$(|>BkZdoRn`}DSAhLF3H(saLPxd0&BV<0Z4P>*(hLYuw z{q8U5^^?6y79_iaY%|$BvO==XWWSHn>nDqlJx+EP*;cX=ve9JS$o>$a*H3np>aiAqW^cL|Ew}_9tMSRRH;h=!dt{Ww}@}OMZDn_@!M_@Z@fkP*e&9xZV`Xv7V$H;h(C6V_}N>;FWe&jlp)^y zTTlN?AA$4{NFRap5lA0_^btrOf%FkbAA$4{NFRap5%_=Y2;_CUI5C^_|62{$|BCWs zi<@66YUVh7ijqLt960~THFG}UYB|5+3OS#0g`9sfQ8@td8S3GPU!xq3_?)ZY{4-a+ z`GPCo{Dy1Ze93ig{)Ow@{FW=++~BG-1zqp>wS6sv9cU;5fYp!1Nul+IRH(asi z_o!7PzUAUH|Hj2>zT>hqf8bIy-*YLNf9E1JKcMhThN__Q4DG$Da@iRZmzv4oQZs^! z%xGL#rWF^K$>fqUt+|Fw7T1tz!_{Nja>bZ-Trs9S*NW-D^c*hB0$Bn2uZx zrW4nJ>CClXa=GeDmon^kSFZHZjSIYV=h7}cxTs4{F6YvV3%T^>5-xqXcuQX{-eN() z7Q6&2*KFyB!VIE6YA}caD8L}{GQfcX%tuWHF$e_}#9-7;5JONnK@?Tw&lXuz%8VtXFA1Gi|4owz?+?7}_SVmEHT z7JG2-wb+aMt;IgvS}ktFebr(=?xhw!dE2z=$8FQ%cHAm04&bh6aR+XR76)+~w73&@ zJc~x$?kw)YEzaT)?q(Ku;|^wV7n)Q2&9id`Us?t zK>7%zk3jke{Fz4}IL$FF;qW`Gj;P&ZSM8x9M^R#`pOyB7Q(}|7lg*RElU$RM69W@% z6Jry+6U-CB<6YyE;{xMs<6>jIW6fj3V_ajBqXVODqhq7Iqs*hiBV8ktwt!8sg$f;o zi4p!0))CR+p5f~7&@jia#8CfG>(FR{r$8+T4RH)f4E7JU4vr4;3{nS$@*Vk!f&PKk zfzdoq-t__A0pqN~5FwQIDCr;FMpl-^SV|n&rt-vqG&MtrMC4 zOlxMem8X^3Dx^8I1U(bYDxw)4dPr@^vziQ?B|84F*AIYKX|KKJ0Ybx}xqY}rG zFe-~KaNu`trSRqdk;#26R2F)Mg{WD90<;&7fIA*2M|=H7aKmPB(-wqlfLfp)*bboR zx+Z*tHUR3NYbbQCp^~|VQso*7k!z?luA!8;hFakoih*k=^{t_nw}xWf8me(?D7Q_Q z$jYV-XrYp}h7#HuYG-RGnysN)wuUm<8tP+fD2A<}^0kIC*BVM%Ybai=p;EPmveX)C zP;1=)RF~FJR$4HB^w+P%BzPk!TIop*56+)=&>xLm_Al6`(bge%4UuSwn$m z-bYk))=<7#LqTQ@)t5DtUDi+)Swk&k4aJT%R5{jA-dICjV+|8B8s=RzOtom3UC}V1 zqG1k2!?cNpnGy|?BO2yIG)#eLnDO9A4h{1f8m2Nd%wA}iu+T6^p<#+b!wiLn2@2jv z%u#5VqR=oyp<#kT!~BGX=?M+96B?!^G)zNi8FZ>>n0U}Is z0QLa;06bYh(*Qg>K*NIqwDy1*=mc~HQ0-sq4WOpKhU)!V9)KGC8jAC4sKl??0My&p z#sR3RuT23^J6}V^d=2ICHPpq|Py}B?^?Mx1%_w)Tq0YUAqV^i9*=s0Wuc2nWhD!1p z%EoJ`5wD>jyruyt^RBfA%s?)H((GCufNJO36acl$H79`bi4HJqQ<`XqcBx;yP)G&dlVg69V#G!_HLk$y# z8s-Z%OcZLEC)6-Os9}Ck!@Qt|IYAARfg0ulHB16(m;=->`KMv-Ps602hB-eClYJWI z`ZP@PX_({FFhQqbT8{S-Gjp1P^9gft8Yba1%)V)ucGEE5reUH@!wj2d0Wh1UVH!=t z{F#P{GYykq8s@PyH-I@S4U<(G=BhMIRcV-=(l9NhVOmMUtdfT5Bn>l28m5jk%p7T$ zEYdJbq{+g4%4WcMX$c8Yadx%!_H57Sl2SOp0ll0A`FdOc-ecEc7=~Ih3dk0}6o&z!U~9CR1CRrB z1UdsiRr^ach2c3?43K@dl_!mR?T0WVMo zGypq+UBF&I@excw2G9y<4P*iBfDS-5&=Keifr3Bu`WoWGgRs(AQ zH-HCbXk|b-fX8EK6+k7h4X6gZKt0d^>;!fJdx3p`31?~s&6moG(7x4!}A_A zJnlim6CSi;UD2p1+{s!3!Fm zwV>hI3K|}&py8Pc8Xl&g;VB9l9-pA$i3u7Wn4sYq2^t=bpy80V~iC$OH0$K|ld83>XgBfKk9`U>q<3m^mMyhC(4% zNTn+Ko}f7xJ>xxNJrjG>|EP^B?FUXfPA4A;J>sHT`{9Q@4_~KR`?iM?rvj%Or;-nb z9&|mZJ{UgfIccVP``!nv55!LR>5lNk{ek-(_a~2sj=QMle)vAmedhb30dK$>ICji& zEO|6^)J1jo!}ogbHQyUO;-$*_v3vaY*zQRj4p8m=MDRpU?Y4DEF7RCk7{9=~}< zbh~%Eb$hJAOBMNJ_5ONWeWETvHTjdZp;{N+h3=*M(4#fp8f#6As`A^a6IFpKM^$25 zV4GuGa%+ex^Q&9Km7Yp-Wt3|3Terk2ycO1p*k(Uh=eKW4ZVXX%esyE0+*PiYhc|er zK7X{#TV^ebt@l%f{)8vsad?vMfZO3tt_x9>esx`Vt!J%yZItTt$5#hdJE%^7Xq9V~ zx+=WVLzViYE4(YLD`Lz2RI5L+EU?V6EV(p9)%w+?;U%6W<|Wa^-o@6%u~L7jtu(mE zwMbnQc6nT8SG2@iVl9a+^e?p0eeZziqCL&ph+I=v?ny>)hBJ{~X(# z#O%Oq$L!=RH`VTs&h*Z-&Wz3QQ}zCYGvIVMlhZ>~zh9jmF7_0gi=$M*-#RTuSMWAR z!XB_Y?8%}~k*i3hD*l$Ku_^v3wke6pfys`^$w?u)j#npzCweBDCr0T?-Z~*R-ap

2EHKj_}eo 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 z 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 + + + Debug + DataContext + 2.0 + 4.0 + {67cbc824-a49e-4e9b-a947-360f3dfe65c3} + Microsoft.Data.Schema.Sql.Sql100DatabaseSchemaProvider + Properties + False + Database + + + False + 1033, CI + BySchema + True + True + Properties\Database.sqlsettings + True + DataContext + dbo + 4.0 + + + .\sql\release\ + $(MSBuildProjectName).sql + + + + + False + + + Properties\Database.sqldeployment + Properties\Database.sqlcmdvars + False + + + .\sql\debug\ + $(MSBuildProjectName).sql + + + + + False + + + Properties\Database.sqldeployment + Properties\Database.sqlcmdvars + False + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Permissions + + + Code + + + Code + + + + + + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + + + NotInBuild + + + NotInBuild + + + NotInBuild + + + NotInBuild + + + \ No newline at end of file diff --git a/CharityPortal/DataContext/DataContext.dbproj.schemaview b/CharityPortal/DataContext/DataContext.dbproj.schemaview new file mode 100644 index 0000000..fa23ddc --- /dev/null +++ b/CharityPortal/DataContext/DataContext.dbproj.schemaview @@ -0,0 +1,8 @@ + + + + 1 + 0 + 0 + + \ No newline at end of file diff --git a/CharityPortal/DataContext/DataContext.dbproj.user b/CharityPortal/DataContext/DataContext.dbproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/CharityPortal/DataContext/DataContext.dbproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/CharityPortal/DataContext/Properties/Database.sqlcmdvars b/CharityPortal/DataContext/Properties/Database.sqlcmdvars new file mode 100644 index 0000000..edbb9fe --- /dev/null +++ b/CharityPortal/DataContext/Properties/Database.sqlcmdvars @@ -0,0 +1,6 @@ + + + 1.0 + + + \ No newline at end of file diff --git a/CharityPortal/DataContext/Properties/Database.sqldeployment b/CharityPortal/DataContext/Properties/Database.sqldeployment new file mode 100644 index 0000000..7abc577 --- /dev/null +++ b/CharityPortal/DataContext/Properties/Database.sqldeployment @@ -0,0 +1,14 @@ + + + 1.0 + + False + True + True + UseSourceModelCollation + False + False + False + False + + \ No newline at end of file diff --git a/CharityPortal/DataContext/Properties/Database.sqlpermissions b/CharityPortal/DataContext/Properties/Database.sqlpermissions new file mode 100644 index 0000000..98e869e --- /dev/null +++ b/CharityPortal/DataContext/Properties/Database.sqlpermissions @@ -0,0 +1,44 @@ + + + + \ No newline at end of file diff --git a/CharityPortal/DataContext/Properties/Database.sqlsettings b/CharityPortal/DataContext/Properties/Database.sqlsettings new file mode 100644 index 0000000..a6b27b3 --- /dev/null +++ b/CharityPortal/DataContext/Properties/Database.sqlsettings @@ -0,0 +1,52 @@ + + + 1.0 + + + SQL_Latin1_General_CP1_CI_AS + True + True + True + True + True + True + True + False + False + ONLINE + READ_WRITE + False + LOCAL + False + True + False + True + False + MULTI_USER + FULL + True + False + PRIMARY + + + False + False + NONE + DisableBroker + False + SIMPLE + False + False + True + False + + + False + True + 2 + Days + False + False + + + diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_OrganizationProject.index.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_OrganizationProject.index.sql new file mode 100644 index 0000000..274efea --- /dev/null +++ b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_OrganizationProject.index.sql @@ -0,0 +1,6 @@ +-- Creating non-clustered index for FOREIGN KEY 'FK_OrganizationProject' +CREATE INDEX [IX_FK_OrganizationProject] +ON [dbo].[Projects] + ([AdminOrganization_Id]); + + diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_OrganizationResource.index.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_OrganizationResource.index.sql new file mode 100644 index 0000000..ee8435a --- /dev/null +++ b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_OrganizationResource.index.sql @@ -0,0 +1,6 @@ +-- Creating non-clustered index for FOREIGN KEY 'FK_OrganizationResource' +CREATE INDEX [IX_FK_OrganizationResource] +ON [dbo].[Resources] + ([Organization_Id]); + + diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_ProjectResource.index.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_ProjectResource.index.sql new file mode 100644 index 0000000..17a2456 --- /dev/null +++ b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_ProjectResource.index.sql @@ -0,0 +1,6 @@ +-- Creating non-clustered index for FOREIGN KEY 'FK_ProjectResource' +CREATE INDEX [IX_FK_ProjectResource] +ON [dbo].[Resources] + ([Project_Id]); + + diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_ResourceResource.index.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_ResourceResource.index.sql new file mode 100644 index 0000000..d4e4ac7 --- /dev/null +++ b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_ResourceResource.index.sql @@ -0,0 +1,6 @@ +-- Creating non-clustered index for FOREIGN KEY 'FK_ResourceResource' +CREATE INDEX [IX_FK_ResourceResource] +ON [dbo].[Resources] + ([Fulfills_Id]); + + diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_TagResource_Resource.index.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_TagResource_Resource.index.sql new file mode 100644 index 0000000..3cb26e7 --- /dev/null +++ b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_TagResource_Resource.index.sql @@ -0,0 +1,6 @@ +-- Creating non-clustered index for FOREIGN KEY 'FK_TagResource_Resource' +CREATE INDEX [IX_FK_TagResource_Resource] +ON [dbo].[TagResource] + ([Resources_Id]); + + diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_OrganizationProject.fkey.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_OrganizationProject.fkey.sql new file mode 100644 index 0000000..041ee2a --- /dev/null +++ b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_OrganizationProject.fkey.sql @@ -0,0 +1,13 @@ +-- -------------------------------------------------- +-- Creating all FOREIGN KEY constraints +-- -------------------------------------------------- + +-- Creating foreign key on [AdminOrganization_Id] in table 'Projects' +ALTER TABLE [dbo].[Projects] +ADD CONSTRAINT [FK_OrganizationProject] + FOREIGN KEY ([AdminOrganization_Id]) + REFERENCES [dbo].[Organizations] + ([Id]) + ON DELETE NO ACTION ON UPDATE NO ACTION; + + diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_OrganizationResource.fkey.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_OrganizationResource.fkey.sql new file mode 100644 index 0000000..8f8323d --- /dev/null +++ b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_OrganizationResource.fkey.sql @@ -0,0 +1,9 @@ +-- Creating foreign key on [Organization_Id] in table 'Resources' +ALTER TABLE [dbo].[Resources] +ADD CONSTRAINT [FK_OrganizationResource] + FOREIGN KEY ([Organization_Id]) + REFERENCES [dbo].[Organizations] + ([Id]) + ON DELETE NO ACTION ON UPDATE NO ACTION; + + diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_ProjectResource.fkey.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_ProjectResource.fkey.sql new file mode 100644 index 0000000..31eb998 --- /dev/null +++ b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_ProjectResource.fkey.sql @@ -0,0 +1,9 @@ +-- Creating foreign key on [Project_Id] in table 'Resources' +ALTER TABLE [dbo].[Resources] +ADD CONSTRAINT [FK_ProjectResource] + FOREIGN KEY ([Project_Id]) + REFERENCES [dbo].[Projects] + ([Id]) + ON DELETE NO ACTION ON UPDATE NO ACTION; + + diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_ResourceResource.fkey.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_ResourceResource.fkey.sql new file mode 100644 index 0000000..134c468 --- /dev/null +++ b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_ResourceResource.fkey.sql @@ -0,0 +1,9 @@ +-- Creating foreign key on [Fulfills_Id] in table 'Resources' +ALTER TABLE [dbo].[Resources] +ADD CONSTRAINT [FK_ResourceResource] + FOREIGN KEY ([Fulfills_Id]) + REFERENCES [dbo].[Resources] + ([Id]) + ON DELETE NO ACTION ON UPDATE NO ACTION; + + diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_TagResource_Resource.fkey.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_TagResource_Resource.fkey.sql new file mode 100644 index 0000000..19df02f --- /dev/null +++ b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_TagResource_Resource.fkey.sql @@ -0,0 +1,9 @@ +-- Creating foreign key on [Resources_Id] in table 'TagResource' +ALTER TABLE [dbo].[TagResource] +ADD CONSTRAINT [FK_TagResource_Resource] + FOREIGN KEY ([Resources_Id]) + REFERENCES [dbo].[Resources] + ([Id]) + ON DELETE NO ACTION ON UPDATE NO ACTION; + + diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_TagResource_Tag.fkey.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_TagResource_Tag.fkey.sql new file mode 100644 index 0000000..a516451 --- /dev/null +++ b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_TagResource_Tag.fkey.sql @@ -0,0 +1,9 @@ +-- Creating foreign key on [Tag_Id] in table 'TagResource' +ALTER TABLE [dbo].[TagResource] +ADD CONSTRAINT [FK_TagResource_Tag] + FOREIGN KEY ([Tag_Id]) + REFERENCES [dbo].[Tags] + ([Id]) + ON DELETE NO ACTION ON UPDATE NO ACTION; + + diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Organizations.pkey.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Organizations.pkey.sql new file mode 100644 index 0000000..8c29d32 --- /dev/null +++ b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Organizations.pkey.sql @@ -0,0 +1,6 @@ +-- Creating primary key on [Id] in table 'Organizations' +ALTER TABLE [dbo].[Organizations] +ADD CONSTRAINT [PK_Organizations] + PRIMARY KEY CLUSTERED ([Id] ASC); + + diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Projects.pkey.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Projects.pkey.sql new file mode 100644 index 0000000..4103171 --- /dev/null +++ b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Projects.pkey.sql @@ -0,0 +1,10 @@ +-- -------------------------------------------------- +-- Creating all PRIMARY KEY constraints +-- -------------------------------------------------- + +-- Creating primary key on [Id] in table 'Projects' +ALTER TABLE [dbo].[Projects] +ADD CONSTRAINT [PK_Projects] + PRIMARY KEY CLUSTERED ([Id] ASC); + + diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Resources.pkey.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Resources.pkey.sql new file mode 100644 index 0000000..aead649 --- /dev/null +++ b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Resources.pkey.sql @@ -0,0 +1,6 @@ +-- Creating primary key on [Id] in table 'Resources' +ALTER TABLE [dbo].[Resources] +ADD CONSTRAINT [PK_Resources] + PRIMARY KEY CLUSTERED ([Id] ASC); + + diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_TagResource.pkey.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_TagResource.pkey.sql new file mode 100644 index 0000000..4cb7bb9 --- /dev/null +++ b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_TagResource.pkey.sql @@ -0,0 +1,6 @@ +-- Creating primary key on [Tag_Id], [Resources_Id] in table 'TagResource' +ALTER TABLE [dbo].[TagResource] +ADD CONSTRAINT [PK_TagResource] + PRIMARY KEY NONCLUSTERED ([Tag_Id], [Resources_Id] ASC); + + diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Tags.pkey.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Tags.pkey.sql new file mode 100644 index 0000000..23718ba --- /dev/null +++ b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Tags.pkey.sql @@ -0,0 +1,6 @@ +-- Creating primary key on [Id] in table 'Tags' +ALTER TABLE [dbo].[Tags] +ADD CONSTRAINT [PK_Tags] + PRIMARY KEY CLUSTERED ([Id] ASC); + + diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Organizations.table.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Organizations.table.sql new file mode 100644 index 0000000..4d3ff3e --- /dev/null +++ b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Organizations.table.sql @@ -0,0 +1,8 @@ +-- Creating table 'Organizations' +CREATE TABLE [dbo].[Organizations] ( + [Id] int IDENTITY(1,1) NOT NULL, + [Name] nvarchar(max) NOT NULL, + [ContactEmail] nvarchar(max) NOT NULL +); + + diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Projects.table.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Projects.table.sql new file mode 100644 index 0000000..59a5cd7 --- /dev/null +++ b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Projects.table.sql @@ -0,0 +1,17 @@ +-- -------------------------------------------------- +-- Creating all tables +-- -------------------------------------------------- + +-- Creating table 'Projects' +CREATE TABLE [dbo].[Projects] ( + [Id] int IDENTITY(1,1) NOT NULL, + [Name] nvarchar(max) NOT NULL, + [Description] nvarchar(max) NOT NULL, + [IsActive] bit NOT NULL, + [Location_Longitude] float NOT NULL, + [Location_Latitude] float NOT NULL, + [Location_Address] nvarchar(max) NOT NULL, + [AdminOrganization_Id] int NOT NULL +); + + diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Resources.table.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Resources.table.sql new file mode 100644 index 0000000..02c6375 --- /dev/null +++ b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Resources.table.sql @@ -0,0 +1,16 @@ +-- Creating table 'Resources' +CREATE TABLE [dbo].[Resources] ( + [Id] bigint IDENTITY(1,1) NOT NULL, + [Title] nvarchar(max) NOT NULL, + [Description] nvarchar(max) NOT NULL, + [Quantity] float NOT NULL, + [QuantityUnits] nvarchar(max) NOT NULL, + [Location_Longitude] float NOT NULL, + [Location_Latitude] float NOT NULL, + [Location_Address] nvarchar(max) NOT NULL, + [Project_Id] int NOT NULL, + [Organization_Id] int NOT NULL, + [Fulfills_Id] bigint NOT NULL +); + + diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/TagResource.table.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/TagResource.table.sql new file mode 100644 index 0000000..736be08 --- /dev/null +++ b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/TagResource.table.sql @@ -0,0 +1,7 @@ +-- Creating table 'TagResource' +CREATE TABLE [dbo].[TagResource] ( + [Tag_Id] int NOT NULL, + [Resources_Id] bigint NOT NULL +); + + diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Tags.table.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Tags.table.sql new file mode 100644 index 0000000..e29021a --- /dev/null +++ b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Tags.table.sql @@ -0,0 +1,7 @@ +-- Creating table 'Tags' +CREATE TABLE [dbo].[Tags] ( + [Id] int IDENTITY(1,1) NOT NULL, + [Name] nvarchar(max) NOT NULL +); + + diff --git a/CharityPortal/DataContext/Scripts/Post-Deployment/Script.PostDeployment.sql b/CharityPortal/DataContext/Scripts/Post-Deployment/Script.PostDeployment.sql new file mode 100644 index 0000000..37db4f5 --- /dev/null +++ b/CharityPortal/DataContext/Scripts/Post-Deployment/Script.PostDeployment.sql @@ -0,0 +1,11 @@ +/* +Post-Deployment Script Template +-------------------------------------------------------------------------------------- + This file contains SQL statements that will be appended to the build script. + Use SQLCMD syntax to include a file in the post-deployment script. + Example: :r .\myfile.sql + Use SQLCMD syntax to reference a variable in the post-deployment script. + Example: :setvar TableName MyTable + SELECT * FROM [$(TableName)] +-------------------------------------------------------------------------------------- +*/ \ No newline at end of file diff --git a/CharityPortal/DataContext/Scripts/Pre-Deployment/Script.PreDeployment.sql b/CharityPortal/DataContext/Scripts/Pre-Deployment/Script.PreDeployment.sql new file mode 100644 index 0000000..0c9f8d6 --- /dev/null +++ b/CharityPortal/DataContext/Scripts/Pre-Deployment/Script.PreDeployment.sql @@ -0,0 +1,11 @@ +/* + Pre-Deployment Script Template +-------------------------------------------------------------------------------------- + This file contains SQL statements that will be executed before the build script. + Use SQLCMD syntax to include a file in the pre-deployment script. + Example: :r .\myfile.sql + Use SQLCMD syntax to reference a variable in the pre-deployment script. + Example: :setvar TableName MyTable + SELECT * FROM [$(TableName)] +-------------------------------------------------------------------------------------- +*/ \ No newline at end of file diff --git a/CharityPortal/DataContext/Scripts/ScriptsIgnoredOnImport.sql b/CharityPortal/DataContext/Scripts/ScriptsIgnoredOnImport.sql new file mode 100644 index 0000000..01017e0 --- /dev/null +++ b/CharityPortal/DataContext/Scripts/ScriptsIgnoredOnImport.sql @@ -0,0 +1,61 @@ + +-- -------------------------------------------------- +-- Entity Designer DDL Script for SQL Server 2005, 2008, and Azure +-- -------------------------------------------------- +-- Date Created: 07/02/2011 16:21:29 +-- Generated from EDMX file: D:\trev\Dev\dev4good\CharityPortal\CharityPortal.Data\DataContext.edmx +-- -------------------------------------------------- + +SET QUOTED_IDENTIFIER OFF; +GO +USE [charityportal]; +GO +IF SCHEMA_ID(N'dbo') IS NULL EXECUTE(N'CREATE SCHEMA [dbo]'); +GO +-- -------------------------------------------------- +-- Dropping existing FOREIGN KEY constraints +-- -------------------------------------------------- + +IF OBJECT_ID(N'[dbo].[FK_OrganizationProject]', 'F') IS NOT NULL + ALTER TABLE [dbo].[Projects] DROP CONSTRAINT [FK_OrganizationProject]; +GO +IF OBJECT_ID(N'[dbo].[FK_ProjectResource]', 'F') IS NOT NULL + ALTER TABLE [dbo].[Resources] DROP CONSTRAINT [FK_ProjectResource]; +GO +IF OBJECT_ID(N'[dbo].[FK_OrganizationResource]', 'F') IS NOT NULL + ALTER TABLE [dbo].[Resources] DROP CONSTRAINT [FK_OrganizationResource]; +GO +IF OBJECT_ID(N'[dbo].[FK_ResourceResource]', 'F') IS NOT NULL + ALTER TABLE [dbo].[Resources] DROP CONSTRAINT [FK_ResourceResource]; +GO +IF OBJECT_ID(N'[dbo].[FK_TagResource_Tag]', 'F') IS NOT NULL + ALTER TABLE [dbo].[TagResource] DROP CONSTRAINT [FK_TagResource_Tag]; +GO +IF OBJECT_ID(N'[dbo].[FK_TagResource_Resource]', 'F') IS NOT NULL + ALTER TABLE [dbo].[TagResource] DROP CONSTRAINT [FK_TagResource_Resource]; +GO +-- -------------------------------------------------- +-- Dropping existing tables +-- -------------------------------------------------- + +IF OBJECT_ID(N'[dbo].[Projects]', 'U') IS NOT NULL + DROP TABLE [dbo].[Projects]; +GO +IF OBJECT_ID(N'[dbo].[Resources]', 'U') IS NOT NULL + DROP TABLE [dbo].[Resources]; +GO +IF OBJECT_ID(N'[dbo].[Organizations]', 'U') IS NOT NULL + DROP TABLE [dbo].[Organizations]; +GO +IF OBJECT_ID(N'[dbo].[Tags]', 'U') IS NOT NULL + DROP TABLE [dbo].[Tags]; +GO +IF OBJECT_ID(N'[dbo].[TagResource]', 'U') IS NOT NULL + DROP TABLE [dbo].[TagResource]; +GO + +-- -------------------------------------------------- +-- Script has ended +-- -------------------------------------------------- + +GO diff --git a/CharityPortal/DataContext/sql/debug/DataContext.dbschema b/CharityPortal/DataContext/sql/debug/DataContext.dbschema new file mode 100644 index 0000000..7813f19 --- /dev/null +++ b/CharityPortal/DataContext/sql/debug/DataContext.dbschema @@ -0,0 +1,843 @@ + + +

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/CharityPortal/DataContext/sql/debug/DataContext.deploymanifest b/CharityPortal/DataContext/sql/debug/DataContext.deploymanifest new file mode 100644 index 0000000..1fe0baa --- /dev/null +++ b/CharityPortal/DataContext/sql/debug/DataContext.deploymanifest @@ -0,0 +1,41 @@ + + + + DataContext + False + True + DataContext.dbschema + DataContext.sql + DataContext_Database.sqldeployment + + + DataContext_Database.sqlcmdvars + + + + <__PostdeploymentMetadata> + + + + <__PredeploymentMetadata> + + + + + + Microsoft.Data.Schema.Sql + 10.0.0.0 + sD9ffxHVCjo= + + + Microsoft.Data.Schema.Sql + 10.0.0.0 + sD9ffxHVCjo= + + + Microsoft.Data.Schema.Sql + 10.0.0.0 + sD9ffxHVCjo= + + + \ No newline at end of file diff --git a/CharityPortal/DataContext/sql/debug/DataContext_Database.sqlcmdvars b/CharityPortal/DataContext/sql/debug/DataContext_Database.sqlcmdvars new file mode 100644 index 0000000..edbb9fe --- /dev/null +++ b/CharityPortal/DataContext/sql/debug/DataContext_Database.sqlcmdvars @@ -0,0 +1,6 @@ + + + 1.0 + + + \ No newline at end of file diff --git a/CharityPortal/DataContext/sql/debug/DataContext_Database.sqldeployment b/CharityPortal/DataContext/sql/debug/DataContext_Database.sqldeployment new file mode 100644 index 0000000..7abc577 --- /dev/null +++ b/CharityPortal/DataContext/sql/debug/DataContext_Database.sqldeployment @@ -0,0 +1,14 @@ + + + 1.0 + + False + True + True + UseSourceModelCollation + False + False + False + False + + \ No newline at end of file diff --git a/CharityPortal/DataContext/sql/debug/DataContext_Database.sqlsettings b/CharityPortal/DataContext/sql/debug/DataContext_Database.sqlsettings new file mode 100644 index 0000000..a6b27b3 --- /dev/null +++ b/CharityPortal/DataContext/sql/debug/DataContext_Database.sqlsettings @@ -0,0 +1,52 @@ + + + 1.0 + + + SQL_Latin1_General_CP1_CI_AS + True + True + True + True + True + True + True + False + False + ONLINE + READ_WRITE + False + LOCAL + False + True + False + True + False + MULTI_USER + FULL + True + False + PRIMARY + + + False + False + NONE + DisableBroker + False + SIMPLE + False + False + True + False + + + False + True + 2 + Days + False + False + + + diff --git a/CharityPortal/DataContext/sql/debug/DataContext_Script.PostDeployment.sql b/CharityPortal/DataContext/sql/debug/DataContext_Script.PostDeployment.sql new file mode 100644 index 0000000..00e8eb2 --- /dev/null +++ b/CharityPortal/DataContext/sql/debug/DataContext_Script.PostDeployment.sql @@ -0,0 +1,11 @@ +/* +Post-Deployment Script Template +-------------------------------------------------------------------------------------- + This file contains SQL statements that will be appended to the build script. + Use SQLCMD syntax to include a file in the post-deployment script. + Example: :r .\myfile.sql + Use SQLCMD syntax to reference a variable in the post-deployment script. + Example: :setvar TableName MyTable + SELECT * FROM [$(TableName)] +-------------------------------------------------------------------------------------- +*/ diff --git a/CharityPortal/DataContext/sql/debug/DataContext_Script.PreDeployment.sql b/CharityPortal/DataContext/sql/debug/DataContext_Script.PreDeployment.sql new file mode 100644 index 0000000..6a4524b --- /dev/null +++ b/CharityPortal/DataContext/sql/debug/DataContext_Script.PreDeployment.sql @@ -0,0 +1,11 @@ +/* + Pre-Deployment Script Template +-------------------------------------------------------------------------------------- + This file contains SQL statements that will be executed before the build script. + Use SQLCMD syntax to include a file in the pre-deployment script. + Example: :r .\myfile.sql + Use SQLCMD syntax to reference a variable in the pre-deployment script. + Example: :setvar TableName MyTable + SELECT * FROM [$(TableName)] +-------------------------------------------------------------------------------------- +*/ From 6a10a8e55f90c5085ee18927de2ac8076d0bfb6d Mon Sep 17 00:00:00 2001 From: Ivan Zlatev Date: Sat, 2 Jul 2011 17:24:05 +0100 Subject: [PATCH 07/31] Remove deleted files from the project. --- CharityPortal/DataContext/DataContext.dbmdl | Bin 2772992 -> 2510848 bytes CharityPortal/DataContext/DataContext.dbproj | 471 +++++++++--------- .../DataContext/DataContext.dbproj.user | 4 +- 3 files changed, 233 insertions(+), 242 deletions(-) diff --git a/CharityPortal/DataContext/DataContext.dbmdl b/CharityPortal/DataContext/DataContext.dbmdl index 0d9948c032f9227f4bc51e4c9942b38468b7bf4b..7f4f06dcaf4044abd2d46fb90570ca6f600f4c1d 100644 GIT binary patch delta 89301 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

pecb=0 zN&e-ONuK$$Nq&EUS#x7lWSL!-@FjK%9RS9X&|{@!Od!R9Cnjylpf zHj)@_q4-;$-N0gJ`*6%_K?6%OLlCYHg^F1?H1JjfOTI5Z(qbb2yLYo4oy^=f^G=eN z(kf$NzQ?js{cPwv2SN2(3ZT|&84WLZEv@0jcnq*GBtxHAOB-1Dl{VOSKGrhI1OwIJ zR9N4{G6eFUGlasa#+C+b6zNW5O9t$0Y)K?Zw3~t4XM?qM=HX zx8#^*(_?U?xuugOalc7kmukj_+U&d2+(NwO%TcD8bf&Hm(lVpn#W*Wb$}W+lA%71P z|Gm3UE&f}-edTbBs?d zvTO)~zVj_DA!q@%Rk=`@ieqRM5vmK8Bq~WzHQN#b4=u37!-MlIe#cc*c~jgNEar`cYHg*9aS`kbX2G`T>Ab-TNB2ytwt@6)OOlX2PvUB^$>p541U zarRpbyFXh6pB({(m$46-dX7!8a*h2OOh2vwTMS z)~%Xg&S#`^(p-LqPUBw0pN!w1GETAROvBSMeDoPfhR2WEH7G9(vqHq@B%3t!AH;&s z$t=O@)&J=%cU{FS8$;bp}IOfuEd_}2f#TX4Y}{I|iLl6_qc1`m+`)|+8XeXf7R zIfLS=R*?Hk6%e{H`kh%NsE|^_iNM>D_x@BV7_$~RqlgEQIDzv*+{qWR# z*ae^5Mitb}(6aoX9VH7IBP3tU3buSCBWv+%H1Uy@}=4U+o$CtcM-JxTyHaP zm!|BJ(Po6%=4cQ7!QO|V+UXH}OB6J^x5Jj@#O;eswVw|)o2C1Asc20INa`vuZfRpc zDkpjZ&_ ze&2E>1OadO%{GMo;f`M#$%M{$zt5oj$qhe)|AwE>5cHcne$!;M;|;&N6$`@Jol$oi zLfF=0TgrG#@TsT*B@`oKTU)c}-N+>0tP%EKWxSxz#5<Lc>G$sQMI}4%x53Q>QS+ z=GcfN$ef2arr$hl&#X@|>4^Oz>^+Ss&i8XCLF&hf5h|8ou-a$utmN}u`5HZIHxn3o zIobh>Z|L>u3{dp0Vufeki*SH#F%nyCe%l>gw=Fb#-hLJ5#IQQkv>=RaY=zM;*t2LF z-ioab18hDzSNWXB!${4Xh94 z!z5en*bPx(Ppc(Eu?X3Mv}W+k+=vvYRkWr!c0Cv$aCYkpX9jplm<2YIFx`T-ln1Pv zaTeBQD2TzE*8e79PpTEUsKmy;7}FHql*7i*)fP~ygrRg*!iHFIwbK%u47SMHbHlB$ zHn3O;vxRa48?QH242ClI1aqqA~Ip$ zlM&I1sbr{sf)YDZ4=jjCz#R{UiUkq96)8UtY<6_79@-hvSM?6Vvr^eI!~s=n!_qcd z!kj9;k|!DZEy99Z_0O<81=k_JJO~PF&^!oI7Dp7IB@e20MNFdC zCj|;xg?M4@6JbptHO-M^FyXgJfje6xdVww6VuW)cVICPbxE&HUOvW5MtsJZHE=L{| z##ov`^bEZz^{DJ&k&O~Ty9iJcCbjJX{=h#Ronx=+E} zFw(bsO4vC9%MN3Nt*;x~s>`YqZchzs1iwrRi>}+=H)nbnHXuEHm<}5dmQI6XGs4Ey zC4qS}!`?^t1lxfqm^KUZACLK;nHAQ8n7j5Fu-lF2>f^w3b?aLGm*HsqTr|`rc&?-F ze`8|f2()^h4Cu^?hDo6{!y#&I*ajI(WIh4d}wDI(^ZVkv0e_gl_n=24Lcb-!uU2 zH~yvpcyZ%@rvbnhSN*O5F#lH#0JbQ!0a!^Jn!5Vmm)7L0N9(FTtMzvt_1FICkNvUs zdmpc>{nPODh|1rQo+|qjSoeQl(GzJ5*7H8JmWgWK$DsVCQV*b!qE2VgdWcneBwf-P z4H=umPMQyODB2x~7xcTpYk#5W?7S#6;tSTsyhrO<1zvkC-Lh(TG+M1s);V3;?P(i! z$Dl1Dz_y~#M;|soTLNzF#GBNyHFWERUH0$xptVIn%D14RqZjLA|0fS?x}89a=db`{ zwY!%VPQN;pW&Jc%y@>X2HLQ+o7G1uqM?+&pkFHO)Rnb3!_m5$+)OWDPkeM2AfJn>f0_I^0pOI!y4GSs#w011y6uO+N#3C*cn8aL3ngbkL$#!OCf9hhTjo zY3ffM6{6oHP5fCku+ipqKNK*<7Lrd&^A<`%TiT@>bY9C ztuOA5#dDewa85P(jooo*>k(k&=;}RfF?MT?g)p?>5d)-D;C$LU~hxn(w%fiSM2Hr!r4hUmG4GdM;my2 zydEo~<=A+Ao?0;wQkt}`GkkGcIP0x7j4o^ESRh;ZjzXsznp5473?)+ysRjvO zHHTeIu9gVrC+c*nZ}Um|8eANo#MVM5>tk`Pa57#K2|_wLmKcoq9=c9&x}#&Xfxf7& zDU^NXYy-7Z^e_Xirf!B4!RRM-o~kEMVLNfEK8k+XzL%U2Dirdj=@qnY#$0jYBrAMf z-WBI6gAI>91;}U4M`e=)B{TGyblaOV^c)rU))FepQDElJ)JM=&JR!661gO~(KG0yS z86Y);;#qnW+@6DP`$LMRd%1PZSqcpb^^4k(^S<^C@v^MIOS^$y+9G;sdtOc4lZ@6) z0he}2=Mj%I!b|&D;H6!QmsZ;`{Jgy}rrw2lykZFV#g*%yhHCkf2k&Wu)>8p_Y>i%M zZ;E-m7MMpR%_IKoxIN7<_51aywfB~u?vR4j`}-$-S`D5rI4fg078TTAJM4#C!@+z> ze-jp}7|ANs%}e@lWg?cm-k0@t1X>&YTg5}i#O?vu*8g6VAnbozAY9v`@OHW0 zzC67JS`&8!^uINOq-gAe=_d$lVP$Iv*1}ZB1lnt`l?Qf5#MP;_hHS1WP2=4Y;esd9 z9Nhygb~v*q0#)Fih@py+&Pt^zD_dZ0*qgJJ)Tbj(;YpjRIP6&y3sTI zn^wZBg!-F_dksN<-cDHj?Zm>mGxEE30-tXb&`$J|6>K3|J5pfHBs~T4C+VY^Ws=@c z#&=d?qcKJfVy(sm+02@aV%nt84Vqy)K^u=T>TlW(yD{Xqjfd6uQYS|zqCFUVeNRig zp2K$3^{Kk0VNLH=Sjh(QYfNi`p6kF$rY`@fS!+x^eg}-nrez|ZmXu5J*1c`eIxirP zeJx5O(lL)Yfq9hBJa#@9xwkE*URIx4n|VEHZ#%TD4zRWC-Ewbxv^^SNYkN5@vIACV z-wvNv>1avnDvj^a6AmN6-%zq%@qA-+DpD(q;h??bXb#?&9ns1pQ6K;Dvg3P5xro)K z!!36UxO37G1SuySO(5tMM^t^XC9gQ%gm*4sM?c|J$MAZ4#A}Z0q_clNs1(pIf58|A zeP4HUsZVqLb;q|P%b$kH=8D5cBNV;iXa~_}0(bJ(n|Lh4KKCCBYVy-~EV;IzP@FdA z=w6@SfwwTft^xUB!VxT*Rd_7KdiLimt>;NN#E)!KDA?|@U^2L%Ig@4zdau9o9lI0iDHyS!$+}>9H@$Q7?mKj z<60z9OlZfR+zFlA%Z(wlGx~&m;vEH8#BrSG^FJBl>8)7(V?2{p?611P{_PR{>s}GN z(eE(Mz8L8OTQ51Dss6J`j&$1Sq~*vRg~0`H<;ZOne8;WtWJ5<0-f0^qwSfz%Ru@!W zi7bSpjU0uvZ7BaNat2Oq8wjDFM;7A~ABI5L=aGd9Dg-EN;y6RAIC>yo&KyDAmzF>?2#MU`v6H)AhPIJ3?v~=M;P}JToMAb+)5#-fav>?diEF=;~ZR zPku6#f9Y%tBPL>wo4<56k*yNscXMv!J8S|YvYi?<%XYS<(kv5`uFZCC_iuS3J187- zyF0syqw^i_?!@VeX}dP<&BibHQ~ej#iu-mf?~W}&)J}Xsk@L~Iy5hT&?+hm}_e(7J zO~yGl)I~t_c;{7^dIRm)8JfU5!8wyg`p{t>h%W9;jKDE6{5{7#ss;&@oZad+^_`sL z#KtAZUjeakiHFoF&L{|(?sUPX8r1}|B7*D?bq1T6$)cHgd5ZHEY<>w}e$2Y~>r z>LWK#bN&izPGTgE04}Su`_{~$2jBBmjCf%t9z4wrt9Vy3*k8l<&T=-Bap;lN@Y-2U z51fAk)5aG%&uKNO6?=Q&Su(RpJ?xg0cIiyz?Vf0J?&PDyB~EOw$4hVS?Sk?p_xALdGebLsh-WLCCq_LzQ+NSMf<0woEZL!-|{?wkgIoih^+{g!d_SzY-pRdq5%lpkKvTPeQeZ zooaLFIYVzldr(xwGZceg68AFDH$m5H;^8=gJw)mPMW5r_sGD4MhR_D6DQrFvnurf6 z@fuKyyNAmb2~J#f&ZS@BH+uP+Gn$s>e_nH{9m`v-GsEFvzV+Gq0{$~}eDSos3o#BOaC)GQ{yBaL464I))aaVXZdaNCw ztedkNU|nho&+ZC;7D8@1ztNfoS)T5X7id)dMbm~he7QOoE7jti8#LGXx?&00#Puue zIPEX4iLm-&kQ-`MH^jn>ofSu=(<7%`KuX@4V&ObkZU>_;+NXY9_Mrbda8*~Zgve)rij{> ztGT|1OA|42q{UUt>}(*cMX>8Oyg3=|tZtv}X$plW`nVmy=+O{7s=7SvR@WzRXey?) zU5z$D@r$ko^cO4|Y_PiG{3FyfEsjvH(LPxn^>iMdz3BmGZ|jYQPY*!bJpr~U{aQUe z5N)OPHt&>ITeHUrqz2vr#!8X=pT`Mg|F<3|pnZE^)V{%ZRwwVO7p?ED|1oh03eNGn z{A~?hDxaS3Lc#f1x8MsyG4)-$cq3Tk!bWiZpw|0_p>;`p9$M!^S^I{g?SVR*$sFB( z-v~5qs51p=-PV+h8j01UVi!Jsz}14l6VtKK}n{U#Tmb5%ie745G+&o^L>=*kzce4C7D7vN*W?2Vo?R z8?hg+m|)XUS2RpHhIND<4wIVL$}p)}bIjG8HaYg=u2wMFjGGNV?%JuHTsCswC_G!` z0cUH~rOEq7qis)s?I+8&$}wp3?c(F;HT05%94y^87OgMWr%Za8wEU31t9*4}Wx*#q z{NlgL(vZpmDO>u_8_Vfa9{%rqz5|^uk*y4%Z!8ZsdyT(&W4SdSi^*emJ-V*|i`7T< z#Y)S6`^kOd&~`b%mek_FzVT?g8DN{<@Z)0>u&Ud4<1=^M57k$)uQT1(p@#(vK01LW z_%X{}SYI_OySTd>C2i(aVg7ny&bBug=}vLj!W?<~|J>`$df_$#$C{H`^Tzk=^n3 zYFz`cuDkm>nd;Aq`J3#wQ{Eo#hVWGncT|1C2|e8>$uxh$j9%{1$~4}F`2O9?9Y&!0 zVcb)$A@U$O!Vcu=hJbD0MTcqqOZU$ zMBixa{n-}h$GM-P0*Z}uTB&PAM{;eGjjiidAC3QC8vY!v&^FC~gyrEbs`i5ExMveO zn5#mruqi03{K;ykx{VMu)xG4uF>o5C7;!V^b$xQp83y~dhIhn!lK#O|-qP+L^O~!K>y1TBA)4J@xux|?5A_HtD`;C25(UursJ6rVQzG-Mn4X|yf zGE_`QTZaJKkhXfo47BwKu*LkNLB&k84G6G(dZ!6a!Oxe*1lS%LeC|de){ObPeOj$M zhQNX6vAkemFRm{~uCLucks`2v<9?*xNWOJfLH2P>jNKFe8D9Rk?ifhr+;xP1deB8 zT5&rBe_CZxEy3L)p-TmnJ0Q291@3=kWUV3)g z!P+~RV@64M6WD&oJxbd-Hoc+jf?%nP%N<* ziv4XbRr9~o?eBZ3nv=fME#ReU%Adblt)(Zo;x0VFOX^Rs_S2G)6?dcUfqL7hCWF)Q zkt<&56rXYYn`iMi2>glMf1btv|D9*?fAg0=k@G)`e;i45|4q;0$6NBOE0k7rno}_s zOWWr9(x&y@R9tZn+I9!n^xF?s+>5ru0k#G`A80fW+urw4m6U`(LYpVwmXh#^1cG{F zJA$4FK1!rCydONcG(5V#@luwB2NO8e&z~d-N-k)Tu&Fd0AHecqgcWLQ@P}%@*#d%> zhyMx@-Ewb3(zS1!+_G`D*E5jSXTh$T%HZyNk_;C2}{_yKy z`vx;X{epM29|*^%m{jBJp&5ACm?DQj^|u&{c`T$hU|X$tDEuc_`W@Ok-$4OY*vR6B zGY^ON@Tb80TsU>T>^6>i7p)F2qf?VkBtx{huUTqI~1=8FV$XN{zS!m zJcB3e&tTlUtvk(FfVS#DrGgj6iMO)oCxqWl!7l$kI)?Ih4*&E~g8jF_lKDXFli^eN z4YTC`!QOj-H*s`}-@7ZxMQ)ONk!=+hx-ELgqIWDhp;`2fMJEJgg%&~pi#8;oSoDrX zu~G=J5=bRrC3(}{yor^B^kSzs!gtQ>kxN4U_kPd4-@X6ud0r=sesj*5+1=SQv$M0a zvpD`59Em-eERV$grv{38<7EgQeKlb{jwc_fAAh~epph2_jrxbEm#fZ{uYw|bwZ0g& zD;K$7KCMQeW&MO@b?>Acm*AyB^{=l#SH2q3d|sbM{bbkI%h!PH#|Edu>Qip9s^7qa;Of7) zUcSJX@-8dC4f49nJ$rg}gqm$NrF5$^JC>W3BC_UqUCz51(~P~Bl@iOAXQvFPvtYWM zl(*pp7yig8_)s~GEjSbr$@b@@7}&U6s0P8^IaZaMB8m^-4B|a?LhrSvDIqWduny`V zj4N-dS6pqL0(JGPji7+)oP+C9q%x>nNir2Z02Mo!HG8FH%G>A>yb3(kDkYOWy9pB3 zv`X2gm@oH1+Ox;H0g3k8_dpa9qPO7N@$nYn?i?kVQtc@@xQE z|9Y8eTi2g78$ou@DPC>l0ET!|ORb!7GE?!YlsuftC_j1OQyTx5XEecV#?cBaFurU0 zgDDRyqM!u{#$YnY!4#)L+dve{S{{aHiZJ2O3{#-N6ELcXrYv?JNg0TbL(B+@h(_sf zo+Lh}rgVJTWK1KAn4>A172!}F`BHDenUr^*V5JC`lWuA}d-885T6tlj)vJ=)`$!MZ z18|zg)}K1{3TcRE6Ue63%S@GdJzjYbWQ!V}PPlnX6XesWfg7({H=NEhWiS~89?>`d zkLQh!mgJ{K&G_UwD7;6Y<%Xw7b#Y$Y_y0+Fw*t>?kWs@TAM}@*sp)^o4GQ@oZ1NhF z@&D3nRY}1gqqVA=|IkN@sh8Bxe;6wtFU*^59Y6KIGQ~9+UvFA0vKP*!bX1$RPx5Sr zbG)SfysJN}o#S~3WR3>1hdQrK+yd?D;Zt69RZ4e}m281Fg-;KM#weVf3ysvU0&HiB zBf=x)D8H=p76&i#3EpSUl8u7>%aDQiVm)dW(%@NSA*0W!I(aqV9z-@{AVILCbm48r{5 zy_BU9@O5kX58iO#&FY-@Q!-&;<3^3Wnw@(;#j4(Kzt^)BN^eVp(t99mn_(Ns_MC#5 z5|J=dq9z4KI5+&`T1Y8K$DDz2&q$bPllp#4-0pso&jlmbBhJWMgv0g5X;NY2`d_(= zFKh>M=b5_8V%$HLzQ1_~Sg&qqosZV;ZH@~&!TO>TV^Hoi_$411>jeNFdEdqCRnT>bVVPOq(a7`ET*oV>SKvT>!j{r
T>*RVcc;R8HIK@L2k+IyvZ#J(8rJ1tY9>o>p^rn-v#23yY4vGJ z52eDDvAovNr)w>Xpf6Px!Iw z-6%DlMDZTYpO{b6CrW7cL@~x;^2A*4f=^SohpKOlT6yUJ?D?wtqfwu_wEj{V$Tl>P z*%P*3a)Zp(K-O{TzDox|wzq-okJnFJIs~#~4P?)kZC4%!cfAVkT9CFx#8csQTGHTl zS>I zEPHWa8r;+LPiw~t2Bhig4Idkj_62htOy##p+-y23z2-q_6GY}X4hk4@GP3svr43+_ zLmDLYt{ajD1H6k)f(Z=p#&oS??v;pc1BOkwX1PbC(gMwIj z@!F-MAggR3>#Te2(lL--CmA&KVp#Zn?_D|$!Z#ZjKJ(!hmrj7}!+M$N(Z06~Cqed8 zL%%B@FGTA5algYC%J^E71IyA*Vx-agX8)thOUiGXspYrLmdI;U246Otf_1X)T{8yn zn)Os@K;#U*e#Wl1j}Bu`pGfN@!ICC{cG2zlTWKinh*NJ33A$1#1b$DY!T0;dv(p`; z`^gr^5_LT#wZOhe)Xh;v3gcl#%%_udUHNL62&!n1HDUJhn6_LtFw5xLUTV?-W8$&kWPCg<3Go0aX*`DS~P2&_iy{irT}4xu{5$69G>H z;MP$PX27QMN2_6yKt)=&u@cZgyb#CCSK&w- z6?KFbwurm2AF|ff8}{kW&;|$9H5_M@;PMXl?(odti0g9sL)aTP)0(NLY!)icz>$4l zUwzc3@1iQsf=no{yXuC1K0Kx3oT`XvAJ-bZ@*AMP_Fem8IkaCn<(JgD1EQjsE>>QZ zq*I9EdFHvDl*Y0YItN$bbOsq%*%%#@7 z&;0$tHuyTy%sQoaSfmc-F(1NK5jvN#Y)zDIWu2Cdh}Iopl}dP%_xG{UY0z(k)(qzH z#pp8O;}&o)oy|tY=;k)qX{VSn<)7)%(&Zb`(wnEECEsbSl%kH5-u^sB3h5Xl{Sp={ zeS9lQx|$O&eX=-Oy0K0x{lgM1J^n!~oWvNZrZ8Ht-*>*!17{$+9L`zr4=$RKg@rt( zDqxvbZIgQE`mepl%9|E^jWrObJ8_q$1Y8N468Ibjwj}Em;eT#QdVvO7lDW#iG$h?n z^rv=2A(f72*3Qx0AmTXf|MFq$PHIPmGY+i*IWTP9%GOa5s9s}8wdRbCtrQQEH)RlE~LU935P06n= ztAUj@Ps#EgFU2bJ1Xh`B)_Qz&bJnUicyY{jT?d6dSg#Il*Tslz_fT-u`abNP3DKFd z%L7p#wk}2aP95BqJcYL<+3ejG&?)WyK{QM%+N~R+SQO0m@!ep=K8e!Av9fnk;$*vG zrsH<;tbpm#<;#6tif8ud`im?~0o~M$M|79!v&wrEvr5PQYt=63DqQ~rwzh3=!>x7P zr^^u8_)svJvtReHoR;@LC&>NJ$p>_qtTY_-!P=-{tql5f=7@m~GEkF&A5MytF8>}Q zJ-H=Ty6{f4RQ9q~>boaaS~wtH>h?yo)a-e!)b{mg$#6|8X0BW*-!>X%C?Y_Vp-Mldih}EQiyh(&>Q9W% zG7MD2fbw6}F?^wJSYABa&`m0s0Qb8wRMXF88@iyRwrNZoInT*Y>GDA0EqzK?EUDLy zeWc&gi7hIt7tK&H!+jtgz2)_i9CJut}7;WXgp6aarZ4Tfqh#oW=^^p99W{9 zCOVYT$o(3rO?s@}I^xCs3?{grlZXoNO80UQ+WM4LrMJ&tkz5ueH z>Sd3>_m< zqoC^mPr;NVU_+Z5!W1fsd0ov73zh08Zs&Plf)Wk!)b;7r_f7BWeHmo2^)ltCd;jT# zrAu{RiHZ?jqrBe-bSa`@B6uucDQEVFy02jcVLk>4lc2-c;*WH8uI9b_uD5isBT88h z&%F3MP?50qs4klw|5&H1&q)7??p;_L3|?DIW67WDrlZDN@~Li$2%qlY+4Gkc;2CNJ z``xGrXDvV1^{!vQDu7<+r#=x8E)(W`en)kKNfv>Fxo`8t-4fH}vuEJ~g!D%*HRE0( z(Wg=uoxcI8vU#e+L^Q%=u>wInruX{Isd@N4xE*3_F{R8kEQ`MhDO<|hGmyQAsd*v< ziO2Ys73}7IO*g!4TN#sCEcwK0K@eVivT_x!*4K;b7_QbAUj5X+SL^%tYJK&K_x-o6 z)`v^#7{QCLC`|vUmHP71#loaX8#k?b16*`WF8C|_;a7eYS@>;GY2hj+UnD&69_9N{EE75Txqllxq1$cwJRKQTS9Pe5Wd%EGR>Sq>w6` z&^<&b++nWn2TOGNzBPF-hos?sW6U=Wzu%Io$!gd73?FsB12o`lDSlkK0 z0b5Y?)x8MT^d@lhAt>of;Oxi2At>(e zPolL02-XcGSU-qh!(f7qLkJ!iO0a1d!Gnbao2>*74JX(#f?(@Nf^DN@a41SglgKrO zVEb5t9peag-b1i!Ji+b>1Z*O~o=F4`PbPSzh~QBh!QLqZ`=$~&_D>@^FrA=m27!Af z!NFMshh`HTo z1Vx9%2pt7Q$0Z1z1VyK%2%QB*XQ2w9i=gNtB6JlLT_uEWf})!Op}U~yu0-e|D0-+6 z3Is&~))A#eP*_3{dJ2l3VF6V5&8*=eo+Yh z1x5d8gaLwLKn%h_K`~H+Fi21g(jp8N6oX?Ch6suwaR@^N#n5SudN#SJiiR$Bp$19KJA1gbmIa+e0=5W#BszU{b$`9%fmbwLZ zaar|&!UL82^Y@qS)9fqRTk~kUqDQM9DR`v(Vg19UdxSm3ta^9h?#f;HyUKQIc9!g@ z*`=^xTVsY{;$jrrT!n-C;s+3v@Kx`+m@=yf=`s289ML6 zWjGSmBjE*d58*e62^KZP!h1zv*oQs;L1u-wrc&%AvLhd5TGU`64ue3k4;G`%d@?*3 zSFuC4GW#XhMORV1;Kr&|-r8H4gG9FES#hoRRFUSq*aj^NAyBQNx**3klKacC&E)WM z%v(G~6Qkgpv|>tDGF_9$H_4-`sRoKX=478;6Z6=|V1g~FI2=>#pc){@m`w;z5M=WN zbc=8U#SD11!<$m9sSaZ;Db_L@W1T40sX4|h6tiIC9NvdweW=lO$eS2~4Q;rUlvZp% z!{O z`Lxl@;?I~;oBNj9mWoT=ODs!Vi^~^P*=ve5#h!)Mg|!P@3(O1r^X>Ds^F8yd^J?e1 z*vs8u`I5-9qB<%t**V!T**D2HNu1^&h_Uwa|}5J z*?}xqmN_e6a+=I0ztL$l82tvj!C>&|?Ru@=mubt?W_mJg8DfSf9li>g?$%j#fizc| zIW3UtN-a;Zridx-WJ_{wk~_(g6i9R?8WMd8wgfT39dC&b#M$Gtah_OfY^~Ok6={hKM7Sc%5dpPRZC3lko#BRXf0#YY5atWDhiXH8 zA=VHv#G|sRYL#wft-_*kN(SobH%mWhybX;^R>MXH+LzCKljT-MZdSxKeZ0+TGVcq` z!Fsq8-Q7jkCONi?E=O|gVb<~`_~`1gpEDJTCYWL`rVu00wf6xE{_)_0Vbard=@U`N zT)$-w{8H6L=f$!M)(heV&w1PVT94af^@tu%xvgAVZi7pO_N?tp z$!YWHz$q70p4yY{lh%{sNzVz}3GE5rar<$@asM&fG3_zmQTtKDQU4L=5%ZD2Vb@{H z;o3v)L)Jqg)F#_O?LnX0?l!pnWzI5lS>S-{fQ1=!S#b`-UjL)cN6n809&tTld8GDX z_runQ#fLq6Y8vtmo{#jVD{V&dCB7~XnxNa%D^@ki2BJg|nfVZ^F__d0?b=26ws8omR z;l4jYjbUU2gsODJs0;|f*M%sSf6T~Wz~tp)Mx7ER?9*e$G7vm;JSaGEoC}7WFs92E zb59uEV4*n~6tp^NbQ_iX7L-8N`-?F=un5Dl#TdGmLCCYN1-lgGQ~9vV$}6oge7Y@$ zmF+QPO{$I0L@EPtF!)#exQ3-&H+6%7>dmL2g?{L|DKb~%_LN!6;B&hN%m@7Y?fbR+ zJ^QTtYWKSKn!$PPk7^(FJYs#MmOXvllwzsg>D+19=>z{1ceuA(wgGu;na9tv!Bf?xU`v^^+3=mxJWXNFfy=`8*!Q*5r!VRMKM_ZrKZ zz-s4e!|Kxe%=ZOWIae9L(QNmM_qtbFRt8o$*_KztrsGPA4aL5NwuRb-o(0wgwe#Kc zE%O8OobwFxd~ya16C5!jSiHl_0ezRkfSvAO6mCyJiyHNsWKbOQOiw9-1(1SiAiE_{@K>o4IKkxz~=65gu@xFBpt_Lh+I&7#A-f+dm3gRIpyzQEh znkUZSB5{`dvq1h?BLCbg|CGo-8|0sdoF_u3x!5v%k+llTM&%C zA}$CoDB^dhZ$tB}_@|m;tWBvtCl*Bk2&AVqLHYDjeT(KO|BTBML9YA)<6k9_$yX2) zTq(f>7lIl6z!PK!<+p+bM^ZTslCO_5o>A5GdP0AXtZSDU54y8!N<=olx6l zxNN>8;q5u&jhm`z@?L9>GwgYl}o3|(wrT%!EszVhf4+JcpjSvG37)+<>dLY z`GOt#q_!xS3V~o7}Tcjf%NKF%Cqq@?gq^m@-raQl%XY7Kd;H z0907RP_Yyh%fq>XeY->7oR`UJG}stJ=Gcvvp4Otd6V2Dg%I4j6(k^b~21#hJ2@N(U zQ_9T{6RfGI*n)~}X>v+OFy#(zphtsUXuu4Vl5vFz6%V80(JVQo4^pO~-~a^D(@oL9 zjqyXxWP`7E(%C)%Qek7hEX~}dPm-W)+U=s#c!_H}$=W%)D9uwSb@h;?dw1#EVw#(f zwkK}lMbujRgI4)6#$Or04FOOQI*4L7AtpUN1kLW%_FUSnN|2DdSOhlcNz zcX&#=K~jkrJ7wpI;YJ8!jOA-qrvve*iY>-G6c|_G=pF*gF>83cpo-vjeEbgUswzfR zC7Z->1&-eF1WU}CoaRVLTpmU86o?6-F%VPYVX4w_a1Mc8h6LCmsZ40HF)=9r8n)aU z)a|e>iT&@@#OmI1vU@?~u#{^ilRm*8OTeX}kMg6C!mpP)q04*lBZ~fwOzHzMmb@H7x*BZax*HnOd|zW zc)>LTQ*1+pYbGgNs0f`?Wi#-Tz5|uJ=>A`Yt$<3LPp0h2wi+WmcTlawK`!2ksTK>W z#W;MgT&z+pRy8T@C-^C}g-31{qP{!~yy6^%Pq_ z7A>*qgS7=z4jj-|I#eo$L)D;k1i65eYgMYXDl8o3dX);^A4HN1hRQ~{Nu}DPnu>C{ zT&QT2TU4qosu@*9*Gpb5d#Uop>KB9;^v~O$E4>!DDqOWbTl`F^FHk8|TA!}H;<^%e zN_fhlzifZ9^ohXZ&c_Xp+aD|SmRE=s`b+kU+KV0-L(rcu@VLs$&xz;UXDw%4XUb1k zoidy%IO#fJKH-P4f`Vg3M?FWX4jT^p4%uL2pvqlSW+^K=;Mrfb&#|VcTS#7RSy^*DA-s8AGqjo zTg-I$9Mx-tHTu=|`$|^@?iKE}t}I^RTVB1)ysQw$=PDO#7w0c3w7ZKf#jb_r3##TD z=KJPp=jG3J&MBK+IZHb$f2MOr+4NetBQj6(LnpXkN|DV|WG!+}uAEdoQJCnSP&-~T z-gZyPxU#XeV_ahbqlMAdQN<&DBdUj+hZj1m?!wAp+F|)aokPk7*ACJQvJEU5;O}44 zPt(uVSM00rQ_$PhtGuV!Q*W^sl=cX87rI-!6?gS@sqSp1iRh&^Na?D{WfdL~P>DtFPkO)F0oQ{5@G$(rQ+q{7771WQ6ud`X-?)*kE8R%vQtEHLn9 zjxLNUj`T&?B0TD<@R~47SW&14hS+LV7FCh5MB$h0IJoA$eL%0sPyO=dHd6$2^q%}v zNAK-2Z)%nPSSWn*d~=9*@D=?<@o2SPufDFhr$aQ{HcY?3#M!Zl-dWd;UyCfmpa{q3 znV&_Ovy;m^$3TX4!w!P{cUE7-0f!x+LI{Cn1m5qfjj$&1Gn>T>c*xpWEtWC&ADL#wz0Rgr)kPs15oy0RHHMm@ZN zZyXLElwMP7Y=M14VJ16OYg_~pTK9|+$Q?_I!TxBjf)|l z3qi>&R{cG<8S?|#%wp?);F90!B~5!4#i+&>O%_z+A;2Bl!v3i@Enr)JGv+G-=io{6Z^mv4 z_Yn;fe>ZkxUB5KF#Wd+z@hSGDhNb=`&L!q0fyJ)Hmc_M;+>5M>D(!Y=xotEj+GiVP z`)4_4nP>TD7R;=j;htfg0k=gDer3{6cNJNRYA3rVTPKT?Jur-}o#dNnpIAM?HNgVa z)IHuhUL5ba$99kQ9^W|oIKw#qSm#*t*Z@>p%b42H?$OrK;%Lt(+bHcQ-$?sN!$|)K z=LqwNvfZjNY;CLBIN8&!Kvvq+!tNjx zWuA+Z{?XZa{>yd!T_}h2dVv{Q#6Pg@VjN_+t{>FFCHQHTymEW zA;yD)(uWWWvY&jsGjbb98~m#VmZK#Fm)2y7l}&UTDUC-=3Pq3ZFAZdvCPP zY8|zs0Q|d>)mN(jhDtV@ZAvq> z`*$Vl|JO=})6Uvf|28WA&+Z9wM%Mzo2B24NQ3rtyHJFU-*kR)eYToom>RLLN(Ui+R zIZ~%8I%-T|r%k4@(8Pvknan)J4%Q{hWbr#Lde~;?58Ir~oM*auwAi3&RZ=qcW+LqR>(o97Wj5GxxxW7@!Y}MG z{0KRC`4YW3txfNSd*Ks?Kl4u*{-HQpYS53o@4ZiMra&WegEIM#8X4Sx+~6R|e+?U% zSFR84#>eb%6fTEdDKNqMz!uYS_MXMmU)s})6+`>Mdh|3+_Ez*X4dm@a=DTl}cE*oz z{v&uKm~YV(;TPO}7(PyKZMwyG{aaBXR26xDi4a4TN2?5)l*Mnp_FW9jY?>}xQd=ho zopy+>F|g!`*ojYKV)p zDyzlf>eswUHHKbMta)X|$KHZJ43*}zxNkogr-2QANE?Lqmj87Qsbsc1WgAzKaaVD6 zr8nOoRz)8zFlv%IeQ~*&39_Dr?goEOn6{Oz@9Iq|G(NAu9?sSXHZL!8XVTl>`9H`4 z!y$WQL$y*PUaoq4 zMeV}6hkHjyizmfab6VebC>N5v7cAwHDSShCBn|zgDf)}T+f~%R5$@F&8U6r&xz7at zk}qmfoR5EeAyx@9XM+bW@2e2HBc;ITXj43u*A``K0+pE{B%dHOk07iSL3m37bqj)s z<^++=2%?%2L^mOb$tBR_5NNXr$dEu_j3+R~5oE;@WNQg>Gz7UZ1Wlp|nnn>cizH|sLC``? z&@#Mus{HNqR$(N{3nj=8Auy{5S}O_KCG z1^~QG7rL$|QMYvj-PaQIxSycFNnj}<=;xUq~=w0l~=m1f%8=jGjv{W)263AdH<& zqH(hb?wLt2eg?sW=>!v}5los&FnJ0=k&VDsL@;GC!PH3v(sx3c%Z+CqqaCFVD%=PbmqmCoe7@rLhwRYf)~3XVEgk@cM`qagW!4r!7CPm8$Ahb_9Ce2P2lfC@M>Rz*ZL8> z-k;zf0|?$2Nbu$$4$%I*HJC(i4f*>%O;Db>F zAC4vXXbi!vdt`73ACDu^Cld)ioj~x}c!JL-6MQj=;7c39S49M0PbK(f3PH_ug4$^W z-_9iXZU%wl`?*9v%pv%3Ho;G`2!38j@XG>%U*{A2Hjm)<#RRt(5&U5%fTtDwDlZDl z3B+XtQoE%@iX{ZfRRpSg2|`v9gsvc9;u{inLsu&=)C|!`<{4?tw9TNO_Gz%6R$kvv zOMq_I6nL11eYO_zu$1&P8&Ym!{MI6r4LE3;2J>M&2Tff=urgXhSxszKGW*G68pVnZ znObwZjqK8SlRP}Lk##t1n#Ob&ORZ>$xjN+gjza?G@xZStD>%h8F)Av)l(U{rqsqT!DRqaU6ytza)vRAR?Yg7(2D zWUa*JoHC7PO)E{)Fe`~|tu&2;1Nx%UGzxbDj@IHc4P>9iXJvxB3pG!aJz;%9e8Tg% z?Q!knzQ^p386NX{onEsyP~obuRMcK_U$R~jFL^H7E>>M|UNBz>oOhkK{Aog)@0|Ud z;hg`h9j3K;&REaXo_4|1HvcL6DeWl_Ol+$?fdkcL$1TSL$DGFuFsaRUR6NQiTsGyW z7w^^X^*m~Qv=(NnnIG{#Y=2k_^VF<+YMG0fnFH?rV3I)0D`F=5`m#wMDy(y_wX6-W z9!GdD0SHvEnWpgca19M=+2xY}A>W|D!mVCpc*XED#54R83!g!O_T3hHUw6Hc; zOxfM6Fay*xz&1cTprpUKf1sbMpQT@IUw2E_UavDTV3p z7&8+5na<3b40nc=&*`+KYtwx?I~#P)l+x0gEGB!BY)RTAU!ol*a{3dT3Fd^dcx${E z?}@X)R8AiZBO7Akg_}&W)=ei4u^dk@kUg0s1~0Gs|B2Wp>m3VRRaH*+ijZ3j+c`k|94e| zzU;t7(~SSit3qn1Tn5!F<+_+TC~(Pj$#SXoqWhxeqVIzJg5iSyyz{*Ie8A)KSUk1m z?s99nSnfGzJEv_l721AUd)jl#3bQ#~C(S4QC+sJx*`{|h+eP^H+xCn5-TN&2%GoQ| z;mzFYcQZ30T-(hs%hK-Bx=L91L^0D~e^C3NXOk7CP`Vy4Kj7bJhxwD94b}~{>s>H= z(!Z{N4SNM%yq(ld)Q21H^{uq66j!?0>iv2XJJ}6p_uM!ms$pWui`~R_d=j)+&LV~; zX0~*Xvy2PC@T_61Z;Wk>IL1BNGCDBIIm!S-v$m1q$l?*&5gr(rt+l$WW)|_ase{eX z-`~&K&)hH2*9B9fYx}tSSo?^5JiTqbwY`14?7g(TJUwkawLLu+n?-B!71#>21->5k z9)=$N?giazySckryNTUAU2QOv+SkS2#n8py+1^IYBA+v5NifAA?>W;xc9SAeo~(Ur`}4A<3M0kmv$)xc z7fichsIAq7taPlgDv_CAG;N0sKmVeft%`l|BHzw~F9ii>Uox$PM^dd6FpU5H?_y?z zZM(SL?Xtks;X)RETWl9$hUvfd_1g8Gb$T}7wwTw_3{MYT_ge0)UFlwF1s^V6VOZf` z?p$tO9$4mDW?5Fd)V)q;3 zN_4m@+nnvsvS(GZUhijiG2qnv@+50gZK5mD4DGo+L7U)#_PjRE6=%kWg6u#K$ki4p zMi#Sc+w__2y*!h#=h9}y-?Rje(FE7Ruc_~`bb#i0UWq&}IA89uh&z8%7r^tU2n?bj zfHnNz44C@EnaldX)CbR;IE>Bt051G0_CmcR`a>?6_hFsQd0C?Qs7^BaBhx*Q>QYcr z$bS2Xry6&QYzoIxUefDhE^&WcXY+|H>GMgQWb-FH=g)%@_+;s)Jk{1u$;QfF zmnE$~tCOtwjN80XFVTI@^I7#d*}#XLzc954iGy-b?qs_)S?yu}{hBO3SS;>j3T@VW zkSx{KNsfU;f-m0|95v8l2+!bc7ql0A=k4bW z=lve1$LtA|yUH!)wddUMI*boGK8CaYGfsFRCIDR@%jw!vZnzGJ(D|{k_rEY@I&AQ8 z-g(%3IB>{y$a1Lmpc`I=5f6IYHn-O8E3=mw%KQhMFcCVi-?iVezjmJ+rb3JRJbP`> zJMzI~Xv3qW|LJ-BwL9E9tT0d7v)#5`yWIy@7=sd~O6Rkv+nMQ(yUy2dG+nsLtn0*ep0&2M+O@v>?e`n*_dA_VvolcQDzTK*I@}H`%%k?Kv8~ar@vXM6HmvsF z=Y+Y`Wvi^K#8n=cORa^AlzpXPrGJHUg?U9_xof#4YkBQ5_cH4;ahV6+>(MUtEwL{# zEb%XPE;cU?EOITfEULA`^T6B2gt<7`+B#o^mwRk5jleh8KG!hUKgT)8JSQ;QHQT}` zTw7;}vph5PGyOB1e8RPBx&DoTU04;^nW`=3k!Ka#*$+eT* zldSM^kY}Q8Vioh#Z&Z)8Ubf%k#$}Av??C3B|lwf%xzQ)Jt+R1Mwdro~oj$i{eh4s;HWY z0Zu_jqYWAld@or%|z?~Or<^B%RcAAd9Wv{g|s_++16yV zj4Ot`5+RV2w@%606|I_%8^D(XQOMp%$(rDO)tu^7Wfm_tEcY*S!bG{iQrA+;(%L2N zCDtY463=2AOq%nt4(VCu6gPj9$TQnETRYn~%Rb8hlX9FhYi78a;|#nyRnBfbW$F=A zJlrtcZ*^MD)9-t@Ov+}c| z@d>w@RU_fsBCNoiwSh&q&Ps;G$#Yw0ZIfri!029>c(hQ|D3`2TR>71-VqVx(VF+xZ zZ-}=`k$5d8#TGVf9}J%b&;l-^uYrPM`|S(-OJ zK~km4k{`~eXNk!&cf63EBPJpbhC6onX&?1)v=p7qmq${mnxH6|2-#YN2jSbCa5r806^f^5b&R+n=#Ik$rs z(-TE~9mlKs*rQuVv;CLS+p%61>Am2_gzpyLLSrKbD>+=E%GD>SO7taICtz*l01A zb0{6LH+-=;T!~euP?}kC({RIc-TrdmMf(fd=d@QnK6|C>iv6xn^a=h6wWGIq@;o; zey;Q$9x6@{lMd%}Xk`HFF89mUDzI)|@PIcd-*{EY`gSuKL*Rx@s3~Pp-Ha{ag8}b# zHMSDBvr}D-t;HQ|bypC=tw&d5zEr)7sk<6`NY%U9%`V2yB4edpU}E7OHoA+k6Wi0? z7|F7_fL+Za?3>QUCQ{9#?0RRT5gM+t&c^2AKDMH>F<0CV3!xfwU`6lBvc3$rcGHm(l&E3iuiuH+1ZZ9T&di_>Uy{0v zm894`lJsq;B)z;`k`BYa`!-5a;q#KzvV$Zkj!DvUZz!aPjw+-fKPsfy3WelPP)Y}~ z6_WjyBz146kYaw2q`*g#bhfR69qVBnm+6+yOu{dqzTa>dvb4cml|_86N|E7PF$CtS z;7p3&BSfWA-#>o66+al)C?Oom>og6+oBWL7XC;d@DDYuGQ<}ArvGD0YKoax5Z62 zmQ-jIawH*FDlrO8B>}!sWMbDxnNlt+x)!HS$)~NHo?0l0unsdtg|1$0k?EV5qs5{| zop|`v+bJ*wWRSFD(luBjwp{EV1~VU&SK+FmxFpudlOV2P>@f*q%I6TDR3JW&ctwf$ z0-{fai0`Z@u7)7Kgm^6!@nysp!Vs?`z8sGD3gQhl;tfQ91ft_6^6QbvRfum!A^H*D ziAH=C@n12BuOU`z5MM|9P>c8v#E)YU-$48%4)IOI&*Kr_Li{QL5nql`)FdLlgIMcG zLjEW6_sNLwBL0+u_%FntQxV@o{4EXfeZ)U>h}DR9(h&oIN-+cR14Jnk@k2zV9`PeY zl>rbyxP`G$V-3vwP=1UYWVoWaL7l@iBh+iVcHbwjj zF|HZn*N6$t5x+r9Y=KyVnA{Sv7SN$gX@&ePiqrBCzeCjJBYuyVVMgSy1ZB2H{1K)4 zHi$nV8rmZMjA(3!_zR+`J>sv3Ssf66L(J}o_&Z`wCqRe%Dp77{6#s$ZCS4HkAU5p^ zs1UKll+C)KSVU~z9S}g2FxH|6#S|E8SwJxy&Q!LtPz*;~lzBZVh7Z`3`Mod(PkzNv zjGB9sG7Mv_`%o+#V{Q6UOpUR&{U{cJv3C6_7Kt%f!RV{TzSh{?z~dS?9Qd50fzvhi zyT-29*!vngU}GO_?1qg!v9U9vKRV>SuXo6xKQ?yB#$MUjF&q14WA|+Ap^crC`zf|R zvZFTk)yD4H&|{S;LL;AT?6!?Px3TjI%7*?cyD-#0*@qjuabr(z?97e*xv@)=SCdl< z%7%X3*tN;KVbM$3y}5&Xzj#Vakd$Bl+PVc(R*G3tzYx}}Qfwv-2=R`t6i>z|3vO(D zkSVLg8B*^M@4PB;XN)>)-k!}F(5zRAY*K=llvm0thYHs*5spG2&PGC?7qI#Wl1LW& zG4}GVLMg#Pk}{NFGYku0L4XxQK%W;R1z8-#7&aV21_oGJ1guO7{kUuh{Awd zVBHWT6jM22jP|fv}uO2$>uQg_wm}o(a}MAr1p6lq^o7MNbqZW5D-P&LfO0 zPNT&TRPux278;C7;bd_ZEo>05t6E7LttN3fikGo!trYKwAlZ48Jp_SZ!hj!;ytzoS zxQG_K0J)r7q@b-7MHUrkfq~Er1Ab(39?@j+7+Snor;OqgQ~2>oF=X-tn&5Rp;KdV- zBxj-_i_2(%O{sj`+(L&@NlO-2FqVmCcrg>O8I@f_5la@8DC*Ovq$j-QjmS%oZ$=SE zCeNUJAO_sE>dROWPZn2Exqx}%r1EFp$N2Xn}8IGG(Hqbr?xpjbeQJQQj%Ma>*M}n8@M-v^a=z zekQp^ERSZ9#Ybqt-4|V_K^0JBlf}nq!OteoBa*vs63--uOg=>uJPf)0sILQxT(bBa zEijNzFt^}UU(tjtzCUWfP!GIS(-+i91%1jo#&KI!qkUH-V5zro6xIZ6} zs*Ri|gl}mUTKwsVRBg$EAEW^-xLN(Kg|s6JUK0nPMIr{UYaQvBL)w!`7%Ki$_`GEb z=|C3zRLsEEBF+)gk%YW#mttDJ4ZbV!JlcsYcqTVc#1E63ac2naOcvPYi`i(wcY+7J zJq+za7TnLH?k@nwEF!?)&gaNF!)oEL=PZ~R;YBb>hOBM&qq-|46GQ`?_A6vO4J(Vn=q*N zd%klqgUO;TD*1-THqJvcge_8>=LO4KZ^?4?mp=8n#wb=R!uVKKI+_SX9$b!2} zcU1Z?sNdDtLbB+J@?IG5i&?!zoRuti@*ZH(SGd|Zllb9eQh;)v)02%Y5=M|kPn7fE zWpAel>3L=Qac4#>%53<~NcA)U|3vt=68^ zA($O67_Qdv+#^x_*x#z7Q2jWnZOo^Y68P4hz&P)<%5gl+!CtHe6I@2YLlFF>3#&!- zQ>ZROHQz;Eh`je9#iIJk->TzK{WPk1d%^24FE05|jS)z6^%6HLud2Cr>$?n$VA7S(^CninKj>o6)Mqxveg=Xckqp#B<~@@7WP6Qev2 zMJlSF!+0MIj2Q4ua6?5Js-H*UKn!^0u0NFu9jaddjp6S4bky@Q;hkjpw7rBm@eZ;a zf4MFmAFYQ35LH}98SgO5Hm_iucb4V&jk22L-R9Ab>$G2D}c-8RVjxw{5(V@)OI|au>P@s$a)6cU3n<^*=y;_wIEw z?mKUwo}YNWNnXeKl~U0hlfU`5>K3Se3)Q@lH38w>CV9A`C92;>_0T#YS97;lv_kbe zz5Z68hx&h_dKxC@ey^^}NRf}~cTv5ZiHTH6aY#{)$49hAgZEIdi}e5l2gcvW_(2F{ zKZ`)(S71e3R9FA4x*e+V4Bfqp-X7H-pc)-g&YV|qxqIFL)DAved3SwBO#Trj$0Pbn z-@Oy6Z=w2gRCE90p1>PRMQ2oh{I}{ZsQ#pn2~y@`a()t2ay;P0uk4O$z9V;4_dxX*m~b%$85k%r;M-LefEr?oFHv+a2K-341urq> z01M{u)!*uSqWWu8@4+Ak1D?0MfnKQo28H|{K(4Yib@BL!K4`$JOD@}%EG6(t@+}&4 z!5|X@ezrTnT5fh4p%h@)j$2M zdN8VgMs+I;_&(L2ypSPfQ>V)#!omR5^NVf$-iHjuup!yD4zQZi3QUYG56-x96c&cgx0l(CW zb@BL!(U^iCZ%^jVfP0s)F(~0j$nO{U#(BUmNnvAA&Et1fk3%&t#J;#22^jF~`DqEi z2i5$b9!1TcG7leLh6Ad+{k^Mx0w(7TXg5sG{kcAO^+Z(jCa~l#xvM9kn%A+rswbn` z!JDkHn4DMs`rIRmKo4>y-|A_!;CsT4fjf1C4RhcJdRO%nRCB-JJq=DgbyLhNVk+N$ z4Dwy|(@@VlSj*9d6F*NpkI3n$)}m%B2Ha7(h8K6_3{=Pdt$HS^;fUdp-a_Wlk*9E{ z<2N+2=kU`h-{3?D(0f+$t*pcZagos?N_d0J?`Gm7Borj$Hc6mB0lz%ic^XHI5+(d< zxC!m*D=**c7!|71P;*yx2&%bXu0$Jt#_Eei6N>6|)a<~ZzQB3rny|_ypy$oWUG?FZ zoS)e*u{Ooc)~ZpWhrGm&m?1xU?gYGGwGpT`pt=avytKGG@^ht)M70ss_5R1*kq6o+ zRGTp2K&*-hd}CP{-@z(_@obEHyl{_V5Rc}EX;SXFQT@j@SQubjl)(Q)`A29IT#29! zUx~n*uMMw?PWk!xvdS{BJ{;ZHdQi}M5Lp}4VBL1)|TgX_i%ApVzT#~jTJSQ}x-3e98Qd}{L{fb{+0-vFKmEAzsK zswVi1YVS~UkA#UbM~}h2CQb=;Wam%8_CQsZLvT2k;CK^)(@hD=n-N@W zPViU@g3B!lo@qt!Tpqzo`2;u21h2Lxc%#i!qIcR7yw{H4gZ2a;cOdw@BSB3kg6}&M z{M?1$kFGL=NZkm+x_gKAPdp#07M~YBD}qCR?F2lcQ6)9c=MAB1uSjr3BKT54@T*dW z5U=M;(ZrXVSRa{KB^5~JqF%%aZ;vgw6lI4zSDfT|wkV&5g&C415;TzrS||wel>}{Z zlGU*oN5ky4ZG5E963FiCNyxjwUuuxc<$c~S5*(BWjw%RFDhbZ22+oHPRD=>d5k^oM zUM{b?pt`Ci(F+j-*CPq4q6l7(CU`4`;9U(twU*$cSb|UE2)>Rd_%?yy$3%kPlgg*Y z@dAUd@$n-I2}uF)Ug@G~CE*NX7Rg>3mfT)F`K684`=DSxq;f8i%Q;#kh?NKu6$GhD zf(*Hw8=ba;AFW?o0@=l$Vw3)%OlnmnXV+0A=qwR*RS>|ZY-F1PRn?_oDV`X|iOpl* z*$#O;bS8Lm6N6H9ox3QB#rA@>l3jw1*gOAtPWKs}luViZB-NP?&l z2=L@yh#pR&7%PFMkU%?(Aa*E0+z^8J!2}6|2oeVpBn==)?oW`?k07-#L0TUUFx02( zO``N(1Q|UEGA#u90s=!10%LaqQ#XRFt_0a#2y!|TX$;$Kbc@a62ZVkfT1_w}oM3Di!MIR@d+-7b&9pFHMKD20 zFi}A;Ng|jm5)=spwh4uD@+spB<0)jO?032A1j_xEX=|lw>ilDS5fvW|<_T~gTni1@5O0cU5!R}lFmP4>7o8aLr zf=5gop#6E&NTR(4f_-{|{h0&@G6>4j3EVn@gJ}eZQV9;H5FAM+IGRLoERo=Nf(#Df zL_CR3#u1!~B{;1mIHMsr8$)m|nxH(2z!OPuK7!zan&4tM!KE;Qico?AZwS$2DuTzA z1Wzako|FhKiv&*z1XrM!`j5~H4-8!)I-dCI{>}K=XJw=Bv_MZ*puYmS+Et1KK8fHN z1;MjQ0{ASnYDErCCl z;MF*S*Ww9YPayb5BEcI;1aBsD09Se|g+yHI~HSs!O6NxcT7HOk!}cCNa2tlNemkNenLW zB+{Z!4nYjA10@Dmh7yBoMTx=Hqr~8PQes|kW5G42L~~FQT$oA>E>$H47q1e7%UOxR z1+K*4l2?xZhq^ZbkE+P}hwtsax04Qpbms<0fTp*ET}ZPp0n+R{X*LA`)9kXQ*%7qU zfPg5NW-CR6G$L+@X||xUq}6dnOgl4h2p@B9DW|M$%E z<;gwuJ5_a;zPIYsukJlnC5u_GWHB$6EN04*#oSr4m`zI-^J~ds#x1$OIK7ybOBNG# z$ztj*Sxn|74-%ON3lJP4&`<$}2{2rM5dw@9V3Yu(1sEg1SOJOz5L21S<3!AO0VV_m znkc{|0d5xH76B#;Fhzh{1(+(pGy$dyaGLjl^#z(xV?7GRSAn+4b+z&!$N6+kM{8(LXLK=#KVqKpD40;mF* z1V|AeRRFU9X#zA5prHWi0yGjJg8V1HVQD7yd-0h|K31aJ$GD?pwAtpsQ-KpO$t3eZk~_8bJ|4kGF%0XhoMNq~F- zJOXqUpo;+gI4}$oV4MIwIZ(QCklt5-;BbLP3s59LFAiGv7QidOKmi5`(2av01p*8a zV5k5i1Q;WLFDOuV4hnh*&_{s&0u%}`K!Cvlj1*v$0AmF(@{-?I=HM0s0ANX?8&c?Seqs z1>dp@zGWA@&n}3UT@XOKAb@tFV%VLq3*u)N#Lq4$sa>#5yP$%0LEP+uxY-2}wF{PL z7gWwJsHxqj6AH;LIIdmiMbMqFa~37pISrERoS;c|&SxY$XLFLB(-_Il8J}e5q(!oG zJ|o$QDB=&}OiQwJekR#DuafMX`UNFBCsvZ3lR(MNd6i`6Y*4auJ|x*W^OWqIU`cjP zFC{x?bCR8NK*`P-pJeA`P_lD2C)qi@lor`JL6hv9o=SGk?eyO#k91GTmYU5)o2xeEZz{jra(C&*+6`>p=qBCs@|Tw{vn(rJS{o=1RF@Q% zR4j2UDO)TpE?HEwuxMe`g8T*L^L@wf9@?j%MP zN_PmON~Sx1QN`2!yr?qjK3!Bnb^k4@w7RbrRb++SvZ!|J{#R7vbzdv80=i!nSq3G8 zDj%5(-Cv4Ki0&IjW<~ddB2$AtPvAJ@hC8W{w-cEpg9+7d?os7ufl6R3*XN1w2NFv)zjzbdJ zYu!nRY`8-HL1fqU;R|HzgGwvf4;ui5Jf5jlP})!|wiF7voKfqcw4+#TQIz%sv6WFe z5X6>;7L$~yHBvfKEVfWeCxX~&DftAkB~v^IgVemiD0IAdZ1QNKNr{?4r7Oi^)2Od5 zOYNo7ono;KrB!An4ck?PysR{AYiS)yNyGM6=}mdDO;-94#CBRKAc$?Z5+v_H4I6Z& zA4Ov$uk=yHX~+?j0R)jZC<6&1nNS81M1r9VCWxd%8A1?=h%%HQk`rYZ z4Wl8(q70{KWHHJJg2-%?kpz+LD5D4>15!p4L{_AXA&5*#8A}k^lTt(w8I|HA2sBGl z#t}s7rHm&CbPNV8OdyOLO_@j#d7CncAaXh7W`fA?6y4hqIiE6_Vvz?bQwSnAq-A&| z4f&!nm12=Y(juLbhP+alPO-=}mD>P9=VJ!qVu}{5)K40cRb>W2B(VAlzC>!3Srm&z zmlpGti2N#ZC>9B^GM6BdWMv*fB+j(yQ3U=6zk%5sXut^%zmDpB`ASxN8mH0)C-nWu_!VLtmbERw~*caj51hEsQY$DhP;bwxp5pE%f9XMLMSfWmyvXx@7r$?)IO4R#P z?xWal7#rM17`utec7k0H-cPVI!ZLy$gkggD2zL+&M zgo6a_2p=KXlIq_f!ZwV4lwb>lhY2=E_!z-v2p=bygYXH0*$AH`*c9PY1e+i{La;Hy zrwL{uJW5bQ_zXa(f0>9YDB6lJO3;Gv7{LsL#|btae@q!N*A<#jqR(rlXSMZt ziEPtkKN8VxeHaoEZhgoRQEq*(5s_|vm=UmUbYlNKodb!tK7NR(H;omNhap(+9MGOr^$XKqTw`RMAWp9j*&v>;56`Hh>_5`oLME>d z!ytCA54j-5Z^Zdf@cwiDF3Yq7r}Z@DPaWHrjg-ba0kT3G=k&5l8mIcQi8S5=pc#K8 zJMS3Csgwq%gn#VcDSy;|Kd9Kt;{^>g?CSBd1{(JFcyR*_JAJ&wfrdRlUg$u>?jJ9A zpkW`77d_ChBgji1XxJNs0!Z}_)OuwQH0%!YVhCEjk_ejU82+L#LK=1vd3gj4dyc$F zf`*+%UMfMuJ|q@Qy#Mfz-9=tFLBn1oFQ1^*E1{raHc z(h3^(EO~(i4Lh7vW})*5Dt0n?xdjdTp1kOShTTnGdO^cpC@;XEVK-AB?u19d-X|}` zpkb$!7i7?|ugc3ZXxR1Ci*qsVh+R@%q(Q@;DlgTbVF#8MY|!eJX3(&^$_upRbbe*g zsgjdrCn}CtAFGX8qP~jAGs&ZtO7l7STUjaGbKodb^7H1g@}7A)mHTV*t~Fq#`FSea z**!0Z-GRc7Vi<}}D4?5}!+z`r;$swVpg4x&K@_Fk^0Ic8JM$|4&^NDxK^eIDj!~6L zg>5fRLwVqst-G3InIUyyH8`1LGnPDNYolgEOmjA^(w1jZn-IS9xUFMmQ_T49(@y^5 zILuL5sL!5=vrne*2_0GX37aFcAMQYNJ2unjr0oAw&g`G2ek_5REPaifdKNdEe8SeQ zMIN5^E|?^8U88O=O=Mc52kT~^%w^BQG?uE9F6`mcwic~j0G(pm%XXkN{k8o%Gy6$f z*OZ$ez3t!tyRcGj(Yie-9XdDSm)8-rj$ybOJYDBT2gNlx*xr-2Ub2V%;iRptoX@VE zwB>XI=Q??0eTgcFu=GRQ=2CzLpr`(sla>{1U?t&+) zJ9SGv2cJK)ZW>HarL8s0Z8^Ep)>iF}JFs_8+VWr}%%>~i5_&?+fM30Y0+zr%`!Mrq zo2_|w-18o|L<3wd{;~%fJ*MC79?W~%mL+#(lTO_k1!V8UE}ym)u<6Hb zISeMrw6U9>wb|r>b@OD}>{Jk77S6h#&>D7YE}nvya^}>ZH?)317(mGxKTEFM@T|?J zu)mzKeH)adiiEEw@j>J-*7qatdEfQEllXn)?O1i>qVG-TYw=gYFDB1=&iI}UoU$JG zMZ=GK9*aL}Jrq5d+#h(@vDd=9d#c0b_l38FHib9%*2^J(Fm$K9*1smU%DE!6R4z#_ zur9FPo|t2uoqz=!oYO;76O+A@ViOYMVL|9I@$6CZsN`_xu)vVmz@q-%e$_og-2>gc zox|+4^R^yM-4Y+okMctg%8xpu z{J0Cszja0VNjH?Ac1QVH50szxteIJv{=WSyWAM?w|D1dk?*8=pcfVwolqKsAqi&ja zxKwrTZLl{02^p#>cSe1!&FuPGhk5n2`~~&3uG6_zjZL8`*Z-3$ncB>%uXUJPU(26g zU+X%CYtW)frbfQ{TIPiMT9cdWYt5$A(?*(FPOYb!T8`%0=XB7b`da4r`dX7o^|fY` zYi6?H343=au;#;9D$P$~Ni-kD(q}$~CC+>bOPTpOEK=qwEJo&+u;`dy#o}VVfJMYy zjm5(J2P_BXck$7i-^a&ouE9rarpIcghiJai8)Lrgi}D*U%BzEFW(K8HlQax9(@2o; zE96Z4DQSUfzdpK8-M1VdEGRTnN>fmzpunnh;S%~RFg6SaS2{cTevWFA67T> zIV_{*%l%P)567r{@k4vx^ya<`+g|$-O6QRJrL%07WLP?@vU#mNl7hGU5ZVOu<0h0x zu;QC5u(IP%$G*9G0xP=tG*)i&8LY|X7qIr4U&b11ejRJ6`6AX#^V?Vz&F^6KGrxy5 z&inz^GBedI^CwuF%$K0>70-Dbi0nLVqfaY>VKr^`_pm|&o1Zf&qL^O#j0-C}V z0ZrhFfM&TwKy$YupqX0{(6p@x#H6it^R?DZ)mk@8YuyB`d~R0Q%hP(0UeM}hWUZTw zwQe3(nu4|Rt#OveO*`j|*~@kul{-|P*zOu7_Z!r7=vNX<-MmQ5`RpjBMgwO@w#kyz zv&t_SAoQ9fNnKH4Q0ayAXOW} z^p+rTmvol@n2W)(Rc}1zYC+vm_Ss{ua)`L^aS`#v;}kLa371XJvET_;1aerO6cHVt zbVXds!;4Gd(ECeJ9$1R9d>P8fN|1OmmV|sc%GrFlZslBOl;^vmtm=-EwW)Ev&`?Rh zPsP8IXDzJx1(?pikllMk?!xZ7;BMI35{Z`k%997eumDhee_+3Le-xJgN$v~p^X!Ym z;y>1hqI-RNlkEHjcaFDaS7?`WS8S&rR``kR@a{;2Lt!T@@8d6%%OdxC?@w$GZFg>u zZS!xFw?*#r-j}#Hbg%Q?*jE2md28ez?>!aF`6eu2n03~j**X^V!wNo;yS#TL?hM`O zyt52e?@6o;t#z)A!RkHo9g#KOHHp9Ir3Tg1$RsK&Q!Tg@c+$iPizToac+ri_HULqM>cskCGHO0?Yuj-(GN>3MQ}yS z^&wbbDHigF= zyi1ac!;3wOIX^PrJ3mQ_B_-yC=XvHOU_}WJEtce*6Q3QJ zZJiy3rIL~}!!tcIH}{YV$g2azwB4^)!+7(<-cynC(d#Sq10*2I2P)D(r3O#-A(9d0 zLlvnYy>U`MA6yh`!-{BmBDa^}uWL zYra<#uXtXGzZ`hk`f~JlzTcI+1S>DR=zB5xg7<}Z%o&ST$yMR=iF1K-v9rFjku#n% zq35m7`=3ib>#bjfDkG=lQ{j_|6VeIa@dzv$>y3sh63=*^301!Ju)||e{xTXE36H3vQ0aL~Ig2L7@gP!FzL4J-`0Qvbw{3)E_gPb{BcnNT{uc3kneYG0wRqR3HHHdY#2GNxv9 z(depC`J>85T1J+Rs2yHByn0ySu!^CMp=Cp)Ati%r1{Dpe8kj$@oJFqLo3nFQTraTF zu}unDl|8GlsOqU}grFM6(m^6pgylCBA`;Nx9MR|op|Fqb`*bS;G#*OzrMW51-Bmw$@+N{^ZURb3wT73FF4 zbzMxKuU*UFILAfIJXZ5H<+=HvJkLC~@t+j)!%s17zM+@{-_+%~@C_Yj(6_FeY=fcN zEO6s5SUL@V!E_Y2p(uvm^2E2W3XIAwf9o1Wza_+aedp?Ix*hXxV-J7lnn%&wnCV}x z4h%T*GOj;~`njLwVx1D39GL8!9EbIbJ+~xo4&Us(IXNjZ$u~)!6rJdwXoWS5 z0~4GR;^RZGx@$SCVl2aQ-+rIf7b^;|l%sABtV`>?;_hpV_H(ch0M*}>FXY(QSk~6d zu6KmQB0KQCP5>;8VX;R5?A&!%3-)d&wQ+z{d`YC8-TD1YbX<&D>%++Gyr z7K)^lKTGO|WfT4;=~YweJ`5jL0XJAue{RC0{@kcZ{kfTw`g6l4_2>3V8iWmu1E0ts zZq=kg+|EgZxaE@uu{pIahY78fQpBFAb-98nw>VM}w>VM}w>VM}w>VM}w>VM}w>VM} zw>VM}w>VM}w>VM}w>VM}w>VM}w>VM}w>VM}Z;Yj)5!~WPMcm>@Mcm>@Mcm>@MQCP~ ziD-3IZiA(X+$u{Gxt*3Kverr0IK4I>(5o;8P;W7S%8CKh&~gZ%TA~JZ5d)}zVfOmB zE*oH|KEZl*W;b>wrx`ne9Z_+Us|#td@Be0@S9bmfSN~w-QQxETqtQeDL)JsFM*@#H zABi6f9rPSbM8XkoBv~GTo}64BJ>WlJJrIMwoO6Ht;n2gLhZE47^X^MN6oIAgW$4fO z_geSHV6l7WgYgGK4|pC(z;gFqmfREBN1%|7UYL^t_2SvSRCU1ldNEFRkE*_hZ6hHgl5ePlhnx?dlKj)*lB zD-D!7OXI;1bVU+(g`uCAp1dRw8URx zh5ln;iE~MOabU3%dMlwt9_T@a7kU>a7hrz{`;h+m@_exdo`0ToUTkh)t`mAJfjQV? z3C;G*PC!4hwqAbg{MhY*%sNw(pl&A^8(cQ8KYQT|cY)>|pBxwYrD^EF=A3i)Yy0b~ zm4|wJdMA2?dwF{$dq#TtddfYc?D=!a@G_^D>ZBpAf(%9R$ zBFm9grb${!W{tH7=61@rlxJ8nN*mRt7pGS@ENocOz|kO{7E1G^CCp*7*PKiZr+QP9 zDd7}vO41ZINv0CDMk!LNjQPfLgT+uP*Gjme`0u4XZ)Aa~dAYu+k)-C*8L&6_hfN~c z?KA<{7^mCC9y{b(%^L*Aqjd&9>~gnepFUcbRD9T#6P(P=)wWv&m?pq&0{8`(DZp$2 z<_a)hfQ14q7NA6cr2;G$U}aFC)dJihz&ZgWowZ2Yi~{g}fV7R%e`y;h`_eYf@uh8? z&`aAmkC(RLYa(TPTWn*!C?ms56WFK6n~UQW=Zy_}azdn-@px)+;wmj3QFts0gf_Y6)9 z3J>xQN)C(+^bJhzw2p1cwqA2JlO629QFl&rYu8wpKo@71c;`T8XXm&l;IVpQ`GI_A zevH{~%j?Fvc5+`R7&yz?xCxY)KZ+7l?x%u+r0Obcca~0*u0dFU97>j<)L^UCinPkE zo!uABm8~3>@8n8Df%{*^Jh=u^FMiT_cQZI1jJ_Ht($u=IRMrRRHNdNCA^Sr;$m5R>H5&=RQ*0at2iew< zu=^2q7`3O_2N)b>O-4cR3>$+%1>1x{l%2!i82bi;z26Tfp zC?8{iZm?|RKI*n{0+G0CS{Rd-igxVLxp zbTwyc4_6l4;ATBs9pDBJ?cwsk4PMj3)g5kdMGsdumfZ)Is!aBPJx;LZJ>gU**@&KS z)Kj>BN0wUPN@pMTblK(8%+L!C@+|Ar%hknD^BmjQ%jJ}xXNP;aT!xx6EQzUSS1#Axe&1ktb(FzyxP!qEm})c(0zK!9!SHzlqv7O8qhZqz27~Wb zqoMf%qv7K_jD}uPlSXGC~ikF78AN7YJsUTqE9D4+{Fo?9!Ioy0>qV~IvdeQ6dp{- zMs#gFBz!d9g-d0wPpwpLbNy(s@9EU871;N7_3b-U-8QkAAi=(8yDT56^iD-4#x7GA zK&IAMre1(d4YEuf0h!ulnJB$X9RiseXPNp0GPTb#@qC#&2QoF(GW8E+YO7`H2Fdic zO{Q0Ea$|Z=CsSugrlwe?{*X+qu}obenHpr7T4R~IT{1PuGWEPh{HU)+k!twxm^#kR7j@D;>qoYhX9mL95%ITHPN~P4jTQ)GhU&O7%=? z#qp`oRY2Ptb&9svNNw+bLQ>oNpExnL`EXurd;f!{$F}!BaC&TY2OGy>+uP9WFd486 zA#+>j{@$2d3`OLzDYIX}m2#WqsK zHd4hlQpGk>#WqsKHd4hlQpGk>#WqsKHd4hlQpGk>#WqsKHd4hlQpGk>#WqsKHd4hl zLd8ynn@AO#S)IlvU>C!t%8GQk$S{7?`AZ|)!Tq}=$aKXFxO33#^!=a*h# zrjzbR2*z3a!|s_Z{giv4{*~Kz%3Xy>W_urVuVVL9x`*lNw8udmep;xGCqOknE7Xsk zaIa>sbJf5edlFK&KBuP|*!-v5x3acX?pb&!1KVEZo(w9(o>l@6+Y!Xl{^_a={qT(jGpkHs6HM# z?m3<~7Cz>MuSb!nFDgf)75)lqMeLctGtOt?M*~N#N25>so=zSKAMqTCKNWb&`c(8u z-;>EF!cTafD1Y4hc;d0pW6sB7hy90v{!BgN&bO89v+j$+dzj?j@Ltc}IJ||iJ{Wz# z_dpWf!FX8kh}#XH=QG}fCDE^(aXV5Z{R1uQ|E9Z_T+PC7%KcNy7kC#W=7-pMj4NU3 z*X(wdebMc(=8un$3yibEJ4l}|SrjhvvM%S`d3}8&5x&@$U2~Yl;9uAt zD$b+z4Uc1%s@qEkts@whGfrH*2ad>xXog0O(F3H(p_KzR!8Nu)j&y2V~;J5mt z#lB*>IC`7^HtTJ%>4E9a>G5fyX`X3`|K%qbG=I)!pMb4u5*w9$d*u7-1a|8y)~-7#-#tRy8z#X!#J!kkY}mgNg@L4=fy5!Tc?AZLIW~%cVtn zT6&iDsO?_dy}Darw~DU*u2y#bnyY^wYr9z6KwD?qc$-igPn$&RaBFYtWUELkUn{v) zG|!)B&5Pv*a-F$xcgXE@m$@WYiL=I0}rs1aErpYFeCcY+elW1dKQTz=>aZ zO+T#4{{9-BXY1=C;^^z{wdfJFZ#oz`brFhXD99Ii|5${}Q7lE%SB`#0%E1*V56KX% z940@a$I<6Vd6GPcj-cm}a+G|BD$xH(IYwSXC(sK?IYs_Lr_q5~d9E0wx)>dzb*G^- zMHqd~kI}PG%taAEu>yrrnk}g+3Unn>s>WfY33c)adI7zPl$XdC=wg%tlt1Lw;O~D2osGD2Ke_cQ?~|X;2k3YNKM$n36b1SEeAo$N zKc0gT5?%oL`+U+FV?VncV-<|;g8HTLC@(L;SQ%rxqkd%~>Ln-)L5%Hzv9;)xt$c}Y zeL)ijk?P4?{h5<_HYZreX9#6eCe@I0mJ~hcasd%Iup_wwQv_F%_ljHk7SqplmlA zWyg6aJ1;=lU2N@UmonS?_8edIwEwhxI#TJYl)*vC2QErcAe_k)p%cy%aUh(|<7LM@ z$KugI)Cy!%v>);_(WCyO^3e#8P5J4_5$}=YQ<0~mJ?wsT!kw?6bBo9Uo z`VPtmqY;0^N`9R(d;WrKH#>=F!skBr)@8emUArKI^qy|3KDm%Jl#hY!3lqig(YtZQPc^H(QUg;#l3C09mP`c}#-qtK*S zSHzYFmOGcnm-&~;%OXp?OA~=mz!`|aXE)tNFtIoUAKhY${EMntY@4Gs%f4dIHkTKB zixannZga5oD=tq;48Ew#6HD0OE3RHC;o+X)@nMB5wB2E2d(Y*%j8Z{_oj;fBW|uC? z&43E4*X{k~ayIR+axZr*8$XAY0JV&Q*-SPL1F?)}1+uI_EPYxsGo0yRk6gFAgZV%s z17H=SW*>b4^Q6X80x8y%C>X@#Z}LiyoS^Sviivzum*-PGX7HzVG53B- zN4_Ltd@TPn+H3n~Jdcn4L67PDd0ouv&neG4KgG1TM8{csiRT%|ynlChF=`>IOSr%F$GP9;u; zPkR3+-_f735EFAAjXxcF+VgY*I&OMh@;xO(*UiuV`ggZI=zp~OQ0S27P~wsBFKSh+ zJW%c|j~@tuzjR`Mc)u5zTLe6&<%gsD{J`B};4|%fsBEuyZ}P#&gT4o4=-v4rus#rD z0p?`!J)u3GJ&E1n-QL~FU6EbBUCEu1oj!1MZi#I1ZIQP`!I#&%IkqXVsRpX8_wMAz$VMM{^F}xLH&{2s)(60! zHy#RwJfTEsxYP?Cy^){~+^wT``N5|*c4q(_uH)-M;BsBQ*0)w(8wHnZ>m9K*fi=!G z@ztT#9=)39-k_d`mU)&XmWH9GCj;Q&@}sNq0`$rDEt0_l*uT&UUfF>K&IR%Lq4}Qq z3Gx9>&Wp_R&6DRv=Q_v-*fS?FJ3QMvJ2@)?UcmCK=uH1iEBIyyW;lT)hWsAz&K7<; z-rJJXBh!7;<>}FB{%K%Begu~w=lC)vUjvXBR>Zv5Ty5E$mbp!gmVV$v(=xZOk^9-$ zSj{z8OQW@2DU+{5?zp{>c@cygODuHV)wJy|`BVT#pvHf}sH#}(yt_*$3c;t?QW3z$iU77(1hB~>fUOpR(Hwk^oC9M%$7Y%UwzUMX2_<00 z3j0GE$e`K)B(Wi*oQXt;JgLcfn*609znqDLhXAr20#*T#sZb2k6avUm2p~Zrfb4`o zt^lnC2(}Xlc?e}f>Olb61_7iJ1dvA%KoUU!i2?y62?US=5Wq&CfIbWjsh%oBoT{Km zL6L@33G=v+%n`5%fRv14nhMZN0OVhkgyf3=GA{zix(J|`Hv!~Z1dw78KvqQnh!ec$ z#nU5AB7hu;05T#1NP-9;*CBxHh5)|5Fv@K;uD9(b0DpTSx8-jy02^N)7t z|G?xrH^uJ`0ar?F3~%&qOm2v5@NJMcMA!S*TVW7IAmj|iOGBle(gX~n@CK82Meg$5 zCBr}p|DD!5W9tIzoa^E+&c(AfaYy(L?;XiCku|%SkbD$D(9*=^w&Kr z6Dz_iyepE+Bg=iu<>gVJSJq{*rGcf+rEwrwoJ=n|;pR|NqQG zYIxAvA==*CzM`F@U0GYHZMcoprlfUEtD;s_dHH$ext82gcde_~RqZTvRyZ7vGP`6i zX<1_{vQ@PRv~aeFHxD&;HZN-?H7m)f$u7#SYMS4)yoserY2(_g;;d?|P^-vvWR_Va zYl)>MqbQ@Qk=|DL)2-<-cv)G!^N(ZOcOKhh-ZS~oD0Kg~MnRGukoAr;QWva`yOs#R zUdhbeou=NBf194b=4iQl)6@ZFLQl&=y*<B%q-idAA5TN$F_S-uee4oNE`&R;F5$O-AKRXdIkghFZB0PvyLZmX-Q7r? zjrXzve{k%boZRVt-P%4qj-UN$?CIhzPh)?T0CqqLV3(6Xu>dm#z`ivlVRxDUc1;O@ z$NVMZ#KQY3?seQ-wpH3%a!<{cqAgXM^Ea1ovivuml`;(R@|RZE^Q%nW`KxY~wzA(c zKCHhj*KIH2ev>ya0O$tkR4x8kae%#f*4+oXZHcGdwj6v%7xH<03H(S=lpGr#>m8ef zcXXbepO5KQxw2*MRyl3l8}BvrKqcCI0v5NFn+D71x5HRX0Sp2d1yBS~1uzMaB0#DD zW&zR!XdpmC0n!C%RHnE4k|9GxSp=|hV9XRi6Cg`~#sV}Eps4`a0^|tLOn~MBv?$Zt zeaUDOQ7r|q3*ZpIDS%4=w*a{U&jDtqQ1sK6W#z+B1abOuOz!(m!V>!qy;z09pkTs5j z#^X6?BI$pX_a3zLX}ELJ*eBDrrTuvg2x1eZ;;z}&9Kz@Vys`74PJ7N$q3q^MnsVLs70&xVzT_}oBxIoB% z)b|+_hm$plL+oeOAf7{US2Y~-&w9EGBTik+>&~iQ%rmhq7eSo@!kXZB1Qy?vvH)kX z@Jo43n`5jBTdh=skp7xUnGj|&=gWDG>t*0!4bZy%W#7ud{>vD z{t?)*S8x14zxmZ&>fO43)@7()B-pN3;F$H#Qg4?Zes!068NRQ}Q2z+5@aNabDqgg@4^&WN4Em2y$J98yq3EE<^nz zFxT&H{18pQx=X#Qf^Qzba@p)qJa2cfkAbhW((eQW&qhU3K zLm+Gd;m7Tbh7;gsx*o!D5IP{N1-H_3;9|NR!l@9pyaX<)ZHC>MumglwQ;de!TN@3*2SCgNr8|Ts2>;N^XgFjt8kRyh0746dAO6i?I04)0 z-x&=fAZ!6!%}e0h`Z4&c!Zr!EW}sjG$Y3}JTN!LKVCxE-3AT4X1m9NJ*1Z`tBeMz)M)tE+1C5IL7P?1+pG_v&6-yF zaiynOUMGbWH_tOwx@z;X)7aE&d2NEZV+@9Gz5tin(FVgI2umRx2VqADB?#XK_uZqH z4Th}{PKB^1gsFIcN5ap9`&tHJF@yyWHiYoA5eCC)xWBs~oCRSagcb-d4>uUjn9-FN zt`@c;*j%3*f`+d@GZvtJ8x4k+1{n zLHS^V!Eg$;9Rm%9`4A3)&;{GI0S3c+upL_ucLBB;u=R$m$pAPYJcpOOaPbf>g>VdP z?O-#(_F*ABVA%G;wh*4rFbH#DlVDrlYRT5_@Qi+F^t@i!@gYr>KB?^XeO_yYm0R;n zyIrm35MWu&^4hS=IUrs_u@A-SoV;8%0YwK?QxVl<13HbO48=SYgR&vPf#PaY5bvUR zylGxOyQ3)(gi$D3qWHcEB)o&-7>e~xAj@<_9TBA=dap5{Q;h*_LNo(WXGDzcB@@u=nSk~oT8(G~qE?8$vjX~q70_Ws z>k&<{!f)%0LczFqEFg|qAYnU-`IfwvySKE;3Kl@&&W7!4D9kTIVSWI%l5OxPV9Om1 z1s@9Z+fbknL0AgmI0!pJC_(r>6zHRWherxlV&E1q$}Msu-KrEzixy;EbEyP_#f{L~*Grh&YPVC=Q_5 zgklkj2`KuYaG@}xsO!BZ|f-u6jUxgyMA+Q4|lL2%?ySVl;}bD4L@%p!hr=L^X;^6#G%!jbb5+%`jyt zTa02NiUJgF6lo}uJwUvR;yjAOD7K+kj^b7n15mU@VL|aN&TRStir=9)g5vHP5DQU^ zN6{OF6U9S)^RifJ4a}6fzAvb^qbNer14T;|mkaVznW=Z4wRsIZIXi5RKw~W0V|b8K z?MD*x^~!7NLduUB4*om?QhiLQWZ{CmY_vilvpLw@?qm zUbnOMCFwTkX%8<+cft#_ZM7LT^&s?glQ7;M;30tDu{grR0GqHl=F4T1lNmN<38X9X z0JavedIVBOv-1d#0`#*4!U}*Z+1dc?b02#cgK~BrgHtSl!D}q}B^=1HG+i-&3cocM zE~ydom83UT&%mzN*wCfvP8ILKU)iFiaG`_Qy$~ahV1NAz4*wG5SUps z6!Reb1mLU8x&p59eb~Dt?47P(Wzh;a_$Bsd$Ys6^x!jO+fUR8tzj-vXe+T>4LM(VV zAp8>GGWHiZjC=>Xj==-Wxe|iMSf_u%l@_l|SJY;3gxlHeE7NV}J^=A18d>6B8I9Fz zuzMkU0(bDUH!zsTzJS2(ggofBM03Ebw;bgN*7Bh#bpSt$`zKX5an@*N+1mMnddl_B_Uh*@9Aw&5YhPLm}43 zu4C*yEDo`)yYjrZK#Dk(1u*{Ur|J$lb~67RaH<-J{5{)zN4ibz2QbE-KsXR!HG2bL ze}FHsFAx?0e4b^j1vmiU82E1%f6063Xm6;$8=(HyX0(7IpRH>%oLF};;C1&I zBOVc|F_vYh!cLj0FAt#3CNmV7sKqji+HuWq(s^d2G+)wa4K&tXKwF;nK?bVoo&Yx9&mj4wToN7N*a>#X! z-TW1tx&vE-!C>|f2HXg|3h4x$GT8#WLa+l+U%#d+M4WyBGX1+hBZ0a8YlFgtr=L zH;B@WjQWXyPMCxIM?3`C8LZo2V|W0r%HP2O$=2A^%diXC8=LyYPw)yrGCwx;9{_a| zq}B@Plv^|3zcQRZGeWHFUvOZuLN@hl$jsqC0g_R&sowx3!(>yxC20E|uB#*KkHK)} z$6y@Wpa+j)K=#Nf>$XU}20IaS%I~q8et`5m762oq%Ft92#KOK46Ygh!!UP2p2s-5< z>|dDh5bJvt5|EY?bi#z|w_SyVQWmNUY^>@k{FqzV?=XsNkxfm9U36$}1n?A8ZK$VUD5%R8LOEB2Z!g>H!$;PUGgo7<%f5a#B$DY`k+m@B0xEV!96e_0vc?YB(-vQ_z zME)I+&=W-lici8I&Z5|bVgZT)VaS{vhRn5PfL<FIVQZLY$-4mOEaqILUmC*L%LS(Cw!`>+o15l^h>*?UP-AmG?K5$j%9yK-_;lP zn_GXsGT4ugI6bwR_A7RNDYHzc5r_Hy7vDE+`iSa#`oY~f96On2`6eUH6DxVOKj>#; zm1!1;X#2?R>mMqFgU@-P-bG0>rQXRI6oKxQgW*$Z5u5O-I}FYs;G&2=A>fyY0XQRK z@RJ|OFz&BYvXp;2EkSQ(JVFUNC=)$KR^z*Ohd_^qK^J+~&Ngr|6?Bqv8E`zFhiqqq2Pv9kYq+MSpF zZ(nO^NZGAF4JnHa3k-7(iw_MA^$d*<2@UZKNem7T_6|-CiVX4%k_SZwS_YO5sPz_m zs|yPYEBZV7m-UnSmGrGCC@QGxli#Pjx21P!uiBo)J*#^Z_NeIYV81)(wzIddxI3hH z+9leC^;xp|v%>4He!(!zbd$`A{Q8(NYr+z?c%k`>WcV`Vj3|tYur`XN1B*?MHw-oO zG)y!IH}Ez{rbW_xX)^c#`^{E!EH#ko1TWxFiYFxj^Wb<*zcIe7y&RH-Bk-Hg-K%<` zq*m82skOzD%UMh%m0feWi`bgOuHvaMH;ak`T2&m$s^Sn<6-TYAI9yf55vnQlZ65 z1K=@SeX*XwsG1=eqq@Ps0kT+yD$kvA&sTnZELY{*o@Sq>47dE>8jHk6UIfqj;_Z$t z?9y~OD@FE1^1b;9bXgzECS1>PvE}zWma|X#%gwrEnpf2fgzI;_RPXu={Zea>pCWJy zLb!fu-ckVSN)!yH^Fuc|n8R;)Hz)>}yoyE?BcMUW2w+^XoneaF z{QBf%csrgIl-Sl^gkGXnivos;2n_kM!Y_+?2Q)s3$2B* z{()iro&DqeLj64b5`Dvcy?v7fkpf?VToCQ!?_=!~>mBIryjZtaC%A2#ZYE z0PRh^8IU1PrDgQODkeOMI!%O30QX2q#ROa^PoEE&04Dg*-?!eh$e3_~643v*-t5Te zMWWKucVTo0ruFXhS&}hh0D19j=6=%ZXBc;hJK3q1a4#cw305zo))yR((T0$wUg1v1y7ndaJl3^u zxXZPA1+&+3e?7GpkFuG2VXI%F7mxZi_u*5&#>6o9%vQg_9lzsled>3V#@&+D?@{Z^ zJ)B8XuW~nM(o7O}>sGJgQLb^HK=m5#x0!o-o8XtgQZ5GWCkOyf&mEpk3Y~(xOp|6Z zaldI@OXGgxCKKc|rE(`j6RjM#nY)gg(lD(dcRMsS#A6yq>-W&q2(+NOk9+HrYO;*w zi55sy_ZM*uS3^QfKnv44{nj9Eq;!cbv7iwwK`Niadrtah8 z9!#j2S_QeAqp1}pKIi9I+n{!CMm^2cj{8BH+F@GFES}bZa?Y-&nL2VuNmEBm`*S?CVw+Fe}852L7&$X_gnUn?fweH;4($pQ((s+l!)D!pHx0vT7?K#fh^|Z^p z6QFBXIHfoBru~-l(F3}=pLZ^F?Huo*=voc$Zj$8)^TqH7=X?t!jdhCT*XQC)+c zzOMD7{doVuq-)Rzq0s}nTE+W6y7n3GVVDYW$M1PBMc1zKt`2D?g?E>9&BQw-rU7(9 z-l@^GD&8|9&7@%Os`A-BmM(^Hu_8amuAG&#gXKr7o~}6}9dSHW_+;@DrH_|CR&}`M zQRz{~p~6Rs50*yC%c~C5?3eaC9xmKh{7~uM@&~IPs9_Rw>?zz`ysLC)`Hm`Bsa+~_ z++Vo8cw6ax<@Z)?t%3E~9a{=F7jG)PyL@BShMM)#dPk_Rv^ZFLSNWY)>uT0YYaMqK zt|?w!8eCPrvT8-ma%s6^S>e)Rm?^Xx<_IlZ99~ob>lio|1m>6Bo|q@i^UW=p6PsN# z%QLHJW(20&_WNajq!@=UO1DL(d#5L0@OshIl3Qa_Y9@Oo7u^!MxoVPiQvSrygmRev z(=yKQD}|xx0ia6JF}^X$(P1D;A(*rp-czalEkC6FnJqXr82Z6;Ut?*7mOi$KEWxyJ z68vSLpm&v5R7olVrIO7kwDgcqv%MHR%ihMIoTYg!&Ec-L@`Cm}n+}1EJ}>?3DENvP zk8*|`!<=W?B@Fg6*8m6}W>YZO$97=w5PKbiz05GsGG2a=O&SQ=18h46jJ=G(9(E0b z-K_f{2zIf>gWw`|vaJyG+VRWZP~H#Dz6#DB{*|;so>s;_fZa{^V-~6M`XGzkAQ+jk z=A|LPdD^}XJJS0QBwlVmho%e;28hO+Y{qAyd^Py%Nr5ncf9>D{);yj#_xGMVf=wNCdRA0 ztuX$`n+fAJ-a;6!^R_{ec(b6$dW!&yksEkxpcr{WpeVczP*iUI6%)7oN(wjnN-8(^ zikVw_C5;<-r2)6^N<(hUmGr5)T~iuygRW$7TMkPQaXYS9xdm4;x$#ysZnu>zZnBle z+*&J5xS>{>avQB=bMvg^aLcSTQBb8e267TgjmHg1HKU`uX*6+5@Rii4Y7#mOzM z;^OvHadT6u(8&c&a{vJo^ z$Zew1iJL~=p*DLa*r@j42yU&I~(SG$pWm>VN ziAlV$8VokQC;ugK32N{~Mt>bdT0!0WD@^NG_Yw=W!n!wEs14vZPY$5gliwy?>&&@c}hQq@j@+N%nwY1{T9#c~iePFTtH_P_BOuG(gl< z*}{LXuHoVc_@`_5rSK=M1-rEvUQJIa&TYg-q38!9qw~Mz>5exkFN6JINp6SWU)~G9 zGZIc-_LhE_@_LUA+s4$YQe!UPUC*JnnHb;Z2J!d_vHqVp4t_+e{|E8#*x*22fA-iO zJ^tF-QE*XTRkO5GOAC1oYh7w_@^6u9He4comUPMiwha^X&yi|#NFeBhJ-)&O`t)d1 zTS5Ydc7T`JZs%R@Ba2d zvKwHR-OYm#*yL_DA-tAaD1wCr8XKT_0VO;NO(1|AZAnF>!Fo1Wv@Jy_r8!ei51cLa z=&1#pSZsWp(oKz4rM3xJ1X}GDtzQ4W6rnq~Ko}>QL{PCMRzt3-G?#%pV z?wz|gb8kdYueKmKr0z$MP{$A?)k_GLsLKdCmG5pH99J_C^s6QWHL4xKLG=iNW9k_M zed;v?b;{VSgTu;1a6(lhIN!5*x94;2(4OR;&RS=b#-BfS>;Ko z>;UeD@*RkgLs(XO?9@0Wk3ur@5lD_o7+AVdIYcf*D)$^J4&>*auyhVNYIpL3Ig z@ox^r{V@*`;GvGOR|_&Bq?J-<;{|>OI1VC8!9|Gj7~m6Gu@CrJ;HP0;1tFc0%G@8{ zpzoRz;NKfU!lh9-faJYdaX#>Kz!#BPIzxOdm3sm3w}AfvEDb3b3u)p);66NT$;^wu zzYWvL5UD(IBzf4z0)GebYKSrjDMAcw#lX))xfnvmfne!M+c@CwYEqh+mw-!~+^)KP zRyTehIelF955`Xp#r>m#I)RSbUV!c)<@H->et`H96&Z}bI289+nJDBXD9{CjhYzU} zO;sTTETiwF>aeljT@J+ntWt_t7>ZL+T!5&6kTIOfpaS?blrl)AV+9AGvsD8BFe{!2 z{IbTzXxK>ariZw#N_^)GxF9J~xYWZo3CVwy6;B2}3yfud%I(ub+%^UH9B>`5WG-0T z-ZmBZ{KBk!8u%-~tw=6@FCCw1mbszT9_xZ;u*l`q0}gxfHdhLZkq}GIxrkEmAT*oiC(91%>L7?d=`@b3>Y;^ zO~vUkZhJrQ&w+mhECWHXOqRCUz;9&5bAT^an>u9#$))`mM=}cS9{~Ra;W0>1_27gb}S z(w*n5jc?dU_CEtHf{=@C`s|%`Nd6a)t2#^i-dPX)*Q~e!_;0|QFopUSI~$?-J2cxN z#1*CQ{1ROXESHLmcp2~&Se{q&$8rGIX`3DXpkIh-(F(cL8bfivdj(QReHW-l$Fnb% z(*%vwa6dAV!bQj>DQ6|H#53Ymz|x2xMCt&9WG~&4yBb(3^+<-ybJxW6%Ed18Z$^F# zlFI~oJ(7z*r*n6$1(qqWBSY@4b-*&lGU8i-V=`r}L~D=ATnrppXN<9h-ITL9M zacXx9a*&E<#Or~@FXT=`jwJO&Wai!=<;#U6BX0$l8>}6$mm}#X$s=zguoq+>ggB}Y zY3{sDz+MqQHziv2*P@YOI}-TvMj6n^gnU3H zbM;7OC<DQr;4<>?Md6B})ZMy`hU!7e>`<*Y|LfQvygVkfZpWjk!7$I?yW839}Z zau6cj;F7r~CsC=nOeYz6E|N>nzKPM~+v0UW6V!Pbvyh?GUYtN0*6Ri?1#SkG))IG= zzVhY)mjS2!Pux+2cOV}YlWjM;w7>{KU27Ey^#61BNi$ro~RG*pzd}AzSCF~ACh-ZmENnL$D z%R+oN0Sl>ax-6gHvZw+~LZsbMYU~SG7Lx#%Ku9U9o*2)$%l!Eko($3nk#-L`34eiQ zF$M7WPzLFf@E2MZQvv%`^P`?X%u-E*ss=**COy&vV=apaptweQq)WkpV#{JWERI3Q ztdK4^FwU~L2Cxreu=X))DHSNOOx_1t2XWPj-7e`=01A5$JM1@nG5f^?ZCxG?OhAb(YyW}z3U~8 z4dC?_s)wF8i*#G5_vnVH)-yrJ34c=0n8S8XwVpsa5&?jJa|=~m?ylNHRcp?Kk;T~x z$p7sYsxik*6f%4dRsE3l|F?x|>|gg#U5pbNwuP$o2-@jd0`OnhOLe$&_jC=IeIxYC z$;Q55(XxoVyEuLIz^YyP*S7)dYn{8AN}IZ^Z*?}_oEZN0n)Mn}Y6F_-)+W&d)=Nxx z)Ou@s)tVR0@?yNmctL+b*0`a2Var1A!d}@MzjuDie6M<3Z@Zs6ea?m1^07WOP?ukz z-k59T+k(@3)s?yWE#$dZiXu}Cd85r+Jos8sRNiRIychljb#Q;s%uVX82TQS?lzMi8 z|GG_GMx$|=4(RG1eQbAvDM*L$WL5t;s9Am+%%QlRgY>NkwHbJp{fho}A9?g0H%H2- zifIxzm^71VuKubY73tMDT{87Q?b3Ws8u+i11snZBYGDgRQl z&gfDbmYNlu2=(lJF61=I`a{%Y&`RTh0IfD?jgbh@T7%XZmjcvmP>YcaspHGc$yN0n zEuig&{@Q0-0o`d(yAdy-PZ)HU(O*D~OfiEBX_rAuS-F;*Q+XMy*~`rpyqwj8eW5Vl z%<3D<&Em2ZOikQTPNxhyZA44xWrNNbZ6&md>6{TSq1CM3UT&_6t>HvDtz}xro*>=I zWMc}GgY_FDZ9&RmYT3Ya$Y1En;UshB&$ zRKm1{<6#PFV-A+lhnYg02-9s$6`TyyR;D)gRM1CxBW>eo1#M@FaB~IiV7il|Cbcu| z - - - Debug - DataContext - 2.0 - 4.0 - {67cbc824-a49e-4e9b-a947-360f3dfe65c3} - Microsoft.Data.Schema.Sql.Sql100DatabaseSchemaProvider - Properties - False - Database - - - False - 1033, CI - BySchema - True - True - Properties\Database.sqlsettings - True - DataContext - dbo - 4.0 - - - .\sql\release\ - $(MSBuildProjectName).sql - - - - - False - - - Properties\Database.sqldeployment - Properties\Database.sqlcmdvars - False - - - .\sql\debug\ - $(MSBuildProjectName).sql - - - - - False - - - Properties\Database.sqldeployment - Properties\Database.sqlcmdvars - False - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Permissions - - - Code - - - Code - - - - - - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - - - NotInBuild - - - NotInBuild - - - NotInBuild - - - NotInBuild - - + + + + Debug + DataContext + 2.0 + 4.0 + {67cbc824-a49e-4e9b-a947-360f3dfe65c3} + Microsoft.Data.Schema.Sql.Sql100DatabaseSchemaProvider + Properties + False + Database + + + False + 1033, CI + BySchema + True + True + Properties\Database.sqlsettings + True + DataContext + dbo + 4.0 + + + .\sql\release\ + $(MSBuildProjectName).sql + + + + + False + + + Properties\Database.sqldeployment + Properties\Database.sqlcmdvars + False + + + .\sql\debug\ + $(MSBuildProjectName).sql + + + + + False + + + Properties\Database.sqldeployment + Properties\Database.sqlcmdvars + False + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Permissions + + + Code + + + Code + + + + + + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + Code + True + + + + + NotInBuild + + \ No newline at end of file diff --git a/CharityPortal/DataContext/DataContext.dbproj.user b/CharityPortal/DataContext/DataContext.dbproj.user index ace9a86..695b5c7 100644 --- a/CharityPortal/DataContext/DataContext.dbproj.user +++ b/CharityPortal/DataContext/DataContext.dbproj.user @@ -1,3 +1,3 @@ - - + + \ No newline at end of file From 1637a30e1d9daa80f420e42e4611257c6450dc10 Mon Sep 17 00:00:00 2001 From: Ivan Zlatev Date: Sat, 2 Jul 2011 18:06:49 +0100 Subject: [PATCH 08/31] Remove the Test Generation Project --- CharityPortal/CharityPortal.sln | 8 - CharityPortal/DataContext/DataContext.dbmdl | Bin 2510848 -> 0 bytes CharityPortal/DataContext/DataContext.dbproj | 232 ----- .../DataContext/DataContext.dbproj.schemaview | 8 - .../DataContext/DataContext.dbproj.user | 3 - .../Properties/Database.sqlcmdvars | 6 - .../Properties/Database.sqldeployment | 14 - .../Properties/Database.sqlpermissions | 44 - .../Properties/Database.sqlsettings | 52 -- .../IX_FK_OrganizationProject.index.sql | 6 - .../IX_FK_OrganizationResource.index.sql | 6 - .../Indexes/IX_FK_ProjectResource.index.sql | 6 - .../Indexes/IX_FK_ResourceResource.index.sql | 6 - .../IX_FK_TagResource_Resource.index.sql | 6 - .../Keys/FK_OrganizationProject.fkey.sql | 13 - .../Keys/FK_OrganizationResource.fkey.sql | 9 - .../Tables/Keys/FK_ProjectResource.fkey.sql | 9 - .../Tables/Keys/FK_ResourceResource.fkey.sql | 9 - .../Keys/FK_TagResource_Resource.fkey.sql | 9 - .../Tables/Keys/FK_TagResource_Tag.fkey.sql | 9 - .../dbo/Tables/Keys/PK_Organizations.pkey.sql | 6 - .../dbo/Tables/Keys/PK_Projects.pkey.sql | 10 - .../dbo/Tables/Keys/PK_Resources.pkey.sql | 6 - .../dbo/Tables/Keys/PK_TagResource.pkey.sql | 6 - .../Schemas/dbo/Tables/Keys/PK_Tags.pkey.sql | 6 - .../dbo/Tables/Organizations.table.sql | 8 - .../Schemas/dbo/Tables/Projects.table.sql | 17 - .../Schemas/dbo/Tables/Resources.table.sql | 16 - .../Schemas/dbo/Tables/TagResource.table.sql | 7 - .../Schemas/dbo/Tables/Tags.table.sql | 7 - .../Post-Deployment/Script.PostDeployment.sql | 11 - .../Pre-Deployment/Script.PreDeployment.sql | 11 - .../Scripts/ScriptsIgnoredOnImport.sql | 61 -- .../sql/debug/DataContext.dbschema | 843 ------------------ .../sql/debug/DataContext.deploymanifest | 41 - .../sql/debug/DataContext_Database.sqlcmdvars | 6 - .../debug/DataContext_Database.sqldeployment | 14 - .../debug/DataContext_Database.sqlsettings | 52 -- .../DataContext_Script.PostDeployment.sql | 11 - .../DataContext_Script.PreDeployment.sql | 11 - 40 files changed, 1605 deletions(-) delete mode 100644 CharityPortal/DataContext/DataContext.dbmdl delete mode 100644 CharityPortal/DataContext/DataContext.dbproj delete mode 100644 CharityPortal/DataContext/DataContext.dbproj.schemaview delete mode 100644 CharityPortal/DataContext/DataContext.dbproj.user delete mode 100644 CharityPortal/DataContext/Properties/Database.sqlcmdvars delete mode 100644 CharityPortal/DataContext/Properties/Database.sqldeployment delete mode 100644 CharityPortal/DataContext/Properties/Database.sqlpermissions delete mode 100644 CharityPortal/DataContext/Properties/Database.sqlsettings delete mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_OrganizationProject.index.sql delete mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_OrganizationResource.index.sql delete mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_ProjectResource.index.sql delete mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_ResourceResource.index.sql delete mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_TagResource_Resource.index.sql delete mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_OrganizationProject.fkey.sql delete mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_OrganizationResource.fkey.sql delete mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_ProjectResource.fkey.sql delete mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_ResourceResource.fkey.sql delete mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_TagResource_Resource.fkey.sql delete mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_TagResource_Tag.fkey.sql delete mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Organizations.pkey.sql delete mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Projects.pkey.sql delete mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Resources.pkey.sql delete mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_TagResource.pkey.sql delete mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Tags.pkey.sql delete mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Organizations.table.sql delete mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Projects.table.sql delete mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Resources.table.sql delete mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/TagResource.table.sql delete mode 100644 CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Tags.table.sql delete mode 100644 CharityPortal/DataContext/Scripts/Post-Deployment/Script.PostDeployment.sql delete mode 100644 CharityPortal/DataContext/Scripts/Pre-Deployment/Script.PreDeployment.sql delete mode 100644 CharityPortal/DataContext/Scripts/ScriptsIgnoredOnImport.sql delete mode 100644 CharityPortal/DataContext/sql/debug/DataContext.dbschema delete mode 100644 CharityPortal/DataContext/sql/debug/DataContext.deploymanifest delete mode 100644 CharityPortal/DataContext/sql/debug/DataContext_Database.sqlcmdvars delete mode 100644 CharityPortal/DataContext/sql/debug/DataContext_Database.sqldeployment delete mode 100644 CharityPortal/DataContext/sql/debug/DataContext_Database.sqlsettings delete mode 100644 CharityPortal/DataContext/sql/debug/DataContext_Script.PostDeployment.sql delete mode 100644 CharityPortal/DataContext/sql/debug/DataContext_Script.PreDeployment.sql diff --git a/CharityPortal/CharityPortal.sln b/CharityPortal/CharityPortal.sln index f69e521..eff4e4c 100644 --- a/CharityPortal/CharityPortal.sln +++ b/CharityPortal/CharityPortal.sln @@ -7,8 +7,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CharityPortal.Tests", "Char EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CharityPortal.Data", "CharityPortal.Data\CharityPortal.Data.csproj", "{1D773A47-6822-4511-9B27-B37386F866DD}" EndProject -Project("{C8D11400-126E-41CD-887F-60BD40844F9E}") = "DataContext", "DataContext\DataContext.dbproj", "{67CBC824-A49E-4E9B-A947-360F3DFE65C3}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -27,12 +25,6 @@ Global {1D773A47-6822-4511-9B27-B37386F866DD}.Debug|Any CPU.Build.0 = Debug|Any CPU {1D773A47-6822-4511-9B27-B37386F866DD}.Release|Any CPU.ActiveCfg = Release|Any CPU {1D773A47-6822-4511-9B27-B37386F866DD}.Release|Any CPU.Build.0 = Release|Any CPU - {67CBC824-A49E-4E9B-A947-360F3DFE65C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {67CBC824-A49E-4E9B-A947-360F3DFE65C3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {67CBC824-A49E-4E9B-A947-360F3DFE65C3}.Debug|Any CPU.Deploy.0 = Debug|Any CPU - {67CBC824-A49E-4E9B-A947-360F3DFE65C3}.Release|Any CPU.ActiveCfg = Release|Any CPU - {67CBC824-A49E-4E9B-A947-360F3DFE65C3}.Release|Any CPU.Build.0 = Release|Any CPU - {67CBC824-A49E-4E9B-A947-360F3DFE65C3}.Release|Any CPU.Deploy.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/CharityPortal/DataContext/DataContext.dbmdl b/CharityPortal/DataContext/DataContext.dbmdl deleted file mode 100644 index 7f4f06dcaf4044abd2d46fb90570ca6f600f4c1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2510848 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

s5sX%b-t^)`NL}0CkayRDe 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

- - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/CharityPortal/DataContext/sql/debug/DataContext.deploymanifest b/CharityPortal/DataContext/sql/debug/DataContext.deploymanifest deleted file mode 100644 index 1fe0baa..0000000 --- a/CharityPortal/DataContext/sql/debug/DataContext.deploymanifest +++ /dev/null @@ -1,41 +0,0 @@ - - - - DataContext - False - True - DataContext.dbschema - DataContext.sql - DataContext_Database.sqldeployment - - - DataContext_Database.sqlcmdvars - - - - <__PostdeploymentMetadata> - - - - <__PredeploymentMetadata> - - - - - - Microsoft.Data.Schema.Sql - 10.0.0.0 - sD9ffxHVCjo= - - - Microsoft.Data.Schema.Sql - 10.0.0.0 - sD9ffxHVCjo= - - - Microsoft.Data.Schema.Sql - 10.0.0.0 - sD9ffxHVCjo= - - - \ No newline at end of file diff --git a/CharityPortal/DataContext/sql/debug/DataContext_Database.sqlcmdvars b/CharityPortal/DataContext/sql/debug/DataContext_Database.sqlcmdvars deleted file mode 100644 index edbb9fe..0000000 --- a/CharityPortal/DataContext/sql/debug/DataContext_Database.sqlcmdvars +++ /dev/null @@ -1,6 +0,0 @@ - - - 1.0 - - - \ No newline at end of file diff --git a/CharityPortal/DataContext/sql/debug/DataContext_Database.sqldeployment b/CharityPortal/DataContext/sql/debug/DataContext_Database.sqldeployment deleted file mode 100644 index 7abc577..0000000 --- a/CharityPortal/DataContext/sql/debug/DataContext_Database.sqldeployment +++ /dev/null @@ -1,14 +0,0 @@ - - - 1.0 - - False - True - True - UseSourceModelCollation - False - False - False - False - - \ No newline at end of file diff --git a/CharityPortal/DataContext/sql/debug/DataContext_Database.sqlsettings b/CharityPortal/DataContext/sql/debug/DataContext_Database.sqlsettings deleted file mode 100644 index a6b27b3..0000000 --- a/CharityPortal/DataContext/sql/debug/DataContext_Database.sqlsettings +++ /dev/null @@ -1,52 +0,0 @@ - - - 1.0 - - - SQL_Latin1_General_CP1_CI_AS - True - True - True - True - True - True - True - False - False - ONLINE - READ_WRITE - False - LOCAL - False - True - False - True - False - MULTI_USER - FULL - True - False - PRIMARY - - - False - False - NONE - DisableBroker - False - SIMPLE - False - False - True - False - - - False - True - 2 - Days - False - False - - - diff --git a/CharityPortal/DataContext/sql/debug/DataContext_Script.PostDeployment.sql b/CharityPortal/DataContext/sql/debug/DataContext_Script.PostDeployment.sql deleted file mode 100644 index 00e8eb2..0000000 --- a/CharityPortal/DataContext/sql/debug/DataContext_Script.PostDeployment.sql +++ /dev/null @@ -1,11 +0,0 @@ -/* -Post-Deployment Script Template --------------------------------------------------------------------------------------- - This file contains SQL statements that will be appended to the build script. - Use SQLCMD syntax to include a file in the post-deployment script. - Example: :r .\myfile.sql - Use SQLCMD syntax to reference a variable in the post-deployment script. - Example: :setvar TableName MyTable - SELECT * FROM [$(TableName)] --------------------------------------------------------------------------------------- -*/ diff --git a/CharityPortal/DataContext/sql/debug/DataContext_Script.PreDeployment.sql b/CharityPortal/DataContext/sql/debug/DataContext_Script.PreDeployment.sql deleted file mode 100644 index 6a4524b..0000000 --- a/CharityPortal/DataContext/sql/debug/DataContext_Script.PreDeployment.sql +++ /dev/null @@ -1,11 +0,0 @@ -/* - Pre-Deployment Script Template --------------------------------------------------------------------------------------- - This file contains SQL statements that will be executed before the build script. - Use SQLCMD syntax to include a file in the pre-deployment script. - Example: :r .\myfile.sql - Use SQLCMD syntax to reference a variable in the pre-deployment script. - Example: :setvar TableName MyTable - SELECT * FROM [$(TableName)] --------------------------------------------------------------------------------------- -*/ From 3d9aaf025b97cb5f67f8c198d1dfaf936cbb164f Mon Sep 17 00:00:00 2001 From: Ivan Zlatev Date: Sat, 2 Jul 2011 18:08:34 +0100 Subject: [PATCH 09/31] Update the data model to 0..1 resource relationships --- .../CharityPortal.Data.csproj | 5 + .../DataContext.Designer.cs | 46 ++++---- .../CharityPortal.Data/DataContext.edmx | 100 +++++++++--------- .../CharityPortal.Data/DataContext.edmx.sql | 47 ++++---- .../CharityPortal.Data/packages.config | 4 + .../CharityPortal/CharityPortal.csproj | 3 + 6 files changed, 107 insertions(+), 98 deletions(-) create mode 100644 CharityPortal/CharityPortal.Data/packages.config diff --git a/CharityPortal/CharityPortal.Data/CharityPortal.Data.csproj b/CharityPortal/CharityPortal.Data/CharityPortal.Data.csproj index ad8c3b7..af9b08c 100644 --- a/CharityPortal/CharityPortal.Data/CharityPortal.Data.csproj +++ b/CharityPortal/CharityPortal.Data/CharityPortal.Data.csproj @@ -31,7 +31,11 @@ 4 + + ..\packages\EntityFramework.4.1.10331.0\lib\EntityFramework.dll + + @@ -58,6 +62,7 @@ + diff --git a/CharityPortal/CharityPortal.Data/DataContext.Designer.cs b/CharityPortal/CharityPortal.Data/DataContext.Designer.cs index b2e74de..41ff3ff 100644 --- a/CharityPortal/CharityPortal.Data/DataContext.Designer.cs +++ b/CharityPortal/CharityPortal.Data/DataContext.Designer.cs @@ -21,8 +21,8 @@ [assembly: EdmRelationshipAttribute("DataContext", "OrganizationProject", "Organization", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(CharityPortal.Data.Organization), "Project", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(CharityPortal.Data.Project))] [assembly: EdmRelationshipAttribute("DataContext", "ProjectResource", "Project", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(CharityPortal.Data.Project), "Resource", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(CharityPortal.Data.Resource))] [assembly: EdmRelationshipAttribute("DataContext", "OrganizationResource", "Organization", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(CharityPortal.Data.Organization), "Resource", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(CharityPortal.Data.Resource))] -[assembly: EdmRelationshipAttribute("DataContext", "ResourceResource", "Resource", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(CharityPortal.Data.Resource), "Resource1", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(CharityPortal.Data.Resource))] [assembly: EdmRelationshipAttribute("DataContext", "TagResource", "Tag", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(CharityPortal.Data.Tag), "Resource", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(CharityPortal.Data.Resource))] +[assembly: EdmRelationshipAttribute("DataContext", "ResourceResource", "Resource", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(CharityPortal.Data.Resource), "Resource1", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(CharityPortal.Data.Resource))] #endregion @@ -838,6 +838,28 @@ public EntityReference OrganizationReference } } + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DataContext", "TagResource", "Tag")] + public EntityCollection Tags + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("DataContext.TagResource", "Tag"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("DataContext.TagResource", "Tag", value); + } + } + } + /// /// No Metadata Documentation available. /// @@ -913,28 +935,6 @@ public EntityReference FulfilledByReference } } } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("DataContext", "TagResource", "Tag")] - public EntityCollection Tag - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("DataContext.TagResource", "Tag"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("DataContext.TagResource", "Tag", value); - } - } - } #endregion } diff --git a/CharityPortal/CharityPortal.Data/DataContext.edmx b/CharityPortal/CharityPortal.Data/DataContext.edmx index 314561b..71e63cd 100644 --- a/CharityPortal/CharityPortal.Data/DataContext.edmx +++ b/CharityPortal/CharityPortal.Data/DataContext.edmx @@ -23,10 +23,6 @@ - - - - @@ -35,6 +31,10 @@ + + + + @@ -63,7 +63,7 @@ - + @@ -82,10 +82,10 @@ - + - + @@ -125,14 +125,14 @@ - - + + - + - - + + @@ -144,7 +144,7 @@ - + @@ -180,15 +180,15 @@ - - - - + + + + @@ -211,13 +211,13 @@ - - - + - + + + @@ -240,10 +240,6 @@ - - - - @@ -261,6 +257,10 @@ + + + + @@ -339,22 +339,23 @@ - - - - - - - - - + + + + + + + + + + @@ -369,39 +370,38 @@ - - + - - + + - - - - - - - - + + - + - - - + + + + + + + + + diff --git a/CharityPortal/CharityPortal.Data/DataContext.edmx.sql b/CharityPortal/CharityPortal.Data/DataContext.edmx.sql index 7696c39..a17be0a 100644 --- a/CharityPortal/CharityPortal.Data/DataContext.edmx.sql +++ b/CharityPortal/CharityPortal.Data/DataContext.edmx.sql @@ -2,8 +2,8 @@ -- -------------------------------------------------- -- Entity Designer DDL Script for SQL Server 2005, 2008, and Azure -- -------------------------------------------------- --- Date Created: 07/02/2011 16:21:29 --- Generated from EDMX file: D:\trev\Dev\dev4good\CharityPortal\CharityPortal.Data\DataContext.edmx +-- Date Created: 07/02/2011 18:04:40 +-- Generated from EDMX file: C:\Users\Ivan Zlatev\Desktop\dev4good\CharityPortal\CharityPortal.Data\DataContext.edmx -- -------------------------------------------------- SET QUOTED_IDENTIFIER OFF; @@ -26,9 +26,6 @@ GO IF OBJECT_ID(N'[dbo].[FK_OrganizationResource]', 'F') IS NOT NULL ALTER TABLE [dbo].[Resources] DROP CONSTRAINT [FK_OrganizationResource]; GO -IF OBJECT_ID(N'[dbo].[FK_ResourceResource]', 'F') IS NOT NULL - ALTER TABLE [dbo].[Resources] DROP CONSTRAINT [FK_ResourceResource]; -GO IF OBJECT_ID(N'[dbo].[FK_TagResource_Tag]', 'F') IS NOT NULL ALTER TABLE [dbo].[TagResource] DROP CONSTRAINT [FK_TagResource_Tag]; GO @@ -85,7 +82,7 @@ CREATE TABLE [dbo].[Resources] ( [Location_Address] nvarchar(max) NOT NULL, [Project_Id] int NOT NULL, [Organization_Id] int NOT NULL, - [Fulfills_Id] bigint NOT NULL + [FulfilledBy_Id] bigint NULL ); GO @@ -106,7 +103,7 @@ GO -- Creating table 'TagResource' CREATE TABLE [dbo].[TagResource] ( - [Tag_Id] int NOT NULL, + [Tags_Id] int NOT NULL, [Resources_Id] bigint NOT NULL ); GO @@ -139,10 +136,10 @@ ADD CONSTRAINT [PK_Tags] PRIMARY KEY CLUSTERED ([Id] ASC); GO --- Creating primary key on [Tag_Id], [Resources_Id] in table 'TagResource' +-- Creating primary key on [Tags_Id], [Resources_Id] in table 'TagResource' ALTER TABLE [dbo].[TagResource] ADD CONSTRAINT [PK_TagResource] - PRIMARY KEY NONCLUSTERED ([Tag_Id], [Resources_Id] ASC); + PRIMARY KEY NONCLUSTERED ([Tags_Id], [Resources_Id] ASC); GO -- -------------------------------------------------- @@ -191,24 +188,10 @@ ON [dbo].[Resources] ([Organization_Id]); GO --- Creating foreign key on [Fulfills_Id] in table 'Resources' -ALTER TABLE [dbo].[Resources] -ADD CONSTRAINT [FK_ResourceResource] - FOREIGN KEY ([Fulfills_Id]) - REFERENCES [dbo].[Resources] - ([Id]) - ON DELETE NO ACTION ON UPDATE NO ACTION; - --- Creating non-clustered index for FOREIGN KEY 'FK_ResourceResource' -CREATE INDEX [IX_FK_ResourceResource] -ON [dbo].[Resources] - ([Fulfills_Id]); -GO - --- Creating foreign key on [Tag_Id] in table 'TagResource' +-- Creating foreign key on [Tags_Id] in table 'TagResource' ALTER TABLE [dbo].[TagResource] ADD CONSTRAINT [FK_TagResource_Tag] - FOREIGN KEY ([Tag_Id]) + FOREIGN KEY ([Tags_Id]) REFERENCES [dbo].[Tags] ([Id]) ON DELETE NO ACTION ON UPDATE NO ACTION; @@ -228,6 +211,20 @@ ON [dbo].[TagResource] ([Resources_Id]); GO +-- Creating foreign key on [FulfilledBy_Id] in table 'Resources' +ALTER TABLE [dbo].[Resources] +ADD CONSTRAINT [FK_ResourceResource] + FOREIGN KEY ([FulfilledBy_Id]) + REFERENCES [dbo].[Resources] + ([Id]) + ON DELETE NO ACTION ON UPDATE NO ACTION; + +-- Creating non-clustered index for FOREIGN KEY 'FK_ResourceResource' +CREATE INDEX [IX_FK_ResourceResource] +ON [dbo].[Resources] + ([FulfilledBy_Id]); +GO + -- -------------------------------------------------- -- Script has ended -- -------------------------------------------------- \ No newline at end of file diff --git a/CharityPortal/CharityPortal.Data/packages.config b/CharityPortal/CharityPortal.Data/packages.config new file mode 100644 index 0000000..070f042 --- /dev/null +++ b/CharityPortal/CharityPortal.Data/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/CharityPortal.csproj b/CharityPortal/CharityPortal/CharityPortal.csproj index 8e4be71..120a464 100644 --- a/CharityPortal/CharityPortal/CharityPortal.csproj +++ b/CharityPortal/CharityPortal/CharityPortal.csproj @@ -38,6 +38,9 @@ ..\packages\EntityFramework.4.1.10331.0\lib\EntityFramework.dll + + ..\packages\Newtonsoft.Json.4.0.2\lib\net40\Newtonsoft.Json.dll + From 635e732f6feaf4b461b6654f45b1ce2b9dd294a1 Mon Sep 17 00:00:00 2001 From: Ivan Zlatev Date: Sat, 2 Jul 2011 14:57:41 +0100 Subject: [PATCH 10/31] Solution import with first-pass Data Model. --- CharityPortal/.gitignore | 7 + CharityPortal/CharityPortal.Data/App.Config | 3 + .../CharityPortal.Data.csproj | 67 + .../DataContext.Designer.cs | 1156 ++ .../CharityPortal.Data/DataContext.edmx | 171 + .../Properties/AssemblyInfo.cs | 36 + CharityPortal/CharityPortal.Tests/App.config | 14 + .../CharityPortal.Tests.csproj | 72 + .../Controllers/HomeControllerTest.cs | 41 + .../Properties/AssemblyInfo.cs | 35 + CharityPortal/CharityPortal.sln | 32 + .../CharityPortal/CharityPortal.csproj | 184 + CharityPortal/CharityPortal/Content/Site.css | 324 + .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 180 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 178 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 120 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 105 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 111 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 110 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 119 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 101 bytes .../base/images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes .../base/images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4369 bytes .../base/images/ui-icons_454545_256x240.png | Bin 0 -> 4369 bytes .../base/images/ui-icons_888888_256x240.png | Bin 0 -> 4369 bytes .../base/images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4369 bytes .../themes/base/jquery.ui.accordion.css | 24 + .../Content/themes/base/jquery.ui.all.css | 16 + .../themes/base/jquery.ui.autocomplete.css | 62 + .../Content/themes/base/jquery.ui.base.css | 11 + .../Content/themes/base/jquery.ui.button.css | 43 + .../Content/themes/base/jquery.ui.core.css | 46 + .../themes/base/jquery.ui.datepicker.css | 73 + .../Content/themes/base/jquery.ui.dialog.css | 26 + .../themes/base/jquery.ui.progressbar.css | 16 + .../themes/base/jquery.ui.resizable.css | 25 + .../themes/base/jquery.ui.selectable.css | 15 + .../Content/themes/base/jquery.ui.slider.css | 29 + .../Content/themes/base/jquery.ui.tabs.css | 23 + .../Content/themes/base/jquery.ui.theme.css | 257 + .../Controllers/AccountController.cs | 174 + .../Controllers/HomeController.cs | 23 + CharityPortal/CharityPortal/Global.asax | 1 + CharityPortal/CharityPortal/Global.asax.cs | 40 + .../CharityPortal/Models/AccountModels.cs | 67 + .../CharityPortal/Properties/AssemblyInfo.cs | 35 + .../Scripts/MicrosoftAjax.debug.js | 7117 +++++++++ .../CharityPortal/Scripts/MicrosoftAjax.js | 6 + .../Scripts/MicrosoftMvcAjax.debug.js | 408 + .../CharityPortal/Scripts/MicrosoftMvcAjax.js | 25 + .../Scripts/MicrosoftMvcValidation.debug.js | 883 ++ .../Scripts/MicrosoftMvcValidation.js | 55 + .../Scripts/jquery-1.5.1-vsdoc.js | 9110 +++++++++++ .../CharityPortal/Scripts/jquery-1.5.1.js | 8325 ++++++++++ .../CharityPortal/Scripts/jquery-1.5.1.min.js | 19 + .../CharityPortal/Scripts/jquery-ui-1.8.11.js | 11700 ++++++++++++++ .../Scripts/jquery-ui-1.8.11.min.js | 938 ++ .../Scripts/jquery.unobtrusive-ajax.js | 165 + .../Scripts/jquery.unobtrusive-ajax.min.js | 5 + .../Scripts/jquery.validate-vsdoc.js | 1299 ++ .../CharityPortal/Scripts/jquery.validate.js | 1162 ++ .../Scripts/jquery.validate.min.js | 53 + .../Scripts/jquery.validate.unobtrusive.js | 319 + .../jquery.validate.unobtrusive.min.js | 5 + .../CharityPortal/Scripts/modernizr-1.7.js | 969 ++ .../Scripts/modernizr-1.7.min.js | 10 + .../Views/Account/ChangePassword.cshtml | 53 + .../Account/ChangePasswordSuccess.cshtml | 8 + .../CharityPortal/Views/Account/LogOn.cshtml | 48 + .../Views/Account/Register.cshtml | 61 + .../CharityPortal/Views/Home/About.cshtml | 8 + .../CharityPortal/Views/Home/Index.cshtml | 8 + .../CharityPortal/Views/Shared/Error.cshtml | 9 + .../CharityPortal/Views/Shared/_Layout.cshtml | 33 + .../Views/Shared/_LogOnPartial.cshtml | 7 + CharityPortal/CharityPortal/Views/Web.config | 58 + .../CharityPortal/Views/_ViewStart.cshtml | 3 + CharityPortal/CharityPortal/Web.Debug.config | 30 + .../CharityPortal/Web.Release.config | 31 + CharityPortal/CharityPortal/Web.config | 85 + CharityPortal/CharityPortal/packages.config | 9 + .../EntityFramework.4.1.10331.0.nupkg | Bin 0 -> 458371 bytes .../lib/EntityFramework.xml | 13206 ++++++++++++++++ .../Content/Scripts/modernizr-1.7.js | 969 ++ .../Content/Scripts/modernizr-1.7.min.js | 10 + .../Modernizr.1.7/Modernizr.1.7.nupkg | Bin 0 -> 20919 bytes .../Content/Scripts/jquery-1.5.1.js | 8325 ++++++++++ .../Content/Scripts/jquery-1.5.1.min.js | 19 + .../packages/jQuery.1.5.1/jQuery.1.5.1.nupkg | Bin 0 -> 107931 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 180 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 178 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 120 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 105 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 111 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 110 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 119 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 101 bytes .../base/images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes .../base/images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4369 bytes .../base/images/ui-icons_454545_256x240.png | Bin 0 -> 4369 bytes .../base/images/ui-icons_888888_256x240.png | Bin 0 -> 4369 bytes .../base/images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4369 bytes .../themes/base/jquery.ui.accordion.css | 24 + .../Content/themes/base/jquery.ui.all.css | 16 + .../themes/base/jquery.ui.autocomplete.css | 62 + .../Content/themes/base/jquery.ui.base.css | 11 + .../Content/themes/base/jquery.ui.button.css | 43 + .../Content/themes/base/jquery.ui.core.css | 46 + .../themes/base/jquery.ui.datepicker.css | 73 + .../Content/themes/base/jquery.ui.dialog.css | 26 + .../themes/base/jquery.ui.progressbar.css | 16 + .../themes/base/jquery.ui.resizable.css | 25 + .../themes/base/jquery.ui.selectable.css | 15 + .../Content/themes/base/jquery.ui.slider.css | 29 + .../Content/themes/base/jquery.ui.tabs.css | 23 + .../Content/themes/base/jquery.ui.theme.css | 257 + .../Content/Scripts/jquery-ui-1.8.11.js | 11700 ++++++++++++++ .../Content/Scripts/jquery-ui-1.8.11.min.js | 938 ++ .../jQuery.UI.Combined.1.8.11.nupkg | Bin 0 -> 213431 bytes .../Content/Scripts/jquery.validate-vsdoc.js | 1299 ++ .../Content/Scripts/jquery.validate.js | 1162 ++ .../Content/Scripts/jquery.validate.min.js | 53 + .../jQuery.Validation.1.8.0.nupkg | Bin 0 -> 35004 bytes .../Content/Scripts/jquery-1.5.1-vsdoc.js | 9110 +++++++++++ .../jQuery.vsdoc.1.5.1.nupkg | Bin 0 -> 76970 bytes CharityPortal/packages/repositories.config | 4 + 126 files changed, 93633 insertions(+) create mode 100644 CharityPortal/.gitignore create mode 100644 CharityPortal/CharityPortal.Data/App.Config create mode 100644 CharityPortal/CharityPortal.Data/CharityPortal.Data.csproj create mode 100644 CharityPortal/CharityPortal.Data/DataContext.Designer.cs create mode 100644 CharityPortal/CharityPortal.Data/DataContext.edmx create mode 100644 CharityPortal/CharityPortal.Data/Properties/AssemblyInfo.cs create mode 100644 CharityPortal/CharityPortal.Tests/App.config create mode 100644 CharityPortal/CharityPortal.Tests/CharityPortal.Tests.csproj create mode 100644 CharityPortal/CharityPortal.Tests/Controllers/HomeControllerTest.cs create mode 100644 CharityPortal/CharityPortal.Tests/Properties/AssemblyInfo.cs create mode 100644 CharityPortal/CharityPortal.sln create mode 100644 CharityPortal/CharityPortal/CharityPortal.csproj create mode 100644 CharityPortal/CharityPortal/Content/Site.css create mode 100644 CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_flat_75_ffffff_40x100.png create mode 100644 CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100644 CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_75_dadada_1x400.png create mode 100644 CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100644 CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100644 CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100644 CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_222222_256x240.png create mode 100644 CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_2e83ff_256x240.png create mode 100644 CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_454545_256x240.png create mode 100644 CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_888888_256x240.png create mode 100644 CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_cd0a0a_256x240.png create mode 100644 CharityPortal/CharityPortal/Content/themes/base/jquery.ui.accordion.css create mode 100644 CharityPortal/CharityPortal/Content/themes/base/jquery.ui.all.css create mode 100644 CharityPortal/CharityPortal/Content/themes/base/jquery.ui.autocomplete.css create mode 100644 CharityPortal/CharityPortal/Content/themes/base/jquery.ui.base.css create mode 100644 CharityPortal/CharityPortal/Content/themes/base/jquery.ui.button.css create mode 100644 CharityPortal/CharityPortal/Content/themes/base/jquery.ui.core.css create mode 100644 CharityPortal/CharityPortal/Content/themes/base/jquery.ui.datepicker.css create mode 100644 CharityPortal/CharityPortal/Content/themes/base/jquery.ui.dialog.css create mode 100644 CharityPortal/CharityPortal/Content/themes/base/jquery.ui.progressbar.css create mode 100644 CharityPortal/CharityPortal/Content/themes/base/jquery.ui.resizable.css create mode 100644 CharityPortal/CharityPortal/Content/themes/base/jquery.ui.selectable.css create mode 100644 CharityPortal/CharityPortal/Content/themes/base/jquery.ui.slider.css create mode 100644 CharityPortal/CharityPortal/Content/themes/base/jquery.ui.tabs.css create mode 100644 CharityPortal/CharityPortal/Content/themes/base/jquery.ui.theme.css create mode 100644 CharityPortal/CharityPortal/Controllers/AccountController.cs create mode 100644 CharityPortal/CharityPortal/Controllers/HomeController.cs create mode 100644 CharityPortal/CharityPortal/Global.asax create mode 100644 CharityPortal/CharityPortal/Global.asax.cs create mode 100644 CharityPortal/CharityPortal/Models/AccountModels.cs create mode 100644 CharityPortal/CharityPortal/Properties/AssemblyInfo.cs create mode 100644 CharityPortal/CharityPortal/Scripts/MicrosoftAjax.debug.js create mode 100644 CharityPortal/CharityPortal/Scripts/MicrosoftAjax.js create mode 100644 CharityPortal/CharityPortal/Scripts/MicrosoftMvcAjax.debug.js create mode 100644 CharityPortal/CharityPortal/Scripts/MicrosoftMvcAjax.js create mode 100644 CharityPortal/CharityPortal/Scripts/MicrosoftMvcValidation.debug.js create mode 100644 CharityPortal/CharityPortal/Scripts/MicrosoftMvcValidation.js create mode 100644 CharityPortal/CharityPortal/Scripts/jquery-1.5.1-vsdoc.js create mode 100644 CharityPortal/CharityPortal/Scripts/jquery-1.5.1.js create mode 100644 CharityPortal/CharityPortal/Scripts/jquery-1.5.1.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/jquery-ui-1.8.11.js create mode 100644 CharityPortal/CharityPortal/Scripts/jquery-ui-1.8.11.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/jquery.unobtrusive-ajax.js create mode 100644 CharityPortal/CharityPortal/Scripts/jquery.unobtrusive-ajax.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/jquery.validate-vsdoc.js create mode 100644 CharityPortal/CharityPortal/Scripts/jquery.validate.js create mode 100644 CharityPortal/CharityPortal/Scripts/jquery.validate.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/jquery.validate.unobtrusive.js create mode 100644 CharityPortal/CharityPortal/Scripts/jquery.validate.unobtrusive.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/modernizr-1.7.js create mode 100644 CharityPortal/CharityPortal/Scripts/modernizr-1.7.min.js create mode 100644 CharityPortal/CharityPortal/Views/Account/ChangePassword.cshtml create mode 100644 CharityPortal/CharityPortal/Views/Account/ChangePasswordSuccess.cshtml create mode 100644 CharityPortal/CharityPortal/Views/Account/LogOn.cshtml create mode 100644 CharityPortal/CharityPortal/Views/Account/Register.cshtml create mode 100644 CharityPortal/CharityPortal/Views/Home/About.cshtml create mode 100644 CharityPortal/CharityPortal/Views/Home/Index.cshtml create mode 100644 CharityPortal/CharityPortal/Views/Shared/Error.cshtml create mode 100644 CharityPortal/CharityPortal/Views/Shared/_Layout.cshtml create mode 100644 CharityPortal/CharityPortal/Views/Shared/_LogOnPartial.cshtml create mode 100644 CharityPortal/CharityPortal/Views/Web.config create mode 100644 CharityPortal/CharityPortal/Views/_ViewStart.cshtml create mode 100644 CharityPortal/CharityPortal/Web.Debug.config create mode 100644 CharityPortal/CharityPortal/Web.Release.config create mode 100644 CharityPortal/CharityPortal/Web.config create mode 100644 CharityPortal/CharityPortal/packages.config create mode 100644 CharityPortal/packages/EntityFramework.4.1.10331.0/EntityFramework.4.1.10331.0.nupkg create mode 100644 CharityPortal/packages/EntityFramework.4.1.10331.0/lib/EntityFramework.xml create mode 100644 CharityPortal/packages/Modernizr.1.7/Content/Scripts/modernizr-1.7.js create mode 100644 CharityPortal/packages/Modernizr.1.7/Content/Scripts/modernizr-1.7.min.js create mode 100644 CharityPortal/packages/Modernizr.1.7/Modernizr.1.7.nupkg create mode 100644 CharityPortal/packages/jQuery.1.5.1/Content/Scripts/jquery-1.5.1.js create mode 100644 CharityPortal/packages/jQuery.1.5.1/Content/Scripts/jquery-1.5.1.min.js create mode 100644 CharityPortal/packages/jQuery.1.5.1/jQuery.1.5.1.nupkg create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/images/ui-bg_flat_75_ffffff_40x100.png create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/images/ui-bg_glass_75_dadada_1x400.png create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/images/ui-icons_222222_256x240.png create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/images/ui-icons_2e83ff_256x240.png create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/images/ui-icons_454545_256x240.png create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/images/ui-icons_888888_256x240.png create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/images/ui-icons_cd0a0a_256x240.png create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/jquery.ui.accordion.css create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/jquery.ui.all.css create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/jquery.ui.autocomplete.css create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/jquery.ui.base.css create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/jquery.ui.button.css create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/jquery.ui.core.css create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/jquery.ui.datepicker.css create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/jquery.ui.dialog.css create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/jquery.ui.progressbar.css create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/jquery.ui.resizable.css create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/jquery.ui.selectable.css create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/jquery.ui.slider.css create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/jquery.ui.tabs.css create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Content/themes/base/jquery.ui.theme.css create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Scripts/jquery-ui-1.8.11.js create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/Content/Scripts/jquery-ui-1.8.11.min.js create mode 100644 CharityPortal/packages/jQuery.UI.Combined.1.8.11/jQuery.UI.Combined.1.8.11.nupkg create mode 100644 CharityPortal/packages/jQuery.Validation.1.8.0/Content/Scripts/jquery.validate-vsdoc.js create mode 100644 CharityPortal/packages/jQuery.Validation.1.8.0/Content/Scripts/jquery.validate.js create mode 100644 CharityPortal/packages/jQuery.Validation.1.8.0/Content/Scripts/jquery.validate.min.js create mode 100644 CharityPortal/packages/jQuery.Validation.1.8.0/jQuery.Validation.1.8.0.nupkg create mode 100644 CharityPortal/packages/jQuery.vsdoc.1.5.1/Content/Scripts/jquery-1.5.1-vsdoc.js create mode 100644 CharityPortal/packages/jQuery.vsdoc.1.5.1/jQuery.vsdoc.1.5.1.nupkg create mode 100644 CharityPortal/packages/repositories.config diff --git a/CharityPortal/.gitignore b/CharityPortal/.gitignore new file mode 100644 index 0000000..5e5cc32 --- /dev/null +++ b/CharityPortal/.gitignore @@ -0,0 +1,7 @@ +*.dll +*.pdb +*.vs10x +*.csproj.user +*.suo +**/bin/* +**/obj/* \ No newline at end of file diff --git a/CharityPortal/CharityPortal.Data/App.Config b/CharityPortal/CharityPortal.Data/App.Config new file mode 100644 index 0000000..9c3d200 --- /dev/null +++ b/CharityPortal/CharityPortal.Data/App.Config @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal.Data/CharityPortal.Data.csproj b/CharityPortal/CharityPortal.Data/CharityPortal.Data.csproj new file mode 100644 index 0000000..9a6440a --- /dev/null +++ b/CharityPortal/CharityPortal.Data/CharityPortal.Data.csproj @@ -0,0 +1,67 @@ + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {1D773A47-6822-4511-9B27-B37386F866DD} + Library + Properties + CharityPortal.Data + CharityPortal.Data + v4.0 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + True + True + DataContext.edmx + + + + + + EntityModelCodeGenerator + DataContext.Designer.cs + + + + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal.Data/DataContext.Designer.cs b/CharityPortal/CharityPortal.Data/DataContext.Designer.cs new file mode 100644 index 0000000..b2e74de --- /dev/null +++ b/CharityPortal/CharityPortal.Data/DataContext.Designer.cs @@ -0,0 +1,1156 @@ +//------------------------------------------------------------------------------ +// +// This code was generated from a template. +// +// Manual changes to this file may cause unexpected behavior in your application. +// Manual changes to this file will be overwritten if the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Data.Objects; +using System.Data.Objects.DataClasses; +using System.Data.EntityClient; +using System.ComponentModel; +using System.Xml.Serialization; +using System.Runtime.Serialization; + +[assembly: EdmSchemaAttribute()] +#region EDM Relationship Metadata + +[assembly: EdmRelationshipAttribute("DataContext", "OrganizationProject", "Organization", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(CharityPortal.Data.Organization), "Project", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(CharityPortal.Data.Project))] +[assembly: EdmRelationshipAttribute("DataContext", "ProjectResource", "Project", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(CharityPortal.Data.Project), "Resource", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(CharityPortal.Data.Resource))] +[assembly: EdmRelationshipAttribute("DataContext", "OrganizationResource", "Organization", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(CharityPortal.Data.Organization), "Resource", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(CharityPortal.Data.Resource))] +[assembly: EdmRelationshipAttribute("DataContext", "ResourceResource", "Resource", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(CharityPortal.Data.Resource), "Resource1", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(CharityPortal.Data.Resource))] +[assembly: EdmRelationshipAttribute("DataContext", "TagResource", "Tag", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(CharityPortal.Data.Tag), "Resource", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(CharityPortal.Data.Resource))] + +#endregion + +namespace CharityPortal.Data +{ + #region Contexts + + /// + /// No Metadata Documentation available. + /// + public partial class DataContextContainer : ObjectContext + { + #region Constructors + + /// + /// Initializes a new DataContextContainer object using the connection string found in the 'DataContextContainer' section of the application configuration file. + /// + public DataContextContainer() : base("name=DataContextContainer", "DataContextContainer") + { + this.ContextOptions.LazyLoadingEnabled = true; + OnContextCreated(); + } + + /// + /// Initialize a new DataContextContainer object. + /// + public DataContextContainer(string connectionString) : base(connectionString, "DataContextContainer") + { + this.ContextOptions.LazyLoadingEnabled = true; + OnContextCreated(); + } + + /// + /// Initialize a new DataContextContainer object. + /// + public DataContextContainer(EntityConnection connection) : base(connection, "DataContextContainer") + { + this.ContextOptions.LazyLoadingEnabled = true; + OnContextCreated(); + } + + #endregion + + #region Partial Methods + + partial void OnContextCreated(); + + #endregion + + #region ObjectSet Properties + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Projects + { + get + { + if ((_Projects == null)) + { + _Projects = base.CreateObjectSet("Projects"); + } + return _Projects; + } + } + private ObjectSet _Projects; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Resources + { + get + { + if ((_Resources == null)) + { + _Resources = base.CreateObjectSet("Resources"); + } + return _Resources; + } + } + private ObjectSet _Resources; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Organizations + { + get + { + if ((_Organizations == null)) + { + _Organizations = base.CreateObjectSet("Organizations"); + } + return _Organizations; + } + } + private ObjectSet _Organizations; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Tags + { + get + { + if ((_Tags == null)) + { + _Tags = base.CreateObjectSet("Tags"); + } + return _Tags; + } + } + private ObjectSet _Tags; + + #endregion + #region AddTo Methods + + /// + /// Deprecated Method for adding a new object to the Projects EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToProjects(Project project) + { + base.AddObject("Projects", project); + } + + /// + /// Deprecated Method for adding a new object to the Resources EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToResources(Resource resource) + { + base.AddObject("Resources", resource); + } + + /// + /// Deprecated Method for adding a new object to the Organizations EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToOrganizations(Organization organization) + { + base.AddObject("Organizations", organization); + } + + /// + /// Deprecated Method for adding a new object to the Tags EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToTags(Tag tag) + { + base.AddObject("Tags", tag); + } + + #endregion + } + + + #endregion + + #region Entities + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="DataContext", Name="Organization")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Organization : EntityObject + { + #region Factory Method + + /// + /// Create a new Organization object. + /// + /// Initial value of the Id property. + /// Initial value of the Name property. + /// Initial value of the ContactEmail property. + public static Organization CreateOrganization(global::System.Int32 id, global::System.String name, global::System.String contactEmail) + { + Organization organization = new Organization(); + organization.Id = id; + organization.Name = name; + organization.ContactEmail = contactEmail; + return organization; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int32 Id + { + get + { + return _Id; + } + set + { + if (_Id != value) + { + OnIdChanging(value); + ReportPropertyChanging("Id"); + _Id = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Id"); + OnIdChanged(); + } + } + } + private global::System.Int32 _Id; + partial void OnIdChanging(global::System.Int32 value); + partial void OnIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String Name + { + get + { + return _Name; + } + set + { + OnNameChanging(value); + ReportPropertyChanging("Name"); + _Name = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Name"); + OnNameChanged(); + } + } + private global::System.String _Name; + partial void OnNameChanging(global::System.String value); + partial void OnNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String ContactEmail + { + get + { + return _ContactEmail; + } + set + { + OnContactEmailChanging(value); + ReportPropertyChanging("ContactEmail"); + _ContactEmail = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("ContactEmail"); + OnContactEmailChanged(); + } + } + private global::System.String _ContactEmail; + partial void OnContactEmailChanging(global::System.String value); + partial void OnContactEmailChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DataContext", "OrganizationProject", "Project")] + public EntityCollection Projects + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("DataContext.OrganizationProject", "Project"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("DataContext.OrganizationProject", "Project", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DataContext", "OrganizationResource", "Resource")] + public EntityCollection AvailableResources + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("DataContext.OrganizationResource", "Resource"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("DataContext.OrganizationResource", "Resource", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="DataContext", Name="Project")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Project : EntityObject + { + #region Factory Method + + /// + /// Create a new Project object. + /// + /// Initial value of the Id property. + /// Initial value of the Name property. + /// Initial value of the Description property. + /// Initial value of the IsActive property. + /// Initial value of the Location property. + public static Project CreateProject(global::System.Int32 id, global::System.String name, global::System.String description, global::System.Boolean isActive, Location location) + { + Project project = new Project(); + project.Id = id; + project.Name = name; + project.Description = description; + project.IsActive = isActive; + project.Location = StructuralObject.VerifyComplexObjectIsNotNull(location, "Location"); + return project; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int32 Id + { + get + { + return _Id; + } + set + { + if (_Id != value) + { + OnIdChanging(value); + ReportPropertyChanging("Id"); + _Id = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Id"); + OnIdChanged(); + } + } + } + private global::System.Int32 _Id; + partial void OnIdChanging(global::System.Int32 value); + partial void OnIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String Name + { + get + { + return _Name; + } + set + { + OnNameChanging(value); + ReportPropertyChanging("Name"); + _Name = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Name"); + OnNameChanged(); + } + } + private global::System.String _Name; + partial void OnNameChanging(global::System.String value); + partial void OnNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String Description + { + get + { + return _Description; + } + set + { + OnDescriptionChanging(value); + ReportPropertyChanging("Description"); + _Description = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Description"); + OnDescriptionChanged(); + } + } + private global::System.String _Description; + partial void OnDescriptionChanging(global::System.String value); + partial void OnDescriptionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Boolean IsActive + { + get + { + return _IsActive; + } + set + { + OnIsActiveChanging(value); + ReportPropertyChanging("IsActive"); + _IsActive = StructuralObject.SetValidValue(value); + ReportPropertyChanged("IsActive"); + OnIsActiveChanged(); + } + } + private global::System.Boolean _IsActive; + partial void OnIsActiveChanging(global::System.Boolean value); + partial void OnIsActiveChanged(); + + #endregion + #region Complex Properties + + /// + /// No Metadata Documentation available. + /// + [EdmComplexPropertyAttribute()] + [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] + [XmlElement(IsNullable=true)] + [SoapElement(IsNullable=true)] + [DataMemberAttribute()] + public Location Location + { + get + { + _Location = GetValidValue(_Location, "Location", false, _LocationInitialized); + _LocationInitialized = true; + return _Location; + } + set + { + OnLocationChanging(value); + ReportPropertyChanging("Location"); + _Location = SetValidValue(_Location, value, "Location"); + _LocationInitialized = true; + ReportPropertyChanged("Location"); + OnLocationChanged(); + } + } + private Location _Location; + private bool _LocationInitialized; + partial void OnLocationChanging(Location value); + partial void OnLocationChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DataContext", "OrganizationProject", "Organization")] + public Organization AdminOrganization + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.OrganizationProject", "Organization").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.OrganizationProject", "Organization").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference AdminOrganizationReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.OrganizationProject", "Organization"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("DataContext.OrganizationProject", "Organization", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DataContext", "ProjectResource", "Resource")] + public EntityCollection RequiredResources + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("DataContext.ProjectResource", "Resource"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("DataContext.ProjectResource", "Resource", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="DataContext", Name="Resource")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Resource : EntityObject + { + #region Factory Method + + /// + /// Create a new Resource object. + /// + /// Initial value of the Id property. + /// Initial value of the Title property. + /// Initial value of the Description property. + /// Initial value of the Quantity property. + /// Initial value of the QuantityUnits property. + /// Initial value of the Location property. + public static Resource CreateResource(global::System.Int64 id, global::System.String title, global::System.String description, global::System.Double quantity, global::System.String quantityUnits, Location location) + { + Resource resource = new Resource(); + resource.Id = id; + resource.Title = title; + resource.Description = description; + resource.Quantity = quantity; + resource.QuantityUnits = quantityUnits; + resource.Location = StructuralObject.VerifyComplexObjectIsNotNull(location, "Location"); + return resource; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 Id + { + get + { + return _Id; + } + set + { + if (_Id != value) + { + OnIdChanging(value); + ReportPropertyChanging("Id"); + _Id = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Id"); + OnIdChanged(); + } + } + } + private global::System.Int64 _Id; + partial void OnIdChanging(global::System.Int64 value); + partial void OnIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String Title + { + get + { + return _Title; + } + set + { + OnTitleChanging(value); + ReportPropertyChanging("Title"); + _Title = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Title"); + OnTitleChanged(); + } + } + private global::System.String _Title; + partial void OnTitleChanging(global::System.String value); + partial void OnTitleChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String Description + { + get + { + return _Description; + } + set + { + OnDescriptionChanging(value); + ReportPropertyChanging("Description"); + _Description = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Description"); + OnDescriptionChanged(); + } + } + private global::System.String _Description; + partial void OnDescriptionChanging(global::System.String value); + partial void OnDescriptionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Double Quantity + { + get + { + return _Quantity; + } + set + { + OnQuantityChanging(value); + ReportPropertyChanging("Quantity"); + _Quantity = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Quantity"); + OnQuantityChanged(); + } + } + private global::System.Double _Quantity; + partial void OnQuantityChanging(global::System.Double value); + partial void OnQuantityChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String QuantityUnits + { + get + { + return _QuantityUnits; + } + set + { + OnQuantityUnitsChanging(value); + ReportPropertyChanging("QuantityUnits"); + _QuantityUnits = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("QuantityUnits"); + OnQuantityUnitsChanged(); + } + } + private global::System.String _QuantityUnits; + partial void OnQuantityUnitsChanging(global::System.String value); + partial void OnQuantityUnitsChanged(); + + #endregion + #region Complex Properties + + /// + /// No Metadata Documentation available. + /// + [EdmComplexPropertyAttribute()] + [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] + [XmlElement(IsNullable=true)] + [SoapElement(IsNullable=true)] + [DataMemberAttribute()] + public Location Location + { + get + { + _Location = GetValidValue(_Location, "Location", false, _LocationInitialized); + _LocationInitialized = true; + return _Location; + } + set + { + OnLocationChanging(value); + ReportPropertyChanging("Location"); + _Location = SetValidValue(_Location, value, "Location"); + _LocationInitialized = true; + ReportPropertyChanged("Location"); + OnLocationChanged(); + } + } + private Location _Location; + private bool _LocationInitialized; + partial void OnLocationChanging(Location value); + partial void OnLocationChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DataContext", "ProjectResource", "Project")] + public Project Project + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ProjectResource", "Project").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ProjectResource", "Project").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference ProjectReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ProjectResource", "Project"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("DataContext.ProjectResource", "Project", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DataContext", "OrganizationResource", "Organization")] + public Organization Organization + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.OrganizationResource", "Organization").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.OrganizationResource", "Organization").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference OrganizationReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.OrganizationResource", "Organization"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("DataContext.OrganizationResource", "Organization", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DataContext", "ResourceResource", "Resource1")] + public Resource Fulfills + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ResourceResource", "Resource1").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ResourceResource", "Resource1").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference FulfillsReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ResourceResource", "Resource1"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("DataContext.ResourceResource", "Resource1", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DataContext", "ResourceResource", "Resource")] + public Resource FulfilledBy + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ResourceResource", "Resource").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ResourceResource", "Resource").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference FulfilledByReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ResourceResource", "Resource"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("DataContext.ResourceResource", "Resource", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DataContext", "TagResource", "Tag")] + public EntityCollection Tag + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("DataContext.TagResource", "Tag"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("DataContext.TagResource", "Tag", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="DataContext", Name="Tag")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Tag : EntityObject + { + #region Factory Method + + /// + /// Create a new Tag object. + /// + /// Initial value of the Id property. + /// Initial value of the Name property. + public static Tag CreateTag(global::System.Int32 id, global::System.String name) + { + Tag tag = new Tag(); + tag.Id = id; + tag.Name = name; + return tag; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int32 Id + { + get + { + return _Id; + } + set + { + if (_Id != value) + { + OnIdChanging(value); + ReportPropertyChanging("Id"); + _Id = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Id"); + OnIdChanged(); + } + } + } + private global::System.Int32 _Id; + partial void OnIdChanging(global::System.Int32 value); + partial void OnIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String Name + { + get + { + return _Name; + } + set + { + OnNameChanging(value); + ReportPropertyChanging("Name"); + _Name = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Name"); + OnNameChanged(); + } + } + private global::System.String _Name; + partial void OnNameChanging(global::System.String value); + partial void OnNameChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DataContext", "TagResource", "Resource")] + public EntityCollection Resources + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("DataContext.TagResource", "Resource"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("DataContext.TagResource", "Resource", value); + } + } + } + + #endregion + } + + #endregion + #region ComplexTypes + + /// + /// No Metadata Documentation available. + /// + [EdmComplexTypeAttribute(NamespaceName="DataContext", Name="Location")] + [DataContractAttribute(IsReference=true)] + [Serializable()] + public partial class Location : ComplexObject + { + #region Factory Method + + /// + /// Create a new Location object. + /// + /// Initial value of the Longitude property. + /// Initial value of the Latitude property. + /// Initial value of the Address property. + public static Location CreateLocation(global::System.Double longitude, global::System.Double latitude, global::System.String address) + { + Location location = new Location(); + location.Longitude = longitude; + location.Latitude = latitude; + location.Address = address; + return location; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Double Longitude + { + get + { + return _Longitude; + } + set + { + OnLongitudeChanging(value); + ReportPropertyChanging("Longitude"); + _Longitude = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Longitude"); + OnLongitudeChanged(); + } + } + private global::System.Double _Longitude; + partial void OnLongitudeChanging(global::System.Double value); + partial void OnLongitudeChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Double Latitude + { + get + { + return _Latitude; + } + set + { + OnLatitudeChanging(value); + ReportPropertyChanging("Latitude"); + _Latitude = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Latitude"); + OnLatitudeChanged(); + } + } + private global::System.Double _Latitude; + partial void OnLatitudeChanging(global::System.Double value); + partial void OnLatitudeChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String Address + { + get + { + return _Address; + } + set + { + OnAddressChanging(value); + ReportPropertyChanging("Address"); + _Address = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Address"); + OnAddressChanged(); + } + } + private global::System.String _Address; + partial void OnAddressChanging(global::System.String value); + partial void OnAddressChanged(); + + #endregion + } + + #endregion + +} diff --git a/CharityPortal/CharityPortal.Data/DataContext.edmx b/CharityPortal/CharityPortal.Data/DataContext.edmx new file mode 100644 index 0000000..8e55005 --- /dev/null +++ b/CharityPortal/CharityPortal.Data/DataContext.edmx @@ -0,0 +1,171 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CharityPortal/CharityPortal.Data/Properties/AssemblyInfo.cs b/CharityPortal/CharityPortal.Data/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..58f5348 --- /dev/null +++ b/CharityPortal/CharityPortal.Data/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("CharityPortal.Data")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("CharityPortal.Data")] +[assembly: AssemblyCopyright("Copyright © Microsoft 2011")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("5fcd76ca-74bf-4905-9d77-2187cf9d4afa")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/CharityPortal/CharityPortal.Tests/App.config b/CharityPortal/CharityPortal.Tests/App.config new file mode 100644 index 0000000..5a526f8 --- /dev/null +++ b/CharityPortal/CharityPortal.Tests/App.config @@ -0,0 +1,14 @@ + + + + + + + + + + + diff --git a/CharityPortal/CharityPortal.Tests/CharityPortal.Tests.csproj b/CharityPortal/CharityPortal.Tests/CharityPortal.Tests.csproj new file mode 100644 index 0000000..260203d --- /dev/null +++ b/CharityPortal/CharityPortal.Tests/CharityPortal.Tests.csproj @@ -0,0 +1,72 @@ + + + + Debug + AnyCPU + + + 2.0 + {3AA419E8-E022-4912-AFAF-56FECE9013D6} + Library + Properties + CharityPortal.Tests + CharityPortal.Tests + v4.0 + 512 + {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + {873FA52F-68B3-4B6E-843C-C7045F51C88B} + CharityPortal + + + + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal.Tests/Controllers/HomeControllerTest.cs b/CharityPortal/CharityPortal.Tests/Controllers/HomeControllerTest.cs new file mode 100644 index 0000000..aa0aa96 --- /dev/null +++ b/CharityPortal/CharityPortal.Tests/Controllers/HomeControllerTest.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Web.Mvc; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using CharityPortal; +using CharityPortal.Controllers; + +namespace CharityPortal.Tests.Controllers +{ + [TestClass] + public class HomeControllerTest + { + [TestMethod] + public void Index() + { + // Arrange + HomeController controller = new HomeController(); + + // Act + ViewResult result = controller.Index() as ViewResult; + + // Assert + Assert.AreEqual("Welcome to ASP.NET MVC!", result.ViewBag.Message); + } + + [TestMethod] + public void About() + { + // Arrange + HomeController controller = new HomeController(); + + // Act + ViewResult result = controller.About() as ViewResult; + + // Assert + Assert.IsNotNull(result); + } + } +} diff --git a/CharityPortal/CharityPortal.Tests/Properties/AssemblyInfo.cs b/CharityPortal/CharityPortal.Tests/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..90125be --- /dev/null +++ b/CharityPortal/CharityPortal.Tests/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("CharityPortal.Tests")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("CharityPortal.Tests")] +[assembly: AssemblyCopyright("Copyright © Microsoft 2011")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("fefa2b30-0522-4b23-b03a-3fa6294b871b")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Revision and Build Numbers +// by using the '*' as shown below: +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/CharityPortal/CharityPortal.sln b/CharityPortal/CharityPortal.sln new file mode 100644 index 0000000..eff4e4c --- /dev/null +++ b/CharityPortal/CharityPortal.sln @@ -0,0 +1,32 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CharityPortal", "CharityPortal\CharityPortal.csproj", "{873FA52F-68B3-4B6E-843C-C7045F51C88B}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CharityPortal.Tests", "CharityPortal.Tests\CharityPortal.Tests.csproj", "{3AA419E8-E022-4912-AFAF-56FECE9013D6}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CharityPortal.Data", "CharityPortal.Data\CharityPortal.Data.csproj", "{1D773A47-6822-4511-9B27-B37386F866DD}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {873FA52F-68B3-4B6E-843C-C7045F51C88B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {873FA52F-68B3-4B6E-843C-C7045F51C88B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {873FA52F-68B3-4B6E-843C-C7045F51C88B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {873FA52F-68B3-4B6E-843C-C7045F51C88B}.Release|Any CPU.Build.0 = Release|Any CPU + {3AA419E8-E022-4912-AFAF-56FECE9013D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3AA419E8-E022-4912-AFAF-56FECE9013D6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3AA419E8-E022-4912-AFAF-56FECE9013D6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3AA419E8-E022-4912-AFAF-56FECE9013D6}.Release|Any CPU.Build.0 = Release|Any CPU + {1D773A47-6822-4511-9B27-B37386F866DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1D773A47-6822-4511-9B27-B37386F866DD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1D773A47-6822-4511-9B27-B37386F866DD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1D773A47-6822-4511-9B27-B37386F866DD}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/CharityPortal/CharityPortal/CharityPortal.csproj b/CharityPortal/CharityPortal/CharityPortal.csproj new file mode 100644 index 0000000..8e4be71 --- /dev/null +++ b/CharityPortal/CharityPortal/CharityPortal.csproj @@ -0,0 +1,184 @@ + + + + Debug + AnyCPU + + + 2.0 + {873FA52F-68B3-4B6E-843C-C7045F51C88B} + {E53F8FEA-EAE0-44A6-8774-FFD645390401};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} + Library + Properties + CharityPortal + CharityPortal + v4.0 + false + false + + + true + full + false + bin\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\ + TRACE + prompt + 4 + + + + ..\packages\EntityFramework.4.1.10331.0\lib\EntityFramework.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Global.asax + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Web.config + + + Web.config + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {1D773A47-6822-4511-9B27-B37386F866DD} + CharityPortal.Data + + + + + + + + + + + + + False + True + 56070 + / + + + False + False + + + False + + + + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/Site.css b/CharityPortal/CharityPortal/Content/Site.css new file mode 100644 index 0000000..5244089 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/Site.css @@ -0,0 +1,324 @@ +/*---------------------------------------------------------- +The base color for this template is #5c87b2. If you'd like +to use a different color start by replacing all instances of +#5c87b2 with your new color. +----------------------------------------------------------*/ +body { + background-color: #5c87b2; + font-size: .85em; + font-family: "Trebuchet MS", Verdana, Helvetica, Sans-Serif; + margin: 0; + padding: 0; + color: #696969; +} + +a:link { + color: #034af3; + text-decoration: underline; +} + +a:visited { + color: #505abc; +} + +a:hover { + color: #1d60ff; + text-decoration: none; +} + +a:active { + color: #12eb87; +} + +p, ul { + margin-bottom: 20px; + line-height: 1.6em; +} + +header, +footer, +nav, +section { + display: block; +} + +/* HEADINGS +----------------------------------------------------------*/ +h1, h2, h3, h4, h5, h6 { + font-size: 1.5em; + color: #000; +} + +h1 { + font-size: 2em; + padding-bottom: 0; + margin-bottom: 0; +} + +h2 { + padding: 0 0 10px 0; +} + +h3 { + font-size: 1.2em; +} + +h4 { + font-size: 1.1em; +} + +h5, h6 { + font-size: 1em; +} + +/* PRIMARY LAYOUT ELEMENTS +----------------------------------------------------------*/ + +/* you can specify a greater or lesser percentage for the +page width. Or, you can specify an exact pixel width. */ +.page { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +header, #header { + position: relative; + margin-bottom: 0px; + color: #000; + padding: 0; +} + +header h1, #header h1 { + font-weight: bold; + padding: 5px 0; + margin: 0; + color: #fff; + border: none; + line-height: 2em; + font-size: 32px !important; + text-shadow: 1px 1px 2px #111; +} + +#main { + padding: 30px 30px 15px 30px; + background-color: #fff; + border-radius: 4px 0 0 0; + -webkit-border-radius: 4px 0 0 0; + -moz-border-radius: 4px 0 0 0; +} + +footer, +#footer { + background-color: #fff; + color: #999; + padding: 10px 0; + text-align: center; + line-height: normal; + margin: 0 0 30px 0; + font-size: .9em; + border-radius: 0 0 4px 4px; + -webkit-border-radius: 0 0 4px 4px; + -moz-border-radius: 0 0 4px 4px; +} + +/* TAB MENU +----------------------------------------------------------*/ +ul#menu { + border-bottom: 1px #5C87B2 solid; + padding: 0 0 2px; + position: relative; + margin: 0; + text-align: right; +} + +ul#menu li { + display: inline; + list-style: none; +} + +ul#menu li#greeting { + padding: 10px 20px; + font-weight: bold; + text-decoration: none; + line-height: 2.8em; + color: #fff; +} + +ul#menu li a { + padding: 10px 20px; + font-weight: bold; + text-decoration: none; + line-height: 2.8em; + background-color: #e8eef4; + color: #034af3; + border-radius: 4px 4px 0 0; + -webkit-border-radius: 4px 4px 0 0; + -moz-border-radius: 4px 4px 0 0; +} + +ul#menu li a:hover { + background-color: #fff; + text-decoration: none; +} + +ul#menu li a:active { + background-color: #a6e2a6; + text-decoration: none; +} + +ul#menu li.selected a { + background-color: #fff; + color: #000; +} + +/* FORM LAYOUT ELEMENTS +----------------------------------------------------------*/ + +fieldset { + border: 1px solid #ddd; + padding: 0 1.4em 1.4em 1.4em; + margin: 0 0 1.5em 0; +} + +legend { + font-size: 1.2em; + font-weight: bold; +} + +textarea { + min-height: 75px; +} + +input[type="text"], +input[type="password"] { + border: 1px solid #ccc; + padding: 2px; + font-size: 1.2em; + color: #444; + width: 200px; +} + +select { + border: 1px solid #ccc; + padding: 2px; + font-size: 1.2em; + color: #444; +} + +input[type="submit"] { + font-size: 1.2em; + padding: 5px; +} + +/* TABLE +----------------------------------------------------------*/ + +table { + border: solid 1px #e8eef4; + border-collapse: collapse; +} + +table td { + padding: 5px; + border: solid 1px #e8eef4; +} + +table th { + padding: 6px 5px; + text-align: left; + background-color: #e8eef4; + border: solid 1px #e8eef4; +} + +/* MISC +----------------------------------------------------------*/ +.clear { + clear: both; +} + +.error { + color: Red; +} + +nav, +#menucontainer { + margin-top: 40px; +} + +div#title { + display: block; + float: left; + text-align: left; +} + +#logindisplay { + font-size: 1.1em; + display: block; + text-align: right; + margin: 10px; + color: White; +} + +#logindisplay a:link { + color: white; + text-decoration: underline; +} + +#logindisplay a:visited { + color: white; + text-decoration: underline; +} + +#logindisplay a:hover { + color: white; + text-decoration: none; +} + +/* Styles for validation helpers +-----------------------------------------------------------*/ +.field-validation-error { + color: #ff0000; +} + +.field-validation-valid { + display: none; +} + +.input-validation-error { + border: 1px solid #ff0000; + background-color: #ffeeee; +} + +.validation-summary-errors { + font-weight: bold; + color: #ff0000; +} + +.validation-summary-valid { + display: none; +} + +/* Styles for editor and display helpers +----------------------------------------------------------*/ +.display-label, +.editor-label { + margin: 1em 0 0 0; +} + +.display-field, +.editor-field { + margin: 0.5em 0 0 0; +} + +.text-box { + width: 30em; +} + +.text-box.multi-line { + height: 6.5em; +} + +.tri-state { + width: 6em; +} diff --git a/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png b/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png new file mode 100644 index 0000000000000000000000000000000000000000..5b5dab2ab7b1c50dea9cfe73dc5a269a92d2d4b4 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!3HG1q!d*FscKIb$B>N1x91EQ4=4yQ7#`R^ z$vje}bP0l+XkK DSH>_4 literal 0 HcmV?d00001 diff --git a/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_flat_75_ffffff_40x100.png b/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_flat_75_ffffff_40x100.png new file mode 100644 index 0000000000000000000000000000000000000000..ac8b229af950c29356abf64a6c4aa894575445f0 GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!3HG1q!d*FsY*{5$B>N1x91EQ4=4yQYz+E8 zPo9&<{J;c_6SHRil>2s{Zw^OT)6@jj2u|u!(plXsM>LJD`vD!n;OXk;vd$@?2>^GI BH@yG= literal 0 HcmV?d00001 diff --git a/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png b/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..ad3d6346e00f246102f72f2e026ed0491988b394 GIT binary patch literal 120 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnour0hLi978O6-<~(*I$*%ybaDOn z{W;e!B}_MSUQoPXhYd^Y6RUoS1yepnPx`2Kz)7OXQG!!=-jY=F+d2OOy?#DnJ32>z UEim$g7SJdLPgg&ebxsLQ09~*s;{X5v literal 0 HcmV?d00001 diff --git a/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_65_ffffff_1x400.png b/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_65_ffffff_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..42ccba269b6e91bef12ad0fa18be651b5ef0ee68 GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnouqzpV=978O6-=0?FV^9z|eBtf= z|7WztIJ;WT>{+tN>ySr~=F{k$>;_x^_y?afmf9pRKH0)6?eSP?3s5hEr>mdKI;Vst E0O;M1& literal 0 HcmV?d00001 diff --git a/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_75_dadada_1x400.png b/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_75_dadada_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..5a46b47cb16631068aee9e0bd61269fc4e95e5cd GIT binary patch literal 111 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnouq|7{B978O6lPf+wIa#m9#>Unb zm^4K~wN3Zq+uP{vDV26o)#~38k_!`W=^oo1w6ixmPC4R1b Tyd6G3lNdZ*{an^LB{Ts5`idse literal 0 HcmV?d00001 diff --git a/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png new file mode 100644 index 0000000000000000000000000000000000000000..7c9fa6c6edcfcdd3e5b77e6f547b719e6fc66e30 GIT binary patch literal 101 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 literal 0 HcmV?d00001 diff --git a/CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_2e83ff_256x240.png b/CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_2e83ff_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..45e8928e5284adacea3f9ec07b9b50667d2ac65f GIT binary patch literal 4369 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 literal 0 HcmV?d00001 diff --git a/CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_454545_256x240.png b/CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_454545_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..7ec70d11bfb2f77374dfd00ef61ba0c3647b5a0c GIT binary patch literal 4369 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 k*Kv;w;*%(i9W@fAqs5i2wiq literal 0 HcmV?d00001 diff --git a/CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_888888_256x240.png b/CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_888888_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..5ba708c39172a69e069136bd1309c4322c61f571 GIT binary patch literal 4369 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 literal 0 HcmV?d00001 diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.accordion.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.accordion.css new file mode 100644 index 0000000..4a67cbf --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.accordion.css @@ -0,0 +1,24 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Accordion 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Accordion#theming + */ +/* IE/Win - Fix animation bug - #4615 */ +.ui-accordion { width: 100%; } +.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; } +.ui-accordion .ui-accordion-li-fix { display: inline; } +.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; } +.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; } +.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; } +.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; } +.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; } +.ui-accordion .ui-accordion-content-active { display: block; } diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.all.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.all.css new file mode 100644 index 0000000..2b2c103 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.all.css @@ -0,0 +1,16 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI CSS Framework 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Theming + */ +@import "jquery.ui.base.css"; +@import "jquery.ui.theme.css"; diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.autocomplete.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.autocomplete.css new file mode 100644 index 0000000..aac4e20 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.autocomplete.css @@ -0,0 +1,62 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Autocomplete 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * http://docs.jquery.com/UI/Autocomplete#theming + */ +.ui-autocomplete { position: absolute; cursor: default; } + +/* workarounds */ +* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ + +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Menu 1.8.11 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Menu#theming + */ +.ui-menu { + list-style:none; + padding: 2px; + margin: 0; + display:block; + float: left; +} +.ui-menu .ui-menu { + margin-top: -3px; +} +.ui-menu .ui-menu-item { + margin:0; + padding: 0; + zoom: 1; + float: left; + clear: left; + width: 100%; +} +.ui-menu .ui-menu-item a { + text-decoration:none; + display:block; + padding:.2em .4em; + line-height:1.5; + zoom:1; +} +.ui-menu .ui-menu-item a.ui-state-hover, +.ui-menu .ui-menu-item a.ui-state-active { + font-weight: normal; + margin: -1px; +} diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.base.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.base.css new file mode 100644 index 0000000..f52ee39 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.base.css @@ -0,0 +1,11 @@ +@import url("jquery.ui.core.css"); +@import url("jquery.ui.resizable.css"); +@import url("jquery.ui.selectable.css"); +@import url("jquery.ui.accordion.css"); +@import url("jquery.ui.autocomplete.css"); +@import url("jquery.ui.button.css"); +@import url("jquery.ui.dialog.css"); +@import url("jquery.ui.slider.css"); +@import url("jquery.ui.tabs.css"); +@import url("jquery.ui.datepicker.css"); +@import url("jquery.ui.progressbar.css"); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.button.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.button.css new file mode 100644 index 0000000..af6c985 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.button.css @@ -0,0 +1,43 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Button 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Button#theming + */ +.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */ +.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */ +button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */ +.ui-button-icons-only { width: 3.4em; } +button.ui-button-icons-only { width: 3.7em; } + +/*button text element */ +.ui-button .ui-button-text { display: block; line-height: 1.4; } +.ui-button-text-only .ui-button-text { padding: .4em 1em; } +.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; } +.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; } +.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; } +.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; } +/* no icon support for input elements, provide padding by default */ +input.ui-button { padding: .4em 1em; } + +/*button icon element(s) */ +.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; } +.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; } +.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; } +.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } +.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } + +/*button sets*/ +.ui-buttonset { margin-right: 7px; } +.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; } + +/* workarounds */ +button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.core.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.core.css new file mode 100644 index 0000000..55fb8b0 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.core.css @@ -0,0 +1,46 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI CSS Framework 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Theming/API + */ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { display: none; } +.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } +.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } +.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } +.ui-helper-clearfix { display: inline-block; } +/* required comment for clearfix to work in Opera \*/ +* html .ui-helper-clearfix { height:1%; } +.ui-helper-clearfix { display:block; } +/* end clearfix */ +.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { cursor: default !important; } + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.datepicker.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.datepicker.css new file mode 100644 index 0000000..7126923 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.datepicker.css @@ -0,0 +1,73 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Datepicker 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Datepicker#theming + */ +.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; } +.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } +.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } +.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } +.ui-datepicker .ui-datepicker-prev { left:2px; } +.ui-datepicker .ui-datepicker-next { right:2px; } +.ui-datepicker .ui-datepicker-prev-hover { left:1px; } +.ui-datepicker .ui-datepicker-next-hover { right:1px; } +.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } +.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } +.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; } +.ui-datepicker select.ui-datepicker-month-year {width: 100%;} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { width: 49%;} +.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; } +.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } +.ui-datepicker td { border: 0; padding: 1px; } +.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } +.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } +.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { width:auto; } +.ui-datepicker-multi .ui-datepicker-group { float:left; } +.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } +.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } +.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } +.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } +.ui-datepicker-row-break { clear:both; width:100%; } + +/* RTL support */ +.ui-datepicker-rtl { direction: rtl; } +.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } +.ui-datepicker-rtl .ui-datepicker-group { float:right; } +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } + +/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ +.ui-datepicker-cover { + display: none; /*sorry for IE5*/ + display/**/: block; /*sorry for IE5*/ + position: absolute; /*must have*/ + z-index: -1; /*must have*/ + filter: mask(); /*must have*/ + top: -4px; /*must have*/ + left: -4px; /*must have*/ + width: 200px; /*must have*/ + height: 200px; /*must have*/ +} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.dialog.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.dialog.css new file mode 100644 index 0000000..311dd32 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.dialog.css @@ -0,0 +1,26 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Dialog 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Dialog#theming + */ +.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; } +.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; } +.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; } +.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; } +.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; } +.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; } +.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; } +.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; } +.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; } +.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; } +.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } +.ui-draggable .ui-dialog-titlebar { cursor: move; } diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.progressbar.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.progressbar.css new file mode 100644 index 0000000..6e8718e --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.progressbar.css @@ -0,0 +1,16 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Progressbar 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Progressbar#theming + */ +.ui-progressbar { height:2em; text-align: left; } +.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.resizable.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.resizable.css new file mode 100644 index 0000000..bf037be --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.resizable.css @@ -0,0 +1,25 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Resizable 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)] + * + * http://docs.jquery.com/UI/Resizable#theming + */ +.ui-resizable { position: relative;} +.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;} +.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } +.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; } +.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } +.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; } +.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; } +.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } +.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } +.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } +.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.selectable.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.selectable.css new file mode 100644 index 0000000..011416b --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.selectable.css @@ -0,0 +1,15 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Selectable 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Selectable#theming + */ +.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; } diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.slider.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.slider.css new file mode 100644 index 0000000..3bbfb93 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.slider.css @@ -0,0 +1,29 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Slider 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Slider#theming + */ +.ui-slider { position: relative; text-align: left; } +.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } +.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } + +.ui-slider-horizontal { height: .8em; } +.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } +.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } +.ui-slider-horizontal .ui-slider-range-min { left: 0; } +.ui-slider-horizontal .ui-slider-range-max { right: 0; } + +.ui-slider-vertical { width: .8em; height: 100px; } +.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } +.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } +.ui-slider-vertical .ui-slider-range-min { bottom: 0; } +.ui-slider-vertical .ui-slider-range-max { top: 0; } \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.tabs.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.tabs.css new file mode 100644 index 0000000..aa5cd8a --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.tabs.css @@ -0,0 +1,23 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Tabs 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Tabs#theming + */ +.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ +.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; } +.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; } +.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; } +.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ +.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } +.ui-tabs .ui-tabs-hide { display: none !important; } diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.theme.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.theme.css new file mode 100644 index 0000000..0d5b735 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.theme.css @@ -0,0 +1,257 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI CSS Framework 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Theming/API + * + * To view and modify this theme, visit http://jqueryui.com/themeroller/ + */ + + +/* Component containers +----------------------------------*/ +.ui-widget { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1.1em/*{fsDefault}*/; } +.ui-widget .ui-widget { font-size: 1em; } +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1em; } +.ui-widget-content { border: 1px solid #aaaaaa/*{borderColorContent}*/; background: #ffffff/*{bgColorContent}*/ url(images/ui-bg_flat_75_ffffff_40x100.png)/*{bgImgUrlContent}*/ 50%/*{bgContentXPos}*/ 50%/*{bgContentYPos}*/ repeat-x/*{bgContentRepeat}*/; color: #222222/*{fcContent}*/; } +.ui-widget-content a { color: #222222/*{fcContent}*/; } +.ui-widget-header { border: 1px solid #aaaaaa/*{borderColorHeader}*/; background: #cccccc/*{bgColorHeader}*/ url(images/ui-bg_highlight-soft_75_cccccc_1x100.png)/*{bgImgUrlHeader}*/ 50%/*{bgHeaderXPos}*/ 50%/*{bgHeaderYPos}*/ repeat-x/*{bgHeaderRepeat}*/; color: #222222/*{fcHeader}*/; font-weight: bold; } +.ui-widget-header a { color: #222222/*{fcHeader}*/; } + +/* Interaction states +----------------------------------*/ +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3/*{borderColorDefault}*/; background: #e6e6e6/*{bgColorDefault}*/ url(images/ui-bg_glass_75_e6e6e6_1x400.png)/*{bgImgUrlDefault}*/ 50%/*{bgDefaultXPos}*/ 50%/*{bgDefaultYPos}*/ repeat-x/*{bgDefaultRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #555555/*{fcDefault}*/; } +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555/*{fcDefault}*/; text-decoration: none; } +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999/*{borderColorHover}*/; background: #dadada/*{bgColorHover}*/ url(images/ui-bg_glass_75_dadada_1x400.png)/*{bgImgUrlHover}*/ 50%/*{bgHoverXPos}*/ 50%/*{bgHoverYPos}*/ repeat-x/*{bgHoverRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcHover}*/; } +.ui-state-hover a, .ui-state-hover a:hover { color: #212121/*{fcHover}*/; text-decoration: none; } +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa/*{borderColorActive}*/; background: #ffffff/*{bgColorActive}*/ url(images/ui-bg_glass_65_ffffff_1x400.png)/*{bgImgUrlActive}*/ 50%/*{bgActiveXPos}*/ 50%/*{bgActiveYPos}*/ repeat-x/*{bgActiveRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcActive}*/; } +.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121/*{fcActive}*/; text-decoration: none; } +.ui-widget :active { outline: none; } + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1/*{borderColorHighlight}*/; background: #fbf9ee/*{bgColorHighlight}*/ url(images/ui-bg_glass_55_fbf9ee_1x400.png)/*{bgImgUrlHighlight}*/ 50%/*{bgHighlightXPos}*/ 50%/*{bgHighlightYPos}*/ repeat-x/*{bgHighlightRepeat}*/; color: #363636/*{fcHighlight}*/; } +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636/*{fcHighlight}*/; } +.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a/*{borderColorError}*/; background: #fef1ec/*{bgColorError}*/ url(images/ui-bg_glass_95_fef1ec_1x400.png)/*{bgImgUrlError}*/ 50%/*{bgErrorXPos}*/ 50%/*{bgErrorYPos}*/ repeat-x/*{bgErrorRepeat}*/; color: #cd0a0a/*{fcError}*/; } +.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a/*{fcError}*/; } +.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a/*{fcError}*/; } +.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } +.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } +.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png)/*{iconsContent}*/; } +.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png)/*{iconsContent}*/; } +.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png)/*{iconsHeader}*/; } +.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png)/*{iconsDefault}*/; } +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png)/*{iconsHover}*/; } +.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png)/*{iconsActive}*/; } +.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png)/*{iconsHighlight}*/; } +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png)/*{iconsError}*/; } + +/* positioning */ +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-off { background-position: -96px -144px; } +.ui-icon-radio-on { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-tl { -moz-border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; border-top-left-radius: 4px/*{cornerRadius}*/; } +.ui-corner-tr { -moz-border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; border-top-right-radius: 4px/*{cornerRadius}*/; } +.ui-corner-bl { -moz-border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; border-bottom-left-radius: 4px/*{cornerRadius}*/; } +.ui-corner-br { -moz-border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; border-bottom-right-radius: 4px/*{cornerRadius}*/; } +.ui-corner-top { -moz-border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; border-top-left-radius: 4px/*{cornerRadius}*/; -moz-border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; border-top-right-radius: 4px/*{cornerRadius}*/; } +.ui-corner-bottom { -moz-border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; border-bottom-left-radius: 4px/*{cornerRadius}*/; -moz-border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; border-bottom-right-radius: 4px/*{cornerRadius}*/; } +.ui-corner-right { -moz-border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; border-top-right-radius: 4px/*{cornerRadius}*/; -moz-border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; border-bottom-right-radius: 4px/*{cornerRadius}*/; } +.ui-corner-left { -moz-border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; border-top-left-radius: 4px/*{cornerRadius}*/; -moz-border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; border-bottom-left-radius: 4px/*{cornerRadius}*/; } +.ui-corner-all { -moz-border-radius: 4px/*{cornerRadius}*/; -webkit-border-radius: 4px/*{cornerRadius}*/; border-radius: 4px/*{cornerRadius}*/; } + +/* Overlays */ +.ui-widget-overlay { background: #aaaaaa/*{bgColorOverlay}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlOverlay}*/ 50%/*{bgOverlayXPos}*/ 50%/*{bgOverlayYPos}*/ repeat-x/*{bgOverlayRepeat}*/; opacity: .3;filter:Alpha(Opacity=30)/*{opacityOverlay}*/; } +.ui-widget-shadow { margin: -8px/*{offsetTopShadow}*/ 0 0 -8px/*{offsetLeftShadow}*/; padding: 8px/*{thicknessShadow}*/; background: #aaaaaa/*{bgColorShadow}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlShadow}*/ 50%/*{bgShadowXPos}*/ 50%/*{bgShadowYPos}*/ repeat-x/*{bgShadowRepeat}*/; opacity: .3;filter:Alpha(Opacity=30)/*{opacityShadow}*/; -moz-border-radius: 8px/*{cornerRadiusShadow}*/; -webkit-border-radius: 8px/*{cornerRadiusShadow}*/; border-radius: 8px/*{cornerRadiusShadow}*/; } \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Controllers/AccountController.cs b/CharityPortal/CharityPortal/Controllers/AccountController.cs new file mode 100644 index 0000000..e41005c --- /dev/null +++ b/CharityPortal/CharityPortal/Controllers/AccountController.cs @@ -0,0 +1,174 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Mvc; +using System.Web.Routing; +using System.Web.Security; +using CharityPortal.Models; + +namespace CharityPortal.Controllers +{ + public class AccountController : Controller + { + + // + // GET: /Account/LogOn + + public ActionResult LogOn() + { + return View(); + } + + // + // POST: /Account/LogOn + + [HttpPost] + public ActionResult LogOn(LogOnModel model, string returnUrl) + { + if (ModelState.IsValid) { + if (Membership.ValidateUser(model.UserName, model.Password)) { + FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe); + if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") + && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\")) { + return Redirect(returnUrl); + } else { + return RedirectToAction("Index", "Home"); + } + } else { + ModelState.AddModelError("", "The user name or password provided is incorrect."); + } + } + + // If we got this far, something failed, redisplay form + return View(model); + } + + // + // GET: /Account/LogOff + + public ActionResult LogOff() + { + FormsAuthentication.SignOut(); + + return RedirectToAction("Index", "Home"); + } + + // + // GET: /Account/Register + + public ActionResult Register() + { + return View(); + } + + // + // POST: /Account/Register + + [HttpPost] + public ActionResult Register(RegisterModel model) + { + if (ModelState.IsValid) { + // Attempt to register the user + MembershipCreateStatus createStatus; + Membership.CreateUser(model.UserName, model.Password, model.Email, null, null, true, null, out createStatus); + + if (createStatus == MembershipCreateStatus.Success) { + FormsAuthentication.SetAuthCookie(model.UserName, false /* createPersistentCookie */); + return RedirectToAction("Index", "Home"); + } else { + ModelState.AddModelError("", ErrorCodeToString(createStatus)); + } + } + + // If we got this far, something failed, redisplay form + return View(model); + } + + // + // GET: /Account/ChangePassword + + [Authorize] + public ActionResult ChangePassword() + { + return View(); + } + + // + // POST: /Account/ChangePassword + + [Authorize] + [HttpPost] + public ActionResult ChangePassword(ChangePasswordModel model) + { + if (ModelState.IsValid) { + + // ChangePassword will throw an exception rather + // than return false in certain failure scenarios. + bool changePasswordSucceeded; + try { + MembershipUser currentUser = Membership.GetUser(User.Identity.Name, true /* userIsOnline */); + changePasswordSucceeded = currentUser.ChangePassword(model.OldPassword, model.NewPassword); + } catch (Exception) { + changePasswordSucceeded = false; + } + + if (changePasswordSucceeded) { + return RedirectToAction("ChangePasswordSuccess"); + } else { + ModelState.AddModelError("", "The current password is incorrect or the new password is invalid."); + } + } + + // If we got this far, something failed, redisplay form + return View(model); + } + + // + // GET: /Account/ChangePasswordSuccess + + public ActionResult ChangePasswordSuccess() + { + return View(); + } + + #region Status Codes + private static string ErrorCodeToString(MembershipCreateStatus createStatus) + { + // See http://go.microsoft.com/fwlink/?LinkID=177550 for + // a full list of status codes. + switch (createStatus) { + case MembershipCreateStatus.DuplicateUserName: + return "User name already exists. Please enter a different user name."; + + case MembershipCreateStatus.DuplicateEmail: + return "A user name for that e-mail address already exists. Please enter a different e-mail address."; + + case MembershipCreateStatus.InvalidPassword: + return "The password provided is invalid. Please enter a valid password value."; + + case MembershipCreateStatus.InvalidEmail: + return "The e-mail address provided is invalid. Please check the value and try again."; + + case MembershipCreateStatus.InvalidAnswer: + return "The password retrieval answer provided is invalid. Please check the value and try again."; + + case MembershipCreateStatus.InvalidQuestion: + return "The password retrieval question provided is invalid. Please check the value and try again."; + + case MembershipCreateStatus.InvalidUserName: + return "The user name provided is invalid. Please check the value and try again."; + + case MembershipCreateStatus.ProviderError: + return "The authentication provider returned an error. Please verify your entry and try again. If the problem persists, please contact your system administrator."; + + case MembershipCreateStatus.UserRejected: + return "The user creation request has been canceled. Please verify your entry and try again. If the problem persists, please contact your system administrator."; + + default: + return "An unknown error occurred. Please verify your entry and try again. If the problem persists, please contact your system administrator."; + } + } + #endregion + } +} diff --git a/CharityPortal/CharityPortal/Controllers/HomeController.cs b/CharityPortal/CharityPortal/Controllers/HomeController.cs new file mode 100644 index 0000000..59c72f8 --- /dev/null +++ b/CharityPortal/CharityPortal/Controllers/HomeController.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Mvc; + +namespace CharityPortal.Controllers +{ + public class HomeController : Controller + { + public ActionResult Index() + { + ViewBag.Message = "Welcome to ASP.NET MVC!"; + + return View(); + } + + public ActionResult About() + { + return View(); + } + } +} diff --git a/CharityPortal/CharityPortal/Global.asax b/CharityPortal/CharityPortal/Global.asax new file mode 100644 index 0000000..459b4c6 --- /dev/null +++ b/CharityPortal/CharityPortal/Global.asax @@ -0,0 +1 @@ +<%@ Application Codebehind="Global.asax.cs" Inherits="CharityPortal.MvcApplication" Language="C#" %> diff --git a/CharityPortal/CharityPortal/Global.asax.cs b/CharityPortal/CharityPortal/Global.asax.cs new file mode 100644 index 0000000..0f753b5 --- /dev/null +++ b/CharityPortal/CharityPortal/Global.asax.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Mvc; +using System.Web.Routing; + +namespace CharityPortal +{ + // Note: For instructions on enabling IIS6 or IIS7 classic mode, + // visit http://go.microsoft.com/?LinkId=9394801 + + public class MvcApplication : System.Web.HttpApplication + { + public static void RegisterGlobalFilters(GlobalFilterCollection filters) + { + filters.Add(new HandleErrorAttribute()); + } + + public static void RegisterRoutes(RouteCollection routes) + { + routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); + + routes.MapRoute( + "Default", // Route name + "{controller}/{action}/{id}", // URL with parameters + new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults + ); + + } + + protected void Application_Start() + { + AreaRegistration.RegisterAllAreas(); + + RegisterGlobalFilters(GlobalFilters.Filters); + RegisterRoutes(RouteTable.Routes); + } + } +} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Models/AccountModels.cs b/CharityPortal/CharityPortal/Models/AccountModels.cs new file mode 100644 index 0000000..6251e4c --- /dev/null +++ b/CharityPortal/CharityPortal/Models/AccountModels.cs @@ -0,0 +1,67 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Globalization; +using System.Web.Mvc; +using System.Web.Security; + +namespace CharityPortal.Models +{ + + public class ChangePasswordModel + { + [Required] + [DataType(DataType.Password)] + [Display(Name = "Current password")] + public string OldPassword { get; set; } + + [Required] + [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)] + [DataType(DataType.Password)] + [Display(Name = "New password")] + public string NewPassword { get; set; } + + [DataType(DataType.Password)] + [Display(Name = "Confirm new password")] + [Compare("NewPassword", ErrorMessage = "The new password and confirmation password do not match.")] + public string ConfirmPassword { get; set; } + } + + public class LogOnModel + { + [Required] + [Display(Name = "User name")] + public string UserName { get; set; } + + [Required] + [DataType(DataType.Password)] + [Display(Name = "Password")] + public string Password { get; set; } + + [Display(Name = "Remember me?")] + public bool RememberMe { get; set; } + } + + public class RegisterModel + { + [Required] + [Display(Name = "User name")] + public string UserName { get; set; } + + [Required] + [DataType(DataType.EmailAddress)] + [Display(Name = "Email address")] + public string Email { get; set; } + + [Required] + [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)] + [DataType(DataType.Password)] + [Display(Name = "Password")] + public string Password { get; set; } + + [DataType(DataType.Password)] + [Display(Name = "Confirm password")] + [Compare("Password", ErrorMessage = "The password and confirmation password do not match.")] + public string ConfirmPassword { get; set; } + } +} diff --git a/CharityPortal/CharityPortal/Properties/AssemblyInfo.cs b/CharityPortal/CharityPortal/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..02df337 --- /dev/null +++ b/CharityPortal/CharityPortal/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("CharityPortal")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("CharityPortal")] +[assembly: AssemblyCopyright("Copyright © Microsoft 2011")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("1a30e09d-7aa7-4ba9-8f83-a07ced2311c4")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Revision and Build Numbers +// by using the '*' as shown below: +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/CharityPortal/CharityPortal/Scripts/MicrosoftAjax.debug.js b/CharityPortal/CharityPortal/Scripts/MicrosoftAjax.debug.js new file mode 100644 index 0000000..51d7b06 --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/MicrosoftAjax.debug.js @@ -0,0 +1,7117 @@ +// Name: MicrosoftAjax.debug.js +// Assembly: System.Web.Extensions +// Version: 4.0.0.0 +// FileVersion: 4.0.20526.0 +//----------------------------------------------------------------------- +// Copyright (C) Microsoft Corporation. All rights reserved. +//----------------------------------------------------------------------- +// MicrosoftAjax.js +// Microsoft AJAX Framework. + +Function.__typeName = 'Function'; +Function.__class = true; +Function.createCallback = function Function$createCallback(method, context) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "method", type: Function}, + {name: "context", mayBeNull: true} + ]); + if (e) throw e; + return function() { + var l = arguments.length; + if (l > 0) { + var args = []; + for (var i = 0; i < l; i++) { + args[i] = arguments[i]; + } + args[l] = context; + return method.apply(this, args); + } + return method.call(this, context); + } +} +Function.createDelegate = function Function$createDelegate(instance, method) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "instance", mayBeNull: true}, + {name: "method", type: Function} + ]); + if (e) throw e; + return function() { + return method.apply(instance, arguments); + } +} +Function.emptyFunction = Function.emptyMethod = function Function$emptyMethod() { + /// +} +Function.validateParameters = function Function$validateParameters(parameters, expectedParameters, validateParameterCount) { + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "parameters"}, + {name: "expectedParameters"}, + {name: "validateParameterCount", type: Boolean, optional: true} + ]); + if (e) throw e; + return Function._validateParams(parameters, expectedParameters, validateParameterCount); +} +Function._validateParams = function Function$_validateParams(params, expectedParams, validateParameterCount) { + var e, expectedLength = expectedParams.length; + validateParameterCount = validateParameterCount || (typeof(validateParameterCount) === "undefined"); + e = Function._validateParameterCount(params, expectedParams, validateParameterCount); + if (e) { + e.popStackFrame(); + return e; + } + for (var i = 0, l = params.length; i < l; i++) { + var expectedParam = expectedParams[Math.min(i, expectedLength - 1)], + paramName = expectedParam.name; + if (expectedParam.parameterArray) { + paramName += "[" + (i - expectedLength + 1) + "]"; + } + else if (!validateParameterCount && (i >= expectedLength)) { + break; + } + e = Function._validateParameter(params[i], expectedParam, paramName); + if (e) { + e.popStackFrame(); + return e; + } + } + return null; +} +Function._validateParameterCount = function Function$_validateParameterCount(params, expectedParams, validateParameterCount) { + var i, error, + expectedLen = expectedParams.length, + actualLen = params.length; + if (actualLen < expectedLen) { + var minParams = expectedLen; + for (i = 0; i < expectedLen; i++) { + var param = expectedParams[i]; + if (param.optional || param.parameterArray) { + minParams--; + } + } + if (actualLen < minParams) { + error = true; + } + } + else if (validateParameterCount && (actualLen > expectedLen)) { + error = true; + for (i = 0; i < expectedLen; i++) { + if (expectedParams[i].parameterArray) { + error = false; + break; + } + } + } + if (error) { + var e = Error.parameterCount(); + e.popStackFrame(); + return e; + } + return null; +} +Function._validateParameter = function Function$_validateParameter(param, expectedParam, paramName) { + var e, + expectedType = expectedParam.type, + expectedInteger = !!expectedParam.integer, + expectedDomElement = !!expectedParam.domElement, + mayBeNull = !!expectedParam.mayBeNull; + e = Function._validateParameterType(param, expectedType, expectedInteger, expectedDomElement, mayBeNull, paramName); + if (e) { + e.popStackFrame(); + return e; + } + var expectedElementType = expectedParam.elementType, + elementMayBeNull = !!expectedParam.elementMayBeNull; + if (expectedType === Array && typeof(param) !== "undefined" && param !== null && + (expectedElementType || !elementMayBeNull)) { + var expectedElementInteger = !!expectedParam.elementInteger, + expectedElementDomElement = !!expectedParam.elementDomElement; + for (var i=0; i < param.length; i++) { + var elem = param[i]; + e = Function._validateParameterType(elem, expectedElementType, + expectedElementInteger, expectedElementDomElement, elementMayBeNull, + paramName + "[" + i + "]"); + if (e) { + e.popStackFrame(); + return e; + } + } + } + return null; +} +Function._validateParameterType = function Function$_validateParameterType(param, expectedType, expectedInteger, expectedDomElement, mayBeNull, paramName) { + var e, i; + if (typeof(param) === "undefined") { + if (mayBeNull) { + return null; + } + else { + e = Error.argumentUndefined(paramName); + e.popStackFrame(); + return e; + } + } + if (param === null) { + if (mayBeNull) { + return null; + } + else { + e = Error.argumentNull(paramName); + e.popStackFrame(); + return e; + } + } + if (expectedType && expectedType.__enum) { + if (typeof(param) !== 'number') { + e = Error.argumentType(paramName, Object.getType(param), expectedType); + e.popStackFrame(); + return e; + } + if ((param % 1) === 0) { + var values = expectedType.prototype; + if (!expectedType.__flags || (param === 0)) { + for (i in values) { + if (values[i] === param) return null; + } + } + else { + var v = param; + for (i in values) { + var vali = values[i]; + if (vali === 0) continue; + if ((vali & param) === vali) { + v -= vali; + } + if (v === 0) return null; + } + } + } + e = Error.argumentOutOfRange(paramName, param, String.format(Sys.Res.enumInvalidValue, param, expectedType.getName())); + e.popStackFrame(); + return e; + } + if (expectedDomElement && (!Sys._isDomElement(param) || (param.nodeType === 3))) { + e = Error.argument(paramName, Sys.Res.argumentDomElement); + e.popStackFrame(); + return e; + } + if (expectedType && !Sys._isInstanceOfType(expectedType, param)) { + e = Error.argumentType(paramName, Object.getType(param), expectedType); + e.popStackFrame(); + return e; + } + if (expectedType === Number && expectedInteger) { + if ((param % 1) !== 0) { + e = Error.argumentOutOfRange(paramName, param, Sys.Res.argumentInteger); + e.popStackFrame(); + return e; + } + } + return null; +} + +Error.__typeName = 'Error'; +Error.__class = true; +Error.create = function Error$create(message, errorInfo) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "message", type: String, mayBeNull: true, optional: true}, + {name: "errorInfo", mayBeNull: true, optional: true} + ]); + if (e) throw e; + var err = new Error(message); + err.message = message; + if (errorInfo) { + for (var v in errorInfo) { + err[v] = errorInfo[v]; + } + } + err.popStackFrame(); + return err; +} +Error.argument = function Error$argument(paramName, message) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "paramName", type: String, mayBeNull: true, optional: true}, + {name: "message", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var displayMessage = "Sys.ArgumentException: " + (message ? message : Sys.Res.argument); + if (paramName) { + displayMessage += "\n" + String.format(Sys.Res.paramName, paramName); + } + var err = Error.create(displayMessage, { name: "Sys.ArgumentException", paramName: paramName }); + err.popStackFrame(); + return err; +} +Error.argumentNull = function Error$argumentNull(paramName, message) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "paramName", type: String, mayBeNull: true, optional: true}, + {name: "message", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var displayMessage = "Sys.ArgumentNullException: " + (message ? message : Sys.Res.argumentNull); + if (paramName) { + displayMessage += "\n" + String.format(Sys.Res.paramName, paramName); + } + var err = Error.create(displayMessage, { name: "Sys.ArgumentNullException", paramName: paramName }); + err.popStackFrame(); + return err; +} +Error.argumentOutOfRange = function Error$argumentOutOfRange(paramName, actualValue, message) { + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "paramName", type: String, mayBeNull: true, optional: true}, + {name: "actualValue", mayBeNull: true, optional: true}, + {name: "message", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var displayMessage = "Sys.ArgumentOutOfRangeException: " + (message ? message : Sys.Res.argumentOutOfRange); + if (paramName) { + displayMessage += "\n" + String.format(Sys.Res.paramName, paramName); + } + if (typeof(actualValue) !== "undefined" && actualValue !== null) { + displayMessage += "\n" + String.format(Sys.Res.actualValue, actualValue); + } + var err = Error.create(displayMessage, { + name: "Sys.ArgumentOutOfRangeException", + paramName: paramName, + actualValue: actualValue + }); + err.popStackFrame(); + return err; +} +Error.argumentType = function Error$argumentType(paramName, actualType, expectedType, message) { + /// + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "paramName", type: String, mayBeNull: true, optional: true}, + {name: "actualType", type: Type, mayBeNull: true, optional: true}, + {name: "expectedType", type: Type, mayBeNull: true, optional: true}, + {name: "message", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var displayMessage = "Sys.ArgumentTypeException: "; + if (message) { + displayMessage += message; + } + else if (actualType && expectedType) { + displayMessage += + String.format(Sys.Res.argumentTypeWithTypes, actualType.getName(), expectedType.getName()); + } + else { + displayMessage += Sys.Res.argumentType; + } + if (paramName) { + displayMessage += "\n" + String.format(Sys.Res.paramName, paramName); + } + var err = Error.create(displayMessage, { + name: "Sys.ArgumentTypeException", + paramName: paramName, + actualType: actualType, + expectedType: expectedType + }); + err.popStackFrame(); + return err; +} +Error.argumentUndefined = function Error$argumentUndefined(paramName, message) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "paramName", type: String, mayBeNull: true, optional: true}, + {name: "message", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var displayMessage = "Sys.ArgumentUndefinedException: " + (message ? message : Sys.Res.argumentUndefined); + if (paramName) { + displayMessage += "\n" + String.format(Sys.Res.paramName, paramName); + } + var err = Error.create(displayMessage, { name: "Sys.ArgumentUndefinedException", paramName: paramName }); + err.popStackFrame(); + return err; +} +Error.format = function Error$format(message) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "message", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var displayMessage = "Sys.FormatException: " + (message ? message : Sys.Res.format); + var err = Error.create(displayMessage, {name: 'Sys.FormatException'}); + err.popStackFrame(); + return err; +} +Error.invalidOperation = function Error$invalidOperation(message) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "message", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var displayMessage = "Sys.InvalidOperationException: " + (message ? message : Sys.Res.invalidOperation); + var err = Error.create(displayMessage, {name: 'Sys.InvalidOperationException'}); + err.popStackFrame(); + return err; +} +Error.notImplemented = function Error$notImplemented(message) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "message", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var displayMessage = "Sys.NotImplementedException: " + (message ? message : Sys.Res.notImplemented); + var err = Error.create(displayMessage, {name: 'Sys.NotImplementedException'}); + err.popStackFrame(); + return err; +} +Error.parameterCount = function Error$parameterCount(message) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "message", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var displayMessage = "Sys.ParameterCountException: " + (message ? message : Sys.Res.parameterCount); + var err = Error.create(displayMessage, {name: 'Sys.ParameterCountException'}); + err.popStackFrame(); + return err; +} +Error.prototype.popStackFrame = function Error$popStackFrame() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (typeof(this.stack) === "undefined" || this.stack === null || + typeof(this.fileName) === "undefined" || this.fileName === null || + typeof(this.lineNumber) === "undefined" || this.lineNumber === null) { + return; + } + var stackFrames = this.stack.split("\n"); + var currentFrame = stackFrames[0]; + var pattern = this.fileName + ":" + this.lineNumber; + while(typeof(currentFrame) !== "undefined" && + currentFrame !== null && + currentFrame.indexOf(pattern) === -1) { + stackFrames.shift(); + currentFrame = stackFrames[0]; + } + var nextFrame = stackFrames[1]; + if (typeof(nextFrame) === "undefined" || nextFrame === null) { + return; + } + var nextFrameParts = nextFrame.match(/@(.*):(\d+)$/); + if (typeof(nextFrameParts) === "undefined" || nextFrameParts === null) { + return; + } + this.fileName = nextFrameParts[1]; + this.lineNumber = parseInt(nextFrameParts[2]); + stackFrames.shift(); + this.stack = stackFrames.join("\n"); +} + +Object.__typeName = 'Object'; +Object.__class = true; +Object.getType = function Object$getType(instance) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "instance"} + ]); + if (e) throw e; + var ctor = instance.constructor; + if (!ctor || (typeof(ctor) !== "function") || !ctor.__typeName || (ctor.__typeName === 'Object')) { + return Object; + } + return ctor; +} +Object.getTypeName = function Object$getTypeName(instance) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "instance"} + ]); + if (e) throw e; + return Object.getType(instance).getName(); +} + +String.__typeName = 'String'; +String.__class = true; +String.prototype.endsWith = function String$endsWith(suffix) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "suffix", type: String} + ]); + if (e) throw e; + return (this.substr(this.length - suffix.length) === suffix); +} +String.prototype.startsWith = function String$startsWith(prefix) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "prefix", type: String} + ]); + if (e) throw e; + return (this.substr(0, prefix.length) === prefix); +} +String.prototype.trim = function String$trim() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this.replace(/^\s+|\s+$/g, ''); +} +String.prototype.trimEnd = function String$trimEnd() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this.replace(/\s+$/, ''); +} +String.prototype.trimStart = function String$trimStart() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this.replace(/^\s+/, ''); +} +String.format = function String$format(format, args) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "format", type: String}, + {name: "args", mayBeNull: true, parameterArray: true} + ]); + if (e) throw e; + return String._toFormattedString(false, arguments); +} +String._toFormattedString = function String$_toFormattedString(useLocale, args) { + var result = ''; + var format = args[0]; + for (var i=0;;) { + var open = format.indexOf('{', i); + var close = format.indexOf('}', i); + if ((open < 0) && (close < 0)) { + result += format.slice(i); + break; + } + if ((close > 0) && ((close < open) || (open < 0))) { + if (format.charAt(close + 1) !== '}') { + throw Error.argument('format', Sys.Res.stringFormatBraceMismatch); + } + result += format.slice(i, close + 1); + i = close + 2; + continue; + } + result += format.slice(i, open); + i = open + 1; + if (format.charAt(i) === '{') { + result += '{'; + i++; + continue; + } + if (close < 0) throw Error.argument('format', Sys.Res.stringFormatBraceMismatch); + var brace = format.substring(i, close); + var colonIndex = brace.indexOf(':'); + var argNumber = parseInt((colonIndex < 0)? brace : brace.substring(0, colonIndex), 10) + 1; + if (isNaN(argNumber)) throw Error.argument('format', Sys.Res.stringFormatInvalid); + var argFormat = (colonIndex < 0)? '' : brace.substring(colonIndex + 1); + var arg = args[argNumber]; + if (typeof(arg) === "undefined" || arg === null) { + arg = ''; + } + if (arg.toFormattedString) { + result += arg.toFormattedString(argFormat); + } + else if (useLocale && arg.localeFormat) { + result += arg.localeFormat(argFormat); + } + else if (arg.format) { + result += arg.format(argFormat); + } + else + result += arg.toString(); + i = close + 1; + } + return result; +} + +Boolean.__typeName = 'Boolean'; +Boolean.__class = true; +Boolean.parse = function Boolean$parse(value) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "value", type: String} + ], false); + if (e) throw e; + var v = value.trim().toLowerCase(); + if (v === 'false') return false; + if (v === 'true') return true; + throw Error.argumentOutOfRange('value', value, Sys.Res.boolTrueOrFalse); +} + +Date.__typeName = 'Date'; +Date.__class = true; + +Number.__typeName = 'Number'; +Number.__class = true; + +RegExp.__typeName = 'RegExp'; +RegExp.__class = true; + +if (!window) this.window = this; +window.Type = Function; +Type.__fullyQualifiedIdentifierRegExp = new RegExp("^[^.0-9 \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]([^ \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*[^. \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\])?$", "i"); +Type.__identifierRegExp = new RegExp("^[^.0-9 \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\][^. \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*$", "i"); +Type.prototype.callBaseMethod = function Type$callBaseMethod(instance, name, baseArguments) { + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "instance"}, + {name: "name", type: String}, + {name: "baseArguments", type: Array, mayBeNull: true, optional: true, elementMayBeNull: true} + ]); + if (e) throw e; + var baseMethod = Sys._getBaseMethod(this, instance, name); + if (!baseMethod) throw Error.invalidOperation(String.format(Sys.Res.methodNotFound, name)); + if (!baseArguments) { + return baseMethod.apply(instance); + } + else { + return baseMethod.apply(instance, baseArguments); + } +} +Type.prototype.getBaseMethod = function Type$getBaseMethod(instance, name) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "instance"}, + {name: "name", type: String} + ]); + if (e) throw e; + return Sys._getBaseMethod(this, instance, name); +} +Type.prototype.getBaseType = function Type$getBaseType() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return (typeof(this.__baseType) === "undefined") ? null : this.__baseType; +} +Type.prototype.getInterfaces = function Type$getInterfaces() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + var result = []; + var type = this; + while(type) { + var interfaces = type.__interfaces; + if (interfaces) { + for (var i = 0, l = interfaces.length; i < l; i++) { + var interfaceType = interfaces[i]; + if (!Array.contains(result, interfaceType)) { + result[result.length] = interfaceType; + } + } + } + type = type.__baseType; + } + return result; +} +Type.prototype.getName = function Type$getName() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return (typeof(this.__typeName) === "undefined") ? "" : this.__typeName; +} +Type.prototype.implementsInterface = function Type$implementsInterface(interfaceType) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "interfaceType", type: Type} + ]); + if (e) throw e; + this.resolveInheritance(); + var interfaceName = interfaceType.getName(); + var cache = this.__interfaceCache; + if (cache) { + var cacheEntry = cache[interfaceName]; + if (typeof(cacheEntry) !== 'undefined') return cacheEntry; + } + else { + cache = this.__interfaceCache = {}; + } + var baseType = this; + while (baseType) { + var interfaces = baseType.__interfaces; + if (interfaces) { + if (Array.indexOf(interfaces, interfaceType) !== -1) { + return cache[interfaceName] = true; + } + } + baseType = baseType.__baseType; + } + return cache[interfaceName] = false; +} +Type.prototype.inheritsFrom = function Type$inheritsFrom(parentType) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "parentType", type: Type} + ]); + if (e) throw e; + this.resolveInheritance(); + var baseType = this.__baseType; + while (baseType) { + if (baseType === parentType) { + return true; + } + baseType = baseType.__baseType; + } + return false; +} +Type.prototype.initializeBase = function Type$initializeBase(instance, baseArguments) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "instance"}, + {name: "baseArguments", type: Array, mayBeNull: true, optional: true, elementMayBeNull: true} + ]); + if (e) throw e; + if (!Sys._isInstanceOfType(this, instance)) throw Error.argumentType('instance', Object.getType(instance), this); + this.resolveInheritance(); + if (this.__baseType) { + if (!baseArguments) { + this.__baseType.apply(instance); + } + else { + this.__baseType.apply(instance, baseArguments); + } + } + return instance; +} +Type.prototype.isImplementedBy = function Type$isImplementedBy(instance) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "instance", mayBeNull: true} + ]); + if (e) throw e; + if (typeof(instance) === "undefined" || instance === null) return false; + var instanceType = Object.getType(instance); + return !!(instanceType.implementsInterface && instanceType.implementsInterface(this)); +} +Type.prototype.isInstanceOfType = function Type$isInstanceOfType(instance) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "instance", mayBeNull: true} + ]); + if (e) throw e; + return Sys._isInstanceOfType(this, instance); +} +Type.prototype.registerClass = function Type$registerClass(typeName, baseType, interfaceTypes) { + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "typeName", type: String}, + {name: "baseType", type: Type, mayBeNull: true, optional: true}, + {name: "interfaceTypes", type: Type, parameterArray: true} + ]); + if (e) throw e; + if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw Error.argument('typeName', Sys.Res.notATypeName); + var parsedName; + try { + parsedName = eval(typeName); + } + catch(e) { + throw Error.argument('typeName', Sys.Res.argumentTypeName); + } + if (parsedName !== this) throw Error.argument('typeName', Sys.Res.badTypeName); + if (Sys.__registeredTypes[typeName]) throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, typeName)); + if ((arguments.length > 1) && (typeof(baseType) === 'undefined')) throw Error.argumentUndefined('baseType'); + if (baseType && !baseType.__class) throw Error.argument('baseType', Sys.Res.baseNotAClass); + this.prototype.constructor = this; + this.__typeName = typeName; + this.__class = true; + if (baseType) { + this.__baseType = baseType; + this.__basePrototypePending = true; + } + Sys.__upperCaseTypes[typeName.toUpperCase()] = this; + if (interfaceTypes) { + this.__interfaces = []; + this.resolveInheritance(); + for (var i = 2, l = arguments.length; i < l; i++) { + var interfaceType = arguments[i]; + if (!interfaceType.__interface) throw Error.argument('interfaceTypes[' + (i - 2) + ']', Sys.Res.notAnInterface); + for (var methodName in interfaceType.prototype) { + var method = interfaceType.prototype[methodName]; + if (!this.prototype[methodName]) { + this.prototype[methodName] = method; + } + } + this.__interfaces.push(interfaceType); + } + } + Sys.__registeredTypes[typeName] = true; + return this; +} +Type.prototype.registerInterface = function Type$registerInterface(typeName) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "typeName", type: String} + ]); + if (e) throw e; + if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw Error.argument('typeName', Sys.Res.notATypeName); + var parsedName; + try { + parsedName = eval(typeName); + } + catch(e) { + throw Error.argument('typeName', Sys.Res.argumentTypeName); + } + if (parsedName !== this) throw Error.argument('typeName', Sys.Res.badTypeName); + if (Sys.__registeredTypes[typeName]) throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, typeName)); + Sys.__upperCaseTypes[typeName.toUpperCase()] = this; + this.prototype.constructor = this; + this.__typeName = typeName; + this.__interface = true; + Sys.__registeredTypes[typeName] = true; + return this; +} +Type.prototype.resolveInheritance = function Type$resolveInheritance() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (this.__basePrototypePending) { + var baseType = this.__baseType; + baseType.resolveInheritance(); + for (var memberName in baseType.prototype) { + var memberValue = baseType.prototype[memberName]; + if (!this.prototype[memberName]) { + this.prototype[memberName] = memberValue; + } + } + delete this.__basePrototypePending; + } +} +Type.getRootNamespaces = function Type$getRootNamespaces() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return Array.clone(Sys.__rootNamespaces); +} +Type.isClass = function Type$isClass(type) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "type", mayBeNull: true} + ]); + if (e) throw e; + if ((typeof(type) === 'undefined') || (type === null)) return false; + return !!type.__class; +} +Type.isInterface = function Type$isInterface(type) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "type", mayBeNull: true} + ]); + if (e) throw e; + if ((typeof(type) === 'undefined') || (type === null)) return false; + return !!type.__interface; +} +Type.isNamespace = function Type$isNamespace(object) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "object", mayBeNull: true} + ]); + if (e) throw e; + if ((typeof(object) === 'undefined') || (object === null)) return false; + return !!object.__namespace; +} +Type.parse = function Type$parse(typeName, ns) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "typeName", type: String, mayBeNull: true}, + {name: "ns", mayBeNull: true, optional: true} + ]); + if (e) throw e; + var fn; + if (ns) { + fn = Sys.__upperCaseTypes[ns.getName().toUpperCase() + '.' + typeName.toUpperCase()]; + return fn || null; + } + if (!typeName) return null; + if (!Type.__htClasses) { + Type.__htClasses = {}; + } + fn = Type.__htClasses[typeName]; + if (!fn) { + fn = eval(typeName); + if (typeof(fn) !== 'function') throw Error.argument('typeName', Sys.Res.notATypeName); + Type.__htClasses[typeName] = fn; + } + return fn; +} +Type.registerNamespace = function Type$registerNamespace(namespacePath) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "namespacePath", type: String} + ]); + if (e) throw e; + Type._registerNamespace(namespacePath); +} +Type._registerNamespace = function Type$_registerNamespace(namespacePath) { + if (!Type.__fullyQualifiedIdentifierRegExp.test(namespacePath)) throw Error.argument('namespacePath', Sys.Res.invalidNameSpace); + var rootObject = window; + var namespaceParts = namespacePath.split('.'); + for (var i = 0; i < namespaceParts.length; i++) { + var currentPart = namespaceParts[i]; + var ns = rootObject[currentPart]; + var nsType = typeof(ns); + if ((nsType !== "undefined") && (ns !== null)) { + if (nsType === "function") { + throw Error.invalidOperation(String.format(Sys.Res.namespaceContainsClass, namespaceParts.splice(0, i + 1).join('.'))); + } + if ((typeof(ns) !== "object") || (ns instanceof Array)) { + throw Error.invalidOperation(String.format(Sys.Res.namespaceContainsNonObject, namespaceParts.splice(0, i + 1).join('.'))); + } + } + if (!ns) { + ns = rootObject[currentPart] = {}; + } + if (!ns.__namespace) { + if ((i === 0) && (namespacePath !== "Sys")) { + Sys.__rootNamespaces[Sys.__rootNamespaces.length] = ns; + } + ns.__namespace = true; + ns.__typeName = namespaceParts.slice(0, i + 1).join('.'); + var parsedName; + try { + parsedName = eval(ns.__typeName); + } + catch(e) { + parsedName = null; + } + if (parsedName !== ns) { + delete rootObject[currentPart]; + throw Error.argument('namespacePath', Sys.Res.invalidNameSpace); + } + ns.getName = function ns$getName() {return this.__typeName;} + } + rootObject = ns; + } +} +Type._checkDependency = function Type$_checkDependency(dependency, featureName) { + var scripts = Type._registerScript._scripts, isDependent = (scripts ? (!!scripts[dependency]) : false); + if ((typeof(featureName) !== 'undefined') && !isDependent) { + throw Error.invalidOperation(String.format(Sys.Res.requiredScriptReferenceNotIncluded, + featureName, dependency)); + } + return isDependent; +} +Type._registerScript = function Type$_registerScript(scriptName, dependencies) { + var scripts = Type._registerScript._scripts; + if (!scripts) { + Type._registerScript._scripts = scripts = {}; + } + if (scripts[scriptName]) { + throw Error.invalidOperation(String.format(Sys.Res.scriptAlreadyLoaded, scriptName)); + } + scripts[scriptName] = true; + if (dependencies) { + for (var i = 0, l = dependencies.length; i < l; i++) { + var dependency = dependencies[i]; + if (!Type._checkDependency(dependency)) { + throw Error.invalidOperation(String.format(Sys.Res.scriptDependencyNotFound, scriptName, dependency)); + } + } + } +} +Type._registerNamespace("Sys"); +Sys.__upperCaseTypes = {}; +Sys.__rootNamespaces = [Sys]; +Sys.__registeredTypes = {}; +Sys._isInstanceOfType = function Sys$_isInstanceOfType(type, instance) { + if (typeof(instance) === "undefined" || instance === null) return false; + if (instance instanceof type) return true; + var instanceType = Object.getType(instance); + return !!(instanceType === type) || + (instanceType.inheritsFrom && instanceType.inheritsFrom(type)) || + (instanceType.implementsInterface && instanceType.implementsInterface(type)); +} +Sys._getBaseMethod = function Sys$_getBaseMethod(type, instance, name) { + if (!Sys._isInstanceOfType(type, instance)) throw Error.argumentType('instance', Object.getType(instance), type); + var baseType = type.getBaseType(); + if (baseType) { + var baseMethod = baseType.prototype[name]; + return (baseMethod instanceof Function) ? baseMethod : null; + } + return null; +} +Sys._isDomElement = function Sys$_isDomElement(obj) { + var val = false; + if (typeof (obj.nodeType) !== 'number') { + var doc = obj.ownerDocument || obj.document || obj; + if (doc != obj) { + var w = doc.defaultView || doc.parentWindow; + val = (w != obj); + } + else { + val = (typeof (doc.body) === 'undefined'); + } + } + return !val; +} + +Array.__typeName = 'Array'; +Array.__class = true; +Array.add = Array.enqueue = function Array$enqueue(array, item) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true}, + {name: "item", mayBeNull: true} + ]); + if (e) throw e; + array[array.length] = item; +} +Array.addRange = function Array$addRange(array, items) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true}, + {name: "items", type: Array, elementMayBeNull: true} + ]); + if (e) throw e; + array.push.apply(array, items); +} +Array.clear = function Array$clear(array) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true} + ]); + if (e) throw e; + array.length = 0; +} +Array.clone = function Array$clone(array) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true} + ]); + if (e) throw e; + if (array.length === 1) { + return [array[0]]; + } + else { + return Array.apply(null, array); + } +} +Array.contains = function Array$contains(array, item) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true}, + {name: "item", mayBeNull: true} + ]); + if (e) throw e; + return (Sys._indexOf(array, item) >= 0); +} +Array.dequeue = function Array$dequeue(array) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true} + ]); + if (e) throw e; + return array.shift(); +} +Array.forEach = function Array$forEach(array, method, instance) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true}, + {name: "method", type: Function}, + {name: "instance", mayBeNull: true, optional: true} + ]); + if (e) throw e; + for (var i = 0, l = array.length; i < l; i++) { + var elt = array[i]; + if (typeof(elt) !== 'undefined') method.call(instance, elt, i, array); + } +} +Array.indexOf = function Array$indexOf(array, item, start) { + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true}, + {name: "item", mayBeNull: true, optional: true}, + {name: "start", mayBeNull: true, optional: true} + ]); + if (e) throw e; + return Sys._indexOf(array, item, start); +} +Array.insert = function Array$insert(array, index, item) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true}, + {name: "index", mayBeNull: true}, + {name: "item", mayBeNull: true} + ]); + if (e) throw e; + array.splice(index, 0, item); +} +Array.parse = function Array$parse(value) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "value", type: String, mayBeNull: true} + ]); + if (e) throw e; + if (!value) return []; + var v = eval(value); + if (!Array.isInstanceOfType(v)) throw Error.argument('value', Sys.Res.arrayParseBadFormat); + return v; +} +Array.remove = function Array$remove(array, item) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true}, + {name: "item", mayBeNull: true} + ]); + if (e) throw e; + var index = Sys._indexOf(array, item); + if (index >= 0) { + array.splice(index, 1); + } + return (index >= 0); +} +Array.removeAt = function Array$removeAt(array, index) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true}, + {name: "index", mayBeNull: true} + ]); + if (e) throw e; + array.splice(index, 1); +} +Sys._indexOf = function Sys$_indexOf(array, item, start) { + if (typeof(item) === "undefined") return -1; + var length = array.length; + if (length !== 0) { + start = start - 0; + if (isNaN(start)) { + start = 0; + } + else { + if (isFinite(start)) { + start = start - (start % 1); + } + if (start < 0) { + start = Math.max(0, length + start); + } + } + for (var i = start; i < length; i++) { + if ((typeof(array[i]) !== "undefined") && (array[i] === item)) { + return i; + } + } + } + return -1; +} +Type._registerScript._scripts = { + "MicrosoftAjaxCore.js": true, + "MicrosoftAjaxGlobalization.js": true, + "MicrosoftAjaxSerialization.js": true, + "MicrosoftAjaxComponentModel.js": true, + "MicrosoftAjaxHistory.js": true, + "MicrosoftAjaxNetwork.js" : true, + "MicrosoftAjaxWebServices.js": true }; + +Sys.IDisposable = function Sys$IDisposable() { + throw Error.notImplemented(); +} + function Sys$IDisposable$dispose() { + throw Error.notImplemented(); + } +Sys.IDisposable.prototype = { + dispose: Sys$IDisposable$dispose +} +Sys.IDisposable.registerInterface('Sys.IDisposable'); + +Sys.StringBuilder = function Sys$StringBuilder(initialText) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "initialText", mayBeNull: true, optional: true} + ]); + if (e) throw e; + this._parts = (typeof(initialText) !== 'undefined' && initialText !== null && initialText !== '') ? + [initialText.toString()] : []; + this._value = {}; + this._len = 0; +} + function Sys$StringBuilder$append(text) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "text", mayBeNull: true} + ]); + if (e) throw e; + this._parts[this._parts.length] = text; + } + function Sys$StringBuilder$appendLine(text) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "text", mayBeNull: true, optional: true} + ]); + if (e) throw e; + this._parts[this._parts.length] = + ((typeof(text) === 'undefined') || (text === null) || (text === '')) ? + '\r\n' : text + '\r\n'; + } + function Sys$StringBuilder$clear() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + this._parts = []; + this._value = {}; + this._len = 0; + } + function Sys$StringBuilder$isEmpty() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (this._parts.length === 0) return true; + return this.toString() === ''; + } + function Sys$StringBuilder$toString(separator) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "separator", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + separator = separator || ''; + var parts = this._parts; + if (this._len !== parts.length) { + this._value = {}; + this._len = parts.length; + } + var val = this._value; + if (typeof(val[separator]) === 'undefined') { + if (separator !== '') { + for (var i = 0; i < parts.length;) { + if ((typeof(parts[i]) === 'undefined') || (parts[i] === '') || (parts[i] === null)) { + parts.splice(i, 1); + } + else { + i++; + } + } + } + val[separator] = this._parts.join(separator); + } + return val[separator]; + } +Sys.StringBuilder.prototype = { + append: Sys$StringBuilder$append, + appendLine: Sys$StringBuilder$appendLine, + clear: Sys$StringBuilder$clear, + isEmpty: Sys$StringBuilder$isEmpty, + toString: Sys$StringBuilder$toString +} +Sys.StringBuilder.registerClass('Sys.StringBuilder'); + +Sys.Browser = {}; +Sys.Browser.InternetExplorer = {}; +Sys.Browser.Firefox = {}; +Sys.Browser.Safari = {}; +Sys.Browser.Opera = {}; +Sys.Browser.agent = null; +Sys.Browser.hasDebuggerStatement = false; +Sys.Browser.name = navigator.appName; +Sys.Browser.version = parseFloat(navigator.appVersion); +Sys.Browser.documentMode = 0; +if (navigator.userAgent.indexOf(' MSIE ') > -1) { + Sys.Browser.agent = Sys.Browser.InternetExplorer; + Sys.Browser.version = parseFloat(navigator.userAgent.match(/MSIE (\d+\.\d+)/)[1]); + if (Sys.Browser.version >= 8) { + if (document.documentMode >= 7) { + Sys.Browser.documentMode = document.documentMode; + } + } + Sys.Browser.hasDebuggerStatement = true; +} +else if (navigator.userAgent.indexOf(' Firefox/') > -1) { + Sys.Browser.agent = Sys.Browser.Firefox; + Sys.Browser.version = parseFloat(navigator.userAgent.match(/ Firefox\/(\d+\.\d+)/)[1]); + Sys.Browser.name = 'Firefox'; + Sys.Browser.hasDebuggerStatement = true; +} +else if (navigator.userAgent.indexOf(' AppleWebKit/') > -1) { + Sys.Browser.agent = Sys.Browser.Safari; + Sys.Browser.version = parseFloat(navigator.userAgent.match(/ AppleWebKit\/(\d+(\.\d+)?)/)[1]); + Sys.Browser.name = 'Safari'; +} +else if (navigator.userAgent.indexOf('Opera/') > -1) { + Sys.Browser.agent = Sys.Browser.Opera; +} + +Sys.EventArgs = function Sys$EventArgs() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); +} +Sys.EventArgs.registerClass('Sys.EventArgs'); +Sys.EventArgs.Empty = new Sys.EventArgs(); + +Sys.CancelEventArgs = function Sys$CancelEventArgs() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + Sys.CancelEventArgs.initializeBase(this); + this._cancel = false; +} + function Sys$CancelEventArgs$get_cancel() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._cancel; + } + function Sys$CancelEventArgs$set_cancel(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]); + if (e) throw e; + this._cancel = value; + } +Sys.CancelEventArgs.prototype = { + get_cancel: Sys$CancelEventArgs$get_cancel, + set_cancel: Sys$CancelEventArgs$set_cancel +} +Sys.CancelEventArgs.registerClass('Sys.CancelEventArgs', Sys.EventArgs); +Type.registerNamespace('Sys.UI'); + +Sys._Debug = function Sys$_Debug() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); +} + function Sys$_Debug$_appendConsole(text) { + if ((typeof(Debug) !== 'undefined') && Debug.writeln) { + Debug.writeln(text); + } + if (window.console && window.console.log) { + window.console.log(text); + } + if (window.opera) { + window.opera.postError(text); + } + if (window.debugService) { + window.debugService.trace(text); + } + } + function Sys$_Debug$_appendTrace(text) { + var traceElement = document.getElementById('TraceConsole'); + if (traceElement && (traceElement.tagName.toUpperCase() === 'TEXTAREA')) { + traceElement.value += text + '\n'; + } + } + function Sys$_Debug$assert(condition, message, displayCaller) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "condition", type: Boolean}, + {name: "message", type: String, mayBeNull: true, optional: true}, + {name: "displayCaller", type: Boolean, optional: true} + ]); + if (e) throw e; + if (!condition) { + message = (displayCaller && this.assert.caller) ? + String.format(Sys.Res.assertFailedCaller, message, this.assert.caller) : + String.format(Sys.Res.assertFailed, message); + if (confirm(String.format(Sys.Res.breakIntoDebugger, message))) { + this.fail(message); + } + } + } + function Sys$_Debug$clearTrace() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + var traceElement = document.getElementById('TraceConsole'); + if (traceElement && (traceElement.tagName.toUpperCase() === 'TEXTAREA')) { + traceElement.value = ''; + } + } + function Sys$_Debug$fail(message) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "message", type: String, mayBeNull: true} + ]); + if (e) throw e; + this._appendConsole(message); + if (Sys.Browser.hasDebuggerStatement) { + eval('debugger'); + } + } + function Sys$_Debug$trace(text) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "text"} + ]); + if (e) throw e; + this._appendConsole(text); + this._appendTrace(text); + } + function Sys$_Debug$traceDump(object, name) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "object", mayBeNull: true}, + {name: "name", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var text = this._traceDump(object, name, true); + } + function Sys$_Debug$_traceDump(object, name, recursive, indentationPadding, loopArray) { + name = name? name : 'traceDump'; + indentationPadding = indentationPadding? indentationPadding : ''; + if (object === null) { + this.trace(indentationPadding + name + ': null'); + return; + } + switch(typeof(object)) { + case 'undefined': + this.trace(indentationPadding + name + ': Undefined'); + break; + case 'number': case 'string': case 'boolean': + this.trace(indentationPadding + name + ': ' + object); + break; + default: + if (Date.isInstanceOfType(object) || RegExp.isInstanceOfType(object)) { + this.trace(indentationPadding + name + ': ' + object.toString()); + break; + } + if (!loopArray) { + loopArray = []; + } + else if (Array.contains(loopArray, object)) { + this.trace(indentationPadding + name + ': ...'); + return; + } + Array.add(loopArray, object); + if ((object == window) || (object === document) || + (window.HTMLElement && (object instanceof HTMLElement)) || + (typeof(object.nodeName) === 'string')) { + var tag = object.tagName? object.tagName : 'DomElement'; + if (object.id) { + tag += ' - ' + object.id; + } + this.trace(indentationPadding + name + ' {' + tag + '}'); + } + else { + var typeName = Object.getTypeName(object); + this.trace(indentationPadding + name + (typeof(typeName) === 'string' ? ' {' + typeName + '}' : '')); + if ((indentationPadding === '') || recursive) { + indentationPadding += " "; + var i, length, properties, p, v; + if (Array.isInstanceOfType(object)) { + length = object.length; + for (i = 0; i < length; i++) { + this._traceDump(object[i], '[' + i + ']', recursive, indentationPadding, loopArray); + } + } + else { + for (p in object) { + v = object[p]; + if (!Function.isInstanceOfType(v)) { + this._traceDump(v, p, recursive, indentationPadding, loopArray); + } + } + } + } + } + Array.remove(loopArray, object); + } + } +Sys._Debug.prototype = { + _appendConsole: Sys$_Debug$_appendConsole, + _appendTrace: Sys$_Debug$_appendTrace, + assert: Sys$_Debug$assert, + clearTrace: Sys$_Debug$clearTrace, + fail: Sys$_Debug$fail, + trace: Sys$_Debug$trace, + traceDump: Sys$_Debug$traceDump, + _traceDump: Sys$_Debug$_traceDump +} +Sys._Debug.registerClass('Sys._Debug'); +Sys.Debug = new Sys._Debug(); + Sys.Debug.isDebug = true; + +function Sys$Enum$parse(value, ignoreCase) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "value", type: String}, + {name: "ignoreCase", type: Boolean, optional: true} + ]); + if (e) throw e; + var values, parsed, val; + if (ignoreCase) { + values = this.__lowerCaseValues; + if (!values) { + this.__lowerCaseValues = values = {}; + var prototype = this.prototype; + for (var name in prototype) { + values[name.toLowerCase()] = prototype[name]; + } + } + } + else { + values = this.prototype; + } + if (!this.__flags) { + val = (ignoreCase ? value.toLowerCase() : value); + parsed = values[val.trim()]; + if (typeof(parsed) !== 'number') throw Error.argument('value', String.format(Sys.Res.enumInvalidValue, value, this.__typeName)); + return parsed; + } + else { + var parts = (ignoreCase ? value.toLowerCase() : value).split(','); + var v = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var part = parts[i].trim(); + parsed = values[part]; + if (typeof(parsed) !== 'number') throw Error.argument('value', String.format(Sys.Res.enumInvalidValue, value.split(',')[i].trim(), this.__typeName)); + v |= parsed; + } + return v; + } +} +function Sys$Enum$toString(value) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "value", mayBeNull: true, optional: true} + ]); + if (e) throw e; + if ((typeof(value) === 'undefined') || (value === null)) return this.__string; + if ((typeof(value) != 'number') || ((value % 1) !== 0)) throw Error.argumentType('value', Object.getType(value), this); + var values = this.prototype; + var i; + if (!this.__flags || (value === 0)) { + for (i in values) { + if (values[i] === value) { + return i; + } + } + } + else { + var sorted = this.__sortedValues; + if (!sorted) { + sorted = []; + for (i in values) { + sorted[sorted.length] = {key: i, value: values[i]}; + } + sorted.sort(function(a, b) { + return a.value - b.value; + }); + this.__sortedValues = sorted; + } + var parts = []; + var v = value; + for (i = sorted.length - 1; i >= 0; i--) { + var kvp = sorted[i]; + var vali = kvp.value; + if (vali === 0) continue; + if ((vali & value) === vali) { + parts[parts.length] = kvp.key; + v -= vali; + if (v === 0) break; + } + } + if (parts.length && v === 0) return parts.reverse().join(', '); + } + throw Error.argumentOutOfRange('value', value, String.format(Sys.Res.enumInvalidValue, value, this.__typeName)); +} +Type.prototype.registerEnum = function Type$registerEnum(name, flags) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "name", type: String}, + {name: "flags", type: Boolean, optional: true} + ]); + if (e) throw e; + if (!Type.__fullyQualifiedIdentifierRegExp.test(name)) throw Error.argument('name', Sys.Res.notATypeName); + var parsedName; + try { + parsedName = eval(name); + } + catch(e) { + throw Error.argument('name', Sys.Res.argumentTypeName); + } + if (parsedName !== this) throw Error.argument('name', Sys.Res.badTypeName); + if (Sys.__registeredTypes[name]) throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, name)); + for (var j in this.prototype) { + var val = this.prototype[j]; + if (!Type.__identifierRegExp.test(j)) throw Error.invalidOperation(String.format(Sys.Res.enumInvalidValueName, j)); + if (typeof(val) !== 'number' || (val % 1) !== 0) throw Error.invalidOperation(Sys.Res.enumValueNotInteger); + if (typeof(this[j]) !== 'undefined') throw Error.invalidOperation(String.format(Sys.Res.enumReservedName, j)); + } + Sys.__upperCaseTypes[name.toUpperCase()] = this; + for (var i in this.prototype) { + this[i] = this.prototype[i]; + } + this.__typeName = name; + this.parse = Sys$Enum$parse; + this.__string = this.toString(); + this.toString = Sys$Enum$toString; + this.__flags = flags; + this.__enum = true; + Sys.__registeredTypes[name] = true; +} +Type.isEnum = function Type$isEnum(type) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "type", mayBeNull: true} + ]); + if (e) throw e; + if ((typeof(type) === 'undefined') || (type === null)) return false; + return !!type.__enum; +} +Type.isFlags = function Type$isFlags(type) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "type", mayBeNull: true} + ]); + if (e) throw e; + if ((typeof(type) === 'undefined') || (type === null)) return false; + return !!type.__flags; +} +Sys.CollectionChange = function Sys$CollectionChange(action, newItems, newStartingIndex, oldItems, oldStartingIndex) { + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "action", type: Sys.NotifyCollectionChangedAction}, + {name: "newItems", mayBeNull: true, optional: true}, + {name: "newStartingIndex", type: Number, mayBeNull: true, integer: true, optional: true}, + {name: "oldItems", mayBeNull: true, optional: true}, + {name: "oldStartingIndex", type: Number, mayBeNull: true, integer: true, optional: true} + ]); + if (e) throw e; + this.action = action; + if (newItems) { + if (!(newItems instanceof Array)) { + newItems = [newItems]; + } + } + this.newItems = newItems || null; + if (typeof newStartingIndex !== "number") { + newStartingIndex = -1; + } + this.newStartingIndex = newStartingIndex; + if (oldItems) { + if (!(oldItems instanceof Array)) { + oldItems = [oldItems]; + } + } + this.oldItems = oldItems || null; + if (typeof oldStartingIndex !== "number") { + oldStartingIndex = -1; + } + this.oldStartingIndex = oldStartingIndex; +} +Sys.CollectionChange.registerClass("Sys.CollectionChange"); +Sys.NotifyCollectionChangedAction = function Sys$NotifyCollectionChangedAction() { + /// + /// + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); +} +Sys.NotifyCollectionChangedAction.prototype = { + add: 0, + remove: 1, + reset: 2 +} +Sys.NotifyCollectionChangedAction.registerEnum('Sys.NotifyCollectionChangedAction'); +Sys.NotifyCollectionChangedEventArgs = function Sys$NotifyCollectionChangedEventArgs(changes) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "changes", type: Array, elementType: Sys.CollectionChange} + ]); + if (e) throw e; + this._changes = changes; + Sys.NotifyCollectionChangedEventArgs.initializeBase(this); +} + function Sys$NotifyCollectionChangedEventArgs$get_changes() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._changes || []; + } +Sys.NotifyCollectionChangedEventArgs.prototype = { + get_changes: Sys$NotifyCollectionChangedEventArgs$get_changes +} +Sys.NotifyCollectionChangedEventArgs.registerClass("Sys.NotifyCollectionChangedEventArgs", Sys.EventArgs); +Sys.Observer = function Sys$Observer() { + throw Error.invalidOperation(); +} +Sys.Observer.registerClass("Sys.Observer"); +Sys.Observer.makeObservable = function Sys$Observer$makeObservable(target) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target"} + ]); + if (e) throw e; + var isArray = target instanceof Array, + o = Sys.Observer; + Sys.Observer._ensureObservable(target); + if (target.setValue === o._observeMethods.setValue) return target; + o._addMethods(target, o._observeMethods); + if (isArray) { + o._addMethods(target, o._arrayMethods); + } + return target; +} +Sys.Observer._ensureObservable = function Sys$Observer$_ensureObservable(target) { + var type = typeof target; + if ((type === "string") || (type === "number") || (type === "boolean") || (type === "date")) { + throw Error.invalidOperation(String.format(Sys.Res.notObservable, type)); + } +} +Sys.Observer._addMethods = function Sys$Observer$_addMethods(target, methods) { + for (var m in methods) { + if (target[m] && (target[m] !== methods[m])) { + throw Error.invalidOperation(String.format(Sys.Res.observableConflict, m)); + } + target[m] = methods[m]; + } +} +Sys.Observer._addEventHandler = function Sys$Observer$_addEventHandler(target, eventName, handler) { + Sys.Observer._getContext(target, true).events._addHandler(eventName, handler); +} +Sys.Observer.addEventHandler = function Sys$Observer$addEventHandler(target, eventName, handler) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target"}, + {name: "eventName", type: String}, + {name: "handler", type: Function} + ]); + if (e) throw e; + Sys.Observer._ensureObservable(target); + Sys.Observer._addEventHandler(target, eventName, handler); +} +Sys.Observer._removeEventHandler = function Sys$Observer$_removeEventHandler(target, eventName, handler) { + Sys.Observer._getContext(target, true).events._removeHandler(eventName, handler); +} +Sys.Observer.removeEventHandler = function Sys$Observer$removeEventHandler(target, eventName, handler) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target"}, + {name: "eventName", type: String}, + {name: "handler", type: Function} + ]); + if (e) throw e; + Sys.Observer._ensureObservable(target); + Sys.Observer._removeEventHandler(target, eventName, handler); +} +Sys.Observer.raiseEvent = function Sys$Observer$raiseEvent(target, eventName, eventArgs) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target"}, + {name: "eventName", type: String}, + {name: "eventArgs", type: Sys.EventArgs} + ]); + if (e) throw e; + Sys.Observer._ensureObservable(target); + var ctx = Sys.Observer._getContext(target); + if (!ctx) return; + var handler = ctx.events.getHandler(eventName); + if (handler) { + handler(target, eventArgs); + } +} +Sys.Observer.addPropertyChanged = function Sys$Observer$addPropertyChanged(target, handler) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target"}, + {name: "handler", type: Function} + ]); + if (e) throw e; + Sys.Observer._ensureObservable(target); + Sys.Observer._addEventHandler(target, "propertyChanged", handler); +} +Sys.Observer.removePropertyChanged = function Sys$Observer$removePropertyChanged(target, handler) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target"}, + {name: "handler", type: Function} + ]); + if (e) throw e; + Sys.Observer._ensureObservable(target); + Sys.Observer._removeEventHandler(target, "propertyChanged", handler); +} +Sys.Observer.beginUpdate = function Sys$Observer$beginUpdate(target) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target"} + ]); + if (e) throw e; + Sys.Observer._ensureObservable(target); + Sys.Observer._getContext(target, true).updating = true; +} +Sys.Observer.endUpdate = function Sys$Observer$endUpdate(target) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target"} + ]); + if (e) throw e; + Sys.Observer._ensureObservable(target); + var ctx = Sys.Observer._getContext(target); + if (!ctx || !ctx.updating) return; + ctx.updating = false; + var dirty = ctx.dirty; + ctx.dirty = false; + if (dirty) { + if (target instanceof Array) { + var changes = ctx.changes; + ctx.changes = null; + Sys.Observer.raiseCollectionChanged(target, changes); + } + Sys.Observer.raisePropertyChanged(target, ""); + } +} +Sys.Observer.isUpdating = function Sys$Observer$isUpdating(target) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target"} + ]); + if (e) throw e; + Sys.Observer._ensureObservable(target); + var ctx = Sys.Observer._getContext(target); + return ctx ? ctx.updating : false; +} +Sys.Observer._setValue = function Sys$Observer$_setValue(target, propertyName, value) { + var getter, setter, mainTarget = target, path = propertyName.split('.'); + for (var i = 0, l = (path.length - 1); i < l ; i++) { + var name = path[i]; + getter = target["get_" + name]; + if (typeof (getter) === "function") { + target = getter.call(target); + } + else { + target = target[name]; + } + var type = typeof (target); + if ((target === null) || (type === "undefined")) { + throw Error.invalidOperation(String.format(Sys.Res.nullReferenceInPath, propertyName)); + } + } + var currentValue, lastPath = path[l]; + getter = target["get_" + lastPath]; + setter = target["set_" + lastPath]; + if (typeof(getter) === 'function') { + currentValue = getter.call(target); + } + else { + currentValue = target[lastPath]; + } + if (typeof(setter) === 'function') { + setter.call(target, value); + } + else { + target[lastPath] = value; + } + if (currentValue !== value) { + var ctx = Sys.Observer._getContext(mainTarget); + if (ctx && ctx.updating) { + ctx.dirty = true; + return; + }; + Sys.Observer.raisePropertyChanged(mainTarget, path[0]); + } +} +Sys.Observer.setValue = function Sys$Observer$setValue(target, propertyName, value) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target"}, + {name: "propertyName", type: String}, + {name: "value", mayBeNull: true} + ]); + if (e) throw e; + Sys.Observer._ensureObservable(target); + Sys.Observer._setValue(target, propertyName, value); +} +Sys.Observer.raisePropertyChanged = function Sys$Observer$raisePropertyChanged(target, propertyName) { + /// + /// + /// + Sys.Observer.raiseEvent(target, "propertyChanged", new Sys.PropertyChangedEventArgs(propertyName)); +} +Sys.Observer.addCollectionChanged = function Sys$Observer$addCollectionChanged(target, handler) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target", type: Array, elementMayBeNull: true}, + {name: "handler", type: Function} + ]); + if (e) throw e; + Sys.Observer._addEventHandler(target, "collectionChanged", handler); +} +Sys.Observer.removeCollectionChanged = function Sys$Observer$removeCollectionChanged(target, handler) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target", type: Array, elementMayBeNull: true}, + {name: "handler", type: Function} + ]); + if (e) throw e; + Sys.Observer._removeEventHandler(target, "collectionChanged", handler); +} +Sys.Observer._collectionChange = function Sys$Observer$_collectionChange(target, change) { + var ctx = Sys.Observer._getContext(target); + if (ctx && ctx.updating) { + ctx.dirty = true; + var changes = ctx.changes; + if (!changes) { + ctx.changes = changes = [change]; + } + else { + changes.push(change); + } + } + else { + Sys.Observer.raiseCollectionChanged(target, [change]); + Sys.Observer.raisePropertyChanged(target, 'length'); + } +} +Sys.Observer.add = function Sys$Observer$add(target, item) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target", type: Array, elementMayBeNull: true}, + {name: "item", mayBeNull: true} + ]); + if (e) throw e; + var change = new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.add, [item], target.length); + Array.add(target, item); + Sys.Observer._collectionChange(target, change); +} +Sys.Observer.addRange = function Sys$Observer$addRange(target, items) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target", type: Array, elementMayBeNull: true}, + {name: "items", type: Array, elementMayBeNull: true} + ]); + if (e) throw e; + var change = new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.add, items, target.length); + Array.addRange(target, items); + Sys.Observer._collectionChange(target, change); +} +Sys.Observer.clear = function Sys$Observer$clear(target) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target", type: Array, elementMayBeNull: true} + ]); + if (e) throw e; + var oldItems = Array.clone(target); + Array.clear(target); + Sys.Observer._collectionChange(target, new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.reset, null, -1, oldItems, 0)); +} +Sys.Observer.insert = function Sys$Observer$insert(target, index, item) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target", type: Array, elementMayBeNull: true}, + {name: "index", type: Number, integer: true}, + {name: "item", mayBeNull: true} + ]); + if (e) throw e; + Array.insert(target, index, item); + Sys.Observer._collectionChange(target, new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.add, [item], index)); +} +Sys.Observer.remove = function Sys$Observer$remove(target, item) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target", type: Array, elementMayBeNull: true}, + {name: "item", mayBeNull: true} + ]); + if (e) throw e; + var index = Array.indexOf(target, item); + if (index !== -1) { + Array.remove(target, item); + Sys.Observer._collectionChange(target, new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.remove, null, -1, [item], index)); + return true; + } + return false; +} +Sys.Observer.removeAt = function Sys$Observer$removeAt(target, index) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target", type: Array, elementMayBeNull: true}, + {name: "index", type: Number, integer: true} + ]); + if (e) throw e; + if ((index > -1) && (index < target.length)) { + var item = target[index]; + Array.removeAt(target, index); + Sys.Observer._collectionChange(target, new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.remove, null, -1, [item], index)); + } +} +Sys.Observer.raiseCollectionChanged = function Sys$Observer$raiseCollectionChanged(target, changes) { + /// + /// + /// + Sys.Observer.raiseEvent(target, "collectionChanged", new Sys.NotifyCollectionChangedEventArgs(changes)); +} +Sys.Observer._observeMethods = { + add_propertyChanged: function(handler) { + Sys.Observer._addEventHandler(this, "propertyChanged", handler); + }, + remove_propertyChanged: function(handler) { + Sys.Observer._removeEventHandler(this, "propertyChanged", handler); + }, + addEventHandler: function(eventName, handler) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "eventName", type: String}, + {name: "handler", type: Function} + ]); + if (e) throw e; + Sys.Observer._addEventHandler(this, eventName, handler); + }, + removeEventHandler: function(eventName, handler) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "eventName", type: String}, + {name: "handler", type: Function} + ]); + if (e) throw e; + Sys.Observer._removeEventHandler(this, eventName, handler); + }, + get_isUpdating: function() { + /// + /// + return Sys.Observer.isUpdating(this); + }, + beginUpdate: function() { + /// + Sys.Observer.beginUpdate(this); + }, + endUpdate: function() { + /// + Sys.Observer.endUpdate(this); + }, + setValue: function(name, value) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "name", type: String}, + {name: "value", mayBeNull: true} + ]); + if (e) throw e; + Sys.Observer._setValue(this, name, value); + }, + raiseEvent: function(eventName, eventArgs) { + /// + /// + /// + Sys.Observer.raiseEvent(this, eventName, eventArgs); + }, + raisePropertyChanged: function(name) { + /// + /// + Sys.Observer.raiseEvent(this, "propertyChanged", new Sys.PropertyChangedEventArgs(name)); + } +} +Sys.Observer._arrayMethods = { + add_collectionChanged: function(handler) { + Sys.Observer._addEventHandler(this, "collectionChanged", handler); + }, + remove_collectionChanged: function(handler) { + Sys.Observer._removeEventHandler(this, "collectionChanged", handler); + }, + add: function(item) { + /// + /// + Sys.Observer.add(this, item); + }, + addRange: function(items) { + /// + /// + Sys.Observer.addRange(this, items); + }, + clear: function() { + /// + Sys.Observer.clear(this); + }, + insert: function(index, item) { + /// + /// + /// + Sys.Observer.insert(this, index, item); + }, + remove: function(item) { + /// + /// + /// + return Sys.Observer.remove(this, item); + }, + removeAt: function(index) { + /// + /// + Sys.Observer.removeAt(this, index); + }, + raiseCollectionChanged: function(changes) { + /// + /// + Sys.Observer.raiseEvent(this, "collectionChanged", new Sys.NotifyCollectionChangedEventArgs(changes)); + } +} +Sys.Observer._getContext = function Sys$Observer$_getContext(obj, create) { + var ctx = obj._observerContext; + if (ctx) return ctx(); + if (create) { + return (obj._observerContext = Sys.Observer._createContext())(); + } + return null; +} +Sys.Observer._createContext = function Sys$Observer$_createContext() { + var ctx = { + events: new Sys.EventHandlerList() + }; + return function() { + return ctx; + } +} +Date._appendPreOrPostMatch = function Date$_appendPreOrPostMatch(preMatch, strBuilder) { + var quoteCount = 0; + var escaped = false; + for (var i = 0, il = preMatch.length; i < il; i++) { + var c = preMatch.charAt(i); + switch (c) { + case '\'': + if (escaped) strBuilder.append("'"); + else quoteCount++; + escaped = false; + break; + case '\\': + if (escaped) strBuilder.append("\\"); + escaped = !escaped; + break; + default: + strBuilder.append(c); + escaped = false; + break; + } + } + return quoteCount; +} +Date._expandFormat = function Date$_expandFormat(dtf, format) { + if (!format) { + format = "F"; + } + var len = format.length; + if (len === 1) { + switch (format) { + case "d": + return dtf.ShortDatePattern; + case "D": + return dtf.LongDatePattern; + case "t": + return dtf.ShortTimePattern; + case "T": + return dtf.LongTimePattern; + case "f": + return dtf.LongDatePattern + " " + dtf.ShortTimePattern; + case "F": + return dtf.FullDateTimePattern; + case "M": case "m": + return dtf.MonthDayPattern; + case "s": + return dtf.SortableDateTimePattern; + case "Y": case "y": + return dtf.YearMonthPattern; + default: + throw Error.format(Sys.Res.formatInvalidString); + } + } + else if ((len === 2) && (format.charAt(0) === "%")) { + format = format.charAt(1); + } + return format; +} +Date._expandYear = function Date$_expandYear(dtf, year) { + var now = new Date(), + era = Date._getEra(now); + if (year < 100) { + var curr = Date._getEraYear(now, dtf, era); + year += curr - (curr % 100); + if (year > dtf.Calendar.TwoDigitYearMax) { + year -= 100; + } + } + return year; +} +Date._getEra = function Date$_getEra(date, eras) { + if (!eras) return 0; + var start, ticks = date.getTime(); + for (var i = 0, l = eras.length; i < l; i += 4) { + start = eras[i+2]; + if ((start === null) || (ticks >= start)) { + return i; + } + } + return 0; +} +Date._getEraYear = function Date$_getEraYear(date, dtf, era, sortable) { + var year = date.getFullYear(); + if (!sortable && dtf.eras) { + year -= dtf.eras[era + 3]; + } + return year; +} +Date._getParseRegExp = function Date$_getParseRegExp(dtf, format) { + if (!dtf._parseRegExp) { + dtf._parseRegExp = {}; + } + else if (dtf._parseRegExp[format]) { + return dtf._parseRegExp[format]; + } + var expFormat = Date._expandFormat(dtf, format); + expFormat = expFormat.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g, "\\\\$1"); + var regexp = new Sys.StringBuilder("^"); + var groups = []; + var index = 0; + var quoteCount = 0; + var tokenRegExp = Date._getTokenRegExp(); + var match; + while ((match = tokenRegExp.exec(expFormat)) !== null) { + var preMatch = expFormat.slice(index, match.index); + index = tokenRegExp.lastIndex; + quoteCount += Date._appendPreOrPostMatch(preMatch, regexp); + if ((quoteCount%2) === 1) { + regexp.append(match[0]); + continue; + } + switch (match[0]) { + case 'dddd': case 'ddd': + case 'MMMM': case 'MMM': + case 'gg': case 'g': + regexp.append("(\\D+)"); + break; + case 'tt': case 't': + regexp.append("(\\D*)"); + break; + case 'yyyy': + regexp.append("(\\d{4})"); + break; + case 'fff': + regexp.append("(\\d{3})"); + break; + case 'ff': + regexp.append("(\\d{2})"); + break; + case 'f': + regexp.append("(\\d)"); + break; + case 'dd': case 'd': + case 'MM': case 'M': + case 'yy': case 'y': + case 'HH': case 'H': + case 'hh': case 'h': + case 'mm': case 'm': + case 'ss': case 's': + regexp.append("(\\d\\d?)"); + break; + case 'zzz': + regexp.append("([+-]?\\d\\d?:\\d{2})"); + break; + case 'zz': case 'z': + regexp.append("([+-]?\\d\\d?)"); + break; + case '/': + regexp.append("(\\" + dtf.DateSeparator + ")"); + break; + default: + Sys.Debug.fail("Invalid date format pattern"); + } + Array.add(groups, match[0]); + } + Date._appendPreOrPostMatch(expFormat.slice(index), regexp); + regexp.append("$"); + var regexpStr = regexp.toString().replace(/\s+/g, "\\s+"); + var parseRegExp = {'regExp': regexpStr, 'groups': groups}; + dtf._parseRegExp[format] = parseRegExp; + return parseRegExp; +} +Date._getTokenRegExp = function Date$_getTokenRegExp() { + return /\/|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z|gg|g/g; +} +Date.parseLocale = function Date$parseLocale(value, formats) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "value", type: String}, + {name: "formats", mayBeNull: true, optional: true, parameterArray: true} + ]); + if (e) throw e; + return Date._parse(value, Sys.CultureInfo.CurrentCulture, arguments); +} +Date.parseInvariant = function Date$parseInvariant(value, formats) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "value", type: String}, + {name: "formats", mayBeNull: true, optional: true, parameterArray: true} + ]); + if (e) throw e; + return Date._parse(value, Sys.CultureInfo.InvariantCulture, arguments); +} +Date._parse = function Date$_parse(value, cultureInfo, args) { + var i, l, date, format, formats, custom = false; + for (i = 1, l = args.length; i < l; i++) { + format = args[i]; + if (format) { + custom = true; + date = Date._parseExact(value, format, cultureInfo); + if (date) return date; + } + } + if (! custom) { + formats = cultureInfo._getDateTimeFormats(); + for (i = 0, l = formats.length; i < l; i++) { + date = Date._parseExact(value, formats[i], cultureInfo); + if (date) return date; + } + } + return null; +} +Date._parseExact = function Date$_parseExact(value, format, cultureInfo) { + value = value.trim(); + var dtf = cultureInfo.dateTimeFormat, + parseInfo = Date._getParseRegExp(dtf, format), + match = new RegExp(parseInfo.regExp).exec(value); + if (match === null) return null; + + var groups = parseInfo.groups, + era = null, year = null, month = null, date = null, weekDay = null, + hour = 0, hourOffset, min = 0, sec = 0, msec = 0, tzMinOffset = null, + pmHour = false; + for (var j = 0, jl = groups.length; j < jl; j++) { + var matchGroup = match[j+1]; + if (matchGroup) { + switch (groups[j]) { + case 'dd': case 'd': + date = parseInt(matchGroup, 10); + if ((date < 1) || (date > 31)) return null; + break; + case 'MMMM': + month = cultureInfo._getMonthIndex(matchGroup); + if ((month < 0) || (month > 11)) return null; + break; + case 'MMM': + month = cultureInfo._getAbbrMonthIndex(matchGroup); + if ((month < 0) || (month > 11)) return null; + break; + case 'M': case 'MM': + month = parseInt(matchGroup, 10) - 1; + if ((month < 0) || (month > 11)) return null; + break; + case 'y': case 'yy': + year = Date._expandYear(dtf,parseInt(matchGroup, 10)); + if ((year < 0) || (year > 9999)) return null; + break; + case 'yyyy': + year = parseInt(matchGroup, 10); + if ((year < 0) || (year > 9999)) return null; + break; + case 'h': case 'hh': + hour = parseInt(matchGroup, 10); + if (hour === 12) hour = 0; + if ((hour < 0) || (hour > 11)) return null; + break; + case 'H': case 'HH': + hour = parseInt(matchGroup, 10); + if ((hour < 0) || (hour > 23)) return null; + break; + case 'm': case 'mm': + min = parseInt(matchGroup, 10); + if ((min < 0) || (min > 59)) return null; + break; + case 's': case 'ss': + sec = parseInt(matchGroup, 10); + if ((sec < 0) || (sec > 59)) return null; + break; + case 'tt': case 't': + var upperToken = matchGroup.toUpperCase(); + pmHour = (upperToken === dtf.PMDesignator.toUpperCase()); + if (!pmHour && (upperToken !== dtf.AMDesignator.toUpperCase())) return null; + break; + case 'f': + msec = parseInt(matchGroup, 10) * 100; + if ((msec < 0) || (msec > 999)) return null; + break; + case 'ff': + msec = parseInt(matchGroup, 10) * 10; + if ((msec < 0) || (msec > 999)) return null; + break; + case 'fff': + msec = parseInt(matchGroup, 10); + if ((msec < 0) || (msec > 999)) return null; + break; + case 'dddd': + weekDay = cultureInfo._getDayIndex(matchGroup); + if ((weekDay < 0) || (weekDay > 6)) return null; + break; + case 'ddd': + weekDay = cultureInfo._getAbbrDayIndex(matchGroup); + if ((weekDay < 0) || (weekDay > 6)) return null; + break; + case 'zzz': + var offsets = matchGroup.split(/:/); + if (offsets.length !== 2) return null; + hourOffset = parseInt(offsets[0], 10); + if ((hourOffset < -12) || (hourOffset > 13)) return null; + var minOffset = parseInt(offsets[1], 10); + if ((minOffset < 0) || (minOffset > 59)) return null; + tzMinOffset = (hourOffset * 60) + (matchGroup.startsWith('-')? -minOffset : minOffset); + break; + case 'z': case 'zz': + hourOffset = parseInt(matchGroup, 10); + if ((hourOffset < -12) || (hourOffset > 13)) return null; + tzMinOffset = hourOffset * 60; + break; + case 'g': case 'gg': + var eraName = matchGroup; + if (!eraName || !dtf.eras) return null; + eraName = eraName.toLowerCase().trim(); + for (var i = 0, l = dtf.eras.length; i < l; i += 4) { + if (eraName === dtf.eras[i + 1].toLowerCase()) { + era = i; + break; + } + } + if (era === null) return null; + break; + } + } + } + var result = new Date(), defaults, convert = dtf.Calendar.convert; + if (convert) { + defaults = convert.fromGregorian(result); + } + if (!convert) { + defaults = [result.getFullYear(), result.getMonth(), result.getDate()]; + } + if (year === null) { + year = defaults[0]; + } + else if (dtf.eras) { + year += dtf.eras[(era || 0) + 3]; + } + if (month === null) { + month = defaults[1]; + } + if (date === null) { + date = defaults[2]; + } + if (convert) { + result = convert.toGregorian(year, month, date); + if (result === null) return null; + } + else { + result.setFullYear(year, month, date); + if (result.getDate() !== date) return null; + if ((weekDay !== null) && (result.getDay() !== weekDay)) { + return null; + } + } + if (pmHour && (hour < 12)) { + hour += 12; + } + result.setHours(hour, min, sec, msec); + if (tzMinOffset !== null) { + var adjustedMin = result.getMinutes() - (tzMinOffset + result.getTimezoneOffset()); + result.setHours(result.getHours() + parseInt(adjustedMin/60, 10), adjustedMin%60); + } + return result; +} +Date.prototype.format = function Date$format(format) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "format", type: String} + ]); + if (e) throw e; + return this._toFormattedString(format, Sys.CultureInfo.InvariantCulture); +} +Date.prototype.localeFormat = function Date$localeFormat(format) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "format", type: String} + ]); + if (e) throw e; + return this._toFormattedString(format, Sys.CultureInfo.CurrentCulture); +} +Date.prototype._toFormattedString = function Date$_toFormattedString(format, cultureInfo) { + var dtf = cultureInfo.dateTimeFormat, + convert = dtf.Calendar.convert; + if (!format || !format.length || (format === 'i')) { + if (cultureInfo && cultureInfo.name.length) { + if (convert) { + return this._toFormattedString(dtf.FullDateTimePattern, cultureInfo); + } + else { + var eraDate = new Date(this.getTime()); + var era = Date._getEra(this, dtf.eras); + eraDate.setFullYear(Date._getEraYear(this, dtf, era)); + return eraDate.toLocaleString(); + } + } + else { + return this.toString(); + } + } + var eras = dtf.eras, + sortable = (format === "s"); + format = Date._expandFormat(dtf, format); + var ret = new Sys.StringBuilder(); + var hour; + function addLeadingZero(num) { + if (num < 10) { + return '0' + num; + } + return num.toString(); + } + function addLeadingZeros(num) { + if (num < 10) { + return '00' + num; + } + if (num < 100) { + return '0' + num; + } + return num.toString(); + } + function padYear(year) { + if (year < 10) { + return '000' + year; + } + else if (year < 100) { + return '00' + year; + } + else if (year < 1000) { + return '0' + year; + } + return year.toString(); + } + + var foundDay, checkedDay, dayPartRegExp = /([^d]|^)(d|dd)([^d]|$)/g; + function hasDay() { + if (foundDay || checkedDay) { + return foundDay; + } + foundDay = dayPartRegExp.test(format); + checkedDay = true; + return foundDay; + } + + var quoteCount = 0, + tokenRegExp = Date._getTokenRegExp(), + converted; + if (!sortable && convert) { + converted = convert.fromGregorian(this); + } + for (;;) { + var index = tokenRegExp.lastIndex; + var ar = tokenRegExp.exec(format); + var preMatch = format.slice(index, ar ? ar.index : format.length); + quoteCount += Date._appendPreOrPostMatch(preMatch, ret); + if (!ar) break; + if ((quoteCount%2) === 1) { + ret.append(ar[0]); + continue; + } + + function getPart(date, part) { + if (converted) { + return converted[part]; + } + switch (part) { + case 0: return date.getFullYear(); + case 1: return date.getMonth(); + case 2: return date.getDate(); + } + } + switch (ar[0]) { + case "dddd": + ret.append(dtf.DayNames[this.getDay()]); + break; + case "ddd": + ret.append(dtf.AbbreviatedDayNames[this.getDay()]); + break; + case "dd": + foundDay = true; + ret.append(addLeadingZero(getPart(this, 2))); + break; + case "d": + foundDay = true; + ret.append(getPart(this, 2)); + break; + case "MMMM": + ret.append((dtf.MonthGenitiveNames && hasDay()) + ? dtf.MonthGenitiveNames[getPart(this, 1)] + : dtf.MonthNames[getPart(this, 1)]); + break; + case "MMM": + ret.append((dtf.AbbreviatedMonthGenitiveNames && hasDay()) + ? dtf.AbbreviatedMonthGenitiveNames[getPart(this, 1)] + : dtf.AbbreviatedMonthNames[getPart(this, 1)]); + break; + case "MM": + ret.append(addLeadingZero(getPart(this, 1) + 1)); + break; + case "M": + ret.append(getPart(this, 1) + 1); + break; + case "yyyy": + ret.append(padYear(converted ? converted[0] : Date._getEraYear(this, dtf, Date._getEra(this, eras), sortable))); + break; + case "yy": + ret.append(addLeadingZero((converted ? converted[0] : Date._getEraYear(this, dtf, Date._getEra(this, eras), sortable)) % 100)); + break; + case "y": + ret.append((converted ? converted[0] : Date._getEraYear(this, dtf, Date._getEra(this, eras), sortable)) % 100); + break; + case "hh": + hour = this.getHours() % 12; + if (hour === 0) hour = 12; + ret.append(addLeadingZero(hour)); + break; + case "h": + hour = this.getHours() % 12; + if (hour === 0) hour = 12; + ret.append(hour); + break; + case "HH": + ret.append(addLeadingZero(this.getHours())); + break; + case "H": + ret.append(this.getHours()); + break; + case "mm": + ret.append(addLeadingZero(this.getMinutes())); + break; + case "m": + ret.append(this.getMinutes()); + break; + case "ss": + ret.append(addLeadingZero(this.getSeconds())); + break; + case "s": + ret.append(this.getSeconds()); + break; + case "tt": + ret.append((this.getHours() < 12) ? dtf.AMDesignator : dtf.PMDesignator); + break; + case "t": + ret.append(((this.getHours() < 12) ? dtf.AMDesignator : dtf.PMDesignator).charAt(0)); + break; + case "f": + ret.append(addLeadingZeros(this.getMilliseconds()).charAt(0)); + break; + case "ff": + ret.append(addLeadingZeros(this.getMilliseconds()).substr(0, 2)); + break; + case "fff": + ret.append(addLeadingZeros(this.getMilliseconds())); + break; + case "z": + hour = this.getTimezoneOffset() / 60; + ret.append(((hour <= 0) ? '+' : '-') + Math.floor(Math.abs(hour))); + break; + case "zz": + hour = this.getTimezoneOffset() / 60; + ret.append(((hour <= 0) ? '+' : '-') + addLeadingZero(Math.floor(Math.abs(hour)))); + break; + case "zzz": + hour = this.getTimezoneOffset() / 60; + ret.append(((hour <= 0) ? '+' : '-') + addLeadingZero(Math.floor(Math.abs(hour))) + + ":" + addLeadingZero(Math.abs(this.getTimezoneOffset() % 60))); + break; + case "g": + case "gg": + if (dtf.eras) { + ret.append(dtf.eras[Date._getEra(this, eras) + 1]); + } + break; + case "/": + ret.append(dtf.DateSeparator); + break; + default: + Sys.Debug.fail("Invalid date format pattern"); + } + } + return ret.toString(); +} +String.localeFormat = function String$localeFormat(format, args) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "format", type: String}, + {name: "args", mayBeNull: true, parameterArray: true} + ]); + if (e) throw e; + return String._toFormattedString(true, arguments); +} +Number.parseLocale = function Number$parseLocale(value) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "value", type: String} + ], false); + if (e) throw e; + return Number._parse(value, Sys.CultureInfo.CurrentCulture); +} +Number.parseInvariant = function Number$parseInvariant(value) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "value", type: String} + ], false); + if (e) throw e; + return Number._parse(value, Sys.CultureInfo.InvariantCulture); +} +Number._parse = function Number$_parse(value, cultureInfo) { + value = value.trim(); + + if (value.match(/^[+-]?infinity$/i)) { + return parseFloat(value); + } + if (value.match(/^0x[a-f0-9]+$/i)) { + return parseInt(value); + } + var numFormat = cultureInfo.numberFormat; + var signInfo = Number._parseNumberNegativePattern(value, numFormat, numFormat.NumberNegativePattern); + var sign = signInfo[0]; + var num = signInfo[1]; + + if ((sign === '') && (numFormat.NumberNegativePattern !== 1)) { + signInfo = Number._parseNumberNegativePattern(value, numFormat, 1); + sign = signInfo[0]; + num = signInfo[1]; + } + if (sign === '') sign = '+'; + + var exponent; + var intAndFraction; + var exponentPos = num.indexOf('e'); + if (exponentPos < 0) exponentPos = num.indexOf('E'); + if (exponentPos < 0) { + intAndFraction = num; + exponent = null; + } + else { + intAndFraction = num.substr(0, exponentPos); + exponent = num.substr(exponentPos + 1); + } + + var integer; + var fraction; + var decimalPos = intAndFraction.indexOf(numFormat.NumberDecimalSeparator); + if (decimalPos < 0) { + integer = intAndFraction; + fraction = null; + } + else { + integer = intAndFraction.substr(0, decimalPos); + fraction = intAndFraction.substr(decimalPos + numFormat.NumberDecimalSeparator.length); + } + + integer = integer.split(numFormat.NumberGroupSeparator).join(''); + var altNumGroupSeparator = numFormat.NumberGroupSeparator.replace(/\u00A0/g, " "); + if (numFormat.NumberGroupSeparator !== altNumGroupSeparator) { + integer = integer.split(altNumGroupSeparator).join(''); + } + + var p = sign + integer; + if (fraction !== null) { + p += '.' + fraction; + } + if (exponent !== null) { + var expSignInfo = Number._parseNumberNegativePattern(exponent, numFormat, 1); + if (expSignInfo[0] === '') { + expSignInfo[0] = '+'; + } + p += 'e' + expSignInfo[0] + expSignInfo[1]; + } + if (p.match(/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/)) { + return parseFloat(p); + } + return Number.NaN; +} +Number._parseNumberNegativePattern = function Number$_parseNumberNegativePattern(value, numFormat, numberNegativePattern) { + var neg = numFormat.NegativeSign; + var pos = numFormat.PositiveSign; + switch (numberNegativePattern) { + case 4: + neg = ' ' + neg; + pos = ' ' + pos; + case 3: + if (value.endsWith(neg)) { + return ['-', value.substr(0, value.length - neg.length)]; + } + else if (value.endsWith(pos)) { + return ['+', value.substr(0, value.length - pos.length)]; + } + break; + case 2: + neg += ' '; + pos += ' '; + case 1: + if (value.startsWith(neg)) { + return ['-', value.substr(neg.length)]; + } + else if (value.startsWith(pos)) { + return ['+', value.substr(pos.length)]; + } + break; + case 0: + if (value.startsWith('(') && value.endsWith(')')) { + return ['-', value.substr(1, value.length - 2)]; + } + break; + default: + Sys.Debug.fail(""); + } + return ['', value]; +} +Number.prototype.format = function Number$format(format) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "format", type: String} + ]); + if (e) throw e; + return this._toFormattedString(format, Sys.CultureInfo.InvariantCulture); +} +Number.prototype.localeFormat = function Number$localeFormat(format) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "format", type: String} + ]); + if (e) throw e; + return this._toFormattedString(format, Sys.CultureInfo.CurrentCulture); +} +Number.prototype._toFormattedString = function Number$_toFormattedString(format, cultureInfo) { + if (!format || (format.length === 0) || (format === 'i')) { + if (cultureInfo && (cultureInfo.name.length > 0)) { + return this.toLocaleString(); + } + else { + return this.toString(); + } + } + + var _percentPositivePattern = ["n %", "n%", "%n" ]; + var _percentNegativePattern = ["-n %", "-n%", "-%n"]; + var _numberNegativePattern = ["(n)","-n","- n","n-","n -"]; + var _currencyPositivePattern = ["$n","n$","$ n","n $"]; + var _currencyNegativePattern = ["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"]; + function zeroPad(str, count, left) { + for (var l=str.length; l < count; l++) { + str = (left ? ('0' + str) : (str + '0')); + } + return str; + } + + function expandNumber(number, precision, groupSizes, sep, decimalChar) { + Sys.Debug.assert(groupSizes.length > 0, "groupSizes must be an array of at least 1"); + var curSize = groupSizes[0]; + var curGroupIndex = 1; + var factor = Math.pow(10, precision); + var rounded = (Math.round(number * factor) / factor); + if (!isFinite(rounded)) { + rounded = number; + } + number = rounded; + + var numberString = number.toString(); + var right = ""; + var exponent; + + + var split = numberString.split(/e/i); + numberString = split[0]; + exponent = (split.length > 1 ? parseInt(split[1]) : 0); + split = numberString.split('.'); + numberString = split[0]; + right = split.length > 1 ? split[1] : ""; + + var l; + if (exponent > 0) { + right = zeroPad(right, exponent, false); + numberString += right.slice(0, exponent); + right = right.substr(exponent); + } + else if (exponent < 0) { + exponent = -exponent; + numberString = zeroPad(numberString, exponent+1, true); + right = numberString.slice(-exponent, numberString.length) + right; + numberString = numberString.slice(0, -exponent); + } + if (precision > 0) { + if (right.length > precision) { + right = right.slice(0, precision); + } + else { + right = zeroPad(right, precision, false); + } + right = decimalChar + right; + } + else { + right = ""; + } + var stringIndex = numberString.length-1; + var ret = ""; + while (stringIndex >= 0) { + if (curSize === 0 || curSize > stringIndex) { + if (ret.length > 0) + return numberString.slice(0, stringIndex + 1) + sep + ret + right; + else + return numberString.slice(0, stringIndex + 1) + right; + } + if (ret.length > 0) + ret = numberString.slice(stringIndex - curSize + 1, stringIndex+1) + sep + ret; + else + ret = numberString.slice(stringIndex - curSize + 1, stringIndex+1); + stringIndex -= curSize; + if (curGroupIndex < groupSizes.length) { + curSize = groupSizes[curGroupIndex]; + curGroupIndex++; + } + } + return numberString.slice(0, stringIndex + 1) + sep + ret + right; + } + var nf = cultureInfo.numberFormat; + var number = Math.abs(this); + if (!format) + format = "D"; + var precision = -1; + if (format.length > 1) precision = parseInt(format.slice(1), 10); + var pattern; + switch (format.charAt(0)) { + case "d": + case "D": + pattern = 'n'; + if (precision !== -1) { + number = zeroPad(""+number, precision, true); + } + if (this < 0) number = -number; + break; + case "c": + case "C": + if (this < 0) pattern = _currencyNegativePattern[nf.CurrencyNegativePattern]; + else pattern = _currencyPositivePattern[nf.CurrencyPositivePattern]; + if (precision === -1) precision = nf.CurrencyDecimalDigits; + number = expandNumber(Math.abs(this), precision, nf.CurrencyGroupSizes, nf.CurrencyGroupSeparator, nf.CurrencyDecimalSeparator); + break; + case "n": + case "N": + if (this < 0) pattern = _numberNegativePattern[nf.NumberNegativePattern]; + else pattern = 'n'; + if (precision === -1) precision = nf.NumberDecimalDigits; + number = expandNumber(Math.abs(this), precision, nf.NumberGroupSizes, nf.NumberGroupSeparator, nf.NumberDecimalSeparator); + break; + case "p": + case "P": + if (this < 0) pattern = _percentNegativePattern[nf.PercentNegativePattern]; + else pattern = _percentPositivePattern[nf.PercentPositivePattern]; + if (precision === -1) precision = nf.PercentDecimalDigits; + number = expandNumber(Math.abs(this) * 100, precision, nf.PercentGroupSizes, nf.PercentGroupSeparator, nf.PercentDecimalSeparator); + break; + default: + throw Error.format(Sys.Res.formatBadFormatSpecifier); + } + var regex = /n|\$|-|%/g; + var ret = ""; + for (;;) { + var index = regex.lastIndex; + var ar = regex.exec(pattern); + ret += pattern.slice(index, ar ? ar.index : pattern.length); + if (!ar) + break; + switch (ar[0]) { + case "n": + ret += number; + break; + case "$": + ret += nf.CurrencySymbol; + break; + case "-": + if (/[1-9]/.test(number)) { + ret += nf.NegativeSign; + } + break; + case "%": + ret += nf.PercentSymbol; + break; + default: + Sys.Debug.fail("Invalid number format pattern"); + } + } + return ret; +} + +Sys.CultureInfo = function Sys$CultureInfo(name, numberFormat, dateTimeFormat) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "name", type: String}, + {name: "numberFormat", type: Object}, + {name: "dateTimeFormat", type: Object} + ]); + if (e) throw e; + this.name = name; + this.numberFormat = numberFormat; + this.dateTimeFormat = dateTimeFormat; +} + function Sys$CultureInfo$_getDateTimeFormats() { + if (! this._dateTimeFormats) { + var dtf = this.dateTimeFormat; + this._dateTimeFormats = + [ dtf.MonthDayPattern, + dtf.YearMonthPattern, + dtf.ShortDatePattern, + dtf.ShortTimePattern, + dtf.LongDatePattern, + dtf.LongTimePattern, + dtf.FullDateTimePattern, + dtf.RFC1123Pattern, + dtf.SortableDateTimePattern, + dtf.UniversalSortableDateTimePattern ]; + } + return this._dateTimeFormats; + } + function Sys$CultureInfo$_getIndex(value, a1, a2) { + var upper = this._toUpper(value), + i = Array.indexOf(a1, upper); + if (i === -1) { + i = Array.indexOf(a2, upper); + } + return i; + } + function Sys$CultureInfo$_getMonthIndex(value) { + if (!this._upperMonths) { + this._upperMonths = this._toUpperArray(this.dateTimeFormat.MonthNames); + this._upperMonthsGenitive = this._toUpperArray(this.dateTimeFormat.MonthGenitiveNames); + } + return this._getIndex(value, this._upperMonths, this._upperMonthsGenitive); + } + function Sys$CultureInfo$_getAbbrMonthIndex(value) { + if (!this._upperAbbrMonths) { + this._upperAbbrMonths = this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames); + this._upperAbbrMonthsGenitive = this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthGenitiveNames); + } + return this._getIndex(value, this._upperAbbrMonths, this._upperAbbrMonthsGenitive); + } + function Sys$CultureInfo$_getDayIndex(value) { + if (!this._upperDays) { + this._upperDays = this._toUpperArray(this.dateTimeFormat.DayNames); + } + return Array.indexOf(this._upperDays, this._toUpper(value)); + } + function Sys$CultureInfo$_getAbbrDayIndex(value) { + if (!this._upperAbbrDays) { + this._upperAbbrDays = this._toUpperArray(this.dateTimeFormat.AbbreviatedDayNames); + } + return Array.indexOf(this._upperAbbrDays, this._toUpper(value)); + } + function Sys$CultureInfo$_toUpperArray(arr) { + var result = []; + for (var i = 0, il = arr.length; i < il; i++) { + result[i] = this._toUpper(arr[i]); + } + return result; + } + function Sys$CultureInfo$_toUpper(value) { + return value.split("\u00A0").join(' ').toUpperCase(); + } +Sys.CultureInfo.prototype = { + _getDateTimeFormats: Sys$CultureInfo$_getDateTimeFormats, + _getIndex: Sys$CultureInfo$_getIndex, + _getMonthIndex: Sys$CultureInfo$_getMonthIndex, + _getAbbrMonthIndex: Sys$CultureInfo$_getAbbrMonthIndex, + _getDayIndex: Sys$CultureInfo$_getDayIndex, + _getAbbrDayIndex: Sys$CultureInfo$_getAbbrDayIndex, + _toUpperArray: Sys$CultureInfo$_toUpperArray, + _toUpper: Sys$CultureInfo$_toUpper +} +Sys.CultureInfo.registerClass('Sys.CultureInfo'); +Sys.CultureInfo._parse = function Sys$CultureInfo$_parse(value) { + var dtf = value.dateTimeFormat; + if (dtf && !dtf.eras) { + dtf.eras = value.eras; + } + return new Sys.CultureInfo(value.name, value.numberFormat, dtf); +} +Sys.CultureInfo.InvariantCulture = Sys.CultureInfo._parse({"name":"","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":true,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"\u00A4","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":true},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd, dd MMMM yyyy HH:mm:ss","LongDatePattern":"dddd, dd MMMM yyyy","LongTimePattern":"HH:mm:ss","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'","ShortDatePattern":"MM/dd/yyyy","ShortTimePattern":"HH:mm","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"yyyy MMMM","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","May","June","July","August","September","October","November","December",""],"IsReadOnly":true,"NativeCalendarName":"Gregorian Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["January","February","March","April","May","June","July","August","September","October","November","December",""]},"eras":[1,"A.D.",null,0]}); +if (typeof(__cultureInfo) === "object") { + Sys.CultureInfo.CurrentCulture = Sys.CultureInfo._parse(__cultureInfo); + delete __cultureInfo; +} +else { + Sys.CultureInfo.CurrentCulture = Sys.CultureInfo._parse({"name":"en-US","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":false,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"$","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":false},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd, MMMM dd, yyyy h:mm:ss tt","LongDatePattern":"dddd, MMMM dd, yyyy","LongTimePattern":"h:mm:ss tt","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'","ShortDatePattern":"M/d/yyyy","ShortTimePattern":"h:mm tt","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"MMMM, yyyy","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","May","June","July","August","September","October","November","December",""],"IsReadOnly":false,"NativeCalendarName":"Gregorian Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["January","February","March","April","May","June","July","August","September","October","November","December",""]},"eras":[1,"A.D.",null,0]}); +} +Type.registerNamespace('Sys.Serialization'); +Sys.Serialization.JavaScriptSerializer = function Sys$Serialization$JavaScriptSerializer() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); +} +Sys.Serialization.JavaScriptSerializer.registerClass('Sys.Serialization.JavaScriptSerializer'); +Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs = []; +Sys.Serialization.JavaScriptSerializer._charsToEscape = []; +Sys.Serialization.JavaScriptSerializer._dateRegEx = new RegExp('(^|[^\\\\])\\"\\\\/Date\\((-?[0-9]+)(?:[a-zA-Z]|(?:\\+|-)[0-9]{4})?\\)\\\\/\\"', 'g'); +Sys.Serialization.JavaScriptSerializer._escapeChars = {}; +Sys.Serialization.JavaScriptSerializer._escapeRegEx = new RegExp('["\\\\\\x00-\\x1F]', 'i'); +Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal = new RegExp('["\\\\\\x00-\\x1F]', 'g'); +Sys.Serialization.JavaScriptSerializer._jsonRegEx = new RegExp('[^,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t]', 'g'); +Sys.Serialization.JavaScriptSerializer._jsonStringRegEx = new RegExp('"(\\\\.|[^"\\\\])*"', 'g'); +Sys.Serialization.JavaScriptSerializer._serverTypeFieldName = '__type'; +Sys.Serialization.JavaScriptSerializer._init = function Sys$Serialization$JavaScriptSerializer$_init() { + var replaceChars = ['\\u0000','\\u0001','\\u0002','\\u0003','\\u0004','\\u0005','\\u0006','\\u0007', + '\\b','\\t','\\n','\\u000b','\\f','\\r','\\u000e','\\u000f','\\u0010','\\u0011', + '\\u0012','\\u0013','\\u0014','\\u0015','\\u0016','\\u0017','\\u0018','\\u0019', + '\\u001a','\\u001b','\\u001c','\\u001d','\\u001e','\\u001f']; + Sys.Serialization.JavaScriptSerializer._charsToEscape[0] = '\\'; + Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs['\\'] = new RegExp('\\\\', 'g'); + Sys.Serialization.JavaScriptSerializer._escapeChars['\\'] = '\\\\'; + Sys.Serialization.JavaScriptSerializer._charsToEscape[1] = '"'; + Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs['"'] = new RegExp('"', 'g'); + Sys.Serialization.JavaScriptSerializer._escapeChars['"'] = '\\"'; + for (var i = 0; i < 32; i++) { + var c = String.fromCharCode(i); + Sys.Serialization.JavaScriptSerializer._charsToEscape[i+2] = c; + Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[c] = new RegExp(c, 'g'); + Sys.Serialization.JavaScriptSerializer._escapeChars[c] = replaceChars[i]; + } +} +Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeBooleanWithBuilder(object, stringBuilder) { + stringBuilder.append(object.toString()); +} +Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeNumberWithBuilder(object, stringBuilder) { + if (isFinite(object)) { + stringBuilder.append(String(object)); + } + else { + throw Error.invalidOperation(Sys.Res.cannotSerializeNonFiniteNumbers); + } +} +Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeStringWithBuilder(string, stringBuilder) { + stringBuilder.append('"'); + if (Sys.Serialization.JavaScriptSerializer._escapeRegEx.test(string)) { + if (Sys.Serialization.JavaScriptSerializer._charsToEscape.length === 0) { + Sys.Serialization.JavaScriptSerializer._init(); + } + if (string.length < 128) { + string = string.replace(Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal, + function(x) { return Sys.Serialization.JavaScriptSerializer._escapeChars[x]; }); + } + else { + for (var i = 0; i < 34; i++) { + var c = Sys.Serialization.JavaScriptSerializer._charsToEscape[i]; + if (string.indexOf(c) !== -1) { + if (Sys.Browser.agent === Sys.Browser.Opera || Sys.Browser.agent === Sys.Browser.FireFox) { + string = string.split(c).join(Sys.Serialization.JavaScriptSerializer._escapeChars[c]); + } + else { + string = string.replace(Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[c], + Sys.Serialization.JavaScriptSerializer._escapeChars[c]); + } + } + } + } + } + stringBuilder.append(string); + stringBuilder.append('"'); +} +Sys.Serialization.JavaScriptSerializer._serializeWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeWithBuilder(object, stringBuilder, sort, prevObjects) { + var i; + switch (typeof object) { + case 'object': + if (object) { + if (prevObjects){ + for( var j = 0; j < prevObjects.length; j++) { + if (prevObjects[j] === object) { + throw Error.invalidOperation(Sys.Res.cannotSerializeObjectWithCycle); + } + } + } + else { + prevObjects = new Array(); + } + try { + Array.add(prevObjects, object); + + if (Number.isInstanceOfType(object)){ + Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(object, stringBuilder); + } + else if (Boolean.isInstanceOfType(object)){ + Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(object, stringBuilder); + } + else if (String.isInstanceOfType(object)){ + Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(object, stringBuilder); + } + + else if (Array.isInstanceOfType(object)) { + stringBuilder.append('['); + + for (i = 0; i < object.length; ++i) { + if (i > 0) { + stringBuilder.append(','); + } + Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object[i], stringBuilder,false,prevObjects); + } + stringBuilder.append(']'); + } + else { + if (Date.isInstanceOfType(object)) { + stringBuilder.append('"\\/Date('); + stringBuilder.append(object.getTime()); + stringBuilder.append(')\\/"'); + break; + } + var properties = []; + var propertyCount = 0; + for (var name in object) { + if (name.startsWith('$')) { + continue; + } + if (name === Sys.Serialization.JavaScriptSerializer._serverTypeFieldName && propertyCount !== 0){ + properties[propertyCount++] = properties[0]; + properties[0] = name; + } + else{ + properties[propertyCount++] = name; + } + } + if (sort) properties.sort(); + stringBuilder.append('{'); + var needComma = false; + + for (i=0; i + /// + /// + var e = Function._validateParams(arguments, [ + {name: "object", mayBeNull: true} + ]); + if (e) throw e; + var stringBuilder = new Sys.StringBuilder(); + Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object, stringBuilder, false); + return stringBuilder.toString(); +} +Sys.Serialization.JavaScriptSerializer.deserialize = function Sys$Serialization$JavaScriptSerializer$deserialize(data, secure) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "data", type: String}, + {name: "secure", type: Boolean, optional: true} + ]); + if (e) throw e; + + if (data.length === 0) throw Error.argument('data', Sys.Res.cannotDeserializeEmptyString); + try { + var exp = data.replace(Sys.Serialization.JavaScriptSerializer._dateRegEx, "$1new Date($2)"); + + if (secure && Sys.Serialization.JavaScriptSerializer._jsonRegEx.test( + exp.replace(Sys.Serialization.JavaScriptSerializer._jsonStringRegEx, ''))) throw null; + return eval('(' + exp + ')'); + } + catch (e) { + throw Error.argument('data', Sys.Res.cannotDeserializeInvalidJson); + } +} +Type.registerNamespace('Sys.UI'); + +Sys.EventHandlerList = function Sys$EventHandlerList() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + this._list = {}; +} + function Sys$EventHandlerList$_addHandler(id, handler) { + Array.add(this._getEvent(id, true), handler); + } + function Sys$EventHandlerList$addHandler(id, handler) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "id", type: String}, + {name: "handler", type: Function} + ]); + if (e) throw e; + this._addHandler(id, handler); + } + function Sys$EventHandlerList$_removeHandler(id, handler) { + var evt = this._getEvent(id); + if (!evt) return; + Array.remove(evt, handler); + } + function Sys$EventHandlerList$removeHandler(id, handler) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "id", type: String}, + {name: "handler", type: Function} + ]); + if (e) throw e; + this._removeHandler(id, handler); + } + function Sys$EventHandlerList$getHandler(id) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "id", type: String} + ]); + if (e) throw e; + var evt = this._getEvent(id); + if (!evt || (evt.length === 0)) return null; + evt = Array.clone(evt); + return function(source, args) { + for (var i = 0, l = evt.length; i < l; i++) { + evt[i](source, args); + } + }; + } + function Sys$EventHandlerList$_getEvent(id, create) { + if (!this._list[id]) { + if (!create) return null; + this._list[id] = []; + } + return this._list[id]; + } +Sys.EventHandlerList.prototype = { + _addHandler: Sys$EventHandlerList$_addHandler, + addHandler: Sys$EventHandlerList$addHandler, + _removeHandler: Sys$EventHandlerList$_removeHandler, + removeHandler: Sys$EventHandlerList$removeHandler, + getHandler: Sys$EventHandlerList$getHandler, + _getEvent: Sys$EventHandlerList$_getEvent +} +Sys.EventHandlerList.registerClass('Sys.EventHandlerList'); +Sys.CommandEventArgs = function Sys$CommandEventArgs(commandName, commandArgument, commandSource) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "commandName", type: String}, + {name: "commandArgument", mayBeNull: true}, + {name: "commandSource", mayBeNull: true} + ]); + if (e) throw e; + Sys.CommandEventArgs.initializeBase(this); + this._commandName = commandName; + this._commandArgument = commandArgument; + this._commandSource = commandSource; +} + function Sys$CommandEventArgs$get_commandName() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._commandName; + } + function Sys$CommandEventArgs$get_commandArgument() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._commandArgument; + } + function Sys$CommandEventArgs$get_commandSource() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._commandSource; + } +Sys.CommandEventArgs.prototype = { + _commandName: null, + _commandArgument: null, + _commandSource: null, + get_commandName: Sys$CommandEventArgs$get_commandName, + get_commandArgument: Sys$CommandEventArgs$get_commandArgument, + get_commandSource: Sys$CommandEventArgs$get_commandSource +} +Sys.CommandEventArgs.registerClass("Sys.CommandEventArgs", Sys.CancelEventArgs); + +Sys.INotifyPropertyChange = function Sys$INotifyPropertyChange() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); +} + function Sys$INotifyPropertyChange$add_propertyChanged(handler) { + /// + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + throw Error.notImplemented(); + } + function Sys$INotifyPropertyChange$remove_propertyChanged(handler) { + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + throw Error.notImplemented(); + } +Sys.INotifyPropertyChange.prototype = { + add_propertyChanged: Sys$INotifyPropertyChange$add_propertyChanged, + remove_propertyChanged: Sys$INotifyPropertyChange$remove_propertyChanged +} +Sys.INotifyPropertyChange.registerInterface('Sys.INotifyPropertyChange'); + +Sys.PropertyChangedEventArgs = function Sys$PropertyChangedEventArgs(propertyName) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "propertyName", type: String} + ]); + if (e) throw e; + Sys.PropertyChangedEventArgs.initializeBase(this); + this._propertyName = propertyName; +} + + function Sys$PropertyChangedEventArgs$get_propertyName() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._propertyName; + } +Sys.PropertyChangedEventArgs.prototype = { + get_propertyName: Sys$PropertyChangedEventArgs$get_propertyName +} +Sys.PropertyChangedEventArgs.registerClass('Sys.PropertyChangedEventArgs', Sys.EventArgs); + +Sys.INotifyDisposing = function Sys$INotifyDisposing() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); +} + function Sys$INotifyDisposing$add_disposing(handler) { + /// + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + throw Error.notImplemented(); + } + function Sys$INotifyDisposing$remove_disposing(handler) { + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + throw Error.notImplemented(); + } +Sys.INotifyDisposing.prototype = { + add_disposing: Sys$INotifyDisposing$add_disposing, + remove_disposing: Sys$INotifyDisposing$remove_disposing +} +Sys.INotifyDisposing.registerInterface("Sys.INotifyDisposing"); + +Sys.Component = function Sys$Component() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (Sys.Application) Sys.Application.registerDisposableObject(this); +} + function Sys$Component$get_events() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._events) { + this._events = new Sys.EventHandlerList(); + } + return this._events; + } + function Sys$Component$get_id() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._id; + } + function Sys$Component$set_id(value) { + var e = Function._validateParams(arguments, [{name: "value", type: String}]); + if (e) throw e; + if (this._idSet) throw Error.invalidOperation(Sys.Res.componentCantSetIdTwice); + this._idSet = true; + var oldId = this.get_id(); + if (oldId && Sys.Application.findComponent(oldId)) throw Error.invalidOperation(Sys.Res.componentCantSetIdAfterAddedToApp); + this._id = value; + } + function Sys$Component$get_isInitialized() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._initialized; + } + function Sys$Component$get_isUpdating() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._updating; + } + function Sys$Component$add_disposing(handler) { + /// + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this.get_events().addHandler("disposing", handler); + } + function Sys$Component$remove_disposing(handler) { + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this.get_events().removeHandler("disposing", handler); + } + function Sys$Component$add_propertyChanged(handler) { + /// + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this.get_events().addHandler("propertyChanged", handler); + } + function Sys$Component$remove_propertyChanged(handler) { + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this.get_events().removeHandler("propertyChanged", handler); + } + function Sys$Component$beginUpdate() { + this._updating = true; + } + function Sys$Component$dispose() { + if (this._events) { + var handler = this._events.getHandler("disposing"); + if (handler) { + handler(this, Sys.EventArgs.Empty); + } + } + delete this._events; + Sys.Application.unregisterDisposableObject(this); + Sys.Application.removeComponent(this); + } + function Sys$Component$endUpdate() { + this._updating = false; + if (!this._initialized) this.initialize(); + this.updated(); + } + function Sys$Component$initialize() { + this._initialized = true; + } + function Sys$Component$raisePropertyChanged(propertyName) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "propertyName", type: String} + ]); + if (e) throw e; + if (!this._events) return; + var handler = this._events.getHandler("propertyChanged"); + if (handler) { + handler(this, new Sys.PropertyChangedEventArgs(propertyName)); + } + } + function Sys$Component$updated() { + } +Sys.Component.prototype = { + _id: null, + _idSet: false, + _initialized: false, + _updating: false, + get_events: Sys$Component$get_events, + get_id: Sys$Component$get_id, + set_id: Sys$Component$set_id, + get_isInitialized: Sys$Component$get_isInitialized, + get_isUpdating: Sys$Component$get_isUpdating, + add_disposing: Sys$Component$add_disposing, + remove_disposing: Sys$Component$remove_disposing, + add_propertyChanged: Sys$Component$add_propertyChanged, + remove_propertyChanged: Sys$Component$remove_propertyChanged, + beginUpdate: Sys$Component$beginUpdate, + dispose: Sys$Component$dispose, + endUpdate: Sys$Component$endUpdate, + initialize: Sys$Component$initialize, + raisePropertyChanged: Sys$Component$raisePropertyChanged, + updated: Sys$Component$updated +} +Sys.Component.registerClass('Sys.Component', null, Sys.IDisposable, Sys.INotifyPropertyChange, Sys.INotifyDisposing); +function Sys$Component$_setProperties(target, properties) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target"}, + {name: "properties"} + ]); + if (e) throw e; + var current; + var targetType = Object.getType(target); + var isObject = (targetType === Object) || (targetType === Sys.UI.DomElement); + var isComponent = Sys.Component.isInstanceOfType(target) && !target.get_isUpdating(); + if (isComponent) target.beginUpdate(); + for (var name in properties) { + var val = properties[name]; + var getter = isObject ? null : target["get_" + name]; + if (isObject || typeof(getter) !== 'function') { + var targetVal = target[name]; + if (!isObject && typeof(targetVal) === 'undefined') throw Error.invalidOperation(String.format(Sys.Res.propertyUndefined, name)); + if (!val || (typeof(val) !== 'object') || (isObject && !targetVal)) { + target[name] = val; + } + else { + Sys$Component$_setProperties(targetVal, val); + } + } + else { + var setter = target["set_" + name]; + if (typeof(setter) === 'function') { + setter.apply(target, [val]); + } + else if (val instanceof Array) { + current = getter.apply(target); + if (!(current instanceof Array)) throw new Error.invalidOperation(String.format(Sys.Res.propertyNotAnArray, name)); + for (var i = 0, j = current.length, l= val.length; i < l; i++, j++) { + current[j] = val[i]; + } + } + else if ((typeof(val) === 'object') && (Object.getType(val) === Object)) { + current = getter.apply(target); + if ((typeof(current) === 'undefined') || (current === null)) throw new Error.invalidOperation(String.format(Sys.Res.propertyNullOrUndefined, name)); + Sys$Component$_setProperties(current, val); + } + else { + throw new Error.invalidOperation(String.format(Sys.Res.propertyNotWritable, name)); + } + } + } + if (isComponent) target.endUpdate(); +} +function Sys$Component$_setReferences(component, references) { + for (var name in references) { + var setter = component["set_" + name]; + var reference = $find(references[name]); + if (typeof(setter) !== 'function') throw new Error.invalidOperation(String.format(Sys.Res.propertyNotWritable, name)); + if (!reference) throw Error.invalidOperation(String.format(Sys.Res.referenceNotFound, references[name])); + setter.apply(component, [reference]); + } +} +var $create = Sys.Component.create = function Sys$Component$create(type, properties, events, references, element) { + /// + /// + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "type", type: Type}, + {name: "properties", mayBeNull: true, optional: true}, + {name: "events", mayBeNull: true, optional: true}, + {name: "references", mayBeNull: true, optional: true}, + {name: "element", mayBeNull: true, domElement: true, optional: true} + ]); + if (e) throw e; + if (!type.inheritsFrom(Sys.Component)) { + throw Error.argument('type', String.format(Sys.Res.createNotComponent, type.getName())); + } + if (type.inheritsFrom(Sys.UI.Behavior) || type.inheritsFrom(Sys.UI.Control)) { + if (!element) throw Error.argument('element', Sys.Res.createNoDom); + } + else if (element) throw Error.argument('element', Sys.Res.createComponentOnDom); + var component = (element ? new type(element): new type()); + var app = Sys.Application; + var creatingComponents = app.get_isCreatingComponents(); + component.beginUpdate(); + if (properties) { + Sys$Component$_setProperties(component, properties); + } + if (events) { + for (var name in events) { + if (!(component["add_" + name] instanceof Function)) throw new Error.invalidOperation(String.format(Sys.Res.undefinedEvent, name)); + if (!(events[name] instanceof Function)) throw new Error.invalidOperation(Sys.Res.eventHandlerNotFunction); + component["add_" + name](events[name]); + } + } + if (component.get_id()) { + app.addComponent(component); + } + if (creatingComponents) { + app._createdComponents[app._createdComponents.length] = component; + if (references) { + app._addComponentToSecondPass(component, references); + } + else { + component.endUpdate(); + } + } + else { + if (references) { + Sys$Component$_setReferences(component, references); + } + component.endUpdate(); + } + return component; +} + +Sys.UI.MouseButton = function Sys$UI$MouseButton() { + /// + /// + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); +} +Sys.UI.MouseButton.prototype = { + leftButton: 0, + middleButton: 1, + rightButton: 2 +} +Sys.UI.MouseButton.registerEnum("Sys.UI.MouseButton"); + +Sys.UI.Key = function Sys$UI$Key() { + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); +} +Sys.UI.Key.prototype = { + backspace: 8, + tab: 9, + enter: 13, + esc: 27, + space: 32, + pageUp: 33, + pageDown: 34, + end: 35, + home: 36, + left: 37, + up: 38, + right: 39, + down: 40, + del: 127 +} +Sys.UI.Key.registerEnum("Sys.UI.Key"); + +Sys.UI.Point = function Sys$UI$Point(x, y) { + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "x", type: Number, integer: true}, + {name: "y", type: Number, integer: true} + ]); + if (e) throw e; + this.x = x; + this.y = y; +} +Sys.UI.Point.registerClass('Sys.UI.Point'); + +Sys.UI.Bounds = function Sys$UI$Bounds(x, y, width, height) { + /// + /// + /// + /// + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "x", type: Number, integer: true}, + {name: "y", type: Number, integer: true}, + {name: "width", type: Number, integer: true}, + {name: "height", type: Number, integer: true} + ]); + if (e) throw e; + this.x = x; + this.y = y; + this.height = height; + this.width = width; +} +Sys.UI.Bounds.registerClass('Sys.UI.Bounds'); + +Sys.UI.DomEvent = function Sys$UI$DomEvent(eventObject) { + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "eventObject"} + ]); + if (e) throw e; + var ev = eventObject; + var etype = this.type = ev.type.toLowerCase(); + this.rawEvent = ev; + this.altKey = ev.altKey; + if (typeof(ev.button) !== 'undefined') { + this.button = (typeof(ev.which) !== 'undefined') ? ev.button : + (ev.button === 4) ? Sys.UI.MouseButton.middleButton : + (ev.button === 2) ? Sys.UI.MouseButton.rightButton : + Sys.UI.MouseButton.leftButton; + } + if (etype === 'keypress') { + this.charCode = ev.charCode || ev.keyCode; + } + else if (ev.keyCode && (ev.keyCode === 46)) { + this.keyCode = 127; + } + else { + this.keyCode = ev.keyCode; + } + this.clientX = ev.clientX; + this.clientY = ev.clientY; + this.ctrlKey = ev.ctrlKey; + this.target = ev.target ? ev.target : ev.srcElement; + if (!etype.startsWith('key')) { + if ((typeof(ev.offsetX) !== 'undefined') && (typeof(ev.offsetY) !== 'undefined')) { + this.offsetX = ev.offsetX; + this.offsetY = ev.offsetY; + } + else if (this.target && (this.target.nodeType !== 3) && (typeof(ev.clientX) === 'number')) { + var loc = Sys.UI.DomElement.getLocation(this.target); + var w = Sys.UI.DomElement._getWindow(this.target); + this.offsetX = (w.pageXOffset || 0) + ev.clientX - loc.x; + this.offsetY = (w.pageYOffset || 0) + ev.clientY - loc.y; + } + } + this.screenX = ev.screenX; + this.screenY = ev.screenY; + this.shiftKey = ev.shiftKey; +} + function Sys$UI$DomEvent$preventDefault() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (this.rawEvent.preventDefault) { + this.rawEvent.preventDefault(); + } + else if (window.event) { + this.rawEvent.returnValue = false; + } + } + function Sys$UI$DomEvent$stopPropagation() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (this.rawEvent.stopPropagation) { + this.rawEvent.stopPropagation(); + } + else if (window.event) { + this.rawEvent.cancelBubble = true; + } + } +Sys.UI.DomEvent.prototype = { + preventDefault: Sys$UI$DomEvent$preventDefault, + stopPropagation: Sys$UI$DomEvent$stopPropagation +} +Sys.UI.DomEvent.registerClass('Sys.UI.DomEvent'); +var $addHandler = Sys.UI.DomEvent.addHandler = function Sys$UI$DomEvent$addHandler(element, eventName, handler, autoRemove) { + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element"}, + {name: "eventName", type: String}, + {name: "handler", type: Function}, + {name: "autoRemove", type: Boolean, optional: true} + ]); + if (e) throw e; + Sys.UI.DomEvent._ensureDomNode(element); + if (eventName === "error") throw Error.invalidOperation(Sys.Res.addHandlerCantBeUsedForError); + if (!element._events) { + element._events = {}; + } + var eventCache = element._events[eventName]; + if (!eventCache) { + element._events[eventName] = eventCache = []; + } + var browserHandler; + if (element.addEventListener) { + browserHandler = function(e) { + return handler.call(element, new Sys.UI.DomEvent(e)); + } + element.addEventListener(eventName, browserHandler, false); + } + else if (element.attachEvent) { + browserHandler = function() { + var e = {}; + try {e = Sys.UI.DomElement._getWindow(element).event} catch(ex) {} + return handler.call(element, new Sys.UI.DomEvent(e)); + } + element.attachEvent('on' + eventName, browserHandler); + } + eventCache[eventCache.length] = {handler: handler, browserHandler: browserHandler, autoRemove: autoRemove }; + if (autoRemove) { + var d = element.dispose; + if (d !== Sys.UI.DomEvent._disposeHandlers) { + element.dispose = Sys.UI.DomEvent._disposeHandlers; + if (typeof(d) !== "undefined") { + element._chainDispose = d; + } + } + } +} +var $addHandlers = Sys.UI.DomEvent.addHandlers = function Sys$UI$DomEvent$addHandlers(element, events, handlerOwner, autoRemove) { + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element"}, + {name: "events", type: Object}, + {name: "handlerOwner", optional: true}, + {name: "autoRemove", type: Boolean, optional: true} + ]); + if (e) throw e; + Sys.UI.DomEvent._ensureDomNode(element); + for (var name in events) { + var handler = events[name]; + if (typeof(handler) !== 'function') throw Error.invalidOperation(Sys.Res.cantAddNonFunctionhandler); + if (handlerOwner) { + handler = Function.createDelegate(handlerOwner, handler); + } + $addHandler(element, name, handler, autoRemove || false); + } +} +var $clearHandlers = Sys.UI.DomEvent.clearHandlers = function Sys$UI$DomEvent$clearHandlers(element) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element"} + ]); + if (e) throw e; + Sys.UI.DomEvent._ensureDomNode(element); + Sys.UI.DomEvent._clearHandlers(element, false); +} +Sys.UI.DomEvent._clearHandlers = function Sys$UI$DomEvent$_clearHandlers(element, autoRemoving) { + if (element._events) { + var cache = element._events; + for (var name in cache) { + var handlers = cache[name]; + for (var i = handlers.length - 1; i >= 0; i--) { + var entry = handlers[i]; + if (!autoRemoving || entry.autoRemove) { + $removeHandler(element, name, entry.handler); + } + } + } + element._events = null; + } +} +Sys.UI.DomEvent._disposeHandlers = function Sys$UI$DomEvent$_disposeHandlers() { + Sys.UI.DomEvent._clearHandlers(this, true); + var d = this._chainDispose, type = typeof(d); + if (type !== "undefined") { + this.dispose = d; + this._chainDispose = null; + if (type === "function") { + this.dispose(); + } + } +} +var $removeHandler = Sys.UI.DomEvent.removeHandler = function Sys$UI$DomEvent$removeHandler(element, eventName, handler) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element"}, + {name: "eventName", type: String}, + {name: "handler", type: Function} + ]); + if (e) throw e; + Sys.UI.DomEvent._removeHandler(element, eventName, handler); +} +Sys.UI.DomEvent._removeHandler = function Sys$UI$DomEvent$_removeHandler(element, eventName, handler) { + Sys.UI.DomEvent._ensureDomNode(element); + var browserHandler = null; + if ((typeof(element._events) !== 'object') || !element._events) throw Error.invalidOperation(Sys.Res.eventHandlerInvalid); + var cache = element._events[eventName]; + if (!(cache instanceof Array)) throw Error.invalidOperation(Sys.Res.eventHandlerInvalid); + for (var i = 0, l = cache.length; i < l; i++) { + if (cache[i].handler === handler) { + browserHandler = cache[i].browserHandler; + break; + } + } + if (typeof(browserHandler) !== 'function') throw Error.invalidOperation(Sys.Res.eventHandlerInvalid); + if (element.removeEventListener) { + element.removeEventListener(eventName, browserHandler, false); + } + else if (element.detachEvent) { + element.detachEvent('on' + eventName, browserHandler); + } + cache.splice(i, 1); +} +Sys.UI.DomEvent._ensureDomNode = function Sys$UI$DomEvent$_ensureDomNode(element) { + if (element.tagName && (element.tagName.toUpperCase() === "SCRIPT")) return; + + var doc = element.ownerDocument || element.document || element; + if ((typeof(element.document) !== 'object') && (element != doc) && (typeof(element.nodeType) !== 'number')) { + throw Error.argument("element", Sys.Res.argumentDomNode); + } +} + +Sys.UI.DomElement = function Sys$UI$DomElement() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); +} +Sys.UI.DomElement.registerClass('Sys.UI.DomElement'); +Sys.UI.DomElement.addCssClass = function Sys$UI$DomElement$addCssClass(element, className) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true}, + {name: "className", type: String} + ]); + if (e) throw e; + if (!Sys.UI.DomElement.containsCssClass(element, className)) { + if (element.className === '') { + element.className = className; + } + else { + element.className += ' ' + className; + } + } +} +Sys.UI.DomElement.containsCssClass = function Sys$UI$DomElement$containsCssClass(element, className) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true}, + {name: "className", type: String} + ]); + if (e) throw e; + return Array.contains(element.className.split(' '), className); +} +Sys.UI.DomElement.getBounds = function Sys$UI$DomElement$getBounds(element) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true} + ]); + if (e) throw e; + var offset = Sys.UI.DomElement.getLocation(element); + return new Sys.UI.Bounds(offset.x, offset.y, element.offsetWidth || 0, element.offsetHeight || 0); +} +var $get = Sys.UI.DomElement.getElementById = function Sys$UI$DomElement$getElementById(id, element) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "id", type: String}, + {name: "element", mayBeNull: true, domElement: true, optional: true} + ]); + if (e) throw e; + if (!element) return document.getElementById(id); + if (element.getElementById) return element.getElementById(id); + var nodeQueue = []; + var childNodes = element.childNodes; + for (var i = 0; i < childNodes.length; i++) { + var node = childNodes[i]; + if (node.nodeType == 1) { + nodeQueue[nodeQueue.length] = node; + } + } + while (nodeQueue.length) { + node = nodeQueue.shift(); + if (node.id == id) { + return node; + } + childNodes = node.childNodes; + for (i = 0; i < childNodes.length; i++) { + node = childNodes[i]; + if (node.nodeType == 1) { + nodeQueue[nodeQueue.length] = node; + } + } + } + return null; +} +if (document.documentElement.getBoundingClientRect) { + Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true} + ]); + if (e) throw e; + if (element.self || element.nodeType === 9) return new Sys.UI.Point(0,0); + var clientRect = element.getBoundingClientRect(); + if (!clientRect) { + return new Sys.UI.Point(0,0); + } + var documentElement = element.ownerDocument.documentElement, + offsetX = Math.floor(clientRect.left + 0.5) + documentElement.scrollLeft, + offsetY = Math.floor(clientRect.top + 0.5) + documentElement.scrollTop; + if (Sys.Browser.agent === Sys.Browser.InternetExplorer) { + try { + var f = element.ownerDocument.parentWindow.frameElement || null; + if (f) { + var offset = (f.frameBorder === "0" || f.frameBorder === "no") ? 2 : 0; + offsetX += offset; + offsetY += offset; + } + } + catch(ex) { + } + if (Sys.Browser.version <= 7) { + + var multiplier, before, rect, d = document.createElement("div"); + d.style.cssText = "position:absolute !important;left:0px !important;right:0px !important;height:0px !important;width:1px !important;display:hidden !important"; + try { + before = document.body.childNodes[0]; + document.body.insertBefore(d, before); + rect = d.getBoundingClientRect(); + document.body.removeChild(d); + multiplier = (rect.right - rect.left); + } + catch (e) { + } + if (multiplier && (multiplier !== 1)) { + offsetX = Math.floor(offsetX / multiplier); + offsetY = Math.floor(offsetY / multiplier); + } + } + if ((document.documentMode || 0) < 8) { + offsetX -= 2; + offsetY -= 2; + } + } + return new Sys.UI.Point(offsetX, offsetY); + } +} +else if (Sys.Browser.agent === Sys.Browser.Safari) { + Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true} + ]); + if (e) throw e; + if ((element.window && (element.window === element)) || element.nodeType === 9) return new Sys.UI.Point(0,0); + var offsetX = 0, offsetY = 0, + parent, + previous = null, + previousStyle = null, + currentStyle; + for (parent = element; parent; previous = parent, previousStyle = currentStyle, parent = parent.offsetParent) { + currentStyle = Sys.UI.DomElement._getCurrentStyle(parent); + var tagName = parent.tagName ? parent.tagName.toUpperCase() : null; + if ((parent.offsetLeft || parent.offsetTop) && + ((tagName !== "BODY") || (!previousStyle || previousStyle.position !== "absolute"))) { + offsetX += parent.offsetLeft; + offsetY += parent.offsetTop; + } + if (previous && Sys.Browser.version >= 3) { + offsetX += parseInt(currentStyle.borderLeftWidth); + offsetY += parseInt(currentStyle.borderTopWidth); + } + } + currentStyle = Sys.UI.DomElement._getCurrentStyle(element); + var elementPosition = currentStyle ? currentStyle.position : null; + if (!elementPosition || (elementPosition !== "absolute")) { + for (parent = element.parentNode; parent; parent = parent.parentNode) { + tagName = parent.tagName ? parent.tagName.toUpperCase() : null; + if ((tagName !== "BODY") && (tagName !== "HTML") && (parent.scrollLeft || parent.scrollTop)) { + offsetX -= (parent.scrollLeft || 0); + offsetY -= (parent.scrollTop || 0); + } + currentStyle = Sys.UI.DomElement._getCurrentStyle(parent); + var parentPosition = currentStyle ? currentStyle.position : null; + if (parentPosition && (parentPosition === "absolute")) break; + } + } + return new Sys.UI.Point(offsetX, offsetY); + } +} +else { + Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true} + ]); + if (e) throw e; + if ((element.window && (element.window === element)) || element.nodeType === 9) return new Sys.UI.Point(0,0); + var offsetX = 0, offsetY = 0, + parent, + previous = null, + previousStyle = null, + currentStyle = null; + for (parent = element; parent; previous = parent, previousStyle = currentStyle, parent = parent.offsetParent) { + var tagName = parent.tagName ? parent.tagName.toUpperCase() : null; + currentStyle = Sys.UI.DomElement._getCurrentStyle(parent); + if ((parent.offsetLeft || parent.offsetTop) && + !((tagName === "BODY") && + (!previousStyle || previousStyle.position !== "absolute"))) { + offsetX += parent.offsetLeft; + offsetY += parent.offsetTop; + } + if (previous !== null && currentStyle) { + if ((tagName !== "TABLE") && (tagName !== "TD") && (tagName !== "HTML")) { + offsetX += parseInt(currentStyle.borderLeftWidth) || 0; + offsetY += parseInt(currentStyle.borderTopWidth) || 0; + } + if (tagName === "TABLE" && + (currentStyle.position === "relative" || currentStyle.position === "absolute")) { + offsetX += parseInt(currentStyle.marginLeft) || 0; + offsetY += parseInt(currentStyle.marginTop) || 0; + } + } + } + currentStyle = Sys.UI.DomElement._getCurrentStyle(element); + var elementPosition = currentStyle ? currentStyle.position : null; + if (!elementPosition || (elementPosition !== "absolute")) { + for (parent = element.parentNode; parent; parent = parent.parentNode) { + tagName = parent.tagName ? parent.tagName.toUpperCase() : null; + if ((tagName !== "BODY") && (tagName !== "HTML") && (parent.scrollLeft || parent.scrollTop)) { + offsetX -= (parent.scrollLeft || 0); + offsetY -= (parent.scrollTop || 0); + currentStyle = Sys.UI.DomElement._getCurrentStyle(parent); + if (currentStyle) { + offsetX += parseInt(currentStyle.borderLeftWidth) || 0; + offsetY += parseInt(currentStyle.borderTopWidth) || 0; + } + } + } + } + return new Sys.UI.Point(offsetX, offsetY); + } +} +Sys.UI.DomElement.isDomElement = function Sys$UI$DomElement$isDomElement(obj) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "obj"} + ]); + if (e) throw e; + return Sys._isDomElement(obj); +} +Sys.UI.DomElement.removeCssClass = function Sys$UI$DomElement$removeCssClass(element, className) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true}, + {name: "className", type: String} + ]); + if (e) throw e; + var currentClassName = ' ' + element.className + ' '; + var index = currentClassName.indexOf(' ' + className + ' '); + if (index >= 0) { + element.className = (currentClassName.substr(0, index) + ' ' + + currentClassName.substring(index + className.length + 1, currentClassName.length)).trim(); + } +} +Sys.UI.DomElement.resolveElement = function Sys$UI$DomElement$resolveElement(elementOrElementId, containerElement) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "elementOrElementId", mayBeNull: true}, + {name: "containerElement", mayBeNull: true, domElement: true, optional: true} + ]); + if (e) throw e; + var el = elementOrElementId; + if (!el) return null; + if (typeof(el) === "string") { + el = Sys.UI.DomElement.getElementById(el, containerElement); + if (!el) { + throw Error.argument("elementOrElementId", String.format(Sys.Res.elementNotFound, elementOrElementId)); + } + } + else if(!Sys.UI.DomElement.isDomElement(el)) { + throw Error.argument("elementOrElementId", Sys.Res.expectedElementOrId); + } + return el; +} +Sys.UI.DomElement.raiseBubbleEvent = function Sys$UI$DomElement$raiseBubbleEvent(source, args) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "source", domElement: true}, + {name: "args", type: Sys.EventArgs} + ]); + if (e) throw e; + var target = source; + while (target) { + var control = target.control; + if (control && control.onBubbleEvent && control.raiseBubbleEvent) { + Sys.UI.DomElement._raiseBubbleEventFromControl(control, source, args); + return; + } + target = target.parentNode; + } +} +Sys.UI.DomElement._raiseBubbleEventFromControl = function Sys$UI$DomElement$_raiseBubbleEventFromControl(control, source, args) { + if (!control.onBubbleEvent(source, args)) { + control._raiseBubbleEvent(source, args); + } +} +Sys.UI.DomElement.setLocation = function Sys$UI$DomElement$setLocation(element, x, y) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true}, + {name: "x", type: Number, integer: true}, + {name: "y", type: Number, integer: true} + ]); + if (e) throw e; + var style = element.style; + style.position = 'absolute'; + style.left = x + "px"; + style.top = y + "px"; +} +Sys.UI.DomElement.toggleCssClass = function Sys$UI$DomElement$toggleCssClass(element, className) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true}, + {name: "className", type: String} + ]); + if (e) throw e; + if (Sys.UI.DomElement.containsCssClass(element, className)) { + Sys.UI.DomElement.removeCssClass(element, className); + } + else { + Sys.UI.DomElement.addCssClass(element, className); + } +} +Sys.UI.DomElement.getVisibilityMode = function Sys$UI$DomElement$getVisibilityMode(element) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true} + ]); + if (e) throw e; + return (element._visibilityMode === Sys.UI.VisibilityMode.hide) ? + Sys.UI.VisibilityMode.hide : + Sys.UI.VisibilityMode.collapse; +} +Sys.UI.DomElement.setVisibilityMode = function Sys$UI$DomElement$setVisibilityMode(element, value) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true}, + {name: "value", type: Sys.UI.VisibilityMode} + ]); + if (e) throw e; + Sys.UI.DomElement._ensureOldDisplayMode(element); + if (element._visibilityMode !== value) { + element._visibilityMode = value; + if (Sys.UI.DomElement.getVisible(element) === false) { + if (element._visibilityMode === Sys.UI.VisibilityMode.hide) { + element.style.display = element._oldDisplayMode; + } + else { + element.style.display = 'none'; + } + } + element._visibilityMode = value; + } +} +Sys.UI.DomElement.getVisible = function Sys$UI$DomElement$getVisible(element) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true} + ]); + if (e) throw e; + var style = element.currentStyle || Sys.UI.DomElement._getCurrentStyle(element); + if (!style) return true; + return (style.visibility !== 'hidden') && (style.display !== 'none'); +} +Sys.UI.DomElement.setVisible = function Sys$UI$DomElement$setVisible(element, value) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true}, + {name: "value", type: Boolean} + ]); + if (e) throw e; + if (value !== Sys.UI.DomElement.getVisible(element)) { + Sys.UI.DomElement._ensureOldDisplayMode(element); + element.style.visibility = value ? 'visible' : 'hidden'; + if (value || (element._visibilityMode === Sys.UI.VisibilityMode.hide)) { + element.style.display = element._oldDisplayMode; + } + else { + element.style.display = 'none'; + } + } +} +Sys.UI.DomElement._ensureOldDisplayMode = function Sys$UI$DomElement$_ensureOldDisplayMode(element) { + if (!element._oldDisplayMode) { + var style = element.currentStyle || Sys.UI.DomElement._getCurrentStyle(element); + element._oldDisplayMode = style ? style.display : null; + if (!element._oldDisplayMode || element._oldDisplayMode === 'none') { + switch(element.tagName.toUpperCase()) { + case 'DIV': case 'P': case 'ADDRESS': case 'BLOCKQUOTE': case 'BODY': case 'COL': + case 'COLGROUP': case 'DD': case 'DL': case 'DT': case 'FIELDSET': case 'FORM': + case 'H1': case 'H2': case 'H3': case 'H4': case 'H5': case 'H6': case 'HR': + case 'IFRAME': case 'LEGEND': case 'OL': case 'PRE': case 'TABLE': case 'TD': + case 'TH': case 'TR': case 'UL': + element._oldDisplayMode = 'block'; + break; + case 'LI': + element._oldDisplayMode = 'list-item'; + break; + default: + element._oldDisplayMode = 'inline'; + } + } + } +} +Sys.UI.DomElement._getWindow = function Sys$UI$DomElement$_getWindow(element) { + var doc = element.ownerDocument || element.document || element; + return doc.defaultView || doc.parentWindow; +} +Sys.UI.DomElement._getCurrentStyle = function Sys$UI$DomElement$_getCurrentStyle(element) { + if (element.nodeType === 3) return null; + var w = Sys.UI.DomElement._getWindow(element); + if (element.documentElement) element = element.documentElement; + var computedStyle = (w && (element !== w) && w.getComputedStyle) ? + w.getComputedStyle(element, null) : + element.currentStyle || element.style; + if (!computedStyle && (Sys.Browser.agent === Sys.Browser.Safari) && element.style) { + var oldDisplay = element.style.display; + var oldPosition = element.style.position; + element.style.position = 'absolute'; + element.style.display = 'block'; + var style = w.getComputedStyle(element, null); + element.style.display = oldDisplay; + element.style.position = oldPosition; + computedStyle = {}; + for (var n in style) { + computedStyle[n] = style[n]; + } + computedStyle.display = 'none'; + } + return computedStyle; +} + +Sys.IContainer = function Sys$IContainer() { + throw Error.notImplemented(); +} + function Sys$IContainer$addComponent(component) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "component", type: Sys.Component} + ]); + if (e) throw e; + throw Error.notImplemented(); + } + function Sys$IContainer$removeComponent(component) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "component", type: Sys.Component} + ]); + if (e) throw e; + throw Error.notImplemented(); + } + function Sys$IContainer$findComponent(id) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "id", type: String} + ]); + if (e) throw e; + throw Error.notImplemented(); + } + function Sys$IContainer$getComponents() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } +Sys.IContainer.prototype = { + addComponent: Sys$IContainer$addComponent, + removeComponent: Sys$IContainer$removeComponent, + findComponent: Sys$IContainer$findComponent, + getComponents: Sys$IContainer$getComponents +} +Sys.IContainer.registerInterface("Sys.IContainer"); + +Sys.ApplicationLoadEventArgs = function Sys$ApplicationLoadEventArgs(components, isPartialLoad) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "components", type: Array, elementType: Sys.Component}, + {name: "isPartialLoad", type: Boolean} + ]); + if (e) throw e; + Sys.ApplicationLoadEventArgs.initializeBase(this); + this._components = components; + this._isPartialLoad = isPartialLoad; +} + + function Sys$ApplicationLoadEventArgs$get_components() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._components; + } + function Sys$ApplicationLoadEventArgs$get_isPartialLoad() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._isPartialLoad; + } +Sys.ApplicationLoadEventArgs.prototype = { + get_components: Sys$ApplicationLoadEventArgs$get_components, + get_isPartialLoad: Sys$ApplicationLoadEventArgs$get_isPartialLoad +} +Sys.ApplicationLoadEventArgs.registerClass('Sys.ApplicationLoadEventArgs', Sys.EventArgs); + +Sys._Application = function Sys$_Application() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + Sys._Application.initializeBase(this); + this._disposableObjects = []; + this._components = {}; + this._createdComponents = []; + this._secondPassComponents = []; + this._unloadHandlerDelegate = Function.createDelegate(this, this._unloadHandler); + Sys.UI.DomEvent.addHandler(window, "unload", this._unloadHandlerDelegate); + this._domReady(); +} + function Sys$_Application$get_isCreatingComponents() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._creatingComponents; + } + function Sys$_Application$get_isDisposing() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._disposing; + } + function Sys$_Application$add_init(handler) { + /// + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + if (this._initialized) { + handler(this, Sys.EventArgs.Empty); + } + else { + this.get_events().addHandler("init", handler); + } + } + function Sys$_Application$remove_init(handler) { + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this.get_events().removeHandler("init", handler); + } + function Sys$_Application$add_load(handler) { + /// + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this.get_events().addHandler("load", handler); + } + function Sys$_Application$remove_load(handler) { + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this.get_events().removeHandler("load", handler); + } + function Sys$_Application$add_unload(handler) { + /// + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this.get_events().addHandler("unload", handler); + } + function Sys$_Application$remove_unload(handler) { + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this.get_events().removeHandler("unload", handler); + } + function Sys$_Application$addComponent(component) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "component", type: Sys.Component} + ]); + if (e) throw e; + var id = component.get_id(); + if (!id) throw Error.invalidOperation(Sys.Res.cantAddWithoutId); + if (typeof(this._components[id]) !== 'undefined') throw Error.invalidOperation(String.format(Sys.Res.appDuplicateComponent, id)); + this._components[id] = component; + } + function Sys$_Application$beginCreateComponents() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + this._creatingComponents = true; + } + function Sys$_Application$dispose() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._disposing) { + this._disposing = true; + if (this._timerCookie) { + window.clearTimeout(this._timerCookie); + delete this._timerCookie; + } + if (this._endRequestHandler) { + Sys.WebForms.PageRequestManager.getInstance().remove_endRequest(this._endRequestHandler); + delete this._endRequestHandler; + } + if (this._beginRequestHandler) { + Sys.WebForms.PageRequestManager.getInstance().remove_beginRequest(this._beginRequestHandler); + delete this._beginRequestHandler; + } + if (window.pageUnload) { + window.pageUnload(this, Sys.EventArgs.Empty); + } + var unloadHandler = this.get_events().getHandler("unload"); + if (unloadHandler) { + unloadHandler(this, Sys.EventArgs.Empty); + } + var disposableObjects = Array.clone(this._disposableObjects); + for (var i = 0, l = disposableObjects.length; i < l; i++) { + var object = disposableObjects[i]; + if (typeof(object) !== "undefined") { + object.dispose(); + } + } + Array.clear(this._disposableObjects); + Sys.UI.DomEvent.removeHandler(window, "unload", this._unloadHandlerDelegate); + if (Sys._ScriptLoader) { + var sl = Sys._ScriptLoader.getInstance(); + if(sl) { + sl.dispose(); + } + } + Sys._Application.callBaseMethod(this, 'dispose'); + } + } + function Sys$_Application$disposeElement(element, childNodesOnly) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element"}, + {name: "childNodesOnly", type: Boolean} + ]); + if (e) throw e; + if (element.nodeType === 1) { + var children = element.getElementsByTagName("*"); + for (var i = children.length - 1; i >= 0; i--) { + this._disposeElementInternal(children[i]); + } + if (!childNodesOnly) { + this._disposeElementInternal(element); + } + } + } + function Sys$_Application$endCreateComponents() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + var components = this._secondPassComponents; + for (var i = 0, l = components.length; i < l; i++) { + var component = components[i].component; + Sys$Component$_setReferences(component, components[i].references); + component.endUpdate(); + } + this._secondPassComponents = []; + this._creatingComponents = false; + } + function Sys$_Application$findComponent(id, parent) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "id", type: String}, + {name: "parent", mayBeNull: true, optional: true} + ]); + if (e) throw e; + return (parent ? + ((Sys.IContainer.isInstanceOfType(parent)) ? + parent.findComponent(id) : + parent[id] || null) : + Sys.Application._components[id] || null); + } + function Sys$_Application$getComponents() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + var res = []; + var components = this._components; + for (var name in components) { + res[res.length] = components[name]; + } + return res; + } + function Sys$_Application$initialize() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if(!this.get_isInitialized() && !this._disposing) { + Sys._Application.callBaseMethod(this, 'initialize'); + this._raiseInit(); + if (this.get_stateString) { + if (Sys.WebForms && Sys.WebForms.PageRequestManager) { + this._beginRequestHandler = Function.createDelegate(this, this._onPageRequestManagerBeginRequest); + Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(this._beginRequestHandler); + this._endRequestHandler = Function.createDelegate(this, this._onPageRequestManagerEndRequest); + Sys.WebForms.PageRequestManager.getInstance().add_endRequest(this._endRequestHandler); + } + var loadedEntry = this.get_stateString(); + if (loadedEntry !== this._currentEntry) { + this._navigate(loadedEntry); + } + else { + this._ensureHistory(); + } + } + this.raiseLoad(); + } + } + function Sys$_Application$notifyScriptLoaded() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + } + function Sys$_Application$registerDisposableObject(object) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "object", type: Sys.IDisposable} + ]); + if (e) throw e; + if (!this._disposing) { + var objects = this._disposableObjects, + i = objects.length; + objects[i] = object; + object.__msdisposeindex = i; + } + } + function Sys$_Application$raiseLoad() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + var h = this.get_events().getHandler("load"); + var args = new Sys.ApplicationLoadEventArgs(Array.clone(this._createdComponents), !!this._loaded); + this._loaded = true; + if (h) { + h(this, args); + } + if (window.pageLoad) { + window.pageLoad(this, args); + } + this._createdComponents = []; + } + function Sys$_Application$removeComponent(component) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "component", type: Sys.Component} + ]); + if (e) throw e; + var id = component.get_id(); + if (id) delete this._components[id]; + } + function Sys$_Application$unregisterDisposableObject(object) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "object", type: Sys.IDisposable} + ]); + if (e) throw e; + if (!this._disposing) { + var i = object.__msdisposeindex; + if (typeof(i) === "number") { + var disposableObjects = this._disposableObjects; + delete disposableObjects[i]; + delete object.__msdisposeindex; + if (++this._deleteCount > 1000) { + var newArray = []; + for (var j = 0, l = disposableObjects.length; j < l; j++) { + object = disposableObjects[j]; + if (typeof(object) !== "undefined") { + object.__msdisposeindex = newArray.length; + newArray.push(object); + } + } + this._disposableObjects = newArray; + this._deleteCount = 0; + } + } + } + } + function Sys$_Application$_addComponentToSecondPass(component, references) { + this._secondPassComponents[this._secondPassComponents.length] = {component: component, references: references}; + } + function Sys$_Application$_disposeComponents(list) { + if (list) { + for (var i = list.length - 1; i >= 0; i--) { + var item = list[i]; + if (typeof(item.dispose) === "function") { + item.dispose(); + } + } + } + } + function Sys$_Application$_disposeElementInternal(element) { + var d = element.dispose; + if (d && typeof(d) === "function") { + element.dispose(); + } + else { + var c = element.control; + if (c && typeof(c.dispose) === "function") { + c.dispose(); + } + } + var list = element._behaviors; + if (list) { + this._disposeComponents(list); + } + list = element._components; + if (list) { + this._disposeComponents(list); + element._components = null; + } + } + function Sys$_Application$_domReady() { + var check, er, app = this; + function init() { app.initialize(); } + var onload = function() { + Sys.UI.DomEvent.removeHandler(window, "load", onload); + init(); + } + Sys.UI.DomEvent.addHandler(window, "load", onload); + + if (document.addEventListener) { + try { + document.addEventListener("DOMContentLoaded", check = function() { + document.removeEventListener("DOMContentLoaded", check, false); + init(); + }, false); + } + catch (er) { } + } + else if (document.attachEvent) { + if ((window == window.top) && document.documentElement.doScroll) { + var timeout, el = document.createElement("div"); + check = function() { + try { + el.doScroll("left"); + } + catch (er) { + timeout = window.setTimeout(check, 0); + return; + } + el = null; + init(); + } + check(); + } + else { + document.attachEvent("onreadystatechange", check = function() { + if (document.readyState === "complete") { + document.detachEvent("onreadystatechange", check); + init(); + } + }); + } + } + } + function Sys$_Application$_raiseInit() { + var handler = this.get_events().getHandler("init"); + if (handler) { + this.beginCreateComponents(); + handler(this, Sys.EventArgs.Empty); + this.endCreateComponents(); + } + } + function Sys$_Application$_unloadHandler(event) { + this.dispose(); + } +Sys._Application.prototype = { + _creatingComponents: false, + _disposing: false, + _deleteCount: 0, + get_isCreatingComponents: Sys$_Application$get_isCreatingComponents, + get_isDisposing: Sys$_Application$get_isDisposing, + add_init: Sys$_Application$add_init, + remove_init: Sys$_Application$remove_init, + add_load: Sys$_Application$add_load, + remove_load: Sys$_Application$remove_load, + add_unload: Sys$_Application$add_unload, + remove_unload: Sys$_Application$remove_unload, + addComponent: Sys$_Application$addComponent, + beginCreateComponents: Sys$_Application$beginCreateComponents, + dispose: Sys$_Application$dispose, + disposeElement: Sys$_Application$disposeElement, + endCreateComponents: Sys$_Application$endCreateComponents, + findComponent: Sys$_Application$findComponent, + getComponents: Sys$_Application$getComponents, + initialize: Sys$_Application$initialize, + notifyScriptLoaded: Sys$_Application$notifyScriptLoaded, + registerDisposableObject: Sys$_Application$registerDisposableObject, + raiseLoad: Sys$_Application$raiseLoad, + removeComponent: Sys$_Application$removeComponent, + unregisterDisposableObject: Sys$_Application$unregisterDisposableObject, + _addComponentToSecondPass: Sys$_Application$_addComponentToSecondPass, + _disposeComponents: Sys$_Application$_disposeComponents, + _disposeElementInternal: Sys$_Application$_disposeElementInternal, + _domReady: Sys$_Application$_domReady, + _raiseInit: Sys$_Application$_raiseInit, + _unloadHandler: Sys$_Application$_unloadHandler +} +Sys._Application.registerClass('Sys._Application', Sys.Component, Sys.IContainer); +Sys.Application = new Sys._Application(); +var $find = Sys.Application.findComponent; + +Sys.UI.Behavior = function Sys$UI$Behavior(element) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true} + ]); + if (e) throw e; + Sys.UI.Behavior.initializeBase(this); + this._element = element; + var behaviors = element._behaviors; + if (!behaviors) { + element._behaviors = [this]; + } + else { + behaviors[behaviors.length] = this; + } +} + function Sys$UI$Behavior$get_element() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._element; + } + function Sys$UI$Behavior$get_id() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + var baseId = Sys.UI.Behavior.callBaseMethod(this, 'get_id'); + if (baseId) return baseId; + if (!this._element || !this._element.id) return ''; + return this._element.id + '$' + this.get_name(); + } + function Sys$UI$Behavior$get_name() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (this._name) return this._name; + var name = Object.getTypeName(this); + var i = name.lastIndexOf('.'); + if (i !== -1) name = name.substr(i + 1); + if (!this.get_isInitialized()) this._name = name; + return name; + } + function Sys$UI$Behavior$set_name(value) { + var e = Function._validateParams(arguments, [{name: "value", type: String}]); + if (e) throw e; + if ((value === '') || (value.charAt(0) === ' ') || (value.charAt(value.length - 1) === ' ')) + throw Error.argument('value', Sys.Res.invalidId); + if (typeof(this._element[value]) !== 'undefined') + throw Error.invalidOperation(String.format(Sys.Res.behaviorDuplicateName, value)); + if (this.get_isInitialized()) throw Error.invalidOperation(Sys.Res.cantSetNameAfterInit); + this._name = value; + } + function Sys$UI$Behavior$initialize() { + Sys.UI.Behavior.callBaseMethod(this, 'initialize'); + var name = this.get_name(); + if (name) this._element[name] = this; + } + function Sys$UI$Behavior$dispose() { + Sys.UI.Behavior.callBaseMethod(this, 'dispose'); + var e = this._element; + if (e) { + var name = this.get_name(); + if (name) { + e[name] = null; + } + var behaviors = e._behaviors; + Array.remove(behaviors, this); + if (behaviors.length === 0) { + e._behaviors = null; + } + delete this._element; + } + } +Sys.UI.Behavior.prototype = { + _name: null, + get_element: Sys$UI$Behavior$get_element, + get_id: Sys$UI$Behavior$get_id, + get_name: Sys$UI$Behavior$get_name, + set_name: Sys$UI$Behavior$set_name, + initialize: Sys$UI$Behavior$initialize, + dispose: Sys$UI$Behavior$dispose +} +Sys.UI.Behavior.registerClass('Sys.UI.Behavior', Sys.Component); +Sys.UI.Behavior.getBehaviorByName = function Sys$UI$Behavior$getBehaviorByName(element, name) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true}, + {name: "name", type: String} + ]); + if (e) throw e; + var b = element[name]; + return (b && Sys.UI.Behavior.isInstanceOfType(b)) ? b : null; +} +Sys.UI.Behavior.getBehaviors = function Sys$UI$Behavior$getBehaviors(element) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true} + ]); + if (e) throw e; + if (!element._behaviors) return []; + return Array.clone(element._behaviors); +} +Sys.UI.Behavior.getBehaviorsByType = function Sys$UI$Behavior$getBehaviorsByType(element, type) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true}, + {name: "type", type: Type} + ]); + if (e) throw e; + var behaviors = element._behaviors; + var results = []; + if (behaviors) { + for (var i = 0, l = behaviors.length; i < l; i++) { + if (type.isInstanceOfType(behaviors[i])) { + results[results.length] = behaviors[i]; + } + } + } + return results; +} + +Sys.UI.VisibilityMode = function Sys$UI$VisibilityMode() { + /// + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); +} +Sys.UI.VisibilityMode.prototype = { + hide: 0, + collapse: 1 +} +Sys.UI.VisibilityMode.registerEnum("Sys.UI.VisibilityMode"); + +Sys.UI.Control = function Sys$UI$Control(element) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true} + ]); + if (e) throw e; + if (typeof(element.control) !== 'undefined') throw Error.invalidOperation(Sys.Res.controlAlreadyDefined); + Sys.UI.Control.initializeBase(this); + this._element = element; + element.control = this; + var role = this.get_role(); + if (role) { + element.setAttribute("role", role); + } +} + function Sys$UI$Control$get_element() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._element; + } + function Sys$UI$Control$get_id() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._element) return ''; + return this._element.id; + } + function Sys$UI$Control$set_id(value) { + var e = Function._validateParams(arguments, [{name: "value", type: String}]); + if (e) throw e; + throw Error.invalidOperation(Sys.Res.cantSetId); + } + function Sys$UI$Control$get_parent() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (this._parent) return this._parent; + if (!this._element) return null; + + var parentElement = this._element.parentNode; + while (parentElement) { + if (parentElement.control) { + return parentElement.control; + } + parentElement = parentElement.parentNode; + } + return null; + } + function Sys$UI$Control$set_parent(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Sys.UI.Control}]); + if (e) throw e; + if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); + var parents = [this]; + var current = value; + while (current) { + if (Array.contains(parents, current)) throw Error.invalidOperation(Sys.Res.circularParentChain); + parents[parents.length] = current; + current = current.get_parent(); + } + this._parent = value; + } + function Sys$UI$Control$get_role() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return null; + } + function Sys$UI$Control$get_visibilityMode() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); + return Sys.UI.DomElement.getVisibilityMode(this._element); + } + function Sys$UI$Control$set_visibilityMode(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Sys.UI.VisibilityMode}]); + if (e) throw e; + if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); + Sys.UI.DomElement.setVisibilityMode(this._element, value); + } + function Sys$UI$Control$get_visible() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); + return Sys.UI.DomElement.getVisible(this._element); + } + function Sys$UI$Control$set_visible(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]); + if (e) throw e; + if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); + Sys.UI.DomElement.setVisible(this._element, value) + } + function Sys$UI$Control$addCssClass(className) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "className", type: String} + ]); + if (e) throw e; + if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); + Sys.UI.DomElement.addCssClass(this._element, className); + } + function Sys$UI$Control$dispose() { + Sys.UI.Control.callBaseMethod(this, 'dispose'); + if (this._element) { + this._element.control = null; + delete this._element; + } + if (this._parent) delete this._parent; + } + function Sys$UI$Control$onBubbleEvent(source, args) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "source"}, + {name: "args", type: Sys.EventArgs} + ]); + if (e) throw e; + return false; + } + function Sys$UI$Control$raiseBubbleEvent(source, args) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "source"}, + {name: "args", type: Sys.EventArgs} + ]); + if (e) throw e; + this._raiseBubbleEvent(source, args); + } + function Sys$UI$Control$_raiseBubbleEvent(source, args) { + var currentTarget = this.get_parent(); + while (currentTarget) { + if (currentTarget.onBubbleEvent(source, args)) { + return; + } + currentTarget = currentTarget.get_parent(); + } + } + function Sys$UI$Control$removeCssClass(className) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "className", type: String} + ]); + if (e) throw e; + if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); + Sys.UI.DomElement.removeCssClass(this._element, className); + } + function Sys$UI$Control$toggleCssClass(className) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "className", type: String} + ]); + if (e) throw e; + if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); + Sys.UI.DomElement.toggleCssClass(this._element, className); + } +Sys.UI.Control.prototype = { + _parent: null, + _visibilityMode: Sys.UI.VisibilityMode.hide, + get_element: Sys$UI$Control$get_element, + get_id: Sys$UI$Control$get_id, + set_id: Sys$UI$Control$set_id, + get_parent: Sys$UI$Control$get_parent, + set_parent: Sys$UI$Control$set_parent, + get_role: Sys$UI$Control$get_role, + get_visibilityMode: Sys$UI$Control$get_visibilityMode, + set_visibilityMode: Sys$UI$Control$set_visibilityMode, + get_visible: Sys$UI$Control$get_visible, + set_visible: Sys$UI$Control$set_visible, + addCssClass: Sys$UI$Control$addCssClass, + dispose: Sys$UI$Control$dispose, + onBubbleEvent: Sys$UI$Control$onBubbleEvent, + raiseBubbleEvent: Sys$UI$Control$raiseBubbleEvent, + _raiseBubbleEvent: Sys$UI$Control$_raiseBubbleEvent, + removeCssClass: Sys$UI$Control$removeCssClass, + toggleCssClass: Sys$UI$Control$toggleCssClass +} +Sys.UI.Control.registerClass('Sys.UI.Control', Sys.Component); +Sys.HistoryEventArgs = function Sys$HistoryEventArgs(state) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "state", type: Object} + ]); + if (e) throw e; + Sys.HistoryEventArgs.initializeBase(this); + this._state = state; +} + function Sys$HistoryEventArgs$get_state() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._state; + } +Sys.HistoryEventArgs.prototype = { + get_state: Sys$HistoryEventArgs$get_state +} +Sys.HistoryEventArgs.registerClass('Sys.HistoryEventArgs', Sys.EventArgs); +Sys.Application._appLoadHandler = null; +Sys.Application._beginRequestHandler = null; +Sys.Application._clientId = null; +Sys.Application._currentEntry = ''; +Sys.Application._endRequestHandler = null; +Sys.Application._history = null; +Sys.Application._enableHistory = false; +Sys.Application._historyEnabledInScriptManager = false; +Sys.Application._historyFrame = null; +Sys.Application._historyInitialized = false; +Sys.Application._historyPointIsNew = false; +Sys.Application._ignoreTimer = false; +Sys.Application._initialState = null; +Sys.Application._state = {}; +Sys.Application._timerCookie = 0; +Sys.Application._timerHandler = null; +Sys.Application._uniqueId = null; +Sys._Application.prototype.get_stateString = function Sys$_Application$get_stateString() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + var hash = null; + + if (Sys.Browser.agent === Sys.Browser.Firefox) { + var href = window.location.href; + var hashIndex = href.indexOf('#'); + if (hashIndex !== -1) { + hash = href.substring(hashIndex + 1); + } + else { + hash = ""; + } + return hash; + } + else { + hash = window.location.hash; + } + + if ((hash.length > 0) && (hash.charAt(0) === '#')) { + hash = hash.substring(1); + } + return hash; +}; +Sys._Application.prototype.get_enableHistory = function Sys$_Application$get_enableHistory() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._enableHistory; +}; +Sys._Application.prototype.set_enableHistory = function Sys$_Application$set_enableHistory(value) { + if (this._initialized && !this._initializing) { + throw Error.invalidOperation(Sys.Res.historyCannotEnableHistory); + } + else if (this._historyEnabledInScriptManager && !value) { + throw Error.invalidOperation(Sys.Res.invalidHistorySettingCombination); + } + this._enableHistory = value; +}; +Sys._Application.prototype.add_navigate = function Sys$_Application$add_navigate(handler) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "handler", type: Function} + ]); + if (e) throw e; + this.get_events().addHandler("navigate", handler); +}; +Sys._Application.prototype.remove_navigate = function Sys$_Application$remove_navigate(handler) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "handler", type: Function} + ]); + if (e) throw e; + this.get_events().removeHandler("navigate", handler); +}; +Sys._Application.prototype.addHistoryPoint = function Sys$_Application$addHistoryPoint(state, title) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "state", type: Object}, + {name: "title", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + if (!this._enableHistory) throw Error.invalidOperation(Sys.Res.historyCannotAddHistoryPointWithHistoryDisabled); + for (var n in state) { + var v = state[n]; + var t = typeof(v); + if ((v !== null) && ((t === 'object') || (t === 'function') || (t === 'undefined'))) { + throw Error.argument('state', Sys.Res.stateMustBeStringDictionary); + } + } + this._ensureHistory(); + var initialState = this._state; + for (var key in state) { + var value = state[key]; + if (value === null) { + if (typeof(initialState[key]) !== 'undefined') { + delete initialState[key]; + } + } + else { + initialState[key] = value; + } + } + var entry = this._serializeState(initialState); + this._historyPointIsNew = true; + this._setState(entry, title); + this._raiseNavigate(); +}; +Sys._Application.prototype.setServerId = function Sys$_Application$setServerId(clientId, uniqueId) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "clientId", type: String}, + {name: "uniqueId", type: String} + ]); + if (e) throw e; + this._clientId = clientId; + this._uniqueId = uniqueId; +}; +Sys._Application.prototype.setServerState = function Sys$_Application$setServerState(value) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "value", type: String} + ]); + if (e) throw e; + this._ensureHistory(); + this._state.__s = value; + this._updateHiddenField(value); +}; +Sys._Application.prototype._deserializeState = function Sys$_Application$_deserializeState(entry) { + var result = {}; + entry = entry || ''; + var serverSeparator = entry.indexOf('&&'); + if ((serverSeparator !== -1) && (serverSeparator + 2 < entry.length)) { + result.__s = entry.substr(serverSeparator + 2); + entry = entry.substr(0, serverSeparator); + } + var tokens = entry.split('&'); + for (var i = 0, l = tokens.length; i < l; i++) { + var token = tokens[i]; + var equal = token.indexOf('='); + if ((equal !== -1) && (equal + 1 < token.length)) { + var name = token.substr(0, equal); + var value = token.substr(equal + 1); + result[name] = decodeURIComponent(value); + } + } + return result; +}; +Sys._Application.prototype._enableHistoryInScriptManager = function Sys$_Application$_enableHistoryInScriptManager() { + this._enableHistory = true; + this._historyEnabledInScriptManager = true; +}; +Sys._Application.prototype._ensureHistory = function Sys$_Application$_ensureHistory() { + if (!this._historyInitialized && this._enableHistory) { + if ((Sys.Browser.agent === Sys.Browser.InternetExplorer) && (Sys.Browser.documentMode < 8)) { + this._historyFrame = document.getElementById('__historyFrame'); + if (!this._historyFrame) throw Error.invalidOperation(Sys.Res.historyMissingFrame); + this._ignoreIFrame = true; + } + this._timerHandler = Function.createDelegate(this, this._onIdle); + this._timerCookie = window.setTimeout(this._timerHandler, 100); + + try { + this._initialState = this._deserializeState(this.get_stateString()); + } catch(e) {} + + this._historyInitialized = true; + } +}; +Sys._Application.prototype._navigate = function Sys$_Application$_navigate(entry) { + this._ensureHistory(); + var state = this._deserializeState(entry); + + if (this._uniqueId) { + var oldServerEntry = this._state.__s || ''; + var newServerEntry = state.__s || ''; + if (newServerEntry !== oldServerEntry) { + this._updateHiddenField(newServerEntry); + __doPostBack(this._uniqueId, newServerEntry); + this._state = state; + return; + } + } + this._setState(entry); + this._state = state; + this._raiseNavigate(); +}; +Sys._Application.prototype._onIdle = function Sys$_Application$_onIdle() { + delete this._timerCookie; + + var entry = this.get_stateString(); + if (entry !== this._currentEntry) { + if (!this._ignoreTimer) { + this._historyPointIsNew = false; + this._navigate(entry); + } + } + else { + this._ignoreTimer = false; + } + this._timerCookie = window.setTimeout(this._timerHandler, 100); +}; +Sys._Application.prototype._onIFrameLoad = function Sys$_Application$_onIFrameLoad(entry) { + this._ensureHistory(); + if (!this._ignoreIFrame) { + this._historyPointIsNew = false; + this._navigate(entry); + } + this._ignoreIFrame = false; +}; +Sys._Application.prototype._onPageRequestManagerBeginRequest = function Sys$_Application$_onPageRequestManagerBeginRequest(sender, args) { + this._ignoreTimer = true; +}; +Sys._Application.prototype._onPageRequestManagerEndRequest = function Sys$_Application$_onPageRequestManagerEndRequest(sender, args) { + var dataItem = args.get_dataItems()[this._clientId]; + var eventTarget = document.getElementById("__EVENTTARGET"); + if (eventTarget && eventTarget.value === this._uniqueId) { + eventTarget.value = ''; + } + if (typeof(dataItem) !== 'undefined') { + this.setServerState(dataItem); + this._historyPointIsNew = true; + } + else { + this._ignoreTimer = false; + } + var entry = this._serializeState(this._state); + if (entry !== this._currentEntry) { + this._ignoreTimer = true; + this._setState(entry); + this._raiseNavigate(); + } +}; +Sys._Application.prototype._raiseNavigate = function Sys$_Application$_raiseNavigate() { + var h = this.get_events().getHandler("navigate"); + var stateClone = {}; + for (var key in this._state) { + if (key !== '__s') { + stateClone[key] = this._state[key]; + } + } + var args = new Sys.HistoryEventArgs(stateClone); + if (h) { + h(this, args); + } + var err; + try { + if ((Sys.Browser.agent === Sys.Browser.Firefox) && window.location.hash && + (!window.frameElement || window.top.location.hash)) { + window.history.go(0); + } + } + catch(err) { + } +}; +Sys._Application.prototype._serializeState = function Sys$_Application$_serializeState(state) { + var serialized = []; + for (var key in state) { + var value = state[key]; + if (key === '__s') { + var serverState = value; + } + else { + if (key.indexOf('=') !== -1) throw Error.argument('state', Sys.Res.stateFieldNameInvalid); + serialized[serialized.length] = key + '=' + encodeURIComponent(value); + } + } + return serialized.join('&') + (serverState ? '&&' + serverState : ''); +}; +Sys._Application.prototype._setState = function Sys$_Application$_setState(entry, title) { + if (this._enableHistory) { + entry = entry || ''; + if (entry !== this._currentEntry) { + if (window.theForm) { + var action = window.theForm.action; + var hashIndex = action.indexOf('#'); + window.theForm.action = ((hashIndex !== -1) ? action.substring(0, hashIndex) : action) + '#' + entry; + } + + if (this._historyFrame && this._historyPointIsNew) { + this._ignoreIFrame = true; + var frameDoc = this._historyFrame.contentWindow.document; + frameDoc.open("javascript:''"); + frameDoc.write("" + (title || document.title) + + "parent.Sys.Application._onIFrameLoad(" + + Sys.Serialization.JavaScriptSerializer.serialize(entry) + + ");"); + frameDoc.close(); + } + this._ignoreTimer = false; + this._currentEntry = entry; + if (this._historyFrame || this._historyPointIsNew) { + var currentHash = this.get_stateString(); + if (entry !== currentHash) { + var loc = document.location; + if (loc.href.length - loc.hash.length + entry.length > 1024) { + throw Error.invalidOperation(Sys.Res.urlMustBeLessThan1024chars); + } + window.location.hash = entry; + this._currentEntry = this.get_stateString(); + if ((typeof(title) !== 'undefined') && (title !== null)) { + document.title = title; + } + } + } + this._historyPointIsNew = false; + } + } +}; +Sys._Application.prototype._updateHiddenField = function Sys$_Application$_updateHiddenField(value) { + if (this._clientId) { + var serverStateField = document.getElementById(this._clientId); + if (serverStateField) { + serverStateField.value = value; + } + } +}; + +if (!window.XMLHttpRequest) { + window.XMLHttpRequest = function window$XMLHttpRequest() { + var progIDs = [ 'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP' ]; + for (var i = 0, l = progIDs.length; i < l; i++) { + try { + return new ActiveXObject(progIDs[i]); + } + catch (ex) { + } + } + return null; + } +} +Type.registerNamespace('Sys.Net'); + +Sys.Net.WebRequestExecutor = function Sys$Net$WebRequestExecutor() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + this._webRequest = null; + this._resultObject = null; +} + function Sys$Net$WebRequestExecutor$get_webRequest() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._webRequest; + } + function Sys$Net$WebRequestExecutor$_set_webRequest(value) { + if (this.get_started()) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, 'set_webRequest')); + } + this._webRequest = value; + } + function Sys$Net$WebRequestExecutor$get_started() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$get_responseAvailable() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$get_timedOut() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$get_aborted() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$get_responseData() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$get_statusCode() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$get_statusText() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$get_xml() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$get_object() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._resultObject) { + this._resultObject = Sys.Serialization.JavaScriptSerializer.deserialize(this.get_responseData()); + } + return this._resultObject; + } + function Sys$Net$WebRequestExecutor$executeRequest() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$abort() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$getResponseHeader(header) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "header", type: String} + ]); + if (e) throw e; + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$getAllResponseHeaders() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } +Sys.Net.WebRequestExecutor.prototype = { + get_webRequest: Sys$Net$WebRequestExecutor$get_webRequest, + _set_webRequest: Sys$Net$WebRequestExecutor$_set_webRequest, + get_started: Sys$Net$WebRequestExecutor$get_started, + get_responseAvailable: Sys$Net$WebRequestExecutor$get_responseAvailable, + get_timedOut: Sys$Net$WebRequestExecutor$get_timedOut, + get_aborted: Sys$Net$WebRequestExecutor$get_aborted, + get_responseData: Sys$Net$WebRequestExecutor$get_responseData, + get_statusCode: Sys$Net$WebRequestExecutor$get_statusCode, + get_statusText: Sys$Net$WebRequestExecutor$get_statusText, + get_xml: Sys$Net$WebRequestExecutor$get_xml, + get_object: Sys$Net$WebRequestExecutor$get_object, + executeRequest: Sys$Net$WebRequestExecutor$executeRequest, + abort: Sys$Net$WebRequestExecutor$abort, + getResponseHeader: Sys$Net$WebRequestExecutor$getResponseHeader, + getAllResponseHeaders: Sys$Net$WebRequestExecutor$getAllResponseHeaders +} +Sys.Net.WebRequestExecutor.registerClass('Sys.Net.WebRequestExecutor'); + +Sys.Net.XMLDOM = function Sys$Net$XMLDOM(markup) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "markup", type: String} + ]); + if (e) throw e; + if (!window.DOMParser) { + var progIDs = [ 'Msxml2.DOMDocument.3.0', 'Msxml2.DOMDocument' ]; + for (var i = 0, l = progIDs.length; i < l; i++) { + try { + var xmlDOM = new ActiveXObject(progIDs[i]); + xmlDOM.async = false; + xmlDOM.loadXML(markup); + xmlDOM.setProperty('SelectionLanguage', 'XPath'); + return xmlDOM; + } + catch (ex) { + } + } + } + else { + try { + var domParser = new window.DOMParser(); + return domParser.parseFromString(markup, 'text/xml'); + } + catch (ex) { + } + } + return null; +} +Sys.Net.XMLHttpExecutor = function Sys$Net$XMLHttpExecutor() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + Sys.Net.XMLHttpExecutor.initializeBase(this); + var _this = this; + this._xmlHttpRequest = null; + this._webRequest = null; + this._responseAvailable = false; + this._timedOut = false; + this._timer = null; + this._aborted = false; + this._started = false; + this._onReadyStateChange = (function () { + + if (_this._xmlHttpRequest.readyState === 4 ) { + try { + if (typeof(_this._xmlHttpRequest.status) === "undefined") { + return; + } + } + catch(ex) { + return; + } + + _this._clearTimer(); + _this._responseAvailable = true; + _this._webRequest.completed(Sys.EventArgs.Empty); + if (_this._xmlHttpRequest != null) { + _this._xmlHttpRequest.onreadystatechange = Function.emptyMethod; + _this._xmlHttpRequest = null; + } + } + }); + this._clearTimer = (function() { + if (_this._timer != null) { + window.clearTimeout(_this._timer); + _this._timer = null; + } + }); + this._onTimeout = (function() { + if (!_this._responseAvailable) { + _this._clearTimer(); + _this._timedOut = true; + _this._xmlHttpRequest.onreadystatechange = Function.emptyMethod; + _this._xmlHttpRequest.abort(); + _this._webRequest.completed(Sys.EventArgs.Empty); + _this._xmlHttpRequest = null; + } + }); +} + function Sys$Net$XMLHttpExecutor$get_timedOut() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._timedOut; + } + function Sys$Net$XMLHttpExecutor$get_started() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._started; + } + function Sys$Net$XMLHttpExecutor$get_responseAvailable() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._responseAvailable; + } + function Sys$Net$XMLHttpExecutor$get_aborted() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._aborted; + } + function Sys$Net$XMLHttpExecutor$executeRequest() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + this._webRequest = this.get_webRequest(); + if (this._started) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, 'executeRequest')); + } + if (this._webRequest === null) { + throw Error.invalidOperation(Sys.Res.nullWebRequest); + } + var body = this._webRequest.get_body(); + var headers = this._webRequest.get_headers(); + this._xmlHttpRequest = new XMLHttpRequest(); + this._xmlHttpRequest.onreadystatechange = this._onReadyStateChange; + var verb = this._webRequest.get_httpVerb(); + this._xmlHttpRequest.open(verb, this._webRequest.getResolvedUrl(), true ); + this._xmlHttpRequest.setRequestHeader("X-Requested-With", "XMLHttpRequest"); + if (headers) { + for (var header in headers) { + var val = headers[header]; + if (typeof(val) !== "function") + this._xmlHttpRequest.setRequestHeader(header, val); + } + } + if (verb.toLowerCase() === "post") { + if ((headers === null) || !headers['Content-Type']) { + this._xmlHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8'); + } + if (!body) { + body = ""; + } + } + var timeout = this._webRequest.get_timeout(); + if (timeout > 0) { + this._timer = window.setTimeout(Function.createDelegate(this, this._onTimeout), timeout); + } + this._xmlHttpRequest.send(body); + this._started = true; + } + function Sys$Net$XMLHttpExecutor$getResponseHeader(header) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "header", type: String} + ]); + if (e) throw e; + if (!this._responseAvailable) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'getResponseHeader')); + } + if (!this._xmlHttpRequest) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'getResponseHeader')); + } + var result; + try { + result = this._xmlHttpRequest.getResponseHeader(header); + } catch (e) { + } + if (!result) result = ""; + return result; + } + function Sys$Net$XMLHttpExecutor$getAllResponseHeaders() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._responseAvailable) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'getAllResponseHeaders')); + } + if (!this._xmlHttpRequest) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'getAllResponseHeaders')); + } + return this._xmlHttpRequest.getAllResponseHeaders(); + } + function Sys$Net$XMLHttpExecutor$get_responseData() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._responseAvailable) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_responseData')); + } + if (!this._xmlHttpRequest) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_responseData')); + } + return this._xmlHttpRequest.responseText; + } + function Sys$Net$XMLHttpExecutor$get_statusCode() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._responseAvailable) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_statusCode')); + } + if (!this._xmlHttpRequest) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_statusCode')); + } + var result = 0; + try { + result = this._xmlHttpRequest.status; + } + catch(ex) { + } + return result; + } + function Sys$Net$XMLHttpExecutor$get_statusText() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._responseAvailable) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_statusText')); + } + if (!this._xmlHttpRequest) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_statusText')); + } + return this._xmlHttpRequest.statusText; + } + function Sys$Net$XMLHttpExecutor$get_xml() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._responseAvailable) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_xml')); + } + if (!this._xmlHttpRequest) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_xml')); + } + var xml = this._xmlHttpRequest.responseXML; + if (!xml || !xml.documentElement) { + xml = Sys.Net.XMLDOM(this._xmlHttpRequest.responseText); + if (!xml || !xml.documentElement) + return null; + } + else if (navigator.userAgent.indexOf('MSIE') !== -1) { + xml.setProperty('SelectionLanguage', 'XPath'); + } + if (xml.documentElement.namespaceURI === "http://www.mozilla.org/newlayout/xml/parsererror.xml" && + xml.documentElement.tagName === "parsererror") { + return null; + } + + if (xml.documentElement.firstChild && xml.documentElement.firstChild.tagName === "parsererror") { + return null; + } + + return xml; + } + function Sys$Net$XMLHttpExecutor$abort() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._started) { + throw Error.invalidOperation(Sys.Res.cannotAbortBeforeStart); + } + if (this._aborted || this._responseAvailable || this._timedOut) + return; + this._aborted = true; + this._clearTimer(); + if (this._xmlHttpRequest && !this._responseAvailable) { + this._xmlHttpRequest.onreadystatechange = Function.emptyMethod; + this._xmlHttpRequest.abort(); + + this._xmlHttpRequest = null; + this._webRequest.completed(Sys.EventArgs.Empty); + } + } +Sys.Net.XMLHttpExecutor.prototype = { + get_timedOut: Sys$Net$XMLHttpExecutor$get_timedOut, + get_started: Sys$Net$XMLHttpExecutor$get_started, + get_responseAvailable: Sys$Net$XMLHttpExecutor$get_responseAvailable, + get_aborted: Sys$Net$XMLHttpExecutor$get_aborted, + executeRequest: Sys$Net$XMLHttpExecutor$executeRequest, + getResponseHeader: Sys$Net$XMLHttpExecutor$getResponseHeader, + getAllResponseHeaders: Sys$Net$XMLHttpExecutor$getAllResponseHeaders, + get_responseData: Sys$Net$XMLHttpExecutor$get_responseData, + get_statusCode: Sys$Net$XMLHttpExecutor$get_statusCode, + get_statusText: Sys$Net$XMLHttpExecutor$get_statusText, + get_xml: Sys$Net$XMLHttpExecutor$get_xml, + abort: Sys$Net$XMLHttpExecutor$abort +} +Sys.Net.XMLHttpExecutor.registerClass('Sys.Net.XMLHttpExecutor', Sys.Net.WebRequestExecutor); + +Sys.Net._WebRequestManager = function Sys$Net$_WebRequestManager() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + this._defaultTimeout = 0; + this._defaultExecutorType = "Sys.Net.XMLHttpExecutor"; +} + function Sys$Net$_WebRequestManager$add_invokingRequest(handler) { + /// + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this._get_eventHandlerList().addHandler("invokingRequest", handler); + } + function Sys$Net$_WebRequestManager$remove_invokingRequest(handler) { + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this._get_eventHandlerList().removeHandler("invokingRequest", handler); + } + function Sys$Net$_WebRequestManager$add_completedRequest(handler) { + /// + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this._get_eventHandlerList().addHandler("completedRequest", handler); + } + function Sys$Net$_WebRequestManager$remove_completedRequest(handler) { + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this._get_eventHandlerList().removeHandler("completedRequest", handler); + } + function Sys$Net$_WebRequestManager$_get_eventHandlerList() { + if (!this._events) { + this._events = new Sys.EventHandlerList(); + } + return this._events; + } + function Sys$Net$_WebRequestManager$get_defaultTimeout() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._defaultTimeout; + } + function Sys$Net$_WebRequestManager$set_defaultTimeout(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Number}]); + if (e) throw e; + if (value < 0) { + throw Error.argumentOutOfRange("value", value, Sys.Res.invalidTimeout); + } + this._defaultTimeout = value; + } + function Sys$Net$_WebRequestManager$get_defaultExecutorType() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._defaultExecutorType; + } + function Sys$Net$_WebRequestManager$set_defaultExecutorType(value) { + var e = Function._validateParams(arguments, [{name: "value", type: String}]); + if (e) throw e; + this._defaultExecutorType = value; + } + function Sys$Net$_WebRequestManager$executeRequest(webRequest) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "webRequest", type: Sys.Net.WebRequest} + ]); + if (e) throw e; + var executor = webRequest.get_executor(); + if (!executor) { + var failed = false; + try { + var executorType = eval(this._defaultExecutorType); + executor = new executorType(); + } catch (e) { + failed = true; + } + if (failed || !Sys.Net.WebRequestExecutor.isInstanceOfType(executor) || !executor) { + throw Error.argument("defaultExecutorType", String.format(Sys.Res.invalidExecutorType, this._defaultExecutorType)); + } + webRequest.set_executor(executor); + } + if (executor.get_aborted()) { + return; + } + var evArgs = new Sys.Net.NetworkRequestEventArgs(webRequest); + var handler = this._get_eventHandlerList().getHandler("invokingRequest"); + if (handler) { + handler(this, evArgs); + } + if (!evArgs.get_cancel()) { + executor.executeRequest(); + } + } +Sys.Net._WebRequestManager.prototype = { + add_invokingRequest: Sys$Net$_WebRequestManager$add_invokingRequest, + remove_invokingRequest: Sys$Net$_WebRequestManager$remove_invokingRequest, + add_completedRequest: Sys$Net$_WebRequestManager$add_completedRequest, + remove_completedRequest: Sys$Net$_WebRequestManager$remove_completedRequest, + _get_eventHandlerList: Sys$Net$_WebRequestManager$_get_eventHandlerList, + get_defaultTimeout: Sys$Net$_WebRequestManager$get_defaultTimeout, + set_defaultTimeout: Sys$Net$_WebRequestManager$set_defaultTimeout, + get_defaultExecutorType: Sys$Net$_WebRequestManager$get_defaultExecutorType, + set_defaultExecutorType: Sys$Net$_WebRequestManager$set_defaultExecutorType, + executeRequest: Sys$Net$_WebRequestManager$executeRequest +} +Sys.Net._WebRequestManager.registerClass('Sys.Net._WebRequestManager'); +Sys.Net.WebRequestManager = new Sys.Net._WebRequestManager(); + +Sys.Net.NetworkRequestEventArgs = function Sys$Net$NetworkRequestEventArgs(webRequest) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "webRequest", type: Sys.Net.WebRequest} + ]); + if (e) throw e; + Sys.Net.NetworkRequestEventArgs.initializeBase(this); + this._webRequest = webRequest; +} + function Sys$Net$NetworkRequestEventArgs$get_webRequest() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._webRequest; + } +Sys.Net.NetworkRequestEventArgs.prototype = { + get_webRequest: Sys$Net$NetworkRequestEventArgs$get_webRequest +} +Sys.Net.NetworkRequestEventArgs.registerClass('Sys.Net.NetworkRequestEventArgs', Sys.CancelEventArgs); + +Sys.Net.WebRequest = function Sys$Net$WebRequest() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + this._url = ""; + this._headers = { }; + this._body = null; + this._userContext = null; + this._httpVerb = null; + this._executor = null; + this._invokeCalled = false; + this._timeout = 0; +} + function Sys$Net$WebRequest$add_completed(handler) { + /// + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this._get_eventHandlerList().addHandler("completed", handler); + } + function Sys$Net$WebRequest$remove_completed(handler) { + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this._get_eventHandlerList().removeHandler("completed", handler); + } + function Sys$Net$WebRequest$completed(eventArgs) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "eventArgs", type: Sys.EventArgs} + ]); + if (e) throw e; + var handler = Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRequest"); + if (handler) { + handler(this._executor, eventArgs); + } + handler = this._get_eventHandlerList().getHandler("completed"); + if (handler) { + handler(this._executor, eventArgs); + } + } + function Sys$Net$WebRequest$_get_eventHandlerList() { + if (!this._events) { + this._events = new Sys.EventHandlerList(); + } + return this._events; + } + function Sys$Net$WebRequest$get_url() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._url; + } + function Sys$Net$WebRequest$set_url(value) { + var e = Function._validateParams(arguments, [{name: "value", type: String}]); + if (e) throw e; + this._url = value; + } + function Sys$Net$WebRequest$get_headers() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._headers; + } + function Sys$Net$WebRequest$get_httpVerb() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (this._httpVerb === null) { + if (this._body === null) { + return "GET"; + } + return "POST"; + } + return this._httpVerb; + } + function Sys$Net$WebRequest$set_httpVerb(value) { + var e = Function._validateParams(arguments, [{name: "value", type: String}]); + if (e) throw e; + if (value.length === 0) { + throw Error.argument('value', Sys.Res.invalidHttpVerb); + } + this._httpVerb = value; + } + function Sys$Net$WebRequest$get_body() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._body; + } + function Sys$Net$WebRequest$set_body(value) { + var e = Function._validateParams(arguments, [{name: "value", mayBeNull: true}]); + if (e) throw e; + this._body = value; + } + function Sys$Net$WebRequest$get_userContext() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._userContext; + } + function Sys$Net$WebRequest$set_userContext(value) { + var e = Function._validateParams(arguments, [{name: "value", mayBeNull: true}]); + if (e) throw e; + this._userContext = value; + } + function Sys$Net$WebRequest$get_executor() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._executor; + } + function Sys$Net$WebRequest$set_executor(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Sys.Net.WebRequestExecutor}]); + if (e) throw e; + if (this._executor !== null && this._executor.get_started()) { + throw Error.invalidOperation(Sys.Res.setExecutorAfterActive); + } + this._executor = value; + this._executor._set_webRequest(this); + } + function Sys$Net$WebRequest$get_timeout() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (this._timeout === 0) { + return Sys.Net.WebRequestManager.get_defaultTimeout(); + } + return this._timeout; + } + function Sys$Net$WebRequest$set_timeout(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Number}]); + if (e) throw e; + if (value < 0) { + throw Error.argumentOutOfRange("value", value, Sys.Res.invalidTimeout); + } + this._timeout = value; + } + function Sys$Net$WebRequest$getResolvedUrl() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return Sys.Net.WebRequest._resolveUrl(this._url); + } + function Sys$Net$WebRequest$invoke() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (this._invokeCalled) { + throw Error.invalidOperation(Sys.Res.invokeCalledTwice); + } + Sys.Net.WebRequestManager.executeRequest(this); + this._invokeCalled = true; + } +Sys.Net.WebRequest.prototype = { + add_completed: Sys$Net$WebRequest$add_completed, + remove_completed: Sys$Net$WebRequest$remove_completed, + completed: Sys$Net$WebRequest$completed, + _get_eventHandlerList: Sys$Net$WebRequest$_get_eventHandlerList, + get_url: Sys$Net$WebRequest$get_url, + set_url: Sys$Net$WebRequest$set_url, + get_headers: Sys$Net$WebRequest$get_headers, + get_httpVerb: Sys$Net$WebRequest$get_httpVerb, + set_httpVerb: Sys$Net$WebRequest$set_httpVerb, + get_body: Sys$Net$WebRequest$get_body, + set_body: Sys$Net$WebRequest$set_body, + get_userContext: Sys$Net$WebRequest$get_userContext, + set_userContext: Sys$Net$WebRequest$set_userContext, + get_executor: Sys$Net$WebRequest$get_executor, + set_executor: Sys$Net$WebRequest$set_executor, + get_timeout: Sys$Net$WebRequest$get_timeout, + set_timeout: Sys$Net$WebRequest$set_timeout, + getResolvedUrl: Sys$Net$WebRequest$getResolvedUrl, + invoke: Sys$Net$WebRequest$invoke +} +Sys.Net.WebRequest._resolveUrl = function Sys$Net$WebRequest$_resolveUrl(url, baseUrl) { + if (url && url.indexOf('://') !== -1) { + return url; + } + if (!baseUrl || baseUrl.length === 0) { + var baseElement = document.getElementsByTagName('base')[0]; + if (baseElement && baseElement.href && baseElement.href.length > 0) { + baseUrl = baseElement.href; + } + else { + baseUrl = document.URL; + } + } + var qsStart = baseUrl.indexOf('?'); + if (qsStart !== -1) { + baseUrl = baseUrl.substr(0, qsStart); + } + qsStart = baseUrl.indexOf('#'); + if (qsStart !== -1) { + baseUrl = baseUrl.substr(0, qsStart); + } + baseUrl = baseUrl.substr(0, baseUrl.lastIndexOf('/') + 1); + if (!url || url.length === 0) { + return baseUrl; + } + if (url.charAt(0) === '/') { + var slashslash = baseUrl.indexOf('://'); + if (slashslash === -1) { + throw Error.argument("baseUrl", Sys.Res.badBaseUrl1); + } + var nextSlash = baseUrl.indexOf('/', slashslash + 3); + if (nextSlash === -1) { + throw Error.argument("baseUrl", Sys.Res.badBaseUrl2); + } + return baseUrl.substr(0, nextSlash) + url; + } + else { + var lastSlash = baseUrl.lastIndexOf('/'); + if (lastSlash === -1) { + throw Error.argument("baseUrl", Sys.Res.badBaseUrl3); + } + return baseUrl.substr(0, lastSlash+1) + url; + } +} +Sys.Net.WebRequest._createQueryString = function Sys$Net$WebRequest$_createQueryString(queryString, encodeMethod, addParams) { + encodeMethod = encodeMethod || encodeURIComponent; + var i = 0, obj, val, arg, sb = new Sys.StringBuilder(); + if (queryString) { + for (arg in queryString) { + obj = queryString[arg]; + if (typeof(obj) === "function") continue; + val = Sys.Serialization.JavaScriptSerializer.serialize(obj); + if (i++) { + sb.append('&'); + } + sb.append(arg); + sb.append('='); + sb.append(encodeMethod(val)); + } + } + if (addParams) { + if (i) { + sb.append('&'); + } + sb.append(addParams); + } + return sb.toString(); +} +Sys.Net.WebRequest._createUrl = function Sys$Net$WebRequest$_createUrl(url, queryString, addParams) { + if (!queryString && !addParams) { + return url; + } + var qs = Sys.Net.WebRequest._createQueryString(queryString, null, addParams); + return qs.length + ? url + ((url && url.indexOf('?') >= 0) ? "&" : "?") + qs + : url; +} +Sys.Net.WebRequest.registerClass('Sys.Net.WebRequest'); + +Sys._ScriptLoaderTask = function Sys$_ScriptLoaderTask(scriptElement, completedCallback) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "scriptElement", domElement: true}, + {name: "completedCallback", type: Function} + ]); + if (e) throw e; + this._scriptElement = scriptElement; + this._completedCallback = completedCallback; +} + function Sys$_ScriptLoaderTask$get_scriptElement() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._scriptElement; + } + function Sys$_ScriptLoaderTask$dispose() { + if(this._disposed) { + return; + } + this._disposed = true; + this._removeScriptElementHandlers(); + Sys._ScriptLoaderTask._clearScript(this._scriptElement); + this._scriptElement = null; + } + function Sys$_ScriptLoaderTask$execute() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + this._addScriptElementHandlers(); + var headElements = document.getElementsByTagName('head'); + if (headElements.length === 0) { + throw new Error.invalidOperation(Sys.Res.scriptLoadFailedNoHead); + } + else { + headElements[0].appendChild(this._scriptElement); + } + } + function Sys$_ScriptLoaderTask$_addScriptElementHandlers() { + this._scriptLoadDelegate = Function.createDelegate(this, this._scriptLoadHandler); + + if (Sys.Browser.agent !== Sys.Browser.InternetExplorer) { + this._scriptElement.readyState = 'loaded'; + $addHandler(this._scriptElement, 'load', this._scriptLoadDelegate); + } + else { + $addHandler(this._scriptElement, 'readystatechange', this._scriptLoadDelegate); + } + if (this._scriptElement.addEventListener) { + this._scriptErrorDelegate = Function.createDelegate(this, this._scriptErrorHandler); + this._scriptElement.addEventListener('error', this._scriptErrorDelegate, false); + } + } + function Sys$_ScriptLoaderTask$_removeScriptElementHandlers() { + if(this._scriptLoadDelegate) { + var scriptElement = this.get_scriptElement(); + if (Sys.Browser.agent !== Sys.Browser.InternetExplorer) { + $removeHandler(scriptElement, 'load', this._scriptLoadDelegate); + } + else { + $removeHandler(scriptElement, 'readystatechange', this._scriptLoadDelegate); + } + if (this._scriptErrorDelegate) { + this._scriptElement.removeEventListener('error', this._scriptErrorDelegate, false); + this._scriptErrorDelegate = null; + } + this._scriptLoadDelegate = null; + } + } + function Sys$_ScriptLoaderTask$_scriptErrorHandler() { + if(this._disposed) { + return; + } + + this._completedCallback(this.get_scriptElement(), false); + } + function Sys$_ScriptLoaderTask$_scriptLoadHandler() { + if(this._disposed) { + return; + } + var scriptElement = this.get_scriptElement(); + if ((scriptElement.readyState !== 'loaded') && + (scriptElement.readyState !== 'complete')) { + return; + } + + this._completedCallback(scriptElement, true); + } +Sys._ScriptLoaderTask.prototype = { + get_scriptElement: Sys$_ScriptLoaderTask$get_scriptElement, + dispose: Sys$_ScriptLoaderTask$dispose, + execute: Sys$_ScriptLoaderTask$execute, + _addScriptElementHandlers: Sys$_ScriptLoaderTask$_addScriptElementHandlers, + _removeScriptElementHandlers: Sys$_ScriptLoaderTask$_removeScriptElementHandlers, + _scriptErrorHandler: Sys$_ScriptLoaderTask$_scriptErrorHandler, + _scriptLoadHandler: Sys$_ScriptLoaderTask$_scriptLoadHandler +} +Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask", null, Sys.IDisposable); +Sys._ScriptLoaderTask._clearScript = function Sys$_ScriptLoaderTask$_clearScript(scriptElement) { + if (!Sys.Debug.isDebug) { + scriptElement.parentNode.removeChild(scriptElement); + } +} +Type.registerNamespace('Sys.Net'); + +Sys.Net.WebServiceProxy = function Sys$Net$WebServiceProxy() { +} + function Sys$Net$WebServiceProxy$get_timeout() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._timeout || 0; + } + function Sys$Net$WebServiceProxy$set_timeout(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Number}]); + if (e) throw e; + if (value < 0) { throw Error.argumentOutOfRange('value', value, Sys.Res.invalidTimeout); } + this._timeout = value; + } + function Sys$Net$WebServiceProxy$get_defaultUserContext() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return (typeof(this._userContext) === "undefined") ? null : this._userContext; + } + function Sys$Net$WebServiceProxy$set_defaultUserContext(value) { + var e = Function._validateParams(arguments, [{name: "value", mayBeNull: true}]); + if (e) throw e; + this._userContext = value; + } + function Sys$Net$WebServiceProxy$get_defaultSucceededCallback() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._succeeded || null; + } + function Sys$Net$WebServiceProxy$set_defaultSucceededCallback(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]); + if (e) throw e; + this._succeeded = value; + } + function Sys$Net$WebServiceProxy$get_defaultFailedCallback() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._failed || null; + } + function Sys$Net$WebServiceProxy$set_defaultFailedCallback(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]); + if (e) throw e; + this._failed = value; + } + function Sys$Net$WebServiceProxy$get_enableJsonp() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return !!this._jsonp; + } + function Sys$Net$WebServiceProxy$set_enableJsonp(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]); + if (e) throw e; + this._jsonp = value; + } + function Sys$Net$WebServiceProxy$get_path() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._path || null; + } + function Sys$Net$WebServiceProxy$set_path(value) { + var e = Function._validateParams(arguments, [{name: "value", type: String}]); + if (e) throw e; + this._path = value; + } + function Sys$Net$WebServiceProxy$get_jsonpCallbackParameter() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._callbackParameter || "callback"; + } + function Sys$Net$WebServiceProxy$set_jsonpCallbackParameter(value) { + var e = Function._validateParams(arguments, [{name: "value", type: String}]); + if (e) throw e; + this._callbackParameter = value; + } + function Sys$Net$WebServiceProxy$_invoke(servicePath, methodName, useGet, params, onSuccess, onFailure, userContext) { + /// + /// + /// + /// + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "servicePath", type: String}, + {name: "methodName", type: String}, + {name: "useGet", type: Boolean}, + {name: "params"}, + {name: "onSuccess", type: Function, mayBeNull: true, optional: true}, + {name: "onFailure", type: Function, mayBeNull: true, optional: true}, + {name: "userContext", mayBeNull: true, optional: true} + ]); + if (e) throw e; + onSuccess = onSuccess || this.get_defaultSucceededCallback(); + onFailure = onFailure || this.get_defaultFailedCallback(); + if (userContext === null || typeof userContext === 'undefined') userContext = this.get_defaultUserContext(); + return Sys.Net.WebServiceProxy.invoke(servicePath, methodName, useGet, params, onSuccess, onFailure, userContext, this.get_timeout(), this.get_enableJsonp(), this.get_jsonpCallbackParameter()); + } +Sys.Net.WebServiceProxy.prototype = { + get_timeout: Sys$Net$WebServiceProxy$get_timeout, + set_timeout: Sys$Net$WebServiceProxy$set_timeout, + get_defaultUserContext: Sys$Net$WebServiceProxy$get_defaultUserContext, + set_defaultUserContext: Sys$Net$WebServiceProxy$set_defaultUserContext, + get_defaultSucceededCallback: Sys$Net$WebServiceProxy$get_defaultSucceededCallback, + set_defaultSucceededCallback: Sys$Net$WebServiceProxy$set_defaultSucceededCallback, + get_defaultFailedCallback: Sys$Net$WebServiceProxy$get_defaultFailedCallback, + set_defaultFailedCallback: Sys$Net$WebServiceProxy$set_defaultFailedCallback, + get_enableJsonp: Sys$Net$WebServiceProxy$get_enableJsonp, + set_enableJsonp: Sys$Net$WebServiceProxy$set_enableJsonp, + get_path: Sys$Net$WebServiceProxy$get_path, + set_path: Sys$Net$WebServiceProxy$set_path, + get_jsonpCallbackParameter: Sys$Net$WebServiceProxy$get_jsonpCallbackParameter, + set_jsonpCallbackParameter: Sys$Net$WebServiceProxy$set_jsonpCallbackParameter, + _invoke: Sys$Net$WebServiceProxy$_invoke +} +Sys.Net.WebServiceProxy.registerClass('Sys.Net.WebServiceProxy'); +Sys.Net.WebServiceProxy.invoke = function Sys$Net$WebServiceProxy$invoke(servicePath, methodName, useGet, params, onSuccess, onFailure, userContext, timeout, enableJsonp, jsonpCallbackParameter) { + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "servicePath", type: String}, + {name: "methodName", type: String, mayBeNull: true, optional: true}, + {name: "useGet", type: Boolean, optional: true}, + {name: "params", mayBeNull: true, optional: true}, + {name: "onSuccess", type: Function, mayBeNull: true, optional: true}, + {name: "onFailure", type: Function, mayBeNull: true, optional: true}, + {name: "userContext", mayBeNull: true, optional: true}, + {name: "timeout", type: Number, optional: true}, + {name: "enableJsonp", type: Boolean, mayBeNull: true, optional: true}, + {name: "jsonpCallbackParameter", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var schemeHost = (enableJsonp !== false) ? Sys.Net.WebServiceProxy._xdomain.exec(servicePath) : null, + tempCallback, jsonp = schemeHost && (schemeHost.length === 3) && + ((schemeHost[1] !== location.protocol) || (schemeHost[2] !== location.host)); + useGet = jsonp || useGet; + if (jsonp) { + jsonpCallbackParameter = jsonpCallbackParameter || "callback"; + tempCallback = "_jsonp" + Sys._jsonp++; + } + if (!params) params = {}; + var urlParams = params; + if (!useGet || !urlParams) urlParams = {}; + var script, error, timeoutcookie = null, loader, body = null, + url = Sys.Net.WebRequest._createUrl(methodName + ? (servicePath+"/"+encodeURIComponent(methodName)) + : servicePath, urlParams, jsonp ? (jsonpCallbackParameter + "=Sys." + tempCallback) : null); + if (jsonp) { + script = document.createElement("script"); + script.src = url; + loader = new Sys._ScriptLoaderTask(script, function(script, loaded) { + if (!loaded || tempCallback) { + jsonpComplete({ Message: String.format(Sys.Res.webServiceFailedNoMsg, methodName) }, -1); + } + }); + function jsonpComplete(data, statusCode) { + if (timeoutcookie !== null) { + window.clearTimeout(timeoutcookie); + timeoutcookie = null; + } + loader.dispose(); + delete Sys[tempCallback]; + tempCallback = null; + if ((typeof(statusCode) !== "undefined") && (statusCode !== 200)) { + if (onFailure) { + error = new Sys.Net.WebServiceError(false, + data.Message || String.format(Sys.Res.webServiceFailedNoMsg, methodName), + data.StackTrace || null, + data.ExceptionType || null, + data); + error._statusCode = statusCode; + onFailure(error, userContext, methodName); + } + else { + if (data.StackTrace && data.Message) { + error = data.StackTrace + "-- " + data.Message; + } + else { + error = data.StackTrace || data.Message; + } + error = String.format(error ? Sys.Res.webServiceFailed : Sys.Res.webServiceFailedNoMsg, methodName, error); + throw Sys.Net.WebServiceProxy._createFailedError(methodName, String.format(Sys.Res.webServiceFailed, methodName, error)); + } + } + else if (onSuccess) { + onSuccess(data, userContext, methodName); + } + } + Sys[tempCallback] = jsonpComplete; + loader.execute(); + return null; + } + var request = new Sys.Net.WebRequest(); + request.set_url(url); + request.get_headers()['Content-Type'] = 'application/json; charset=utf-8'; + if (!useGet) { + body = Sys.Serialization.JavaScriptSerializer.serialize(params); + if (body === "{}") body = ""; + } + request.set_body(body); + request.add_completed(onComplete); + if (timeout && timeout > 0) request.set_timeout(timeout); + request.invoke(); + + function onComplete(response, eventArgs) { + if (response.get_responseAvailable()) { + var statusCode = response.get_statusCode(); + var result = null; + + try { + var contentType = response.getResponseHeader("Content-Type"); + if (contentType.startsWith("application/json")) { + result = response.get_object(); + } + else if (contentType.startsWith("text/xml")) { + result = response.get_xml(); + } + else { + result = response.get_responseData(); + } + } catch (ex) { + } + var error = response.getResponseHeader("jsonerror"); + var errorObj = (error === "true"); + if (errorObj) { + if (result) { + result = new Sys.Net.WebServiceError(false, result.Message, result.StackTrace, result.ExceptionType, result); + } + } + else if (contentType.startsWith("application/json")) { + result = (!result || (typeof(result.d) === "undefined")) ? result : result.d; + } + if (((statusCode < 200) || (statusCode >= 300)) || errorObj) { + if (onFailure) { + if (!result || !errorObj) { + result = new Sys.Net.WebServiceError(false , String.format(Sys.Res.webServiceFailedNoMsg, methodName)); + } + result._statusCode = statusCode; + onFailure(result, userContext, methodName); + } + else { + if (result && errorObj) { + error = result.get_exceptionType() + "-- " + result.get_message(); + } + else { + error = response.get_responseData(); + } + throw Sys.Net.WebServiceProxy._createFailedError(methodName, String.format(Sys.Res.webServiceFailed, methodName, error)); + } + } + else if (onSuccess) { + onSuccess(result, userContext, methodName); + } + } + else { + var msg; + if (response.get_timedOut()) { + msg = String.format(Sys.Res.webServiceTimedOut, methodName); + } + else { + msg = String.format(Sys.Res.webServiceFailedNoMsg, methodName) + } + if (onFailure) { + onFailure(new Sys.Net.WebServiceError(response.get_timedOut(), msg, "", ""), userContext, methodName); + } + else { + throw Sys.Net.WebServiceProxy._createFailedError(methodName, msg); + } + } + } + return request; +} +Sys.Net.WebServiceProxy._createFailedError = function Sys$Net$WebServiceProxy$_createFailedError(methodName, errorMessage) { + var displayMessage = "Sys.Net.WebServiceFailedException: " + errorMessage; + var e = Error.create(displayMessage, { 'name': 'Sys.Net.WebServiceFailedException', 'methodName': methodName }); + e.popStackFrame(); + return e; +} +Sys.Net.WebServiceProxy._defaultFailedCallback = function Sys$Net$WebServiceProxy$_defaultFailedCallback(err, methodName) { + var error = err.get_exceptionType() + "-- " + err.get_message(); + throw Sys.Net.WebServiceProxy._createFailedError(methodName, String.format(Sys.Res.webServiceFailed, methodName, error)); +} +Sys.Net.WebServiceProxy._generateTypedConstructor = function Sys$Net$WebServiceProxy$_generateTypedConstructor(type) { + return function(properties) { + if (properties) { + for (var name in properties) { + this[name] = properties[name]; + } + } + this.__type = type; + } +} +Sys._jsonp = 0; +Sys.Net.WebServiceProxy._xdomain = /^\s*([a-zA-Z0-9\+\-\.]+\:)\/\/([^?#\/]+)/; + +Sys.Net.WebServiceError = function Sys$Net$WebServiceError(timedOut, message, stackTrace, exceptionType, errorObject) { + /// + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "timedOut", type: Boolean}, + {name: "message", type: String, mayBeNull: true}, + {name: "stackTrace", type: String, mayBeNull: true, optional: true}, + {name: "exceptionType", type: String, mayBeNull: true, optional: true}, + {name: "errorObject", type: Object, mayBeNull: true, optional: true} + ]); + if (e) throw e; + this._timedOut = timedOut; + this._message = message; + this._stackTrace = stackTrace; + this._exceptionType = exceptionType; + this._errorObject = errorObject; + this._statusCode = -1; +} + function Sys$Net$WebServiceError$get_timedOut() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._timedOut; + } + function Sys$Net$WebServiceError$get_statusCode() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._statusCode; + } + function Sys$Net$WebServiceError$get_message() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._message; + } + function Sys$Net$WebServiceError$get_stackTrace() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._stackTrace || ""; + } + function Sys$Net$WebServiceError$get_exceptionType() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._exceptionType || ""; + } + function Sys$Net$WebServiceError$get_errorObject() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._errorObject || null; + } +Sys.Net.WebServiceError.prototype = { + get_timedOut: Sys$Net$WebServiceError$get_timedOut, + get_statusCode: Sys$Net$WebServiceError$get_statusCode, + get_message: Sys$Net$WebServiceError$get_message, + get_stackTrace: Sys$Net$WebServiceError$get_stackTrace, + get_exceptionType: Sys$Net$WebServiceError$get_exceptionType, + get_errorObject: Sys$Net$WebServiceError$get_errorObject +} +Sys.Net.WebServiceError.registerClass('Sys.Net.WebServiceError'); + + +Type.registerNamespace('Sys'); + +Sys.Res={ +'urlMustBeLessThan1024chars':'The history state must be small enough to not make the url larger than 1024 characters.', +'argumentTypeName':'Value is not the name of an existing type.', +'cantBeCalledAfterDispose':'Can\'t be called after dispose.', +'componentCantSetIdAfterAddedToApp':'The id property of a component can\'t be set after it\'s been added to the Application object.', +'behaviorDuplicateName':'A behavior with name \'{0}\' already exists or it is the name of an existing property on the target element.', +'notATypeName':'Value is not a valid type name.', +'elementNotFound':'An element with id \'{0}\' could not be found.', +'stateMustBeStringDictionary':'The state object can only have null and string fields.', +'boolTrueOrFalse':'Value must be \'true\' or \'false\'.', +'scriptLoadFailedNoHead':'ScriptLoader requires pages to contain a element.', +'stringFormatInvalid':'The format string is invalid.', +'referenceNotFound':'Component \'{0}\' was not found.', +'enumReservedName':'\'{0}\' is a reserved name that can\'t be used as an enum value name.', +'circularParentChain':'The chain of control parents can\'t have circular references.', +'namespaceContainsNonObject':'Object {0} already exists and is not an object.', +'undefinedEvent':'\'{0}\' is not an event.', +'propertyUndefined':'\'{0}\' is not a property or an existing field.', +'observableConflict':'Object already contains a member with the name \'{0}\'.', +'historyCannotEnableHistory':'Cannot set enableHistory after initialization.', +'eventHandlerInvalid':'Handler was not added through the Sys.UI.DomEvent.addHandler method.', +'scriptLoadFailedDebug':'The script \'{0}\' failed to load. Check for:\r\n Inaccessible path.\r\n Script errors. (IE) Enable \'Display a notification about every script error\' under advanced settings.', +'propertyNotWritable':'\'{0}\' is not a writable property.', +'enumInvalidValueName':'\'{0}\' is not a valid name for an enum value.', +'controlAlreadyDefined':'A control is already associated with the element.', +'addHandlerCantBeUsedForError':'Can\'t add a handler for the error event using this method. Please set the window.onerror property instead.', +'cantAddNonFunctionhandler':'Can\'t add a handler that is not a function.', +'invalidNameSpace':'Value is not a valid namespace identifier.', +'notAnInterface':'Value is not a valid interface.', +'eventHandlerNotFunction':'Handler must be a function.', +'propertyNotAnArray':'\'{0}\' is not an Array property.', +'namespaceContainsClass':'Object {0} already exists as a class, enum, or interface.', +'typeRegisteredTwice':'Type {0} has already been registered. The type may be defined multiple times or the script file that defines it may have already been loaded. A possible cause is a change of settings during a partial update.', +'cantSetNameAfterInit':'The name property can\'t be set on this object after initialization.', +'historyMissingFrame':'For the history feature to work in IE, the page must have an iFrame element with id \'__historyFrame\' pointed to a page that gets its title from the \'title\' query string parameter and calls Sys.Application._onIFrameLoad() on the parent window. This can be done by setting EnableHistory to true on ScriptManager.', +'appDuplicateComponent':'Two components with the same id \'{0}\' can\'t be added to the application.', +'historyCannotAddHistoryPointWithHistoryDisabled':'A history point can only be added if enableHistory is set to true.', +'baseNotAClass':'Value is not a class.', +'expectedElementOrId':'Value must be a DOM element or DOM element Id.', +'methodNotFound':'No method found with name \'{0}\'.', +'arrayParseBadFormat':'Value must be a valid string representation for an array. It must start with a \'[\' and end with a \']\'.', +'stateFieldNameInvalid':'State field names must not contain any \'=\' characters.', +'cantSetId':'The id property can\'t be set on this object.', +'stringFormatBraceMismatch':'The format string contains an unmatched opening or closing brace.', +'enumValueNotInteger':'An enumeration definition can only contain integer values.', +'propertyNullOrUndefined':'Cannot set the properties of \'{0}\' because it returned a null value.', +'argumentDomNode':'Value must be a DOM element or a text node.', +'componentCantSetIdTwice':'The id property of a component can\'t be set more than once.', +'createComponentOnDom':'Value must be null for Components that are not Controls or Behaviors.', +'createNotComponent':'{0} does not derive from Sys.Component.', +'createNoDom':'Value must not be null for Controls and Behaviors.', +'cantAddWithoutId':'Can\'t add a component that doesn\'t have an id.', +'notObservable':'Instances of type \'{0}\' cannot be observed.', +'badTypeName':'Value is not the name of the type being registered or the name is a reserved word.', +'argumentInteger':'Value must be an integer.', +'invokeCalledTwice':'Cannot call invoke more than once.', +'webServiceFailed':'The server method \'{0}\' failed with the following error: {1}', +'argumentType':'Object cannot be converted to the required type.', +'argumentNull':'Value cannot be null.', +'scriptAlreadyLoaded':'The script \'{0}\' has been referenced multiple times. If referencing Microsoft AJAX scripts explicitly, set the MicrosoftAjaxMode property of the ScriptManager to Explicit.', +'scriptDependencyNotFound':'The script \'{0}\' failed to load because it is dependent on script \'{1}\'.', +'formatBadFormatSpecifier':'Format specifier was invalid.', +'requiredScriptReferenceNotIncluded':'\'{0}\' requires that you have included a script reference to \'{1}\'.', +'webServiceFailedNoMsg':'The server method \'{0}\' failed.', +'argumentDomElement':'Value must be a DOM element.', +'invalidExecutorType':'Could not create a valid Sys.Net.WebRequestExecutor from: {0}.', +'cannotCallBeforeResponse':'Cannot call {0} when responseAvailable is false.', +'actualValue':'Actual value was {0}.', +'enumInvalidValue':'\'{0}\' is not a valid value for enum {1}.', +'scriptLoadFailed':'The script \'{0}\' could not be loaded.', +'parameterCount':'Parameter count mismatch.', +'cannotDeserializeEmptyString':'Cannot deserialize empty string.', +'formatInvalidString':'Input string was not in a correct format.', +'invalidTimeout':'Value must be greater than or equal to zero.', +'cannotAbortBeforeStart':'Cannot abort when executor has not started.', +'argument':'Value does not fall within the expected range.', +'cannotDeserializeInvalidJson':'Cannot deserialize. The data does not correspond to valid JSON.', +'invalidHttpVerb':'httpVerb cannot be set to an empty or null string.', +'nullWebRequest':'Cannot call executeRequest with a null webRequest.', +'eventHandlerInvalid':'Handler was not added through the Sys.UI.DomEvent.addHandler method.', +'cannotSerializeNonFiniteNumbers':'Cannot serialize non finite numbers.', +'argumentUndefined':'Value cannot be undefined.', +'webServiceInvalidReturnType':'The server method \'{0}\' returned an invalid type. Expected type: {1}', +'servicePathNotSet':'The path to the web service has not been set.', +'argumentTypeWithTypes':'Object of type \'{0}\' cannot be converted to type \'{1}\'.', +'cannotCallOnceStarted':'Cannot call {0} once started.', +'badBaseUrl1':'Base URL does not contain ://.', +'badBaseUrl2':'Base URL does not contain another /.', +'badBaseUrl3':'Cannot find last / in base URL.', +'setExecutorAfterActive':'Cannot set executor after it has become active.', +'paramName':'Parameter name: {0}', +'nullReferenceInPath':'Null reference while evaluating data path: \'{0}\'.', +'cannotCallOutsideHandler':'Cannot call {0} outside of a completed event handler.', +'cannotSerializeObjectWithCycle':'Cannot serialize object with cyclic reference within child properties.', +'format':'One of the identified items was in an invalid format.', +'assertFailedCaller':'Assertion Failed: {0}\r\nat {1}', +'argumentOutOfRange':'Specified argument was out of the range of valid values.', +'webServiceTimedOut':'The server method \'{0}\' timed out.', +'notImplemented':'The method or operation is not implemented.', +'assertFailed':'Assertion Failed: {0}', +'invalidOperation':'Operation is not valid due to the current state of the object.', +'breakIntoDebugger':'{0}\r\n\r\nBreak into debugger?' +}; diff --git a/CharityPortal/CharityPortal/Scripts/MicrosoftAjax.js b/CharityPortal/CharityPortal/Scripts/MicrosoftAjax.js new file mode 100644 index 0000000..9994d1b --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/MicrosoftAjax.js @@ -0,0 +1,6 @@ +//---------------------------------------------------------- +// Copyright (C) Microsoft Corporation. All rights reserved. +//---------------------------------------------------------- +// MicrosoftAjax.js +Function.__typeName="Function";Function.__class=true;Function.createCallback=function(b,a){return function(){var e=arguments.length;if(e>0){var d=[];for(var c=0;c=d)break;a=Function._validateParameter(g[b],f,h);if(a){a.popStackFrame();return a}}return null};Function._validateParameterCount=function(j,d,i){var a,c,b=d.length,e=j.length;if(eb){c=true;for(a=0;a0&&(d=0};Array.dequeue=function(a){return a.shift()};Array.forEach=function(b,e,d){for(var a=0,f=b.length;a=0)b.splice(a,1);return a>=0};Array.removeAt=function(a,b){a.splice(b,1)};Sys._indexOf=function(d,e,a){if(typeof e==="undefined")return -1;var c=d.length;if(c!==0){a=a-0;if(isNaN(a))a=0;else{if(isFinite(a))a=a-a%1;if(a<0)a=Math.max(0,c+a)}for(var b=a;b-1){Sys.Browser.agent=Sys.Browser.InternetExplorer;Sys.Browser.version=parseFloat(navigator.userAgent.match(/MSIE (\d+\.\d+)/)[1]);if(Sys.Browser.version>=8)if(document.documentMode>=7)Sys.Browser.documentMode=document.documentMode;Sys.Browser.hasDebuggerStatement=true}else if(navigator.userAgent.indexOf(" Firefox/")>-1){Sys.Browser.agent=Sys.Browser.Firefox;Sys.Browser.version=parseFloat(navigator.userAgent.match(/Firefox\/(\d+\.\d+)/)[1]);Sys.Browser.name="Firefox";Sys.Browser.hasDebuggerStatement=true}else if(navigator.userAgent.indexOf(" AppleWebKit/")>-1){Sys.Browser.agent=Sys.Browser.Safari;Sys.Browser.version=parseFloat(navigator.userAgent.match(/AppleWebKit\/(\d+(\.\d+)?)/)[1]);Sys.Browser.name="Safari"}else if(navigator.userAgent.indexOf("Opera/")>-1)Sys.Browser.agent=Sys.Browser.Opera;Sys.EventArgs=function(){};Sys.EventArgs.registerClass("Sys.EventArgs");Sys.EventArgs.Empty=new Sys.EventArgs;Sys.CancelEventArgs=function(){Sys.CancelEventArgs.initializeBase(this);this._cancel=false};Sys.CancelEventArgs.prototype={get_cancel:function(){return this._cancel},set_cancel:function(a){this._cancel=a}};Sys.CancelEventArgs.registerClass("Sys.CancelEventArgs",Sys.EventArgs);Type.registerNamespace("Sys.UI");Sys._Debug=function(){};Sys._Debug.prototype={_appendConsole:function(a){if(typeof Debug!=="undefined"&&Debug.writeln)Debug.writeln(a);if(window.console&&window.console.log)window.console.log(a);if(window.opera)window.opera.postError(a);if(window.debugService)window.debugService.trace(a)},_appendTrace:function(b){var a=document.getElementById("TraceConsole");if(a&&a.tagName.toUpperCase()==="TEXTAREA")a.value+=b+"\n"},assert:function(c,a,b){if(!c){a=b&&this.assert.caller?String.format(Sys.Res.assertFailedCaller,a,this.assert.caller):String.format(Sys.Res.assertFailed,a);if(confirm(String.format(Sys.Res.breakIntoDebugger,a)))this.fail(a)}},clearTrace:function(){var a=document.getElementById("TraceConsole");if(a&&a.tagName.toUpperCase()==="TEXTAREA")a.value=""},fail:function(message){this._appendConsole(message);if(Sys.Browser.hasDebuggerStatement)eval("debugger")},trace:function(a){this._appendConsole(a);this._appendTrace(a)},traceDump:function(a,b){var c=this._traceDump(a,b,true)},_traceDump:function(a,c,f,b,d){c=c?c:"traceDump";b=b?b:"";if(a===null){this.trace(b+c+": null");return}switch(typeof a){case "undefined":this.trace(b+c+": Undefined");break;case "number":case "string":case "boolean":this.trace(b+c+": "+a);break;default:if(Date.isInstanceOfType(a)||RegExp.isInstanceOfType(a)){this.trace(b+c+": "+a.toString());break}if(!d)d=[];else if(Array.contains(d,a)){this.trace(b+c+": ...");return}Array.add(d,a);if(a==window||a===document||window.HTMLElement&&a instanceof HTMLElement||typeof a.nodeName==="string"){var k=a.tagName?a.tagName:"DomElement";if(a.id)k+=" - "+a.id;this.trace(b+c+" {"+k+"}")}else{var i=Object.getTypeName(a);this.trace(b+c+(typeof i==="string"?" {"+i+"}":""));if(b===""||f){b+=" ";var e,j,l,g,h;if(Array.isInstanceOfType(a)){j=a.length;for(e=0;e=0;d--){var k=h[d].trim();b=a[k];if(typeof b!=="number")throw Error.argument("value",String.format(Sys.Res.enumInvalidValue,c.split(",")[d].trim(),this.__typeName));j|=b}return j}}function Sys$Enum$toString(c){if(typeof c==="undefined"||c===null)return this.__string;var d=this.prototype,a;if(!this.__flags||c===0){for(a in d)if(d[a]===c)return a}else{var b=this.__sortedValues;if(!b){b=[];for(a in d)b[b.length]={key:a,value:d[a]};b.sort(function(a,b){return a.value-b.value});this.__sortedValues=b}var e=[],g=c;for(a=b.length-1;a>=0;a--){var h=b[a],f=h.value;if(f===0)continue;if((f&c)===f){e[e.length]=h.key;g-=f;if(g===0)break}}if(e.length&&g===0)return e.reverse().join(", ")}return ""}Type.prototype.registerEnum=function(b,c){Sys.__upperCaseTypes[b.toUpperCase()]=this;for(var a in this.prototype)this[a]=this.prototype[a];this.__typeName=b;this.parse=Sys$Enum$parse;this.__string=this.toString();this.toString=Sys$Enum$toString;this.__flags=c;this.__enum=true};Type.isEnum=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__enum};Type.isFlags=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__flags};Sys.CollectionChange=function(e,a,c,b,d){this.action=e;if(a)if(!(a instanceof Array))a=[a];this.newItems=a||null;if(typeof c!=="number")c=-1;this.newStartingIndex=c;if(b)if(!(b instanceof Array))b=[b];this.oldItems=b||null;if(typeof d!=="number")d=-1;this.oldStartingIndex=d};Sys.CollectionChange.registerClass("Sys.CollectionChange");Sys.NotifyCollectionChangedAction=function(){throw Error.notImplemented()};Sys.NotifyCollectionChangedAction.prototype={add:0,remove:1,reset:2};Sys.NotifyCollectionChangedAction.registerEnum("Sys.NotifyCollectionChangedAction");Sys.NotifyCollectionChangedEventArgs=function(a){this._changes=a;Sys.NotifyCollectionChangedEventArgs.initializeBase(this)};Sys.NotifyCollectionChangedEventArgs.prototype={get_changes:function(){return this._changes||[]}};Sys.NotifyCollectionChangedEventArgs.registerClass("Sys.NotifyCollectionChangedEventArgs",Sys.EventArgs);Sys.Observer=function(){};Sys.Observer.registerClass("Sys.Observer");Sys.Observer.makeObservable=function(a){var c=a instanceof Array,b=Sys.Observer;if(a.setValue===b._observeMethods.setValue)return a;b._addMethods(a,b._observeMethods);if(c)b._addMethods(a,b._arrayMethods);return a};Sys.Observer._addMethods=function(c,b){for(var a in b)c[a]=b[a]};Sys.Observer._addEventHandler=function(c,a,b){Sys.Observer._getContext(c,true).events._addHandler(a,b)};Sys.Observer.addEventHandler=function(c,a,b){Sys.Observer._addEventHandler(c,a,b)};Sys.Observer._removeEventHandler=function(c,a,b){Sys.Observer._getContext(c,true).events._removeHandler(a,b)};Sys.Observer.removeEventHandler=function(c,a,b){Sys.Observer._removeEventHandler(c,a,b)};Sys.Observer.raiseEvent=function(b,e,d){var c=Sys.Observer._getContext(b);if(!c)return;var a=c.events.getHandler(e);if(a)a(b,d)};Sys.Observer.addPropertyChanged=function(b,a){Sys.Observer._addEventHandler(b,"propertyChanged",a)};Sys.Observer.removePropertyChanged=function(b,a){Sys.Observer._removeEventHandler(b,"propertyChanged",a)};Sys.Observer.beginUpdate=function(a){Sys.Observer._getContext(a,true).updating=true};Sys.Observer.endUpdate=function(b){var a=Sys.Observer._getContext(b);if(!a||!a.updating)return;a.updating=false;var d=a.dirty;a.dirty=false;if(d){if(b instanceof Array){var c=a.changes;a.changes=null;Sys.Observer.raiseCollectionChanged(b,c)}Sys.Observer.raisePropertyChanged(b,"")}};Sys.Observer.isUpdating=function(b){var a=Sys.Observer._getContext(b);return a?a.updating:false};Sys.Observer._setValue=function(a,j,g){var b,f,k=a,d=j.split(".");for(var i=0,m=d.length-1;i-1&&ac.Calendar.TwoDigitYearMax)a-=100}return a};Date._getEra=function(e,c){if(!c)return 0;var b,d=e.getTime();for(var a=0,f=c.length;a=b)return a}return 0};Date._getEraYear=function(d,b,e,c){var a=d.getFullYear();if(!c&&b.eras)a-=b.eras[e+3];return a};Date._getParseRegExp=function(b,e){if(!b._parseRegExp)b._parseRegExp={};else if(b._parseRegExp[e])return b._parseRegExp[e];var c=Date._expandFormat(b,e);c=c.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g,"\\\\$1");var a=new Sys.StringBuilder("^"),j=[],f=0,i=0,h=Date._getTokenRegExp(),d;while((d=h.exec(c))!==null){var l=c.slice(f,d.index);f=h.lastIndex;i+=Date._appendPreOrPostMatch(l,a);if(i%2===1){a.append(d[0]);continue}switch(d[0]){case "dddd":case "ddd":case "MMMM":case "MMM":case "gg":case "g":a.append("(\\D+)");break;case "tt":case "t":a.append("(\\D*)");break;case "yyyy":a.append("(\\d{4})");break;case "fff":a.append("(\\d{3})");break;case "ff":a.append("(\\d{2})");break;case "f":a.append("(\\d)");break;case "dd":case "d":case "MM":case "M":case "yy":case "y":case "HH":case "H":case "hh":case "h":case "mm":case "m":case "ss":case "s":a.append("(\\d\\d?)");break;case "zzz":a.append("([+-]?\\d\\d?:\\d{2})");break;case "zz":case "z":a.append("([+-]?\\d\\d?)");break;case "/":a.append("(\\"+b.DateSeparator+")")}Array.add(j,d[0])}Date._appendPreOrPostMatch(c.slice(f),a);a.append("$");var k=a.toString().replace(/\s+/g,"\\s+"),g={"regExp":k,"groups":j};b._parseRegExp[e]=g;return g};Date._getTokenRegExp=function(){return /\/|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z|gg|g/g};Date.parseLocale=function(a){return Date._parse(a,Sys.CultureInfo.CurrentCulture,arguments)};Date.parseInvariant=function(a){return Date._parse(a,Sys.CultureInfo.InvariantCulture,arguments)};Date._parse=function(h,d,i){var a,c,b,f,e,g=false;for(a=1,c=i.length;a31)return null;break;case "MMMM":c=k._getMonthIndex(a);if(c<0||c>11)return null;break;case "MMM":c=k._getAbbrMonthIndex(a);if(c<0||c>11)return null;break;case "M":case "MM":c=parseInt(a,10)-1;if(c<0||c>11)return null;break;case "y":case "yy":e=Date._expandYear(g,parseInt(a,10));if(e<0||e>9999)return null;break;case "yyyy":e=parseInt(a,10);if(e<0||e>9999)return null;break;case "h":case "hh":d=parseInt(a,10);if(d===12)d=0;if(d<0||d>11)return null;break;case "H":case "HH":d=parseInt(a,10);if(d<0||d>23)return null;break;case "m":case "mm":q=parseInt(a,10);if(q<0||q>59)return null;break;case "s":case "ss":r=parseInt(a,10);if(r<0||r>59)return null;break;case "tt":case "t":var z=a.toUpperCase();v=z===g.PMDesignator.toUpperCase();if(!v&&z!==g.AMDesignator.toUpperCase())return null;break;case "f":f=parseInt(a,10)*100;if(f<0||f>999)return null;break;case "ff":f=parseInt(a,10)*10;if(f<0||f>999)return null;break;case "fff":f=parseInt(a,10);if(f<0||f>999)return null;break;case "dddd":i=k._getDayIndex(a);if(i<0||i>6)return null;break;case "ddd":i=k._getAbbrDayIndex(a);if(i<0||i>6)return null;break;case "zzz":var u=a.split(/:/);if(u.length!==2)return null;h=parseInt(u[0],10);if(h<-12||h>13)return null;var o=parseInt(u[1],10);if(o<0||o>59)return null;n=h*60+(a.startsWith("-")?-o:o);break;case "z":case "zz":h=parseInt(a,10);if(h<-12||h>13)return null;n=h*60;break;case "g":case "gg":var p=a;if(!p||!g.eras)return null;p=p.toLowerCase().trim();for(var s=0,F=g.eras.length;s0)return this.toLocaleString();else return this.toString();var o=["n %","n%","%n"],n=["-n %","-n%","-%n"],p=["(n)","-n","- n","n-","n -"],m=["$n","n$","$ n","n $"],l=["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"];function g(a,c,d){for(var b=a.length;b1?parseInt(e[1]):0;e=b.split(".");b=e[0];a=e.length>1?e[1]:"";var q;if(c>0){a=g(a,c,false);b+=a.slice(0,c);a=a.substr(c)}else if(c<0){c=-c;b=g(b,c+1,true);a=b.slice(-c,b.length)+a;b=b.slice(0,-c)}if(i>0){if(a.length>i)a=a.slice(0,i);else a=g(a,i,false);a=p+a}else a="";var d=b.length-1,f="";while(d>=0){if(h===0||h>d)if(f.length>0)return b.slice(0,d+1)+n+f+a;else return b.slice(0,d+1)+a;if(f.length>0)f=b.slice(d-h+1,d+1)+n+f;else f=b.slice(d-h+1,d+1);d-=h;if(k1)b=parseInt(e.slice(1),10);var c;switch(e.charAt(0)){case "d":case "D":c="n";if(b!==-1)d=g(""+d,b,true);if(this<0)d=-d;break;case "c":case "C":if(this<0)c=l[a.CurrencyNegativePattern];else c=m[a.CurrencyPositivePattern];if(b===-1)b=a.CurrencyDecimalDigits;d=i(Math.abs(this),b,a.CurrencyGroupSizes,a.CurrencyGroupSeparator,a.CurrencyDecimalSeparator);break;case "n":case "N":if(this<0)c=p[a.NumberNegativePattern];else c="n";if(b===-1)b=a.NumberDecimalDigits;d=i(Math.abs(this),b,a.NumberGroupSizes,a.NumberGroupSeparator,a.NumberDecimalSeparator);break;case "p":case "P":if(this<0)c=n[a.PercentNegativePattern];else c=o[a.PercentPositivePattern];if(b===-1)b=a.PercentDecimalDigits;d=i(Math.abs(this)*100,b,a.PercentGroupSizes,a.PercentGroupSeparator,a.PercentDecimalSeparator);break;default:throw Error.format(Sys.Res.formatBadFormatSpecifier)}var k=/n|\$|-|%/g,f="";for(;true;){var q=k.lastIndex,h=k.exec(c);f+=c.slice(q,h?h.index:c.length);if(!h)break;switch(h[0]){case "n":f+=d;break;case "$":f+=a.CurrencySymbol;break;case "-":if(/[1-9]/.test(d))f+=a.NegativeSign;break;case "%":f+=a.PercentSymbol}}return f};Sys.CultureInfo=function(c,b,a){this.name=c;this.numberFormat=b;this.dateTimeFormat=a};Sys.CultureInfo.prototype={_getDateTimeFormats:function(){if(!this._dateTimeFormats){var a=this.dateTimeFormat;this._dateTimeFormats=[a.MonthDayPattern,a.YearMonthPattern,a.ShortDatePattern,a.ShortTimePattern,a.LongDatePattern,a.LongTimePattern,a.FullDateTimePattern,a.RFC1123Pattern,a.SortableDateTimePattern,a.UniversalSortableDateTimePattern]}return this._dateTimeFormats},_getIndex:function(c,d,e){var b=this._toUpper(c),a=Array.indexOf(d,b);if(a===-1)a=Array.indexOf(e,b);return a},_getMonthIndex:function(a){if(!this._upperMonths){this._upperMonths=this._toUpperArray(this.dateTimeFormat.MonthNames);this._upperMonthsGenitive=this._toUpperArray(this.dateTimeFormat.MonthGenitiveNames)}return this._getIndex(a,this._upperMonths,this._upperMonthsGenitive)},_getAbbrMonthIndex:function(a){if(!this._upperAbbrMonths){this._upperAbbrMonths=this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames);this._upperAbbrMonthsGenitive=this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthGenitiveNames)}return this._getIndex(a,this._upperAbbrMonths,this._upperAbbrMonthsGenitive)},_getDayIndex:function(a){if(!this._upperDays)this._upperDays=this._toUpperArray(this.dateTimeFormat.DayNames);return Array.indexOf(this._upperDays,this._toUpper(a))},_getAbbrDayIndex:function(a){if(!this._upperAbbrDays)this._upperAbbrDays=this._toUpperArray(this.dateTimeFormat.AbbreviatedDayNames);return Array.indexOf(this._upperAbbrDays,this._toUpper(a))},_toUpperArray:function(c){var b=[];for(var a=0,d=c.length;a0)a.append(",");Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(b[c],a,false,g)}a.append("]")}else{if(Date.isInstanceOfType(b)){a.append('"\\/Date(');a.append(b.getTime());a.append(')\\/"');break}var d=[],f=0;for(var e in b){if(e.startsWith("$"))continue;if(e===Sys.Serialization.JavaScriptSerializer._serverTypeFieldName&&f!==0){d[f++]=d[0];d[0]=e}else d[f++]=e}if(i)d.sort();a.append("{");var j=false;for(c=0;c=0;c--){var f=d[c];if(!g||f.autoRemove)$removeHandler(a,b,f.handler)}}a._events=null}};Sys.UI.DomEvent._disposeHandlers=function(){Sys.UI.DomEvent._clearHandlers(this,true);var b=this._chainDispose,a=typeof b;if(a!=="undefined"){this.dispose=b;this._chainDispose=null;if(a==="function")this.dispose()}};var $removeHandler=Sys.UI.DomEvent.removeHandler=function(b,a,c){Sys.UI.DomEvent._removeHandler(b,a,c)};Sys.UI.DomEvent._removeHandler=function(a,e,f){var d=null,c=a._events[e];for(var b=0,g=c.length;b=3){d+=parseInt(b.borderLeftWidth);e+=parseInt(b.borderTopWidth)}}b=Sys.UI.DomElement._getCurrentStyle(c);var h=b?b.position:null;if(!h||h!=="absolute")for(a=c.parentNode;a;a=a.parentNode){f=a.tagName?a.tagName.toUpperCase():null;if(f!=="BODY"&&f!=="HTML"&&(a.scrollLeft||a.scrollTop)){d-=a.scrollLeft||0;e-=a.scrollTop||0}b=Sys.UI.DomElement._getCurrentStyle(a);var i=b?b.position:null;if(i&&i==="absolute")break}return new Sys.UI.Point(d,e)};else Sys.UI.DomElement.getLocation=function(d){if(d.window&&d.window===d||d.nodeType===9)return new Sys.UI.Point(0,0);var e=0,f=0,a,i=null,g=null,b=null;for(a=d;a;i=a,(g=b,a=a.offsetParent)){var c=a.tagName?a.tagName.toUpperCase():null;b=Sys.UI.DomElement._getCurrentStyle(a);if((a.offsetLeft||a.offsetTop)&&!(c==="BODY"&&(!g||g.position!=="absolute"))){e+=a.offsetLeft;f+=a.offsetTop}if(i!==null&&b){if(c!=="TABLE"&&c!=="TD"&&c!=="HTML"){e+=parseInt(b.borderLeftWidth)||0;f+=parseInt(b.borderTopWidth)||0}if(c==="TABLE"&&(b.position==="relative"||b.position==="absolute")){e+=parseInt(b.marginLeft)||0;f+=parseInt(b.marginTop)||0}}}b=Sys.UI.DomElement._getCurrentStyle(d);var h=b?b.position:null;if(!h||h!=="absolute")for(a=d.parentNode;a;a=a.parentNode){c=a.tagName?a.tagName.toUpperCase():null;if(c!=="BODY"&&c!=="HTML"&&(a.scrollLeft||a.scrollTop)){e-=a.scrollLeft||0;f-=a.scrollTop||0;b=Sys.UI.DomElement._getCurrentStyle(a);if(b){e+=parseInt(b.borderLeftWidth)||0;f+=parseInt(b.borderTopWidth)||0}}}return new Sys.UI.Point(e,f)};Sys.UI.DomElement.isDomElement=function(a){return Sys._isDomElement(a)};Sys.UI.DomElement.removeCssClass=function(d,c){var a=" "+d.className+" ",b=a.indexOf(" "+c+" ");if(b>=0)d.className=(a.substr(0,b)+" "+a.substring(b+c.length+1,a.length)).trim()};Sys.UI.DomElement.resolveElement=function(b,c){var a=b;if(!a)return null;if(typeof a==="string")a=Sys.UI.DomElement.getElementById(a,c);return a};Sys.UI.DomElement.raiseBubbleEvent=function(c,d){var b=c;while(b){var a=b.control;if(a&&a.onBubbleEvent&&a.raiseBubbleEvent){Sys.UI.DomElement._raiseBubbleEventFromControl(a,c,d);return}b=b.parentNode}};Sys.UI.DomElement._raiseBubbleEventFromControl=function(a,b,c){if(!a.onBubbleEvent(b,c))a._raiseBubbleEvent(b,c)};Sys.UI.DomElement.setLocation=function(b,c,d){var a=b.style;a.position="absolute";a.left=c+"px";a.top=d+"px"};Sys.UI.DomElement.toggleCssClass=function(b,a){if(Sys.UI.DomElement.containsCssClass(b,a))Sys.UI.DomElement.removeCssClass(b,a);else Sys.UI.DomElement.addCssClass(b,a)};Sys.UI.DomElement.getVisibilityMode=function(a){return a._visibilityMode===Sys.UI.VisibilityMode.hide?Sys.UI.VisibilityMode.hide:Sys.UI.VisibilityMode.collapse};Sys.UI.DomElement.setVisibilityMode=function(a,b){Sys.UI.DomElement._ensureOldDisplayMode(a);if(a._visibilityMode!==b){a._visibilityMode=b;if(Sys.UI.DomElement.getVisible(a)===false)if(a._visibilityMode===Sys.UI.VisibilityMode.hide)a.style.display=a._oldDisplayMode;else a.style.display="none";a._visibilityMode=b}};Sys.UI.DomElement.getVisible=function(b){var a=b.currentStyle||Sys.UI.DomElement._getCurrentStyle(b);if(!a)return true;return a.visibility!=="hidden"&&a.display!=="none"};Sys.UI.DomElement.setVisible=function(a,b){if(b!==Sys.UI.DomElement.getVisible(a)){Sys.UI.DomElement._ensureOldDisplayMode(a);a.style.visibility=b?"visible":"hidden";if(b||a._visibilityMode===Sys.UI.VisibilityMode.hide)a.style.display=a._oldDisplayMode;else a.style.display="none"}};Sys.UI.DomElement._ensureOldDisplayMode=function(a){if(!a._oldDisplayMode){var b=a.currentStyle||Sys.UI.DomElement._getCurrentStyle(a);a._oldDisplayMode=b?b.display:null;if(!a._oldDisplayMode||a._oldDisplayMode==="none")switch(a.tagName.toUpperCase()){case "DIV":case "P":case "ADDRESS":case "BLOCKQUOTE":case "BODY":case "COL":case "COLGROUP":case "DD":case "DL":case "DT":case "FIELDSET":case "FORM":case "H1":case "H2":case "H3":case "H4":case "H5":case "H6":case "HR":case "IFRAME":case "LEGEND":case "OL":case "PRE":case "TABLE":case "TD":case "TH":case "TR":case "UL":a._oldDisplayMode="block";break;case "LI":a._oldDisplayMode="list-item";break;default:a._oldDisplayMode="inline"}}};Sys.UI.DomElement._getWindow=function(a){var b=a.ownerDocument||a.document||a;return b.defaultView||b.parentWindow};Sys.UI.DomElement._getCurrentStyle=function(a){if(a.nodeType===3)return null;var c=Sys.UI.DomElement._getWindow(a);if(a.documentElement)a=a.documentElement;var b=c&&a!==c&&c.getComputedStyle?c.getComputedStyle(a,null):a.currentStyle||a.style;if(!b&&Sys.Browser.agent===Sys.Browser.Safari&&a.style){var g=a.style.display,f=a.style.position;a.style.position="absolute";a.style.display="block";var e=c.getComputedStyle(a,null);a.style.display=g;a.style.position=f;b={};for(var d in e)b[d]=e[d];b.display="none"}return b};Sys.IContainer=function(){};Sys.IContainer.prototype={};Sys.IContainer.registerInterface("Sys.IContainer");Sys.ApplicationLoadEventArgs=function(b,a){Sys.ApplicationLoadEventArgs.initializeBase(this);this._components=b;this._isPartialLoad=a};Sys.ApplicationLoadEventArgs.prototype={get_components:function(){return this._components},get_isPartialLoad:function(){return this._isPartialLoad}};Sys.ApplicationLoadEventArgs.registerClass("Sys.ApplicationLoadEventArgs",Sys.EventArgs);Sys._Application=function(){Sys._Application.initializeBase(this);this._disposableObjects=[];this._components={};this._createdComponents=[];this._secondPassComponents=[];this._unloadHandlerDelegate=Function.createDelegate(this,this._unloadHandler);Sys.UI.DomEvent.addHandler(window,"unload",this._unloadHandlerDelegate);this._domReady()};Sys._Application.prototype={_creatingComponents:false,_disposing:false,_deleteCount:0,get_isCreatingComponents:function(){return this._creatingComponents},get_isDisposing:function(){return this._disposing},add_init:function(a){if(this._initialized)a(this,Sys.EventArgs.Empty);else this.get_events().addHandler("init",a)},remove_init:function(a){this.get_events().removeHandler("init",a)},add_load:function(a){this.get_events().addHandler("load",a)},remove_load:function(a){this.get_events().removeHandler("load",a)},add_unload:function(a){this.get_events().addHandler("unload",a)},remove_unload:function(a){this.get_events().removeHandler("unload",a)},addComponent:function(a){this._components[a.get_id()]=a},beginCreateComponents:function(){this._creatingComponents=true},dispose:function(){if(!this._disposing){this._disposing=true;if(this._timerCookie){window.clearTimeout(this._timerCookie);delete this._timerCookie}if(this._endRequestHandler){Sys.WebForms.PageRequestManager.getInstance().remove_endRequest(this._endRequestHandler);delete this._endRequestHandler}if(this._beginRequestHandler){Sys.WebForms.PageRequestManager.getInstance().remove_beginRequest(this._beginRequestHandler);delete this._beginRequestHandler}if(window.pageUnload)window.pageUnload(this,Sys.EventArgs.Empty);var c=this.get_events().getHandler("unload");if(c)c(this,Sys.EventArgs.Empty);var b=Array.clone(this._disposableObjects);for(var a=0,f=b.length;a=0;b--)this._disposeElementInternal(c[b]);if(!d)this._disposeElementInternal(a)}},endCreateComponents:function(){var b=this._secondPassComponents;for(var a=0,d=b.length;a1000){var c=[];for(var d=0,f=b.length;d=0;b--){var c=a[b];if(typeof c.dispose==="function")c.dispose()}},_disposeElementInternal:function(a){var d=a.dispose;if(d&&typeof d==="function")a.dispose();else{var c=a.control;if(c&&typeof c.dispose==="function")c.dispose()}var b=a._behaviors;if(b)this._disposeComponents(b);b=a._components;if(b){this._disposeComponents(b);a._components=null}},_domReady:function(){var a,g,f=this;function b(){f.initialize()}var c=function(){Sys.UI.DomEvent.removeHandler(window,"load",c);b()};Sys.UI.DomEvent.addHandler(window,"load",c);if(document.addEventListener)try{document.addEventListener("DOMContentLoaded",a=function(){document.removeEventListener("DOMContentLoaded",a,false);b()},false)}catch(h){}else if(document.attachEvent)if(window==window.top&&document.documentElement.doScroll){var e,d=document.createElement("div");a=function(){try{d.doScroll("left")}catch(c){e=window.setTimeout(a,0);return}d=null;b()};a()}else document.attachEvent("onreadystatechange",a=function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",a);b()}})},_raiseInit:function(){var a=this.get_events().getHandler("init");if(a){this.beginCreateComponents();a(this,Sys.EventArgs.Empty);this.endCreateComponents()}},_unloadHandler:function(){this.dispose()}};Sys._Application.registerClass("Sys._Application",Sys.Component,Sys.IContainer);Sys.Application=new Sys._Application;var $find=Sys.Application.findComponent;Sys.UI.Behavior=function(b){Sys.UI.Behavior.initializeBase(this);this._element=b;var a=b._behaviors;if(!a)b._behaviors=[this];else a[a.length]=this};Sys.UI.Behavior.prototype={_name:null,get_element:function(){return this._element},get_id:function(){var a=Sys.UI.Behavior.callBaseMethod(this,"get_id");if(a)return a;if(!this._element||!this._element.id)return "";return this._element.id+"$"+this.get_name()},get_name:function(){if(this._name)return this._name;var a=Object.getTypeName(this),b=a.lastIndexOf(".");if(b!==-1)a=a.substr(b+1);if(!this.get_isInitialized())this._name=a;return a},set_name:function(a){this._name=a},initialize:function(){Sys.UI.Behavior.callBaseMethod(this,"initialize");var a=this.get_name();if(a)this._element[a]=this},dispose:function(){Sys.UI.Behavior.callBaseMethod(this,"dispose");var a=this._element;if(a){var c=this.get_name();if(c)a[c]=null;var b=a._behaviors;Array.remove(b,this);if(b.length===0)a._behaviors=null;delete this._element}}};Sys.UI.Behavior.registerClass("Sys.UI.Behavior",Sys.Component);Sys.UI.Behavior.getBehaviorByName=function(b,c){var a=b[c];return a&&Sys.UI.Behavior.isInstanceOfType(a)?a:null};Sys.UI.Behavior.getBehaviors=function(a){if(!a._behaviors)return [];return Array.clone(a._behaviors)};Sys.UI.Behavior.getBehaviorsByType=function(d,e){var a=d._behaviors,c=[];if(a)for(var b=0,f=a.length;b0&&a.charAt(0)==="#")a=a.substring(1);return a};Sys._Application.prototype.get_enableHistory=function(){return this._enableHistory};Sys._Application.prototype.set_enableHistory=function(a){this._enableHistory=a};Sys._Application.prototype.add_navigate=function(a){this.get_events().addHandler("navigate",a)};Sys._Application.prototype.remove_navigate=function(a){this.get_events().removeHandler("navigate",a)};Sys._Application.prototype.addHistoryPoint=function(c,f){this._ensureHistory();var b=this._state;for(var a in c){var d=c[a];if(d===null){if(typeof b[a]!=="undefined")delete b[a]}else b[a]=d}var e=this._serializeState(b);this._historyPointIsNew=true;this._setState(e,f);this._raiseNavigate()};Sys._Application.prototype.setServerId=function(a,b){this._clientId=a;this._uniqueId=b};Sys._Application.prototype.setServerState=function(a){this._ensureHistory();this._state.__s=a;this._updateHiddenField(a)};Sys._Application.prototype._deserializeState=function(a){var e={};a=a||"";var b=a.indexOf("&&");if(b!==-1&&b+2'");c.write(""+(b||document.title)+"parent.Sys.Application._onIFrameLoad('+Sys.Serialization.JavaScriptSerializer.serialize(a)+");");c.close()}this._ignoreTimer=false;this._currentEntry=a;if(this._historyFrame||this._historyPointIsNew){var f=this.get_stateString();if(a!==f){window.location.hash=a;this._currentEntry=this.get_stateString();if(typeof b!=="undefined"&&b!==null)document.title=b}}this._historyPointIsNew=false}}};Sys._Application.prototype._updateHiddenField=function(b){if(this._clientId){var a=document.getElementById(this._clientId);if(a)a.value=b}};if(!window.XMLHttpRequest)window.XMLHttpRequest=function(){var b=["Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP"];for(var a=0,c=b.length;a0)this._timer=window.setTimeout(Function.createDelegate(this,this._onTimeout),d);this._xmlHttpRequest.send(c);this._started=true},getResponseHeader:function(b){var a;try{a=this._xmlHttpRequest.getResponseHeader(b)}catch(c){}if(!a)a="";return a},getAllResponseHeaders:function(){return this._xmlHttpRequest.getAllResponseHeaders()},get_responseData:function(){return this._xmlHttpRequest.responseText},get_statusCode:function(){var a=0;try{a=this._xmlHttpRequest.status}catch(b){}return a},get_statusText:function(){return this._xmlHttpRequest.statusText},get_xml:function(){var a=this._xmlHttpRequest.responseXML;if(!a||!a.documentElement){a=Sys.Net.XMLDOM(this._xmlHttpRequest.responseText);if(!a||!a.documentElement)return null}else if(navigator.userAgent.indexOf("MSIE")!==-1)a.setProperty("SelectionLanguage","XPath");if(a.documentElement.namespaceURI==="http://www.mozilla.org/newlayout/xml/parsererror.xml"&&a.documentElement.tagName==="parsererror")return null;if(a.documentElement.firstChild&&a.documentElement.firstChild.tagName==="parsererror")return null;return a},abort:function(){if(this._aborted||this._responseAvailable||this._timedOut)return;this._aborted=true;this._clearTimer();if(this._xmlHttpRequest&&!this._responseAvailable){this._xmlHttpRequest.onreadystatechange=Function.emptyMethod;this._xmlHttpRequest.abort();this._xmlHttpRequest=null;this._webRequest.completed(Sys.EventArgs.Empty)}}};Sys.Net.XMLHttpExecutor.registerClass("Sys.Net.XMLHttpExecutor",Sys.Net.WebRequestExecutor);Sys.Net._WebRequestManager=function(){this._defaultTimeout=0;this._defaultExecutorType="Sys.Net.XMLHttpExecutor"};Sys.Net._WebRequestManager.prototype={add_invokingRequest:function(a){this._get_eventHandlerList().addHandler("invokingRequest",a)},remove_invokingRequest:function(a){this._get_eventHandlerList().removeHandler("invokingRequest",a)},add_completedRequest:function(a){this._get_eventHandlerList().addHandler("completedRequest",a)},remove_completedRequest:function(a){this._get_eventHandlerList().removeHandler("completedRequest",a)},_get_eventHandlerList:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_defaultTimeout:function(){return this._defaultTimeout},set_defaultTimeout:function(a){this._defaultTimeout=a},get_defaultExecutorType:function(){return this._defaultExecutorType},set_defaultExecutorType:function(a){this._defaultExecutorType=a},executeRequest:function(webRequest){var executor=webRequest.get_executor();if(!executor){var failed=false;try{var executorType=eval(this._defaultExecutorType);executor=new executorType}catch(a){failed=true}webRequest.set_executor(executor)}if(executor.get_aborted())return;var evArgs=new Sys.Net.NetworkRequestEventArgs(webRequest),handler=this._get_eventHandlerList().getHandler("invokingRequest");if(handler)handler(this,evArgs);if(!evArgs.get_cancel())executor.executeRequest()}};Sys.Net._WebRequestManager.registerClass("Sys.Net._WebRequestManager");Sys.Net.WebRequestManager=new Sys.Net._WebRequestManager;Sys.Net.NetworkRequestEventArgs=function(a){Sys.Net.NetworkRequestEventArgs.initializeBase(this);this._webRequest=a};Sys.Net.NetworkRequestEventArgs.prototype={get_webRequest:function(){return this._webRequest}};Sys.Net.NetworkRequestEventArgs.registerClass("Sys.Net.NetworkRequestEventArgs",Sys.CancelEventArgs);Sys.Net.WebRequest=function(){this._url="";this._headers={};this._body=null;this._userContext=null;this._httpVerb=null;this._executor=null;this._invokeCalled=false;this._timeout=0};Sys.Net.WebRequest.prototype={add_completed:function(a){this._get_eventHandlerList().addHandler("completed",a)},remove_completed:function(a){this._get_eventHandlerList().removeHandler("completed",a)},completed:function(b){var a=Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRequest");if(a)a(this._executor,b);a=this._get_eventHandlerList().getHandler("completed");if(a)a(this._executor,b)},_get_eventHandlerList:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_url:function(){return this._url},set_url:function(a){this._url=a},get_headers:function(){return this._headers},get_httpVerb:function(){if(this._httpVerb===null){if(this._body===null)return "GET";return "POST"}return this._httpVerb},set_httpVerb:function(a){this._httpVerb=a},get_body:function(){return this._body},set_body:function(a){this._body=a},get_userContext:function(){return this._userContext},set_userContext:function(a){this._userContext=a},get_executor:function(){return this._executor},set_executor:function(a){this._executor=a;this._executor._set_webRequest(this)},get_timeout:function(){if(this._timeout===0)return Sys.Net.WebRequestManager.get_defaultTimeout();return this._timeout},set_timeout:function(a){this._timeout=a},getResolvedUrl:function(){return Sys.Net.WebRequest._resolveUrl(this._url)},invoke:function(){Sys.Net.WebRequestManager.executeRequest(this);this._invokeCalled=true}};Sys.Net.WebRequest._resolveUrl=function(b,a){if(b&&b.indexOf("://")!==-1)return b;if(!a||a.length===0){var d=document.getElementsByTagName("base")[0];if(d&&d.href&&d.href.length>0)a=d.href;else a=document.URL}var c=a.indexOf("?");if(c!==-1)a=a.substr(0,c);c=a.indexOf("#");if(c!==-1)a=a.substr(0,c);a=a.substr(0,a.lastIndexOf("/")+1);if(!b||b.length===0)return a;if(b.charAt(0)==="/"){var e=a.indexOf("://"),g=a.indexOf("/",e+3);return a.substr(0,g)+b}else{var f=a.lastIndexOf("/");return a.substr(0,f+1)+b}};Sys.Net.WebRequest._createQueryString=function(c,b,f){b=b||encodeURIComponent;var h=0,e,g,d,a=new Sys.StringBuilder;if(c)for(d in c){e=c[d];if(typeof e==="function")continue;g=Sys.Serialization.JavaScriptSerializer.serialize(e);if(h++)a.append("&");a.append(d);a.append("=");a.append(b(g))}if(f){if(h)a.append("&");a.append(f)}return a.toString()};Sys.Net.WebRequest._createUrl=function(a,b,c){if(!b&&!c)return a;var d=Sys.Net.WebRequest._createQueryString(b,null,c);return d.length?a+(a&&a.indexOf("?")>=0?"&":"?")+d:a};Sys.Net.WebRequest.registerClass("Sys.Net.WebRequest");Sys._ScriptLoaderTask=function(b,a){this._scriptElement=b;this._completedCallback=a};Sys._ScriptLoaderTask.prototype={get_scriptElement:function(){return this._scriptElement},dispose:function(){if(this._disposed)return;this._disposed=true;this._removeScriptElementHandlers();Sys._ScriptLoaderTask._clearScript(this._scriptElement);this._scriptElement=null},execute:function(){this._addScriptElementHandlers();document.getElementsByTagName("head")[0].appendChild(this._scriptElement)},_addScriptElementHandlers:function(){this._scriptLoadDelegate=Function.createDelegate(this,this._scriptLoadHandler);if(Sys.Browser.agent!==Sys.Browser.InternetExplorer){this._scriptElement.readyState="loaded";$addHandler(this._scriptElement,"load",this._scriptLoadDelegate)}else $addHandler(this._scriptElement,"readystatechange",this._scriptLoadDelegate);if(this._scriptElement.addEventListener){this._scriptErrorDelegate=Function.createDelegate(this,this._scriptErrorHandler);this._scriptElement.addEventListener("error",this._scriptErrorDelegate,false)}},_removeScriptElementHandlers:function(){if(this._scriptLoadDelegate){var a=this.get_scriptElement();if(Sys.Browser.agent!==Sys.Browser.InternetExplorer)$removeHandler(a,"load",this._scriptLoadDelegate);else $removeHandler(a,"readystatechange",this._scriptLoadDelegate);if(this._scriptErrorDelegate){this._scriptElement.removeEventListener("error",this._scriptErrorDelegate,false);this._scriptErrorDelegate=null}this._scriptLoadDelegate=null}},_scriptErrorHandler:function(){if(this._disposed)return;this._completedCallback(this.get_scriptElement(),false)},_scriptLoadHandler:function(){if(this._disposed)return;var a=this.get_scriptElement();if(a.readyState!=="loaded"&&a.readyState!=="complete")return;this._completedCallback(a,true)}};Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask",null,Sys.IDisposable);Sys._ScriptLoaderTask._clearScript=function(a){if(!Sys.Debug.isDebug)a.parentNode.removeChild(a)};Type.registerNamespace("Sys.Net");Sys.Net.WebServiceProxy=function(){};Sys.Net.WebServiceProxy.prototype={get_timeout:function(){return this._timeout||0},set_timeout:function(a){if(a<0)throw Error.argumentOutOfRange("value",a,Sys.Res.invalidTimeout);this._timeout=a},get_defaultUserContext:function(){return typeof this._userContext==="undefined"?null:this._userContext},set_defaultUserContext:function(a){this._userContext=a},get_defaultSucceededCallback:function(){return this._succeeded||null},set_defaultSucceededCallback:function(a){this._succeeded=a},get_defaultFailedCallback:function(){return this._failed||null},set_defaultFailedCallback:function(a){this._failed=a},get_enableJsonp:function(){return !!this._jsonp},set_enableJsonp:function(a){this._jsonp=a},get_path:function(){return this._path||null},set_path:function(a){this._path=a},get_jsonpCallbackParameter:function(){return this._callbackParameter||"callback"},set_jsonpCallbackParameter:function(a){this._callbackParameter=a},_invoke:function(d,e,g,f,c,b,a){c=c||this.get_defaultSucceededCallback();b=b||this.get_defaultFailedCallback();if(a===null||typeof a==="undefined")a=this.get_defaultUserContext();return Sys.Net.WebServiceProxy.invoke(d,e,g,f,c,b,a,this.get_timeout(),this.get_enableJsonp(),this.get_jsonpCallbackParameter())}};Sys.Net.WebServiceProxy.registerClass("Sys.Net.WebServiceProxy");Sys.Net.WebServiceProxy.invoke=function(q,a,m,l,j,b,g,e,w,p){var i=w!==false?Sys.Net.WebServiceProxy._xdomain.exec(q):null,c,n=i&&i.length===3&&(i[1]!==location.protocol||i[2]!==location.host);m=n||m;if(n){p=p||"callback";c="_jsonp"+Sys._jsonp++}if(!l)l={};var r=l;if(!m||!r)r={};var s,h,f=null,k,o=null,u=Sys.Net.WebRequest._createUrl(a?q+"/"+encodeURIComponent(a):q,r,n?p+"=Sys."+c:null);if(n){s=document.createElement("script");s.src=u;k=new Sys._ScriptLoaderTask(s,function(d,b){if(!b||c)t({Message:String.format(Sys.Res.webServiceFailedNoMsg,a)},-1)});function v(){if(f===null)return;f=null;h=new Sys.Net.WebServiceError(true,String.format(Sys.Res.webServiceTimedOut,a));k.dispose();delete Sys[c];if(b)b(h,g,a)}function t(d,e){if(f!==null){window.clearTimeout(f);f=null}k.dispose();delete Sys[c];c=null;if(typeof e!=="undefined"&&e!==200){if(b){h=new Sys.Net.WebServiceError(false,d.Message||String.format(Sys.Res.webServiceFailedNoMsg,a),d.StackTrace||null,d.ExceptionType||null,d);h._statusCode=e;b(h,g,a)}}else if(j)j(d,g,a)}Sys[c]=t;e=e||Sys.Net.WebRequestManager.get_defaultTimeout();if(e>0)f=window.setTimeout(v,e);k.execute();return null}var d=new Sys.Net.WebRequest;d.set_url(u);d.get_headers()["Content-Type"]="application/json; charset=utf-8";if(!m){o=Sys.Serialization.JavaScriptSerializer.serialize(l);if(o==="{}")o=""}d.set_body(o);d.add_completed(x);if(e&&e>0)d.set_timeout(e);d.invoke();function x(d){if(d.get_responseAvailable()){var f=d.get_statusCode(),c=null;try{var e=d.getResponseHeader("Content-Type");if(e.startsWith("application/json"))c=d.get_object();else if(e.startsWith("text/xml"))c=d.get_xml();else c=d.get_responseData()}catch(m){}var k=d.getResponseHeader("jsonerror"),h=k==="true";if(h){if(c)c=new Sys.Net.WebServiceError(false,c.Message,c.StackTrace,c.ExceptionType,c)}else if(e.startsWith("application/json"))c=!c||typeof c.d==="undefined"?c:c.d;if(f<200||f>=300||h){if(b){if(!c||!h)c=new Sys.Net.WebServiceError(false,String.format(Sys.Res.webServiceFailedNoMsg,a));c._statusCode=f;b(c,g,a)}}else if(j)j(c,g,a)}else{var i;if(d.get_timedOut())i=String.format(Sys.Res.webServiceTimedOut,a);else i=String.format(Sys.Res.webServiceFailedNoMsg,a);if(b)b(new Sys.Net.WebServiceError(d.get_timedOut(),i,"",""),g,a)}}return d};Sys.Net.WebServiceProxy._generateTypedConstructor=function(a){return function(b){if(b)for(var c in b)this[c]=b[c];this.__type=a}};Sys._jsonp=0;Sys.Net.WebServiceProxy._xdomain=/^\s*([a-zA-Z0-9\+\-\.]+\:)\/\/([^?#\/]+)/;Sys.Net.WebServiceError=function(d,e,c,a,b){this._timedOut=d;this._message=e;this._stackTrace=c;this._exceptionType=a;this._errorObject=b;this._statusCode=-1};Sys.Net.WebServiceError.prototype={get_timedOut:function(){return this._timedOut},get_statusCode:function(){return this._statusCode},get_message:function(){return this._message},get_stackTrace:function(){return this._stackTrace||""},get_exceptionType:function(){return this._exceptionType||""},get_errorObject:function(){return this._errorObject||null}};Sys.Net.WebServiceError.registerClass("Sys.Net.WebServiceError"); +Type.registerNamespace('Sys');Sys.Res={'argumentInteger':'Value must be an integer.','invokeCalledTwice':'Cannot call invoke more than once.','webServiceFailed':'The server method \'{0}\' failed with the following error: {1}','argumentType':'Object cannot be converted to the required type.','argumentNull':'Value cannot be null.','scriptAlreadyLoaded':'The script \'{0}\' has been referenced multiple times. If referencing Microsoft AJAX scripts explicitly, set the MicrosoftAjaxMode property of the ScriptManager to Explicit.','scriptDependencyNotFound':'The script \'{0}\' failed to load because it is dependent on script \'{1}\'.','formatBadFormatSpecifier':'Format specifier was invalid.','requiredScriptReferenceNotIncluded':'\'{0}\' requires that you have included a script reference to \'{1}\'.','webServiceFailedNoMsg':'The server method \'{0}\' failed.','argumentDomElement':'Value must be a DOM element.','invalidExecutorType':'Could not create a valid Sys.Net.WebRequestExecutor from: {0}.','cannotCallBeforeResponse':'Cannot call {0} when responseAvailable is false.','actualValue':'Actual value was {0}.','enumInvalidValue':'\'{0}\' is not a valid value for enum {1}.','scriptLoadFailed':'The script \'{0}\' could not be loaded.','parameterCount':'Parameter count mismatch.','cannotDeserializeEmptyString':'Cannot deserialize empty string.','formatInvalidString':'Input string was not in a correct format.','invalidTimeout':'Value must be greater than or equal to zero.','cannotAbortBeforeStart':'Cannot abort when executor has not started.','argument':'Value does not fall within the expected range.','cannotDeserializeInvalidJson':'Cannot deserialize. The data does not correspond to valid JSON.','invalidHttpVerb':'httpVerb cannot be set to an empty or null string.','nullWebRequest':'Cannot call executeRequest with a null webRequest.','eventHandlerInvalid':'Handler was not added through the Sys.UI.DomEvent.addHandler method.','cannotSerializeNonFiniteNumbers':'Cannot serialize non finite numbers.','argumentUndefined':'Value cannot be undefined.','webServiceInvalidReturnType':'The server method \'{0}\' returned an invalid type. Expected type: {1}','servicePathNotSet':'The path to the web service has not been set.','argumentTypeWithTypes':'Object of type \'{0}\' cannot be converted to type \'{1}\'.','cannotCallOnceStarted':'Cannot call {0} once started.','badBaseUrl1':'Base URL does not contain ://.','badBaseUrl2':'Base URL does not contain another /.','badBaseUrl3':'Cannot find last / in base URL.','setExecutorAfterActive':'Cannot set executor after it has become active.','paramName':'Parameter name: {0}','nullReferenceInPath':'Null reference while evaluating data path: \'{0}\'.','cannotCallOutsideHandler':'Cannot call {0} outside of a completed event handler.','cannotSerializeObjectWithCycle':'Cannot serialize object with cyclic reference within child properties.','format':'One of the identified items was in an invalid format.','assertFailedCaller':'Assertion Failed: {0}\r\nat {1}','argumentOutOfRange':'Specified argument was out of the range of valid values.','webServiceTimedOut':'The server method \'{0}\' timed out.','notImplemented':'The method or operation is not implemented.','assertFailed':'Assertion Failed: {0}','invalidOperation':'Operation is not valid due to the current state of the object.','breakIntoDebugger':'{0}\r\n\r\nBreak into debugger?'}; diff --git a/CharityPortal/CharityPortal/Scripts/MicrosoftMvcAjax.debug.js b/CharityPortal/CharityPortal/Scripts/MicrosoftMvcAjax.debug.js new file mode 100644 index 0000000..3a39062 --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/MicrosoftMvcAjax.debug.js @@ -0,0 +1,408 @@ +//!---------------------------------------------------------- +//! Copyright (C) Microsoft Corporation. All rights reserved. +//!---------------------------------------------------------- +//! MicrosoftMvcAjax.js + +Type.registerNamespace('Sys.Mvc'); + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.AjaxOptions + +Sys.Mvc.$create_AjaxOptions = function Sys_Mvc_AjaxOptions() { return {}; } + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.InsertionMode + +Sys.Mvc.InsertionMode = function() { + /// + /// + /// + /// + /// + /// +}; +Sys.Mvc.InsertionMode.prototype = { + replace: 0, + insertBefore: 1, + insertAfter: 2 +} +Sys.Mvc.InsertionMode.registerEnum('Sys.Mvc.InsertionMode', false); + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.AjaxContext + +Sys.Mvc.AjaxContext = function Sys_Mvc_AjaxContext(request, updateTarget, loadingElement, insertionMode) { + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + this._request = request; + this._updateTarget = updateTarget; + this._loadingElement = loadingElement; + this._insertionMode = insertionMode; +} +Sys.Mvc.AjaxContext.prototype = { + _insertionMode: 0, + _loadingElement: null, + _response: null, + _request: null, + _updateTarget: null, + + get_data: function Sys_Mvc_AjaxContext$get_data() { + /// + if (this._response) { + return this._response.get_responseData(); + } + else { + return null; + } + }, + + get_insertionMode: function Sys_Mvc_AjaxContext$get_insertionMode() { + /// + return this._insertionMode; + }, + + get_loadingElement: function Sys_Mvc_AjaxContext$get_loadingElement() { + /// + return this._loadingElement; + }, + + get_object: function Sys_Mvc_AjaxContext$get_object() { + /// + var executor = this.get_response(); + return (executor) ? executor.get_object() : null; + }, + + get_response: function Sys_Mvc_AjaxContext$get_response() { + /// + return this._response; + }, + set_response: function Sys_Mvc_AjaxContext$set_response(value) { + /// + this._response = value; + return value; + }, + + get_request: function Sys_Mvc_AjaxContext$get_request() { + /// + return this._request; + }, + + get_updateTarget: function Sys_Mvc_AjaxContext$get_updateTarget() { + /// + return this._updateTarget; + } +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.AsyncHyperlink + +Sys.Mvc.AsyncHyperlink = function Sys_Mvc_AsyncHyperlink() { +} +Sys.Mvc.AsyncHyperlink.handleClick = function Sys_Mvc_AsyncHyperlink$handleClick(anchor, evt, ajaxOptions) { + /// + /// + /// + /// + /// + /// + evt.preventDefault(); + Sys.Mvc.MvcHelpers._asyncRequest(anchor.href, 'post', '', anchor, ajaxOptions); +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.MvcHelpers + +Sys.Mvc.MvcHelpers = function Sys_Mvc_MvcHelpers() { +} +Sys.Mvc.MvcHelpers._serializeSubmitButton = function Sys_Mvc_MvcHelpers$_serializeSubmitButton(element, offsetX, offsetY) { + /// + /// + /// + /// + /// + /// + /// + if (element.disabled) { + return null; + } + var name = element.name; + if (name) { + var tagName = element.tagName.toUpperCase(); + var encodedName = encodeURIComponent(name); + var inputElement = element; + if (tagName === 'INPUT') { + var type = inputElement.type; + if (type === 'submit') { + return encodedName + '=' + encodeURIComponent(inputElement.value); + } + else if (type === 'image') { + return encodedName + '.x=' + offsetX + '&' + encodedName + '.y=' + offsetY; + } + } + else if ((tagName === 'BUTTON') && (name.length) && (inputElement.type === 'submit')) { + return encodedName + '=' + encodeURIComponent(inputElement.value); + } + } + return null; +} +Sys.Mvc.MvcHelpers._serializeForm = function Sys_Mvc_MvcHelpers$_serializeForm(form) { + /// + /// + /// + var formElements = form.elements; + var formBody = new Sys.StringBuilder(); + var count = formElements.length; + for (var i = 0; i < count; i++) { + var element = formElements[i]; + var name = element.name; + if (!name || !name.length) { + continue; + } + var tagName = element.tagName.toUpperCase(); + if (tagName === 'INPUT') { + var inputElement = element; + var type = inputElement.type; + if ((type === 'text') || (type === 'password') || (type === 'hidden') || (((type === 'checkbox') || (type === 'radio')) && element.checked)) { + formBody.append(encodeURIComponent(name)); + formBody.append('='); + formBody.append(encodeURIComponent(inputElement.value)); + formBody.append('&'); + } + } + else if (tagName === 'SELECT') { + var selectElement = element; + var optionCount = selectElement.options.length; + for (var j = 0; j < optionCount; j++) { + var optionElement = selectElement.options[j]; + if (optionElement.selected) { + formBody.append(encodeURIComponent(name)); + formBody.append('='); + formBody.append(encodeURIComponent(optionElement.value)); + formBody.append('&'); + } + } + } + else if (tagName === 'TEXTAREA') { + formBody.append(encodeURIComponent(name)); + formBody.append('='); + formBody.append(encodeURIComponent((element.value))); + formBody.append('&'); + } + } + var additionalInput = form._additionalInput; + if (additionalInput) { + formBody.append(additionalInput); + formBody.append('&'); + } + return formBody.toString(); +} +Sys.Mvc.MvcHelpers._asyncRequest = function Sys_Mvc_MvcHelpers$_asyncRequest(url, verb, body, triggerElement, ajaxOptions) { + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + if (ajaxOptions.confirm) { + if (!confirm(ajaxOptions.confirm)) { + return; + } + } + if (ajaxOptions.url) { + url = ajaxOptions.url; + } + if (ajaxOptions.httpMethod) { + verb = ajaxOptions.httpMethod; + } + if (body.length > 0 && !body.endsWith('&')) { + body += '&'; + } + body += 'X-Requested-With=XMLHttpRequest'; + var upperCaseVerb = verb.toUpperCase(); + var isGetOrPost = (upperCaseVerb === 'GET' || upperCaseVerb === 'POST'); + if (!isGetOrPost) { + body += '&'; + body += 'X-HTTP-Method-Override=' + upperCaseVerb; + } + var requestBody = ''; + if (upperCaseVerb === 'GET' || upperCaseVerb === 'DELETE') { + if (url.indexOf('?') > -1) { + if (!url.endsWith('&')) { + url += '&'; + } + url += body; + } + else { + url += '?'; + url += body; + } + } + else { + requestBody = body; + } + var request = new Sys.Net.WebRequest(); + request.set_url(url); + if (isGetOrPost) { + request.set_httpVerb(verb); + } + else { + request.set_httpVerb('POST'); + request.get_headers()['X-HTTP-Method-Override'] = upperCaseVerb; + } + request.set_body(requestBody); + if (verb.toUpperCase() === 'PUT') { + request.get_headers()['Content-Type'] = 'application/x-www-form-urlencoded;'; + } + request.get_headers()['X-Requested-With'] = 'XMLHttpRequest'; + var updateElement = null; + if (ajaxOptions.updateTargetId) { + updateElement = $get(ajaxOptions.updateTargetId); + } + var loadingElement = null; + if (ajaxOptions.loadingElementId) { + loadingElement = $get(ajaxOptions.loadingElementId); + } + var ajaxContext = new Sys.Mvc.AjaxContext(request, updateElement, loadingElement, ajaxOptions.insertionMode); + var continueRequest = true; + if (ajaxOptions.onBegin) { + continueRequest = ajaxOptions.onBegin(ajaxContext) !== false; + } + if (loadingElement) { + Sys.UI.DomElement.setVisible(ajaxContext.get_loadingElement(), true); + } + if (continueRequest) { + request.add_completed(Function.createDelegate(null, function(executor) { + Sys.Mvc.MvcHelpers._onComplete(request, ajaxOptions, ajaxContext); + })); + request.invoke(); + } +} +Sys.Mvc.MvcHelpers._onComplete = function Sys_Mvc_MvcHelpers$_onComplete(request, ajaxOptions, ajaxContext) { + /// + /// + /// + /// + /// + /// + ajaxContext.set_response(request.get_executor()); + if (ajaxOptions.onComplete && ajaxOptions.onComplete(ajaxContext) === false) { + return; + } + var statusCode = ajaxContext.get_response().get_statusCode(); + if ((statusCode >= 200 && statusCode < 300) || statusCode === 304 || statusCode === 1223) { + if (statusCode !== 204 && statusCode !== 304 && statusCode !== 1223) { + var contentType = ajaxContext.get_response().getResponseHeader('Content-Type'); + if ((contentType) && (contentType.indexOf('application/x-javascript') !== -1)) { + eval(ajaxContext.get_data()); + } + else { + Sys.Mvc.MvcHelpers.updateDomElement(ajaxContext.get_updateTarget(), ajaxContext.get_insertionMode(), ajaxContext.get_data()); + } + } + if (ajaxOptions.onSuccess) { + ajaxOptions.onSuccess(ajaxContext); + } + } + else { + if (ajaxOptions.onFailure) { + ajaxOptions.onFailure(ajaxContext); + } + } + if (ajaxContext.get_loadingElement()) { + Sys.UI.DomElement.setVisible(ajaxContext.get_loadingElement(), false); + } +} +Sys.Mvc.MvcHelpers.updateDomElement = function Sys_Mvc_MvcHelpers$updateDomElement(target, insertionMode, content) { + /// + /// + /// + /// + /// + /// + if (target) { + switch (insertionMode) { + case Sys.Mvc.InsertionMode.replace: + target.innerHTML = content; + break; + case Sys.Mvc.InsertionMode.insertBefore: + if (content && content.length > 0) { + target.innerHTML = content + target.innerHTML.trimStart(); + } + break; + case Sys.Mvc.InsertionMode.insertAfter: + if (content && content.length > 0) { + target.innerHTML = target.innerHTML.trimEnd() + content; + } + break; + } + } +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.AsyncForm + +Sys.Mvc.AsyncForm = function Sys_Mvc_AsyncForm() { +} +Sys.Mvc.AsyncForm.handleClick = function Sys_Mvc_AsyncForm$handleClick(form, evt) { + /// + /// + /// + /// + var additionalInput = Sys.Mvc.MvcHelpers._serializeSubmitButton(evt.target, evt.offsetX, evt.offsetY); + form._additionalInput = additionalInput; +} +Sys.Mvc.AsyncForm.handleSubmit = function Sys_Mvc_AsyncForm$handleSubmit(form, evt, ajaxOptions) { + /// + /// + /// + /// + /// + /// + evt.preventDefault(); + var validationCallbacks = form.validationCallbacks; + if (validationCallbacks) { + for (var i = 0; i < validationCallbacks.length; i++) { + var callback = validationCallbacks[i]; + if (!callback()) { + return; + } + } + } + var body = Sys.Mvc.MvcHelpers._serializeForm(form); + Sys.Mvc.MvcHelpers._asyncRequest(form.action, form.method || 'post', body, form, ajaxOptions); +} + + +Sys.Mvc.AjaxContext.registerClass('Sys.Mvc.AjaxContext'); +Sys.Mvc.AsyncHyperlink.registerClass('Sys.Mvc.AsyncHyperlink'); +Sys.Mvc.MvcHelpers.registerClass('Sys.Mvc.MvcHelpers'); +Sys.Mvc.AsyncForm.registerClass('Sys.Mvc.AsyncForm'); + +// ---- Do not remove this footer ---- +// Generated using Script# v0.5.0.0 (http://projects.nikhilk.net) +// ----------------------------------- diff --git a/CharityPortal/CharityPortal/Scripts/MicrosoftMvcAjax.js b/CharityPortal/CharityPortal/Scripts/MicrosoftMvcAjax.js new file mode 100644 index 0000000..275103c --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/MicrosoftMvcAjax.js @@ -0,0 +1,25 @@ +//---------------------------------------------------------- +// Copyright (C) Microsoft Corporation. All rights reserved. +//---------------------------------------------------------- +// MicrosoftMvcAjax.js + +Type.registerNamespace('Sys.Mvc');Sys.Mvc.$create_AjaxOptions=function(){return {};} +Sys.Mvc.InsertionMode=function(){};Sys.Mvc.InsertionMode.prototype = {replace:0,insertBefore:1,insertAfter:2} +Sys.Mvc.InsertionMode.registerEnum('Sys.Mvc.InsertionMode',false);Sys.Mvc.AjaxContext=function(request,updateTarget,loadingElement,insertionMode){this.$3=request;this.$4=updateTarget;this.$1=loadingElement;this.$0=insertionMode;} +Sys.Mvc.AjaxContext.prototype={$0:0,$1:null,$2:null,$3:null,$4:null,get_data:function(){if(this.$2){return this.$2.get_responseData();}else{return null;}},get_insertionMode:function(){return this.$0;},get_loadingElement:function(){return this.$1;},get_object:function(){var $0=this.get_response();return ($0)?$0.get_object():null;},get_response:function(){return this.$2;},set_response:function(value){this.$2=value;return value;},get_request:function(){return this.$3;},get_updateTarget:function(){return this.$4;}} +Sys.Mvc.AsyncHyperlink=function(){} +Sys.Mvc.AsyncHyperlink.handleClick=function(anchor,evt,ajaxOptions){evt.preventDefault();Sys.Mvc.MvcHelpers.$2(anchor.href,'post','',anchor,ajaxOptions);} +Sys.Mvc.MvcHelpers=function(){} +Sys.Mvc.MvcHelpers.$0=function($p0,$p1,$p2){if($p0.disabled){return null;}var $0=$p0.name;if($0){var $1=$p0.tagName.toUpperCase();var $2=encodeURIComponent($0);var $3=$p0;if($1==='INPUT'){var $4=$3.type;if($4==='submit'){return $2+'='+encodeURIComponent($3.value);}else if($4==='image'){return $2+'.x='+$p1+'&'+$2+'.y='+$p2;}}else if(($1==='BUTTON')&&($0.length)&&($3.type==='submit')){return $2+'='+encodeURIComponent($3.value);}}return null;} +Sys.Mvc.MvcHelpers.$1=function($p0){var $0=$p0.elements;var $1=new Sys.StringBuilder();var $2=$0.length;for(var $4=0;$4<$2;$4++){var $5=$0[$4];var $6=$5.name;if(!$6||!$6.length){continue;}var $7=$5.tagName.toUpperCase();if($7==='INPUT'){var $8=$5;var $9=$8.type;if(($9==='text')||($9==='password')||($9==='hidden')||((($9==='checkbox')||($9==='radio'))&&$5.checked)){$1.append(encodeURIComponent($6));$1.append('=');$1.append(encodeURIComponent($8.value));$1.append('&');}}else if($7==='SELECT'){var $A=$5;var $B=$A.options.length;for(var $C=0;$C<$B;$C++){var $D=$A.options[$C];if($D.selected){$1.append(encodeURIComponent($6));$1.append('=');$1.append(encodeURIComponent($D.value));$1.append('&');}}}else if($7==='TEXTAREA'){$1.append(encodeURIComponent($6));$1.append('=');$1.append(encodeURIComponent(($5.value)));$1.append('&');}}var $3=$p0._additionalInput;if($3){$1.append($3);$1.append('&');}return $1.toString();} +Sys.Mvc.MvcHelpers.$2=function($p0,$p1,$p2,$p3,$p4){if($p4.confirm){if(!confirm($p4.confirm)){return;}}if($p4.url){$p0=$p4.url;}if($p4.httpMethod){$p1=$p4.httpMethod;}if($p2.length>0&&!$p2.endsWith('&')){$p2+='&';}$p2+='X-Requested-With=XMLHttpRequest';var $0=$p1.toUpperCase();var $1=($0==='GET'||$0==='POST');if(!$1){$p2+='&';$p2+='X-HTTP-Method-Override='+$0;}var $2='';if($0==='GET'||$0==='DELETE'){if($p0.indexOf('?')>-1){if(!$p0.endsWith('&')){$p0+='&';}$p0+=$p2;}else{$p0+='?';$p0+=$p2;}}else{$2=$p2;}var $3=new Sys.Net.WebRequest();$3.set_url($p0);if($1){$3.set_httpVerb($p1);}else{$3.set_httpVerb('POST');$3.get_headers()['X-HTTP-Method-Override']=$0;}$3.set_body($2);if($p1.toUpperCase()==='PUT'){$3.get_headers()['Content-Type']='application/x-www-form-urlencoded;';}$3.get_headers()['X-Requested-With']='XMLHttpRequest';var $4=null;if($p4.updateTargetId){$4=$get($p4.updateTargetId);}var $5=null;if($p4.loadingElementId){$5=$get($p4.loadingElementId);}var $6=new Sys.Mvc.AjaxContext($3,$4,$5,$p4.insertionMode);var $7=true;if($p4.onBegin){$7=$p4.onBegin($6)!==false;}if($5){Sys.UI.DomElement.setVisible($6.get_loadingElement(),true);}if($7){$3.add_completed(Function.createDelegate(null,function($p1_0){ +Sys.Mvc.MvcHelpers.$3($3,$p4,$6);}));$3.invoke();}} +Sys.Mvc.MvcHelpers.$3=function($p0,$p1,$p2){$p2.set_response($p0.get_executor());if($p1.onComplete&&$p1.onComplete($p2)===false){return;}var $0=$p2.get_response().get_statusCode();if(($0>=200&&$0<300)||$0===304||$0===1223){if($0!==204&&$0!==304&&$0!==1223){var $1=$p2.get_response().getResponseHeader('Content-Type');if(($1)&&($1.indexOf('application/x-javascript')!==-1)){eval($p2.get_data());}else{Sys.Mvc.MvcHelpers.updateDomElement($p2.get_updateTarget(),$p2.get_insertionMode(),$p2.get_data());}}if($p1.onSuccess){$p1.onSuccess($p2);}}else{if($p1.onFailure){$p1.onFailure($p2);}}if($p2.get_loadingElement()){Sys.UI.DomElement.setVisible($p2.get_loadingElement(),false);}} +Sys.Mvc.MvcHelpers.updateDomElement=function(target,insertionMode,content){if(target){switch(insertionMode){case 0:target.innerHTML=content;break;case 1:if(content&&content.length>0){target.innerHTML=content+target.innerHTML.trimStart();}break;case 2:if(content&&content.length>0){target.innerHTML=target.innerHTML.trimEnd()+content;}break;}}} +Sys.Mvc.AsyncForm=function(){} +Sys.Mvc.AsyncForm.handleClick=function(form,evt){var $0=Sys.Mvc.MvcHelpers.$0(evt.target,evt.offsetX,evt.offsetY);form._additionalInput = $0;} +Sys.Mvc.AsyncForm.handleSubmit=function(form,evt,ajaxOptions){evt.preventDefault();var $0=form.validationCallbacks;if($0){for(var $2=0;$2<$0.length;$2++){var $3=$0[$2];if(!$3()){return;}}}var $1=Sys.Mvc.MvcHelpers.$1(form);Sys.Mvc.MvcHelpers.$2(form.action,form.method||'post',$1,form,ajaxOptions);} +Sys.Mvc.AjaxContext.registerClass('Sys.Mvc.AjaxContext');Sys.Mvc.AsyncHyperlink.registerClass('Sys.Mvc.AsyncHyperlink');Sys.Mvc.MvcHelpers.registerClass('Sys.Mvc.MvcHelpers');Sys.Mvc.AsyncForm.registerClass('Sys.Mvc.AsyncForm'); +// ---- Do not remove this footer ---- +// Generated using Script# v0.5.0.0 (http://projects.nikhilk.net) +// ----------------------------------- diff --git a/CharityPortal/CharityPortal/Scripts/MicrosoftMvcValidation.debug.js b/CharityPortal/CharityPortal/Scripts/MicrosoftMvcValidation.debug.js new file mode 100644 index 0000000..eb032ff --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/MicrosoftMvcValidation.debug.js @@ -0,0 +1,883 @@ +//!---------------------------------------------------------- +//! Copyright (C) Microsoft Corporation. All rights reserved. +//!---------------------------------------------------------- +//! MicrosoftMvcValidation.js + + +Type.registerNamespace('Sys.Mvc'); + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.Validation + +Sys.Mvc.$create_Validation = function Sys_Mvc_Validation() { return {}; } + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.JsonValidationField + +Sys.Mvc.$create_JsonValidationField = function Sys_Mvc_JsonValidationField() { return {}; } + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.JsonValidationOptions + +Sys.Mvc.$create_JsonValidationOptions = function Sys_Mvc_JsonValidationOptions() { return {}; } + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.JsonValidationRule + +Sys.Mvc.$create_JsonValidationRule = function Sys_Mvc_JsonValidationRule() { return {}; } + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.ValidationContext + +Sys.Mvc.$create_ValidationContext = function Sys_Mvc_ValidationContext() { return {}; } + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.NumberValidator + +Sys.Mvc.NumberValidator = function Sys_Mvc_NumberValidator() { +} +Sys.Mvc.NumberValidator.create = function Sys_Mvc_NumberValidator$create(rule) { + /// + /// + /// + return Function.createDelegate(new Sys.Mvc.NumberValidator(), new Sys.Mvc.NumberValidator().validate); +} +Sys.Mvc.NumberValidator.prototype = { + + validate: function Sys_Mvc_NumberValidator$validate(value, context) { + /// + /// + /// + /// + /// + if (Sys.Mvc._validationUtil.stringIsNullOrEmpty(value)) { + return true; + } + var n = Number.parseLocale(value); + return (!isNaN(n)); + } +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.FormContext + +Sys.Mvc.FormContext = function Sys_Mvc_FormContext(formElement, validationSummaryElement) { + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + this._errors = []; + this.fields = new Array(0); + this._formElement = formElement; + this._validationSummaryElement = validationSummaryElement; + formElement[Sys.Mvc.FormContext._formValidationTag] = this; + if (validationSummaryElement) { + var ulElements = validationSummaryElement.getElementsByTagName('ul'); + if (ulElements.length > 0) { + this._validationSummaryULElement = ulElements[0]; + } + } + this._onClickHandler = Function.createDelegate(this, this._form_OnClick); + this._onSubmitHandler = Function.createDelegate(this, this._form_OnSubmit); +} +Sys.Mvc.FormContext._Application_Load = function Sys_Mvc_FormContext$_Application_Load() { + var allFormOptions = window.mvcClientValidationMetadata; + if (allFormOptions) { + while (allFormOptions.length > 0) { + var thisFormOptions = allFormOptions.pop(); + Sys.Mvc.FormContext._parseJsonOptions(thisFormOptions); + } + } +} +Sys.Mvc.FormContext._getFormElementsWithName = function Sys_Mvc_FormContext$_getFormElementsWithName(formElement, name) { + /// + /// + /// + /// + /// + var allElementsWithNameInForm = []; + var allElementsWithName = document.getElementsByName(name); + for (var i = 0; i < allElementsWithName.length; i++) { + var thisElement = allElementsWithName[i]; + if (Sys.Mvc.FormContext._isElementInHierarchy(formElement, thisElement)) { + Array.add(allElementsWithNameInForm, thisElement); + } + } + return allElementsWithNameInForm; +} +Sys.Mvc.FormContext.getValidationForForm = function Sys_Mvc_FormContext$getValidationForForm(formElement) { + /// + /// + /// + return formElement[Sys.Mvc.FormContext._formValidationTag]; +} +Sys.Mvc.FormContext._isElementInHierarchy = function Sys_Mvc_FormContext$_isElementInHierarchy(parent, child) { + /// + /// + /// + /// + /// + while (child) { + if (parent === child) { + return true; + } + child = child.parentNode; + } + return false; +} +Sys.Mvc.FormContext._parseJsonOptions = function Sys_Mvc_FormContext$_parseJsonOptions(options) { + /// + /// + /// + var formElement = $get(options.FormId); + var validationSummaryElement = (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(options.ValidationSummaryId)) ? $get(options.ValidationSummaryId) : null; + var formContext = new Sys.Mvc.FormContext(formElement, validationSummaryElement); + formContext.enableDynamicValidation(); + formContext.replaceValidationSummary = options.ReplaceValidationSummary; + for (var i = 0; i < options.Fields.length; i++) { + var field = options.Fields[i]; + var fieldElements = Sys.Mvc.FormContext._getFormElementsWithName(formElement, field.FieldName); + var validationMessageElement = (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(field.ValidationMessageId)) ? $get(field.ValidationMessageId) : null; + var fieldContext = new Sys.Mvc.FieldContext(formContext); + Array.addRange(fieldContext.elements, fieldElements); + fieldContext.validationMessageElement = validationMessageElement; + fieldContext.replaceValidationMessageContents = field.ReplaceValidationMessageContents; + for (var j = 0; j < field.ValidationRules.length; j++) { + var rule = field.ValidationRules[j]; + var validator = Sys.Mvc.ValidatorRegistry.getValidator(rule); + if (validator) { + var validation = Sys.Mvc.$create_Validation(); + validation.fieldErrorMessage = rule.ErrorMessage; + validation.validator = validator; + Array.add(fieldContext.validations, validation); + } + } + fieldContext.enableDynamicValidation(); + Array.add(formContext.fields, fieldContext); + } + var registeredValidatorCallbacks = formElement.validationCallbacks; + if (!registeredValidatorCallbacks) { + registeredValidatorCallbacks = []; + formElement.validationCallbacks = registeredValidatorCallbacks; + } + registeredValidatorCallbacks.push(Function.createDelegate(null, function() { + return Sys.Mvc._validationUtil.arrayIsNullOrEmpty(formContext.validate('submit')); + })); + return formContext; +} +Sys.Mvc.FormContext.prototype = { + _onClickHandler: null, + _onSubmitHandler: null, + _submitButtonClicked: null, + _validationSummaryElement: null, + _validationSummaryULElement: null, + _formElement: null, + replaceValidationSummary: false, + + addError: function Sys_Mvc_FormContext$addError(message) { + /// + /// + this.addErrors([ message ]); + }, + + addErrors: function Sys_Mvc_FormContext$addErrors(messages) { + /// + /// + if (!Sys.Mvc._validationUtil.arrayIsNullOrEmpty(messages)) { + Array.addRange(this._errors, messages); + this._onErrorCountChanged(); + } + }, + + clearErrors: function Sys_Mvc_FormContext$clearErrors() { + Array.clear(this._errors); + this._onErrorCountChanged(); + }, + + _displayError: function Sys_Mvc_FormContext$_displayError() { + if (this._validationSummaryElement) { + if (this._validationSummaryULElement) { + Sys.Mvc._validationUtil.removeAllChildren(this._validationSummaryULElement); + for (var i = 0; i < this._errors.length; i++) { + var liElement = document.createElement('li'); + Sys.Mvc._validationUtil.setInnerText(liElement, this._errors[i]); + this._validationSummaryULElement.appendChild(liElement); + } + } + Sys.UI.DomElement.removeCssClass(this._validationSummaryElement, Sys.Mvc.FormContext._validationSummaryValidCss); + Sys.UI.DomElement.addCssClass(this._validationSummaryElement, Sys.Mvc.FormContext._validationSummaryErrorCss); + } + }, + + _displaySuccess: function Sys_Mvc_FormContext$_displaySuccess() { + var validationSummaryElement = this._validationSummaryElement; + if (validationSummaryElement) { + var validationSummaryULElement = this._validationSummaryULElement; + if (validationSummaryULElement) { + validationSummaryULElement.innerHTML = ''; + } + Sys.UI.DomElement.removeCssClass(validationSummaryElement, Sys.Mvc.FormContext._validationSummaryErrorCss); + Sys.UI.DomElement.addCssClass(validationSummaryElement, Sys.Mvc.FormContext._validationSummaryValidCss); + } + }, + + enableDynamicValidation: function Sys_Mvc_FormContext$enableDynamicValidation() { + Sys.UI.DomEvent.addHandler(this._formElement, 'click', this._onClickHandler); + Sys.UI.DomEvent.addHandler(this._formElement, 'submit', this._onSubmitHandler); + }, + + _findSubmitButton: function Sys_Mvc_FormContext$_findSubmitButton(element) { + /// + /// + /// + if (element.disabled) { + return null; + } + var tagName = element.tagName.toUpperCase(); + var inputElement = element; + if (tagName === 'INPUT') { + var type = inputElement.type; + if (type === 'submit' || type === 'image') { + return inputElement; + } + } + else if ((tagName === 'BUTTON') && (inputElement.type === 'submit')) { + return inputElement; + } + return null; + }, + + _form_OnClick: function Sys_Mvc_FormContext$_form_OnClick(e) { + /// + /// + this._submitButtonClicked = this._findSubmitButton(e.target); + }, + + _form_OnSubmit: function Sys_Mvc_FormContext$_form_OnSubmit(e) { + /// + /// + var form = e.target; + var submitButton = this._submitButtonClicked; + if (submitButton && submitButton.disableValidation) { + return; + } + var errorMessages = this.validate('submit'); + if (!Sys.Mvc._validationUtil.arrayIsNullOrEmpty(errorMessages)) { + e.preventDefault(); + } + }, + + _onErrorCountChanged: function Sys_Mvc_FormContext$_onErrorCountChanged() { + if (!this._errors.length) { + this._displaySuccess(); + } + else { + this._displayError(); + } + }, + + validate: function Sys_Mvc_FormContext$validate(eventName) { + /// + /// + /// + var fields = this.fields; + var errors = []; + for (var i = 0; i < fields.length; i++) { + var field = fields[i]; + if (!field.elements[0].disabled) { + var thisErrors = field.validate(eventName); + if (thisErrors) { + Array.addRange(errors, thisErrors); + } + } + } + if (this.replaceValidationSummary) { + this.clearErrors(); + this.addErrors(errors); + } + return errors; + } +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.FieldContext + +Sys.Mvc.FieldContext = function Sys_Mvc_FieldContext(formContext) { + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + this._errors = []; + this.elements = new Array(0); + this.validations = new Array(0); + this.formContext = formContext; + this._onBlurHandler = Function.createDelegate(this, this._element_OnBlur); + this._onChangeHandler = Function.createDelegate(this, this._element_OnChange); + this._onInputHandler = Function.createDelegate(this, this._element_OnInput); + this._onPropertyChangeHandler = Function.createDelegate(this, this._element_OnPropertyChange); +} +Sys.Mvc.FieldContext.prototype = { + _onBlurHandler: null, + _onChangeHandler: null, + _onInputHandler: null, + _onPropertyChangeHandler: null, + defaultErrorMessage: null, + formContext: null, + replaceValidationMessageContents: false, + validationMessageElement: null, + + addError: function Sys_Mvc_FieldContext$addError(message) { + /// + /// + this.addErrors([ message ]); + }, + + addErrors: function Sys_Mvc_FieldContext$addErrors(messages) { + /// + /// + if (!Sys.Mvc._validationUtil.arrayIsNullOrEmpty(messages)) { + Array.addRange(this._errors, messages); + this._onErrorCountChanged(); + } + }, + + clearErrors: function Sys_Mvc_FieldContext$clearErrors() { + Array.clear(this._errors); + this._onErrorCountChanged(); + }, + + _displayError: function Sys_Mvc_FieldContext$_displayError() { + var validationMessageElement = this.validationMessageElement; + if (validationMessageElement) { + if (this.replaceValidationMessageContents) { + Sys.Mvc._validationUtil.setInnerText(validationMessageElement, this._errors[0]); + } + Sys.UI.DomElement.removeCssClass(validationMessageElement, Sys.Mvc.FieldContext._validationMessageValidCss); + Sys.UI.DomElement.addCssClass(validationMessageElement, Sys.Mvc.FieldContext._validationMessageErrorCss); + } + var elements = this.elements; + for (var i = 0; i < elements.length; i++) { + var element = elements[i]; + Sys.UI.DomElement.removeCssClass(element, Sys.Mvc.FieldContext._inputElementValidCss); + Sys.UI.DomElement.addCssClass(element, Sys.Mvc.FieldContext._inputElementErrorCss); + } + }, + + _displaySuccess: function Sys_Mvc_FieldContext$_displaySuccess() { + var validationMessageElement = this.validationMessageElement; + if (validationMessageElement) { + if (this.replaceValidationMessageContents) { + Sys.Mvc._validationUtil.setInnerText(validationMessageElement, ''); + } + Sys.UI.DomElement.removeCssClass(validationMessageElement, Sys.Mvc.FieldContext._validationMessageErrorCss); + Sys.UI.DomElement.addCssClass(validationMessageElement, Sys.Mvc.FieldContext._validationMessageValidCss); + } + var elements = this.elements; + for (var i = 0; i < elements.length; i++) { + var element = elements[i]; + Sys.UI.DomElement.removeCssClass(element, Sys.Mvc.FieldContext._inputElementErrorCss); + Sys.UI.DomElement.addCssClass(element, Sys.Mvc.FieldContext._inputElementValidCss); + } + }, + + _element_OnBlur: function Sys_Mvc_FieldContext$_element_OnBlur(e) { + /// + /// + if (e.target[Sys.Mvc.FieldContext._hasTextChangedTag] || e.target[Sys.Mvc.FieldContext._hasValidationFiredTag]) { + this.validate('blur'); + } + }, + + _element_OnChange: function Sys_Mvc_FieldContext$_element_OnChange(e) { + /// + /// + e.target[Sys.Mvc.FieldContext._hasTextChangedTag] = true; + }, + + _element_OnInput: function Sys_Mvc_FieldContext$_element_OnInput(e) { + /// + /// + e.target[Sys.Mvc.FieldContext._hasTextChangedTag] = true; + if (e.target[Sys.Mvc.FieldContext._hasValidationFiredTag]) { + this.validate('input'); + } + }, + + _element_OnPropertyChange: function Sys_Mvc_FieldContext$_element_OnPropertyChange(e) { + /// + /// + if (e.rawEvent.propertyName === 'value') { + e.target[Sys.Mvc.FieldContext._hasTextChangedTag] = true; + if (e.target[Sys.Mvc.FieldContext._hasValidationFiredTag]) { + this.validate('input'); + } + } + }, + + enableDynamicValidation: function Sys_Mvc_FieldContext$enableDynamicValidation() { + var elements = this.elements; + for (var i = 0; i < elements.length; i++) { + var element = elements[i]; + if (Sys.Mvc._validationUtil.elementSupportsEvent(element, 'onpropertychange')) { + var compatMode = document.documentMode; + if (compatMode && compatMode >= 8) { + Sys.UI.DomEvent.addHandler(element, 'propertychange', this._onPropertyChangeHandler); + } + } + else { + Sys.UI.DomEvent.addHandler(element, 'input', this._onInputHandler); + } + Sys.UI.DomEvent.addHandler(element, 'change', this._onChangeHandler); + Sys.UI.DomEvent.addHandler(element, 'blur', this._onBlurHandler); + } + }, + + _getErrorString: function Sys_Mvc_FieldContext$_getErrorString(validatorReturnValue, fieldErrorMessage) { + /// + /// + /// + /// + /// + var fallbackErrorMessage = fieldErrorMessage || this.defaultErrorMessage; + if (Boolean.isInstanceOfType(validatorReturnValue)) { + return (validatorReturnValue) ? null : fallbackErrorMessage; + } + if (String.isInstanceOfType(validatorReturnValue)) { + return ((validatorReturnValue).length) ? validatorReturnValue : fallbackErrorMessage; + } + return null; + }, + + _getStringValue: function Sys_Mvc_FieldContext$_getStringValue() { + /// + var elements = this.elements; + return (elements.length > 0) ? elements[0].value : null; + }, + + _markValidationFired: function Sys_Mvc_FieldContext$_markValidationFired() { + var elements = this.elements; + for (var i = 0; i < elements.length; i++) { + var element = elements[i]; + element[Sys.Mvc.FieldContext._hasValidationFiredTag] = true; + } + }, + + _onErrorCountChanged: function Sys_Mvc_FieldContext$_onErrorCountChanged() { + if (!this._errors.length) { + this._displaySuccess(); + } + else { + this._displayError(); + } + }, + + validate: function Sys_Mvc_FieldContext$validate(eventName) { + /// + /// + /// + var validations = this.validations; + var errors = []; + var value = this._getStringValue(); + for (var i = 0; i < validations.length; i++) { + var validation = validations[i]; + var context = Sys.Mvc.$create_ValidationContext(); + context.eventName = eventName; + context.fieldContext = this; + context.validation = validation; + var retVal = validation.validator(value, context); + var errorMessage = this._getErrorString(retVal, validation.fieldErrorMessage); + if (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(errorMessage)) { + Array.add(errors, errorMessage); + } + } + this._markValidationFired(); + this.clearErrors(); + this.addErrors(errors); + return errors; + } +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.RangeValidator + +Sys.Mvc.RangeValidator = function Sys_Mvc_RangeValidator(minimum, maximum) { + /// + /// + /// + /// + /// + /// + /// + /// + this._minimum = minimum; + this._maximum = maximum; +} +Sys.Mvc.RangeValidator.create = function Sys_Mvc_RangeValidator$create(rule) { + /// + /// + /// + var min = rule.ValidationParameters['min']; + var max = rule.ValidationParameters['max']; + return Function.createDelegate(new Sys.Mvc.RangeValidator(min, max), new Sys.Mvc.RangeValidator(min, max).validate); +} +Sys.Mvc.RangeValidator.prototype = { + _minimum: null, + _maximum: null, + + validate: function Sys_Mvc_RangeValidator$validate(value, context) { + /// + /// + /// + /// + /// + if (Sys.Mvc._validationUtil.stringIsNullOrEmpty(value)) { + return true; + } + var n = Number.parseLocale(value); + return (!isNaN(n) && this._minimum <= n && n <= this._maximum); + } +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.RegularExpressionValidator + +Sys.Mvc.RegularExpressionValidator = function Sys_Mvc_RegularExpressionValidator(pattern) { + /// + /// + /// + /// + this._pattern = pattern; +} +Sys.Mvc.RegularExpressionValidator.create = function Sys_Mvc_RegularExpressionValidator$create(rule) { + /// + /// + /// + var pattern = rule.ValidationParameters['pattern']; + return Function.createDelegate(new Sys.Mvc.RegularExpressionValidator(pattern), new Sys.Mvc.RegularExpressionValidator(pattern).validate); +} +Sys.Mvc.RegularExpressionValidator.prototype = { + _pattern: null, + + validate: function Sys_Mvc_RegularExpressionValidator$validate(value, context) { + /// + /// + /// + /// + /// + if (Sys.Mvc._validationUtil.stringIsNullOrEmpty(value)) { + return true; + } + var regExp = new RegExp(this._pattern); + var matches = regExp.exec(value); + return (!Sys.Mvc._validationUtil.arrayIsNullOrEmpty(matches) && matches[0].length === value.length); + } +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.RequiredValidator + +Sys.Mvc.RequiredValidator = function Sys_Mvc_RequiredValidator() { +} +Sys.Mvc.RequiredValidator.create = function Sys_Mvc_RequiredValidator$create(rule) { + /// + /// + /// + return Function.createDelegate(new Sys.Mvc.RequiredValidator(), new Sys.Mvc.RequiredValidator().validate); +} +Sys.Mvc.RequiredValidator._isRadioInputElement = function Sys_Mvc_RequiredValidator$_isRadioInputElement(element) { + /// + /// + /// + if (element.tagName.toUpperCase() === 'INPUT') { + var inputType = (element.type).toUpperCase(); + if (inputType === 'RADIO') { + return true; + } + } + return false; +} +Sys.Mvc.RequiredValidator._isSelectInputElement = function Sys_Mvc_RequiredValidator$_isSelectInputElement(element) { + /// + /// + /// + if (element.tagName.toUpperCase() === 'SELECT') { + return true; + } + return false; +} +Sys.Mvc.RequiredValidator._isTextualInputElement = function Sys_Mvc_RequiredValidator$_isTextualInputElement(element) { + /// + /// + /// + if (element.tagName.toUpperCase() === 'INPUT') { + var inputType = (element.type).toUpperCase(); + switch (inputType) { + case 'TEXT': + case 'PASSWORD': + case 'FILE': + return true; + } + } + if (element.tagName.toUpperCase() === 'TEXTAREA') { + return true; + } + return false; +} +Sys.Mvc.RequiredValidator._validateRadioInput = function Sys_Mvc_RequiredValidator$_validateRadioInput(elements) { + /// + /// + /// + for (var i = 0; i < elements.length; i++) { + var element = elements[i]; + if (element.checked) { + return true; + } + } + return false; +} +Sys.Mvc.RequiredValidator._validateSelectInput = function Sys_Mvc_RequiredValidator$_validateSelectInput(optionElements) { + /// + /// + /// + for (var i = 0; i < optionElements.length; i++) { + var element = optionElements[i]; + if (element.selected) { + if (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(element.value)) { + return true; + } + } + } + return false; +} +Sys.Mvc.RequiredValidator._validateTextualInput = function Sys_Mvc_RequiredValidator$_validateTextualInput(element) { + /// + /// + /// + return (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(element.value)); +} +Sys.Mvc.RequiredValidator.prototype = { + + validate: function Sys_Mvc_RequiredValidator$validate(value, context) { + /// + /// + /// + /// + /// + var elements = context.fieldContext.elements; + if (!elements.length) { + return true; + } + var sampleElement = elements[0]; + if (Sys.Mvc.RequiredValidator._isTextualInputElement(sampleElement)) { + return Sys.Mvc.RequiredValidator._validateTextualInput(sampleElement); + } + if (Sys.Mvc.RequiredValidator._isRadioInputElement(sampleElement)) { + return Sys.Mvc.RequiredValidator._validateRadioInput(elements); + } + if (Sys.Mvc.RequiredValidator._isSelectInputElement(sampleElement)) { + return Sys.Mvc.RequiredValidator._validateSelectInput((sampleElement).options); + } + return true; + } +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.StringLengthValidator + +Sys.Mvc.StringLengthValidator = function Sys_Mvc_StringLengthValidator(minLength, maxLength) { + /// + /// + /// + /// + /// + /// + /// + /// + this._minLength = minLength; + this._maxLength = maxLength; +} +Sys.Mvc.StringLengthValidator.create = function Sys_Mvc_StringLengthValidator$create(rule) { + /// + /// + /// + var minLength = (rule.ValidationParameters['min'] || 0); + var maxLength = (rule.ValidationParameters['max'] || Number.MAX_VALUE); + return Function.createDelegate(new Sys.Mvc.StringLengthValidator(minLength, maxLength), new Sys.Mvc.StringLengthValidator(minLength, maxLength).validate); +} +Sys.Mvc.StringLengthValidator.prototype = { + _maxLength: 0, + _minLength: 0, + + validate: function Sys_Mvc_StringLengthValidator$validate(value, context) { + /// + /// + /// + /// + /// + if (Sys.Mvc._validationUtil.stringIsNullOrEmpty(value)) { + return true; + } + return (this._minLength <= value.length && value.length <= this._maxLength); + } +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc._validationUtil + +Sys.Mvc._validationUtil = function Sys_Mvc__validationUtil() { +} +Sys.Mvc._validationUtil.arrayIsNullOrEmpty = function Sys_Mvc__validationUtil$arrayIsNullOrEmpty(array) { + /// + /// + /// + return (!array || !array.length); +} +Sys.Mvc._validationUtil.stringIsNullOrEmpty = function Sys_Mvc__validationUtil$stringIsNullOrEmpty(value) { + /// + /// + /// + return (!value || !value.length); +} +Sys.Mvc._validationUtil.elementSupportsEvent = function Sys_Mvc__validationUtil$elementSupportsEvent(element, eventAttributeName) { + /// + /// + /// + /// + /// + return (eventAttributeName in element); +} +Sys.Mvc._validationUtil.removeAllChildren = function Sys_Mvc__validationUtil$removeAllChildren(element) { + /// + /// + while (element.firstChild) { + element.removeChild(element.firstChild); + } +} +Sys.Mvc._validationUtil.setInnerText = function Sys_Mvc__validationUtil$setInnerText(element, innerText) { + /// + /// + /// + /// + var textNode = document.createTextNode(innerText); + Sys.Mvc._validationUtil.removeAllChildren(element); + element.appendChild(textNode); +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.ValidatorRegistry + +Sys.Mvc.ValidatorRegistry = function Sys_Mvc_ValidatorRegistry() { + /// + /// +} +Sys.Mvc.ValidatorRegistry.getValidator = function Sys_Mvc_ValidatorRegistry$getValidator(rule) { + /// + /// + /// + var creator = Sys.Mvc.ValidatorRegistry.validators[rule.ValidationType]; + return (creator) ? creator(rule) : null; +} +Sys.Mvc.ValidatorRegistry._getDefaultValidators = function Sys_Mvc_ValidatorRegistry$_getDefaultValidators() { + /// + return { required: Function.createDelegate(null, Sys.Mvc.RequiredValidator.create), length: Function.createDelegate(null, Sys.Mvc.StringLengthValidator.create), regex: Function.createDelegate(null, Sys.Mvc.RegularExpressionValidator.create), range: Function.createDelegate(null, Sys.Mvc.RangeValidator.create), number: Function.createDelegate(null, Sys.Mvc.NumberValidator.create) }; +} + + +Sys.Mvc.NumberValidator.registerClass('Sys.Mvc.NumberValidator'); +Sys.Mvc.FormContext.registerClass('Sys.Mvc.FormContext'); +Sys.Mvc.FieldContext.registerClass('Sys.Mvc.FieldContext'); +Sys.Mvc.RangeValidator.registerClass('Sys.Mvc.RangeValidator'); +Sys.Mvc.RegularExpressionValidator.registerClass('Sys.Mvc.RegularExpressionValidator'); +Sys.Mvc.RequiredValidator.registerClass('Sys.Mvc.RequiredValidator'); +Sys.Mvc.StringLengthValidator.registerClass('Sys.Mvc.StringLengthValidator'); +Sys.Mvc._validationUtil.registerClass('Sys.Mvc._validationUtil'); +Sys.Mvc.ValidatorRegistry.registerClass('Sys.Mvc.ValidatorRegistry'); +Sys.Mvc.FormContext._validationSummaryErrorCss = 'validation-summary-errors'; +Sys.Mvc.FormContext._validationSummaryValidCss = 'validation-summary-valid'; +Sys.Mvc.FormContext._formValidationTag = '__MVC_FormValidation'; +Sys.Mvc.FieldContext._hasTextChangedTag = '__MVC_HasTextChanged'; +Sys.Mvc.FieldContext._hasValidationFiredTag = '__MVC_HasValidationFired'; +Sys.Mvc.FieldContext._inputElementErrorCss = 'input-validation-error'; +Sys.Mvc.FieldContext._inputElementValidCss = 'input-validation-valid'; +Sys.Mvc.FieldContext._validationMessageErrorCss = 'field-validation-error'; +Sys.Mvc.FieldContext._validationMessageValidCss = 'field-validation-valid'; +Sys.Mvc.ValidatorRegistry.validators = Sys.Mvc.ValidatorRegistry._getDefaultValidators(); + +// ---- Do not remove this footer ---- +// Generated using Script# v0.5.0.0 (http://projects.nikhilk.net) +// ----------------------------------- + +// register validation +Sys.Application.add_load(function() { + Sys.Application.remove_load(arguments.callee); + Sys.Mvc.FormContext._Application_Load(); +}); diff --git a/CharityPortal/CharityPortal/Scripts/MicrosoftMvcValidation.js b/CharityPortal/CharityPortal/Scripts/MicrosoftMvcValidation.js new file mode 100644 index 0000000..f91163a --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/MicrosoftMvcValidation.js @@ -0,0 +1,55 @@ +//---------------------------------------------------------- +// Copyright (C) Microsoft Corporation. All rights reserved. +//---------------------------------------------------------- +// MicrosoftMvcValidation.js + +Type.registerNamespace('Sys.Mvc');Sys.Mvc.$create_Validation=function(){return {};} +Sys.Mvc.$create_JsonValidationField=function(){return {};} +Sys.Mvc.$create_JsonValidationOptions=function(){return {};} +Sys.Mvc.$create_JsonValidationRule=function(){return {};} +Sys.Mvc.$create_ValidationContext=function(){return {};} +Sys.Mvc.NumberValidator=function(){} +Sys.Mvc.NumberValidator.create=function(rule){return Function.createDelegate(new Sys.Mvc.NumberValidator(),new Sys.Mvc.NumberValidator().validate);} +Sys.Mvc.NumberValidator.prototype={validate:function(value,context){if(Sys.Mvc._ValidationUtil.$1(value)){return true;}var $0=Number.parseLocale(value);return (!isNaN($0));}} +Sys.Mvc.FormContext=function(formElement,validationSummaryElement){this.$5=[];this.fields=new Array(0);this.$9=formElement;this.$7=validationSummaryElement;formElement['__MVC_FormValidation'] = this;if(validationSummaryElement){var $0=validationSummaryElement.getElementsByTagName('ul');if($0.length>0){this.$8=$0[0];}}this.$3=Function.createDelegate(this,this.$D);this.$4=Function.createDelegate(this,this.$E);} +Sys.Mvc.FormContext._Application_Load=function(){var $0=window.mvcClientValidationMetadata;if($0){while($0.length>0){var $1=$0.pop();Sys.Mvc.FormContext.$12($1);}}} +Sys.Mvc.FormContext.$F=function($p0,$p1){var $0=[];var $1=document.getElementsByName($p1);for(var $2=0;$2<$1.length;$2++){var $3=$1[$2];if(Sys.Mvc.FormContext.$10($p0,$3)){Array.add($0,$3);}}return $0;} +Sys.Mvc.FormContext.getValidationForForm=function(formElement){return formElement['__MVC_FormValidation'];} +Sys.Mvc.FormContext.$10=function($p0,$p1){while($p1){if($p0===$p1){return true;}$p1=$p1.parentNode;}return false;} +Sys.Mvc.FormContext.$12=function($p0){var $0=$get($p0.FormId);var $1=(!Sys.Mvc._ValidationUtil.$1($p0.ValidationSummaryId))?$get($p0.ValidationSummaryId):null;var $2=new Sys.Mvc.FormContext($0,$1);$2.enableDynamicValidation();$2.replaceValidationSummary=$p0.ReplaceValidationSummary;for(var $4=0;$4<$p0.Fields.length;$4++){var $5=$p0.Fields[$4];var $6=Sys.Mvc.FormContext.$F($0,$5.FieldName);var $7=(!Sys.Mvc._ValidationUtil.$1($5.ValidationMessageId))?$get($5.ValidationMessageId):null;var $8=new Sys.Mvc.FieldContext($2);Array.addRange($8.elements,$6);$8.validationMessageElement=$7;$8.replaceValidationMessageContents=$5.ReplaceValidationMessageContents;for(var $9=0;$9<$5.ValidationRules.length;$9++){var $A=$5.ValidationRules[$9];var $B=Sys.Mvc.ValidatorRegistry.getValidator($A);if($B){var $C=Sys.Mvc.$create_Validation();$C.fieldErrorMessage=$A.ErrorMessage;$C.validator=$B;Array.add($8.validations,$C);}}$8.enableDynamicValidation();Array.add($2.fields,$8);}var $3=$0.validationCallbacks;if(!$3){$3=[];$0.validationCallbacks = $3;}$3.push(Function.createDelegate(null,function(){ +return Sys.Mvc._ValidationUtil.$0($2.validate('submit'));}));return $2;} +Sys.Mvc.FormContext.prototype={$3:null,$4:null,$6:null,$7:null,$8:null,$9:null,replaceValidationSummary:false,addError:function(message){this.addErrors([message]);},addErrors:function(messages){if(!Sys.Mvc._ValidationUtil.$0(messages)){Array.addRange(this.$5,messages);this.$11();}},clearErrors:function(){Array.clear(this.$5);this.$11();},$A:function(){if(this.$7){if(this.$8){Sys.Mvc._ValidationUtil.$3(this.$8);for(var $0=0;$0=8){Sys.UI.DomEvent.addHandler($2,'propertychange',this.$9);}}else{Sys.UI.DomEvent.addHandler($2,'input',this.$8);}Sys.UI.DomEvent.addHandler($2,'change',this.$7);Sys.UI.DomEvent.addHandler($2,'blur',this.$6);}},$11:function($p0,$p1){var $0=$p1||this.defaultErrorMessage;if(Boolean.isInstanceOfType($p0)){return ($p0)?null:$0;}if(String.isInstanceOfType($p0)){return (($p0).length)?$p0:$0;}return null;},$12:function(){var $0=this.elements;return ($0.length>0)?$0[0].value:null;},$13:function(){var $0=this.elements;for(var $1=0;$1<$0.length;$1++){var $2=$0[$1];$2['__MVC_HasValidationFired'] = true;}},$14:function(){if(!this.$A.length){this.$C();}else{this.$B();}},validate:function(eventName){var $0=this.validations;var $1=[];var $2=this.$12();for(var $3=0;$3<$0.length;$3++){var $4=$0[$3];var $5=Sys.Mvc.$create_ValidationContext();$5.eventName=eventName;$5.fieldContext=this;$5.validation=$4;var $6=$4.validator($2,$5);var $7=this.$11($6,$4.fieldErrorMessage);if(!Sys.Mvc._ValidationUtil.$1($7)){Array.add($1,$7);}}this.$13();this.clearErrors();this.addErrors($1);return $1;}} +Sys.Mvc.RangeValidator=function(minimum,maximum){this.$0=minimum;this.$1=maximum;} +Sys.Mvc.RangeValidator.create=function(rule){var $0=rule.ValidationParameters['min'];var $1=rule.ValidationParameters['max'];return Function.createDelegate(new Sys.Mvc.RangeValidator($0,$1),new Sys.Mvc.RangeValidator($0,$1).validate);} +Sys.Mvc.RangeValidator.prototype={$0:null,$1:null,validate:function(value,context){if(Sys.Mvc._ValidationUtil.$1(value)){return true;}var $0=Number.parseLocale(value);return (!isNaN($0)&&this.$0<=$0&&$0<=this.$1);}} +Sys.Mvc.RegularExpressionValidator=function(pattern){this.$0=pattern;} +Sys.Mvc.RegularExpressionValidator.create=function(rule){var $0=rule.ValidationParameters['pattern'];return Function.createDelegate(new Sys.Mvc.RegularExpressionValidator($0),new Sys.Mvc.RegularExpressionValidator($0).validate);} +Sys.Mvc.RegularExpressionValidator.prototype={$0:null,validate:function(value,context){if(Sys.Mvc._ValidationUtil.$1(value)){return true;}var $0=new RegExp(this.$0);var $1=$0.exec(value);return (!Sys.Mvc._ValidationUtil.$0($1)&&$1[0].length===value.length);}} +Sys.Mvc.RequiredValidator=function(){} +Sys.Mvc.RequiredValidator.create=function(rule){return Function.createDelegate(new Sys.Mvc.RequiredValidator(),new Sys.Mvc.RequiredValidator().validate);} +Sys.Mvc.RequiredValidator.$0=function($p0){if($p0.tagName.toUpperCase()==='INPUT'){var $0=($p0.type).toUpperCase();if($0==='RADIO'){return true;}}return false;} +Sys.Mvc.RequiredValidator.$1=function($p0){if($p0.tagName.toUpperCase()==='SELECT'){return true;}return false;} +Sys.Mvc.RequiredValidator.$2=function($p0){if($p0.tagName.toUpperCase()==='INPUT'){var $0=($p0.type).toUpperCase();switch($0){case 'TEXT':case 'PASSWORD':case 'FILE':return true;}}if($p0.tagName.toUpperCase()==='TEXTAREA'){return true;}return false;} +Sys.Mvc.RequiredValidator.$3=function($p0){for(var $0=0;$0<$p0.length;$0++){var $1=$p0[$0];if($1.checked){return true;}}return false;} +Sys.Mvc.RequiredValidator.$4=function($p0){for(var $0=0;$0<$p0.length;$0++){var $1=$p0[$0];if($1.selected){if(!Sys.Mvc._ValidationUtil.$1($1.value)){return true;}}}return false;} +Sys.Mvc.RequiredValidator.$5=function($p0){return (!Sys.Mvc._ValidationUtil.$1($p0.value));} +Sys.Mvc.RequiredValidator.prototype={validate:function(value,context){var $0=context.fieldContext.elements;if(!$0.length){return true;}var $1=$0[0];if(Sys.Mvc.RequiredValidator.$2($1)){return Sys.Mvc.RequiredValidator.$5($1);}if(Sys.Mvc.RequiredValidator.$0($1)){return Sys.Mvc.RequiredValidator.$3($0);}if(Sys.Mvc.RequiredValidator.$1($1)){return Sys.Mvc.RequiredValidator.$4(($1).options);}return true;}} +Sys.Mvc.StringLengthValidator=function(minLength,maxLength){this.$1=minLength;this.$0=maxLength;} +Sys.Mvc.StringLengthValidator.create=function(rule){var $0=(rule.ValidationParameters['min']||0);var $1=(rule.ValidationParameters['max']||Number.MAX_VALUE);return Function.createDelegate(new Sys.Mvc.StringLengthValidator($0,$1),new Sys.Mvc.StringLengthValidator($0,$1).validate);} +Sys.Mvc.StringLengthValidator.prototype={$0:0,$1:0,validate:function(value,context){if(Sys.Mvc._ValidationUtil.$1(value)){return true;}return (this.$1<=value.length&&value.length<=this.$0);}} +Sys.Mvc._ValidationUtil=function(){} +Sys.Mvc._ValidationUtil.$0=function($p0){return (!$p0||!$p0.length);} +Sys.Mvc._ValidationUtil.$1=function($p0){return (!$p0||!$p0.length);} +Sys.Mvc._ValidationUtil.$2=function($p0,$p1){return ($p1 in $p0);} +Sys.Mvc._ValidationUtil.$3=function($p0){while($p0.firstChild){$p0.removeChild($p0.firstChild);}} +Sys.Mvc._ValidationUtil.$4=function($p0,$p1){var $0=document.createTextNode($p1);Sys.Mvc._ValidationUtil.$3($p0);$p0.appendChild($0);} +Sys.Mvc.ValidatorRegistry=function(){} +Sys.Mvc.ValidatorRegistry.getValidator=function(rule){var $0=Sys.Mvc.ValidatorRegistry.validators[rule.ValidationType];return ($0)?$0(rule):null;} +Sys.Mvc.ValidatorRegistry.$0=function(){return {required:Function.createDelegate(null,Sys.Mvc.RequiredValidator.create),length:Function.createDelegate(null,Sys.Mvc.StringLengthValidator.create),regex:Function.createDelegate(null,Sys.Mvc.RegularExpressionValidator.create),range:Function.createDelegate(null,Sys.Mvc.RangeValidator.create),number:Function.createDelegate(null,Sys.Mvc.NumberValidator.create)};} +Sys.Mvc.NumberValidator.registerClass('Sys.Mvc.NumberValidator');Sys.Mvc.FormContext.registerClass('Sys.Mvc.FormContext');Sys.Mvc.FieldContext.registerClass('Sys.Mvc.FieldContext');Sys.Mvc.RangeValidator.registerClass('Sys.Mvc.RangeValidator');Sys.Mvc.RegularExpressionValidator.registerClass('Sys.Mvc.RegularExpressionValidator');Sys.Mvc.RequiredValidator.registerClass('Sys.Mvc.RequiredValidator');Sys.Mvc.StringLengthValidator.registerClass('Sys.Mvc.StringLengthValidator');Sys.Mvc._ValidationUtil.registerClass('Sys.Mvc._ValidationUtil');Sys.Mvc.ValidatorRegistry.registerClass('Sys.Mvc.ValidatorRegistry');Sys.Mvc.ValidatorRegistry.validators=Sys.Mvc.ValidatorRegistry.$0(); +// ---- Do not remove this footer ---- +// Generated using Script# v0.5.0.0 (http://projects.nikhilk.net) +// ----------------------------------- +Sys.Application.add_load(function(){Sys.Application.remove_load(arguments.callee);Sys.Mvc.FormContext._Application_Load();}); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/jquery-1.5.1-vsdoc.js b/CharityPortal/CharityPortal/Scripts/jquery-1.5.1-vsdoc.js new file mode 100644 index 0000000..377869f --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/jquery-1.5.1-vsdoc.js @@ -0,0 +1,9110 @@ +/* + * This file has been commented to support Visual Studio Intellisense. + * You should not use this file at runtime inside the browser--it is only + * intended to be used only for design-time IntelliSense. Please use the + * standard jQuery library for all production use. + * + * Comment version: 1.5.1 + */ + +/*! + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery JavaScript Library v1.5.1 + * http://jquery.com/ + * + * Copyright 2010, John Resig + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2010, The Dojo Foundation + * + */ +(function( window, undefined ) { + +// Use the correct document accordingly with window argument (sandbox) +var document = window.document; +var jQuery = (function() { + +// Define a local copy of jQuery +var jQuery = function( selector, context ) { + /// + /// 1: $(expression, context) - This function accepts a string containing a CSS selector which is then used to match a set of elements. + /// 2: $(html) - Create DOM elements on-the-fly from the provided String of raw HTML. + /// 3: $(elements) - Wrap jQuery functionality around a single or multiple DOM Element(s). + /// 4: $(callback) - A shorthand for $(document).ready(). + /// 5: $() - As of jQuery 1.4, if you pass no arguments in to the jQuery() method, an empty jQuery set will be returned. + /// + /// + /// 1: expression - An expression to search with. + /// 2: html - A string of HTML to create on the fly. + /// 3: elements - DOM element(s) to be encapsulated by a jQuery object. + /// 4: callback - The function to execute when the DOM is ready. + /// + /// + /// 1: context - A DOM Element, Document or jQuery to use as context. + /// + /// + + // The jQuery object is actually just the init constructor 'enhanced' + return new jQuery.fn.init( selector, context ); + }, + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$, + + // A central reference to the root jQuery(document) + rootjQuery, + + // A simple way to check for HTML strings or ID strings + // (both of which we optimize for) + quickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/, + + // Is it a simple selector + isSimple = /^.[^:#\[\.,]*$/, + + // Check if a string has a non-whitespace character in it + rnotwhite = /\S/, + rwhite = /\s/, + + // Used for trimming whitespace + trimLeft = /^\s+/, + trimRight = /\s+$/, + + // Check for non-word characters + rnonword = /\W/, + + // Check for digits + rdigit = /\d/, + + // Match a standalone tag + rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, + + // JSON RegExp + rvalidchars = /^[\],:{}\s]*$/, + rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, + rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, + rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, + + // Useragent RegExp + rwebkit = /(webkit)[ \/]([\w.]+)/, + ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/, + rmsie = /(msie) ([\w.]+)/, + rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/, + + // Keep a UserAgent string for use with jQuery.browser + userAgent = navigator.userAgent, + + // For matching the engine and version of the browser + browserMatch, + + // Has the ready events already been bound? + readyBound = false, + + // The functions to execute on DOM ready + readyList = [], + + // The ready event handler + DOMContentLoaded, + + // Save a reference to some core methods + toString = Object.prototype.toString, + hasOwn = Object.prototype.hasOwnProperty, + push = Array.prototype.push, + slice = Array.prototype.slice, + trim = String.prototype.trim, + indexOf = Array.prototype.indexOf, + + // [[Class]] -> type pairs + class2type = {}; + +jQuery.fn = jQuery.prototype = { + init: function( selector, context ) { + var match, elem, ret, doc; + + // Handle $(""), $(null), or $(undefined) + if ( !selector ) { + return this; + } + + // Handle $(DOMElement) + if ( selector.nodeType ) { + this.context = this[0] = selector; + this.length = 1; + return this; + } + + // The body element only exists once, optimize finding it + if ( selector === "body" && !context && document.body ) { + this.context = document; + this[0] = document.body; + this.selector = "body"; + this.length = 1; + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + // Are we dealing with HTML string or an ID? + match = quickExpr.exec( selector ); + + // Verify a match, and that no context was specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) { + doc = (context ? context.ownerDocument || context : document); + + // If a single string is passed in and it's a single tag + // just do a createElement and skip the rest + ret = rsingleTag.exec( selector ); + + if ( ret ) { + if ( jQuery.isPlainObject( context ) ) { + selector = [ document.createElement( ret[1] ) ]; + jQuery.fn.attr.call( selector, context, true ); + + } else { + selector = [ doc.createElement( ret[1] ) ]; + } + + } else { + ret = jQuery.buildFragment( [ match[1] ], [ doc ] ); + selector = (ret.cacheable ? ret.fragment.cloneNode(true) : ret.fragment).childNodes; + } + + return jQuery.merge( this, selector ); + + // HANDLE: $("#id") + } else { + elem = document.getElementById( match[2] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id !== match[2] ) { + return rootjQuery.find( selector ); + } + + // Otherwise, we inject the element directly into the jQuery object + this.length = 1; + this[0] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $("TAG") + } else if ( !context && !rnonword.test( selector ) ) { + this.selector = selector; + this.context = document; + selector = document.getElementsByTagName( selector ); + return jQuery.merge( this, selector ); + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return (context || rootjQuery).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return jQuery( context ).find( selector ); + } + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return rootjQuery.ready( selector ); + } + + if (selector.selector !== undefined) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }, + + // Start with an empty selector + selector: "", + + // The current version of jQuery being used + jquery: "1.4.4", + + // The default length of a jQuery object is 0 + length: 0, + + // The number of elements contained in the matched element set + size: function() { + /// + /// The number of elements currently matched. + /// Part of Core + /// + /// + + return this.length; + }, + + toArray: function() { + /// + /// Retrieve all the DOM elements contained in the jQuery set, as an array. + /// + /// + return slice.call( this, 0 ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + /// + /// Access a single matched element. num is used to access the + /// Nth element matched. + /// Part of Core + /// + /// + /// + /// Access the element in the Nth position. + /// + + return num == null ? + + // Return a 'clean' array + this.toArray() : + + // Return just the object + ( num < 0 ? this.slice(num)[ 0 ] : this[ num ] ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems, name, selector ) { + /// + /// Set the jQuery object to an array of elements, while maintaining + /// the stack. + /// Part of Core + /// + /// + /// + /// An array of elements + /// + + // Build a new jQuery matched element set + var ret = jQuery(); + + if ( jQuery.isArray( elems ) ) { + push.apply( ret, elems ); + + } else { + jQuery.merge( ret, elems ); + } + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + ret.context = this.context; + + if ( name === "find" ) { + ret.selector = this.selector + (this.selector ? " " : "") + selector; + } else if ( name ) { + ret.selector = this.selector + "." + name + "(" + selector + ")"; + } + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + // (You can seed the arguments with an array of args, but this is + // only used internally.) + each: function( callback, args ) { + /// + /// Execute a function within the context of every matched element. + /// This means that every time the passed-in function is executed + /// (which is once for every element matched) the 'this' keyword + /// points to the specific element. + /// Additionally, the function, when executed, is passed a single + /// argument representing the position of the element in the matched + /// set. + /// Part of Core + /// + /// + /// + /// A function to execute + /// + + return jQuery.each( this, callback, args ); + }, + + ready: function( fn ) { + /// + /// Binds a function to be executed whenever the DOM is ready to be traversed and manipulated. + /// + /// The function to be executed when the DOM is ready. + + // Attach the listeners + jQuery.bindReady(); + + // If the DOM is already ready + if ( jQuery.isReady ) { + // Execute the function immediately + fn.call( document, jQuery ); + + // Otherwise, remember the function for later + } else if ( readyList ) { + // Add the function to the wait list + readyList.push( fn ); + } + + return this; + }, + + eq: function( i ) { + /// + /// Reduce the set of matched elements to a single element. + /// The position of the element in the set of matched elements + /// starts at 0 and goes to length - 1. + /// Part of Core + /// + /// + /// + /// pos The index of the element that you wish to limit to. + /// + + return i === -1 ? + this.slice( i ) : + this.slice( i, +i + 1 ); + }, + + first: function() { + /// + /// Reduce the set of matched elements to the first in the set. + /// + /// + + return this.eq( 0 ); + }, + + last: function() { + /// + /// Reduce the set of matched elements to the final one in the set. + /// + /// + + return this.eq( -1 ); + }, + + slice: function() { + /// + /// Selects a subset of the matched elements. Behaves exactly like the built-in Array slice method. + /// + /// Where to start the subset (0-based). + /// Where to end the subset (not including the end element itself). + /// If omitted, ends at the end of the selection + /// The sliced elements + + return this.pushStack( slice.apply( this, arguments ), + "slice", slice.call(arguments).join(",") ); + }, + + map: function( callback ) { + /// + /// This member is internal. + /// + /// + /// + + return this.pushStack( jQuery.map(this, function( elem, i ) { + return callback.call( elem, i, elem ); + })); + }, + + end: function() { + /// + /// End the most recent 'destructive' operation, reverting the list of matched elements + /// back to its previous state. After an end operation, the list of matched elements will + /// revert to the last state of matched elements. + /// If there was no destructive operation before, an empty set is returned. + /// Part of DOM/Traversing + /// + /// + + return this.prevObject || jQuery(null); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: [].sort, + splice: [].splice +}; + +// Give the init function the jQuery prototype for later instantiation +jQuery.fn.init.prototype = jQuery.fn; + +jQuery.extend = jQuery.fn.extend = function() { + /// + /// Extend one object with one or more others, returning the original, + /// modified, object. This is a great utility for simple inheritance. + /// jQuery.extend(settings, options); + /// var settings = jQuery.extend({}, defaults, options); + /// Part of JavaScript + /// + /// + /// The object to extend + /// + /// + /// The object that will be merged into the first. + /// + /// + /// (optional) More objects to merge into the first + /// + /// + + var options, name, src, copy, copyIsArray, clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + target = arguments[1] || {}; + // skip the boolean and the target + i = 2; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction(target) ) { + target = {}; + } + + // extend jQuery itself if only one argument is passed + if ( length === i ) { + target = this; + --i; + } + + for ( ; i < length; i++ ) { + // Only deal with non-null/undefined values + if ( (options = arguments[ i ]) != null ) { + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray(src) ? src : []; + + } else { + clone = src && jQuery.isPlainObject(src) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend({ + noConflict: function( deep ) { + /// + /// Run this function to give control of the $ variable back + /// to whichever library first implemented it. This helps to make + /// sure that jQuery doesn't conflict with the $ object + /// of other libraries. + /// By using this function, you will only be able to access jQuery + /// using the 'jQuery' variable. For example, where you used to do + /// $("div p"), you now must do jQuery("div p"). + /// Part of Core + /// + /// + + window.$ = _$; + + if ( deep ) { + window.jQuery = _jQuery; + } + + return jQuery; + }, + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + /// + /// This method is internal. + /// + /// + + // A third-party is pushing the ready event forwards + if ( wait === true ) { + jQuery.readyWait--; + } + + // Make sure that the DOM is not already loaded + if ( !jQuery.readyWait || (wait !== true && !jQuery.isReady) ) { + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( !document.body ) { + return setTimeout( jQuery.ready, 1 ); + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + if ( readyList ) { + // Execute all of them + var fn, + i = 0, + ready = readyList; + + // Reset the list of functions + readyList = null; + + while ( (fn = ready[ i++ ]) ) { + fn.call( document, jQuery ); + } + + // Trigger any bound ready events + if ( jQuery.fn.trigger ) { + jQuery( document ).trigger( "ready" ).unbind( "ready" ); + } + } + } + }, + + bindReady: function() { + if ( readyBound ) { + return; + } + + readyBound = true; + + // Catch cases where $(document).ready() is called after the + // browser event has already occurred. + if ( document.readyState === "complete" ) { + // Handle it asynchronously to allow scripts the opportunity to delay ready + return setTimeout( jQuery.ready, 1 ); + } + + // Mozilla, Opera and webkit nightlies currently support this event + if ( document.addEventListener ) { + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", jQuery.ready, false ); + + // If IE event model is used + } else if ( document.attachEvent ) { + // ensure firing before onload, + // maybe late but safe also for iframes + document.attachEvent("onreadystatechange", DOMContentLoaded); + + // A fallback to window.onload, that will always work + window.attachEvent( "onload", jQuery.ready ); + + // If IE and not a frame + // continually check to see if the document is ready + var toplevel = false; + + try { + toplevel = window.frameElement == null; + } catch(e) {} + + if ( document.documentElement.doScroll && toplevel ) { + doScrollCheck(); + } + } + }, + + // See test/unit/core.js for details concerning isFunction. + // Since version 1.3, DOM methods and functions like alert + // aren't supported. They return false on IE (#2968). + isFunction: function( obj ) { + /// + /// Determines if the parameter passed is a function. + /// + /// The object to check + /// True if the parameter is a function; otherwise false. + + return jQuery.type(obj) === "function"; + }, + + isArray: Array.isArray || function( obj ) { + /// + /// Determine if the parameter passed is an array. + /// + /// Object to test whether or not it is an array. + /// True if the parameter is a function; otherwise false. + + return jQuery.type(obj) === "array"; + }, + + // A crude way of determining if an object is a window + isWindow: function( obj ) { + return obj && typeof obj === "object" && "setInterval" in obj; + }, + + isNaN: function( obj ) { + return obj == null || !rdigit.test( obj ) || isNaN( obj ); + }, + + type: function( obj ) { + return obj == null ? + String( obj ) : + class2type[ toString.call(obj) ] || "object"; + }, + + isPlainObject: function( obj ) { + /// + /// Check to see if an object is a plain object (created using "{}" or "new Object"). + /// + /// + /// The object that will be checked to see if it's a plain object. + /// + /// + + // Must be an Object. + // Because of IE, we also have to check the presence of the constructor property. + // Make sure that DOM nodes and window objects don't pass through, as well + if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { + return false; + } + + // Not own constructor property must be Object + if ( obj.constructor && + !hasOwn.call(obj, "constructor") && + !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { + return false; + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + + var key; + for ( key in obj ) {} + + return key === undefined || hasOwn.call( obj, key ); + }, + + isEmptyObject: function( obj ) { + /// + /// Check to see if an object is empty (contains no properties). + /// + /// + /// The object that will be checked to see if it's empty. + /// + /// + + for ( var name in obj ) { + return false; + } + return true; + }, + + error: function( msg ) { + throw msg; + }, + + parseJSON: function( data ) { + if ( typeof data !== "string" || !data ) { + return null; + } + + // Make sure leading/trailing whitespace is removed (IE can't handle it) + data = jQuery.trim( data ); + + // Make sure the incoming data is actual JSON + // Logic borrowed from http://json.org/json2.js + if ( rvalidchars.test(data.replace(rvalidescape, "@") + .replace(rvalidtokens, "]") + .replace(rvalidbraces, "")) ) { + + // Try to use the native JSON parser first + return window.JSON && window.JSON.parse ? + window.JSON.parse( data ) : + (new Function("return " + data))(); + + } else { + jQuery.error( "Invalid JSON: " + data ); + } + }, + + noop: function() { + /// + /// An empty function. + /// + /// + }, + + // Evalulates a script in a global context + globalEval: function( data ) { + /// + /// Internally evaluates a script in a global context. + /// + /// + + if ( data && rnotwhite.test(data) ) { + // Inspired by code by Andrea Giammarchi + // http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html + var head = document.getElementsByTagName("head")[0] || document.documentElement, + script = document.createElement("script"); + + script.type = "text/javascript"; + + if ( jQuery.support.scriptEval ) { + script.appendChild( document.createTextNode( data ) ); + } else { + script.text = data; + } + + // Use insertBefore instead of appendChild to circumvent an IE6 bug. + // This arises when a base node is used (#2709). + head.insertBefore( script, head.firstChild ); + head.removeChild( script ); + } + }, + + nodeName: function( elem, name ) { + /// + /// Checks whether the specified element has the specified DOM node name. + /// + /// The element to examine + /// The node name to check + /// True if the specified node name matches the node's DOM node name; otherwise false + + return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase(); + }, + + // args is for internal usage only + each: function( object, callback, args ) { + /// + /// A generic iterator function, which can be used to seemlessly + /// iterate over both objects and arrays. This function is not the same + /// as $().each() - which is used to iterate, exclusively, over a jQuery + /// object. This function can be used to iterate over anything. + /// The callback has two arguments:the key (objects) or index (arrays) as first + /// the first, and the value as the second. + /// Part of JavaScript + /// + /// + /// The object, or array, to iterate over. + /// + /// + /// The function that will be executed on every object. + /// + /// + + var name, i = 0, + length = object.length, + isObj = length === undefined || jQuery.isFunction(object); + + if ( args ) { + if ( isObj ) { + for ( name in object ) { + if ( callback.apply( object[ name ], args ) === false ) { + break; + } + } + } else { + for ( ; i < length; ) { + if ( callback.apply( object[ i++ ], args ) === false ) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if ( isObj ) { + for ( name in object ) { + if ( callback.call( object[ name ], name, object[ name ] ) === false ) { + break; + } + } + } else { + for ( var value = object[0]; + i < length && callback.call( value, i, value ) !== false; value = object[++i] ) {} + } + } + + return object; + }, + + // Use native String.trim function wherever possible + trim: trim ? + function( text ) { + return text == null ? + "" : + trim.call( text ); + } : + + // Otherwise use our own trimming functionality + function( text ) { + return text == null ? + "" : + text.toString().replace( trimLeft, "" ).replace( trimRight, "" ); + }, + + // results is for internal usage only + makeArray: function( array, results ) { + /// + /// Turns anything into a true array. This is an internal method. + /// + /// Anything to turn into an actual Array + /// + /// + + var ret = results || []; + + if ( array != null ) { + // The window, strings (and functions) also have 'length' + // The extra typeof function check is to prevent crashes + // in Safari 2 (See: #3039) + // Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930 + var type = jQuery.type(array); + + if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) { + push.call( ret, array ); + } else { + jQuery.merge( ret, array ); + } + } + + return ret; + }, + + inArray: function( elem, array ) { + if ( array.indexOf ) { + return array.indexOf( elem ); + } + + for ( var i = 0, length = array.length; i < length; i++ ) { + if ( array[ i ] === elem ) { + return i; + } + } + + return -1; + }, + + merge: function( first, second ) { + /// + /// Merge two arrays together, removing all duplicates. + /// The new array is: All the results from the first array, followed + /// by the unique results from the second array. + /// Part of JavaScript + /// + /// + /// + /// The first array to merge. + /// + /// + /// The second array to merge. + /// + + var i = first.length, + j = 0; + + if ( typeof second.length === "number" ) { + for ( var l = second.length; j < l; j++ ) { + first[ i++ ] = second[ j ]; + } + + } else { + while ( second[j] !== undefined ) { + first[ i++ ] = second[ j++ ]; + } + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, inv ) { + /// + /// Filter items out of an array, by using a filter function. + /// The specified function will be passed two arguments: The + /// current array item and the index of the item in the array. The + /// function must return 'true' to keep the item in the array, + /// false to remove it. + /// }); + /// Part of JavaScript + /// + /// + /// + /// array The Array to find items in. + /// + /// + /// The function to process each item against. + /// + /// + /// Invert the selection - select the opposite of the function. + /// + + var ret = [], retVal; + inv = !!inv; + + // Go through the array, only saving the items + // that pass the validator function + for ( var i = 0, length = elems.length; i < length; i++ ) { + retVal = !!callback( elems[ i ], i ); + if ( inv !== retVal ) { + ret.push( elems[ i ] ); + } + } + + return ret; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + /// + /// Translate all items in an array to another array of items. + /// The translation function that is provided to this method is + /// called for each item in the array and is passed one argument: + /// The item to be translated. + /// The function can then return the translated value, 'null' + /// (to remove the item), or an array of values - which will + /// be flattened into the full array. + /// Part of JavaScript + /// + /// + /// + /// array The Array to translate. + /// + /// + /// The function to process each item against. + /// + + var ret = [], value; + + // Go through the array, translating each of the items to their + // new value (or values). + for ( var i = 0, length = elems.length; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + + return ret.concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + proxy: function( fn, proxy, thisObject ) { + /// + /// Takes a function and returns a new one that will always have a particular scope. + /// + /// + /// The function whose scope will be changed. + /// + /// + /// The object to which the scope of the function should be set. + /// + /// + + if ( arguments.length === 2 ) { + if ( typeof proxy === "string" ) { + thisObject = fn; + fn = thisObject[ proxy ]; + proxy = undefined; + + } else if ( proxy && !jQuery.isFunction( proxy ) ) { + thisObject = proxy; + proxy = undefined; + } + } + + if ( !proxy && fn ) { + proxy = function() { + return fn.apply( thisObject || this, arguments ); + }; + } + + // Set the guid of unique handler to the same of original handler, so it can be removed + if ( fn ) { + proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++; + } + + // So proxy can be declared as an argument + return proxy; + }, + + // Mutifunctional method to get and set values to a collection + // The value/s can be optionally by executed if its a function + access: function( elems, key, value, exec, fn, pass ) { + var length = elems.length; + + // Setting many attributes + if ( typeof key === "object" ) { + for ( var k in key ) { + jQuery.access( elems, k, key[k], exec, fn, value ); + } + return elems; + } + + // Setting one attribute + if ( value !== undefined ) { + // Optionally, function values get executed if exec is true + exec = !pass && exec && jQuery.isFunction(value); + + for ( var i = 0; i < length; i++ ) { + fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass ); + } + + return elems; + } + + // Getting an attribute + return length ? fn( elems[0], key ) : undefined; + }, + + now: function() { + return (new Date()).getTime(); + }, + + // Use of jQuery.browser is frowned upon. + // More details: http://docs.jquery.com/Utilities/jQuery.browser + uaMatch: function( ua ) { + ua = ua.toLowerCase(); + + var match = rwebkit.exec( ua ) || + ropera.exec( ua ) || + rmsie.exec( ua ) || + ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) || + []; + + return { browser: match[1] || "", version: match[2] || "0" }; + }, + + browser: {} +}); + +// Populate the class2type map +jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +}); + +browserMatch = jQuery.uaMatch( userAgent ); +if ( browserMatch.browser ) { + jQuery.browser[ browserMatch.browser ] = true; + jQuery.browser.version = browserMatch.version; +} + +// Deprecated, use jQuery.browser.webkit instead +if ( jQuery.browser.webkit ) { + jQuery.browser.safari = true; +} + +if ( indexOf ) { + jQuery.inArray = function( elem, array ) { + /// + /// Determines the index of the first parameter in the array. + /// + /// The value to see if it exists in the array. + /// The array to look through for the value + /// The 0-based index of the item if it was found, otherwise -1. + + return indexOf.call( array, elem ); + }; +} + +// Verify that \s matches non-breaking spaces +// (IE fails on this test) +if ( !rwhite.test( "\xA0" ) ) { + trimLeft = /^[\s\xA0]+/; + trimRight = /[\s\xA0]+$/; +} + +// All jQuery objects should point back to these +rootjQuery = jQuery(document); + +// Cleanup functions for the document ready method +if ( document.addEventListener ) { + DOMContentLoaded = function() { + document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + jQuery.ready(); + }; + +} else if ( document.attachEvent ) { + DOMContentLoaded = function() { + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( document.readyState === "complete" ) { + document.detachEvent( "onreadystatechange", DOMContentLoaded ); + jQuery.ready(); + } + }; +} + +// The DOM ready check for Internet Explorer +function doScrollCheck() { + if ( jQuery.isReady ) { + return; + } + + try { + // If IE is used, use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + document.documentElement.doScroll("left"); + } catch(e) { + setTimeout( doScrollCheck, 1 ); + return; + } + + // and execute any waiting functions + jQuery.ready(); +} + +// Expose jQuery to the global object +return (window.jQuery = window.$ = jQuery); + +})(); + + + +// [vsdoc] The following function has been modified for IntelliSense. +// [vsdoc] Stubbing support properties to "false" for IntelliSense compat. +(function() { + + jQuery.support = {}; + + // var root = document.documentElement, + // script = document.createElement("script"), + // div = document.createElement("div"), + // id = "script" + jQuery.now(); + + // div.style.display = "none"; + // div.innerHTML = "
a"; + + // var all = div.getElementsByTagName("*"), + // a = div.getElementsByTagName("a")[0], + // select = document.createElement("select"), + // opt = select.appendChild( document.createElement("option") ); + + // // Can't get basic test support + // if ( !all || !all.length || !a ) { + // return; + // } + + jQuery.support = { + // IE strips leading whitespace when .innerHTML is used + leadingWhitespace: false, + + // Make sure that tbody elements aren't automatically inserted + // IE will insert them into empty tables + tbody: false, + + // Make sure that link elements get serialized correctly by innerHTML + // This requires a wrapper element in IE + htmlSerialize: false, + + // Get the style information from getAttribute + // (IE uses .cssText insted) + style: false, + + // Make sure that URLs aren't manipulated + // (IE normalizes it by default) + hrefNormalized: false, + + // Make sure that element opacity exists + // (IE uses filter instead) + // Use a regex to work around a WebKit issue. See #5145 + opacity: false, + + // Verify style float existence + // (IE uses styleFloat instead of cssFloat) + cssFloat: false, + + // Make sure that if no value is specified for a checkbox + // that it defaults to "on". + // (WebKit defaults to "" instead) + checkOn: false, + + // Make sure that a selected-by-default option has a working selected property. + // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) + optSelected: false, + + // Will be defined later + deleteExpando: false, + optDisabled: false, + checkClone: false, + scriptEval: false, + noCloneEvent: false, + boxModel: false, + inlineBlockNeedsLayout: false, + shrinkWrapBlocks: false, + reliableHiddenOffsets: true + }; + + // // Make sure that the options inside disabled selects aren't marked as disabled + // // (WebKit marks them as diabled) + // select.disabled = true; + // jQuery.support.optDisabled = !opt.disabled; + + // script.type = "text/javascript"; + // try { + // script.appendChild( document.createTextNode( "window." + id + "=1;" ) ); + // } catch(e) {} + + // root.insertBefore( script, root.firstChild ); + + // // Make sure that the execution of code works by injecting a script + // // tag with appendChild/createTextNode + // // (IE doesn't support this, fails, and uses .text instead) + // if ( window[ id ] ) { + // jQuery.support.scriptEval = true; + // delete window[ id ]; + // } + + // // Test to see if it's possible to delete an expando from an element + // // Fails in Internet Explorer + // try { + // delete script.test; + + // } catch(e) { + // jQuery.support.deleteExpando = false; + // } + + // root.removeChild( script ); + + // if ( div.attachEvent && div.fireEvent ) { + // div.attachEvent("onclick", function click() { + // // Cloning a node shouldn't copy over any + // // bound event handlers (IE does this) + // jQuery.support.noCloneEvent = false; + // div.detachEvent("onclick", click); + // }); + // div.cloneNode(true).fireEvent("onclick"); + // } + + // div = document.createElement("div"); + // div.innerHTML = ""; + + // var fragment = document.createDocumentFragment(); + // fragment.appendChild( div.firstChild ); + + // // WebKit doesn't clone checked state correctly in fragments + // jQuery.support.checkClone = fragment.cloneNode(true).cloneNode(true).lastChild.checked; + + // // Figure out if the W3C box model works as expected + // // document.body must exist before we can do this + // jQuery(function() { + // var div = document.createElement("div"); + // div.style.width = div.style.paddingLeft = "1px"; + + // document.body.appendChild( div ); + // jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2; + + // if ( "zoom" in div.style ) { + // // Check if natively block-level elements act like inline-block + // // elements when setting their display to 'inline' and giving + // // them layout + // // (IE < 8 does this) + // div.style.display = "inline"; + // div.style.zoom = 1; + // jQuery.support.inlineBlockNeedsLayout = div.offsetWidth === 2; + + // // Check if elements with layout shrink-wrap their children + // // (IE 6 does this) + // div.style.display = ""; + // div.innerHTML = "
"; + // jQuery.support.shrinkWrapBlocks = div.offsetWidth !== 2; + // } + + // div.innerHTML = "
t
"; + // var tds = div.getElementsByTagName("td"); + + // // Check if table cells still have offsetWidth/Height when they are set + // // to display:none and there are still other visible table cells in a + // // table row; if so, offsetWidth/Height are not reliable for use when + // // determining if an element has been hidden directly using + // // display:none (it is still safe to use offsets if a parent element is + // // hidden; don safety goggles and see bug #4512 for more information). + // // (only IE 8 fails this test) + // jQuery.support.reliableHiddenOffsets = tds[0].offsetHeight === 0; + + // tds[0].style.display = ""; + // tds[1].style.display = "none"; + + // // Check if empty table cells still have offsetWidth/Height + // // (IE < 8 fail this test) + // jQuery.support.reliableHiddenOffsets = jQuery.support.reliableHiddenOffsets && tds[0].offsetHeight === 0; + // div.innerHTML = ""; + + // document.body.removeChild( div ).style.display = "none"; + // div = tds = null; + // }); + + // // Technique from Juriy Zaytsev + // // http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/ + // var eventSupported = function( eventName ) { + // var el = document.createElement("div"); + // eventName = "on" + eventName; + + // var isSupported = (eventName in el); + // if ( !isSupported ) { + // el.setAttribute(eventName, "return;"); + // isSupported = typeof el[eventName] === "function"; + // } + // el = null; + + // return isSupported; + // }; + + jQuery.support.submitBubbles = false; + jQuery.support.changeBubbles = false; + + // // release memory in IE + // root = script = div = all = a = null; +})(); + + + +var windowData = {}, + rbrace = /^(?:\{.*\}|\[.*\])$/; + +jQuery.extend({ + cache: {}, + + // Please use with caution + uuid: 0, + + // Unique for each copy of jQuery on the page + expando: "jQuery" + jQuery.now(), + + // The following elements throw uncatchable exceptions if you + // attempt to add expando properties to them. + noData: { + "embed": true, + // Ban all objects except for Flash (which handle expandos) + "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", + "applet": true + }, + + data: function( elem, name, data ) { + /// + /// Store arbitrary data associated with the specified element. + /// + /// + /// The DOM element to associate with the data. + /// + /// + /// A string naming the piece of data to set. + /// + /// + /// The new data value. + /// + /// + + if ( !jQuery.acceptData( elem ) ) { + return; + } + + elem = elem == window ? + windowData : + elem; + + var isNode = elem.nodeType, + id = isNode ? elem[ jQuery.expando ] : null, + cache = jQuery.cache, thisCache; + + if ( isNode && !id && typeof name === "string" && data === undefined ) { + return; + } + + // Get the data from the object directly + if ( !isNode ) { + cache = elem; + + // Compute a unique ID for the element + } else if ( !id ) { + elem[ jQuery.expando ] = id = ++jQuery.uuid; + } + + // Avoid generating a new cache unless none exists and we + // want to manipulate it. + if ( typeof name === "object" ) { + if ( isNode ) { + cache[ id ] = jQuery.extend(cache[ id ], name); + + } else { + jQuery.extend( cache, name ); + } + + } else if ( isNode && !cache[ id ] ) { + cache[ id ] = {}; + } + + thisCache = isNode ? cache[ id ] : cache; + + // Prevent overriding the named cache with undefined values + if ( data !== undefined ) { + thisCache[ name ] = data; + } + + return typeof name === "string" ? thisCache[ name ] : thisCache; + }, + + removeData: function( elem, name ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + elem = elem == window ? + windowData : + elem; + + var isNode = elem.nodeType, + id = isNode ? elem[ jQuery.expando ] : elem, + cache = jQuery.cache, + thisCache = isNode ? cache[ id ] : id; + + // If we want to remove a specific section of the element's data + if ( name ) { + if ( thisCache ) { + // Remove the section of cache data + delete thisCache[ name ]; + + // If we've removed all the data, remove the element's cache + if ( isNode && jQuery.isEmptyObject(thisCache) ) { + jQuery.removeData( elem ); + } + } + + // Otherwise, we want to remove all of the element's data + } else { + if ( isNode && jQuery.support.deleteExpando ) { + delete elem[ jQuery.expando ]; + + } else if ( elem.removeAttribute ) { + elem.removeAttribute( jQuery.expando ); + + // Completely remove the data cache + } else if ( isNode ) { + delete cache[ id ]; + + // Remove all fields from the object + } else { + for ( var n in elem ) { + delete elem[ n ]; + } + } + } + }, + + // A method for determining if a DOM node can handle the data expando + acceptData: function( elem ) { + if ( elem.nodeName ) { + var match = jQuery.noData[ elem.nodeName.toLowerCase() ]; + + if ( match ) { + return !(match === true || elem.getAttribute("classid") !== match); + } + } + + return true; + } +}); + +jQuery.fn.extend({ + data: function( key, value ) { + /// + /// Store arbitrary data associated with the matched elements. + /// + /// + /// A string naming the piece of data to set. + /// + /// + /// The new data value. + /// + /// + + var data = null; + + if ( typeof key === "undefined" ) { + if ( this.length ) { + var attr = this[0].attributes, name; + data = jQuery.data( this[0] ); + + for ( var i = 0, l = attr.length; i < l; i++ ) { + name = attr[i].name; + + if ( name.indexOf( "data-" ) === 0 ) { + name = name.substr( 5 ); + dataAttr( this[0], name, data[ name ] ); + } + } + } + + return data; + + } else if ( typeof key === "object" ) { + return this.each(function() { + jQuery.data( this, key ); + }); + } + + var parts = key.split("."); + parts[1] = parts[1] ? "." + parts[1] : ""; + + if ( value === undefined ) { + data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]); + + // Try to fetch any internally stored data first + if ( data === undefined && this.length ) { + data = jQuery.data( this[0], key ); + data = dataAttr( this[0], key, data ); + } + + return data === undefined && parts[1] ? + this.data( parts[0] ) : + data; + + } else { + return this.each(function() { + var $this = jQuery( this ), + args = [ parts[0], value ]; + + $this.triggerHandler( "setData" + parts[1] + "!", args ); + jQuery.data( this, key, value ); + $this.triggerHandler( "changeData" + parts[1] + "!", args ); + }); + } + }, + + removeData: function( key ) { + return this.each(function() { + jQuery.removeData( this, key ); + }); + } +}); + +function dataAttr( elem, key, data ) { + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + data = elem.getAttribute( "data-" + key ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + !jQuery.isNaN( data ) ? parseFloat( data ) : + rbrace.test( data ) ? jQuery.parseJSON( data ) : + data; + } catch( e ) {} + + // Make sure we set the data so it isn't changed later + jQuery.data( elem, key, data ); + + } else { + data = undefined; + } + } + + return data; +} + + + + +jQuery.extend({ + queue: function( elem, type, data ) { + if ( !elem ) { + return; + } + + type = (type || "fx") + "queue"; + var q = jQuery.data( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( !data ) { + return q || []; + } + + if ( !q || jQuery.isArray(data) ) { + q = jQuery.data( elem, type, jQuery.makeArray(data) ); + + } else { + q.push( data ); + } + + return q; + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + fn = queue.shift(); + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + } + + if ( fn ) { + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift("inprogress"); + } + + fn.call(elem, function() { + jQuery.dequeue(elem, type); + }); + } + } +}); + +jQuery.fn.extend({ + queue: function( type, data ) { + /// + /// 1: queue() - Returns a reference to the first element's queue (which is an array of functions). + /// 2: queue(callback) - Adds a new function, to be executed, onto the end of the queue of all matched elements. + /// 3: queue(queue) - Replaces the queue of all matched element with this new queue (the array of functions). + /// + /// The function to add to the queue. + /// + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + } + + if ( data === undefined ) { + return jQuery.queue( this[0], type ); + } + return this.each(function( i ) { + var queue = jQuery.queue( this, type, data ); + + if ( type === "fx" && queue[0] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + }); + }, + dequeue: function( type ) { + /// + /// Removes a queued function from the front of the queue and executes it. + /// + /// The type of queue to access. + /// + + return this.each(function() { + jQuery.dequeue( this, type ); + }); + }, + + // Based off of the plugin by Clint Helfers, with permission. + // http://blindsignals.com/index.php/2009/07/jquery-delay/ + delay: function( time, type ) { + /// + /// Set a timer to delay execution of subsequent items in the queue. + /// + /// + /// An integer indicating the number of milliseconds to delay execution of the next item in the queue. + /// + /// + /// A string containing the name of the queue. Defaults to fx, the standard effects queue. + /// + /// + + time = jQuery.fx ? jQuery.fx.speeds[time] || time : time; + type = type || "fx"; + + return this.queue( type, function() { + var elem = this; + setTimeout(function() { + jQuery.dequeue( elem, type ); + }, time ); + }); + }, + + clearQueue: function( type ) { + /// + /// Remove from the queue all items that have not yet been run. + /// + /// + /// A string containing the name of the queue. Defaults to fx, the standard effects queue. + /// + /// + + return this.queue( type || "fx", [] ); + } +}); + + + + +var rclass = /[\n\t]/g, + rspaces = /\s+/, + rreturn = /\r/g, + rspecialurl = /^(?:href|src|style)$/, + rtype = /^(?:button|input)$/i, + rfocusable = /^(?:button|input|object|select|textarea)$/i, + rclickable = /^a(?:rea)?$/i, + rradiocheck = /^(?:radio|checkbox)$/i; + +jQuery.props = { + "for": "htmlFor", + "class": "className", + readonly: "readOnly", + maxlength: "maxLength", + cellspacing: "cellSpacing", + rowspan: "rowSpan", + colspan: "colSpan", + tabindex: "tabIndex", + usemap: "useMap", + frameborder: "frameBorder" +}; + +jQuery.fn.extend({ + attr: function( name, value ) { + /// + /// Set a single property to a computed value, on all matched elements. + /// Instead of a value, a function is provided, that computes the value. + /// Part of DOM/Attributes + /// + /// + /// + /// The name of the property to set. + /// + /// + /// A function returning the value to set. + /// + + return jQuery.access( this, name, value, true, jQuery.attr ); + }, + + removeAttr: function( name, fn ) { + /// + /// Remove an attribute from each of the matched elements. + /// Part of DOM/Attributes + /// + /// + /// An attribute to remove. + /// + /// + + return this.each(function(){ + jQuery.attr( this, name, "" ); + if ( this.nodeType === 1 ) { + this.removeAttribute( name ); + } + }); + }, + + addClass: function( value ) { + /// + /// Adds the specified class(es) to each of the set of matched elements. + /// Part of DOM/Attributes + /// + /// + /// One or more class names to be added to the class attribute of each matched element. + /// + /// + + if ( jQuery.isFunction(value) ) { + return this.each(function(i) { + var self = jQuery(this); + self.addClass( value.call(this, i, self.attr("class")) ); + }); + } + + if ( value && typeof value === "string" ) { + var classNames = (value || "").split( rspaces ); + + for ( var i = 0, l = this.length; i < l; i++ ) { + var elem = this[i]; + + if ( elem.nodeType === 1 ) { + if ( !elem.className ) { + elem.className = value; + + } else { + var className = " " + elem.className + " ", + setClass = elem.className; + + for ( var c = 0, cl = classNames.length; c < cl; c++ ) { + if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) { + setClass += " " + classNames[c]; + } + } + elem.className = jQuery.trim( setClass ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + /// + /// Removes all or the specified class(es) from the set of matched elements. + /// Part of DOM/Attributes + /// + /// + /// (Optional) A class name to be removed from the class attribute of each matched element. + /// + /// + + if ( jQuery.isFunction(value) ) { + return this.each(function(i) { + var self = jQuery(this); + self.removeClass( value.call(this, i, self.attr("class")) ); + }); + } + + if ( (value && typeof value === "string") || value === undefined ) { + var classNames = (value || "").split( rspaces ); + + for ( var i = 0, l = this.length; i < l; i++ ) { + var elem = this[i]; + + if ( elem.nodeType === 1 && elem.className ) { + if ( value ) { + var className = (" " + elem.className + " ").replace(rclass, " "); + for ( var c = 0, cl = classNames.length; c < cl; c++ ) { + className = className.replace(" " + classNames[c] + " ", " "); + } + elem.className = jQuery.trim( className ); + + } else { + elem.className = ""; + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + /// + /// Add or remove a class from each element in the set of matched elements, depending + /// on either the class's presence or the value of the switch argument. + /// + /// + /// A class name to be toggled for each element in the matched set. + /// + /// + /// A boolean value to determine whether the class should be added or removed. + /// + /// + + var type = typeof value, + isBool = typeof stateVal === "boolean"; + + if ( jQuery.isFunction( value ) ) { + return this.each(function(i) { + var self = jQuery(this); + self.toggleClass( value.call(this, i, self.attr("class"), stateVal), stateVal ); + }); + } + + return this.each(function() { + if ( type === "string" ) { + // toggle individual class names + var className, + i = 0, + self = jQuery( this ), + state = stateVal, + classNames = value.split( rspaces ); + + while ( (className = classNames[ i++ ]) ) { + // check each className given, space seperated list + state = isBool ? state : !self.hasClass( className ); + self[ state ? "addClass" : "removeClass" ]( className ); + } + + } else if ( type === "undefined" || type === "boolean" ) { + if ( this.className ) { + // store className if set + jQuery.data( this, "__className__", this.className ); + } + + // toggle whole className + this.className = this.className || value === false ? "" : jQuery.data( this, "__className__" ) || ""; + } + }); + }, + + hasClass: function( selector ) { + /// + /// Checks the current selection against a class and returns whether at least one selection has a given class. + /// + /// The class to check against + /// True if at least one element in the selection has the class, otherwise false. + + var className = " " + selector + " "; + for ( var i = 0, l = this.length; i < l; i++ ) { + if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) { + return true; + } + } + + return false; + }, + + val: function( value ) { + /// + /// Set the value of every matched element. + /// Part of DOM/Attributes + /// + /// + /// + /// A string of text or an array of strings to set as the value property of each + /// matched element. + /// + + if ( !arguments.length ) { + var elem = this[0]; + + if ( elem ) { + if ( jQuery.nodeName( elem, "option" ) ) { + // attributes.value is undefined in Blackberry 4.7 but + // uses .value. See #6932 + var val = elem.attributes.value; + return !val || val.specified ? elem.value : elem.text; + } + + // We need to handle select boxes special + if ( jQuery.nodeName( elem, "select" ) ) { + var index = elem.selectedIndex, + values = [], + options = elem.options, + one = elem.type === "select-one"; + + // Nothing was selected + if ( index < 0 ) { + return null; + } + + // Loop through all the selected options + for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) { + var option = options[ i ]; + + // Don't return options that are disabled or in a disabled optgroup + if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) && + (!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) { + + // Get the specific value for the option + value = jQuery(option).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + } + + // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified + if ( rradiocheck.test( elem.type ) && !jQuery.support.checkOn ) { + return elem.getAttribute("value") === null ? "on" : elem.value; + } + + + // Everything else, we just grab the value + return (elem.value || "").replace(rreturn, ""); + + } + + return undefined; + } + + var isFunction = jQuery.isFunction(value); + + return this.each(function(i) { + var self = jQuery(this), val = value; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call(this, i, self.val()); + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + } else if ( typeof val === "number" ) { + val += ""; + } else if ( jQuery.isArray(val) ) { + val = jQuery.map(val, function (value) { + return value == null ? "" : value + ""; + }); + } + + if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) { + this.checked = jQuery.inArray( self.val(), val ) >= 0; + + } else if ( jQuery.nodeName( this, "select" ) ) { + var values = jQuery.makeArray(val); + + jQuery( "option", this ).each(function() { + this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; + }); + + if ( !values.length ) { + this.selectedIndex = -1; + } + + } else { + this.value = val; + } + }); + } +}); + +jQuery.extend({ + attrFn: { + val: true, + css: true, + html: true, + text: true, + data: true, + width: true, + height: true, + offset: true + }, + + attr: function( elem, name, value, pass ) { + /// + /// This method is internal. + /// + /// + + // don't set attributes on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) { + return undefined; + } + + if ( pass && name in jQuery.attrFn ) { + return jQuery(elem)[name](value); + } + + var notxml = elem.nodeType !== 1 || !jQuery.isXMLDoc( elem ), + // Whether we are setting (or getting) + set = value !== undefined; + + // Try to normalize/fix the name + name = notxml && jQuery.props[ name ] || name; + + // These attributes require special treatment + var special = rspecialurl.test( name ); + + // Safari mis-reports the default selected property of an option + // Accessing the parent's selectedIndex property fixes it + if ( name === "selected" && !jQuery.support.optSelected ) { + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + // Make sure that it also works with optgroups, see #5701 + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + + // If applicable, access the attribute via the DOM 0 way + // 'in' checks fail in Blackberry 4.7 #6931 + if ( (name in elem || elem[ name ] !== undefined) && notxml && !special ) { + if ( set ) { + // We can't allow the type property to be changed (since it causes problems in IE) + if ( name === "type" && rtype.test( elem.nodeName ) && elem.parentNode ) { + jQuery.error( "type property can't be changed" ); + } + + if ( value === null ) { + if ( elem.nodeType === 1 ) { + elem.removeAttribute( name ); + } + + } else { + elem[ name ] = value; + } + } + + // browsers index elements by id/name on forms, give priority to attributes. + if ( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) ) { + return elem.getAttributeNode( name ).nodeValue; + } + + // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set + // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + if ( name === "tabIndex" ) { + var attributeNode = elem.getAttributeNode( "tabIndex" ); + + return attributeNode && attributeNode.specified ? + attributeNode.value : + rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? + 0 : + undefined; + } + + return elem[ name ]; + } + + if ( !jQuery.support.style && notxml && name === "style" ) { + if ( set ) { + elem.style.cssText = "" + value; + } + + return elem.style.cssText; + } + + if ( set ) { + // convert the value to a string (all browsers do this but IE) see #1070 + elem.setAttribute( name, "" + value ); + } + + // Ensure that missing attributes return undefined + // Blackberry 4.7 returns "" from getAttribute #6938 + if ( !elem.attributes[ name ] && (elem.hasAttribute && !elem.hasAttribute( name )) ) { + return undefined; + } + + var attr = !jQuery.support.hrefNormalized && notxml && special ? + // Some attributes require a special call on IE + elem.getAttribute( name, 2 ) : + elem.getAttribute( name ); + + // Non-existent attributes return null, we normalize to undefined + return attr === null ? undefined : attr; + } +}); + + + + +var rnamespaces = /\.(.*)$/, + rformElems = /^(?:textarea|input|select)$/i, + rperiod = /\./g, + rspace = / /g, + rescape = /[^\w\s.|`]/g, + fcleanup = function( nm ) { + return nm.replace(rescape, "\\$&"); + }, + focusCounts = { focusin: 0, focusout: 0 }; + +/* + * A number of helper functions used for managing events. + * Many of the ideas behind this code originated from + * Dean Edwards' addEvent library. + */ +jQuery.event = { + + // Bind an event to an element + // Original by Dean Edwards + add: function( elem, types, handler, data ) { + /// + /// This method is internal. + /// + /// + + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // For whatever reason, IE has trouble passing the window object + // around, causing it to be cloned in the process + if ( jQuery.isWindow( elem ) && ( elem !== window && !elem.frameElement ) ) { + elem = window; + } + + if ( handler === false ) { + handler = returnFalse; + } else if ( !handler ) { + // Fixes bug #7229. Fix recommended by jdalton + return; + } + + var handleObjIn, handleObj; + + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + } + + // Make sure that the function being executed has a unique ID + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure + var elemData = jQuery.data( elem ); + + // If no elemData is found then we must be trying to bind to one of the + // banned noData elements + if ( !elemData ) { + return; + } + + // Use a key less likely to result in collisions for plain JS objects. + // Fixes bug #7150. + var eventKey = elem.nodeType ? "events" : "__events__", + events = elemData[ eventKey ], + eventHandle = elemData.handle; + + if ( typeof events === "function" ) { + // On plain objects events is a fn that holds the the data + // which prevents this data from being JSON serialized + // the function does not need to be called, it just contains the data + eventHandle = events.handle; + events = events.events; + + } else if ( !events ) { + if ( !elem.nodeType ) { + // On plain objects, create a fn that acts as the holder + // of the values to avoid JSON serialization of event data + elemData[ eventKey ] = elemData = function(){}; + } + + elemData.events = events = {}; + } + + if ( !eventHandle ) { + elemData.handle = eventHandle = function() { + // Handle the second event of a trigger and when + // an event is called after a page has unloaded + return typeof jQuery !== "undefined" && !jQuery.event.triggered ? + jQuery.event.handle.apply( eventHandle.elem, arguments ) : + undefined; + }; + } + + // Add elem as a property of the handle function + // This is to prevent a memory leak with non-native events in IE. + eventHandle.elem = elem; + + // Handle multiple events separated by a space + // jQuery(...).bind("mouseover mouseout", fn); + types = types.split(" "); + + var type, i = 0, namespaces; + + while ( (type = types[ i++ ]) ) { + handleObj = handleObjIn ? + jQuery.extend({}, handleObjIn) : + { handler: handler, data: data }; + + // Namespaced event handlers + if ( type.indexOf(".") > -1 ) { + namespaces = type.split("."); + type = namespaces.shift(); + handleObj.namespace = namespaces.slice(0).sort().join("."); + + } else { + namespaces = []; + handleObj.namespace = ""; + } + + handleObj.type = type; + if ( !handleObj.guid ) { + handleObj.guid = handler.guid; + } + + // Get the current list of functions bound to this event + var handlers = events[ type ], + special = jQuery.event.special[ type ] || {}; + + // Init the event handler queue + if ( !handlers ) { + handlers = events[ type ] = []; + + // Check for a special event handler + // Only use addEventListener/attachEvent if the special + // events handler returns false + if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + // Bind the global event handler to the element + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle, false ); + + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add the function to the element's handler list + handlers.push( handleObj ); + + // Keep track of which events have been used, for global triggering + jQuery.event.global[ type ] = true; + } + + // Nullify elem to prevent memory leaks in IE + elem = null; + }, + + global: {}, + + // Detach an event or set of events from an element + remove: function( elem, types, handler ) { + /// + /// This method is internal. + /// + /// + + // don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + if ( handler === false ) { + handler = returnFalse; + } + + var ret, type, fn, j, i = 0, all, namespaces, namespace, special, eventType, handleObj, origType, + eventKey = elem.nodeType ? "events" : "__events__", + elemData = jQuery.data( elem ), + events = elemData && elemData[ eventKey ]; + + if ( !elemData || !events ) { + return; + } + + if ( typeof events === "function" ) { + elemData = events; + events = events.events; + } + + // types is actually an event object here + if ( types && types.type ) { + handler = types.handler; + types = types.type; + } + + // Unbind all events for the element + if ( !types || typeof types === "string" && types.charAt(0) === "." ) { + types = types || ""; + + for ( type in events ) { + jQuery.event.remove( elem, type + types ); + } + + return; + } + + // Handle multiple events separated by a space + // jQuery(...).unbind("mouseover mouseout", fn); + types = types.split(" "); + + while ( (type = types[ i++ ]) ) { + origType = type; + handleObj = null; + all = type.indexOf(".") < 0; + namespaces = []; + + if ( !all ) { + // Namespaced event handlers + namespaces = type.split("."); + type = namespaces.shift(); + + namespace = new RegExp("(^|\\.)" + + jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + eventType = events[ type ]; + + if ( !eventType ) { + continue; + } + + if ( !handler ) { + for ( j = 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( all || namespace.test( handleObj.namespace ) ) { + jQuery.event.remove( elem, origType, handleObj.handler, j ); + eventType.splice( j--, 1 ); + } + } + + continue; + } + + special = jQuery.event.special[ type ] || {}; + + for ( j = pos || 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( handler.guid === handleObj.guid ) { + // remove the given handler for the given type + if ( all || namespace.test( handleObj.namespace ) ) { + if ( pos == null ) { + eventType.splice( j--, 1 ); + } + + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + + if ( pos != null ) { + break; + } + } + } + + // remove generic event handler if no more handlers exist + if ( eventType.length === 0 || pos != null && eventType.length === 1 ) { + if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); + } + + ret = null; + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + var handle = elemData.handle; + if ( handle ) { + handle.elem = null; + } + + delete elemData.events; + delete elemData.handle; + + if ( typeof elemData === "function" ) { + jQuery.removeData( elem, eventKey ); + + } else if ( jQuery.isEmptyObject( elemData ) ) { + jQuery.removeData( elem ); + } + } + }, + + // bubbling is internal + trigger: function( event, data, elem /*, bubbling */ ) { + /// + /// This method is internal. + /// + /// + + // Event object or event type + var type = event.type || event, + bubbling = arguments[3]; + + if ( !bubbling ) { + event = typeof event === "object" ? + // jQuery.Event object + event[ jQuery.expando ] ? event : + // Object literal + jQuery.extend( jQuery.Event(type), event ) : + // Just the event type (string) + jQuery.Event(type); + + if ( type.indexOf("!") >= 0 ) { + event.type = type = type.slice(0, -1); + event.exclusive = true; + } + + // Handle a global trigger + if ( !elem ) { + // Don't bubble custom events when global (to avoid too much overhead) + event.stopPropagation(); + + // Only trigger if we've ever bound an event for it + if ( jQuery.event.global[ type ] ) { + jQuery.each( jQuery.cache, function() { + if ( this.events && this.events[type] ) { + jQuery.event.trigger( event, data, this.handle.elem ); + } + }); + } + } + + // Handle triggering a single element + + // don't do events on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) { + return undefined; + } + + // Clean up in case it is reused + event.result = undefined; + event.target = elem; + + // Clone the incoming data, if any + data = jQuery.makeArray( data ); + data.unshift( event ); + } + + event.currentTarget = elem; + + // Trigger the event, it is assumed that "handle" is a function + var handle = elem.nodeType ? + jQuery.data( elem, "handle" ) : + (jQuery.data( elem, "__events__" ) || {}).handle; + + if ( handle ) { + handle.apply( elem, data ); + } + + var parent = elem.parentNode || elem.ownerDocument; + + // Trigger an inline bound script + try { + if ( !(elem && elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()]) ) { + if ( elem[ "on" + type ] && elem[ "on" + type ].apply( elem, data ) === false ) { + event.result = false; + event.preventDefault(); + } + } + + // prevent IE from throwing an error for some elements with some event types, see #3533 + } catch (inlineError) {} + + if ( !event.isPropagationStopped() && parent ) { + jQuery.event.trigger( event, data, parent, true ); + + } else if ( !event.isDefaultPrevented() ) { + var old, + target = event.target, + targetType = type.replace( rnamespaces, "" ), + isClick = jQuery.nodeName( target, "a" ) && targetType === "click", + special = jQuery.event.special[ targetType ] || {}; + + if ( (!special._default || special._default.call( elem, event ) === false) && + !isClick && !(target && target.nodeName && jQuery.noData[target.nodeName.toLowerCase()]) ) { + + try { + if ( target[ targetType ] ) { + // Make sure that we don't accidentally re-trigger the onFOO events + old = target[ "on" + targetType ]; + + if ( old ) { + target[ "on" + targetType ] = null; + } + + jQuery.event.triggered = true; + target[ targetType ](); + } + + // prevent IE from throwing an error for some elements with some event types, see #3533 + } catch (triggerError) {} + + if ( old ) { + target[ "on" + targetType ] = old; + } + + jQuery.event.triggered = false; + } + } + }, + + handle: function( event ) { + /// + /// This method is internal. + /// + /// + + var all, handlers, namespaces, namespace_re, events, + namespace_sort = [], + args = jQuery.makeArray( arguments ); + + event = args[0] = jQuery.event.fix( event || window.event ); + event.currentTarget = this; + + // Namespaced event handlers + all = event.type.indexOf(".") < 0 && !event.exclusive; + + if ( !all ) { + namespaces = event.type.split("."); + event.type = namespaces.shift(); + namespace_sort = namespaces.slice(0).sort(); + namespace_re = new RegExp("(^|\\.)" + namespace_sort.join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + event.namespace = event.namespace || namespace_sort.join("."); + + events = jQuery.data(this, this.nodeType ? "events" : "__events__"); + + if ( typeof events === "function" ) { + events = events.events; + } + + handlers = (events || {})[ event.type ]; + + if ( events && handlers ) { + // Clone the handlers to prevent manipulation + handlers = handlers.slice(0); + + for ( var j = 0, l = handlers.length; j < l; j++ ) { + var handleObj = handlers[ j ]; + + // Filter the functions by class + if ( all || namespace_re.test( handleObj.namespace ) ) { + // Pass in a reference to the handler function itself + // So that we can later remove it + event.handler = handleObj.handler; + event.data = handleObj.data; + event.handleObj = handleObj; + + var ret = handleObj.handler.apply( this, args ); + + if ( ret !== undefined ) { + event.result = ret; + if ( ret === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + + if ( event.isImmediatePropagationStopped() ) { + break; + } + } + } + } + + return event.result; + }, + + props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "), + + fix: function( event ) { + /// + /// This method is internal. + /// + /// + + if ( event[ jQuery.expando ] ) { + return event; + } + + // store a copy of the original event object + // and "clone" to set read-only properties + var originalEvent = event; + event = jQuery.Event( originalEvent ); + + for ( var i = this.props.length, prop; i; ) { + prop = this.props[ --i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Fix target property, if necessary + if ( !event.target ) { + // Fixes #1925 where srcElement might not be defined either + event.target = event.srcElement || document; + } + + // check if target is a textnode (safari) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && event.fromElement ) { + event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement; + } + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && event.clientX != null ) { + var doc = document.documentElement, + body = document.body; + + event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0); + event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0); + } + + // Add which for key events + if ( event.which == null && (event.charCode != null || event.keyCode != null) ) { + event.which = event.charCode != null ? event.charCode : event.keyCode; + } + + // Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs) + if ( !event.metaKey && event.ctrlKey ) { + event.metaKey = event.ctrlKey; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && event.button !== undefined ) { + event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) )); + } + + return event; + }, + + // Deprecated, use jQuery.guid instead + guid: 1E8, + + // Deprecated, use jQuery.proxy instead + proxy: jQuery.proxy, + + special: { + ready: { + // Make sure the ready event is setup + setup: jQuery.bindReady, + teardown: jQuery.noop + }, + + live: { + add: function( handleObj ) { + jQuery.event.add( this, + liveConvert( handleObj.origType, handleObj.selector ), + jQuery.extend({}, handleObj, {handler: liveHandler, guid: handleObj.handler.guid}) ); + }, + + remove: function( handleObj ) { + jQuery.event.remove( this, liveConvert( handleObj.origType, handleObj.selector ), handleObj ); + } + }, + + beforeunload: { + setup: function( data, namespaces, eventHandle ) { + // We only want to do this special case on windows + if ( jQuery.isWindow( this ) ) { + this.onbeforeunload = eventHandle; + } + }, + + teardown: function( namespaces, eventHandle ) { + if ( this.onbeforeunload === eventHandle ) { + this.onbeforeunload = null; + } + } + } + } +}; + +jQuery.removeEvent = document.removeEventListener ? + function( elem, type, handle ) { + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle, false ); + } + } : + function( elem, type, handle ) { + if ( elem.detachEvent ) { + elem.detachEvent( "on" + type, handle ); + } + }; + +jQuery.Event = function( src ) { + // Allow instantiation without the 'new' keyword + if ( !this.preventDefault ) { + return new jQuery.Event( src ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + // Event type + } else { + this.type = src; + } + + // timeStamp is buggy for some events on Firefox(#3843) + // So we won't rely on the native value + this.timeStamp = jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +function returnFalse() { + return false; +} +function returnTrue() { + return true; +} + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + preventDefault: function() { + this.isDefaultPrevented = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + + // if preventDefault exists run it on the original event + if ( e.preventDefault ) { + e.preventDefault(); + + // otherwise set the returnValue property of the original event to false (IE) + } else { + e.returnValue = false; + } + }, + stopPropagation: function() { + this.isPropagationStopped = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + // if stopPropagation exists run it on the original event + if ( e.stopPropagation ) { + e.stopPropagation(); + } + // otherwise set the cancelBubble property of the original event to true (IE) + e.cancelBubble = true; + }, + stopImmediatePropagation: function() { + this.isImmediatePropagationStopped = returnTrue; + this.stopPropagation(); + }, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse +}; + +// Checks if an event happened on an element within another element +// Used in jQuery.event.special.mouseenter and mouseleave handlers +var withinElement = function( event ) { + // Check if mouse(over|out) are still within the same parent element + var parent = event.relatedTarget; + + // Firefox sometimes assigns relatedTarget a XUL element + // which we cannot access the parentNode property of + try { + // Traverse up the tree + while ( parent && parent !== this ) { + parent = parent.parentNode; + } + + if ( parent !== this ) { + // set the correct event type + event.type = event.data; + + // handle event if we actually just moused on to a non sub-element + jQuery.event.handle.apply( this, arguments ); + } + + // assuming we've left the element since we most likely mousedover a xul element + } catch(e) { } +}, + +// In case of event delegation, we only need to rename the event.type, +// liveHandler will take care of the rest. +delegate = function( event ) { + event.type = event.data; + jQuery.event.handle.apply( this, arguments ); +}; + +// Create mouseenter and mouseleave events +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + setup: function( data ) { + jQuery.event.add( this, fix, data && data.selector ? delegate : withinElement, orig ); + }, + teardown: function( data ) { + jQuery.event.remove( this, fix, data && data.selector ? delegate : withinElement ); + } + }; +}); + +// submit delegation +if ( !jQuery.support.submitBubbles ) { + + jQuery.event.special.submit = { + setup: function( data, namespaces ) { + if ( this.nodeName.toLowerCase() !== "form" ) { + jQuery.event.add(this, "click.specialSubmit", function( e ) { + var elem = e.target, + type = elem.type; + + if ( (type === "submit" || type === "image") && jQuery( elem ).closest("form").length ) { + e.liveFired = undefined; + return trigger( "submit", this, arguments ); + } + }); + + jQuery.event.add(this, "keypress.specialSubmit", function( e ) { + var elem = e.target, + type = elem.type; + + if ( (type === "text" || type === "password") && jQuery( elem ).closest("form").length && e.keyCode === 13 ) { + e.liveFired = undefined; + return trigger( "submit", this, arguments ); + } + }); + + } else { + return false; + } + }, + + teardown: function( namespaces ) { + jQuery.event.remove( this, ".specialSubmit" ); + } + }; + +} + +// change delegation, happens here so we have bind. +if ( !jQuery.support.changeBubbles ) { + + var changeFilters, + + getVal = function( elem ) { + var type = elem.type, val = elem.value; + + if ( type === "radio" || type === "checkbox" ) { + val = elem.checked; + + } else if ( type === "select-multiple" ) { + val = elem.selectedIndex > -1 ? + jQuery.map( elem.options, function( elem ) { + return elem.selected; + }).join("-") : + ""; + + } else if ( elem.nodeName.toLowerCase() === "select" ) { + val = elem.selectedIndex; + } + + return val; + }, + + testChange = function testChange( e ) { + var elem = e.target, data, val; + + if ( !rformElems.test( elem.nodeName ) || elem.readOnly ) { + return; + } + + data = jQuery.data( elem, "_change_data" ); + val = getVal(elem); + + // the current data will be also retrieved by beforeactivate + if ( e.type !== "focusout" || elem.type !== "radio" ) { + jQuery.data( elem, "_change_data", val ); + } + + if ( data === undefined || val === data ) { + return; + } + + if ( data != null || val ) { + e.type = "change"; + e.liveFired = undefined; + return jQuery.event.trigger( e, arguments[1], elem ); + } + }; + + jQuery.event.special.change = { + filters: { + focusout: testChange, + + beforedeactivate: testChange, + + click: function( e ) { + var elem = e.target, type = elem.type; + + if ( type === "radio" || type === "checkbox" || elem.nodeName.toLowerCase() === "select" ) { + return testChange.call( this, e ); + } + }, + + // Change has to be called before submit + // Keydown will be called before keypress, which is used in submit-event delegation + keydown: function( e ) { + var elem = e.target, type = elem.type; + + if ( (e.keyCode === 13 && elem.nodeName.toLowerCase() !== "textarea") || + (e.keyCode === 32 && (type === "checkbox" || type === "radio")) || + type === "select-multiple" ) { + return testChange.call( this, e ); + } + }, + + // Beforeactivate happens also before the previous element is blurred + // with this event you can't trigger a change event, but you can store + // information + beforeactivate: function( e ) { + var elem = e.target; + jQuery.data( elem, "_change_data", getVal(elem) ); + } + }, + + setup: function( data, namespaces ) { + if ( this.type === "file" ) { + return false; + } + + for ( var type in changeFilters ) { + jQuery.event.add( this, type + ".specialChange", changeFilters[type] ); + } + + return rformElems.test( this.nodeName ); + }, + + teardown: function( namespaces ) { + jQuery.event.remove( this, ".specialChange" ); + + return rformElems.test( this.nodeName ); + } + }; + + changeFilters = jQuery.event.special.change.filters; + + // Handle when the input is .focus()'d + changeFilters.focus = changeFilters.beforeactivate; +} + +function trigger( type, elem, args ) { + args[0].type = type; + return jQuery.event.handle.apply( elem, args ); +} + +// Create "bubbling" focus and blur events +if ( document.addEventListener ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + jQuery.event.special[ fix ] = { + setup: function() { + /// + /// This method is internal. + /// + /// + + if ( focusCounts[fix]++ === 0 ) { + document.addEventListener( orig, handler, true ); + } + }, + teardown: function() { + /// + /// This method is internal. + /// + /// + + if ( --focusCounts[fix] === 0 ) { + document.removeEventListener( orig, handler, true ); + } + } + }; + + function handler( e ) { + e = jQuery.event.fix( e ); + e.type = fix; + return jQuery.event.trigger( e, null, e.target ); + } + }); +} + +// jQuery.each(["bind", "one"], function( i, name ) { +// jQuery.fn[ name ] = function( type, data, fn ) { +// // Handle object literals +// if ( typeof type === "object" ) { +// for ( var key in type ) { +// this[ name ](key, data, type[key], fn); +// } +// return this; +// } + +// if ( jQuery.isFunction( data ) || data === false ) { +// fn = data; +// data = undefined; +// } + +// var handler = name === "one" ? jQuery.proxy( fn, function( event ) { +// jQuery( this ).unbind( event, handler ); +// return fn.apply( this, arguments ); +// }) : fn; + +// if ( type === "unload" && name !== "one" ) { +// this.one( type, data, fn ); + +// } else { +// for ( var i = 0, l = this.length; i < l; i++ ) { +// jQuery.event.add( this[i], type, handler, data ); +// } +// } + +// return this; +// }; +// }); + +jQuery.fn[ "bind" ] = function( type, data, fn ) { + /// + /// Binds a handler to one or more events for each matched element. Can also bind custom events. + /// + /// One or more event types separated by a space. Built-in event type values are: blur, focus, load, resize, scroll, unload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, keyup, error . + /// Additional data passed to the event handler as event.data + /// A function to bind to the event on each of the set of matched elements. function callback(eventObject) such that this corresponds to the dom element. + + // Handle object literals + if ( typeof type === "object" ) { + for ( var key in type ) { + this[ "bind" ](key, data, type[key], fn); + } + return this; + } + + if ( jQuery.isFunction( data ) ) { + fn = data; + data = undefined; + } + + var handler = "bind" === "one" ? jQuery.proxy( fn, function( event ) { + jQuery( this ).unbind( event, handler ); + return fn.apply( this, arguments ); + }) : fn; + + return type === "unload" && "bind" !== "one" ? + this.one( type, data, fn ) : + this.each(function() { + jQuery.event.add( this, type, handler, data ); + }); +}; + +jQuery.fn[ "one" ] = function( type, data, fn ) { + /// + /// Binds a handler to one or more events to be executed exactly once for each matched element. + /// + /// One or more event types separated by a space. Built-in event type values are: blur, focus, load, resize, scroll, unload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, keyup, error . + /// Additional data passed to the event handler as event.data + /// A function to bind to the event on each of the set of matched elements. function callback(eventObject) such that this corresponds to the dom element. + + // Handle object literals + if ( typeof type === "object" ) { + for ( var key in type ) { + this[ "one" ](key, data, type[key], fn); + } + return this; + } + + if ( jQuery.isFunction( data ) ) { + fn = data; + data = undefined; + } + + var handler = "one" === "one" ? jQuery.proxy( fn, function( event ) { + jQuery( this ).unbind( event, handler ); + return fn.apply( this, arguments ); + }) : fn; + + return type === "unload" && "one" !== "one" ? + this.one( type, data, fn ) : + this.each(function() { + jQuery.event.add( this, type, handler, data ); + }); +}; + +jQuery.fn.extend({ + unbind: function( type, fn ) { + /// + /// Unbinds a handler from one or more events for each matched element. + /// + /// One or more event types separated by a space. Built-in event type values are: blur, focus, load, resize, scroll, unload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, keyup, error . + /// A function to bind to the event on each of the set of matched elements. function callback(eventObject) such that this corresponds to the dom element. + + // Handle object literals + if ( typeof type === "object" && !type.preventDefault ) { + for ( var key in type ) { + this.unbind(key, type[key]); + } + + } else { + for ( var i = 0, l = this.length; i < l; i++ ) { + jQuery.event.remove( this[i], type, fn ); + } + } + + return this; + }, + + delegate: function( selector, types, data, fn ) { + return this.live( types, data, fn, selector ); + }, + + undelegate: function( selector, types, fn ) { + if ( arguments.length === 0 ) { + return this.unbind( "live" ); + + } else { + return this.die( types, null, fn, selector ); + } + }, + + trigger: function( type, data ) { + /// + /// Triggers a type of event on every matched element. + /// + /// One or more event types separated by a space. Built-in event type values are: blur, focus, load, resize, scroll, unload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, keyup, error . + /// Additional data passed to the event handler as additional arguments. + /// This parameter is undocumented. + + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + + triggerHandler: function( type, data ) { + /// + /// Triggers all bound event handlers on an element for a specific event type without executing the browser's default actions. + /// + /// One or more event types separated by a space. Built-in event type values are: blur, focus, load, resize, scroll, unload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, keyup, error . + /// Additional data passed to the event handler as additional arguments. + /// This parameter is undocumented. + + if ( this[0] ) { + var event = jQuery.Event( type ); + event.preventDefault(); + event.stopPropagation(); + jQuery.event.trigger( event, data, this[0] ); + return event.result; + } + }, + + toggle: function( fn ) { + /// + /// Toggles among two or more function calls every other click. + /// + /// The functions among which to toggle execution + + // Save reference to arguments for access in closure + var args = arguments, + i = 1; + + // link all the functions, so any of them can unbind this click handler + while ( i < args.length ) { + jQuery.proxy( fn, args[ i++ ] ); + } + + return this.click( jQuery.proxy( fn, function( event ) { + // Figure out which function to execute + var lastToggle = ( jQuery.data( this, "lastToggle" + fn.guid ) || 0 ) % i; + jQuery.data( this, "lastToggle" + fn.guid, lastToggle + 1 ); + + // Make sure that clicks stop + event.preventDefault(); + + // and execute the function + return args[ lastToggle ].apply( this, arguments ) || false; + })); + }, + + hover: function( fnOver, fnOut ) { + /// + /// Simulates hovering (moving the mouse on or off of an object). + /// + /// The function to fire when the mouse is moved over a matched element. + /// The function to fire when the mouse is moved off of a matched element. + + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +}); + +var liveMap = { + focus: "focusin", + blur: "focusout", + mouseenter: "mouseover", + mouseleave: "mouseout" +}; + +// jQuery.each(["live", "die"], function( i, name ) { +// jQuery.fn[ name ] = function( types, data, fn, origSelector /* Internal Use Only */ ) { +// var type, i = 0, match, namespaces, preType, +// selector = origSelector || this.selector, +// context = origSelector ? this : jQuery( this.context ); + +// if ( typeof types === "object" && !types.preventDefault ) { +// for ( var key in types ) { +// context[ name ]( key, data, types[key], selector ); +// } + +// return this; +// } + +// if ( jQuery.isFunction( data ) ) { +// fn = data; +// data = undefined; +// } + +// types = (types || "").split(" "); + +// while ( (type = types[ i++ ]) != null ) { +// match = rnamespaces.exec( type ); +// namespaces = ""; + +// if ( match ) { +// namespaces = match[0]; +// type = type.replace( rnamespaces, "" ); +// } + +// if ( type === "hover" ) { +// types.push( "mouseenter" + namespaces, "mouseleave" + namespaces ); +// continue; +// } + +// preType = type; + +// if ( type === "focus" || type === "blur" ) { +// types.push( liveMap[ type ] + namespaces ); +// type = type + namespaces; + +// } else { +// type = (liveMap[ type ] || type) + namespaces; +// } + +// if ( name === "live" ) { +// // bind live handler +// for ( var j = 0, l = context.length; j < l; j++ ) { +// jQuery.event.add( context[j], "live." + liveConvert( type, selector ), +// { data: data, selector: selector, handler: fn, origType: type, origHandler: fn, preType: preType } ); +// } + +// } else { +// // unbind live handler +// context.unbind( "live." + liveConvert( type, selector ), fn ); +// } +// } + +// return this; +// }; +// }); + +jQuery.fn[ "live" ] = function( types, data, fn ) { + /// + /// Attach a handler to the event for all elements which match the current selector, now or + /// in the future. + /// + /// + /// A string containing a JavaScript event type, such as "click" or "keydown". + /// + /// + /// A map of data that will be passed to the event handler. + /// + /// + /// A function to execute at the time the event is triggered. + /// + /// + + var type, i = 0; + + if ( jQuery.isFunction( data ) ) { + fn = data; + data = undefined; + } + + types = (types || "").split( /\s+/ ); + + while ( (type = types[ i++ ]) != null ) { + type = type === "focus" ? "focusin" : // focus --> focusin + type === "blur" ? "focusout" : // blur --> focusout + type === "hover" ? types.push("mouseleave") && "mouseenter" : // hover support + type; + + if ( "live" === "live" ) { + // bind live handler + jQuery( this.context ).bind( liveConvert( type, this.selector ), { + data: data, selector: this.selector, live: type + }, fn ); + + } else { + // unbind live handler + jQuery( this.context ).unbind( liveConvert( type, this.selector ), fn ? { guid: fn.guid + this.selector + type } : null ); + } + } + + return this; +} + +jQuery.fn[ "die" ] = function( types, data, fn ) { + /// + /// Remove all event handlers previously attached using .live() from the elements. + /// + /// + /// A string containing a JavaScript event type, such as click or keydown. + /// + /// + /// The function that is to be no longer executed. + /// + /// + + var type, i = 0; + + if ( jQuery.isFunction( data ) ) { + fn = data; + data = undefined; + } + + types = (types || "").split( /\s+/ ); + + while ( (type = types[ i++ ]) != null ) { + type = type === "focus" ? "focusin" : // focus --> focusin + type === "blur" ? "focusout" : // blur --> focusout + type === "hover" ? types.push("mouseleave") && "mouseenter" : // hover support + type; + + if ( "die" === "live" ) { + // bind live handler + jQuery( this.context ).bind( liveConvert( type, this.selector ), { + data: data, selector: this.selector, live: type + }, fn ); + + } else { + // unbind live handler + jQuery( this.context ).unbind( liveConvert( type, this.selector ), fn ? { guid: fn.guid + this.selector + type } : null ); + } + } + + return this; +} + +function liveHandler( event ) { + var stop, maxLevel, related, match, handleObj, elem, j, i, l, data, close, namespace, ret, + elems = [], + selectors = [], + events = jQuery.data( this, this.nodeType ? "events" : "__events__" ); + + if ( typeof events === "function" ) { + events = events.events; + } + + // Make sure we avoid non-left-click bubbling in Firefox (#3861) + if ( event.liveFired === this || !events || !events.live || event.button && event.type === "click" ) { + return; + } + + if ( event.namespace ) { + namespace = new RegExp("(^|\\.)" + event.namespace.split(".").join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + event.liveFired = this; + + var live = events.live.slice(0); + + for ( j = 0; j < live.length; j++ ) { + handleObj = live[j]; + + if ( handleObj.origType.replace( rnamespaces, "" ) === event.type ) { + selectors.push( handleObj.selector ); + + } else { + live.splice( j--, 1 ); + } + } + + match = jQuery( event.target ).closest( selectors, event.currentTarget ); + + for ( i = 0, l = match.length; i < l; i++ ) { + close = match[i]; + + for ( j = 0; j < live.length; j++ ) { + handleObj = live[j]; + + if ( close.selector === handleObj.selector && (!namespace || namespace.test( handleObj.namespace )) ) { + elem = close.elem; + related = null; + + // Those two events require additional checking + if ( handleObj.preType === "mouseenter" || handleObj.preType === "mouseleave" ) { + event.type = handleObj.preType; + related = jQuery( event.relatedTarget ).closest( handleObj.selector )[0]; + } + + if ( !related || related !== elem ) { + elems.push({ elem: elem, handleObj: handleObj, level: close.level }); + } + } + } + } + + for ( i = 0, l = elems.length; i < l; i++ ) { + match = elems[i]; + + if ( maxLevel && match.level > maxLevel ) { + break; + } + + event.currentTarget = match.elem; + event.data = match.handleObj.data; + event.handleObj = match.handleObj; + + ret = match.handleObj.origHandler.apply( match.elem, arguments ); + + if ( ret === false || event.isPropagationStopped() ) { + maxLevel = match.level; + + if ( ret === false ) { + stop = false; + } + if ( event.isImmediatePropagationStopped() ) { + break; + } + } + } + + return stop; +} + +function liveConvert( type, selector ) { + return (type && type !== "*" ? type + "." : "") + selector.replace(rperiod, "`").replace(rspace, "&"); +} + +// jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + +// "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + +// "change select submit keydown keypress keyup error").split(" "), function( i, name ) { + +// // Handle event binding +// jQuery.fn[ name ] = function( data, fn ) { +// if ( fn == null ) { +// fn = data; +// data = null; +// } + +// return arguments.length > 0 ? +// this.bind( name, data, fn ) : +// this.trigger( name ); +// }; + +// if ( jQuery.attrFn ) { +// jQuery.attrFn[ name ] = true; +// } +// }); + +jQuery.fn[ "blur" ] = function( fn ) { + /// + /// 1: blur() - Triggers the blur event of each matched element. + /// 2: blur(fn) - Binds a function to the blur event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "blur", fn ) : this.trigger( "blur" ); +}; + +jQuery.fn[ "focus" ] = function( fn ) { + /// + /// 1: focus() - Triggers the focus event of each matched element. + /// 2: focus(fn) - Binds a function to the focus event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "focus", fn ) : this.trigger( "focus" ); +}; + +jQuery.fn[ "focusin" ] = function( fn ) { + /// + /// Bind an event handler to the "focusin" JavaScript event. + /// + /// + /// A function to execute each time the event is triggered. + /// + /// + + return fn ? this.bind( "focusin", fn ) : this.trigger( "focusin" ); +}; + +jQuery.fn[ "focusout" ] = function( fn ) { + /// + /// Bind an event handler to the "focusout" JavaScript event. + /// + /// + /// A function to execute each time the event is triggered. + /// + /// + + return fn ? this.bind( "focusout", fn ) : this.trigger( "focusout" ); +}; + +jQuery.fn[ "load" ] = function( fn ) { + /// + /// 1: load() - Triggers the load event of each matched element. + /// 2: load(fn) - Binds a function to the load event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "load", fn ) : this.trigger( "load" ); +}; + +jQuery.fn[ "resize" ] = function( fn ) { + /// + /// 1: resize() - Triggers the resize event of each matched element. + /// 2: resize(fn) - Binds a function to the resize event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "resize", fn ) : this.trigger( "resize" ); +}; + +jQuery.fn[ "scroll" ] = function( fn ) { + /// + /// 1: scroll() - Triggers the scroll event of each matched element. + /// 2: scroll(fn) - Binds a function to the scroll event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "scroll", fn ) : this.trigger( "scroll" ); +}; + +jQuery.fn[ "unload" ] = function( fn ) { + /// + /// 1: unload() - Triggers the unload event of each matched element. + /// 2: unload(fn) - Binds a function to the unload event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "unload", fn ) : this.trigger( "unload" ); +}; + +jQuery.fn[ "click" ] = function( fn ) { + /// + /// 1: click() - Triggers the click event of each matched element. + /// 2: click(fn) - Binds a function to the click event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "click", fn ) : this.trigger( "click" ); +}; + +jQuery.fn[ "dblclick" ] = function( fn ) { + /// + /// 1: dblclick() - Triggers the dblclick event of each matched element. + /// 2: dblclick(fn) - Binds a function to the dblclick event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "dblclick", fn ) : this.trigger( "dblclick" ); +}; + +jQuery.fn[ "mousedown" ] = function( fn ) { + /// + /// Binds a function to the mousedown event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "mousedown", fn ) : this.trigger( "mousedown" ); +}; + +jQuery.fn[ "mouseup" ] = function( fn ) { + /// + /// Bind a function to the mouseup event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "mouseup", fn ) : this.trigger( "mouseup" ); +}; + +jQuery.fn[ "mousemove" ] = function( fn ) { + /// + /// Bind a function to the mousemove event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "mousemove", fn ) : this.trigger( "mousemove" ); +}; + +jQuery.fn[ "mouseover" ] = function( fn ) { + /// + /// Bind a function to the mouseover event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "mouseover", fn ) : this.trigger( "mouseover" ); +}; + +jQuery.fn[ "mouseout" ] = function( fn ) { + /// + /// Bind a function to the mouseout event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "mouseout", fn ) : this.trigger( "mouseout" ); +}; + +jQuery.fn[ "mouseenter" ] = function( fn ) { + /// + /// Bind a function to the mouseenter event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "mouseenter", fn ) : this.trigger( "mouseenter" ); +}; + +jQuery.fn[ "mouseleave" ] = function( fn ) { + /// + /// Bind a function to the mouseleave event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "mouseleave", fn ) : this.trigger( "mouseleave" ); +}; + +jQuery.fn[ "change" ] = function( fn ) { + /// + /// 1: change() - Triggers the change event of each matched element. + /// 2: change(fn) - Binds a function to the change event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "change", fn ) : this.trigger( "change" ); +}; + +jQuery.fn[ "select" ] = function( fn ) { + /// + /// 1: select() - Triggers the select event of each matched element. + /// 2: select(fn) - Binds a function to the select event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "select", fn ) : this.trigger( "select" ); +}; + +jQuery.fn[ "submit" ] = function( fn ) { + /// + /// 1: submit() - Triggers the submit event of each matched element. + /// 2: submit(fn) - Binds a function to the submit event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "submit", fn ) : this.trigger( "submit" ); +}; + +jQuery.fn[ "keydown" ] = function( fn ) { + /// + /// 1: keydown() - Triggers the keydown event of each matched element. + /// 2: keydown(fn) - Binds a function to the keydown event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "keydown", fn ) : this.trigger( "keydown" ); +}; + +jQuery.fn[ "keypress" ] = function( fn ) { + /// + /// 1: keypress() - Triggers the keypress event of each matched element. + /// 2: keypress(fn) - Binds a function to the keypress event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "keypress", fn ) : this.trigger( "keypress" ); +}; + +jQuery.fn[ "keyup" ] = function( fn ) { + /// + /// 1: keyup() - Triggers the keyup event of each matched element. + /// 2: keyup(fn) - Binds a function to the keyup event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "keyup", fn ) : this.trigger( "keyup" ); +}; + +jQuery.fn[ "error" ] = function( fn ) { + /// + /// 1: error() - Triggers the error event of each matched element. + /// 2: error(fn) - Binds a function to the error event of each matched element. + /// + /// The function to execute. + /// + + return fn ? this.bind( "error", fn ) : this.trigger( "error" ); +}; + +// Prevent memory leaks in IE +// Window isn't included so as not to unbind existing unload events +// More info: +// - http://isaacschlueter.com/2006/10/msie-memory-leaks/ +if ( window.attachEvent && !window.addEventListener ) { + jQuery(window).bind("unload", function() { + for ( var id in jQuery.cache ) { + if ( jQuery.cache[ id ].handle ) { + // Try/Catch is to handle iframes being unloaded, see #4280 + try { + jQuery.event.remove( jQuery.cache[ id ].handle.elem ); + } catch(e) {} + } + } + }); +} + + +(function(){ + +var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, + done = 0, + toString = Object.prototype.toString, + hasDuplicate = false, + baseHasDuplicate = true; + +// Here we check if the JavaScript engine is using some sort of +// optimization where it does not always call our comparision +// function. If that is the case, discard the hasDuplicate value. +// Thus far that includes Google Chrome. +[0, 0].sort(function() { + baseHasDuplicate = false; + return 0; +}); + +var Sizzle = function( selector, context, results, seed ) { + results = results || []; + context = context || document; + + var origContext = context; + + if ( context.nodeType !== 1 && context.nodeType !== 9 ) { + return []; + } + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + var m, set, checkSet, extra, ret, cur, pop, i, + prune = true, + contextXML = Sizzle.isXML( context ), + parts = [], + soFar = selector; + + // Reset the position of the chunker regexp (start from head) + do { + chunker.exec( "" ); + m = chunker.exec( soFar ); + + if ( m ) { + soFar = m[3]; + + parts.push( m[1] ); + + if ( m[2] ) { + extra = m[3]; + break; + } + } + } while ( m ); + + if ( parts.length > 1 && origPOS.exec( selector ) ) { + + if ( parts.length === 2 && Expr.relative[ parts[0] ] ) { + set = posProcess( parts[0] + parts[1], context ); + + } else { + set = Expr.relative[ parts[0] ] ? + [ context ] : + Sizzle( parts.shift(), context ); + + while ( parts.length ) { + selector = parts.shift(); + + if ( Expr.relative[ selector ] ) { + selector += parts.shift(); + } + + set = posProcess( selector, set ); + } + } + + } else { + // Take a shortcut and set the context if the root selector is an ID + // (but not if it'll be faster if the inner selector is an ID) + if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML && + Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) { + + ret = Sizzle.find( parts.shift(), context, contextXML ); + context = ret.expr ? + Sizzle.filter( ret.expr, ret.set )[0] : + ret.set[0]; + } + + if ( context ) { + ret = seed ? + { expr: parts.pop(), set: makeArray(seed) } : + Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML ); + + set = ret.expr ? + Sizzle.filter( ret.expr, ret.set ) : + ret.set; + + if ( parts.length > 0 ) { + checkSet = makeArray( set ); + + } else { + prune = false; + } + + while ( parts.length ) { + cur = parts.pop(); + pop = cur; + + if ( !Expr.relative[ cur ] ) { + cur = ""; + } else { + pop = parts.pop(); + } + + if ( pop == null ) { + pop = context; + } + + Expr.relative[ cur ]( checkSet, pop, contextXML ); + } + + } else { + checkSet = parts = []; + } + } + + if ( !checkSet ) { + checkSet = set; + } + + if ( !checkSet ) { + Sizzle.error( cur || selector ); + } + + if ( toString.call(checkSet) === "[object Array]" ) { + if ( !prune ) { + results.push.apply( results, checkSet ); + + } else if ( context && context.nodeType === 1 ) { + for ( i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) { + results.push( set[i] ); + } + } + + } else { + for ( i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && checkSet[i].nodeType === 1 ) { + results.push( set[i] ); + } + } + } + + } else { + makeArray( checkSet, results ); + } + + if ( extra ) { + Sizzle( extra, origContext, results, seed ); + Sizzle.uniqueSort( results ); + } + + return results; +}; + +Sizzle.uniqueSort = function( results ) { + /// + /// Removes all duplicate elements from an array of elements. + /// + /// The array to translate + /// The array after translation. + + if ( sortOrder ) { + hasDuplicate = baseHasDuplicate; + results.sort( sortOrder ); + + if ( hasDuplicate ) { + for ( var i = 1; i < results.length; i++ ) { + if ( results[i] === results[ i - 1 ] ) { + results.splice( i--, 1 ); + } + } + } + } + + return results; +}; + +Sizzle.matches = function( expr, set ) { + return Sizzle( expr, null, null, set ); +}; + +Sizzle.matchesSelector = function( node, expr ) { + return Sizzle( expr, null, null, [node] ).length > 0; +}; + +Sizzle.find = function( expr, context, isXML ) { + var set; + + if ( !expr ) { + return []; + } + + for ( var i = 0, l = Expr.order.length; i < l; i++ ) { + var match, + type = Expr.order[i]; + + if ( (match = Expr.leftMatch[ type ].exec( expr )) ) { + var left = match[1]; + match.splice( 1, 1 ); + + if ( left.substr( left.length - 1 ) !== "\\" ) { + match[1] = (match[1] || "").replace(/\\/g, ""); + set = Expr.find[ type ]( match, context, isXML ); + + if ( set != null ) { + expr = expr.replace( Expr.match[ type ], "" ); + break; + } + } + } + } + + if ( !set ) { + set = context.getElementsByTagName( "*" ); + } + + return { set: set, expr: expr }; +}; + +Sizzle.filter = function( expr, set, inplace, not ) { + var match, anyFound, + old = expr, + result = [], + curLoop = set, + isXMLFilter = set && set[0] && Sizzle.isXML( set[0] ); + + while ( expr && set.length ) { + for ( var type in Expr.filter ) { + if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) { + var found, item, + filter = Expr.filter[ type ], + left = match[1]; + + anyFound = false; + + match.splice(1,1); + + if ( left.substr( left.length - 1 ) === "\\" ) { + continue; + } + + if ( curLoop === result ) { + result = []; + } + + if ( Expr.preFilter[ type ] ) { + match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter ); + + if ( !match ) { + anyFound = found = true; + + } else if ( match === true ) { + continue; + } + } + + if ( match ) { + for ( var i = 0; (item = curLoop[i]) != null; i++ ) { + if ( item ) { + found = filter( item, match, i, curLoop ); + var pass = not ^ !!found; + + if ( inplace && found != null ) { + if ( pass ) { + anyFound = true; + + } else { + curLoop[i] = false; + } + + } else if ( pass ) { + result.push( item ); + anyFound = true; + } + } + } + } + + if ( found !== undefined ) { + if ( !inplace ) { + curLoop = result; + } + + expr = expr.replace( Expr.match[ type ], "" ); + + if ( !anyFound ) { + return []; + } + + break; + } + } + } + + // Improper expression + if ( expr === old ) { + if ( anyFound == null ) { + Sizzle.error( expr ); + + } else { + break; + } + } + + old = expr; + } + + return curLoop; +}; + +Sizzle.error = function( msg ) { + throw "Syntax error, unrecognized expression: " + msg; +}; + +var Expr = Sizzle.selectors = { + order: [ "ID", "NAME", "TAG" ], + + match: { + ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/, + ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/, + TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/, + CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+\-]*)\))?/, + POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/, + PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/ + }, + + leftMatch: {}, + + attrMap: { + "class": "className", + "for": "htmlFor" + }, + + attrHandle: { + href: function( elem ) { + return elem.getAttribute( "href" ); + } + }, + + relative: { + "+": function(checkSet, part){ + var isPartStr = typeof part === "string", + isTag = isPartStr && !/\W/.test( part ), + isPartStrNotTag = isPartStr && !isTag; + + if ( isTag ) { + part = part.toLowerCase(); + } + + for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) { + if ( (elem = checkSet[i]) ) { + while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {} + + checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ? + elem || false : + elem === part; + } + } + + if ( isPartStrNotTag ) { + Sizzle.filter( part, checkSet, true ); + } + }, + + ">": function( checkSet, part ) { + var elem, + isPartStr = typeof part === "string", + i = 0, + l = checkSet.length; + + if ( isPartStr && !/\W/.test( part ) ) { + part = part.toLowerCase(); + + for ( ; i < l; i++ ) { + elem = checkSet[i]; + + if ( elem ) { + var parent = elem.parentNode; + checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false; + } + } + + } else { + for ( ; i < l; i++ ) { + elem = checkSet[i]; + + if ( elem ) { + checkSet[i] = isPartStr ? + elem.parentNode : + elem.parentNode === part; + } + } + + if ( isPartStr ) { + Sizzle.filter( part, checkSet, true ); + } + } + }, + + "": function(checkSet, part, isXML){ + var nodeCheck, + doneName = done++, + checkFn = dirCheck; + + if ( typeof part === "string" && !/\W/.test(part) ) { + part = part.toLowerCase(); + nodeCheck = part; + checkFn = dirNodeCheck; + } + + checkFn( "parentNode", part, doneName, checkSet, nodeCheck, isXML ); + }, + + "~": function( checkSet, part, isXML ) { + var nodeCheck, + doneName = done++, + checkFn = dirCheck; + + if ( typeof part === "string" && !/\W/.test( part ) ) { + part = part.toLowerCase(); + nodeCheck = part; + checkFn = dirNodeCheck; + } + + checkFn( "previousSibling", part, doneName, checkSet, nodeCheck, isXML ); + } + }, + + find: { + ID: function( match, context, isXML ) { + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [m] : []; + } + }, + + NAME: function( match, context ) { + if ( typeof context.getElementsByName !== "undefined" ) { + var ret = [], + results = context.getElementsByName( match[1] ); + + for ( var i = 0, l = results.length; i < l; i++ ) { + if ( results[i].getAttribute("name") === match[1] ) { + ret.push( results[i] ); + } + } + + return ret.length === 0 ? null : ret; + } + }, + + TAG: function( match, context ) { + return context.getElementsByTagName( match[1] ); + } + }, + preFilter: { + CLASS: function( match, curLoop, inplace, result, not, isXML ) { + match = " " + match[1].replace(/\\/g, "") + " "; + + if ( isXML ) { + return match; + } + + for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) { + if ( elem ) { + if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n]/g, " ").indexOf(match) >= 0) ) { + if ( !inplace ) { + result.push( elem ); + } + + } else if ( inplace ) { + curLoop[i] = false; + } + } + } + + return false; + }, + + ID: function( match ) { + return match[1].replace(/\\/g, ""); + }, + + TAG: function( match, curLoop ) { + return match[1].toLowerCase(); + }, + + CHILD: function( match ) { + if ( match[1] === "nth" ) { + // parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6' + var test = /(-?)(\d*)n((?:\+|-)?\d*)/.exec( + match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" || + !/\D/.test( match[2] ) && "0n+" + match[2] || match[2]); + + // calculate the numbers (first)n+(last) including if they are negative + match[2] = (test[1] + (test[2] || 1)) - 0; + match[3] = test[3] - 0; + } + + // TODO: Move to normal caching system + match[0] = done++; + + return match; + }, + + ATTR: function( match, curLoop, inplace, result, not, isXML ) { + var name = match[1].replace(/\\/g, ""); + + if ( !isXML && Expr.attrMap[name] ) { + match[1] = Expr.attrMap[name]; + } + + if ( match[2] === "~=" ) { + match[4] = " " + match[4] + " "; + } + + return match; + }, + + PSEUDO: function( match, curLoop, inplace, result, not ) { + if ( match[1] === "not" ) { + // If we're dealing with a complex expression, or a simple one + if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) { + match[3] = Sizzle(match[3], null, null, curLoop); + + } else { + var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not); + + if ( !inplace ) { + result.push.apply( result, ret ); + } + + return false; + } + + } else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) { + return true; + } + + return match; + }, + + POS: function( match ) { + match.unshift( true ); + + return match; + } + }, + + filters: { + enabled: function( elem ) { + return elem.disabled === false && elem.type !== "hidden"; + }, + + disabled: function( elem ) { + return elem.disabled === true; + }, + + checked: function( elem ) { + return elem.checked === true; + }, + + selected: function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + elem.parentNode.selectedIndex; + + return elem.selected === true; + }, + + parent: function( elem ) { + return !!elem.firstChild; + }, + + empty: function( elem ) { + return !elem.firstChild; + }, + + has: function( elem, i, match ) { + /// + /// Internal use only; use hasClass('class') + /// + /// + + return !!Sizzle( match[3], elem ).length; + }, + + header: function( elem ) { + return (/h\d/i).test( elem.nodeName ); + }, + + text: function( elem ) { + return "text" === elem.type; + }, + radio: function( elem ) { + return "radio" === elem.type; + }, + + checkbox: function( elem ) { + return "checkbox" === elem.type; + }, + + file: function( elem ) { + return "file" === elem.type; + }, + password: function( elem ) { + return "password" === elem.type; + }, + + submit: function( elem ) { + return "submit" === elem.type; + }, + + image: function( elem ) { + return "image" === elem.type; + }, + + reset: function( elem ) { + return "reset" === elem.type; + }, + + button: function( elem ) { + return "button" === elem.type || elem.nodeName.toLowerCase() === "button"; + }, + + input: function( elem ) { + return (/input|select|textarea|button/i).test( elem.nodeName ); + } + }, + setFilters: { + first: function( elem, i ) { + return i === 0; + }, + + last: function( elem, i, match, array ) { + return i === array.length - 1; + }, + + even: function( elem, i ) { + return i % 2 === 0; + }, + + odd: function( elem, i ) { + return i % 2 === 1; + }, + + lt: function( elem, i, match ) { + return i < match[3] - 0; + }, + + gt: function( elem, i, match ) { + return i > match[3] - 0; + }, + + nth: function( elem, i, match ) { + return match[3] - 0 === i; + }, + + eq: function( elem, i, match ) { + return match[3] - 0 === i; + } + }, + filter: { + PSEUDO: function( elem, match, i, array ) { + var name = match[1], + filter = Expr.filters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + + } else if ( name === "contains" ) { + return (elem.textContent || elem.innerText || Sizzle.getText([ elem ]) || "").indexOf(match[3]) >= 0; + + } else if ( name === "not" ) { + var not = match[3]; + + for ( var j = 0, l = not.length; j < l; j++ ) { + if ( not[j] === elem ) { + return false; + } + } + + return true; + + } else { + Sizzle.error( "Syntax error, unrecognized expression: " + name ); + } + }, + + CHILD: function( elem, match ) { + var type = match[1], + node = elem; + + switch ( type ) { + case "only": + case "first": + while ( (node = node.previousSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + if ( type === "first" ) { + return true; + } + + node = elem; + + case "last": + while ( (node = node.nextSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + return true; + + case "nth": + var first = match[2], + last = match[3]; + + if ( first === 1 && last === 0 ) { + return true; + } + + var doneName = match[0], + parent = elem.parentNode; + + if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) { + var count = 0; + + for ( node = parent.firstChild; node; node = node.nextSibling ) { + if ( node.nodeType === 1 ) { + node.nodeIndex = ++count; + } + } + + parent.sizcache = doneName; + } + + var diff = elem.nodeIndex - last; + + if ( first === 0 ) { + return diff === 0; + + } else { + return ( diff % first === 0 && diff / first >= 0 ); + } + } + }, + + ID: function( elem, match ) { + return elem.nodeType === 1 && elem.getAttribute("id") === match; + }, + + TAG: function( elem, match ) { + return (match === "*" && elem.nodeType === 1) || elem.nodeName.toLowerCase() === match; + }, + + CLASS: function( elem, match ) { + return (" " + (elem.className || elem.getAttribute("class")) + " ") + .indexOf( match ) > -1; + }, + + ATTR: function( elem, match ) { + var name = match[1], + result = Expr.attrHandle[ name ] ? + Expr.attrHandle[ name ]( elem ) : + elem[ name ] != null ? + elem[ name ] : + elem.getAttribute( name ), + value = result + "", + type = match[2], + check = match[4]; + + return result == null ? + type === "!=" : + type === "=" ? + value === check : + type === "*=" ? + value.indexOf(check) >= 0 : + type === "~=" ? + (" " + value + " ").indexOf(check) >= 0 : + !check ? + value && result !== false : + type === "!=" ? + value !== check : + type === "^=" ? + value.indexOf(check) === 0 : + type === "$=" ? + value.substr(value.length - check.length) === check : + type === "|=" ? + value === check || value.substr(0, check.length + 1) === check + "-" : + false; + }, + + POS: function( elem, match, i, array ) { + var name = match[2], + filter = Expr.setFilters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + } + } + } +}; + +var origPOS = Expr.match.POS, + fescape = function(all, num){ + return "\\" + (num - 0 + 1); + }; + +for ( var type in Expr.match ) { + Expr.match[ type ] = new RegExp( Expr.match[ type ].source + (/(?![^\[]*\])(?![^\(]*\))/.source) ); + Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, fescape) ); +} + +var makeArray = function( array, results ) { + array = Array.prototype.slice.call( array, 0 ); + + if ( results ) { + results.push.apply( results, array ); + return results; + } + + return array; +}; + +// Perform a simple check to determine if the browser is capable of +// converting a NodeList to an array using builtin methods. +// Also verifies that the returned array holds DOM nodes +// (which is not the case in the Blackberry browser) +try { + Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType; + +// Provide a fallback method if it does not work +} catch( e ) { + makeArray = function( array, results ) { + var i = 0, + ret = results || []; + + if ( toString.call(array) === "[object Array]" ) { + Array.prototype.push.apply( ret, array ); + + } else { + if ( typeof array.length === "number" ) { + for ( var l = array.length; i < l; i++ ) { + ret.push( array[i] ); + } + + } else { + for ( ; array[i]; i++ ) { + ret.push( array[i] ); + } + } + } + + return ret; + }; +} + +var sortOrder, siblingCheck; + +if ( document.documentElement.compareDocumentPosition ) { + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) { + return a.compareDocumentPosition ? -1 : 1; + } + + return a.compareDocumentPosition(b) & 4 ? -1 : 1; + }; + +} else { + sortOrder = function( a, b ) { + var al, bl, + ap = [], + bp = [], + aup = a.parentNode, + bup = b.parentNode, + cur = aup; + + // The nodes are identical, we can exit early + if ( a === b ) { + hasDuplicate = true; + return 0; + + // If the nodes are siblings (or identical) we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + + // If no parents were found then the nodes are disconnected + } else if ( !aup ) { + return -1; + + } else if ( !bup ) { + return 1; + } + + // Otherwise they're somewhere else in the tree so we need + // to build up a full list of the parentNodes for comparison + while ( cur ) { + ap.unshift( cur ); + cur = cur.parentNode; + } + + cur = bup; + + while ( cur ) { + bp.unshift( cur ); + cur = cur.parentNode; + } + + al = ap.length; + bl = bp.length; + + // Start walking down the tree looking for a discrepancy + for ( var i = 0; i < al && i < bl; i++ ) { + if ( ap[i] !== bp[i] ) { + return siblingCheck( ap[i], bp[i] ); + } + } + + // We ended someplace up the tree so do a sibling check + return i === al ? + siblingCheck( a, bp[i], -1 ) : + siblingCheck( ap[i], b, 1 ); + }; + + siblingCheck = function( a, b, ret ) { + if ( a === b ) { + return ret; + } + + var cur = a.nextSibling; + + while ( cur ) { + if ( cur === b ) { + return -1; + } + + cur = cur.nextSibling; + } + + return 1; + }; +} + +// Utility function for retreiving the text value of an array of DOM nodes +Sizzle.getText = function( elems ) { + var ret = "", elem; + + for ( var i = 0; elems[i]; i++ ) { + elem = elems[i]; + + // Get the text from text nodes and CDATA nodes + if ( elem.nodeType === 3 || elem.nodeType === 4 ) { + ret += elem.nodeValue; + + // Traverse everything else, except comment nodes + } else if ( elem.nodeType !== 8 ) { + ret += Sizzle.getText( elem.childNodes ); + } + } + + return ret; +}; + +// [vsdoc] The following function has been modified for IntelliSense. +// Check to see if the browser returns elements by name when +// querying by getElementById (and provide a workaround) +(function(){ + // We're going to inject a fake input element with a specified name + // var form = document.createElement("div"), + // id = "script" + (new Date()).getTime(), + // root = document.documentElement; + + // form.innerHTML = ""; + + // // Inject it into the root element, check its status, and remove it quickly + // root.insertBefore( form, root.firstChild ); + + // // The workaround has to do additional checks after a getElementById + // // Which slows things down for other browsers (hence the branching) + // if ( document.getElementById( id ) ) { + Expr.find.ID = function( match, context, isXML ) { + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + + return m ? + m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? + [m] : + undefined : + []; + } + }; + + Expr.filter.ID = function( elem, match ) { + var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); + + return elem.nodeType === 1 && node && node.nodeValue === match; + }; + // } + + // root.removeChild( form ); + + // release memory in IE + root = form = null; +})(); + +// [vsdoc] The following function has been modified for IntelliSense. +(function(){ + // Check to see if the browser returns only elements + // when doing getElementsByTagName("*") + + // Create a fake element + // var div = document.createElement("div"); + // div.appendChild( document.createComment("") ); + + // Make sure no comments are found + // if ( div.getElementsByTagName("*").length > 0 ) { + Expr.find.TAG = function( match, context ) { + var results = context.getElementsByTagName( match[1] ); + + // Filter out possible comments + if ( match[1] === "*" ) { + var tmp = []; + + for ( var i = 0; results[i]; i++ ) { + if ( results[i].nodeType === 1 ) { + tmp.push( results[i] ); + } + } + + results = tmp; + } + + return results; + }; + // } + + // Check to see if an attribute returns normalized href attributes + // div.innerHTML = ""; + + // if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" && + // div.firstChild.getAttribute("href") !== "#" ) { + + // Expr.attrHandle.href = function( elem ) { + // return elem.getAttribute( "href", 2 ); + // }; + // } + + // release memory in IE + div = null; +})(); + +if ( document.querySelectorAll ) { + (function(){ + var oldSizzle = Sizzle, + div = document.createElement("div"), + id = "__sizzle__"; + + div.innerHTML = "

"; + + // Safari can't handle uppercase or unicode characters when + // in quirks mode. + if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) { + return; + } + + Sizzle = function( query, context, extra, seed ) { + context = context || document; + + // Make sure that attribute selectors are quoted + query = query.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"); + + // Only use querySelectorAll on non-XML documents + // (ID selectors don't work in non-HTML documents) + if ( !seed && !Sizzle.isXML(context) ) { + if ( context.nodeType === 9 ) { + try { + return makeArray( context.querySelectorAll(query), extra ); + } catch(qsaError) {} + + // qSA works strangely on Element-rooted queries + // We can work around this by specifying an extra ID on the root + // and working up from there (Thanks to Andrew Dupont for the technique) + // IE 8 doesn't work on object elements + } else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + var old = context.getAttribute( "id" ), + nid = old || id; + + if ( !old ) { + context.setAttribute( "id", nid ); + } + + try { + return makeArray( context.querySelectorAll( "#" + nid + " " + query ), extra ); + + } catch(pseudoError) { + } finally { + if ( !old ) { + context.removeAttribute( "id" ); + } + } + } + } + + return oldSizzle(query, context, extra, seed); + }; + + for ( var prop in oldSizzle ) { + Sizzle[ prop ] = oldSizzle[ prop ]; + } + + // release memory in IE + div = null; + })(); +} + +(function(){ + var html = document.documentElement, + matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector, + pseudoWorks = false; + + try { + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( document.documentElement, "[test!='']:sizzle" ); + + } catch( pseudoError ) { + pseudoWorks = true; + } + + if ( matches ) { + Sizzle.matchesSelector = function( node, expr ) { + // Make sure that attribute selectors are quoted + expr = expr.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"); + + if ( !Sizzle.isXML( node ) ) { + try { + if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) { + return matches.call( node, expr ); + } + } catch(e) {} + } + + return Sizzle(expr, null, null, [node]).length > 0; + }; + } +})(); + +(function(){ + var div = document.createElement("div"); + + div.innerHTML = "
"; + + // Opera can't find a second classname (in 9.6) + // Also, make sure that getElementsByClassName actually exists + if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) { + return; + } + + // Safari caches class attributes, doesn't catch changes (in 3.2) + div.lastChild.className = "e"; + + if ( div.getElementsByClassName("e").length === 1 ) { + return; + } + + Expr.order.splice(1, 0, "CLASS"); + Expr.find.CLASS = function( match, context, isXML ) { + if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) { + return context.getElementsByClassName(match[1]); + } + }; + + // release memory in IE + div = null; +})(); + +function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + + if ( elem ) { + var match = false; + + elem = elem[dir]; + + while ( elem ) { + if ( elem.sizcache === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 && !isXML ){ + elem.sizcache = doneName; + elem.sizset = i; + } + + if ( elem.nodeName.toLowerCase() === cur ) { + match = elem; + break; + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + + if ( elem ) { + var match = false; + + elem = elem[dir]; + + while ( elem ) { + if ( elem.sizcache === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 ) { + if ( !isXML ) { + elem.sizcache = doneName; + elem.sizset = i; + } + + if ( typeof cur !== "string" ) { + if ( elem === cur ) { + match = true; + break; + } + + } else if ( Sizzle.filter( cur, [elem] ).length > 0 ) { + match = elem; + break; + } + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +if ( document.documentElement.contains ) { + Sizzle.contains = function( a, b ) { + /// + /// Check to see if a DOM node is within another DOM node. + /// + /// + /// The DOM element that may contain the other element. + /// + /// + /// The DOM node that may be contained by the other element. + /// + /// + + return a !== b && (a.contains ? a.contains(b) : true); + }; + +} else if ( document.documentElement.compareDocumentPosition ) { + Sizzle.contains = function( a, b ) { + /// + /// Check to see if a DOM node is within another DOM node. + /// + /// + /// The DOM element that may contain the other element. + /// + /// + /// The DOM node that may be contained by the other element. + /// + /// + + return !!(a.compareDocumentPosition(b) & 16); + }; + +} else { + Sizzle.contains = function() { + return false; + }; +} + +Sizzle.isXML = function( elem ) { + /// + /// Determines if the parameter passed is an XML document. + /// + /// The object to test + /// True if the parameter is an XML document; otherwise false. + + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement; + + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +var posProcess = function( selector, context ) { + var match, + tmpSet = [], + later = "", + root = context.nodeType ? [context] : context; + + // Position selectors must be done after the filter + // And so must :not(positional) so we move all PSEUDOs to the end + while ( (match = Expr.match.PSEUDO.exec( selector )) ) { + later += match[0]; + selector = selector.replace( Expr.match.PSEUDO, "" ); + } + + selector = Expr.relative[selector] ? selector + "*" : selector; + + for ( var i = 0, l = root.length; i < l; i++ ) { + Sizzle( selector, root[i], tmpSet ); + } + + return Sizzle.filter( later, tmpSet ); +}; + +// EXPOSE +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[":"] = jQuery.expr.filters; +jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + +})(); + + +var runtil = /Until$/, + rparentsprev = /^(?:parents|prevUntil|prevAll)/, + // Note: This RegExp should be improved, or likely pulled from Sizzle + rmultiselector = /,/, + isSimple = /^.[^:#\[\.,]*$/, + slice = Array.prototype.slice, + POS = jQuery.expr.match.POS; + +jQuery.fn.extend({ + find: function( selector ) { + /// + /// Searches for all elements that match the specified expression. + /// This method is a good way to find additional descendant + /// elements with which to process. + /// All searching is done using a jQuery expression. The expression can be + /// written using CSS 1-3 Selector syntax, or basic XPath. + /// Part of DOM/Traversing + /// + /// + /// + /// An expression to search with. + /// + /// + + var ret = this.pushStack( "", "find", selector ), + length = 0; + + for ( var i = 0, l = this.length; i < l; i++ ) { + length = ret.length; + jQuery.find( selector, this[i], ret ); + + if ( i > 0 ) { + // Make sure that the results are unique + for ( var n = length; n < ret.length; n++ ) { + for ( var r = 0; r < length; r++ ) { + if ( ret[r] === ret[n] ) { + ret.splice(n--, 1); + break; + } + } + } + } + } + + return ret; + }, + + has: function( target ) { + /// + /// Reduce the set of matched elements to those that have a descendant that matches the + /// selector or DOM element. + /// + /// + /// A string containing a selector expression to match elements against. + /// + /// + + var targets = jQuery( target ); + return this.filter(function() { + for ( var i = 0, l = targets.length; i < l; i++ ) { + if ( jQuery.contains( this, targets[i] ) ) { + return true; + } + } + }); + }, + + not: function( selector ) { + /// + /// Removes any elements inside the array of elements from the set + /// of matched elements. This method is used to remove one or more + /// elements from a jQuery object. + /// Part of DOM/Traversing + /// + /// + /// A set of elements to remove from the jQuery set of matched elements. + /// + /// + + return this.pushStack( winnow(this, selector, false), "not", selector); + }, + + filter: function( selector ) { + /// + /// Removes all elements from the set of matched elements that do not + /// pass the specified filter. This method is used to narrow down + /// the results of a search. + /// }) + /// Part of DOM/Traversing + /// + /// + /// + /// A function to use for filtering + /// + /// + + return this.pushStack( winnow(this, selector, true), "filter", selector ); + }, + + is: function( selector ) { + /// + /// Checks the current selection against an expression and returns true, + /// if at least one element of the selection fits the given expression. + /// Does return false, if no element fits or the expression is not valid. + /// filter(String) is used internally, therefore all rules that apply there + /// apply here, too. + /// Part of DOM/Traversing + /// + /// + /// + /// The expression with which to filter + /// + + return !!selector && jQuery.filter( selector, this ).length > 0; + }, + + closest: function( selectors, context ) { + /// + /// Get a set of elements containing the closest parent element that matches the specified selector, the starting element included. + /// + /// + /// A string containing a selector expression to match elements against. + /// + /// + /// A DOM element within which a matching element may be found. If no context is passed + /// in then the context of the jQuery set will be used instead. + /// + /// + + var ret = [], i, l, cur = this[0]; + + if ( jQuery.isArray( selectors ) ) { + var match, selector, + matches = {}, + level = 1; + + if ( cur && selectors.length ) { + for ( i = 0, l = selectors.length; i < l; i++ ) { + selector = selectors[i]; + + if ( !matches[selector] ) { + matches[selector] = jQuery.expr.match.POS.test( selector ) ? + jQuery( selector, context || this.context ) : + selector; + } + } + + while ( cur && cur.ownerDocument && cur !== context ) { + for ( selector in matches ) { + match = matches[selector]; + + if ( match.jquery ? match.index(cur) > -1 : jQuery(cur).is(match) ) { + ret.push({ selector: selector, elem: cur, level: level }); + } + } + + cur = cur.parentNode; + level++; + } + } + + return ret; + } + + var pos = POS.test( selectors ) ? + jQuery( selectors, context || this.context ) : null; + + for ( i = 0, l = this.length; i < l; i++ ) { + cur = this[i]; + + while ( cur ) { + if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) { + ret.push( cur ); + break; + + } else { + cur = cur.parentNode; + if ( !cur || !cur.ownerDocument || cur === context ) { + break; + } + } + } + } + + ret = ret.length > 1 ? jQuery.unique(ret) : ret; + + return this.pushStack( ret, "closest", selectors ); + }, + + // Determine the position of an element within + // the matched set of elements + index: function( elem ) { + /// + /// Searches every matched element for the object and returns + /// the index of the element, if found, starting with zero. + /// Returns -1 if the object wasn't found. + /// Part of Core + /// + /// + /// + /// Object to search for + /// + + if ( !elem || typeof elem === "string" ) { + return jQuery.inArray( this[0], + // If it receives a string, the selector is used + // If it receives nothing, the siblings are used + elem ? jQuery( elem ) : this.parent().children() ); + } + // Locate the position of the desired element + return jQuery.inArray( + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[0] : elem, this ); + }, + + add: function( selector, context ) { + /// + /// Adds one or more Elements to the set of matched elements. + /// Part of DOM/Traversing + /// + /// + /// A string containing a selector expression to match additional elements against. + /// + /// + /// Add some elements rooted against the specified context. + /// + /// + + var set = typeof selector === "string" ? + jQuery( selector, context || this.context ) : + jQuery.makeArray( selector ), + all = jQuery.merge( this.get(), set ); + + return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ? + all : + jQuery.unique( all ) ); + }, + + andSelf: function() { + /// + /// Adds the previous selection to the current selection. + /// + /// + + return this.add( this.prevObject ); + } +}); + +// A painfully simple check to see if an element is disconnected +// from a document (should be improved, where feasible). +function isDisconnected( node ) { + return !node || !node.parentNode || node.parentNode.nodeType === 11; +} + +jQuery.fn.parents = function (until, selector) { + /// + /// Get the ancestors of each element in the current set of matched elements, optionally filtered by a selector. + /// + /// + /// A string containing a selector expression to match elements against. + /// + /// + return jQuery.dir(elem, "parentNode"); +}; + +jQuery.fn.parentsUntil = function (until, selector) { + /// + /// Get the ancestors of each element in the current set of matched elements, up to but not including the element matched by the selector. + /// + /// + /// A string containing a selector expression to indicate where to stop matching ancestor elements. + /// + /// + return jQuery.dir(elem, "parentNode", until); +}; + +jQuery.each({ + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + next: function( elem ) { + return jQuery.nth( elem, 2, "nextSibling" ); + }, + prev: function( elem ) { + return jQuery.nth( elem, 2, "previousSibling" ); + }, + nextAll: function( elem ) { + return jQuery.dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return jQuery.dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + /// + /// Get all following siblings of each element up to but not including the element matched + /// by the selector. + /// + /// + /// A string containing a selector expression to indicate where to stop matching following + /// sibling elements. + /// + /// + + return jQuery.dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + /// + /// Get all preceding siblings of each element up to but not including the element matched + /// by the selector. + /// + /// + /// A string containing a selector expression to indicate where to stop matching preceding + /// sibling elements. + /// + /// + + return jQuery.dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return jQuery.sibling( elem.parentNode.firstChild, elem ); + }, + children: function( elem ) { + return jQuery.sibling( elem.firstChild ); + }, + contents: function( elem ) { + return jQuery.nodeName( elem, "iframe" ) ? + elem.contentDocument || elem.contentWindow.document : + jQuery.makeArray( elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var ret = jQuery.map( this, fn, until ); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 ? jQuery.unique( ret ) : ret; + + if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret, name, slice.call(arguments).join(",") ); + }; +}); + +jQuery.extend({ + filter: function( expr, elems, not ) { + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 ? + jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] : + jQuery.find.matches(expr, elems); + }, + + dir: function( elem, dir, until ) { + /// + /// This member is internal only. + /// + /// + + var matched = [], + cur = elem[ dir ]; + + while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { + if ( cur.nodeType === 1 ) { + matched.push( cur ); + } + cur = cur[dir]; + } + return matched; + }, + + nth: function( cur, result, dir, elem ) { + /// + /// This member is internal only. + /// + /// + + result = result || 1; + var num = 0; + + for ( ; cur; cur = cur[dir] ) { + if ( cur.nodeType === 1 && ++num === result ) { + break; + } + } + + return cur; + }, + + sibling: function( n, elem ) { + /// + /// This member is internal only. + /// + /// + + var r = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + r.push( n ); + } + } + + return r; + } +}); + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, keep ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep(elements, function( elem, i ) { + var retVal = !!qualifier.call( elem, i, elem ); + return retVal === keep; + }); + + } else if ( qualifier.nodeType ) { + return jQuery.grep(elements, function( elem, i ) { + return (elem === qualifier) === keep; + }); + + } else if ( typeof qualifier === "string" ) { + var filtered = jQuery.grep(elements, function( elem ) { + return elem.nodeType === 1; + }); + + if ( isSimple.test( qualifier ) ) { + return jQuery.filter(qualifier, filtered, !keep); + } else { + qualifier = jQuery.filter( qualifier, filtered ); + } + } + + return jQuery.grep(elements, function( elem, i ) { + return (jQuery.inArray( elem, qualifier ) >= 0) === keep; + }); +} + + + + +var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g, + rleadingWhitespace = /^\s+/, + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig, + rtagName = /<([\w:]+)/, + rtbody = /\s]+\/)>/g, + wrapMap = { + option: [ 1, "" ], + legend: [ 1, "
", "
" ], + thead: [ 1, "", "
" ], + tr: [ 2, "", "
" ], + td: [ 3, "", "
" ], + col: [ 2, "", "
" ], + area: [ 1, "", "" ], + _default: [ 0, "", "" ] + }; + +wrapMap.optgroup = wrapMap.option; +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// IE can't serialize and + + +@using (Html.BeginForm()) { + @Html.ValidationSummary(true, "Password change was unsuccessful. Please correct the errors and try again.") +
+
+ Account Information + +
+ @Html.LabelFor(m => m.OldPassword) +
+
+ @Html.PasswordFor(m => m.OldPassword) + @Html.ValidationMessageFor(m => m.OldPassword) +
+ +
+ @Html.LabelFor(m => m.NewPassword) +
+
+ @Html.PasswordFor(m => m.NewPassword) + @Html.ValidationMessageFor(m => m.NewPassword) +
+ +
+ @Html.LabelFor(m => m.ConfirmPassword) +
+
+ @Html.PasswordFor(m => m.ConfirmPassword) + @Html.ValidationMessageFor(m => m.ConfirmPassword) +
+ +

+ +

+
+
+} diff --git a/CharityPortal/CharityPortal/Views/Account/ChangePasswordSuccess.cshtml b/CharityPortal/CharityPortal/Views/Account/ChangePasswordSuccess.cshtml new file mode 100644 index 0000000..8a32b7d --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Account/ChangePasswordSuccess.cshtml @@ -0,0 +1,8 @@ +@{ + ViewBag.Title = "Change Password"; +} + +

Change Password

+

+ Your password has been changed successfully. +

diff --git a/CharityPortal/CharityPortal/Views/Account/LogOn.cshtml b/CharityPortal/CharityPortal/Views/Account/LogOn.cshtml new file mode 100644 index 0000000..f70f19e --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Account/LogOn.cshtml @@ -0,0 +1,48 @@ +@model CharityPortal.Models.LogOnModel + +@{ + ViewBag.Title = "Log On"; +} + +

Log On

+

+ Please enter your user name and password. @Html.ActionLink("Register", "Register") if you don't have an account. +

+ + + + +@Html.ValidationSummary(true, "Login was unsuccessful. Please correct the errors and try again.") + +@using (Html.BeginForm()) { +
+
+ Account Information + +
+ @Html.LabelFor(m => m.UserName) +
+
+ @Html.TextBoxFor(m => m.UserName) + @Html.ValidationMessageFor(m => m.UserName) +
+ +
+ @Html.LabelFor(m => m.Password) +
+
+ @Html.PasswordFor(m => m.Password) + @Html.ValidationMessageFor(m => m.Password) +
+ +
+ @Html.CheckBoxFor(m => m.RememberMe) + @Html.LabelFor(m => m.RememberMe) +
+ +

+ +

+
+
+} diff --git a/CharityPortal/CharityPortal/Views/Account/Register.cshtml b/CharityPortal/CharityPortal/Views/Account/Register.cshtml new file mode 100644 index 0000000..578f134 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Account/Register.cshtml @@ -0,0 +1,61 @@ +@model CharityPortal.Models.RegisterModel + +@{ + ViewBag.Title = "Register"; +} + +

Create a New Account

+

+ Use the form below to create a new account. +

+

+ Passwords are required to be a minimum of @Membership.MinRequiredPasswordLength characters in length. +

+ + + + +@using (Html.BeginForm()) { + @Html.ValidationSummary(true, "Account creation was unsuccessful. Please correct the errors and try again.") +
+
+ Account Information + +
+ @Html.LabelFor(m => m.UserName) +
+
+ @Html.TextBoxFor(m => m.UserName) + @Html.ValidationMessageFor(m => m.UserName) +
+ +
+ @Html.LabelFor(m => m.Email) +
+
+ @Html.TextBoxFor(m => m.Email) + @Html.ValidationMessageFor(m => m.Email) +
+ +
+ @Html.LabelFor(m => m.Password) +
+
+ @Html.PasswordFor(m => m.Password) + @Html.ValidationMessageFor(m => m.Password) +
+ +
+ @Html.LabelFor(m => m.ConfirmPassword) +
+
+ @Html.PasswordFor(m => m.ConfirmPassword) + @Html.ValidationMessageFor(m => m.ConfirmPassword) +
+ +

+ +

+
+
+} diff --git a/CharityPortal/CharityPortal/Views/Home/About.cshtml b/CharityPortal/CharityPortal/Views/Home/About.cshtml new file mode 100644 index 0000000..7f1c944 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Home/About.cshtml @@ -0,0 +1,8 @@ +@{ + ViewBag.Title = "About Us"; +} + +

About

+

+ Put content here. +

diff --git a/CharityPortal/CharityPortal/Views/Home/Index.cshtml b/CharityPortal/CharityPortal/Views/Home/Index.cshtml new file mode 100644 index 0000000..c92d5ba --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Home/Index.cshtml @@ -0,0 +1,8 @@ +@{ + ViewBag.Title = "Home Page"; +} + +

@ViewBag.Message

+

+ To learn more about ASP.NET MVC visit http://asp.net/mvc. +

diff --git a/CharityPortal/CharityPortal/Views/Shared/Error.cshtml b/CharityPortal/CharityPortal/Views/Shared/Error.cshtml new file mode 100644 index 0000000..5cce852 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Shared/Error.cshtml @@ -0,0 +1,9 @@ +@model System.Web.Mvc.HandleErrorInfo + +@{ + ViewBag.Title = "Error"; +} + +

+ Sorry, an error occurred while processing your request. +

diff --git a/CharityPortal/CharityPortal/Views/Shared/_Layout.cshtml b/CharityPortal/CharityPortal/Views/Shared/_Layout.cshtml new file mode 100644 index 0000000..4c6014b --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Shared/_Layout.cshtml @@ -0,0 +1,33 @@ + + + + + @ViewBag.Title + + + + + +
+
+
+

My MVC Application

+
+
+ @Html.Partial("_LogOnPartial") +
+ +
+
+ @RenderBody() +
+
+
+
+ + diff --git a/CharityPortal/CharityPortal/Views/Shared/_LogOnPartial.cshtml b/CharityPortal/CharityPortal/Views/Shared/_LogOnPartial.cshtml new file mode 100644 index 0000000..48d9fb7 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Shared/_LogOnPartial.cshtml @@ -0,0 +1,7 @@ +@if(Request.IsAuthenticated) { + Welcome @User.Identity.Name! + [ @Html.ActionLink("Log Off", "LogOff", "Account") ] +} +else { + @:[ @Html.ActionLink("Log On", "LogOn", "Account") ] +} diff --git a/CharityPortal/CharityPortal/Views/Web.config b/CharityPortal/CharityPortal/Views/Web.config new file mode 100644 index 0000000..4c30ef2 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Web.config @@ -0,0 +1,58 @@ + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CharityPortal/CharityPortal/Views/_ViewStart.cshtml b/CharityPortal/CharityPortal/Views/_ViewStart.cshtml new file mode 100644 index 0000000..9c30ccf --- /dev/null +++ b/CharityPortal/CharityPortal/Views/_ViewStart.cshtml @@ -0,0 +1,3 @@ +@{ + Layout = "~/Views/Shared/_Layout.cshtml"; +} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Web.Debug.config b/CharityPortal/CharityPortal/Web.Debug.config new file mode 100644 index 0000000..962e6b7 --- /dev/null +++ b/CharityPortal/CharityPortal/Web.Debug.config @@ -0,0 +1,30 @@ + + + + + + + + + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Web.Release.config b/CharityPortal/CharityPortal/Web.Release.config new file mode 100644 index 0000000..141832b --- /dev/null +++ b/CharityPortal/CharityPortal/Web.Release.config @@ -0,0 +1,31 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Web.config b/CharityPortal/CharityPortal/Web.config new file mode 100644 index 0000000..427169d --- /dev/null +++ b/CharityPortal/CharityPortal/Web.config @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CharityPortal/CharityPortal/packages.config b/CharityPortal/CharityPortal/packages.config new file mode 100644 index 0000000..dc496ab --- /dev/null +++ b/CharityPortal/CharityPortal/packages.config @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/CharityPortal/packages/EntityFramework.4.1.10331.0/EntityFramework.4.1.10331.0.nupkg b/CharityPortal/packages/EntityFramework.4.1.10331.0/EntityFramework.4.1.10331.0.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..6c2337ee82b7b6bc2dea37bb89cff832c057bef8 GIT binary patch literal 458371 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

Y`^o| z@OoH*i0D(#6F{7yV1q-mW261K{P##lKa4Qo-q zE{6gZOGCVm&lih3E)`|1FNL`iEBy7D#(a21^}ft$jQ6v%%R>3*?4C)>5^}YfjBQiL>AA3Bwy`#5qPIB_v z`FDKz>W|RhY_+hH!?WuVpp;^%$R!fuhWr}O8 zlWgq)S2boU<9C>gA^T#ctnc(+2DXx~!VkyiDLiUs4PK0I2!hde%XMETKX#i|UNt=_ zbod+a!>v&Q3Xs$0KZsb4``74cWX?ugpV*k$*xR?Zq%USDsxYkNaF67 z7ewwwDcbY7-6uH7Ke1Qa7`C%Y@e7gV$vVT>J*VrjK+EzdbdSA1gCrgyTJnpsXM8p+ z<-}t96K>o^x~zP%rP*II82T0W?E1pHnB{;wj-0&XHd-1wQbJB|)~V@T>|>}^2ET5m zUZj5>eUaIB7=K)Yq3$jmcXTRX+g^(mIguDImWcbjrHIRrPJJlM*w(>

lc?>k=A| z-4ZTP++*^ebK490^|s&T`YlV(a#miF(ZRG_PRuZ-_0v$lGuWzer^4_BeKhfj<#5{& zI=Z^y9Qw9##kpsB>qa*K5rIdWJ5vpUSs{*hA^{SSKxSwT+INT zyiEP`LCfD0W&VQ>9`uifWv+k9?fNs<6IRCkz+fix6ytaO=F7b#Wn97HE!-LkQC##~ z*HWRkO?ESQ=><>h4gBtA0iE0;i?I(FvYtvL^fh`-#I^s9i^fn*a~fatS=NAj4iZG4 z)_R;rp|F9kbXQ#Z9_J_+N<-C;z||MSZO98)G11tkO0mDWT5uZw=y% ziddbJj2pgq-y4)e!NT>)|2}{H{?r0U{t<&3A1a|y?xwEUcjBMU`=qnATW`V>FHr@$ zPqxnt=XZnKRVgD^)EJ-M2?Dq}yMz0P!_&#%2qNH0zB4*^T5CR)UXdf=`KCu&)be)G zEa`{%+jlW%Yc{bThs)((?WxUh3i-yhfB`@0nPV-<#wWCqbIxci=spn2qM&fQWd)%< zKc~|73o{=Lw6Y#0;IRx>6)72^CQt8EssM!9;MMlR$N_8E>f+<6BkrbA2Q5q4maQ3yMLG9p(14kNHlLYUquy^6`HI{h>QdD4mrWZJsGv=h zgM9J1WkQ3i=5X$5$Ymc}@Z%aQHIhDDaL%!-@XYaRFx6ifwX1?TRg^G~2a?TQmmx4g1WAE$F(<9cAErkN@wh38F(- zfZZh?B2tN$?t>6)(*_K0aRxXLquq%axc}c_a5@olc!cm={(oL-5&EgsT2c)5chL1L zi1_x}eUYZ?U>)=2H|f6a_l8=VST~m};?9o5wER&SqBVg!8MEzobqN}L8lrhR-j+78KC~y*xIM$TT$d1Acn&QgT%`(p~PdS7L%5na<|$oUY#$CmHHoN zaA65zt4lDkHVg9*Y?GmR!Sb5})x4`u>-HJvjw>~0U7_4>A~zNsSnE~AvhT6&W*n0Cb?C^%#Rip&3^w(Xs*f9hz=oR*q-1!kXVZF`_q+4@YXgJpfEoJl12~|dT ztLPuacAuv@I9V?v9Y0y34R(GgV)ombKS#_!)f1>xb396(oDyUcx{F>yoYABY?HvjGt z6ttyehOaYl_&L*#V#VMD+`D&{)A6tT3j6e6*t57PI^gRpNsl8^nOw!&dF9Ux;5aRo z5LAmqUdM20ea{JoJ$8jp-obRf_z7J)Cqz)}wthr4DH3a9V(RurE6zy988vVMCE1M+ z@(OFi05}k6gRCfPY9Gm~kNre+ADzFM9~Up}70+j;+Hg;^C_Pd%}`qt!Wt zvop2|W6vGNYaCLMk?$Q>q|{`?{Ex!Nx$!~0yn+4oV`ulovKVi4%hNQmZDf=MI+Nx1 zB?jGderRbi)~Zy?E>eKECP@L=qSMV|np_I!`Hya8P{>kr3dE~LkF1Is_wwc0qjHhpefE)Jg@^4ne+1BV99h7 z`)TPiCvnPVLr;IN$fKc%!F_l2U`eXC)^|94K(lY?>6sYY2Gc?r?Z-9&`aRccZ$^x^ zwhxd0hQ48EKVOa>&d=XvthoJRxoUw@&=YyVkCn|G%AkG&xf_9-^@=flxW#G}I#|E^ zh~iGg?GFd%EjQR{WVZ!hwGE_YXixr!nzYrpa#0jU#YC9tfAxjs`=0HJ&8pTvQ{$<$EhO#B#eIB8wAEGr5MlK zFJG@G98wK5DjF73`7q}pzcDJneH^7sPKtDzqjBu((|1@mEm|>9Uyq-6Z^>7Cx6HWi z9T=)~$uOkF-6U#4WtOjUitDTs#uHUE&q%7TIeI@w0InW+VDo?fRY^c?iie!Vg4EVy z_SoN4ugSw$&Yl+RQe}0YV2`E6n~Go9)bNCQrb+Ab>zX`N_adQP*ZIX7jviyyyo@1; z6bG?6dw3@${vh9k@*3*>#owu3ug}kmckwT$w}oQyBMF?un^4kcMot~5jHu*we!FJH zz*yfdDgJ#;t;%&)e-|(5XVP3hSuYF4{4$q;=ABQqVK4yB9>6>-DM*$-x)UIuZYH?2 zQ3A^!5rWDWj5_$a#H=qbq#OCJN4faNg&=h+@w$IYr{VrB7nnZ1rT6pcEf<(R-GeQ+ zJ{g;c<0aW-QNJ&1#2_T<(0$(LUoBVWo3EAy`PH58W65OiYisPkT$b0*>g)m`egJ;K zA&gTfkw!M7NU5pfJcq`3n@2tlyv~kwflJTPQXMlb(2TR+t3V7_AdlC?f=2VzscAZO znQriHMcGTd5ck5!&+37E>Ibhc>6dA-%KEEE)+Tv0A;ZOFS*ZVW)L1@fLo5L4h-6VqM58T>Ju4g(#d@`HSq`aamSZAe>Iv zWBJ)*qFOwb8Qzg5mN37+i((mpSQ9LCP$T=zukl5(yb(;li2-B2`8AH~i#5bOpqQ{) zNx3u{W1TnEx~43GZENS6-_aaOkJG*=nnl)5=O%$O+~D`Jp64}9;4`vNvtQ#Gxjp3k z#J=i%&=+j`m5$eZPJST`hgn{~>13Ds4V-4Y>E*D=(=|&Ju^%rI!S?lq(KnCLu+(cH ziekgp-WRfl6Jp7pzkcN9h#c|GM7^H1OeYL`XVE=H1u}F&Vh&o!2zu+DukFs4J&U zzMZooa37q}+6!S#(hJ#rMT^A^5tpLr~U|bEi>iE0rLd1ht(>>7yOMc-QPf(i8 zJ5aMA-Uzy8zQq$@m6zZu@HB;l2M$*PC8B$zX?pUyyLv_>ND4 z*K>BkLee_DPY8dpZrUgC&%}PKKj!9)(&JcvF$!`GJyq0G#5SJp`*uMpp`OmKe~q3> zu+D|`hmR-FcvD#o`)b*&S1Vrc`S$gMGB`RDNc|bkeLArw1l+Dvp>>Cob&X{c(a7;u zuWx8YLw#)!Ah9E~Wo4$@4ht8Ai_o1`EByCv0_vzuUz{!9%yXU(dQHIHgbDRc{tgR1 zeQ`XSk(#0JUgeAG5+e$~mvv|1>k6!?Yo`_HPPtf_xFPW7w3Jon!&id zo93Lv^$=h&YMczp--PJvR@g4u5bIcEIl3~~1@@Zkhb$B}-<{{n&J3$h+*g-ESBC$zk7doxdUjTu}f&-27?9g3Alz{Z=H4Ik_`P^ch;z)q+v_l9&G8>lHEX zn_hUK9%%Drmpl==N&~?|i2Njv)9?l57@U2P52a;vF`wK=n(d40-=8&^jW$eUl0N?8 z+gam%XqLxcut{5iRb6}YYxoLrukARmnWNp8?i z_lm3~Uk}2A_GjLCv4&p%@|^6u%->5&+*kv`P0UwH2K%`v3=tvNefdg5hMX*pu16z> z{ZL50epyW^UqN2u62E;x*;JzPYZ@*IDcK;FIka=Vzkq$@d7!U&&HVS* zR6BVT@+Hmu5H}ihoZj|zF#L zPUTA)$uK=-j^A?Z|NDai4D@Mn&UUgjtk495GfsMh|M+#|&nfemIOYV){Kf|Sq)S^E zUGAkajId0;TITOo9GYx?!NxZ?zH_D@!W&dQ`1%)ljH_Jz`+qU(xKcgg4gn)+_wKuJ z)$89Mze4g=zsckU&?1d7k&6|^%|yJZIXB|z3|dmYn0n&?2Wc~%aW{OE-y$&9w}xcE zk2FfQ+ckG(h+WmxbdgaH)8GH~HR$e#^=X~Cjc*e5r|f4>NmI@8bHtEeE_IFa%X15n)x#!0K}!<97ZoY3X5%YfFg%l> z?>3F?G|(G%f$wZ7{Uhga3qm>3N7kIZN%O(idi^JNfB)Uvy=Zl%$?bYI zFQ&J76DfHzJdkGi&9|6AdP7`i@#AmV3H|S>FwfcY38?{IC)@Zg`Vj^ArOw@rEJjX6 zKLYt`sa*T2D!<0-c&jlk7DafkZ{kB8^Oq}4rWs>PJWPpt&lSIc)@*xemFQXlAi;Mn zh!fczS->$pCM$Yw@;XZbz)ys^EX7cO|gqeVKmmYmOx z#u4zpuK1g2w>^CUI_Hgnx$$M+7=NA4Pp+pWg{WaJ@)p?og#G;ot?xBaajFanOEWke z+t7ZArf1EYs(Mag)_c8!1Qymm2NbsdnrAI|ApE!Z%_3_rY~cSMpd3s8{!dMc=$nS; zB-(=I#i1MF_ARhC>i0u20*bN)q`f|5u=K7M*S;SZd5#_Z|ZDG!6BTjGsqPjy?WnkHMPR$56$o0Zydhp7MCL9prz`nH*8*5 z4Jqmqk)}REyvF;i2cYq%WO&HC+3lK5eAoelWV`+!d$$6&6TBZR$KC4vu*;$MbE{6G z9}c}X%cmu;0+LF)6*m5uy_eC?t=_-4iKj`^dtX0|H+KB!T@Sqf zbrj?mo8MXa;Jx3Q3;!FRDYIbqd{TLD6qM4OVMaN$KP6XXEwSM9{31h!g;RaauVH>c z4Cqp1_UltxT*Xf~J9R;hPxEUa^;*l%HRY3jjW_eUy83d7OdvJ=H69=B{r8|EoG%-FLq}h`c;?FY6i^KApLja`)@*&aXiz)-3`k`t%-SZ2r6~8Z7DqZlhQM zU(?V2uR#W8cDyG0QJ*e|1m555<$6*U4c2Ax*Q?@UPQ=8ouh)x3MynI} z{Y}x9@-j~$GNyh9-iNjq?=#cY307DrNBTUQlD**d3;CXukrFR6FC6zSym*ZBRXCWv7enIvd`4P{dK?AM@=7H=wb9P(eIVLt`g z&X#=*{PvbodZI1K{QMdxuYb44M+d+E?_ZM3ST>n{!=nzrIyX2M63VFEj(=)QSqH}M z%#94Fgx~JvzsA&e7Jdy*nwvi;E0vKiN-IrMB$Ai#i#%*ivk>Hci}f|uL83s!QvVv~ zag;y(HC78n>(}TzCcTN03ALXx9eH}gkD{+NotEKu9Sh_`9{3`H?&BVCRWnA5%zlmh zT|R~M{TgtSu(bJW5Fy^0b02-XtMCO}SzgR+`%HE4 zYczSwTwE1kOu#!!$h2OR`Qa&Dpf9c{--NUctX+(vF0A0e_+XHGcmYnJE1b zuz!u;f89{_OV;Fm4e=>H7b0EA4`F)Z#zmK$yZgUJj)fM*Ff*%E4b3Vo+QWRikA8oq z`O@`_cLL{$5w>5!!5wHwgV5zFBET$vCzBpF@#T=G6ifLfkxAuGWQ@OYQr&b0xc_T( z{QoWi4xDHSToRn=uhCX-ph|uXi{&|4Mfr$z%&$QtKUE4*4-5Zq1LnM{^WtJjX?7RC zn>9_Fga3)bYn*=nZ+7ff}oRb@D}=gd25K)GfFpSfv#4Qg7wLg)Co}X-D;Becl{awC*)Xi9G*a?_dsOsr-ALYD>zY`bWjqx7fz#xtbzRZ0&#|^l7K0Sm zOq8+bt?=KhcVOjeT4&bfTgIPNeB=v!z8Cp?PrYPg20Wkr(_cfoRWHjkK2uUPi}S8q zGyOHDzeZImpL-K)bulST;{C?1#JVp!RNMPC&Pk5CGWlyzR-xPS;jghFO8+&gmbj+x zfbC9y4OwCzBQ0Mo>4h&q(D74JW5-xY6B|FK@$&37KS@+L^PU#z?d($`qh83Gy2%HP=d{nF*{3GP-Y^KSsAqgp3zejC{D zkvjjH;0Ds?w}E!c6#8vI$-5iV-?ssC+f@43fHja#{~C}6QtG#Xgpu^q>Ui@tSqJ*# z2YLPb)0!_kIq>HxSfM}FeImPfTwkm~67JFb@#VVx^86L$4Dw%tV4lG`;$uoZ(4Vi@ zt5sFw4|KzF+n8U*Q}`I>bMDZ7DSzR+pM;yppUZFf3?T`B#J}K^AUJKhA24xXVNZxW z{I&bbe)k2r71@RNwfSH?wTOBqg4_9jzp1Y&ig_YE(r?CfMp}knrV!C@kB^?J_w2dJ zP5fiD#{Ag<+CP{ejahCMvbaC-?K4TdH11a>EE#0z@y7d|d4cmR(%k&6==*=ZG(Mol z1pSYAfZbT7iG8Txqn{(zZ1ZD@ADiw6`liPk&9mZNKGQ^1)B8l)SYKCLxWDE5ua?Es zu!{Q&--U06@4cijx3DyIe+gAHrIP%{^9eEuN%U78j`!DDLsUh&k)r|jubTMB+zT;k z{&~KH@uqZahG<$|h<}535Zh;#y6!I_K4+7h3C;Uh_&xA`7^9Cx=e%OKcI!CC{`^a*pV@%;KlW8@feiQpp z-quX4-?I0i;~tv?@Y%@w(6#iw*BN6|)VN=LYH*strv!h17UD2C!`4JTbM1&K0b%=} z_9+{@Fz{8-LkQXX&Wok}?t_oR)}2;Lsc(}R$?ECc@PksV_c704KYmv|75jqW8k zodNg1G~dLQoCCPg1|9H&Z3e%v6gA4x{;8llpIGl%+IxR$`_3o!&*+RvYOFJ5@?n3@ z+~>%yXp+pJ?R{Vo?|kM|R#(w=Cfj}FCnP#p^7l4AfzM z*RA@lNB|e=VVgg`JU?$#0nnV13nnJ#X|*IkEDvH*IyWaw)>g%AqLWFtl)#sp?E0P zt2rrb6KJNlW_+e!6A8v);}BJf65n=E<&SvsB|epj*WY`?_ad3t=S*SGtMja%$822= z)fNH3e%HUoStIeX{6K@+ zYzO^hLuveR#w$*?-K(l<(e@|S)E6ZOW}F5%^P;0)e<`_w)-i&Z^Fv>gnjkPfPY1qF`l+ENh#Jtw8?S%RnKNXXX<6xR~LYw%nqwhI+gYe$8qv*dIGEVSS)KBQrAnc{{h5a0V*mR)%bWn`=JFyBe z(3Xnf$DV8IXxdF9JI>LQ_SJG$QU1ipopkO#0ahzrN5N|p5`e|C*^H8_ zoLQvB$^|V3+dpmk_1AEjTl3v_>!L+WpkYfO_(0608_n;aOW$Rn2G6Ujygnh-FH}Q2 zxIJQxC{N6bzBDNyk~RO8lGywHP5!QhfD$qQZJRKnqOuj&Z|4~;J8}rv%t|Lp-122r zUN5S8H7}-YCe4aqV@7O5BLsFlo7twGapZSASqxv|Z#!bJxrHOR-{8xYu8K+a(M$<{ zr;^mtL^__2z@YSHPsDH2?3y|VIy9g6h#knaVGrk_u}t%<_gF>6JpkYRyf3{y1b**D zsmq4NlqNAwAEpnMD1$+D^#A5bg6_Vtfs-7sgWj90fP5C#S(vaw*@U8IL*kvpzKkY= zhFZ9MS)>E@f+F8`5;UIXaPKi+sMKhpEy`Us#iX>!h%Gx4&x;+6C*SlpCKeyO%nD|S z*L?*L^RW!Xr?i$&kfAS0?}$F8 zU%s2wOK7~~I`@K=EGZh-P`fb(vE^lpIlUV!!9Uhr2y;k^Lsy#VXI0PDQ~>%9Q$y%6hQLU)7S zcf;O;mU{tp_X6q$K!SD|vnVs#%M3C}Dvf2m^O5gZ(c0a4@$T1nl@(2H-AX66r%SAO~yz~Xt zO~1eAw|X|?s}*GI^xZUHv5pBlVawmx1P}ko%7(RBHmjCp7cYH<{H}blYRTcFP_bId zr(Z60U{;CoyPA>s{a;i}I;fxU3lk~6sMrLWp}F_WukKYlZ2kEaWiif{44?Ih$(*@{ zU!1;vLmj+cuU1vv_Q?0NXjWCz`za$ z@hzg<@BiJpT3)6>2|G4unjM}1&8f}u zXGPt#CmH!rHW~2Us(#C+?Dv07e8$b67UyCg4Xv9PZtSdhQfD~Y6SQYpQFeLfY+1nW z7C#8z;zne0-m&*l^RMuLznuIujYWsnLnHD6=&)F!UmnYCUg3sJnqKR#$d!OSCJf;# zCd8B|ws9>zPrdmy zo{?Bur`!9+`0IlWoLl@V|3&M9WK(=WateFjye9A1bN3AdfcDHy=i67DmaurppRe*6 zDVA(WDX8;|6c1_5Dg47Fh}Wn`DY!Q9d?`EG?eWW696reo>lcrevar$Qj#&Dt0lzhs zjo0vgFFbhP7Y@7^{OL4~$?%sxZoMz>Z~Bsu9O4D0(x>wM;Dn;l{=M5Y+P_UB>h3ly zfwuSW-PG1=yZ;_-58k6KIivx1;zL?}d)#AE{^Ft9Fw4vM^Q?)1w~e4OAmz|{hWTBb z&8cYn7spcC2d_C;9XS&l?$bNa1x9>=_dZyuJ`MoP7Wluz<4ASx&qgnvD{Q-={G`|= z`b|mBv=a??;ocQfCwBOm=NjIW;}GsFBGgHw;)3)Vv*KigQaIzx8* z7nLVW6ZpYpb}i{_<2-TP!?yo*uCB_7b7w(u+p_NbY3!{BOoYibq4Z{c!I=Q!1wxYS z!gq^y&V$zMfc`i;Czt8;UC|If=nuSX*64**9A@f;i}y10rMeDggkP>qLW07Z>%brU zHHb*;J5%5JlpHA#ty(NHaL^!GSLd*M^Yh zTPPt?ef9Bj<{Gk=`LYuSon&R%{R}CV*R! ztq7lSAM4L`wUN1v(_{pFUaiZS@vQ{DO#tbiz_RnvDPmyZHb#@&g6UfmO8e3PVjy}` z&I$>oK@7NSK`R>i*D*yI3{N~fd=-53yvi`E8a6#AUJHN=A1Kwpx7CuQk7+zUL+jVo zx}N4^MU`y=KK2&*Z+@9b$sOC4=G}(ABG0;*lIYu9{^K{V@`hOa2=D2~Ef$pI?dQev z7md#tZ?tC2G{x#Gzi2ZT`)z1t!nciHx4alo(PyQQyw&RWKU+v&F^6cz^9`=MZG-OE^l$#(*e` z4mWO+BZ;MJuA<6bw=g-6y~YZ@^9dy+ZvZ0k3o|OIaG*l7bGn4g2sI)f>)gG&7G;ff zAJ;zm1>QJbw^cwI|E<9<@upF_UoK$~{MX{&IR4;Yg;WsQ@CBAGo4C9dHbQe?f4H|>GH!N^QOM0zTMyWqnj6#$)x<>Vp0|g&-pHrQDH%b?tu?7&-U(rYQVX_ zj?0URbk}@=^tZ{UOA5w!*18`w$WVzYqM&^EOJ)BXTI{KNc6P4bn&TbVoHvzER^;88 zp~#2vQG7G6t1I&SD2M9*{$>5$Iq7C0noXU``qWRXE9w-EH53hj02drLJvAv4;yxCy zw|Pe3PoMQ#ld5X$TIlN>+*twkwR}NIQcQtqAR(Uj0ga0|h7&>LwzcH9!OD0IJ~s`R zXPqyiz6L^?F8>D|bTPo+uX7F^No}gQ3GaZfL!pqAOJ0k*^ce8*5Is~Uc84tU?tiQU z7dO}cLI->_;k7p>@Ei<+!D!uR2rvGADi+Z5(Xa$zz=*D!{Ti&7zQ~r8Ij!}xZV*{ ztM7e1)-I$!jLMOln7i|d&9q0l@04{`JN#2btI{#6gq5W^z1h9P)rJ z+_5$~GfVs=l@wx%)|x4Kx#uVAq9i&ITI>zFi8WYbk*-G+g3*aDBlJ@B?(00Ije*TZ zrLjv?P57tA#-8i?xtDdK5y3?Sml5*JY_xnI~zE!$lrVJ4r_3X%PQjJu! z_TT-=P~?WM&zhIjw8F1vOIq#3AF7G2={qllH3Z0avE?n7BtWC*O-YhKZMkzetzCmDIzCH+O} z4N4n6nzunvCV6F zrJnPNfpm1}=Kako&wXYS3{UfEnZZZwG_ZeCv`3I>se>&~KRXQu^4dhuwA1RiOHh0r zgZJgqgJ$BpFPAb8F6OlT&_IX|pS$=>B~pp6e>vL;i9xE${O;)qm?6`07>6@&+ zaE@(c+61^|cLRhY8s?cHHZ+>kgDI4>T)^V)uT^=J_goS&XK-DA4OSWreJy`Af)?^P zFwjrg}sd0hA5<2ST6gQY|S zArvjHNXFH;u9wD!zRI)NmrHU#ezIr^aOu37A%kxI=7b6V&Z&+}*1*CLfj{%a50b&_tM&E@yJH3{j)@llYq zzcswigLFC)(Pv9Pp0FRWl_iQS;e+$wj2~z(Z}*##N6MyC0+ZfRDXgq7XWd%+jn!Ju^UK^U*O(VPD`P%3g6(N6PZQXN$_aw2 ze#$AZauqLLQOn2Z6%f=eSdsz{Js;n zEF@8acw_wQQqo*M&x4`GYo#!fAcXRs@$c&-TO5ji_b6YLQ8gR z3L%A9zFX$zuUjr+2FiK1!2d0&I-2;g7+uBUbGPD-Pws=J)Y*Drf)f2h7l8GzuQ=L$ zNxtf|SY_oK;L!XUUm%8|X(}#|d}Di7Q&`)wHI9Bkn)|pcpXTtqXzm1h!@Po;})Q=ruO z>`m1HPpHfaQ4Egl>SiK|x|bl!g(E$GwjP zzq95`&M(nw4ZPW3w5G(y?AIU(7Sgi|WdHiI=FAKQT<@Oe%L{U)kpZ`V&1vh7br)&LYCo8#k>SA5#?s`ZNcAroxksO{@(BDoZWr&@H{_n(F^_h zs<@c*@AgF*kE|kgU%&Tje77jeldPH2QpcA|NkX$l=m)f+TE@~DK{CdH^(q1;Au*>Y zms3s;OevUnn=c({b;*l@#GjYLM+_y7h&tf5x@xF53Jboh)#o6+_ z8odb`QM?1Q^G$Z9peVFgYcn>K8&KaPAT&h6L0o4lGn zv&MZM;R@1Vq$1C+y+v&a*F7!py88iC$7@QHEKK?e3%S>?S0vn=Z=?}98_5H7e+uWg z(A3e{bzt1@U&A9TwTsbP`bVnLI>}A{Bf{V(k(ZJrV$n>=HK7z3oV}*^361~DTC89= zY<0SG2E~SithkA*Rrl*Ers%*EV^+yp-Lj<$*84P>Gn&GcFq1hO-B!!hYd@0hgHvNW6%( z;i@L*^c1T}4dwC8Vx3$itbxlBeysH%XH69NViLC(z??WiF9{%)(?+An@0-+e8A<9nptYf|vMvgql364h2z*ya|V#Myp1T%@Eo z2@A!u_(j%w=(R9VaPNriANpo$^7PKHZn__I!Vk_cMg4n^aQZ^ev~pId`zfsf+E)?f zlX`J+XV62V(Y&?9kB7Pw!{_-PIfr+4`CmWt(vrsbzi#XGw51M1$B0)kI7Y&H$M218`&Nc6w7c?rUs77nQ2b7ZYfUavAg!FyaYWoXJfEb4Qd1{9kc z+`Fm4{!I<;8(kWke$@|~8%%C$Fy#bFj2BpE?08BfIz{fve3jUVn{bt_a>AiRBmixa3+!}NPn;gZbkJff4JU@A_qEqsr%h;}eZKSviLVYk5BY}i7;${B_7BV=%iwUi z+3Z%$_CCE;v)%l5&CYMt4C`*UX|{X2W_!15wtu^3b`5KDv-@HXhM7v0$!%H%um(Ah zn?AUG(}O@|S>+jgYS&Xb?CqNf{Oy|u<#D&(1|#!%C;9#0>m<{!m+UtLG?`M%d(oL62U!%VpSL-^NR@)Va zeI%y3(9z%%VHx+y&jLCEhx#&zz<+#J)J^-QdYwO%Ji-$vBWJ6y}hQ62%eKCkt zKJ>-;z!!+@;$Q3zeX%$6#l4{~_J_W>KlH_??h9{X@zuWfPWP(~Z#@|P%A3jVSKeH9 zzw&0Y`;|AJ-LJeE?SAFWY4<;(7(GG9X;m)tY>_K^8oBpH~@Vc(*FY>0zE+lVS*1n$y zbKCt$S{=7!mnZ8Mi{H!Q7p*BvY?gLpq4Bl(<#Vjb<>$1Zn9sP$>+T2C;;ZG#e8k{# z(=z^rB%5Bhl+3k@r)RUACyiF}Av?sF%jt`CS!R=>q>oQta|Roosq26QBK**0MsUzq z^mFMd_SNxnS+z{*4UIN@bz+iZFs%dMU=dY+$1>luI=fiVFoEsRS1_Zp#_k;M@VyP+ zf9@7gHBT%b6$|o8By0UulQ&4O%cL&T}|U zZ}TOw=gRXs0hjn0z`kPcq_2Cqre`#x>^b}-*{vD>#qTjA;8pGVZ29eixTK!Wv6LVT zV}Btic`=KY%UV0$aIAwim3v@w6>ioL%K#p9q= zUhqB54Ca?&gnT*m7PV~p`bj<~+({YPuRQMZnwL4TD#swCwg|&c0^46J?ZH+?+T6fj z+l)5w*EXXK?gL*qJ`Ls4i_5GG*c=+jE(Ajp&}aCyG3qJ!o8mQC5O^IVMVjY;G8RQA znp=K((yxY*dq;BQ?H;a6nfXG_vt>|Mh@m}HI7O;)^})@tl$fmvvLAW?&& zinFJ51SqL64du!Id)u%%6dI6zHJUOcMogJTKNLG4YbzbS-?$e7<=6X+8%9-SgIVc; zpwHrp^>GYCtLY-hTRk`M-KQJAI~eZneE6%~oekd&pvm8{b{?WMx0v17BEPZ4`AseM z1piGfc5iI4cVmnDzs7fI9XuyT;N7b=(Stwcwjd>nLXYO&qsK7pjxl&8S=Eo+0$rU~L+NYJ`EIh)#G` zyzAM0a+p6ncyoc-{x=Ei{x=Ei({B>kgKrYp!8Zx);Wr5^`zC=+ZVT)-z^30Mu-P{W zjO@{XoUt+bMiD>%CV|0He}m9=zENnqvih)It*W|hz95xckRJ3rCRMT4&-PP8(3=^h z7Z6<72A=-=P&^;Mp+BREzt3&rfc0$fCyy)g*;ib3FwDlNFE|vV){V50*ck> z_gDEZS{IaG!taRje~riTq5uXBgF!XF#*=kX&V0*n@)(@LU|0LG`AsqQ|GWoRpktKq zQPiBrZG4dUvI(!DFOC}vg?`tb$@4cLsok87_t|nt+WZ}}leXe`mHu>)@t1QN)m?=|ub$>Lbube~ zd|sTl-Us?O(iVRHj~Uc|k0)YZ6MCTo?4>F6AZ@rWh@ss}-zO{)H zLvmghjD1SIbLNrKAL3|w35zo;$C9a2#(h&+@irgmw_h&vHx>N@S3EDzUm?p(`4hyC zKCBnj(n7#0%bMIni`y|R_L{MrA|FFoon*~4n`t(MMd)*;q6zHVNY;uH@v}uI^tP#; zW>zu?`pM~fm-V6UX?0c-0^H30Mc;(4*n~na`OrEp(wt@Mahda<`A-{$hfQBg-ZhNI zgP7gZdFIt#ej@Cvn+@R4p5*OSo-aG0KSLDu^RRoBuS!aBI24pYJMZI8Y@{K3-BlLuTR2^IyZ+cZfW` zw^?!Gy_%ORc*`A zdO^q|OZPIPEa^|INdnG`T=I2n@F`2y(hD$fEfT5p+vjz)UOhp=kk*ulM3hY=Xpi+{ zAhKh894C{_n8m1=k`1uE8UsKIM4OGx*pUi68ncve>z3Dp;Ep}Z3R-N({DjH2H(7ll zIR+@3ua;MJwvt7xGS>+;fBqW1%z-u-$S3HxmhAlZV;=z-HSCbcjH(&>MwQ6p*Xs!~ z9~07?R@Hnt`DuFnb*t+G7C+gNlHiO;dwRX!OavVf0P-FC^=rO z>#3+H*Fq@4Ev5_pv63HoD?i)CIsXLdjRMBscKHo|NEX-s+EB>t%k#+NKyD+{G0A@#oC>ed1nNr5k4nFh`k3NYeaw~kPT1}XQ4B=em&LV#gZ zcC(urOazjWG?VBi+q>bl9c>-Bb2oLRp!@IS&bowu_M6Vk+R&-4Hx2i<*L?v{Z+Pck z$OV3C3NPA~Dbst`>UA0g!&)FJq>qD85np^U^uQe$8)s-|y=2 z(c<_2{b_wDE6eLogTD@LGc3=7_``}=_l_aC1?&Nm#b6JO=sfs~jPotJ#gN{7O?2OM zP?5~M~E&)KIJ;5qwz@= z`;LO|r{t>Ei(;8;#;BMU;#x{J{nfh64H(u;=VWd*mJa^@wDb3a&foi;zwdiXztLqq zx6CW3zV{2CdM|h;STaZ(zdS&Ka!COUWyFjMHJzxT<9J|ixE+6g-y^U3vdvk8R$rcT zgUL+|@|zk=Z)z~RslmAn!mx*vEN>+H_stTwKmPq`^wXL7^i@7vFK4tu7F)fRq@9I( zi?*M>N81MykC}<#4?n#R|JTGy-snE1Bz_R-M&^3w<|cbLH`x_hQ#Pp15$pTDAHM$v zQs1|=0De;JbA)NVq_0Y`XAg)QN!-qsL{oN`YYwpJE2Yrzm*Qj5l4(_5=6*^j@GY8K zw2_nnukC6`B2Ji>5k~Znz)#f7EmU&PC=1#?(ruc8)%aEbQQiT8K{%tVu z#;Hc+gGOOs1UQP4&ufmKkZPfI;nD>AlKG(NG1lj0Uc(@mG?nEZCIPD_iCJx$h~Fbt z`)Y-Zn2^w!00E14EE^iok~d^=XC5L4``4f)kJl8Po1aKIoXK|_aeE(A04#CeW0Bm? znZuOr<)hd3qi({+MfpaPv~4z>D+x$vu-XhbSoxqbT|B`Wg#EA~Qy0qVr#Cm5giQ!9 zo9K0KF-{M)N6~w`RD#2E-_a z&dKeXdz0Aro-Mb9e#U{KAM;V|baTs{9)Y7T8K@**ntV`Xm36HnD~KZp zs^D43B1u~DjdY#G4W3ny@mHQ%1!4xRa(!c)Pucl;LQ0o4s^@G%mX-xMq372wx1p3c zUS8uBG=5XDsNn5tt&(ABtg`$*&1s_iq`CNV9A$Nz(I_Z|PKmC0j+n_?Gt+@>Zt%dH z4E#Om{5_QkkNK@Uta~EMJTMH2=zIE(<|abq-3RZ{_JEc3l)A2I`D@NuAdm|$bAwsv zm=1Zk8t~lI?4Ik6c-wICn~G@B5}$FK2e)YBp*`5<;Vs%sZqa6Xi#DWdPRcx6u2)|z z7u15}m8SkYn~FH!dvL?|lg;1n@89tK{TtxVZutKE2Kc)-eDBE-R=0Q=)Bk`KgtJFr zkLIg}=*SGp6121NTaAzCTeDpI?Dy)f335Ygls%P40>F@zzgZrwr+7mLFH}gPxWbn-b^Q38Gt&7Ql?2-NYNdkNhBYg6D zMGl=)SjROBZ_e)LJr0h~E|wLqw|Pi-@V{D4t<~_COm(=not;nwjO0O!n;y`hd1A(# z(Q+Jjvv_}K}eU0Cmh&g_Cpko%hOTqC{y10KwM z8qCuwZ@ydAu&>Y{uh-}2#XEhCR{K7OeJAgk7M=JTVoS8<$@tkBLr0Rlfw1KxTz)UR zWNgM~%(Y?q9Wx6l<3^d+?oK%3q!HS2mR7_B+Z>2G;SE7Ehb!Mbql= z$UW5A|ANv3l&bl1DU3MzaLy07`dRU==l+Jti10&k0j*No3IE*FH*`t8qb5HT@ms5% zea6b7LEcz6b&f|niIY!bA3op@y^e(cd!Oa}Sy%1viufHbmsM+xn?|?6XZtqr3O?3E zZPrXFUGy|ZX3u&O!(R!%N79q)-rvb{gCwH5X>Om=;c7~2Y)@#fk|8)mD$P7O@urHjP}5+CwzIX zv?kW#%%kQWU8;>%ph?*^H?I(E%3x*IJC50{PVy$Zbrxdx)-CrmZ5OAn)>l1JDU*lCy zfntLeYifPgyjWArQlBnXlwAQFc;Et%qKxL(px4QhnvyvNOTHRj*KG3@_&wmYav>W#-jg355c-GX0T$*2lSZYDz*8%++&x*QfOV9c8)BPNh3B7I40k+0B*KcaE- zN=Qvi{%d5j+3#I$wy2jnMIu?rH^#lW<;QjVv@HF0>@tiD>@jr zuIcb}iuze&#J|Q%S~gi=srlD``sC~kFFm;?Kap9SIG0TP zT)sA7CAUN~%c0?~@kRDFS1aMo3&{%>T;QR~-(|@nCojWvVA1E-FuxE-HKcyOBq94X zPRa`3utQ-RGHuD~=t3p^w)bnOH6@<=ilno)(xLPLI~h`0wCamB#FHidwdEvs@_3<% zghf%L{x2{K++V}&ZDipqlFqukMruSq37L|_`m&%V%Gb2I^rf)FcdBBE=D^=sS^fk9 zZ)d3SsmgsY@>9!GUzRh#5Zcmox<8EmA=Pk7i&)GA>!u~PupxjBNd#4X_q*cZ*gsiv z3Wp|PcMhWCJ)=9cxre@k;V3S$P$5lYgvii>Ul0QN%BLn8KDnlq4zK1NbbaXz0e4f6`r>w6D&!1T5)Xx8eWMVRopo4K@B7Dd6B&B20 zosuewgfL1F5C(!Y8{ORG@3MhxnEP=3h1TYsNj28^$CzKZEoJGHbW|w=9_Gca(nz zdwr(9pbPBiotKJI2eVXI@YV!7X!K{nL>!U?08It{Pu5>s>n*riSGGM0woI8QX4n@( z0xc*|R3gGfNB6Qmez$+CPygO*rqqE$$Re|tg`qhVK!MUi_3ut}J(hSILADyQj>RYN*w_Eo4 zR`8Ma@rGZ5MU9^)ZRzIgiA@KRthMYg9%!J3(7#AMs#;C(CEKrDH{1E6%HJ8LnRdMd zlPb_(L5rog=Q*cuREBD{@_+8jnFCy~w?jKTFI_u}nqP=-I#&z6OmYZv=r`8o-glL8 zuqqK`@V~AtmkGjb-S|HSTb#HlfBm{pgOwQ57Z{bsj+4_E|0u^NF8uyc?MZ|-V;=v` zl5*8I*PUgW#YL*3OxF#5S%q`Cz(19J39~&S|I(49XBxjdWu=a*pUMjg4pn-ge>9P; zrX+it8)(e&IQ00h)Ped>8PEOFUT9{I3?mY%`X3oSpp%uN@V_%HaGn?8zwG^CB}@6R z3(CcHkA=y(9Z@_x9iSDK8v5*6a{39)F<~n>?(M^+<#_UhzXEGtbqGRF8+-qmIV@^o zA5^*7d{wFyhI1*;0)f;bujXkDKFV24tFkEO?%wD0T+m`Sn^sx(vDl-j2X}DBrG#IM z{tFC&54&o7!l`v`HVtqFmu+oY9DL9IIK5OScvrtcaLj2q79dFoObOS}eBCaRkR1s)hCmE}mbQvM7u+B7jJSH9^^s%H*D(_%=6#9Ds*MSxY>)l_$ zeZ&GxnYg{Sc}+?*>okLSil+<2S7A6PipVg0Fdz7Wtb-p$^f#+lcUbzXEv6`sm*#dv zZ~5H>U2lb^3{2aR*6ZJ6N%DT))ps}k97A#>bR%p7oV~8Wu3etvLd7D;sdqlH#-VAQ zNPuLvACBIU`fxrQAhFsE#8-Q&Ts{j^6{SZ!E3tdV+wp9apwZT#jI%m=^HV!SY{W7l zD_r6evy$|Fd1A2cmG7+uM#{CyI^~xD%}gbUs4m_o(gADF(5XgPAo$ zJ}9u#r;#m*%=6=lEyr#q)2?p-%ZA4mf#G$?mMs}YhVy&lyDbGc6D1l$qcm4C{LWwo z$}OOQ6vBkZx8G9PSC!211H8Tv*%5Ja(fQ+r(W(J&N(k8goqOFMq}lWUPUzEns zjqkohiCvN+3pXhP1s%JT5T}ara{tOrd+n+c5NtSwd_dvDLe_K_b0cJJWZ{kX zsp~kFgL4Feg%{f;y$cuKu2BjPQ3W5gE>i+0Yr0Od>%J5<#(Pn-2BeMLXM6VZ@qE0g zMIcY!vwqvjpyviD%HUZ#a*-kYtHwXS@=19npv+Pv|b>PINPq=M z1C(OAxOMZ!5^|!7n@&1{z~-6R-LdYT@buT88#8~giAujqT>4|AH2La?tt}EH8s+Ti2c zX6LV-*b-a6F)^Z9;eOmTkY@hi7kz^?hO2Shh6+Tw-fg+L{N~O0FR#%ITc2}tiAZ;A zuZ1PSpCM{n)18zZj&kwa{(#_kv3$mYM89}{V%u0&*RN(;=@8P5Ey8Gzb6L+VMR|_; zcVpQz$<`>AY?qcwiu~MKPE~tPWT(9;`s)wt*jv|_ZPFVfUB@6xCvGdZZjsn%> zm8gb?&*%3g*11oJqCY?Md1c+4!8wG|o72H$ePGbf#<*CQk!Ek2g;$oLgdW?hh%bc1 z=;{3)sb@^%*flg~Ac;o2cOcI4w9Ce3=9+hY%{9~vEJ&Z)G5mcJ9i&w@E?S_fX8DG# z%*@MGO9??}Nik$V7na>z-w&dlo-nzYC~^H-G4DJ z_pp7k!`7u3%Y$6+E&l;RD9?Cg|6U%tm2G!v#udf==B$s=|M@c;RM_nOvg(%zzD0SL z-j7?>os9BEU_&N)`VSj$;H+@^YP2CPe3?8dW-Nl{{3*XKwQ-<3A5~&A-yF#94jg0BKg!foT=nBG<5UTXUD|zpR;Tm zDk5em$sGP5(S}#+5OiS_jE@}aTB-N^g^4gc(wTSv*VrCaM6d4bt{iYNkB5P8cy7-KqWlAW(Usa z$BrE4V$V#>OnrZkx3zv1lx&zfwVU01A0NqhlIP9gm-<-tip2P>pLWF@d8K!gFx6OP z{jivnaQ8#TfxP=@IYhM}zl!a{0oET%s)^-3hGb!jyPeParX~8FewMRj%P~i#+~L2O zxqJ;vcq~pd`7Qb9(<8|JzJlSm4XKu~pHjYso7Xr8H0bUe>I5FVs%z-9nWa>h7zj3U zdr3-X{&>gAI^R!kd&U0(>UUXIDlI5hHLTbi|L6iQHiCjn@lsVZz}!e+0SS0@s1$zX zYR3M($w=iX#XLIytA1V_==}=F;a&D7|3992Yh)uOt(L$cXQghGb0A_irDB$`Ri!fO zaId*@?s0WW@jjCK%GT@mN0V2Mn(~qg848xq!+bh^DM&E)9ZFRiqFA0zUAVp~;z;Zx z{oFASiA$Zbr-1hA7DD_`E>O9QtlWNNbBOLYg%zLF*1%C<^R|-HLNM?Ao-EJJFY*MD z&y4w}0Re3H2FNLsX&8lA4xt^~?YF~q+r~z2zu-VTG$2S0?K6XfC{M4+HrSXtzIQQ8 ze3@QP5oH4oX6{uoPE>!I$^b3o;;Y+@+XAPNVITeB~gNofV8 zrNnoOlyD;0tBLB@SjpMMkrPg%KpMU7m+i5{7q;KR*ju=fmb?X1oB zmNeY<^7DJER$X_QJA$$+uX`bDIu1jCIJo_ym!nU8d?6#EHT@Fw8t z`6y-F;(GVQvJDL|`t%MvJQRFJ>@qsCU?m20%E)!*fABzmTfZT>dqe)IzNrvHXt$d+ zlFUE_=KNMwY}TE2nrx_EQr~0kqkhRdralQds!xu1r$IpsEgp(PreA3KxH4!5p}@@o zAznAgc9sXy^1PA9xW11zJ;q)=ajaTfh+Ee52>{toZiKVw{Qv$3hB~Bd%1tQWr~>Ev z(@6(hDu@fXUu~qL*w(0>V?)$I=gf3tM;$K@M4#WofsaH~)k6QyPZJ7AC3#%#Yrcg@ zSWKb?`Rxp;FaguqO_SVJV=Q@`KB*8&TSr#>T;CC5veX%!8s>Vik!vh6vsGoBY2Bi= zc{}0x{cI~`MeD|ClbV%ogJI3Yo6eZ2?4jBDckarWEzK$=eBFP3$B?QITYoX!HbwH@ zU(f;q`Ls0Z1hfiSNNIBEefyt$#ndo*H^2@rBVJJ}O552RTcrN;ggkUiz?B6u6L}On zFlmg?mFG!v88TWUh=e*~XcSE%1vKdIWQ);;pvcgklOyi|plY|xTc`<=Exv)m>5!uFqaNcAzY@ zw;^ss0-LX#xr!qb9v6R_+c{@b=H#PQQ5-mFA#@~UUG@W>K%r+ej`tY$hs|V3Xm;u| zd|X@{C>CnL+LI|<3dHf7bB1txjLc_TmCcdO9I_{3C)u^ zJt2AJ&St9_Uf(ADv|Pgvaq&4CM{$6kwGw%9cFnUFar`#Qfb|6{{fB{|xAazjZvbsy zQ2K_Cw_D1iSx-L>bq;Y7a_r6b)a)a_zpF~G75sJCL72oc&@?hd3=)?r0%YMG2XC8N z25nlI{P@LxNl@PYW@X<-2+_NN&WM3fgrDsXt*t%ZNvKKM_7p` zy=K{?-;<@8`0bMKE;9yMcJP8~KXbm{thyQ)WBMMxE~b?FcI2?s6Y<)b0DqA4)_+;lC^9MVb%C`g%w0pTk?OSy}ULW+v)rU6R9K zNpH)$?O*%n%9!OG@^`{kf?`BG*(7lLJJo%&>~){90Qgn;Xs!wIkp$^k({M7Fa&w5U ztExPGY)P- z9+%W4afiSj2qc>%b)r=)xTmqh8^gI0>hYvd+ccr_W%c9aMp4O|Ot+;$NpZL+*4>ul7cnNZXXg!j+H6n9X=oBoo5ZSk2u| zNF9D&hmu)d+lME@Kk0JhYKvhMGcT5Yq7?g9y#^s3!g1o4RC7n9X{31SZnx=mZ1)(K z_xR6apEDe{mK-=6X#m7>%ZvTQAkz$6P|wL>J>swNlL*717eHxnc!^x_(Tv5ty?XP3 zeF8Uv!64p-$dFsNt~aEWyY+|}tw36V)m>eusDb_TJSgKJgYyDYai;#r#E&_yh`gs6VU8# zJNR@u?L!SJNwZyehvXL5aGQNkOqcefYEt*iH#)kWh>QiA4UP0Z2v@oRTVR7{k?^Ab z;r7ZsGPBErh`+iomy6uNJZKCeVS46;k^Kj^wOKreIgNz_;1`f+e1(2vZZhvr!0S3W z4IzZBJT;~@Jt*@&%UEhKyEK~MRr~wu8Q6El-*WuTHVDs|?e=!5(Z((c`8Yf_;#vfH zj?OS7a$q)P=`~_mC@3t9bbRWKn$6X;Bt++2(`18i*fi!T(LAg-_XW#}h3YK(dNw$* zT>80n(7=dL-_~oN<>v<{8@1<*^jx}N`nCg@kB_K*<`#M}S_<2*K=t@BALqu=bAhDRsz@A*Iq*dr z34^~}^{btwOXi?XP;mWcwe6(B5q|y{d!D3I*sCJa>Eu{ZLzNYv;;ic5l4-SEUYYO3 z8J{xCX;}eGBx}SG0tNRAsYlc8NF#Im2IxM!Z%8m#uesS|zayG8-&0Tl_V)KLfYP6)q@v-1HmWx7ReJNw-| zD;Z9Nb6BK|7PB`~qt-%?edxU%7@cFJ0Kb>e+Ost&@JVPyqD`REkMFRB7Zu0x9$O~5 zb2-}^@_zuG zv7DdfwT8MCFNikD9YeSLif${iwZVwFXlw1ts!&U(BoHANYKYSFFei_w{Aad|xV&pX z^FO(W?8hj>kF@V|-Hqv#TFtVVMk>d1FRkBM%AG8W&lxTtT_@6)2h>D3zCE+vVk9JS z6gGz4h`iUvL-H!zv}s8HlVm{oK8%=2e6|!zE^M@YbKzDw@}DVcJPWy;mBD98Ht(Z0 z+27pcTAcn9j!&Pic?i98z$0j;W_Hy~AYSq0Snk!%>5)YX8+W%c5GpAOKkc6o>wh%< zvd@m59jN>jz#Dy&4e*y%`nrd)qat9Vb`}8YHvJ}rNv_%pmS^*R`H8&WYCFx5R%D&d z-;>~&VC8dWM1B+5)wdYCI@QAUizB}XsgXFs!h5L7$e@5_w;TR6Wg5S#kj>sA5bwwl zEOx~uW(v+5f5yj6#z5aUvPAsz0;d=veUQtbDe1q6ZDSs~i=j zHga>HW;TD9UdxVOG4k4KCBRuH8(-^@!q0Q16!sr~#RAM=Vl0&gQm5H0)Of_@fb&EeFkxVf$1h{i>@ASqNFQm3#~tj#+|br=v@tgoJJHc^aK&r z*5mJEo~)EdeJH#@? z?7W;VPAE*ut^DPa`ulDfjT(-)I7^+|1cy6vgu9_{iej)!{MQ)Gw}s!jj$LG@1Dn?O z<0md9E$ODFfOUKm8h1T$DB&*^L~R`|xpT(NPs zj82+q8OWJpwD!u;ho3Ae-c@By5I;V3FQE1uz=@yY-d&g3`Yzs#fjNVd|85XtSsV-D z0)UT%<)1p}SlqqUt$^cpV;&uC{fA>3iBVr}dBml?zSeC8w-RNE+tjE=c z;Vf^booBKIYvSKc*Y(sfFFw^ioyTqL%xhsy_@5_>on2k~I{zq}|IaXLAX=%u3TTY8 ziiFmBRerBIyY*3P`i67;y?H%34!g#)rtcZnSKm3ExWEa)2Fxa!x-OsP0!FN{kGZdR zHtEfcV_JiaWR-pj8XOYi?e3{@jd}-h+*#&h=J?aXtOpjb&PxW zNM~hvjJqtcu9=g0vAh{~h~m`Qf$jQ^ll?*^PeN#3(M{(bH=WmzhY_7W*Esh4=QPDo zOmE++R*$kUOTX(NQx2infxmb&nO(1KJI%j?0{rI~9~t$CWs=`M2+N&u+2^U+sq@Qd z>9ctr^<-je;t63M3#TJ*cg4H@9pmZ3Snz!Dp~@r4aT1q@;AF}t+5;r62(6Xn_=^CL z%9(k@>2c3WVo8Bk7EyDCXNd#ovf-Hv7i+JSG}oC@H?@Yj#<|`hq0z zVPrL9>S|zW1&lK{_b!#Wh4V#RvGz(Zb#4c-glOz)3#-YvMA96qHJ7+Ut8-?^V(YBl zec10%rKdQZW9zb`VF*w>t<~8ogmuNy?a>F417(9&Lsx>O&8Sa!?oxH8kAUuGVyi^K zj*FZI#QC|gLG@~BcBYusS)3pf@9W4O2Qkvs!Ix?6x*tq3@C%f>95dxE#*GYo*s%~# zvf3Jx0*@beFFt(qye>&pMAi%Qkipl|XZ4 z)zJBy`LoU&YMUU|`#ZI(URJNKRq88n{S1e4B1vfjb+K_Z84iw8jupb+z#nOZCT{86EIDoiQ`zKK|n2(I}yEuXFB22R8ou4M#4(jCP|RK$M9>fbLOb|y8?{wvM6 z7fPQ7R72=~Uy*FwQZ{|7n*6evdA^Dt;#PGgY;X>v$iDTg*2@ z>#ZF}5B|*uFD>HVP`{sJ+h`e%W2w7s`89Jw#1<=|qX$(Q(of>={~Z1a_O`TQtPK`5 z@*|(BMYzd7@ns2zaL@+e+Fn3=hT`4G+I#+4Bk57W#=ay2@<|KV*btoKKqFew4Wu}=d= zS!p7RJQi`NzaxFe52ozaAWE(kgCx$vzI)eFXWA6eNDGmlB&oO-UMYVEmeKa7)(kiT zMfHubAsiVzq)bbKaIw95t-~nShNeCIqQl?4c;9X&>bFtI1#CDs+3wrNj*Cqf?fil3vo1v zpErO~BQkoH2LU&Kc&aSw&Li8NhtXCAT}Qq*v6uw8M6H z&@;jcXu@YQbI*zCPrT+Al`%hmIGRP7QB^&1n;{XnF_I@NI`D%mWOJ_DrJ$okB^WQT zT(9f#m;SwHL>ulZD6%jFy6VSmTYYX3coIP3y`E_4P;*{dXj-%xBDKuvu()dI$48N* z;d$&?Bb_U^&Hnz;`##(Az-7=yEst|(g~?%%=TqyYnfg6aLYig)wd%e zwC(W~{)6IiSqH&0Czk|@HmhmP5X)N$RAe8;a5XGSU_P(X*)2ztJ+PKSBP>$8vG6>^ zvs$vB0#UVh)<0&w#T%v=r+Roh;{TwK*gnJ&2#{8Q5qY}>_L3)=rPL1^YR1jp0=K4q z6y?5R$?3SeFi*{vI-i8Dwb|THNg6PJ$rjmdstcy$9txe<@FbIg+~v*3Bg3sEJ_K?^dgWObwiG z_fa?4VM??Om91XoT7(vk5xfukQRw z`-DTq&qeg4%(uy~mJ8f^kUU{BokeWHm*o%t+m-B28)br#ovp0MiAcC%N9Z4>kGjk>HYh(v|xGDLH8swiMXMV88f%g;M_RW1hKl$;g@3lB*ItDSN zs;+pJ(=^H{;M#ZR>IW*Ar$8|hruzHawh*yuN#HM=yV)Qrl1X1vlB}z zw0lK12}i$uD`O!gBEmWUT1&l3gpct3+RD=h{1;}eHry#IWt*P5S2);^*!fB$J4Fuh zk4&w0@6*bdR{d~6Qr_nMdDm0v;z}{mun*P|#F^^*kj#07iSy&kDPOm?!$h(s#gL#g z6rk2!ZGWlkB@PSW5LE&lI*>9#+`uW}Ow*>K^yuGwf8)6{ zN^e{T>8@bhj>KZ#HOr4;BQBTd# z{80CI;)w4F3zqOCnuk69rM;&BodGiab%{tvdI`aIW2B~tS6+(F7pIw$UKyQevu5b+y@cv7#kwqg~O4eAPO29i|41XUee3@5;lJ;23p3>G%Yj$ zCy0_o0~}$!IEdkm>pz&bno2yd>?;Vrh zB$X5mn7Npb1NW87b=(3N@J`8ZKWG^||ZtUL*arUaK^) zF}oIMf8+XgA*=kBa+m)VU_%qTBmaXp8Rrolj@g7R?vYa2>V5ek((Za}*Sk!2K?=sE zf$i}4eQID|KzF)%Aei#+Xj^dp0$|tx#)u{)!s%Lyp^HN%j=gDE_2#$bW7IeQooWvB zz#GW%C4Ck(pJ5R;{z%HNoj-))Viw5@WXw(}7oX=vM=MiaW2_Z>q%tSW;(;5C=;{FM z0MI^rWdVJ!bsXW@;gyPIK?t+5)6#1A{(}+KY2770`_R&ut+?-cOZ42dQs^7!BM#f* zPEN6y4b}MsZPSm%%w7vn33OBIh5rfpKK`q~&LD+%0=rwYe{P$CyS2Ho%D8Q->2M!o zFlCIg`IF=N&|QcdS>7of1##=!>VWgU57TqAS&BBo`WKjH^RpfQ-q%N_yEhp;VA_S(T;8_`VpVsbY8>mPWpGR*Wf3 zy!1ED41z-^XV>-i{w&bN=lA;=|m>G;GfTlN9fo(8bgjf?oXZ zZF(<{fcX3PXV1@bo`L9rjnRvq!X?g+Dg_(!1Di~(3l`cs@AZw2_RL1lL8erd?3KUo z!ghq|84(XVVIY;XC-;mqE*9y%Is#?$HI{oeC}en#1Fx%O_j~I|?ZiE_Pth!paUilb z+|@ZLv=HN3+Ov00g+pud)gQ zLnwZg5%@0Bji~X8u?QU(W)QQ{M%NNPuAD=40=OX)`MK~+h6zUjVpVy^KrM!vMgAV! z^W``Pq4MrvDPxeXSyb>=?{N4UlqIo-TqCT4W3CQqZ$Vkvklp4;AHM*=}b;DE{`@e_rcO zMvvcDOyhiDMbWc<&+~xxC|8>;&%vyFcAtzy`d~z+GK~KiL_M`su1Ol%^Rk*R5X$I$ zsXK^Q3a9wyoeFsh71LQ)F=2nmUwy23KkTo$R(0tbXvLEJwyNysJ^1x(ejhA~1gH&* zo&4ia@Uho8Y>AK@WtJ_h_59Jy^JEe1>*r&xIOFzwk2{e&5lABN%E?Y{Ia>;x8txFfv5AcuraTV#pUp6m16c_sxPN za^9iM`7vq0jaejn@x!*#a@)PzXYbFTf1RFpO`ICYt>TVLD0h>HOZ8U9J-&2BCGji9 zBQ1yPm_Rcv3ov;45!N>o@lYug_cUB=f)#e^H~{Z-j4~josbd>W>QZ z7oPx?Vj874ycX)hN6^>)W9y#~!7DE*AlFC*vjA%HUU^rWZn0@*QNQiKTgiQvZMT4S z{nZ1<>M@+0e}+R9-)93d>-SSeacEepS!08~Ma-{Yb`$3KL2QVUjtuUB;lKQN?SoKN z_&46l*|(^I1+))=2GSp*B?%fAAIy2#h_{!1Lwn6UVH^(CpnK}3<<0h8iFO zwX8%UFghJ*pTB)LyVT}v&J|MaCjGJZ7EOdcZ!WGTYAu~cEX-;YTC2=|>63SZcxm92 z@vz!j?uUuji*bz8Q&TD&#^Qv*XwfzJScWJc`pgxTm6n&~`;Z5eN(9p=CZ~6#usRw5 z3Gcl#R7OP=p|SP8{e$uRgyz7e)ZfHgioI>v%RD)%nQzAs%XUkPv{nkYEuU^vcPxvY z5a)}*W}D$ulsnR@n3F?-LMK%RXTojI2+wfyIklJ@vvM((KVv=U(*jL^!5V(DE|=2> zk;}yrZjeOdrs5F&tP938)e^?aTg&ZKp#80(?NVaf{hy`qK~Qyao6|+@R5YhdU@&Ui z$+R~16>bLnU4z6{^`~L7Ksk(Sujv;UJZW@RVZS*MxcLIutYQq+dCc&$0x|?9V!JJK zh_M~K#6=q*mSuUEzxsgh5hU@h4>ho$esbBKeX;C2uR<_mE$Y;KX9_7@p5lY)7-Yvj z2pa=;_{q0EiT5SP5S$}j*`fosT~(20c6}Ibp_Y9o1Ho_G!Kep@lsWoI`R=DPhyYyo zd*kUyAZS_P4)9bYw}?i>G@(lPQw@j81NeMpX&E)ghyB;46`v7>D{VWnbWtB?fd8^u z#`Ad9xBs>fQjyHADuhOkm1;Cg&)r+Al_h{Pxcl9CAdir&MI-2CnTg3kWO8(s-ODT2 zr9{u77GknTj6PSc?On4$hy3}~#|{oe+J3#o_vK|B7{-UzFPr<|M}D&W8gr`9aFvqO zVEBc8p*e`-nDUZt=sBqqF684U`-VcmC|7SUXBcd9VjPAYg}y)z5#*PWW@Rt+u5uvm z=L$TR+TE+S6d?1WCz^Z%BVw@Zb`2rE_oIHvr31P3`pBj_dU_u||~ z<&-l@cMfl!Y zBqJwN8Q93z-sA~M-{2TP3j7VGiPqJ#7a<0wEUlkA0dBO7vt%?Q0XB<~UK3;4uqe&) z_PaEd-}2kFZ6XiZW9K;MAU!#=7i|+1?W$hPoY8FSLB~l+w@U7_$JaYI9`FT$ANC+) z-8@5Y`Gaas{%-dt4uHe--0s@zK0{`<^zX2}%Wr{=RGsFB4W!X3;n`NkFE zy|zTLc!^5`cF#*&;xQqa1Fe0nRlqW&W1tn~bq4nES~Km_>19CZv`nst28;XMU4yP@xc|Zw{DvH!h|@0rnQ_S&o1l3p zY+=XKc?ti9;HU7NNsUbi#5w)L4+QHGI#Sw=(JgoolDbaCA$j1z-2#H};L_0yxI%Cc zslNA8wX*QJ!p6J}>+RhVf$@pN!t{=>IX(M6V%98(>6^q#mW((A#025zRJZ4BUcCN? zgC5*BlRSnOZ<4G;tcm$=$UH`bGMFhjF)z051y@FP>fdL8^)8EUYakqkPbXJ^ z2v{i^Q5!3{UOenA+OzS{U;O#)JhzloV>ny*qw2e0i+(4WvF+0%#eI9uN$M|&=9}q@ zsw9^{s$TSB`)=!}roF0iRMzi3X4vBt^|#@{KEZTXrb#6T%)kKkfgH5*{-l;o&=vM#dL; z@3OKW^ACIh5M<+Ndq{5C?{g)<5wIv)lKRINeIwFdwvG?L59eJdsLd4IR|QO9)yOUHgC8VHEx+h*mcD( zw)fWDN@LtFzMn6&%wIM}qijmCy?;)rZqtqH!ku75le(0!RlJj5Kd_>-HzGe7>caA* z4OX8=p2=O~4K|cBBq-44HZ8k9L2DEC(@GVTkiVvS6$5+Zg^Lg$_oBzSm)63x;1XDL z*%98<$NT*x${!tt8b6$IDaGh-imk?IAi2;5pDgk=ZC0s^TKR5!Ub}y%dv&D>e?ITEucb1NE^y%C?KUiLv}8y=HywHWotezzR#l)F{y^{h z!W{yKAQw{Cu@8%&Wr^aB_vl_$Nn&sp6k6E!jU_&r$yw={ER?;C2ikuqTsehurQz4V zJ+Rv+UBHT(fZ-<&x2~vPuwJJN#AL+%8w5*Eh9~ts$g|?d9~eaOwm)Y#`W=^M!#2TB z^D7h_Y9^W^vd+v83pw0jW#g$W_Q-zSDa4k2zs{(es)iJK zumSI7_)IH8xq=9w2|Yr%e;M+1vNP*>sn_ZQtA+oeud670^Dt9{X&IW^Lxbj49ynVGu4gX!z{Z+&1!Gv4f5zn6)hO9`PuX zcf*PJCAt}vFing*$*EdF4=VS+^*#WS7&v+r_xiB$U;!&iG{$8Y!plM#f=yS;Ir2V+@QMEkIqZNWnbAiHP_1)T#o_5FbOW? z1GhdOax!?Z$#3w@t`~v740s${fl0`veL{%1DC1&g`SzOo*W{8INW-`5hw0>=iJsiwl~n(zq0`94a*kRi;%7%qu`6HP)-E&Fi2up5mG z_A{|P5X%?Utt*Yq(q|hd)(61rYYgCuo4KNGisXITM!oipOf(Y!#URcX?QAK_hiO=Q z<-l@s13h(xBxA6_ool$(9`v1k?;qUiP)-)5-+7lnaG3$d0*-xEo;?$WeenmYK?7?6K*_rDUP70`QZ?jZ=s`e2!SxM9}k2m zVgT=gaNo%tXcgcxASfLDO}qMaC1k@!=^_c6jnM3hAyDhkkj>!k>1-8W6E)Jgs|9um z_y;*|ug%V}f6PKXKa6nFmb!pF<{@k$eGbtCYc z5pvBcFN_-sutycPXdEXJ-h$e$yLX6lYr!_C>!OC&PMCHVIkN$2qQ%5+;HlYvSg)<` z8Gh&24YhJlYj23Z@er=|h<)#wfj(?IO_vrL6MU=q72XkDKJ5Gc`feO%7HjzW2z~yc@KqM28(aDk#@$8h2Z`h0w$Z63tRfHAPf*rUTnZ zY?E1sBaySJX56G1xQ8`+xNw!^n%1l%^w23gpy`7AXi^#FaH0$wbIBP5?~2Bvd=+($pm{}wm#QU7)i|U zdUUIwi+j&|DvhfQ)J@e&5c={P9m99qhazTX*@}EN#v91`@(V2IV;G4b^FTRq=Y=Ky z>`$XzT&l+Ld)$P8ua~Dal`TGO*AWZH@0@p2?6Q1uIoo4~`_Hk>Fro-U(|#2UfZDyQ z*tenzSJrYbuCa-0S92Tr3(bHGF*S`pu*RFAHR;4-xR^!#_CjyYA}@t7xIz>qE10zc zr(W%IL|Gcb2la4a!hW4}5?2VuSUtZZ#g1HHN5+`*FQNAlaqzoD-WNQz5e@5N6M?Wj z!i|KhH^}2gdQASu1Wio0lQEd8jy1-M`KLEQ z?df(@ftdM!Pb^(Ssfu`5Z}Rbe@QCM% z!hR2%@I41xrgP(0b-#HlVXZQ9c9r$_k<`YGAuGnsNCf~ zFZ4b|@d3daHenL&mR2mXFu+OLKcZVTv6JPAtX*XOAPuRk-ZqOO#eVJejeU*^&x7^> z)Bs4p%R=y1r0Pwg8f%VE7gq@#`ifPbJb^8E-S8|0)@UbRm09*A%TZ#wO#@Fr2-9pU zKnVFbfHd?ksL6}D`Spi#o2l#}I!R7)VGCE=%Y&CcM15IU@wPm+3Yk0QX z_u+$speKJ~g$;9`bSkWR)Zt4T`C`qq{;67~LiO(M9peUwltX+#cUM=HVbJDVTrKza-nS~!d=MX{*(d<_zlS`gQgJk^IBNx1~~z^%@Qanbp>088_X;LXMkpo_-> z+r);&G#MlUIc0^B{0CZY&8reXsVm<1=azckbTQgcrqByV<*%l&3e|J$C>jB=zd*DR z0?tdQt{bmT5Aew6LICzo0dy@|H51XPjH-;xwpAyr@)VKbnk!2RiAjH|VYZHx|DtSH zul2y#%N|MG!lObr?6(s#h*S|`awB&GC}G}1z|AmOo}mY)*%y65XZG(0z+K5|K+nTd z)&LKPy^S;WcEsyaNVpq58Ekils#mmK(EGpypKd(|0pB@xE=&IP-@EfbD=XR*d*y%UD$UpJ#MvwcpPE*pcv z82htpbz8k+WrM;#_$%qivJXh#GWj>&NZf0o8P3c9r~#o@FY1bd(|}`jljd}Hdybu| zi9>=ro|o+5=KmZz38bk|TZ!pC_U+F@eNw~jGl7SW`6*$KYjFzFCuR#g4_j%Jkd{%9 z_`27d_tneV(ml^wG8M1lg6TRB8jrx={$P98owK_MSMOoPf)rl=pz8o?(^}UmRt;Zw z@Y|L3D64UdfX1yEKa)c=ZUl=B9fDw`sEo#k7YtW2PM2yL&#l0;!}lsyS9)f0U=cg- zmQIv5Wm+Dai=Sxsv>-5&aGX7GH9QY??_m>U;Aj}sNt!mbIf4Fm?90q0EPc_0qO0sN zrXhF2biy1MA@)dgHT10NMkpHu2|Q`QRY6ofH$~Q=-0b0W`-aczcxpvq_*5H8afRK$ zkU^g_nWrzivu+F3Jq#~xw|gs+6-5|s#v3sZJi68^i#v&fd+y? z#1i@WB-s37VK*aPu!;48zwEa_iwH>gkXF*8)@_+#Jn8h+$UnWPBoL3&=*kG_5DY>F zUyM9Gm-z%6`X5VQ0vFTw{x6|Og=m$^QkK$g5DlVG3E3(&B^8oETC~h-++O#&=iIqxdCqg*&-1)b)8^$dhaK`y zd!pZ+=4>BOj(puY+67&FC%svDS41UZP)3ve_366kM4oShzn&2s;j4=J94An$K#Ps(LOyC?R+ z*4`xj>7>GCM=M>rnHWJ8YJOoSov>T4dG)^Omo*?Q>$A3t&O~aV*Q@tQpodm z`m?}y5fB;ahR)zm@?W%lH|5#H>0!H@ud1eiEaS?6MJ-5Xp)2@=0ffWL_8#rlz4H(< z9gkPD`r0kAM;unR3+=9E?>)ZJm!tY}OKaR%53~=q+bzorY+EnQ_lV?E+mixfF3u!z$)xbY!)+(m_u)qL z0+*4KxHEXk8q4i^#LAMQ@ls8?bh1M4M^;% zwEL;;T=E7qnc|yuE2mVV`S8*Eh+R+b&STetv!pzmU*M5e&?Uo%@ndROaz8s6-6FTL zqhXvLH5r+8IB;G9^&#&KC{}7q0f|NnTbvx?q&v$PM{xz^4$+ah!_IjvK5W)%4!|&u_sl}e3uYDt;Xt4sZGjM&;$M+r3iZ9)tUS0xc!p|8| z?(O0x2<=gbU(vu2b|X7EUQ1Vb-W-S&>7U=OE%%TYyn`JSwliznh!pm9 zaU+sUuD7@am4fz$w)q8|$J6!LnLGDJ^UQjL$^Fp70F^RdVqie)pw6_OZC4{cx0Nf> z%TA$jF$(`Y;R95fyS2v?H}i)^}9OiPVxdV-^dbtcLvIcffU^QcGcFHG)C8YtELS$~uYsTRDQ z-H*|uB=IEq?RMP-y8w@UO_S#j8@H-b=6pcoxu}hk{`t=&iJ;(i_%eT9Q1y;W4d|K=8a@xd zYq-OYX{u>v&ouWQ3e~K@jheow7 zZZfC=+b*7iGpM!#!uaCHyUa&0dj#aXuQMNa`DcZQ%m?>pI4xk0$-W!PM8A+&^3n%) znV1}JN1*FC6WQ5!iP?`gep%Saz%7uly?8v+J>YT0;o8vIpvduH2Cj`~eh?^DJeS%) zo5nefkQePcdgtDXk}Z);jjt}#B}go_^#fq4JdEp?~TKc3j-lPF#1=l7W=R5gsUFdBjHfjt~278C% zAWL-5K*=T9aOZlWit~`hU?S?9coyb0Bswe(r<<{_B9M5PxvHR)Z^P+rusq^>WyjDh zFyOD_=UrLW5hAjNWbON*TN^{SJ1vh6!tXXvyGXgYss9GRmE?hJE04}cKOg=obdX=l z4cz_x_iK~yQ_Pa7xvKva+`?KqC4TQo`~LR;T{~aF=QXy?*|uTXAOF@DS2ZPPILiXp zHQqOk(+d_5pZ@Z$AN=n09on_6($NUbC8%BSN1>66#ahPEiR6!P||nlS}2|c z;+}2nmx}+lxOS|WV`ik{+Q_N4Qp#-6oYAut|HemTf?9ZQBz}sVfrn3FL-=g+L9bwqnau!@{I`KjopJVRCo|(dBAJraOg96m&%AdK=ChCPm7+>yF3(vo64#Nv9 zVZ6BO*OqG(97x1T!AZw&{JC{hVEVaykWzD(4d@!!E5H0$As|}WCbX}%@lp21Omkiz zR@B*FM$5_T^c8lup2F{x4|acS)%YHSKX#>}p1%6ZvwuI}RAS!{_od&g>HbKL5SuM zEAqygfP3+IWPDG}uCF+JS24U|&F z*X?}zH5~K5!4}DH*j3?>_kJ|){)yh%*ZJ>5p-cUeGd;s(uDzZcerIEKNAag|KbJtu z)WC)={;Pam#?^SsL%~BnKNL>wGGT5Y1>us_uAQP*{`BVG^V5LtOw6UGmeRl>pM1zS z|B2qFOh!pRU6J!=Zsmn z$+V6U+)kB0WCKy4xKUiQo{~u01fDqlc$4~Ip6PX0WV}O% zI6hh{-UC*CZ>G~v&-r#qz@7dhWZ{;1#q^kZw(zkzya$Vg@Q_Biuj$>hsq~48v+U3? z=a0~fvadl|w+oUQnW(yh)8fM0@kyJk6+)L5;6A0>HNpeLLslaK!%3_IV5B>%tXwUY zFiTP@vo${+kEo3Fs|Rf_FTKVec#eJmUZFfW$9%tpIx=*@6Hf?0Me{OvX~JY)$z>_L>6yPHQ; zJ7#UGir6Bf)%N=r9xH&fD9mOne#TuM7B|vov@G&|$xYmY_18O#E~FRn_le9Osu)fd z;qY}>1H|j|qlyrmLC>d0^+NW!_eLKT@L&F04t+5o*?;KWL8Sy~AJ|ZM<`>O29Q4q4 z!_;3^;I)0Rt=~Csq&2K16}_}!o*GBPF%qsXy6r9=W)s>p9%-FINiO4SmH4&qjvN`I;sbgtv)Dk*za@vzJYO3(BE5rTDFf)7ABkSU@w;V z*1*vy#}W0+iB^tPH0!Ka-js6U0BRr(9A2L7>5#o{d(=N)NvTucCxa-{$=8#)!C--# z=f;81=@WKbtI<#cpixO&tZNdv?x36gQ#lDfY!btmUUv#MrmGYR9_*2XtU7GA-a_dW4l|nVzIv26;XonE zEA7SkPii$Pht?W+Ch`4n$e)5S*P9JmxG!~zIJU-gx$ez5v#+X}n0m*ab=d4m!G%9H z$CgJWaOsg)DWZCGge1Mz_}#9B5RG3OIw>0l6ey!@keARt{hzZ0sXxrzhCDObfj7>! ziSpY3R=TaP3{rj{;or*AvEjA$4d$dqyu`zB&9yueM(osW8`C{^=a(ar(pec z!7Ce!b0%l6tm>(8KzM90Jah zxn<~cu%3K`ND+{DDuZ+j{s$z&J z7tfV}XQHu`ANjyD6wYl`0kS9@R)!+F5m`iBo=TjcO9GT&$+WZxf)!DDN-ZQV#zX4I zsGzOOgadP$=tU9HKGzc)j8NlP*kO`^HD@E!TYJCI$NOs0B1g`ld?2kQF`BE$03JH&ceC9$EAs12j7V^F{Fl$7^j&Q3+ z>jmn(H-^-%irlVG!G;si<%mc!$f76Gz=Y4nH0O=(CBWrlLhj9k^@sN&^IA&R22M?( zvtp(Fh^?3hI&SU3Jzk9yKiNB;kZ4>q8nv+QG=pjUE-Zm)zK`QD`5Idb{0AV_;4;O= zDiMRcdVR4d6hBFAIsShFGR(3@`y<$MH1M2N13XABaXFQxNtUFX)DG7g}6WE14^U z1uW^4ARv!|(aIrg8(Tn{rC`y3CYuK^BnXk$^J;(%#q>r?q4*XQT0ZxM4fpv^F>x*kK7gn$r5U9#HR`Ciome zb->JZqeMot83l<(J#~sY*ovZ=Zg)fn)Epne|GYdfW*BIgZkoJTQgk>IaT@0l9f&xJ z%LAL-J-k^dj~Un-Qp$V}JL~E|k7#VKE!cN*I1SSs-Wvm9 zI$&fwS4-gAX$TzMPHr;9waKL6h-^zS&rh#?pCeR zO@0)q7v{T&KsQ;Ncx(gqkN_sE&{qF}y*nvrwp4!Y4UCs$vi)F!&4QHMD#NGf3V-aSg{5J3t_bf~q#PK_BNO$$+PL zx)?M6nS`tLNYTh*$??2Us#0L1(|9rE@$*qzpgH@&JYw@Ff;vksT3x{g*S! z2JA32Re$|KTnY6)r6z@-n<#NUQ$9yEF&#iDHvvL-NqQkKKtjFnE!Dl?f!<^I85n1F z4sl3s!%uBdfz=mWs5t&i@}QB4M8nGa44ov#2X;fP2>ch=PECIwLxr&UixbsKJ6b{?iY;_QX# z(FC3AA7v>^YdQvf6G3elnk^1+WiXdH6qcaGIoYTR=T319Z?@ zOQVS=K7+I>2d)}mumK^@xxhJighyujdGzGT#ahd+0TcLwdWsDQ=v$t%92%za{#+oB z0t?e~Aoxwg?ARdr5D2FuGsOy^rvna)Wl}~4=_C?>p6mZg>x>5;+a@@(&RBT ztcb=NIKb`4BZ-;yEC)<}caqLMlXtjA_4#WLf{z~4F!wK2;G-Kj9z9PI;I;7`6dc=E zE(3EiKS9T8Ho`A?V)irxNPmkePS;_zhl9OafeYTlif6~Hdk%lDrOVE5|0FeebzvYnxH&m0r zWMAn3G#zIc)FDx-vU%yzGu2u!qSd7^$vX_3wki9nIrM1jA>}sW zoh5%U&m$R8?}?+8=!qX(i*3f(AeLbvq&OlEV zX}azqkB6FG53t;<|CWTg?1n~{QuNy7wkG15ZtJ6!$^fbq*84q6cK%jae%7{6FJp`$JvXQw)0xBZDf22JLJ-0D9(Gs0U)(yU(W)+p(7pWM^gN5F`+pBK3oaGI{Tcl z6cU5t?NVJlOuJr0Awx@%OrRgCf@>;ZD=>(h)cq2Q(2;fPe(q=^-;+>jpOO!1Sawa^^% zWi^+*wh40v3p>~;xHAAI0JVoDxiLqDj!jW#*1vYX<26{Ay`Z{Eq$vKIk{;cO?bBc& ztNjn}Oh8{=!LqL8iehM07WxeTNKQQB{qFGIV~xZI>o&fAWA>Ea*xZ7T6MP2l4Ig4W zRzde6j&a`SkD&XSjfa@niAvFHzQ*?lSm^acJhW)P=$Fxx(qy0xCUkgQEm??1?6-fz zi`QMj?0?KEjvT>1hc21lQ;*>9=@Algi*b{aAC%^heh~WzHp6pFZWXHUgh?fS1tVJ* z7mYb^ERIK$+Cezz)8pzA%o$!D$Dv+XcCHh(H!qpPP+l~+#mxx7tP|9Th~mW)$Lxk1 zFzIit#J}w0eRS)^dWH zW~}R_y@RlvpqLN9gl3?@tm?L|0UfUm&#k}n9iEynf7wWwBSUCbyY`RQ<(n}L5diC| z*G|$ls|bRp}4m$F}rXoQPWghf$l*gawaZw~Lip)ukx<0V*eGS&K3 z-w~@KL+zB+QJ6d|g)AG2$o2!I#r+k0If^~QfP)&53Wx`Y$OF`pc6%;<<|w-MI}%=z zwlWYP-Rp-~9xCO0+(bjHJRGox%r4^QovW^D1yU$lqxNgsjd?cUHs0#QCD{Av)SmT+ zF)KNi-!M1uI8fM!a7L|CVC&D)y06UWpsVl0HgHW?I?jyAq=)c|Fr`? z$=m+2_)ghp(R;*2o8o+j89ROD^Xth^4_|5Mad@M5F7c{YBnSR@3G40i0Y0_<6wLdk z`ZY7P&J<|g=5xnGuJkKJ-1vq>|Z_*(>6cGIkV3%OJD zkg^?{yR!0p$)i2@LkmtX6hS&_FH)hC2FY`~x8Z=dmcqcH_Dk~`Z|J{J)nmdQEqQT&CSUijUeokeCv;oyH#&mQ|$HZu*Z^l+UeNruPj9|!>kCOIG&{)l6b_n zMjn_WZ<0s#)qBYtUndpm#Ou`%n5SAgSOk^Vf}=kJh#m)o6N=)NAwF^tSS_g*msOI{ zI_%ISoHhYuaZuY#I<`$r6PTB0vVCm@)5N@sVnamy*P7=5BMy@g)=f_Y9|bIa%5MRZ zwhU=?>0;?WW=X>xu%aZb?!(unD5MR{=U(!$KGuGw1+fJqH>=g>>5Nt^#fX1tmzKk+ z0gHeyFj|Z}`yOZc2-p#rS^C7Gv~BNkHc9+tZ;jY+>1o7p=|(w|paJZ4DI0UFmSAT% zC~-@7T{gBYzk`@(nUwkGjxiNUx8GF$#<(V;nZ;X~Q_tx>~Uq|m1Z+9k4`Yu}oj ze5|oK0eSAjbFhgUSmFt!Nix0oYky3JV}{K>g9OPR=rt{ahNVkpQ-l>`MZ{sj!p37* zKX4SPX3(<(CRtip85w)r5Qlt5~LB0Z%}e#$?4H^?oRLaVWHz`*d!t1c(q-V;iuiAcs4bqk^#c1cTqvx zeU)$#71jkeupGG~l26C&#gBl~1YOFZi?B;V6>eueZ6DTxU6zNVgCr|q&k{56;&Wtg zAI{3?QDfMs_XA}j%;ygD^ot{iaR|Uz96^ulE6P;r=|JBGN|aFWD`*KyMX_bT{2W=(KFH^h-5F8 z7s+H?eBjr#@YU)Y^v>!zDbe3}c6#&QNruF4owtf~d&IzjCg=#Hsa{htiX3}3aNrqf zI_Si%0MV^alVg_lm_DyXYkoR$5*q>b!=teJH*G$Tuv!6$27KU@+;F!wlIT5}0vWxH zvatP2kV62AcHzjjk?7qj5*b7gC&2c%8^DjiuK&Lc_ukb8fxm1r6({f@ zZ)!J>tR}kdK$@nU0FWDaCN}_%bOiA;GhXEc0q@EE9aWOSAd{D4^34k8EjDf1A3o8T#Q!RkQxXhka-q(5Na?Y%Ek9P3VR_D%M=z7(4w>a`qj?VF!&4q@$%C+Z= z`7_GVW%Zx8x<%JXGJh&104@D}aUAgNXq@JTUpJ9QF2ZfIkw|}2v`E5KpO#5M9GCxBpu}7ewJup}pcsI-N)=S2@JTU7fy@w9aMVbTZC!T1}?N9NBV6 zrgrezhXlR{anwn6lLTy)E@O7EMNVb{Q2bb zDon-x!5Xn9_x_EQF8Rcal=OO7kgQJye>!q|;uito?JtmL7j_)7Yin6L8`S)2h?R0x zwGKp9lUvEaZ?FMG#A_~SGXfhE`Q|Nnb=6=O89y8$0QFN+L&nF*YjBHY`|N-XZfY_y zI}|Z^vIdnL1LfLh#9Eu-4Vbuh^Qk8A;7cgg>fjq}e5a<^=I>x4NkEvxj3!SasTT#L zG#r}k!T%}Z|GV{I^IPmBuj_80)yzu->~dh_hsiYP? zz`c^XE6?AHqtPOg?b!2>GzU~q()1 z>=dBz7Y7L3qRu?GT+H)5@Nz5bnx%N@<}h)m;ep#HDiTTBKi-0?jbI~v&rgHEr3xRy zT?Tp!!DGjzL<`X*n_qW;7Ltn%>^sRIY0PZsB~TnBy^fOJ;u$hyhHNOmE=LzLeQ-ZL z9k{%Wh`oUhP<}9hIz|%%H^#B#?(v8B5vzf03~;$kFMla$^t_KggcAH+R|T2qgM&=> z@sR|4{%=QBuI3ZhL)xO75da>fsDR#$2P%`>0qfJ-2WN;6))*(iuzj!})$|zl3-2`e z;1CT+7qFmt7kD*rhQq=)UuDGRbtvxhWcLD-#X>90hs^-l#llT!3C9&QK8SXe6R|>Q zI7P^7r2!_nog$v$?PTm8B*7mBT>r1sCe%c+o5=r%dkk+nYq{yCVXNE#w3&;8hAdp; zpa%~A#hf1*I>{6{bOkM?q-nUF{<6TnOH%*hje36>CkXw%98`G~W3OQ?di&sIN{jV+ z;G(3r8{b*0N7M&|lb@sF7t17@1`s^Q))IVx@t7iWE`uHmQ2gL%MIe);g25p|7PFBE zN}-~{CJn7QR>Q!n;!*Fdvkdxjlu$URSChfnUW~5GMSS6FFP`MOSoGH%T~O=6vYNh zVeqa-e)Syl%|vYyO6nkA5mNW(5H+qLaf9zCSnNB8peKA1>TBm$1|?E6NC3j7*Q|?!NE1_;!sfrYz*_xaPR3`~IRa9PQ>rRW3aZ z*4j?J&nC$={GH3!p&HU~)L$4rnMSg!NCO)T3qg7XM8ycYy%11vqW@T6u?(B?6R)BRDS=RI=8^r7z3)5aHfz zg=J|Ac}>5jxIa6QE!j0pnBG1OP5gFDZ8mPcQ0%{_v_*ETX^a2tD8VTDSk+oJOsr9n z!)RrJk!rumYn&^f6{}qGbBZp5u{Sf54kpc2JwZ-zQ=Yn~=PXUt)?0y}2CD{ty1eqh zxcrG~x*mcp1}ra+cdmH%P-*tj26+yRG^j`)^oLhkK~t zkKQ3|xZnJ5>+J};F1pAUevaqtEUNF`9SReX4gN#zHkwPnYMyfM{jX{RqJAFlmxTKi zUt#|<3jMD89zm|f} zD!Kt}{k~dGKn+`c$EfGsmYRmEB%c`h$}h*h#o7ZJou^$V(XIK>H3T4$=58D*L`Uh7 z?tgL0k)x z=JDrmh33IvhFXOPx3Am}t@^L5o?}&PFr$%BGz31<>Oz!-wGr4Hb2n!Gm6A-FZpYoO znGa2Z<*`bSX9*%fD*66U8H%{}P8LJ)e@Hg#%d#$s8XnGC1T32r%vpOLwfWgXxL?BF z2jt$fdD2RlkiZJVPY>-oT$0JhZuHYnOjfLulPz66sIflpo=aY(W4BUib&fbQ>y+M2 zua!d64f0FAn!Di^V*lppRphy}8#ko^D)Zgl%LBdE z`iHe=)({FP$;JD!Ck`)_R=xjXm$h3($##<{Xi48M6J^tDy>gE$&mB#z>V4wg&=#-t zbY+97^z3x;i%#JS@cZ4mVf)Ha$Qivpxj3t?J~Kh?LAqS+;8gL1%)7~H40g# zuzw6dQG|J+!!-6F4U)s)N+CUaeD`YVm zi2%Oh$#EGZ916Jv^YFKVYcbeM$TGx5OHt7dToenS*I*tK7vaYX1PEDlTqKQ(G`I}t zAAkb$igA%N24@Oc>>46KKt-V(29yY(mM~8+LIW0IaI}!6RYSy#P>~IXLBzky80Mwm zqQw~OC}hzZh}cS0&gZq7|sEOL5PE!^_V^6G8E#=%wM-9I@x#76315a=GL6SIirA)r*SLueKt$5g< z(J#htWi?gskK-=g2HDobD(LgY=YTtD{0lCnl{h^?+k{}ei+B$`R{098FA!?hWhVrk z@y8mp0l9P6e@dLM_ZnWJHJJ5>d{4Ifb;f!#W%a0c^X2Mn@TcPDp^2x56K|B4raZ9Q zcwprhhS|Nl)B)Qk%W-NaIhLg=OtIkZ%PjD?hfTM=@xtTw0$qLNl!8vsV1-&MkK<@J zA4O4qpcP5$A|o&7-zDS-TCk}Eu}XQJH-dC6SJ?=I;iP3N5w$OL;f24YLMhZT(dV1&mrtQV=yjCZ+Q_=rx#-`lf?dfOH#~a#BoKo(uJeuPkgFFJ}!(l((;A<;Vtx zR`|&f{v^*)CmUjHb1$yMYllMNZ^S#+XHZ&_;y{W?R^0H2RHUE9X zy! zWnZW9TfNPo?$*qJ1KJm#WzYB1jb}d@=>FO5Xo5$3TAfj)K+CC~CESy*av#(>u|J(| zq;dR`6JuTCpfB{7PPEY#ik_vhWa)TQ&r=^_fZu_?*C}~KoA<;| zH&4XPEU+gCDTmGTvesCa2oi`|`$--*sEL504DaM%bm3iVm@0mSFLG$fh?c)Po4R zmr4(qY!UbL~GR6 z?$at&slAJ2zqqQ@p?(MMkU~l)^IpS`3wzbTjS+|JvOvXEF@CPLL!O^+ov3U{&QZNs zB2%ERWMJyG2(2V(olHtQG^oMyHRVJUkPC7__c`$YXloLpoVWiTEXw*5LzTS=_EMCm z1k$Rvwit!7De_lTw_3e9P(EeS%bm}nzj<1>cTW&bUGq-1K91dbLg`Bo&Rb)DS^ZU_ z4_oHso&1DN7t3gOiAGT>A6MD5kwvcOxGfr^zZmj1$$r1Td4Bki@$hXl;|fkh&u$yU zX=`*2@_e<+GKqov1YmZNlLFFd6Y^Z1gR|MBn%Z9eg5cCb)Fy{UQJ9sq;=!! z0d#;sXYb9_Nw8WyA$RUV`{dNl%hv;>5;Ob_o4&*4U=1uOIv?%eEl$4qO6ynhNJkm% zxut@*?a0ps8@Wq+p2F|2OMlnZ22!pIaFQDI)#W>z5D6*zr*>7xk1ZAt;(Y%M1pW*Y z7T+q2NXz};uU~%_N|6#rS&N^G)#nm`;@`FocVBkeiNn==H@{sRekvW8x<_NG>ccIM0s~@lGXOP z2@OHmd@%e>_w?hpEgRw}am&L5zN*V8@4G_Yy;^+CqkZv;x&{ON_1_oCF&vDxB!`|g zT2`a~_$tR`WwX?DzoWNa`i+t3gHW8B#<8dFa}klZ-sIXoDjqun6k2oqP4C=PS|xp$ zpPk#fgLjFUvSIEfo-0&Sg@-BZJ;h;A*(I2v5B-`101Ju2sjXCh zL(A)-_p5|E5U1Wr-AeN5pnZC^-@csudB8_lpsNSQT}gG@tv|eer#@eE79#ev6V|X6 zCEeTT6L{NKL+eLm$v$*@%U`RqJ=34f681yYq6OcVt{1_$=W1tYeoZ@&tl~ljm4j3` zEdL&5iSBfiI%&)tcl7*i#coaO(P^bXy;8fPWaY1U_Y@9hA1c+nDbv(Ex~fTqWZZw* zy{1CdJHKn~ioojwI)kfHl47Fo&<5uob9tt1)*jT0mzc*iYv^kuZX9)uvv!nPp?AjG z2&dsy^9h@MshfL8`>m0cujV&d-rwmU-CP5FC0*jiEqj0r-mh7l+x3Tj3g|y^h&nQ@ zuJcySi}+dnaGXyJM2{tqQl+TrEnjECjM+cvj?#4xpSMwsiFLxK1I2%*H+ z%y+X5&hID}GOUy5OnW>R%S0@)+?>Y04p6+USc)qVPsO!8^-Qx61PPa`_F|%>Yi!sA5e@byDh zoiZUuA+0I5S8OAR11vVIh=Is`KoxTajfvP4Z)lt2eFnlY3Uh5)^Aw?&nGWmFM`$l9vjgxbs4u|WxB2P*n_b%dF)f-pweZGihad7}v|M)@$X4;p){P>rb zj%wv^$?uEZ{7C*Y3&#bD&!wAQNqCghcB|k>V=ID_-cCybDDok=`xW0{I16O}Z0|oj zu#NL?Tj&7ud^?~`2Z4rr79n`R`h~bm-l`nIWkldYAna?V)d`4~1s1TWJ|9tquVMKmqPXG3Rqc3oh z(6)zH*|@VNYG!3c6y*Q%NPTS>>Z{!#)r&6s3v}W6m~TF3J3I~o<3s@wm+w9GS#b-` zF0TpBWr52s%o^;;8~n@Dxsac+B$!ZTVq#k9nx?wtMY+_@+b7#b6+V8vDtvK-A9eT6 zqS&1|(8msgxYs7vADmroWaf=AMc||;pnXD9nMvaK;tUz%bnZA)>{sdHQ=sy54nNq9 z^ySExFjIO#!8j9cqqO1i_kCLI2SGuz{k@w1sI(f$u?uss5BLb3^W{4u*8ggl9*Ne3 zxf(bC(?G9pn@EEqfT1kFHI6rJvafSJzVFTjBRkkav0tIMxqN4P;?-p_?avs$yhQnK zgc-W17r_gX@0MOqTo5~D8q5{^N3qCyI)Kgb?|p1{P;7(7-GPVs_SZ;wvP3e1hm@B{QsAFg`7^hkZ%FfUR#D-7JvLq5Jlztu z3&o!pW#VZ%{bApbpT4I2c>DtjF@7i8f{Ii+fI?UR*w5U*ib{6P^96nd|6Qj*PLw@6 zb^=h>+wlY|Zu9sZ4+BA4&Y)akR8P804IDiuDuc=U*H zmwYsUi+pahnGcW}?H%pqP$cpCm+j9~ss*$@4)Xrb^y`0R3tUEmLO-C=3pmU*qDQe` zkymNl5i!v@pYpFc@yPQKV4~5_MI|+WsyKg}ol1RPVm!bz4&mXAMye!Q`Z(y_5R3mC z!U>LnWFKf{hy6aW&HrQS&EsNf|M2lrN|aHN2qV$*&{Nq4(UDY=WZ&YMsDv=qCtGvc zs1%bzC7B|{L#AvYI_-=0LK02;Ub8o6X3jbH_wMuiy}rNSAIMZQ_c`ZY-tX&uUDsRR z8pL`9LgCx%S9>o1F}mzz)bsj7_Nh(o{-v+=4xmeg3O#5G`@h+!jOH5Ey#3p#)Zm=) zzV|lcW46zAAzjQ>TJw>Vl6`*A5qU-a_*kH`GZ~bY%&?a0_ znhWG~Jixdy9R1=SricALvWG3L19{Y}@rRb;rM*>IDPo0%XYr570?0%*WRSaIweXV&N0duSIK^Br9YTc9UffdAb1ZO`*O{g>uGSUqQxbM=-;)JY}tA|_EP1kz@HjJ?BWdnBJrx-iR_^%yV!r2 zg1`*X1iMXjpyUD(#{Ov9&uXtJpnuXhv7s53ZcQ+m#gp%JWnjbI;9;(a38n*CGB8D_ zJs9cY@=d_Y{x`^A?$S?7|Ry}w38v!PswxtHqVH~axN?&}WEU9|A(=Og17%E# zK&5p)e(DRS&=~C(jKNwo3J>gv>RF?}>Wr&eW%!yd8Wp=b2-3!8-#Ety)>J(fBb~cA zADI=dQt8@Jv4XB#q}!@yD4G9tsGmmlgf}*g6Bgxf1C`wZb4npU2D#8c8elLrxact? zsNQdM6W%|^ctG}|n?jCGF{oySdHk9Cv{FC?P;lAPrG1bfs*|mBdUfv%S^;U@1%bt&{`K9(_Y2slf|ynT+0`Q?Y2WKSiT*m^*K%BB-O{ zQTn+PKkv54ktU3)N2i<@bHmPqMfa|e2Th>1rypeq6=+5{aH38djQ(Hlb&X<~APkE2 zM%WA13}N8s`ghFw2x+s8ytUDFPwoXQ70jB2ceRXB&BndFGh6ToD$sZUXl^AkV`h=L zF~Nk_r5>89rn+x{wWPnEW!nQ?zGNor7ccr%$(4G&Wcw&~XDwGF4q@{&f)@cu*yaCb zldc4-Ue;?Um$MqE#0`|k{F~^i^VciJCBH%1ge zo|4wl?HFIZE)LK$ixp!j`EsnhQvleT7y>AU$^&q&7`Pp1?|jT#nGo(!{2L>e*6 zE<_n0wCQ&P?9+&HEgE*6 zSZ&|2XpFXX_2kz_NNsWe3$eM3Cdgea<3SuK=l1~-rv-V|idLz5A#IRkO;7`|2KP$f zW!&m7XU#u%no{bqo7y4ucj63@vF0it{tndeI;BmvB<3U6xDWl7+v75Y`_O79&MX@V zjauP*;N?MZZhPmPnS`lTeuzY>U2Fumpcf6XR*P3?I-{DOk1R;qtU$u+Xm?*P8*4dG zm4g~xjYDC%8j8{W{ZXSWMXE}Bm-)>O(EnW4PVxV`25gjvs#Sk%cFmr*Z`B{IB{Sd; z&%BzDue={(|E<97u5!}&p<&;Jq9q59kGWQ(*6xug=X)1jVGntLFSetQwlh?o$F1kV zj^{a@>zXoD6G>TKsY50pU-hP>X<>(?;B*Z;$8kVZ0!G1*~(0#WPZM` zY@deLPZl(ZT^&k2Z|c0Xx0BI0RG!#E%6=S(Eb z@nFjd_Xut5$=ZTpMjY#>RVYW{I^iB-a5`yW9<_kbNvA4M-D115jGzLmU_^{8ovLDK zc}h8&kq{y^nX@SM zEb1Ae2ZWn|rSf)s1h)9CO^`TZU0GnZIr@_h1+BKa2R}FP`UWJ@NNPBKlNKD)CY%Xphs&2X_+tOsB@67#6%a;hgvvSB=DUr z@!D95bk6O+xlPDXz7W#h$mpM@*ZG1u+2v!KrIMI0Ke_59D<&%&YQWU7Cy{Koe8DG^T`#LmSf*J z4Hn{7D7}Sg))?=44iyR^1{mEG@*G(^GS)zHjP++pfO;*x;0&dv9A=dH!(OL$Z)}eq z`*H5gk863a`LE!nnorj738mEfb3R{<**TMJXV}sSEoC7uzyZIgSMX!PN%d^s;6><^ zMcxnA<<>khytkdWwGmUoYbFt5V1x zVSjv!_q;D;4sFkGk-FO~}hZZt3t zh5@2eIR1Ofy`(Mh;|cev&gXlo-E+XVxu-5rX%+OzM7-( zMz^fgP>g6+u*y+lkF=cUyptFjAs#Gzhu!bEwDeZ!Co1&iFV@)j^EE0aCt_N<)i$up zj#E)*?xv5K{F^O%si3c*7U!1}0(FpA2S$ZnS(_fnRp+UHYe7ETcRi`S4q%Lx9utu* zNRZHxH26Vq?vVjEt?`~cZkZXY(W78~U=O0wL*FoWYKx{o8c^^B`td;V*3?sOHNeAr zPo$C#Irt<~!>tt?VWe@hr(kv{p`BS24_xCqo6uo~Pktc}7}Rv|OqtYfaThP1jwTa$ z0^3JdMpGi1cfeLkDd>iLe|(55_WG+DrVQ;gk90ZLEgo#KGPowM>akyO__(l{XZUt{ z&NoxC5Syx7$nxwB#zhSMS0#hSx0DQpte?kBCXAOZ#G-5~9=!a;5q$u(14ByLq(MPC zohSsegJRQRUMKTfOL|1I;X_R}SQQGPIr9l44AT{QF_gD)Fu$7tBQ=dl4a+GJp7@K< z3a?>pm_sF3K74-Fe2XeM_P)ZSk(rzy;nvrolMN~LckG^>Ry1{&a~C0$r9#wK$-yGE z@Z|chi-D*-1cV!-jZim{9{P3iKB}xSIARP+pmYM4nMK1+O9wCsYs2&Cv1X0gSk$$) zaV^z4mq%L+Vgpda1#cW5<`W)G-j-+qt3q%t7qe(nd&=HvK9uC)Kxqx|oE|$Hidqdv z)_HzY?Z%~iRTgv+s?#av%ah^ZN!Pi)akcP`n-*o!`3(%@KECIFWYeT6+ohaP8%Lk{ zCw8{nBWEsCy@2MWEmt*91yVL8_d492usIY+4Y>${-X`3~h0^Zu3J*Exh6mZqD) zR#{)TLUEYU;gR=$LmbRKL&YopD^oFo!OYcjEEoMsjaAjK(x2D(gGb~D@`j%=#?U_z zxekcAm$Q!TZXm`OEquyBWln=DW1XKd?s#p?rjmok+^ZKzO_DoyTs<&ji>wrjbd0qm z3ei725J0TKqCV{J-hC%o7SMn}5U4USH#xm4!Dw zgnvG8kbW*z15(jP`-gLJyLsQZF{!sr4qr6*K;BP}5y}0Jn#Z~*J$C+EW_cQiX$QEu zK(k51x;^Ae!8~j+?y|6*qk6|yNt>VAp!QYE(RslA`5mmEk)~g71GC6-$f&`#D+8)> zAthTBAYuT+AYpPk_KFZyrOlx}^PxY)??B8*)XsGUAewDvyUt<3G*mxc1-0}0E(@cv zQPDC)J`HY8bY z{e|Xy`0$YuF@=r==+ue@ta1U^t4xx=yC&j)EZw1@U?^7Dx{jH&7IVYp_B+LS;=2_@ z*p45qxAQYIdKv0aso30+gcpOC{QhP& zbFljC{H#vlHIUYclar0RnDJe05d9`xI{y(0Fe6&m;;Ba}5yd;-&FI8~8BjBOrw?4@B1c?l)IZD`?+r*NMZR0DPy zUo@p;3wi=@ zt)CyR^S*IEu3_oFmQT5%`2;tg`Up*0~5xGjCmG@RnKUTkCbsBaHA5GsHt_nfbZ%u5oJ5#qq5 zE>@>bM;ZDZX7g0r1ckgekXmy}ocqxnOE^`R#pL_=NZ^o&j>G%Y#g^a8EOFF4{ED%bXZeB)TsKhqRp7;S}c+&|`w>51S6 zOEk4L|A!I0NW2A+-_m#mU387~UwR6}5_lEc&~JN;W)>A0xJ8I~YU9j_=}O+3bmfXA zZouxid7j7o_`jsg4shoQ)B0Z zDp6~C_J)U#dY_^zoG=~l51wuw6s)%L)F(*=yzA++Lo*-<1Pf4EOcg`tTUN==bRF~! zKV0A9B1n!jlzSy2D{7*59 zM6EKy?;&>ry{CeUd(IIi%OrGZ<`hp*{P+`i#6WAYSvx^JT z&>sR{b0M^;FgWFeQN4o%gqQ9Mf5}nnRjUz~bIPG@W-C*m&x09GRW9ALQh@&CsT-Cb zA(HK|MjP*7EQWn}dxZ72Dk|dPpgUSIz^XV|_)-{l~b+AUX(w z&x_a-&;Ou{Nf;jN$R4(|WrC}4c`A2ZsM~ufIqVOT_;~=4TIKs(6Me*SL=u}4=${Q;8*`J!?!sB+r_z=pM1U?#aW+cPh(G+LyV^t zgEVqhlJ>PD7gioFS^}{g^O&*!xoa4_hPU_bZJegGreZO?{F#cc8498CvVWJ3I|0~a zmMqN}u>pD|Q&d$7{<0^7PzL0#MxNG;d_XRUdxu2Mb=iRuyoguDZCMA=>v6n}%SgGUk*m*JC!KOzJqqSru~VY}zh|%5h+)fEFWy{fWT)&H#c3f|Pv=0fgu7P=8t?eEVX{ zHvhe5VSjUkyX9TOE@fVH6lG`UfMrn1p+c_8iD}S=i;`_^poM^aO_4yFY`g2UG{8=W zY8QCz<3{=U@DpN>RHHt`f|bJ%uAlXiEy^3RLHqeG7;uUGj!2mrr=fGh)U4D`&E}QR z66028JJPk~9(w~y^}bx6%A>Msr=a~9^y&*y3dm$TRVU-k-#6Pp7QbXtIbF(q0&!hr z=ExXVgK={qwQcJR2p8g5$p7yz?n#{N_aj*Gu$*-`Y5;mHpw^?hC~>qXLUa8;$}ZH*FohcUHpGhGY_oC7XSw@Z zJrBLK*<*EF(!az1r74I6QLB0d5c`V-52!^>%7DvUVvqSxAoxN(MMm~SZ=yd_;k2VgEyEv z5_IEx9Na-;omJLUHd3I%847D*rHKF{$<3s-s6j9kBuxfsn26O%#_VNM_58$Es?D*L zPe54I{1htL)XKk-I>MTJT-8c@OOBwDxl=`7I^N8n%45>WS6k|#@K<>eT~=~s!Oui7 z8r=<=7iNiBg%99??T}he-%~+ZKhp0UMuzzdw)Zk~hT$o^!yvk$Pn`VfOu!4|(1ECC z2`lQpD)*Zio_kQR=_WYv_9f|a<~Nni*TvHM?D3n(lU>?R)5iq^3|z0j4~n1XM}2D) z&+VziXMRP5EKH|o5rqBY-*jSgF8jRRCH9a0ZQaK}Px;1Lc@QQG>{Ywiphh%s-ogpf;;^RY1`aC*VXuB_S*LKrQaBmU~HMmZO%z}55EPXf# z+ouvg>oAmi40gC6r$_x2)4^!K>U$t>2O?Cn{8B}I%o3oAhr7M|v<*9knm6lis4#8x z+Eh;-)(v+}-KcMb=Ox;8^Yxdv(N~5}&ZK{Su=v)hS&w1vm}@`UiiB$TE9A7+K9;;D z7dl0BI+(tb1=y|h>{w16=Aiz!E2!-9Gc=*oV|C?qSuJq6tbmBUswr~nNsAi(B>Mw$ ziA8Qw}asay>@P!l0l3|9UeMTV{N zZlFJX=6yX+^{;mS2CW1{mN;#UMrHS5QL1pmZRk&Ts{N_!do&V3i@8`w9crd}p{^(k zxmH|TLLZ~)><+{^{A4~vN*QdHybLa{51!$_F*&a)KF7><)qZgVnXlU=mmMbZrZ1G?HWprIjM-+)?Qvzh5T;kWhM;*zDB=SXhvaA&1XOq zto~~;J^WiIi_#jRKE=uU$Quh=7HI7Ya=9U@i#s^XtE}9*If*)Oq>EnMVqqahkDP^` zB^GBt!TIj-IvdQ}GZSQ^ZZU;T>rJSiEG-R5=D6M0!MC)dhwu)X4;wG0R?chWOOq?A z&_ka0DE;$k!iPCZ_^R@j{X{BUVFP46UGS7@m%H9Qc8^)oOO(NU-puLx!dL8_mppq* z;nN@wp=R-ER9E&nt&_f|M&Q%gHvEYEAp3HKDJ7yJR=>=Uk}QO)%vYrYwe+%|kbL68)*3MB<|S0YdW@PayFI!)EsR0YwANdH{wOq>KS|8> z1M}Z0T}dtMMr?W3RbuDc*fOrcTXc}Ij7weJa@KdSbT)7VGd#nH6Ar#2#R}P8O<#19 zYYhz9cO=}~H!3K*Ir*?Gf_k-afR$<|>-d^ETqr>BM1l=J_@l9)XN)*67Tjk}%4NJ@@M}g9&(YP#Ay1965i+ zg1=X{@&|LxeV*oDJ8|t7e5)g&PUrNuz>)n#TrJ5pSjNH{h=UF@@D+#FNZ>8c3WS~O z2V54pfd$h*oa|V|1Y-7slaG;h@9_oo&SG&(ns>8(be4iwUX@v1@Q&bT!ug~=7AQP4sfQkVU?IVMedQz? zory)cd|j+y*r5;tx@-Uk8!7$8QloP(bAj^K#-2*Lt~Oi6OS78zB=e`MVnu0sHeIZp zd3vG(Y})vuK%vmvKciC6>$9POeR9V}c>b3Uox?I>)UN%l$2LqKS=1$kWuM2p!O40+ zL$_cHt%5jKp))-IarEsOVL){9MynTy$(~xu@!xS!TIPBAI->a!!E+Z#t@p;CgSKt- zednnj?D$v5#GAC`NhkXGZnHXQ$~<<=p&V?=e-eh__h`)uzF*LLevIMU#o?zOA7@8@ z=SA$@gB9|kmp`XO$=Tko*oQVHv%|Y*%=(N3AK!xPuc91LgFwPH%ET>B;Tp9VcO|#Z zzDzm~&yKZxrD<2OFxuWhnF0w1_dk!p!)roMT|5Fl!$3K-%xnnsk+s!7+ZT%W>_g+t ze3py27TI9!u~eoLTOqj=>ise8!j8d^z2#t9+`TM*Y)u8rH4J9+QYJkc0uChOFgKwl z=E|oM&-4(sp2S3?MU(Km%uzbkOpOh2_Pa)YnW>~`Pd*YV$i7$!aeEK)rzTo=yqBHA zw7sU{aoNC=SWh>!6nhR?}!;A$EM=ib+jst)Hm;j7`%H*u3%tjOp za~nx+_h&J;_Dl9Y%IH%O$n=Wnr=Od8Cwvon-?$5j2CHI`sU_*un*Q3v0hFV$LN-Ej zKq|(O>D#HZi9!fn+I$S*hd+1s@pm|p#5vHbTXL^@R-~y&ebO^J;fT$7I3~@#bh8pT z(J7-jGbT)baVPxHpG-_=_2cS=p88{wy^{xM;0+tjw~%X+2(W*S9J~r%)AiEa;|C}_ zcY~>^0%6qpc2Bw}^OCB$WcF+a>RtEDGBr9#W7ae8-j8L%3zWu8o6eOtza8$%Y2*^E z6@ibIRnpJLBkpsI7LPz^NaWf;|2@d*+yn0ZRPke&KKw+=uUOW1neL_CZXj~aGJcQY|jDeYnwn@DctUKWK+y0sskjNXkOu+mYM*dCahy8@jz6((Y*k!|tFr%^O?r8(_UX*i#*;i`|*mX>IBOeq-1gyseKh@uHby*|^_*D88BmzqHD%nEyOKyEVDynH{j zsq%u{39+&ws9^BJO0vqzC89 zOycIHjmPNs*#6&xnI%j`JZkpr%3~Soa-|b7WON~hf&tGAen~sm!dyG!2srUlGCFecte28nR5WN}Jc=0Rc5oll zHVz!0GhZ=?5Ii6MF5Z*X)0dtd)@Jm1ZiUW$%w~-Wr4+g@%rgvURx#7({}s?rSxBy8 z4`B%O{@AwA*|-k<>~P3qV+-xJIpXI&;@hn1MSR< zQFquDv>$Y-HZcEs1&b#t)uLSg{0y&wCa$5W8*l(cmh4}GyvzbkO!a{8^Z*CLj58vm< zIqKZM8SGPqH~vw{U;2zydAN_Ly)j!k_HlbTVKdao91S`t4b8E&Nm>da)UX>TjjFYg zGE<%2%^5^O)mszLr!OX8e!dh4h1{}{hTL!~QW)_qC+77>7wz0L4IRO-2fY?`KW{S3QhGAl7)gp_?6rYV}c1>6oS+qedG zWF3!7pvV;!WrPO~D}8T7ke9{TxlKIouOtzaAZ+Nk-JI5<^7zoeF9+04LV%5#WY|XU zLloAKt!M!+rHTn<&cCpE+mqXrvg7rbc{%y5fnGUuW>S~$K6w9%A&GwND6)#Y)#FpE z0WoMDS6?DI+!Hk@w_L734QyUybuaqb+q%mjXAG2Zp`~TYXR&`J&CL}eOC^{qpU{HX zl{neWBy9}-WB0c2S2v=1SE4#<|HK;Nytj|3AXUrWdknd|Cm-I}aT-|lBr1~IF)@Lw zko5@o;b%WX5TG61m#yMH<-Fk=I6xW)qThisL z);Bi-+&@lby?vgu7@I|_G^Xv-GcQ5S5z69)A-dZC#Kx+_tAm{5PCRZv+=5qWf-gao zH*}z2Rrtn2 z+ke8dvP3$Vye$GAh+}=={s52kdY!d=w4CQQ>q1TkHqk~q?q9-AGfijzL-@pi2isq? zRAf)WzBl(D22f$1l|QDPZ`4Ltws?sr+eRX*GFkaH=W;TbQ??g_*Zaa(Tn{;UrkM~y zu4Y*m+^W$^7NreHIL*dpK6wFw5=hNEH!zw|4}NAU!v?zenzNoDI4zSC8?UHIDz`fQ zv<3c>zfv>FDvjYpItwRL-kV=Q%7}zF<+f_v!xTbkvO6-1J)Lblbls!9>Az5m7@E0+ z;VQ?DD~I4Ci9aH-e@+u?gYV1NEc}ub1KnChFh`KT8Y`-4KXl)UCn6XU78GH z0Z~4Ga{tzoBuXTM!zjsfHKvSEA$luhnjSi3s}+E*xV%b08S5Zg5{qb#>l2qQ$UmZP z1=_lX|A7>TNfTaV@s;B@!<92nyPyKxUH~dTIk_8#_LDvIHI|uJ9|2MUpZCIaJ+QW!n zQG~#QuBBtqU%kW3zGk@Xw4-wlPPCTWlUhsnW9r{1me5`_1^se36EeXSFBD_pJ2sJ8Y6XVrF;81nlgJ<5N`%w~DmWG? z_suGeCO|Mumq6MRT-p)GU4ZB7%_Xzb8$mrkXN;uCC@!aqGn)i&AC-RIj8%QDg%FhC#uw9I4%b2{Bia-)^cJ&^q2Dy+72yOf4LpFv z-M~{cm);mhTP>UHDeL3VI7fU%-ko`c5+1JQ4`K<}1CoE>Yglu^8 zc=wgYYl&!s9oyC{d31#O9)z0^WxY;#1@`w&4Yb7wdqoag6s(4D(6J8?r8Iv}Iw4&P zD@Cv{M|S;4QaW**IiUQZtkZc8`H)EkrT#=Snb9b4INuk#!jxy5y(*=sI(7o?H1l`= zgS_C8I~^U`i}tb&?I)r_`bm_8#)14-W^?}?`OV3dnU>-rFCm>;|WHcW65LU|N^anbC)Gr!M$XB8}8 zORng+boh(-z%Yy@{hR9eI!KGP*^G(4)bS(B-v?pg9$J&e>Ok25FTiO47E43Aioz); z%9~Om5rtvx)Ec!CM0F>nX>UAk;;Lhy{#?9*!@aVyX+)3?btvo_RGI0DE$c z7evACG}>T=tZe7VZQf$920CU01sPDN_Ve1BVv8(AfHO+=ve=~cKj!2+X&);UK@T`J)rg*x5#3F<*?753^u_btEA^amNDf4^$y$=tI!q+syF! zPztDj2?4A05(K7H0vH9-=l|I`WzcgOw*5+2J`TwhVMX)>PGAPXkcv$%C?h60f{UkB zrzp9g3k8b^Rm9S>km-IaPnDwJ*Wn~06-<}{iSGDRvMdY#g5buH;}m~Tt4TS@XFYrJ3n69jq^b4wIxyd! z){N<}?Zfh7K6EnluW3K%BAVTf@=zc3S8Oe8 zOxrdLb-Cd#q=p6bBPAb+)NQc^bmqsO}$uO8EOQmyeW&&>iX%$ zI3K@S6$=Yk*J1A%@bC^@OHnUjLN>@J#WiTbL*IxcU?@;V>2z>vo`on#RZGXl>Rhfxn z{wIaiyfrrI^F!ie`WT&dw%QO*`cxX`Dv7WwrLtk08*bOXkV2F@@gQ5HsfI4Peb~^# z)HSzspoSlO71xXXsj1=EHBOsta_B)XZ;3nSJDIHJNrvK|tMt&I*9c~`V=6rE@ptH# zaR!SLdqg~HwApqYN|e-JI8kt$mg!$0E@Gp+2(*WTMFTt!7Ir{0VNF#a!6#ej3T+{8 z8L_5|*@s`GOh_eW-oN3BS`jrA|5cgtHjfWIlrOke>~QI5_Se?H*Wog>`em|dsYun% zAYiYBKuQ8Vp#{W)-@Q}Ex!mhc35P^Bm=4u@6l;MrC=tVartg8c&WWE;-^zb(QQ|Bn zV9c*6ud)DhpL>Ro0h>HQ9DxhE%Mq<+RdXszrJ_23@WIrZ5*!+t@PE*1nh$CDIq=AF zWp_4%itXP{@InO>BP zR?I_l4lG;;khG^6yk|}UVu1VkBAJ~`S zx7h0hKH2qjxV5^#vHKlOJ}Pep?<_N=$;A7OGjpOkIQ(9CA6Cs&xVp*F`vm^P_A^qY z`xOci)WuLeQb~vE1!-NECs?KE;w*#P5&_MxQNj(n4n-kkbTDz9{hlS zxePb)WlX$~a9ryv?_iA$UHnIF`!GGVlP*m@yO+vb_zdcxBH2mj?p~RHU+G~PsWdCp zM7!x_%hc8ocOV1L&+Br!xej5?_H+UAbRE??XD`AC>w}9NtbxC32SbHTrrJ{odM3Yy z%}A-_KlXFGN_nmATbQJXH(3Yc&o8NZVBnYKv%dbIQtXxV$#;Qr2q?Q-Rvpg-IV;b< z6t==G6~-3!Q} zj=uIBVJleuE9|yWnfy67yXB7a%{Gs~&PnV!*A#{uJW0{4#Hf9}yslk~$f;YXPjr>6 znj8DKJKI&r^fna%_S~j}v*E#HmhaLmeu_k3Qv<>x=L~Tgc(9q9PV6^I1r-&+tf0?m z7=Qg0%Gz#Y*o}XEBL0AqehC`2YjO|>5JGw&7WSSIma{y=#lhTea5lYqIj^r>>w?ph{<)E(h{t2=*PaPcek zxt+tD@_eUO2nyETz-Nj!l8)#P-Xa7nc#w@nqofntp6vI0J>Ez`%z_WC0<-F-QU7cF zvuru^0UeSlnff-n| zXDXP@CYyhnQ~KauQX(SehhBM)KB>fd^jNxmZA|*x5sjIDBw9i z7-LK`h*A|}?x`>J76g8BMEw-bz4H%>(3 zyIz8>KT=m`i4S#6DGLjADGWmoXM@?Flg8t5jaA&@Ssoso^KX##Xon3xlbU?@AiQlt zR!rNTdS^_;qt!^0cN#t1l$w>eThCkai%#V2T=rR%=hNMamHvI}Y%+yaWx=3&%K=sZ zi(mvsdoG-ZkNf+p?a5=WBd>e(`fq&0-*FPQRIx~6fraE4Eo2)7`GIWG3C-n)elyGb zeaUK)yB;>dGKDJZeh&+cLQg1H?6<%t-d+Xa++=Xw%q{J&_0(=PXd!oUhwoMl^6pIo zsoXpBGO|0H-(Zvr=5X!_TEXveNMJtwNYpx2)cco_gyZj0R4aRlA6kLH9$coB%m!}% zNuNpP>Qrz~TS`Aq2R?1(XuN74n>Ag3mncH+Z1BT4uBU7+jhQi1VjT*2!$t z0*W?)1xNP%Gtzl)etPZzKy7COgGsZW+6x8rEjxtv4Yq8H`yBpMv8Z(s=8zRY8ex%? z<1^6^bpUJQRXw>OfV-Cnn{o07H)hM)J)`WH!w^-=;m5QoJ>c59`*MztIAX#_o&tLQMGGO9g+qJS1S>8j{KReUqv2`X=DQ5JUkJ7K0$*jqEPj zRnH8OvT85jeJc*ZtZ%#hX-)NVDELyp(bcY&oWgf=(v+mF8c{}^9f0XvE;d!?7f)tV zI1$8uG<&eNe=kw^a4edA=w>@i>be<6pT3yY&!1Da0TLylD!a_L5|V^Q868$W%VEBM zdqo=xBLzsDqK>SAVfrc(wub4_9aCW+!}q5jMXe8PSg23w6)eZ{EPa)5cKm_&h zcOTY!SFVx0+Fkna&%VvAPWEIPO3y#K8c(@se8!w$p(cBNVI<{JM+6@q1DmxNd0&6+iI4;(~DfliJOQ39ygoeNerMeK1Dsn^BgW+l4lH=o0` z;2+(@lvD)A%2^Y%(p5G0D$t6gvqx)fzafJ;4g0~DoDghvjlBoKnmB5{QlXb!vRTIg9VpCPT!f^Am2X6kQ=G@`J21UG`2U;;R`!E)M z-{QFQ4U3v)*R&#~Q+@%mk06~W-<$Ep0@P5q;=gix%zVSum!sPR=&Ex*Qj+cVv1g3Wl>Z=V1#TTbG}FBXT}A>HfMx9~a(M04 zXtodBXsQ76V~=^%RHg z3W0f0VWZ>Y^^a9t$guh5UafEsHRm^pSCol7o7Peg)qD}SoU$9==>=?Skr-+Ore;-^ z-C;jn5l}7To(9BttUKPz%P%CkI<%qytI<&8s>}H+&xu%0T@7M}10kOUn==($lMVr6 zVtG$KBpmJ?H4CLwb4Q;D_MKxh)$kzoVOo%mH`-st*IS9JmXGk8uhl^*MC2AW_sIgX zzxg~?k-*lvT_R)P*6ce71K4e!vyLo3lEPl*lSw^e433Iy#0`Q|4n;OPclu~^4;Q7* zr|R_?9ex_U(O}Ls5jXzd)EOr87TegwY5CC-9G(oEqf7QC7G~!_d{rND3YfNZ&c@lO z5FFK#V@ZjSEiV^wCNxmb_%rn@=t`D8H_{%qD8PF8oj+_%5ucNlb!S=;PJWX)w(g`7 znhuDy&p1<;_ODg(OZ=%rdaJ16eLGwG-5&r`@a4vZO?ydw(8MdfCTBL4r-%4I_5_!d zGMepsFCX2IN&y)APpX_|`!=cJD@ySE9ve-&p?|#wcLK| zoGkk}P6_+Ah=jTl%O9)SW*)0!9)7lRZU9D2N_ve}T?-EWdQHZewK3M;jtN}G0#CHt z;!Q!ilr1kBIb=^2hu#)hmAP-5V>Mw5bs@TvJFmFgGr_o@v*A%MNBJbx9p=eH499&R zAvf1jlZAexYm>P}+=`pzcC^uGNxHj?*pA+>TtIB!@Ehsp$J4PnS*O}azRE3KwlLfE zJVf~3J|K%QRNq2~?)9B+nMJsg&W(l4Z+{9A|yhRO#~ZRGLmd=Hk;k-W-qfd zbI$*+{?Aj*>|D;AdCz-4?1QOg)`{HeI|eGA*SQ(sY}VU3;A>q z_>~v*pL)N+puFrY8XRz%K|{&wmeCX9i~E#brE!17kkD_d%09hN_|*{Rc-KC3=-Ezz zly4i`z6iA?zyDmKK0ZzHAh(2R9iokpXVET|B&B?IoCIO2sus)amG7>h3-oBZ?ex?6 zU(LYX{|6-}=Jg&W&wHm9I!=8@lwS&(@NJK`k}A{4L7%U1^=OG37!1jf8>Nnp!9#lu zN|HB@{CH3v^BPSWJ!jwd`0t|cuaBB7q?W%15-0zoZ7pN_f4!Z0uWbK1x=ac#ZwwU8 z?-?&ly<)?R7wRgI26fV;L;UO5O-rQOQ^&);P<@ldKu?yVk<#gct|Xux)N+Vea57)r zrp-T$H+158e)|qjC@7Jw>^5l5k{f>Yg*=7+@Gu;`b5&Bv5sNXg{!W&z+z^fw6WyU* zS5I8?Y%195Q|S6b-`35G{{@9MfOEdp+8P0F`37q-oAk}RVRnUVgo6DYP7RLvalX8I z<*vcm8SA#G4Kq{Q`m0C^dC7^OKu0d_f5zi@VTjoF1?pQ7vtaM{>mIV7pL$ktGVvvC zD78Xz%;c;deXHjb4nVEh#0AARmb7nGCB#j+|KG;^^Piwr!cIB%-bp%aewYAZiSjaN zP4TarXgv5A`fsncuE>x2wL)PiU46n6*{xguMX0q+UX#Lg8~{ZpmK65m^ZY)vNu}>yV7vmf>Ejfwng7K3J4>>HQgid&=%-f+YpIr|Cw187Ec#PU7h2ri8ZlKm&L9L#r)dYF>A@ zFF$S^=K%NeRgy6FFXc~jcHOZ;0&ppMD;$bw`pvEI26z+5yg0Bp`%RmRx0*s%w$y|s zosb$gq)#71r*%|u_E2yLygjn;y8)>)yBybD>HB(U#vn4R=UJx7Dqg&Uk=pNW@JD?d zNpeEsp?!B>&zh6;U|3IydB;ZI`(Xowoo>h88B=e-!Gq0PW_GOfoQ^ud?^2VS;Ujhy zezNhe5%r_P_XeW=weOL(+Ty1})@aD)_d3!cD{4ME#Ef~?|M}oHe=YiqjP-` z9Wj0KfkENY4ev@8prF;E{*{W`)z4NqsSR85OCPG`n@CdY|GJx^^x2Y$aKTmR^_V6{-zp`DyIXAxa47k>9hUXWeB15 zcO^?-oyNa?{D`S|7)J&%%^SmwM(EBUfHhu5M1#em~^kYn&6s2uL4B}6c@4^wtQg^ zmMj>$xJ_$ih(j|1!R~!MlZQwosBUsn8=`0*x+@zL@#$>@s$|#zl%#z*Z9JF{Q~8bx&t!_6o*?KTT-i9nzk>kY-UaxegC#ixiPVN+d!0W zj;rv$M9z#~v)VQ=V{?x2h^d|5dlKVSh4e375uC7cV+Zus1I?0N9W}#(rMVtSe`T#R z`q1_2sWpL#9lW{Oa-T&x}rS* zZ7YrH>ItpTlp-@!Xo8`?32 z!p`i{(T`}QcIQ)r`rg{N6u@OtxJj$eF57EOA$lA1!AalwpYPTaEmzNP9#w?4{&PV- z*7QZsl=-9CaIx>NYrh`8E9~+(x`({gb7o&DXRy9NA+Za(Kwf)y+%=?qVxB6s z$`@j`-awcB<8BSS?e_b!n>-wEYZ*M}^Y)(8Rb_N|;U)B5u$m0FRnVT#zDE8}$`y{F zRo-fS?#-!tN6aR5XKUVH4i#e>7hXaRd!V-ymrys%{`rc;&T|41N|!xO{xW+nvvGng zP++>0E&K`{9FPkGB=^f0F`(y=t$RmK(Qo`7Z2n)k?e=X-Px^mG2X=M^C-o=3Vk^(A z#H?&y7k_WIq}<59qSNcZemvE$d}fC7(!JezyHYDjP&Tm?qAD1NP6}$hrt(edCis(IQ z`hyL!Y6MYFc`j&9Hedec#{(mm=PJ zWIluZPh~Po?tLN|ep&W(7@dHn*moFt?xF7s_r!ammU&3fr5Ce$7P3>npD^nk;wfuD z@4%vzl>{$tp(P=AeJyq_Z?h*IuhInXS^sR7?W64X;s*#rD)oxYwiniO{pVJ-Z;uMY z!=Kj&2inYSsJAB$uiH&O^D3x)O22lK8mC=&x0y`-;0`z!?*A?MjceX~>!y_0{dw%4 zRqW-R>Q~%%M_efzKTXVeUsgCiIM@&a(pQt0PH4V5L~_Xdmb69P0pL&+ zCY9fOaA(VNsOA6h&$oZ114l0NtS#D1GRk`AvAjaG!yi;W@#1Q-|)D|KUOr%00jMbxLa?rDS3?4tbK-)LE@HG9y85%+M{odI

)s?+ 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%0D>z;(N1Kj-$cS?`zl;V`e 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%0AgUKZ(``rK78oo-+xv# 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ⅇ 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 + + + EntityFramework + + + +

+ Strongly-typed and parameterized string resources. + + + + + A string like "The '{0}' property of EdmPrimitiveType is fixed and cannot be set." + + + + + A string like "The namespace '{0}' is a system namespace and cannot be used by other schemas. Choose another namespace name." + + + + + A string like "Role '{0}' in AssociationSets ‘{1}’ and ‘{2}’ refers to the same EntitySet '{3}' in EntityContainer '{4}'. Make sure that if two or more AssociationSets refer to the same AssociationType, the ends do not refer to the same EntitySet." + + + + + A string like "The referenced EntitySet ‘{0}’ for End ‘{1}’ could not be found in the containing EntityContainer." + + + + + A string like "Type '{0}' is derived from type '{1}' that is the type for EntitySet '{2}'. Type '{0}' defines new concurrency requirements that are not allowed for subtypes of base EntitySet types." + + + + + A string like "EntitySet ‘{0}’ is based on type ‘{1}’ that has no keys defined." + + + + + A string like "The end name ‘{0}’ is already defined." + + + + + A string like "The key specified in EntityType '{0}' is not valid. Property '{1}' is referenced more than once in the Key element." + + + + + A string like "Property '{0}' has a CollectionKind specified but is not a collection property." + + + + + A string like "Property '{0}' has a CollectionKind specified. CollectionKind is only supported in version 1.1 EDM models." + + + + + A string like "ComplexType '{0}' is marked as abstract. Abstract ComplexTypes are only supported in version 1.1 EDM models." + + + + + A string like "ComplexType '{0}' has a BaseType specified. ComplexType inheritance is only supported in version 1.1 EDM models." + + + + + A string like "Key part '{0}' for type ‘{1}’ is not valid. All parts of the key must be non-nullable." + + + + + A string like "The property '{0}' in EntityType '{1}' is not valid. All properties that are part of the EntityKey must be of PrimitiveType." + + + + + A string like "Key usage is not valid. The {0} class cannot define keys because one of its base classes (‘{1}’) defines keys." + + + + + A string like "EntityType '{0}' has no key defined. Define the key for this EntityType." + + + + + A string like "NavigationProperty is not valid. Role ‘{0}’ or Role ‘{1}’ is not defined in Relationship ‘{2}’." + + + + + A string like "End '{0}' on relationship '{1}' cannot have an operation specified because its multiplicity is '*'. Operations cannot be specified on ends with multiplicity '*'." + + + + + A string like "Each Name and PluralName in a relationship must be unique. '{0}' is already defined." + + + + + A string like "In relationship '{0}', the Principal and Dependent Role of the referential constraint refer to the same Role in the relationship type." + + + + + A string like "Multiplicity is not valid in Role '{0}' in relationship '{1}'. Valid values for multiplicity for the Principal Role are '0..1' or '1'." + + + + + A string like "Multiplicity is not valid in Role '{0}' in relationship '{1}'. Because all the properties in the Dependent Role are nullable, multiplicity of the Principal Role must be '0..1'." + + + + + A string like "Multiplicity conflicts with the referential constraint in Role '{0}' in relationship '{1}'. Because at least one of the properties in the Dependent Role is non-nullable, multiplicity of the Principal Role must be '1'." + + + + + A string like "Multiplicity conflicts with the referential constraint in Role '{0}' in relationship '{1}'. Because all of the properties in the Dependent Role are non-nullable, multiplicity of the Principal Role must be '1'." + + + + + A string like "Properties referred by the Dependent Role ‘{0}’ must be a subset of the key of the EntityType ‘{1}’ referred to by the Dependent Role in the referential constraint for relationship ‘{2}’." + + + + + A string like "Multiplicity is not valid in Role '{0}' in relationship '{1}'. Because the Dependent Role refers to the key properties, the upper bound of the multiplicity of the Dependent Role must be ‘1’." + + + + + A string like "Multiplicity is not valid in Role '{0}' in relationship '{1}'. Because the Dependent Role properties are not the key properties, the upper bound of the multiplicity of the Dependent Role must be ‘*’." + + + + + A string like "The types of all properties in the Dependent Role of a referential constraint must be the same as the corresponding property types in the Principal Role. The type of property '{0}' on entity '{1}' does not match the type of property '{2}' on entity '{3}' in the referential constraint '{4}'." + + + + + A string like "There is no property with name '{0}' defined in the type referred to by Role '{1}'." + + + + + A string like "A nullable ComplexType is not supported. Property '{0}' must not allow nulls." + + + + + A string like "A property cannot be of type ‘{0}’. The property type must be a ComplexType or a PrimitiveType." + + + + + A string like "Each member name in an EntityContainer must be unique. A member with name '{0}' is already defined." + + + + + A string like "Each type name in a schema must be unique. Type name '{0}' is already defined." + + + + + A string like "Name ‘{0}’ cannot be used in type ‘{1}’. Member names cannot be the same as their enclosing type." + + + + + A string like "Each property name in a type must be unique. Property name '{0}' is already defined." + + + + + A string like "A cycle was detected in the type hierarchy of '{0}'." + + + + + A string like "A property cannot be of type ‘{0}’. The property type must be a ComplexType, a PrimitiveType, or a CollectionType." + + + + + A string like "The specified name must not be longer than 480 characters: '{0}'." + + + + + A string like "The specified name is not allowed: '{0}'." + + + + + A string like "NavigationProperty is not valid. The FromRole and ToRole are the same." + + + + + A string like "OnDelete can be specified on only one End of an EdmAssociation." + + + + + A string like "The number of properties in the Dependent and Principal Roles in a relationship constraint must be identical." + + + + + A string like "The name is missing or not valid." + + + + + A string like "AssociationEnd must not be null." + + + + + A string like "DependentEnd must not be null." + + + + + A string like "DependentProperties must not be empty." + + + + + A string like "Association must not be null." + + + + + A string like "ResultEnd must not be null." + + + + + A string like "EntityType must not be null." + + + + + A string like "ElementType must not be null." + + + + + A string like "ElementType must not be null." + + + + + A string like "SourceSet must not be null." + + + + + A string like "TargetSet must not be null." + + + + + A string like "The type is not a valid EdmTypeReference." + + + + + A string like "Serializer can only serialize an EdmModel that has one EdmNamespace and one EdmEntityContainer." + + + + + Strongly-typed and parameterized exception factory. + + + + + The exception that is thrown when a null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument. + + + + + The exception that is thrown when the value of an argument is outside the allowable range of values as defined by the invoked method. + + + + + The exception that is thrown when the author has yet to implement the logic at this point in the program. This can act as an exception based TODO tag. + + + + + The exception that is thrown when an invoked method is not supported, or when there is an attempt to read, seek, or write to a stream that does not support the invoked functionality. + + + + + Allows the construction and modification of a user-specified annotation (name-value pair) on a instance. + + + + + INamedDataModelItem is implemented by model-specific base types for all types with a property. + + + + + + Gets or sets the currently assigned name. + + + + + Constructs a new DataModelAnnotation + + + + + Gets or sets an optional namespace that can be used to distinguish the annotation from others with the same value. + + + + + Gets or sets the name of the annotation. + + + + + Gets or sets the value of the annotation. + + + + + + + + + + DataModelEventArgs is the base argument type for all events raised by consumers of Entity Data Model (EDM) models. + + + + + Gets a value indicating the that caused the event to be raised. + + + + + Gets an optional value indicating which property of the source item caused the event to be raised. + + + + + Gets a value that identifies the specific error that is being raised. + + + + + Gets an optional descriptive message the describes the error that is being raised. + + + + + DataModelItem is the base for all types in the EDM metadata reflection, construction and modification API. + + + + + IAnnotatedDataModelItem is implemented by model-specific base types for all types with an property. + + + + + + Gets or sets the currently assigned annotations. + + + + + DbAliasedMetadataItem provides the base type for all Database Metadata types that can have an optional that should be used instead of the item's when referring to the item in the database. + + + + + NamedDbItem is the base for all types in the Database Metadata construction and modification API with a property. + + + + + The base for all all Database Metadata types that support annotation using . + + + + + DbDataModelItem is the base for all types in the Database Metadata construction and modification API. + + + + + Gets or sets the currently assigned annotations. + + + + + Gets or sets the currently assigned name. + + + + + Gets an optional alternative identifier that should be used when referring to this item in the database. + + + + + When implemented in derived types, allows the construction and modification of a column in a Database Metadata table or row. + + + + + Gets or sets a string indicating the database-specific type of the column. + + + + + Gets or sets a value indicating whether the column is nullable. + + + + + Gets or sets an optional instance that applies additional constraints to the referenced database-specific type of the column. + + + + + Allows the construction and modification of a database in a Database Metadata model. + + + + + Gets or sets an optional value that indicates the database model version. + + + + + Gets or sets the collection of instances that specifies the schemas within the database. + + + + + Allows the construction and modification of a foreign key constraint sourced by a instance. + + + + + Gets or sets the to take when a delete operation is attempted. + + + + + Indicates which Database Metadata concept is represented by a given item. + + + + + Database Kind + + + + + Schema Kind + + + + + Foreign Key Constraint Kind + + + + + Function Kind + + + + + Function Parameter Kind + + + + + Function Return or Parameter Type Kind + + + + + Row Column Kind + + + + + Table Kind + + + + + Table Column Kind + + + + + Primitive Facets Kind + + + + + Specifies the action to take on a given operation. + + + + + Default behavior + + + + + Restrict the operation + + + + + Cascade the operation + + + + + Allows the construction and modification of additional constraints that can be applied to a specific use of a primitive type in a Database Metadata item. + + + + + Returns true if any facet value property currently has a non-null value; otherwise returns false. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered to have a fixed or variable length. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered to have its intrinsic maximum length, rather than a specific value. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered to be Unicode or non-Unicode. + + + + + Gets or sets an optional value indicating the current constraint on the type's maximum length. + + + + + Gets or sets an optional value indicating the current constraint on the type's precision. + + + + + Gets or sets an optional value indicating the current constraint on the type's scale. + + + + + Allows the construction and modification of a database schema in a database model. + + + + + Gets or sets the collection of instances that specifies the tables declared within the schema. + + + + + DbSchemaMetadataItem is the base for all types that can be contained in a schema. + + + + + Allows the construction and modification of a column in a table. + + + + + Gets or sets a value indicating whether the column is part of the table's primary key. + + + + + Gets or sets a value indicating if and how the value of the column is automatically generated. + + + + + Gets or sets an optional value indicating the collation specific to this table column. + + + + + Gets or sets an optional value that specifies the default value for the column. + + + + + Allows the construction and modification a table in a database schema. + + + + + Gets or sets the collection of instances that specifies the columns present within the table. + + + + + Gets or sets the collection of instances from the collection of the table that are part of the primary key. + + + + + Gets or sets the collection of instances that defines the foreign key constraints sourced from the table. + + + + + Represents a specific use of a type in a Database Metadata item. + + + + + Gets or sets an optional instance that applies additional constraints to a referenced primitive type. + + Accessing this property forces the creation of a DbPrimitiveTypeFacets value if no value has previously been set. Use to determine whether or not this property currently has a value. + + + + Gets or sets a value indicating whether the represented type is a collection type. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered nullable. + + + + + Gets a value indicating whether the type has been configured as a row type by the addition of one or more RowColumns. + + + + + Represents the mapping of an EDM association end () as a collection of property mappings (). + + + + + DbMappingMetadataItem is the base for all types in the EDM-to-Database Mapping construction and modification API that support annotation using . + + + + + DbMappingModelItem is the base for all types in the EDM-to-Database Mapping construction and modification API. + + + + + Gets or sets the currently assigned annotations. + + + + + Gets an value representing the association end that is being mapped. + + + + + Gets the collection of s that specifies how the association end key properties are mapped to the table. + + + + + Gets an value representing the association set that is being mapped. + + + + + Gets a value representing the table to which the entity type's properties are being mapped. + + + + + Gets the collection of s that specifies the constant or null values that columns in must have for this type mapping to apply. + + + + + Allows the construction and modification of a condition for a column in a database table. + + + + + Gets or sets a value representing the table column which must contain for this condition to hold. + + + + + Gets or sets the value that must contain for this condition to hold. + + + + + Represents the mapping of an entity property to a column in a database table. + + + + + Gets or sets the collection of instances that defines the mapped property, beginning from a property declared by the mapped entity type and optionally proceeding through properties of complex property result types. + + + + + Gets or sets a value representing the table column to which the entity property is being mapped. + + + + + Allows the construction and modification of the mapping of an EDM entity container () to a database (). + + + + + Gets or sets an value representing the entity container that is being mapped. + + + + + Gets or sets the collection of s that specifies how the container's entity sets are mapped to the database. + + + + + Gets the collection of s that specifies how the container's association sets are mapped to the database. + + + + + Allows the construction and modification of the mapping of an EDM entity set () to a database (). + + + + + Gets or sets an value representing the entity set that is being mapped. + + + + + Gets or sets the collection of s that specifies how the set's entity types are mapped to the database. + + + + + Allows the construction and modification of a complete or partial mapping of an EDM entity type () or type hierarchy to a specific database table (). + + + + + Gets or sets an value representing the entity type or hierarchy that is being mapped. + + + + + Gets or sets a value indicating whether this type mapping applies to and all its direct or indirect subtypes (true), or only to (false). + + + + + Gets a value representing the table to which the entity type's properties are being mapped. + + + + + Gets the collection of s that specifies how the type's properties are mapped to the table. + + + + + Gets the collection of s that specifies the constant or null values that columns in must have for this type mapping fragment to apply. + + + + + Indicates which EDM-to-Database Mapping concept is represented by a given item. + + + + + Database Mapping Kind + + + + + Entity Container Mapping Kind + + + + + Entity Set Mapping Kind + + + + + Association Set Mapping Kind + + + + + Entity Type Mapping Kind + + + + + Query View Mapping Kind + + + + + Entity Type Mapping Fragment Kind + + + + + Edm Property Mapping Kind + + + + + Association End Mapping Kind + + + + + Column Condition Kind + + + + + Property Condition Kind + + + + + Allows the construction and modification of a constraint applied to an Entity Data Model (EDM) association. + + + + + The base for all all Entity Data Model (EDM) types that support annotation using . + + + + + EdmDataModelItem is the base for all types in the Entity Data Model (EDM) metadata construction and modification API. + + + + + Gets an value indicating which Entity Data Model (EDM) concept is represented by this item. + + + + + Gets or sets the currently assigned annotations. + + + + + Returns all EdmItem children directly contained by this EdmItem. + + + + + Gets or sets the that represents the 'dependent' end of the constraint; properties from this association end's entity type contribute to the collection. + + + + + Gets or sets the collection of instances from the of the constraint. The values of these properties are constrained against the primary key values of the remaining, 'principal' association end's entity type. + + + + + Allows the construction and modification of one end of an Entity Data Model (EDM) association. + + + + + EdmStructuralMember is the base for all types that represent members of structural items in the Entity Data Model (EDM) metadata construction and modification API. + + + + + The base for all all Entity Data Model (EDM) item types that with a property. + + + + + Gets or sets the currently assigned name. + + + + + Gets or sets the entity type referenced by this association end. + + + + + Gets or sets the of this association end, which indicates the multiplicity of the end and whether or not it is required. + + + + + Gets or sets the to take when a delete operation is attempted. + + + + + Indicates the multiplicity of an and whether or not it is required. + + + + + Allows the construction and modification of an association set in an Entity Data Model (EDM) ). + + + + + Represents an item in an Entity Data Model (EDM) . + + + + + Gets or sets the that specifies the association type for the set. + + + + + Gets or sets the that specifies the entity set corresponding to the association end for this association set. + + + + + Gets or sets the that specifies the entity set corresponding to the association end for this association set. + + + + + + The base for all all Entity Data Model (EDM) types that represent a structured type from the EDM type system. + + + + + The base for all all Entity Data Model (EDM) types that represent a type from the EDM type system. + + + + + Represents an item in an Entity Data Model (EDM) . + + + + + The base for all all Entity Data Model (EDM) item types that with a Name property + that represents a qualified (can be dotted) name. + + + + + Gets a value indicating whether this type is abstract. + + + + + Gets the optional base type of this type. + + + + + Gets or sets the that defines the source end of the association. + + + + + Gets or sets the that defines the target end of the association. + + + + + Gets or sets the optional constraint that indicates whether the relationship is an independent association (no constraint present) or a foreign key relationship ( specified). + + + + + Collection semantics for properties. + + + + + The property does not have a collection type or does not specify explicit collection semantics. + + + + + The property is an unordered collection that may contain duplicates. + + + + + The property is an ordered collection that may contain duplicates. + + + + + Allows the construction and modification of a complex type in an Entity Data Model (EDM) . + + + + + Gets or sets the optional that indicates the base complex type of the complex type. + + + + + Gets or sets a value indicating whether the complex type is abstract. + + + + + Gets or sets the collection of instances that describe the (scalar or complex) properties of the complex type. + + + + + Concurrency mode for properties. + + + + + Default concurrency mode: the property is never validated + at write time + + + + + Fixed concurrency mode: the property is always validated at + write time + + + + + Allows the construction and modification of an entity container in an Entity Data Model (EDM) . + + + + + Gets all s declared within the namspace. Includes s and s. + + + + + Gets or sets the collection of s that specifies the association sets within the container. + + + + + Gets or sets the collection of s that specifies the entity sets within the container. + + + + + Allows the construction and modification of an entity set in an Entity Data Model (EDM) . + + + + + Gets or sets the that specifies the entity type for the set. + + + + + Allows the construction and modification of an entity type in an Entity Data Model (EDM) . + + + + + Gets or sets the optional that indicates the base entity type of the entity type. + + + + + Gets or sets a value indicating whether the entity type is abstract. + + + + + Gets or sets the collection of s that specifies the properties declared by the entity type. + + + + + Gets or sets the collection of s that indicates which properties from the collection are part of the entity key. + + + + + Gets or sets the optional collection of s that specifies the navigation properties declared by the entity type. + + + + + Indicates which Entity Data Model (EDM) concept is represented by a given item. + + + + + Association End Kind + + + + + Association Set Kind + + + + + Association Type Kind + + + + + Collection Type Kind + + + + + Complex Type Kind + + + + + Entity Container Kind + + + + + Entity Set Kind + + + + + Entity Type Kind + + + + + Function Group Kind + + + + + Function Overload Kind + + + + + Function Import Kind + + + + + Function Parameter Kind + + + + + Navigation Property Kind + + + + + EdmProperty Type Kind + + + + + Association Constraint Type Kind + + + + + Ref Type Kind + + + + + Row Column Kind + + + + + Row Type Kind + + + + + Type Reference Kind + + + + + Model Kind + + + + + Namespace Kind + + + + + Primitive Facets Kind + + + + + Primitive Type Kind + + + + + EdmModel is the top-level container for namespaces and entity containers belonging to the same logical Entity Data Model (EDM) model. + + + + + Gets or sets an optional value that indicates the entity model version. + + + + + Gets or sets the containers declared within the model. + + + + + Gets or sets the namespaces declared within the model. + + + + + Allows the construction and modification of a namespace in an . + + + + + Gets all s declared within the namspace. Includes s, s, s. + + + + + Gets or sets the s declared within the namespace. + + + + + Gets or sets the s declared within the namespace. + + + + + Gets or sets the s declared within the namespace. + + + + + Allows the construction and modification of an Entity Data Model (EDM) navigation property. + + + + + Gets or sets the that specifies the association over which navigation takes place. + + + + + Gets or sets the that specifies which association end is the 'destination' end of the navigation and produces the navigation property result. + + + + + Specifies the action to take on a given operation. + + + + + + Default behavior + + + + + Restrict the operation + + + + + Cascade the operation + + + + + Represents one of the fixed set of Entity Data Model (EDM) primitive types. + + + + + The base for all all Entity Data Model (EDM) types that represent a scalar type from the EDM type system. + + + + + Retrieves the EdmPrimitiveType instance with the corresponding to the specified value, if any. + + The name of the primitive type instance to retrieve + The EdmPrimitiveType with the specified name, if successful; otherwise null. + true if the given name corresponds to an EDM primitive type name; otherwise false. + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets an value that indicates which Entity Data Model (EDM) primitive type this type represents. + + + + + Allows the construction and modification of additional constraints that can be applied to a specific use of a primitive type in an Entity Data Model (EDM) item. See . + + + + + Returns true if any facet value property currently has a non-null value; otherwise returns false. + + + + + Gets or sets an optional value indicating the current constraint on the type's maximum length. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered to have its intrinsic maximum length, rather than a specific value. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered to have a fixed or variable length. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered to be Unicode or non-Unicode. + + + + + Gets or sets an optional value indicating the current constraint on the type's precision. + + + + + Gets or sets an optional value indicating the current constraint on the type's scale. + + + + + Primitive Types as defined by the Entity Data Model (EDM). + + + + + Binary Type Kind + + + + + Boolean Type Kind + + + + + Byte Type Kind + + + + + DateTime Type Kind + + + + + Decimal Type Kind + + + + + Double Type Kind + + + + + Guid Type Kind + + + + + Single Type Kind + + + + + SByte Type Kind + + + + + Int16 Type Kind + + + + + Int32 Type Kind + + + + + Int64 Type Kind + + + + + String Type Kind + + + + + Time Type Kind + + + + + DateTimeOffset Type Kind + + + + + Allows the construction and modification of a primitive- or complex-valued property of an Entity Data Model (EDM) entity or complex type. + + + + + Gets or sets an value that indicates which collection semantics - if any - apply to the property. + + + + + Gets or sets a value that indicates whether the property is used for concurrency validation. + + + + + Gets or sets on optional value that indicates an initial default value for the property. + + + + + Gets or sets an that specifies the result type of the property. + + + + + Enumerates all s declared or inherited by an . + + + + + Allows the construction and modification of a specific use of a type in an Entity Data Model (EDM) item. See for examples. + + + + + Gets or sets a value indicating the collection rank of the type reference. A collection rank greater than zero indicates that the type reference represents a collection of its referenced . + + + + + Gets or sets a value indicating the referenced by this type reference. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered nullable. + + + + + Gets or sets an optional instance that applies additional constraints to a referenced primitive type. + + Accessing this property forces the creation of an EdmPrimitiveTypeFacets value if no value has previously been set. Use to determine whether or not this property currently has a value. + + + + Gets a value indicating whether the property of this type reference has been assigned an value with at least one facet value specified. + + + + + Indicates whether this type reference represents a collection of its referenced (when is greater than zero) or not. + + + + + Indicates whether the property of this type reference currently refers to an , is not a collection type, and does not have primitive facet values specified. + + + + + Gets the currently referred to by this type reference, or null if the type reference is a collection type or does not refer to a complex type. + + + + + Indicates whether the property of this type reference currently refers to an and is not a collection type. + + + + + Gets the currently referred to by this type reference, or null if the type reference is a collection type or does not refer to a primitive type. + + + + + Contains constant values that apply to the EDM model, regardless of source (for CSDL specific constants see ). + + + + + Parsing code taken from System.dll's System.CodeDom.Compiler.CodeGenerator.IsValidLanguageIndependentIdentifier(string) + method to avoid LinkDemand needed to call this method + + + + + + + + + + + + Constants for CSDL XML. + + + + + Constants for C-S MSL XML. + + + + + Constants for SSDL XML. + + + + + The acceptable range for this enum is 0000 - 0999; the range 10,000-15,000 is reserved for tools. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Precision out of range + + + Scale out of range + + + + + + + + + One of the required facets is missing + + + + + + + + + + + + + + + + + + + + + + + + + The facet isn't allow by the property type. + + + + + This facet value is constant and is specified in the schema + + + + + + + + + + Multiplicity value was malformed + + + The value for the Action attribute is invalid or not allowed in the current context + + + An error occurred processing the On<Operation> elements + + + Ends were given for the Property element of a EntityContainer that is not a RelationshipSet + + + The extent name used in the EntittyContainerType End does not match the name of any of the EntityContainerProperties in the containing EntityContainer + + + An end element was not given, and cannot be inferred because too many EntityContainerEntitySet elements that are good possibilities. + + + An end element was not given, and cannot be inferred because there is no EntityContainerEntitySets that are the correct type to be used as an EntitySet. + + + Not a valid parameter direction for the parameter in a function + + + Unable to infer an optional schema part, to resolve this; be more explicit + + + Invalid facet attribute(s) specified in provider manifest + + + Invalid role value in the relationship constraint + + + Invalid Property in relationship constraint + + + Type mismatch between ToProperty and FromProperty in the relationship constraint + + + Invalid multiplicity in FromRole in the relationship constraint + + + The number of properties in the FromProperty and ToProperty in the relationship constraint must be identical + + + No Properties defined in either FromProperty or ToProperty in the relationship constraint + + + Missing constraint in relationship type in ssdl + + + Same role referred in the ToRole and FromRole of a referential constraint + + + Invalid value for attribute ParameterTypeSemantics + + + Invalid type used for a Relationship End Type + + + Invalid PrimitiveTypeKind + + + Invalid TypeConversion DestinationType + + + Expected a integer value between 0 - 255 + + + Invalid Type specified in function + + + Precision must not be greater than 28 + + + Properties that are part of entity key must be of scalar type + + + Binary type properties which are part of entity key are currently not supported + + + The primitive type kind does not have a preferred mapping + + + More than one PreferredMapping for a PrimitiveTypeKind + + + End with * multiplicity cannot have operations specified + + + EntitySet type has no keys + + + InvalidNumberOfParametersForAggregateFunction + + + InvalidParameterTypeForAggregateFunction + + + Composable functions must declare a return type. + + + Non-composable functions must not declare a return type. + + + Non-composable functions do not permit the aggregate; niladic; or built-in attributes. + + + Composable functions can not include command text attribute. + + + Functions should not declare both a store name and command text (only one or the other + can be used). + + + SystemNamespace + + + Empty DefiningQuery text + + + Schema, Table and DefiningQuery are all specified, and are mutually exclusive + + + ConcurrencyMode value was malformed + + + Concurrency can't change for any sub types of an EntitySet type. + + + Function import return type must be either empty, a collection of entities, or a singleton scalar. + + + Function import specifies a non-existent entity set. + + + Function import specifies entity type return but no entity set. + + + Function import specifies entity type that does not derive from element type of entity set. + + + Function import specifies a binding to an entity set but does not return entities. + + + InternalError + + + Same Entity Set Taking part in the same role of the relationship set in two different relationship sets + + + Entity key refers to the same property twice + + + Function declares a ReturnType attribute and element + + + Nullable Complex Type not supported in Edm V1 + + + Only Complex Collections supported in Edm V1.1 + + + No Key defined on Entity Type + + + Invalid namespace specified in using element + + + Need not specify system namespace in using + + + Cannot use a reserved/system namespace as alias + + + Invalid qualification specified for type + + + Invalid Entity Container Name in extends attribute + + + Invalid CollectionKind value in property CollectionKind attribute + + + Must specify namespace or alias of the schema in which this type is defined + + + Entity Container cannot extend itself + + + Failed to retrieve provider manifest + + + Mismatched Provider Manifest token values in SSDL artifacts + + + Missing Provider Manifest token value in SSDL artifact(s) + + + Empty CommandText element + + + Inconsistent Provider values in SSDL artifacts + + + Inconsistent Provider Manifest token values in SSDL artifacts + + + Duplicated Function overloads + + + InvalidProvider + + + FunctionWithNonEdmTypeNotSupported + + + ComplexTypeAsReturnTypeAndDefinedEntitySet + + + ComplexTypeAsReturnTypeAndDefinedEntitySet + + + unused 179, + unused 180, + unused 181, + In model functions facet attribute is allowed only on ScalarTypes + + + Captures several conditions where facets are placed on element where it should not exist. + + + Return type has not been declared + + + Invalid value in the EnumTypeOption + + + The structural annotation cannot use codegen namespaces + + + Function and type cannot have the same fully qualified name + + + Cannot load different version of schema in the same ItemCollection + + + Expected bool value + + + End without Multiplicity specified + + + In SSDL, if composable function returns a collection of rows (TVF), all row properties must be of scalar types. + + + The name of NamedEdmItem must not be empty or white space only + + + EdmTypeReference is empty + Unused 199; + + + + Serializes an that conforms to the restrictions of a single CSDL schema file to an XML writer. + The model to be serialized must contain a single and a single . + + + + + The CSDL Serializer for the EdmModel. + + + + + Serialize the to the XmlWriter. + + The EdmModel to serialize, mut have only one and one + The XmlWriter to serialize to + + + + MSL Serializer for DbModel + + + + + Serialize the to the XmlWriter + + The DbModel to serialize + The XmlWriter to serialize to + + + + SSDL Serializer for DbDatabaseMetadata + + + + + Serialize the to the + + The DbDatabaseMetadata to serialize + Provider information on the Schema element + ProviderManifestToken information on the Schema element + The XmlWriter to serialize to + + + + author/email + + + author/name + + + author/uri + + + published + + + rights + + + summary + + + title + + + contributor/email + + + contributor/name + + + contributor/uri + + + category/@label + + + Plaintext + + + HTML + + + XHTML + + + updated + + + link/@href + + + link/@rel + + + link/@type + + + link/@hreflang + + + link/@title + + + link/@length + + + category/@term + + + category/@scheme + + + + Return role name pair + + + + + + + + The context for DataModel Validation + + + + + Returns true if the given two ends are similar - the relationship type that this ends belongs to is the same + and the entity set refered by the ends are same and they are from the same role + + + + + + + + Return true if the Referential Constraint on the association is ready for further validation, otherwise return false. + + + + + + + Resolves the given property names to the property in the item + Also checks whether the properties form the key for the given type and whether all the properties are nullable or not + + + + + + + + + + + Return true if the namespaceName is a Edm System Namespace + + + + + + + Return true if the entityType is a subtype of any entity type in the dictionary keys, + and return the corresponding entry EntitySet value. Otherwise return false. + + + + + + + + + Return true if any of the properties in the EdmEntityType defines ConcurrencyMode. Otherwise return false. + + + + + + + Add member name to the Hash set, raise an error if the name exists already. + + + + + + + + + If the string is null, empty, or only whitespace, return false, otherwise return true + + + + + + + Determine if a cycle exists in the type hierarchy: use two pointers to + walk the chain, if one catches up with the other, we have a cycle. + + true if a cycle exists in the type hierarchy, false otherwise + + + + RuleSet for DataModel Validation + + + + + Get the related rules given certain DataModelItem + + The to validate + A collection of + + + + Data Model Validator + + + + + Validate the and all of its properties given certain version. + + The root of the model to be validated + True to validate the syntax, otherwise false + + + + The RuleSet for EdmModel + + + + + Get based on version + + a double value of version + + + + + The context for EdmModel Validation + + + + + Visitor for EdmModel Validation + + + + + Edm Model Validator + + + + + validate the from the root with the context + + The root to validate from + The validation context + + + + Strongly-typed and parameterized string resources. + + + + + A string like "The argument '{0}' cannot be null, empty or contain only white space." + + + + + A string like "The argument property '{0}' cannot be null." + + + + + A string like "The type '{0}' has already been configured as a complex type. It cannot be reconfigured as an entity type." + + + + + A string like "The type '{0}' has already been configured as an entity type. It cannot be reconfigured as a complex type." + + + + + A string like "The key component '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid primitive property." + + + + + A string like "The foreign key component '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid primitive property." + + + + + A string like "The property '{0}' is not a declared property on type '{1}'. Verify that the property has not been explicitly excluded from the model by using the Ignore method or NotMappedAttribute data annotation. Make sure that it is a valid primitive property." + + + + + A string like "The navigation property '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid navigation property." + + + + + A string like "The expression '{0}' is not a valid property expression. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'." + + + + + A string like "The expression '{0}' is not a valid property expression. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. Use dotted paths for nested properties: C#: 't => t.MyProperty.MyProperty' VB.Net: 'Function(t) t.MyProperty.MyProperty'." + + + + + A string like "The properties expression '{0}' is not valid. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. When specifying multiple properties use an anonymous type: C#: 't => new {{ t.MyProperty1, t.MyProperty2 }}' VB.Net: 'Function(t) New From {{ t.MyProperty1, t.MyProperty2 }}'." + + + + + A string like "The properties expression '{0}' is not valid. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. When specifying multiple properties use an anonymous type: C#: 't => new {{ t.MyProperty1, t.MyProperty2 }}' VB.Net: 'Function(t) New From {{ t.MyProperty1, t.MyProperty2 }}'." + + + + + + A string like "Conflicting configuration settings were specified for property '{0}' on type '{1}': {2}" + + + + + A string like "Conflicting configuration settings were specified for column '{0}' on table '{1}': {2}" + + + + + A string like "{0} = {1} conflicts with {2} = {3}" + + + + + A string like "The type '{0}' was not mapped. Check that the type has not been explicitly excluded by using the Ignore method or NotMappedAttribute data annotation. Verify that the type was defined as a class, is not primitive, nested or generic, and does not inherit from ComplexObject." + + + + + A string like "The type '{0}' was not mapped. Check that the type has not been explicitly excluded by using the Ignore method or NotMappedAttribute data annotation. Verify that the type was defined as a class, is not primitive, nested or generic, and does not inherit from EntityObject." + + + + + A string like "The navigation property '{0}' declared on type '{1}' cannot be the inverse of itself." + + + + + A string like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting foreign keys." + + + + + A string like "Values of incompatible types ('{1}' and '{2}') were assigned to the '{0}' discriminator column. Values of the same type must be specified. To explicitly specify the type of the discriminator column use the HasColumnType method." + + + + + A string like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting mapping information." + + + + + A string like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting cascade delete operations using 'WillCascadeOnDelete'." + + + + + A string like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting multiplicities." + + + + + A string like "The MaxLengthAttribute on property '{0}' on type '{1} is not valid. The Length value must be greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length." + + + + + A string like "The StringLengthAttribute on property '{0}' on type '{1}' is not valid. The maximum length must be greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length." + + + + + A string like "Unable to determine composite primary key ordering for type '{0}'. Use the ColumnAttribute or the HasKey method to specify an order for composite primary keys." + + + + + A string like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. Name must not be empty." + + + + + A string like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. The foreign key name '{2}' was not found on the dependent type '{3}'. The Name value should be a comma separated list of foreign key property names." + + + + + A string like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. The navigation property '{2}' was not found on the dependent type '{1}'. The Name value should be a valid navigation property name." + + + + + A string like "Unable to determine a composite foreign key ordering for foreign key on type {0}. When using the ForeignKey data annotation on composite foreign key properties ensure order is specified by using the Column data annotation or the fluent API." + + + + + A string like "The InversePropertyAttribute on property '{2}' on type '{3}' is not valid. The property '{0}' is not a valid navigation property on the related type '{1}'. Ensure that the property exists and is a valid reference or collection navigation property." + + + + + A string like "A relationship cannot be established from property '{0}' on type '{1}' to property '{0}' on type '{1}'. Check the values in the InversePropertyAttribute to ensure relationship definitions are unique and reference from one navigation property to its corresponding inverse navigation property." + + + + + A string like "\t{0}: {1}: {2}" + + + + + A string like "A key is registered for the derived type '{0}'. Keys can only be registered for the root type '{1}'." + + + + + A string like "The {0} value '{1}' already exists in the user-defined dictionary." + + + + + A string like "The type '{0}' has already been mapped to table '{1}'. Specify all mapping aspects of a table in a single Map call." + + + + + A string like "Map was called more than once for type '{0}' and at least one of the calls didn't specify the target table name." + + + + + A string like "The derived type '{0}' has already been mapped using the chaining syntax. A derived type can only be mapped once using the chaining syntax." + + + + + A string like "An "is not null" condition cannot be specified on property '{0}' on type '{1}' because this property is not included in the model. Check that the property has not been explicitly excluded from the model by using the Ignore method or NotMappedAttribute data annotation." + + + + + A string like "Values of type '{0}' cannot be used as type discriminator values. Supported types include byte, signed byte, bool, int16, int32, int64, and string." + + + + + A string like "Unable to add the convention '{0}'. Could not find an existing convention of type '{1}' in the current convention set." + + + + + A string like "Not all properties for type '{0}' have been mapped. Either map those properties or explicitly excluded them from the model." + + + + + A string like "Unable to determine the provider name for connection of type '{0}'." + + + + + A string like "The qualified table name '{0}' contains an invalid schema name. Schema names must have a non-zero length." + + + + + A string like "The qualified table name '{0}' contains an invalid table name. Table names must have a non-zero length." + + + + + A string like "Properties for type '{0}' can only be mapped once. Ensure the MapInheritedProperties method is only used during one call to the Map method." + + + + + A string like "Properties for type '{0}' can only be mapped once. Ensure the Properties method is used and that repeated calls specify each non-key property only once." + + + + + A string like "Properties for type '{0}' can only be mapped once. The non-key property '{1}' is mapped more than once. Ensure the Properties method specifies each non-key property only once." + + + + + A string like "The property '{1}' on type '{0}' cannot be mapped because it has been explicitly excluded from the model." + + + + + A string like "The entity types '{0}' and '{1}' cannot share table '{2}' because they are not in the same type hierarchy or do not have a valid one to one foreign key relationship with matching primary keys between them." + + + + + A string like "The property '{0}' cannot be used as a key property on the entity '{1}' because the property type is not a valid key type. Only scalar types, string and byte[] are supported key types." + + + + + A string like "The specified table '{0}' was not found in the model. Ensure that the table name has been correctly specified." + + + + + A string like "The specified association foreign key columns '{0}' are invalid. The number of columns specified must match the number of primary key columns." + + + + + A string like "Unable to determine the principal end of an association between the types '{0}' and '{1}'. The principal end of this association must be explicitly configured using either the relationship fluent API or data annotations." + + + + + A string like "The abstract type '{0}' has no mapped descendents and so cannot be mapped. Either remove '{0}' from the model or add one or more types deriving from '{0}' to the model. " + + + + + A string like "The type '{0}' cannot be mapped as defined because it maps inherited properties from types that use entity splitting or another form of inheritance. Either choose a different inheritance mapping strategy so as to not map inherited properties, or change all types in the hierarchy to map inherited properties and to not use splitting. " + + + + + A string like "One or more validation errors were detected during model generation:" + + + + + A string like "A circular ComplexType hierarchy was detected. Self-referencing ComplexTypes are not supported." + + + + + Strongly-typed and parameterized exception factory. + + + + + ArgumentException with message like "The argument '{0}' cannot be null, empty or contain only white space." + + + + + ArgumentException with message like "The argument property '{0}' cannot be null." + + + + + InvalidOperationException with message like "The type '{0}' has already been configured as a complex type. It cannot be reconfigured as an entity type." + + + + + InvalidOperationException with message like "The type '{0}' has already been configured as an entity type. It cannot be reconfigured as a complex type." + + + + + InvalidOperationException with message like "The key component '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid primitive property." + + + + + InvalidOperationException with message like "The foreign key component '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid primitive property." + + + + + InvalidOperationException with message like "The property '{0}' is not a declared property on type '{1}'. Verify that the property has not been explicitly excluded from the model by using the Ignore method or NotMappedAttribute data annotation. Make sure that it is a valid primitive property." + + + + + InvalidOperationException with message like "The navigation property '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid navigation property." + + + + + InvalidOperationException with message like "The expression '{0}' is not a valid property expression. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'." + + + + + InvalidOperationException with message like "The expression '{0}' is not a valid property expression. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. Use dotted paths for nested properties: C#: 't => t.MyProperty.MyProperty' VB.Net: 'Function(t) t.MyProperty.MyProperty'." + + + + + InvalidOperationException with message like "The properties expression '{0}' is not valid. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. When specifying multiple properties use an anonymous type: C#: 't => new {{ t.MyProperty1, t.MyProperty2 }}' VB.Net: 'Function(t) New From {{ t.MyProperty1, t.MyProperty2 }}'." + + + + + InvalidOperationException with message like "The properties expression '{0}' is not valid. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. When specifying multiple properties use an anonymous type: C#: 't => new {{ t.MyProperty1, t.MyProperty2 }}' VB.Net: 'Function(t) New From {{ t.MyProperty1, t.MyProperty2 }}'." + + + + + + InvalidOperationException with message like "Conflicting configuration settings were specified for property '{0}' on type '{1}': {2}" + + + + + InvalidOperationException with message like "Conflicting configuration settings were specified for column '{0}' on table '{1}': {2}" + + + + + InvalidOperationException with message like "The type '{0}' was not mapped. Check that the type has not been explicitly excluded by using the Ignore method or NotMappedAttribute data annotation. Verify that the type was defined as a class, is not primitive, nested or generic, and does not inherit from ComplexObject." + + + + + InvalidOperationException with message like "The type '{0}' was not mapped. Check that the type has not been explicitly excluded by using the Ignore method or NotMappedAttribute data annotation. Verify that the type was defined as a class, is not primitive, nested or generic, and does not inherit from EntityObject." + + + + + InvalidOperationException with message like "The navigation property '{0}' declared on type '{1}' cannot be the inverse of itself." + + + + + InvalidOperationException with message like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting foreign keys." + + + + + MappingException with message like "Values of incompatible types ('{1}' and '{2}') were assigned to the '{0}' discriminator column. Values of the same type must be specified. To explicitly specify the type of the discriminator column use the HasColumnType method." + + + + + InvalidOperationException with message like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting mapping information." + + + + + InvalidOperationException with message like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting cascade delete operations using 'WillCascadeOnDelete'." + + + + + InvalidOperationException with message like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting multiplicities." + + + + + InvalidOperationException with message like "The MaxLengthAttribute on property '{0}' on type '{1} is not valid. The Length value must be greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length." + + + + + InvalidOperationException with message like "The StringLengthAttribute on property '{0}' on type '{1}' is not valid. The maximum length must be greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length." + + + + + InvalidOperationException with message like "Unable to determine composite primary key ordering for type '{0}'. Use the ColumnAttribute or the HasKey method to specify an order for composite primary keys." + + + + + InvalidOperationException with message like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. Name must not be empty." + + + + + InvalidOperationException with message like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. The foreign key name '{2}' was not found on the dependent type '{3}'. The Name value should be a comma separated list of foreign key property names." + + + + + InvalidOperationException with message like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. The navigation property '{2}' was not found on the dependent type '{1}'. The Name value should be a valid navigation property name." + + + + + InvalidOperationException with message like "Unable to determine a composite foreign key ordering for foreign key on type {0}. When using the ForeignKey data annotation on composite foreign key properties ensure order is specified by using the Column data annotation or the fluent API." + + + + + InvalidOperationException with message like "The InversePropertyAttribute on property '{2}' on type '{3}' is not valid. The property '{0}' is not a valid navigation property on the related type '{1}'. Ensure that the property exists and is a valid reference or collection navigation property." + + + + + InvalidOperationException with message like "A relationship cannot be established from property '{0}' on type '{1}' to property '{0}' on type '{1}'. Check the values in the InversePropertyAttribute to ensure relationship definitions are unique and reference from one navigation property to its corresponding inverse navigation property." + + + + + InvalidOperationException with message like "A key is registered for the derived type '{0}'. Keys can only be registered for the root type '{1}'." + + + + + InvalidOperationException with message like "The type '{0}' has already been mapped to table '{1}'. Specify all mapping aspects of a table in a single Map call." + + + + + InvalidOperationException with message like "Map was called more than once for type '{0}' and at least one of the calls didn't specify the target table name." + + + + + InvalidOperationException with message like "The derived type '{0}' has already been mapped using the chaining syntax. A derived type can only be mapped once using the chaining syntax." + + + + + InvalidOperationException with message like "An "is not null" condition cannot be specified on property '{0}' on type '{1}' because this property is not included in the model. Check that the property has not been explicitly excluded from the model by using the Ignore method or NotMappedAttribute data annotation." + + + + + ArgumentException with message like "Values of type '{0}' cannot be used as type discriminator values. Supported types include byte, signed byte, bool, int16, int32, int64, and string." + + + + + InvalidOperationException with message like "Unable to add the convention '{0}'. Could not find an existing convention of type '{1}' in the current convention set." + + + + + InvalidOperationException with message like "Not all properties for type '{0}' have been mapped. Either map those properties or explicitly excluded them from the model." + + + + + NotSupportedException with message like "Unable to determine the provider name for connection of type '{0}'." + + + + + ArgumentException with message like "The qualified table name '{0}' contains an invalid schema name. Schema names must have a non-zero length." + + + + + ArgumentException with message like "The qualified table name '{0}' contains an invalid table name. Table names must have a non-zero length." + + + + + InvalidOperationException with message like "Properties for type '{0}' can only be mapped once. Ensure the MapInheritedProperties method is only used during one call to the Map method." + + + + + InvalidOperationException with message like "Properties for type '{0}' can only be mapped once. Ensure the Properties method is used and that repeated calls specify each non-key property only once." + + + + + InvalidOperationException with message like "Properties for type '{0}' can only be mapped once. The non-key property '{1}' is mapped more than once. Ensure the Properties method specifies each non-key property only once." + + + + + InvalidOperationException with message like "The property '{1}' on type '{0}' cannot be mapped because it has been explicitly excluded from the model." + + + + + InvalidOperationException with message like "The entity types '{0}' and '{1}' cannot share table '{2}' because they are not in the same type hierarchy or do not have a valid one to one foreign key relationship with matching primary keys between them." + + + + + InvalidOperationException with message like "The property '{0}' cannot be used as a key property on the entity '{1}' because the property type is not a valid key type. Only scalar types, string and byte[] are supported key types." + + + + + InvalidOperationException with message like "The specified table '{0}' was not found in the model. Ensure that the table name has been correctly specified." + + + + + InvalidOperationException with message like "The specified association foreign key columns '{0}' are invalid. The number of columns specified must match the number of primary key columns." + + + + + InvalidOperationException with message like "A circular ComplexType hierarchy was detected. Self-referencing ComplexTypes are not supported." + + + + + InvalidOperationException with message like "Unable to determine the principal end of an association between the types '{0}' and '{1}'. The principal end of this association must be explicitly configured using either the relationship fluent API or data annotations." + + + + + InvalidOperationException with message like "The abstract type '{0}' has no mapped descendents and so cannot be mapped. Either remove '{0}' from the model or add one or more types deriving from '{0}' to the model. " + + + + + NotSupportedException with message like "The type '{0}' cannot be mapped as defined because it maps inherited properties from types that use entity splitting or another form of inheritance. Either choose a different inheritance mapping strategy so as to not map inherited properties, or change all types in the hierarchy to map inherited properties and to not use splitting. " + + + + + The exception that is thrown when a null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument. + + + + + The exception that is thrown when the value of an argument is outside the allowable range of values as defined by the invoked method. + + + + + The exception that is thrown when the author has yet to implement the logic at this point in the program. This can act as an exception based TODO tag. + + + + + The exception that is thrown when an invoked method is not supported, or when there is an attempt to read, seek, or write to a stream that does not support the invoked functionality. + + + + + Strongly-typed and parameterized string resources. + + + + + A string like "Cannot get value for property '{0}' from entity of type '{1}' because the property has no get accessor." + + + + + A string like "Cannot set value for property '{0}' on entity of type '{1}' because the property has no set accessor." + + + + + + A string like "Cannot set value for property '{0}' on entity of type '{1}' because the property has no set accessor and is in the '{2}' state." + + + + + A string like "Member '{0}' cannot be called for property '{1}' on entity of type '{2}' because the property is not part of the Entity Data Model." + + + + + + A string like "Cannot call the {0} method for an entity of type '{1}' on a DbSet for entities of type '{2}'. Only entities of type '{2}' or derived from type '{2}' can be added, attached, or removed." + + + + + A string like "Cannot call the Create method for the type '{0}' on a DbSet for entities of type '{1}'. Only entities of type '{1}' or derived from type '{1}' can be created." + + + + + + + A string like "The property '{0}' on type '{1}' is a collection navigation property. The Collection method should be used instead of the Reference method." + + + + + A string like "The property '{0}' on type '{1}' is a reference navigation property. The Reference method should be used instead of the Collection method." + + + + + A string like "The property '{0}' on type '{1}' is not a navigation property. The Reference and Collection methods can only be used with navigation properties. Use the Property or ComplexProperty method." + + + + + A string like "The property '{0}' on type '{1}' is not a primitive or complex property. The Property method can only be used with primitive or complex properties. Use the Reference or Collection method." + + + + + A string like "The property '{0}' on type '{1}' is not a complex property. The ComplexProperty method can only be used with complex properties. Use the Property, Reference or Collection method." + + + + + A string like "The property '{0}' on type '{1}' is not a primitive property, complex property, collection navigation property, or reference navigation property." + + + + + A string like ""The property '{0}' from the property path '{1}' is not a complex property on type '{2}'. Property paths must be composed of complex properties for all except the final property."" + + + + + A string like ""The property path '{0}' cannot be used for navigation properties. Property paths can only be used to access primitive or complex properties."" + + + + + A string like "The navigation property '{0}' on entity type '{1}' cannot be used for entities of type '{2}' because it refers to entities of type '{3}'." + + + + + A string like "The generic type argument '{0}' cannot be used with the Member method when accessing the collection navigation property '{1}' on entity type '{2}'. The generic type argument '{3}' must be used instead." + + + + + A string like "The property '{0}' on entity type '{1}' cannot be used for objects of type '{2}' because it is a property for objects of type '{3}'." + + + + + A string like "The expression passed to method {0} must represent a property defined on the type '{1}'." + + + + + A string like "{0} cannot be used for entities in the {1} state." + + + + + A string like "Cannot set non-nullable property '{0}' of type '{1}' to null on object of type '{2}'." + + + + + A string like "The property '{0}' in the entity of type '{1}' is null. Store values cannot be obtained for an entity with a null complex property." + + + + + A string like "Cannot assign value of type '{0}' to property '{1}' of type '{2}' in property values for type '{3}'." + + + + + A string like "The '{0}' property does not exist or is not mapped for the type '{1}'." + + + + + A string like "Cannot copy values from DbPropertyValues for type '{0}' into DbPropertyValues for type '{1}'." + + + + + A string like "Cannot copy from property values for object of type '{0}' into property values for object of type '{1}'." + + + + + A string like "The value of the complex property '{0}' on entity of type '{1}' is null. Complex properties cannot be set to null and values cannot be set for null complex properties." + + + + + A string like "The value of the nested property values property '{0}' on the values for entity of type '{1}' is null. Nested property values cannot be set to null and values cannot be set for null complex properties." + + + + + A string like "The model backing the '{0}' context has changed since the database was created. Either manually delete/update the database, or call Database.SetInitializer with an IDatabaseInitializer instance. For example, the DropCreateDatabaseIfModelChanges strategy will automatically delete and recreate the database, and optionally seed it with new data." + + + + + A string like "The DbContextDatabaseInitializer entry 'key="{0}" value="{1}"' in the application configuration is not valid. Entries should be of the form 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="MyNamespace.MyInitializerClass, MyAssembly"' or 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="Disabled"'." + + + + + A string like "Failed to set database initializer of type '{0}' for DbContext type '{1}' specified in the application configuration. Entries should be of the form 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="MyNamespace.MyInitializerClass, MyAssembly"' or 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="Disabled"'. The initializer class must have a parameterless constructor. See inner exception for details." + + + + + A string like "The type '{0}' could not be found. The type name must be an assembly-qualified name." + + + + + A string like "The connection string '{0}' in the application's configuration file does not contain the required providerName attribute."" + + + + + A string like "The entity found was of type {0} when an entity of type {1} was requested." + + + + + A string like "The type '{0}' is mapped as a complex type. The Set method, DbSet objects, and DbEntityEntry objects can only be used with entity types, not complex types." + + + + + A string like "The type '{0}' is not attributed with EdmEntityTypeAttribute but is contained in an assembly attributed with EdmSchemaAttribute. POCO entities that do not use EdmEntityTypeAttribute cannot be contained in the same assembly as non-POCO entities that use EdmEntityTypeAttribute." + + + + + A string like "The entity type {0} is not part of the model for the current context." + + + + + A string like "No connection string named '{0}' could be found in the application config file." + + + + + A string like "The collection navigation property '{0}' on the entity of type '{1}' cannot be set because the entity type does not define a navigation property with a set accessor." + + + + + A string like "Multiple object sets per type are not supported. The object sets '{0}' and '{1}' can both contain instances of type '{2}'." + + + + + A string like "The context type '{0}' must have a public constructor taking an EntityConnection." + + + + + A string like "An unexpected exception was thrown during validation of '{0}' when invoking {1}.IsValid. See the inner exception for details." + + + + + A string like "An unexpected exception was thrown during validation of '{0}' when invoking {1}.Validate. See the inner exception for details." + + + + + A string like "The database name '{0}' is not supported because it is an MDF file name. A full connection string must be provided to attach an MDF file." + + + + + A string like "Setting IsModified to false for a modified property is not supported." + + + + + A string like "An error occurred while saving entities that do not expose foreign key properties for their relationships. The EntityEntries property will return null because a single entity cannot be identified as the source of the exception. Handling of exceptions while saving can be made easier by exposing foreign key properties in your entity types. See the InnerException for details." + + + + + A string like "The set of property value names is read-only." + + + + + A string like "A property of a complex type must be set to an instance of the generic or non-generic DbPropertyValues class for that type." + + + + + A string like "Model compatibility cannot be checked because the DbContext instance was not created using Code First patterns. DbContext instances created from an ObjectContext or using an EDMX file cannot be checked for compatibility." + + + + + A string like "Model compatibility cannot be checked because the EdmMetadata type was not included in the model. Ensure that IncludeMetadataConvention has been added to the DbModelBuilder conventions." + + + + + A string like "Model compatibility cannot be checked because the database does not contain model metadata. Ensure that IncludeMetadataConvention has been added to the DbModelBuilder conventions." + + + + + A string like "The context cannot be used while the model is being created." + + + + + A string like "The DbContext class cannot be used with models that have multiple entity sets per type (MEST)." + + + + + A string like "The operation cannot be completed because the DbContext has been disposed." + + + + + A string like "The provider factory returned a null connection." + + + + + A string like "The DbConnectionFactory instance returned a null connection." + + + + + A string like "The number of primary key values passed must match number of primary key values defined on the entity." + + + + + A string like "The type of one of the primary key values did not match the type defined in the entity. See inner exception for details." + + + + + A string like "Multiple entities were found in the Added state that match the given primary key values." + + + + + A string like "Data binding directly to a store query (DbSet, DbQuery, DbSqlQuery) is not supported. Instead populate a DbSet with data, for example by calling Load on the DbSet, and then bind to local data. For WPF bind to DbSet.Local. For WinForms bind to DbSet.Local.ToBindingList()." + + + + + A string like "The Include path expression must refer to a navigation property defined on the type. Use dotted paths for reference navigation properties and the Select operator for collection navigation properties." + + + + + A string like "Cannot initialize a DbContext from an entity connection string or an EntityConnection instance together with a DbCompiledModel. If an entity connection string or EntityConnection instance is used, then the model will be created from the metadata in the connection. If a DbCompiledModel is used, then the connection supplied should be a standard database connection (for example, a SqlConnection instance) rather than an entity connection." + + + + + A string like "Using the same DbCompiledModel to create contexts against different types of database servers is not supported. Instead, create a separate DbCompiledModel for each type of server being used." + + + + + A string like "Validation failed for one or more entities. See 'EntityValidationErrors' property for more details." + + + + + A string like "An exception occurred while initializing the database. See the InnerException for details." + + + + + A string like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using an existing ObjectContext is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel." + + + + + A string like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using an existing DbCompiledModel is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel." + + + + + A string like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using Database First or Model First is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel." + + + + + A string like "Code generated using the T4 templates for Database First and Model First development may not work correctly if used in Code First mode. To continue using Database First or Model First ensure that the Entity Framework connection string is specified in the config file of executing application. To use these classes, that were generated from Database First or Model First, with Code First add any additional configuration using attributes or the DbModelBuilder API and then remove the code that throws this exception." + + + + + Strongly-typed and parameterized exception factory. + + + + + InvalidOperationException with message like "Cannot get value for property '{0}' from entity of type '{1}' because the property has no get accessor." + + + + + InvalidOperationException with message like "Cannot set value for property '{0}' on entity of type '{1}' because the property has no set accessor." + + + + + + NotSupportedException with message like "Cannot set value for property '{0}' on entity of type '{1}' because the property has no set accessor and is in the '{2}' state." + + + + + InvalidOperationException with message like "Member '{0}' cannot be called for property '{1}' on entity of type '{2}' because the property is not part of the Entity Data Model." + + + + + + ArgumentException with message like "Cannot call the {0} method for an entity of type '{1}' on a DbSet for entities of type '{2}'. Only entities of type '{2}' or derived from type '{2}' can be added, attached, or removed." + + + + + ArgumentException with message like "Cannot call the Create method for the type '{0}' on a DbSet for entities of type '{1}'. Only entities of type '{1}' or derived from type '{1}' can be created." + + + + + + + ArgumentException with message like "The property '{0}' on type '{1}' is a collection navigation property. The Collection method should be used instead of the Reference method." + + + + + ArgumentException with message like "The property '{0}' on type '{1}' is a reference navigation property. The Reference method should be used instead of the Collection method." + + + + + ArgumentException with message like "The property '{0}' on type '{1}' is not a navigation property. The Reference and Collection methods can only be used with navigation properties. Use the Property or ComplexProperty method." + + + + + ArgumentException with message like "The property '{0}' on type '{1}' is not a primitive or complex property. The Property method can only be used with primitive or complex properties. Use the Reference or Collection method." + + + + + ArgumentException with message like "The property '{0}' on type '{1}' is not a complex property. The ComplexProperty method can only be used with complex properties. Use the Property, Reference or Collection method." + + + + + ArgumentException with message like "The property '{0}' on type '{1}' is not a primitive property, complex property, collection navigation property, or reference navigation property." + + + + + ArgumentException with message like ""The property '{0}' from the property path '{1}' is not a complex property on type '{2}'. Property paths must be composed of complex properties for all except the final property."" + + + + + ArgumentException with message like ""The property path '{0}' cannot be used for navigation properties. Property paths can only be used to access primitive or complex properties."" + + + + + ArgumentException with message like "The navigation property '{0}' on entity type '{1}' cannot be used for entities of type '{2}' because it refers to entities of type '{3}'." + + + + + ArgumentException with message like "The generic type argument '{0}' cannot be used with the Member method when accessing the collection navigation property '{1}' on entity type '{2}'. The generic type argument '{3}' must be used instead." + + + + + ArgumentException with message like "The property '{0}' on entity type '{1}' cannot be used for objects of type '{2}' because it is a property for objects of type '{3}'." + + + + + NotSupportedException with message like "Setting IsModified to false for a modified property is not supported." + + + + + ArgumentException with message like "The expression passed to method {0} must represent a property defined on the type '{1}'." + + + + + InvalidOperationException with message like "{0} cannot be used for entities in the {1} state." + + + + + InvalidOperationException with message like "Cannot set non-nullable property '{0}' of type '{1}' to null on object of type '{2}'." + + + + + InvalidOperationException with message like "The property '{0}' in the entity of type '{1}' is null. Store values cannot be obtained for an entity with a null complex property." + + + + + InvalidOperationException with message like "Cannot assign value of type '{0}' to property '{1}' of type '{2}' in property values for type '{3}'." + + + + + NotSupportedException with message like "The set of property value names is read-only." + + + + + ArgumentException with message like "The '{0}' property does not exist or is not mapped for the type '{1}'." + + + + + ArgumentException with message like "Cannot copy values from DbPropertyValues for type '{0}' into DbPropertyValues for type '{1}'." + + + + + ArgumentException with message like "Cannot copy from property values for object of type '{0}' into property values for object of type '{1}'." + + + + + ArgumentException with message like "A property of a complex type must be set to an instance of the generic or non-generic DbPropertyValues class for that type." + + + + + InvalidOperationException with message like "The value of the complex property '{0}' on entity of type '{1}' is null. Complex properties cannot be set to null and values cannot be set for null complex properties." + + + + + InvalidOperationException with message like "The value of the nested property values property '{0}' on the values for entity of type '{1}' is null. Nested property values cannot be set to null and values cannot be set for null complex properties." + + + + + InvalidOperationException with message like "The model backing the '{0}' context has changed since the database was created. Either manually delete/update the database, or call Database.SetInitializer with an IDatabaseInitializer instance. For example, the DropCreateDatabaseIfModelChanges strategy will automatically delete and recreate the database, and optionally seed it with new data." + + + + + NotSupportedException with message like "Model compatibility cannot be checked because the DbContext instance was not created using Code First patterns. DbContext instances created from an ObjectContext or using an EDMX file cannot be checked for compatibility." + + + + + NotSupportedException with message like "Model compatibility cannot be checked because the EdmMetadata type was not included in the model. Ensure that IncludeMetadataConvention has been added to the DbModelBuilder conventions." + + + + + NotSupportedException with message like "Model compatibility cannot be checked because the database does not contain model metadata. Ensure that IncludeMetadataConvention has been added to the DbModelBuilder conventions." + + + + + InvalidOperationException with message like "The DbContextDatabaseInitializer entry 'key="{0}" value="{1}"' in the application configuration is not valid. Entries should be of the form 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="MyNamespace.MyInitializerClass, MyAssembly"' or 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="Disabled"'." + + + + + InvalidOperationException with message like "Failed to set database initializer of type '{0}' for DbContext type '{1}' specified in the application configuration. Entries should be of the form 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="MyNamespace.MyInitializerClass, MyAssembly"' or 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="Disabled"'. The initializer class must have a parameterless constructor. See inner exception for details." + + + + + InvalidOperationException with message like "The type '{0}' could not be found. The type name must be an assembly-qualified name." + + + + + InvalidOperationException with message like "The context cannot be used while the model is being created." + + + + + InvalidOperationException with message like "The DbContext class cannot be used with models that have multiple entity sets per type (MEST)." + + + + + InvalidOperationException with message like "The operation cannot be completed because the DbContext has been disposed." + + + + + InvalidOperationException with message like "The provider factory returned a null connection." + + + + + InvalidOperationException with message like "The connection string '{0}' in the application's configuration file does not contain the required providerName attribute."" + + + + + InvalidOperationException with message like "The DbConnectionFactory instance returned a null connection." + + + + + ArgumentException with message like "The number of primary key values passed must match number of primary key values defined on the entity." + + + + + ArgumentException with message like "The type of one of the primary key values did not match the type defined in the entity. See inner exception for details." + + + + + InvalidOperationException with message like "The entity found was of type {0} when an entity of type {1} was requested." + + + + + InvalidOperationException with message like "Multiple entities were found in the Added state that match the given primary key values." + + + + + InvalidOperationException with message like "The type '{0}' is mapped as a complex type. The Set method, DbSet objects, and DbEntityEntry objects can only be used with entity types, not complex types." + + + + + InvalidOperationException with message like "The type '{0}' is not attributed with EdmEntityTypeAttribute but is contained in an assembly attributed with EdmSchemaAttribute. POCO entities that do not use EdmEntityTypeAttribute cannot be contained in the same assembly as non-POCO entities that use EdmEntityTypeAttribute." + + + + + InvalidOperationException with message like "The entity type {0} is not part of the model for the current context." + + + + + NotSupportedException with message like "Data binding directly to a store query (DbSet, DbQuery, DbSqlQuery) is not supported. Instead populate a DbSet with data, for example by calling Load on the DbSet, and then bind to local data. For WPF bind to DbSet.Local. For WinForms bind to DbSet.Local.ToBindingList()." + + + + + ArgumentException with message like "The Include path expression must refer to a navigation property defined on the type. Use dotted paths for reference navigation properties and the Select operator for collection navigation properties." + + + + + InvalidOperationException with message like "No connection string named '{0}' could be found in the application config file." + + + + + InvalidOperationException with message like "Cannot initialize a DbContext from an entity connection string or an EntityConnection instance together with a DbCompiledModel. If an entity connection string or EntityConnection instance is used, then the model will be created from the metadata in the connection. If a DbCompiledModel is used, then the connection supplied should be a standard database connection (for example, a SqlConnection instance) rather than an entity connection." + + + + + NotSupportedException with message like "The collection navigation property '{0}' on the entity of type '{1}' cannot be set because the entity type does not define a navigation property with a set accessor." + + + + + NotSupportedException with message like "Using the same DbCompiledModel to create contexts against different types of database servers is not supported. Instead, create a separate DbCompiledModel for each type of server being used." + + + + + InvalidOperationException with message like "Multiple object sets per type are not supported. The object sets '{0}' and '{1}' can both contain instances of type '{2}'." + + + + + InvalidOperationException with message like "The context type '{0}' must have a public constructor taking an EntityConnection." + + + + + NotSupportedException with message like "The database name '{0}' is not supported because it is an MDF file name. A full connection string must be provided to attach an MDF file." + + + + + DataException with message like "An exception occurred while initializing the database. See the InnerException for details." + + + + + NotSupportedException with message like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using an existing ObjectContext is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel." + + + + + NotSupportedException with message like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using an existing DbCompiledModel is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel." + + + + + NotSupportedException with message like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using Database First or Model First is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel." + + + + + The exception that is thrown when a null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument. + + + + + The exception that is thrown when the value of an argument is outside the allowable range of values as defined by the invoked method. + + + + + The exception that is thrown when the author has yet to implement the logic at this point in the program. This can act as an exception based TODO tag. + + + + + The exception that is thrown when an invoked method is not supported, or when there is an attempt to read, seek, or write to a stream that does not support the invoked functionality. + + + + + Strongly-typed and parameterized string resources. + + + + + A string like "The field {0} must be a string or array type with a maximum length of '{1}'." + + + + + A string like "The field {0} must be a string or array type with a minimum length of '{1}'." + + + + + A string like "The argument '{0}' cannot be null, empty or contain only white space." + + + + + A string like "MaxLengthAttribute must have a Length value that is greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length." + + + + + A string like "MinLengthAttribute must have a Length value that is zero or greater." + + + + + Strongly-typed and parameterized exception factory. + + + + + InvalidOperationException with message like "MaxLengthAttribute must have a Length value that is greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length." + + + + + InvalidOperationException with message like "MinLengthAttribute must have a Length value that is zero or greater." + + + + + ArgumentException with message like "The argument '{0}' cannot be null, empty or contain only white space." + + + + + The exception that is thrown when a null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument. + + + + + The exception that is thrown when the value of an argument is outside the allowable range of values as defined by the invoked method. + + + + + The exception that is thrown when the author has yet to implement the logic at this point in the program. This can act as an exception based TODO tag. + + + + + The exception that is thrown when an invoked method is not supported, or when there is an attempt to read, seek, or write to a stream that does not support the invoked functionality. + + + + + Gets or sets an value representing the model that is being mapped. + + + + + Gets or sets a value representing the database that is the target of the mapping. + + + + + Gets or sets the collection of s that specifies how the model's entity containers are mapped to the database. + + + + + This convention uses the name of the derived + class as the container for the conceptual model built by + Code First. + + + + + Identifies conventions that can be removed from a instance. + + + + + Initializes a new instance of the class. + + The model container name. + + + + Applies the convention to the given model. + + The model. + + + + This convention uses the namespace of the derived + class as the namespace of the conceptual model built by + Code First. + + + + + Initializes a new instance of the class. + + The model namespace. + + + + Applies the convention to the given model. + + The model. + + + + Thrown when a context is generated from the templates in Database First or Model + First mode and is then used in Code First mode. + + + Code generated using the T4 templates provided for Database First and Model First use may not work + correctly if used in Code First mode. To use these classes with Code First please add any additional + configuration using attributes or the DbModelBuilder API and then remove the code that throws this + exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The object that holds the serialized object data. + The contextual information about the source or destination. + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Adapted from to allow the initializer to take an input object and + to do one-time initialization that only has side-effects and doesn't return a value. + + The type of the input. + + + + Initializes a new instance of the class. + + The action. + + + + Performs the action unless it has already been successfully performed before. + + The input to the action; ignored if the action has already succeeded. + + + + Adapted from to allow the initializer to take an input object and + to retry initialization if it has previously failed. + + + This class can only be used to initialize reference types that will not be null when + initialized. + + The type of the input. + The type of the result. + + + + Initializes a new instance of the class. + + The value factory. + + + + Gets the value, possibly by running the initializer if it has not been run before or + if all previous times it ran resulted in exceptions. + + The input to the initializer; ignored if initialization has already succeeded. + The initialized object. + + + + Abstracts simple validators used to validate entities and properties. + + + + + Validates an entity or a property. + + Validation context. Never null. + Property to validate. Can be null for type level validation. + Validation error as. Empty if no errors. Never null. + + + + + Contracts for interface. + + + + + Contract for IValidator.Validate method. + + Validation context. + Property. + Nothing - always throws. + + + + Indicates what parts of a configuration are overridable. + + + + + Nothing in the configuration is overridable. + + + + + The configuration values related to C-Space are overridable. + + + + + The configuration values only related to S-Space are overridable. + + + + + Populate the table mapping structure + + + + + Sets nullability for association set mappings' foreign keys for 1:* and 1:0..1 associations + when no base types share the the association set mapping's table + + + + + Makes sure only the required property mappings are present + + + + + Determines if the table and entity type need mapping, and if not, removes the existing entity type mapping + + + + + Base class for configuring a property on an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Convention to set a default maximum length of 4000 for properties whose type supports length facets when SqlCe is the provider. + + + + + Convention to process instances of found on navigation properties in the model. + + + + + Exception thrown from when an exception is thrown from the validation + code. + + + + + Initializes a new instance of DbUnexpectedValidationException + + The exception message. + + + + Initializes a new instance of DbUnexpectedValidationException + + The exception message. + + + + Initializes a new instance of DbUnexpectedValidationException + + The exception message. + The inner exception. + + + + Initializes a new instance of DbUnexpectedValidationException with the specified serialization info and + context. + + The serialization info. + The streaming context. + + + + An implementation of IDatabaseInitializer that will always recreate and optionally re-seed the + database the first time that a context is used in the app domain. + To seed the database, create a derived class and override the Seed method. + + The type of the context. + + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + A that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + An implementation of IDatabaseInitializer that will recreate and optionally re-seed the + database only if the database does not exist. + To seed the database, create a derived class and override the Seed method. + + The type of the context. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + A that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + An instances of this class is obtained from an object and can be used + to manage the actual database backing a DbContext or connection. + This includes creating, deleting, and checking for the existence of a database. + Note that deletion and checking for existence of a database can be performed using just a + connection (i.e. without a full context) by using the static methods of this class. + + + + + Creates a Database backed by the given context. This object can be used to create a database, + check for database existence, and delete a database. + + The context that defines the database connection and model. + + + + Gets or sets the database initialization strategy. The database initialization strategy is called when instance + is initialized from a . The strategy can optionally check for database existence, create a new database, and + seed the database with data. + The default strategy is an instance of created with useSeedData set + to true. + + The type of the context. + The strategy. + The database creation strategy. + + + + Internal version of SetInitializer that allows the strategy to be locked such that it cannot be replaced + by another call to SetInitializer. This allows strategies set in the app.config to win over strategies set + in code. + + The type of the context. + The strategy. + if set to true then the strategy is locked. + + + + Runs the the registered on this context. + + If "force" is set to true, then the initializer is run regardless of whether or not it + has been run before. This can be useful if a database is deleted while an app is running + and needs to be reinitialized. + + If "force" is set to false, then the initializer is only run if it has not already been + run for this context, model, and connection in this app domain. This method is typically + used when it is necessary to ensure that the database has been created and seeded + before starting some operation where doing so lazily will cause issues, such as when the + operation is part of a transaction. + + if set to true the initializer is run even if it has already been run. + + + + This method returns true if the context has a model hash and the database contains a model hash + and these hashes match. This indicates that the model used to create the database is the same + as the current model and so the two can be used together. + + If set to true then an exception will be thrown if no + model metadata is found either in the model associated with the context or in the database + itself. If set to false then this method will return true if metadata is + not found. + + True if the model hash in the context and the database match; false otherwise. + + + + + Creates a new database on the database server for the model defined in the backing context. + Note that calling this method before the database initialization strategy has run will disable + executing that strategy. + + + + + Creates a new database on the database server for the model defined in the backing context, but only + if a database with the same name does not already exist on the server. + + True if the database did not exist and was created; false otherwise. + + + + Checks whether or not the database exists on the server. + + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + + True if the database did exist and was deleted; false otherwise. + + + + Checks whether or not the database exists on the server. + The connection to the database is created using the given database name or connection string + in the same way as is described in the documentation for the class. + + The database name or a connection string to the database. + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + The connection to the database is created using the given database name or connection string + in the same way as is described in the documentation for the class. + + The database name or a connection string to the database. + True if the database did exist and was deleted; false otherwise. + + + + Checks whether or not the database exists on the server. + + An existing connection to the database. + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + + An existing connection to the database. + True if the database did exist and was deleted; false otherwise. + + + + Performs the operation defined by the given delegate using the given lazy connection, ensuring + that the lazy connection is disposed after use. + + Information used to create a DbConnection. + The operation to perform. + The return value of the operation. + + + + Performs the operation defined by the given delegate against a connection. The connection + is either the connection accessed from the context backing this object, or is obtained from + the connection information passed to one of the static methods. + + The connection to use. + The operation to perform. + The return value of the operation. + + + + Returns an empty ObjectContext that can be used to perform delete/exists operations. + + The connection for which to create an ObjectContext + The empty context. + + + + Creates a raw SQL query that will return elements of the given generic type. + The type can be any type that has properties that match the names of the columns returned + from the query, or can be a simple primitive type. The type does not have to be an + entity type. The results of this query are never tracked by the context even if the + type of object returned is an entity type. Use the + method to return entities that are tracked by the context. + + The type of object returned by the query. + The SQL query string. + The parameters to apply to the SQL query string. + A object that will execute the query when it is enumerated. + + + + Creates a raw SQL query that will return elements of the given type. + The type can be any type that has properties that match the names of the columns returned + from the query, or can be a simple primitive type. The type does not have to be an + entity type. The results of this query are never tracked by the context even if the + type of object returned is an entity type. Use the + method to return entities that are tracked by the context. + + The type of object returned by the query. + The SQL query string. + The parameters to apply to the SQL query string. + A object that will execute the query when it is enumerated. + + + + Executes the given DDL/DML command against the database. + + The command string. + The parameters to apply to the command string. + The result returned by the database after executing the command. + + + + Returns the connection being used by this context. This may cause the context to be initialized + and the connection to be created if it does not already exist. + + Thrown if the context has been disposed. + + + + Returns the as a delegate that can be called with + an instance of the that owns this Database object, or returns null if + there is no initializer set for this context type. + + The initializer delegate or null. + + + + The connection factory to use when creating a from just + a database name or a connection string. + + + This is used when just a database name or connection string is given to or when + the no database name or connection is given to DbContext in which case the name of + the context class is passed to this factory in order to generate a DbConnection. + The default connection factory creates a connection to SQL Express on the local machine. However, + this default may be changed by an application framework. + + + + + An implementation of IDatabaseInitializer that will DELETE, recreate, and optionally re-seed the + database only if the model has changed since the database was created. This is achieved by writing a + hash of the store model to the database when it is created and then comparing that hash with one + generated from the current model. + To seed the database, create a derived class and override the Seed method. + + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + A that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + A DbContext instance represents a combination of the Unit Of Work and Repository patterns such that + it can be used to query from a database and group together changes that will then be written + back to the store as a unit. + DbContext is conceptually similar to ObjectContext. + + + DbContext is usually used with a derived type that contains properties for + the root entities of the model. These sets are automatically initialized when the + instance of the derived class is created. This behavior can be modified by applying the + attribute to either the entire derived context + class, or to individual properties on the class. + + The Entity Data Model backing the context can be specified in several ways. When using the Code First + approach, the properties on the derived context are used to build a model + by convention. The protected OnModelCreating method can be overridden to tweak this model. More + control over the model used for the Model First approach can be obtained by creating a + explicitly from a and passing this model to one of the DbContext constructors. + + When using the Database First or Model First approach the Entity Data Model can be created using the + Entity Designer (or manually through creation of an EDMX file) and then this model can be specified using + entity connection string or an object. + + The connection to the database (including the name of the database) can be specified in several ways. + If the parameterless DbContext constructor is called from a derived context, then the name of the derived context + is used to find a connection string in the app.config or web.config file. If no connection string is found, then + the name is passed to the DefaultConnectionFactory registered on the class. The connection + factory then uses the context name as the database name in a default connection string. (This default connection + string points to .\SQLEXPRESS on the local machine unless a different DefaultConnectionFactory is registered.) + + Instead of using the derived context name, the connection/database name can also be specified explicitly by + passing the name to one of the DbContext constructors that takes a string. The name can also be passed in + the form "name=myname", in which case the name must be found in the config file or an exception will be thrown. + + Note that the connection found in the app.config or web.config file can be a normal database connection + string (not a special Entity Framework connection string) in which case the DbContext will use Code First. + However, if the connection found in the config file is a special Entity Framework connection string, then the + DbContext will use Database/Model First and the model specified in the connection string will be used. + + An existing or explicitly created DbConnection can also be used instead of the database/connection name. + + A can be applied to a class derived from DbContext to set the + version of conventions used by the context when it creates a model. If no attribute is applied then the + latest version of conventions will be used. + + + + + Interface implemented by objects that can provide an instance. + The class implements this interface to provide access to the underlying + ObjectContext. + + + + + Gets the object context. + + The object context. + + + + Constructs a new context instance using conventions to create the name of the database to + which a connection will be made. The by-convention name is the full name (namespace + class name) + of the derived context class. + See the class remarks for how this is used to create a connection. + + + + + Constructs a new context instance using conventions to create the name of the database to + which a connection will be made, and initializes it from the given model. + The by-convention name is the full name (namespace + class name) of the derived context class. + See the class remarks for how this is used to create a connection. + + The model that will back this context. + + + + Constructs a new context instance using the given string as the name or connection string for the + database to which a connection will be made. + See the class remarks for how this is used to create a connection. + + Either the database name or a connection string. + + + + Constructs a new context instance using the given string as the name or connection string for the + database to which a connection will be made, and initializes it from the given model. + See the class remarks for how this is used to create a connection. + + Either the database name or a connection string. + The model that will back this context. + + + + Constructs a new context instance using the existing connection to connect to a database. + The connection will not be disposed when the context is disposed. + + An existing connection to use for the new context. + If set to true the connection is disposed when + the context is disposed, otherwise the caller must dispose the connection. + + + + Constructs a new context instance using the existing connection to connect to a database, + and initializes it from the given model. + The connection will not be disposed when the context is disposed. + An existing connection to use for the new context. + The model that will back this context. + If set to true the connection is disposed when + the context is disposed, otherwise the caller must dispose the connection. + + + + + Constructs a new context instance around an existing ObjectContext. + An existing ObjectContext to wrap with the new context. + If set to true the ObjectContext is disposed when + the DbContext is disposed, otherwise the caller must dispose the connection. + + + + + Initializes the internal context, discovers and initializes sets, and initializes from a model if one is provided. + + + + + Discovers DbSets and initializes them. + + + + + This method is called when the model for a derived context has been initialized, but + before the model has been locked down and used to initialize the context. The default + implementation of this method does nothing, but it can be overridden in a derived class + such that the model can be further configured before it is locked down. + + + Typically, this method is called only once when the first instance of a derived context + is created. The model for that context is then cached and is for all further instances of + the context in the app domain. This caching can be disabled by setting the ModelCaching + property on the given ModelBuidler, but note that this can seriously degrade performance. + More control over caching is provided through use of the DbModelBuilder and DbContextFactory + classes directly. + + The builder that defines the model for the context being created. + + + + Internal method used to make the call to the real OnModelCreating method. + + The model builder. + + + + Returns a DbSet instance for access to entities of the given type in the context, + the ObjectStateManager, and the underlying store. + + + See the DbSet class for more details. + + The type entity for which a set should be returned. + A set for the given entity type. + + + + Returns a non-generic DbSet instance for access to entities of the given type in the context, + the ObjectStateManager, and the underlying store. + + The type of entity for which a set should be returned. + A set for the given entity type. + + See the DbSet class for more details. + + + + + Saves all changes made in this context to the underlying database. + + The number of objects written to the underlying database. + Thrown if the context has been disposed. + + + + Validates tracked entities and returns a Collection of containing validation results. + + + Collection of validation results for invalid entities. The collection is never null and must not contain null + values or results for valid entities. + + + 1. This method calls DetectChanges() to determine states of the tracked entities unless + DbContextConfiguration.AutoDetectChangesEnabled is set to false. + 2. By default only Added on Modified entities are validated. The user is able to change this behavior + by overriding ShouldValidateEntity method. + + + + + Extension point allowing the user to override the default behavior of validating only + added and modified entities. + + DbEntityEntry instance that is supposed to be validated. + true to proceed with validation. false otherwise. + + + + Extension point allowing the user to customize validation of an entity or filter out validation results. + Called by . + + DbEntityEntry instance to be validated. + User defined dictionary containing additional info for custom validation. + It will be passed to + and will be exposed as . + This parameter is optional and can be null. + Entity validation result. Possibly null when overridden. + + + + Internal method that calls the protected ValidateEntity method. + + DbEntityEntry instance to be validated. + User defined dictionary containing additional info for custom validation. + It will be passed to + and will be exposed as . + This parameter is optional and can be null. + Entity validation result. Possibly null when ValidateEntity is overridden. + + + + Gets a object for the given entity providing access to + information about the entity and the ability to perform actions on the entity. + + The type of the entity. + The entity. + An entry for the entity. + + + + Gets a object for the given entity providing access to + information about the entity and the ability to perform actions on the entity. + + The entity. + An entry for the entity. + + + + Calls the protected Dispose method. + + + + + Disposes the context. The underlying is also disposed if it was created + is by this context or ownership was passed to this context when this context was created. + The connection to the database ( object) is also disposed if it was created + is by this context or ownership was passed to this context when this context was created. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Creates a Database instance for this context that allows for creation/deletion/existence checks + for the underlying database. + + + + + Returns the Entity Framework ObjectContext that is underlying this context. + + Thrown if the context has been disposed. + + + + Provides access to features of the context that deal with change tracking of entities. + + An object used to access features that deal with change tracking. + + + + Provides access to configuration options for the context. + + An object used to access configuration options. + + + + Provides access to the underlying InternalContext for other parts of the internal design. + + + + + + + Common code for generic and non-generic string Include. + + + + + + Returns a new query where the entities returned will not be cached in the + or . This method works by calling the AsNoTracking method of the + underlying query object. If the underlying query object does not have a AsNoTracking method, + then calling this method will have no affect. + + The element type. + The source query. + A new query with NoTracking applied, or the source query if NoTracking is not supported. + + + + Returns a new query where the entities returned will not be cached in the + or . This method works by calling the AsNoTracking method of the + underlying query object. If the underlying query object does not have a AsNoTracking method, + then calling this method will have no affect. + + The source query. + A new query with NoTracking applied, or the source query if NoTracking is not supported. + + + + Common code for generic and non-generic AsNoTracking. + + + + + Enumerates the query such that for server queries such as those of , , + , and others the results of the query will be loaded into the associated , + or other cache on the client. + This is equivalent to calling ToList and then throwing away the list without the overhead of actually creating the list. + + The source query. + + + + Returns an implementation that stays in sync with the given . + + The element type. + The collection that the binding list will stay in sync with. + The binding list. + + + + A DbSet represents the collection of all entities in the context, or that can be queried from the + database, of a given type. DbSet objects are created from a DbContext using the DbContext.Set method. + + + Note that DbSet does not support MEST (Multiple Entity Sets per Type) meaning that there is always a + one-to-one correlation between a type and a set. + + The type that defines the set. + + + + Represents a LINQ to Entities query against a DbContext. + + The type of entity to query for. + + + + An internal interface implemented by and that allows access to + the internal query without using reflection. + + + + + The underlying internal set. + + + + + Creates a new query that will be backed by the given internal query object. + + The backing query. + + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Throws an exception indicating that binding directly to a store query is not supported. + Instead populate a DbSet with data, for example by using the Load extension method, and + then bind to local data. For WPF bind to DbSet.Local. For Windows Forms bind to + DbSet.Local.ToBindingList(). + + + Never returns; always throws. + + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + Returns a representation of the underlying query. + + + The query string. + + + + + Returns a new instance of the non-generic class for this query. + + A non-generic version. + + + + Returns false. + + false. + + + + The IQueryable element type. + + + + + The IQueryable LINQ Expression. + + + + + The IQueryable provider. + + + + + The internal query object that is backing this DbQuery + + + + + The internal query object that is backing this DbQuery + + + + + An IDbSet represents the collection of all entities in the context, or that can be queried from the + database, of a given type. DbSet is a concrete implementation of IDbSet. + + The type that defines the set. + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + The entity to add. + The entity. + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + The entity to remove. + The entity. + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + The entity to attach. + The entity. + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The type of entity to create. + The entity instance, which may be a proxy. + + + + Gets an that represents a local view of all Added, Unchanged, + and Modified entities in this set. This local view will stay in sync as entities are added or + removed from the context. Likewise, entities added to or removed from the local view will automatically + be added to or removed from the context. + + + This property can be used for data binding by populating the set with data, for example by using the Load + extension method, and then binding to the local data through this property. For WPF bind to this property + directly. For Windows Forms bind to the result of calling ToBindingList on this property + + The local view. + + + + An internal interface implemented by and that allows access to + the internal set without using reflection. + + + + + The underlying internal set. + + + + + Creates a new set that will be backed by the given . + + The internal set. + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + The entity to attach. + The entity. + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + The entity to add. + The entity. + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + The entity to remove. + The entity. + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The type of entity to create. + The entity instance, which may be a proxy. + + + + Returns the equivalent non-generic object. + + The non-generic set object. + + + + Creates a raw SQL query that will return entities in this set. By default, the + entities returned are tracked by the context; this can be changed by calling + AsNoTracking on the returned. + Note that the entities returned are always of the type for this set and never of + a derived type. If the table or tables queried may contain data for other entity + types, then the SQL query must be written appropriately to ensure that only entities of + the correct type are returned. + + The SQL query string. + The parameters to apply to the SQL query string. + A object that will execute the query when it is enumerated. + + + + Gets an that represents a local view of all Added, Unchanged, + and Modified entities in this set. This local view will stay in sync as entities are added or + removed from the context. Likewise, entities added to or removed from the local view will automatically + be added to or removed from the context. + + + This property can be used for data binding by populating the set with data, for example by using the Load + extension method, and then binding to the local data through this property. For WPF bind to this property + directly. For Windows Forms bind to the result of calling ToBindingList on this property + + The local view. + + + + The internal IQueryable that is backing this DbQuery + + + + + A non-generic version of which can be used when the type of entity + is not known at build time. + + + + + Represents a non-generic LINQ to Entities query against a DbContext. + + + + + Internal constructor prevents external classes deriving from DbQuery. + + + + + Throws an exception indicating that binding directly to a store query is not supported. + Instead populate a DbSet with data, for example by using the Load extension method, and + then bind to local data. For WPF bind to DbSet.Local. For Windows Forms bind to + DbSet.Local.ToBindingList(). + + + Never returns; always throws. + + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Returns the equivalent generic object. + + The type of element for which the query was created. + The generic set object. + + + + Returns a representation of the underlying query. + + + The query string. + + + + + Returns false. + + false. + + + + The IQueryable element type. + + + + + The IQueryable LINQ Expression. + + + + + The IQueryable provider. + + + + + Gets the underlying internal query object. + + The internal query. + + + + The internal query object that is backing this DbQuery + + + + + Internal constructor prevents external classes deriving from DbSet. + + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + The entity to attach. + The entity. + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + The entity to add. + The entity. + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + The entity to remove. + The entity. + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Returns the equivalent generic object. + + The type of entity for which the set was created. + The generic set object. + + + + Creates a raw SQL query that will return entities in this set. By default, the + entities returned are tracked by the context; this can be changed by calling + AsNoTracking on the returned. + Note that the entities returned are always of the type for this set and never of + a derived type. If the table or tables queried may contain data for other entity + types, then the SQL query must be written appropriately to ensure that only entities of + the correct type are returned. + + The SQL query string. + The parameters to apply to the SQL query string. + A object that will execute the query when it is enumerated. + + + + Gets an that represents a local view of all Added, Unchanged, + and Modified entities in this set. This local view will stay in sync as entities are added or + removed from the context. Likewise, entities added to or removed from the local view will automatically + be added to or removed from the context. + + + This property can be used for data binding by populating the set with data, for example by using the Load + extension method, and then binding to the local data through this property. For WPF bind to this property + directly. For Windows Forms bind to the result of calling ToBindingList on this property + + The local view. + + + + The internal IQueryable that is backing this DbQuery + + + + + Gets the underlying internal set. + + The internal set. + + + + Contains methods used to access the Entity Data Model created by Code First in the EDMX form. + These methods are typically used for debugging when there is a need to look at the model that + Code First creates internally. + + + + + Uses Code First with the given context and writes the resulting Entity Data Model to the given + writer in EDMX form. This method can only be used with context instances that use Code First + and create the model internally. The method cannot be used for contexts created using Database + First or Model First, for contexts created using a pre-existing , or + for contexts created using a pre-existing . + + The context. + The writer. + + + + Writes the Entity Data Model represented by the given to the + given writer in EDMX form. + + An object representing the EDM. + The writer. + + + + This attribute can be applied to a class derived from to set which + version of the DbContext and conventions should be used when building + a model from code--also know as "Code First". See the + enumeration for details about DbModelBuilder versions. + + + If the attribute is missing from DbContextthen DbContext will always use the latest + version of the conventions. This is equivalent to using DbModelBuilderVersion.Latest. + + + + + Initializes a new instance of the class. + + The conventions version to use. + + + + Gets the conventions version. + + The conventions version. + + + + A value from this enumeration can be provided directly to the + class or can be used in the applied to + a class derived from . The value used defines which version of + the DbContext and DbModelBuilder conventions should be used when building a model from + code--also know as "Code First". + + + Using DbModelBuilderVersion.Latest ensures that all the latest functionality is available + when upgrading to a new release of the Entity Framework. However, it may result in an + application behaving differently with the new release than it did with a previous release. + This can be avoided by using a specific version of the conventions, but if a version + other than the latest is set then not all the latest functionality will be available. + + + + + Indicates that the latest version of the and + conventions should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework v4.1 + should be used. + + + + + Represents an Entity Data Model (EDM) created by the . + The Compile method can be used to go from this EDM representation to a + which is a compiled snapshot of the model suitable for caching and creation of + or instances. + + + + + Initializes a new instance of the class. + + + + + Creates a for this mode which is a compiled snapshot + suitable for caching and creation of instances. + + The compiled model. + + + + Implementations of this interface are used to create DbConnection objects for + a type of database server based on a given database name. + An Instance is set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use a certain type of database server by default. + Two implementations of this interface are provided: + is used to create connections to Microsoft SQL Server, including EXPRESS editions. + is used to create connections to Microsoft SQL + Server Compact Editions. + Other implementations for other database servers can be added as needed. + Note that implementations should be thread safe or immutable since they may + be accessed by multiple threads at the same time. + + + + + Creates a connection based on the given database name or connection string. + + The database name or connection string. + An initialized DbConnection. + + + + Represents a SQL query for entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance for the + entity type. The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for non-entities are created using the . + See for a generic version of this class. + + + + + Initializes a new instance of the class. + + The internal query. + + + + Executes the query and returns an enumerator for the elements. + + + An object that can be used to iterate through the elements. + + + + + Returns a new query where the results of the query will not be tracked by the associated + . + + A new query with no-tracking applied. + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Throws an exception indicating that binding directly to a store query is not supported. + + + Never returns; always throws. + + + + + Gets the internal query. + + The internal query. + + + + Returns false. + + false. + + + + Represents a SQL query for entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance for the + entity type. The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for non-entities are created using the . + See for a non-generic version of this class. + + + + + Executes the query and returns an enumerator for the elements. + + An object that can be used to iterate through the elements. + + + + Executes the query and returns an enumerator for the elements. + + + An object that can be used to iterate through the elements. + + + + + Returns a new query where the results of the query will not be tracked by the associated + . + + A new query with no-tracking applied. + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Throws an exception indicating that binding directly to a store query is not supported. + + + Never returns; always throws. + + + + + Gets the internal query. + + The internal query. + + + + Returns false. + + false. + + + + This convention causes DbModelBuilder to include metadata about the model + when it builds the model. When creates a model by convention it will + add this convention to the list of those used by the DbModelBuilder. This will then result in + model metadata being written to the database if the DbContext is used to create the database. + This can then be used as a quick check to see if the model has changed since the last time it was + used against the database. + This convention can be removed from the conventions by overriding + the OnModelCreating method on a derived DbContext class. + + + + + Adds metadata to the given model configuration. + + The model configuration. + + + + Instances of this class are used to create DbConnection objects for + SQL Server Compact Edition based on a given database name or connection string. + + + It is necessary to provide the provider invariant name of the SQL Server Compact + Edition to use when creating an instance of this class. This is because different + versions of SQL Server Compact Editions use different invariant names. + An instance of this class can be set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use SQL Server Compact Edition by default. + This class is immutable since multiple threads may access instances simultaneously + when creating connections. + + + + + Creates a new connection factory with empty (default) DatabaseDirectory and BaseConnectionString + properties. + + The provider invariant name that specifies the version of SQL Server Compact Edition that should be used. + + + + Creates a new connection factory with the given DatabaseDirectory and BaseConnectionString properties. + + + The provider invariant name that specifies the version of SQL Server Compact Edition that should be used. + + + The path to prepend to the database name that will form the file name used by SQL Server Compact Edition + when it creates or reads the database file. An empty string means that SQL Server Compact Edition will use + its default for the database file location. + + + The connection string to use for options to the database other than the 'Data Source'. The Data Source will + be prepended to this string based on the database name when CreateConnection is called. + + + + + Creates a connection for SQL Server Compact Edition based on the given database name or connection string. + If the given string contains an '=' character then it is treated as a full connection string, + otherwise it is treated as a database name only. + + The database name or connection string. + An initialized DbConnection. + + + + The path to prepend to the database name that will form the file name used by + SQL Server Compact Edition when it creates or reads the database file. + The default value is "|DataDirectory|", which means the file will be placed + in the designated data directory. + + + + + The connection string to use for options to the database other than the 'Data Source'. + The Data Source will be prepended to this string based on the database name when + CreateConnection is called. + The default is the empty string, which means no other options will be used. + + + + + The provider invariant name that specifies the version of SQL Server Compact Edition + that should be used. + + + + + Instances of this class are used to create DbConnection objects for + SQL Server based on a given database name or connection string. By default, the connection is + made to '.\SQLEXPRESS'. This can be changed by changing the base connection + string when constructing a factory instance. + + + An instance of this class can be set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use SQL Server by default. + This class is immutable since multiple threads may access instances simultaneously + when creating connections. + + + + + Creates a new connection factory with a default BaseConnectionString property of + 'Data Source=.\SQLEXPRESS; Integrated Security=True; MultipleActiveResultSets=True'. + + + + + Creates a new connection factory with the given BaseConnectionString property. + + + The connection string to use for options to the database other than the 'Initial Catalog'. The 'Initial Catalog' will + be prepended to this string based on the database name when CreateConnection is called. + + + + + Creates a connection for SQL Server based on the given database name or connection string. + If the given string contains an '=' character then it is treated as a full connection string, + otherwise it is treated as a database name only. + + The database name or connection string. + An initialized DbConnection. + + + + The connection string to use for options to the database other than the 'Initial Catalog'. + The 'Initial Catalog' will be prepended to this string based on the database name when + CreateConnection is called. + The default is 'Data Source=.\SQLEXPRESS; Integrated Security=True; MultipleActiveResultSets=True'. + + + + + A non-generic version of the class. + + + + + A non-generic version of the class. + + + + + This is an abstract base class use to represent a scalar or complex property, or a navigation property + of an entity. Scalar and complex properties use the derived class , + reference navigation properties use the derived class , and collection + navigation properties use the derived class . + + + + + Creates a from information in the given . + This method will create an instance of the appropriate subclass depending on the metadata contained + in the InternalMemberEntry instance. + + The internal member entry. + The new entry. + + + + Validates this property. + + + Collection of objects. Never null. If the entity is valid the collection will be empty. + + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + Gets the name of the property. + + The property name. + + + + Gets or sets the current value of this property. + + The current value. + + + + The to which this member belongs. + + An entry for the entity that owns this member. + + + + Gets the backing this object. + + The internal member entry. + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal property entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + Gets the property name. + + The property name. + + + + Gets or sets the original value of this property. + + The original value. + + + + Gets or sets the current value of this property. + + The current value. + + + + Gets or sets a value indicating whether the value of this property has been modified since + it was loaded from the database. + + + true if this instance is modified; otherwise, false. + + + + + The to which this property belongs. + + An entry for the entity that owns this property. + + + + The of the property for which this is a nested property. + This method will only return a non-null entry for properties of complex objects; it will + return null for properties of the entity itself. + + An entry for the parent complex property, or null if this is an entity property. + + + + Gets the backing this object. + + The internal member entry. + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal property entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The name of the nested property. + An object representing the nested property. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the complex property. + The equivalent generic object. + + + + Instances of this class are returned from the ComplexProperty method of + and allow access to the state of a complex property. + + The type of the entity to which this property belongs. + The type of the property. + + + + Instances of this class are returned from the Property method of + and allow access to the state of the scalar + or complex property. + + The type of the entity to which this property belongs. + The type of the property. + + + + This is an abstract base class use to represent a scalar or complex property, or a navigation property + of an entity. Scalar and complex properties use the derived class , + reference navigation properties use the derived class , and collection + navigation properties use the derived class . + + The type of the entity to which this property belongs. + The type of the property. + + + + Creates a from information in the given . + This method will create an instance of the appropriate subclass depending on the metadata contained + in the InternalMemberEntry instance. + + The internal member entry. + The new entry. + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + A non-generic version. + + + + Validates this property. + + + Collection of objects. Never null. If the entity is valid the collection will be empty. + + + + + Gets or sets the current value of this property. + + The current value. + + + + Gets the underlying . + + The internal member entry. + + + + The to which this member belongs. + + An entry for the entity that owns this member. + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal property entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + A non-generic version. + + + + Gets the property name. + + The property name. + + + + Gets or sets the original value of this property. + + The original value. + + + + Gets or sets the current value of this property. + + The current value. + + + + Gets or sets a value indicating whether the value of this property has been modified since + it was loaded from the database. + + + true if this instance is modified; otherwise, false. + + + + + The to which this property belongs. + + An entry for the entity that owns this property. + + + + The of the property for which this is a nested property. + This method will only return a non-null entry for properties of complex objects; it will + return null for properties of the entity itself. + + An entry for the parent complex property, or null if this is an entity property. + + + + Gets the underlying as an . + + The internal member entry. + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal property entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + A non-generic version. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The type of the nested property. + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The type of the nested property. + An expression representing the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The type of the nested property. + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The type of the nested property. + An expression representing the nested property. + An object representing the nested property. + + + + Returned by the ChangeTracker method of to provide access to features of + the context that are related to change tracking of entities. + + + + + Initializes a new instance of the class. + + The internal context. + + + + Gets objects for all the entities tracked by this context. + + The entries. + + + + Gets objects for all the entities of the given type + tracked by this context. + + The type of the entity. + The entries. + + + + Detects changes made to the properties and relationships of POCO entities. Note that some types of + entity (such as change tracking proxies and entities that derive from ) + report changes automatically and a call to DetectChanges is not normally needed for these types of entities. + Also note that normally DetectChanges is called automatically by many of the methods of + and its related classes such that it is rare that this method will need to be called explicitly. + However, it may be desirable, usually for performance reasons, to turn off this automatic calling of + DetectChanges using the AutoDetectChangesEnabled flag from . + + + + + A non-generic version of the class. + + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal collection entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + + + Returns the query that would be used to load this collection from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database, such + as counting the number of entities in the collection in the database without actually loading them. + + A query for the collection. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the collection element. + The equivalent generic object. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Gets a value indicating whether the collection of entities has been loaded from the database. + + true if the collection is loaded; otherwise, false. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Gets the backing this object as an . + + The internal member entry. + + + + Instances of this class are returned from the Collection method of + and allow operations such as loading to + be performed on the an entity's collection navigation properties. + + The type of the entity to which this property belongs. + The type of the element in the collection of entities. + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal collection entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + + + Returns the query that would be used to load this collection from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database, such + as counting the number of entities in the collection in the database without actually loading them. + + A query for the collection. + + + + Returns a new instance of the non-generic class for + the navigation property represented by this object. + + A non-generic version. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Gets a value indicating whether the collection of entities has been loaded from the database. + + true if the collection is loaded; otherwise, false. + + + + Gets the underlying as an . + + The internal member entry. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Exception thrown by when it was expected that SaveChanges for an entity would + result in a database update but in fact no rows in the database were affected. This usually indicates + that the database has been concurrently updated such that a concurrency token that was expected to match + did not actually match. + Note that state entries referenced by this exception are not serialized due to security and accesses to + the state entries after serialization will return null. + + + + + + Initializes a new instance of the class. + + The internal context. + The inner exception. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Subscribes the SerializeObjectState event. + + + + + Gets objects that represents the entities that could not + be saved to the database. + + The entries representing the entities that could not be saved. + + + + Holds exception state that will be serialized when the exception is serialized. + + + + + Completes the deserialization. + + The deserialized object. + + + + Gets or sets a value indicating whether the exception involved independent associations. + + + + + Initializes a new instance of the class. + + The context. + The inner exception. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Returned by the Configuration method of to provide access to configuration + options for the context. + + + + + Initializes a new instance of the class. + + The internal context. + + + + Gets or sets a value indicating whether lazy loading of relationships exposed as + navigation properties is enabled. Lazy loading is enabled by default. + + true if lazy loading is enabled; otherwise, false. + + + + Gets or sets a value indicating whether or not the framework will create instances of + dynamically generated proxy classes whenever it creates an instance of an entity type. + Note that even if proxy creation is enabled with this flag, proxy instances will only + be created for entity types that meet the requirements for being proxied. + Proxy creation is enabled by default. + + true if proxy creation is enabled; otherwise, false. + + + + + Gets or sets a value indicating whether tracked entities should be validated automatically when + is invoked. + The default value is true. + + + + + A non-generic version of the class. + + + + + Initializes a new instance of the class. + + The internal entry. + + + + Queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + The store values. + + + + Reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The name of the property. + An object representing the property. + + + + Gets an object that represents a complex property of this entity. + + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The name of the member. + An object representing the member. + + + + Returns a new instance of the generic class for the given + generic type for the tracked entity represented by this object. + Note that the type of the tracked entity must be compatible with the generic type or + an exception will be thrown. + + The type of the entity. + A generic version. + + + + Validates this instance and returns validation result. + + + Entity validation result. Possibly null if + method is overridden. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the entity. + + The entity. + + + + Gets or sets the state of the entity. + + The state. + + + + Gets the current property values for the tracked entity represented by this object. + + The current values. + + + + Gets the original property values for the tracked entity represented by this object. + The original values are usually the entity's property values as they were when last queried from + the database. + + The original values. + + + + Gets InternalEntityEntry object for this DbEntityEntry instance. + + + + + Instances of this class provide access to information about and control of entities that + are being tracked by the . Use the Entity or Entities methods of + the context to obtain objects of this type. + + The type of the entity. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + The store values. + + + + Reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The type of the property. + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The type of the property. + An expression representing the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The type of elements in the collection. + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The type of elements in the collection. + An expression representing the navigation property. + An object representing the navigation property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The name of the property. + An object representing the property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The type of the property. + The name of the property. + An object representing the property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The type of the property. + An expression representing the property. + An object representing the property. + + + + Gets an object that represents a complex property of this entity. + + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a complex property of this entity. + + The type of the complex property. + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a complex property of this entity. + + The type of the complex property. + An expression representing the complex property. + An object representing the complex property. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The name of the member. + An object representing the member. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The type of the member. + The name of the member. + An object representing the member. + + + + Returns a new instance of the non-generic class for + the tracked entity represented by this object. + + A non-generic version. + + + + Validates this instance and returns validation result. + + + Entity validation result. Possibly null if + method is overridden. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the entity. + + The entity. + + + + Gets or sets the state of the entity. + + The state. + + + + Gets the current property values for the tracked entity represented by this object. + + The current values. + + + + Gets the original property values for the tracked entity represented by this object. + The original values are usually the entity's property values as they were when last queried from + the database. + + The original values. + + + + An immutable representation of an Entity Data Model (EDM) model that can be used to create an + or can be passed to the constructor of a . + For increased performance, instances of this type should be cached and re-used to construct contexts. + + + + + Creates a model for the given EDM metadata model. + + The EDM metadata model. + + + + Creates an instance of ObjectContext or class derived from ObjectContext. Note that an instance + of DbContext can be created instead by using the appropriate DbContext constructor. + If a derived ObjectContext is used, then it must have a public constructor with a single + EntityConnection parameter. + The connection passed is used by the ObjectContext created, but is not owned by the context. The caller + must dispose of the connection once the context has been disposed. + + The type of context to create. + An existing connection to a database for use by the context. + + + + + Gets a cached delegate (or creates a new one) used to call the constructor for the given derived ObjectContext type. + + + + + A hash of the store model (SSDL) that can be used later to check if the model has changed or not. + Note that this is currently only supported for Code First. + + + + + A collection of all the properties for an underlying entity or complex object. + + + An instance of this class can be converted to an instance of the generic class + using the Cast method. + Complex properties in the underlying entity or complex object are represented in + the property values as nested instances of this class. + + + + + Initializes a new instance of the class. + + The internal dictionary. + + + + Creates an object of the underlying type for this dictionary and hydrates it with property + values from this dictionary. + + The properties of this dictionary copied into a new object. + + + + Sets the values of this dictionary by reading values out of the given object. + The given object can be of any type. Any property on the object with a name that + matches a property name in the dictionary and can be read will be read. Other + properties will be ignored. This allows, for example, copying of properties from + simple Data Transfer Objects (DTOs). + + The object to read values from. + + + + Creates a new dictionary containing copies of all the properties in this dictionary. + Changes made to the new dictionary will not be reflected in this dictionary and vice versa. + + A clone of this dictionary. + + + + Sets the values of this dictionary by reading values from another dictionary. + The other dictionary must be based on the same type as this dictionary, or a type derived + from the type for this dictionary. + + The dictionary to read values from. + + + + Gets the value of the property just like using the indexed property getter but + typed to the type of the generic parameter. This is useful especially with + nested dictionaries to avoid writing expressions with lots of casts. + + The type of the property. + Name of the property. + The value of the property. + + + + Gets the set of names of all properties in this dictionary as a read-only set. + + The property names. + + + + Gets or sets the value of the property with the specified property name. + The value may be a nested instance of this class. + + The property name. + The value of the property. + + + + Gets the internal dictionary. + + The internal dictionary. + + + + A non-generic version of the class. + + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal reference entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + + + Returns the query that would be used to load this entity from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database. + + A query for the entity. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Gets a value indicating whether the entity has been loaded from the database. + + true if the entity is loaded; otherwise, false. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Gets the backing this object as an . + + The internal member entry. + + + + Instances of this class are returned from the Reference method of + and allow operations such as loading to + be performed on the an entity's reference navigation properties. + + The type of the entity to which this property belongs. + The type of the property. + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal reference entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + + + Returns the query that would be used to load this entity from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database. + + A query for the entity. + + + + Returns a new instance of the non-generic class for + the navigation property represented by this object. + + A non-generic version. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Gets a value indicating whether the entity has been loaded from the database. + + true if the entity is loaded; otherwise, false. + + + + Gets the underlying as an . + + The internal member entry. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Represents an entity used to store metadata about an EDM in the database. + + + + + Attempts to get the model hash calculated by Code First for the given context. + This method will return null if the context is not being used in Code First mode. + + The context. + The hash string. + + + + Gets or sets the ID of the metadata entity, which is currently always 1. + + The id. + + + + Gets or sets the model hash which is used to check whether the model has + changed since the database was created from it. + + The model hash. + + + + This attribute can be applied to either an entire derived class or to + individual or properties on that class. When applied + any discovered or properties will still be included + in the model but will not be automatically initialized. + + + + + Generic wrapper around to allow results to be + returned as generic + + The type of the element. + + + + Executes the query and returns an enumerator for the elements. + + An object that can be used to iterate through the elements. + + + + Executes the query and returns an enumerator for the elements. + + + An object that can be used to iterate through the elements. + + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Throws an exception indicating that binding directly to a store query is not supported. + + + Never returns; always throws. + + + + + Returns false. + + false. + + + + Implements ICachedMetadataWorkspace for a Code First model. + + + + + Represents an object that holds a cached copy of a MetadataWorkspace and optionally the + assemblies containing entity types to use with that workspace. + + + + + Gets the MetadataWorkspace, potentially lazily creating it if it does not already exist. + If the workspace is not compatible with the provider manifest obtained from the given + connection then an exception is thrown. + + The connection to use to create or check SSDL provider info. + The workspace. + + + + The list of assemblies that contain entity types for this workspace, which may be empty, but + will never be null. + + + + + An SHA256 hash of the store model (SSDL) that can be used later to check if the model has changed or not. + Note that this is currently only supported for Code First. + + + + + The default container name for code first is the container name that is set from the DbModelBuilder + + + + + Builds and stores the workspace based on the given code first configuration. + + The code first EDM model. + + + + Gets the . + If the workspace is not compatible with the provider manifest obtained from the given + connection then an exception is thrown. + + The connection to use to create or check SSDL provider info. + The workspace. + + + + The default container name for code first is the container name that is set from the DbModelBuilder + + + + + The list of assemblies that contain entity types for this workspace, which may be empty, but + will never be null. + + + + + An SHA256 hash of the store model (SSDL) that can be used later to check if the model has changed or not. + + + + + Encapsulates information read from the application config file that specifies a database initializer + and allows that initializer to be dynamically applied. + + + + + Initializes a new instance of the class. + + The key from the entry in the config file. + The value from the enrty in the config file. + + + + Uses the context type and initializer type specified in the config to create an initializer instance + and set it with the DbDbatabase.SetInitializer method. + + + + + Reads all initializers from the application config file and sets them using the Database class. + + + + + The methods here are called from multiple places with an ObjectContext that may have + been created in a variety of ways and ensure that the same code is run regardless of + how the context was created. + + + + + Used a delegate to do the actual creation once an ObjectContext has been obtained. + This is factored in this way so that we do the same thing regardless of how we get to + having an ObjectContext. + Note however that a context obtained from only a connection will have no model and so + will result in an empty database. + + + + + Used a delegate to do the actual checking/creation once an ObjectContext has been obtained. + This is factored in this way so that we do the same thing regardless of how we get to + having an ObjectContext. + Note however that a context obtained from only a connection will have no model and so + will result in an empty database. + + + + + Used a delegate to do the actual existence check once an ObjectContext has been obtained. + This is factored in this way so that we do the same thing regardless of how we get to + having an ObjectContext. + + + + + Used a delegate to do the actual check/delete once an ObjectContext has been obtained. + This is factored in this way so that we do the same thing regardless of how we get to + having an ObjectContext. + + + + + Helper class that extends Tuple to give the Item1 and Item2 properties more meaningful names. + + + + + Creates a new pair of the given set of entity types and DbSet initializer delegate. + + + + + The entity types part of the pair. + + + + + The DbSet properties initializer part of the pair. + + + + + Static helper methods only. + + + + + Checks whether the given value is null and throws ArgumentNullException if it is. + This method should only be used in places where Code Contracts are compiled out in the + release build but we still need public surface null-checking, such as where a public + abstract class is implemented by an internal concrete class. + + + + + Checks whether the given string is null, empty, or just whitespace, and throws appropriately + if the check fails. + This method should only be used in places where Code Contracts are compiled out in the + release build but we still need public surface checking, such as where a public + abstract class is implemented by an internal concrete class. + + + + + Given two key values that may or may not be byte arrays, this method determines + whether or not they are equal. For non-binary key values, this is equivalent + to Object.Equals. For binary keys, it is by comparison of every byte in the + arrays. + + + + + Provides a standard helper method for quoting identifiers + + Identifier to be quoted. Does not validate that this identifier is valid. + Quoted string + + + + Checks the given string which might be a database name or a connection string and determines + whether it should be treated as a name or connection string. Currently, the test is simply + whether or not the string contains an '=' character--if it does, then it should be treated + as a connection string. + + The name or connection string. + true if the string should be treated as a connection string; false if it should be treated as a name. + + + + Determines whether the given string should be treated as a database name directly (it contains no '='), + is in the form name=foo, or is some other connection string. If it is a direct name or has name=, then + the name is extracted and the method returns true. + + The name or connection string. + The name. + True if a name is found; false otherwise. + + + + Determines whether the given string is a full EF connection string with provider, provider connection string, + and metadata parts, or is is instead some other form of connection string. + + The name or connection string. + true if the given string is an EF connection string; otherwise, false. + + + + + Parses a property selector expression used for the expression-based versions of the Property, Collection, Reference, + etc methods on and + classes. + + The type of the entity. + The type of the property. + The property. + Name of the method. + Name of the param. + The property name. + + + + Called recursively to parse an expression tree representing a property path such + as can be passed to Include or the Reference/Collection/Property methods of . + This involves parsing simple property accesses like o => o.Products as well as calls to Select like + o => o.Products.Select(p => p.OrderLines). + + The expression to parse. + The expression parsed into an include path, or null if the expression did not match. + True if matching succeeded; false if the expression could not be parsed. + + + + Gets a cached dictionary mapping property names to property types for all the properties + in the given type. + + + + + Gets a dictionary of compiled property setter delegates for the underlying types. + The dictionary is cached for the type in the app domain. + + + + + Used by the property setter delegates to throw for attempts to set null onto + non-nullable properties or otherwise go ahead and set the property. + + + + + Gets a dictionary of compiled property getter delegates for the underlying types. + The dictionary is cached for the type in the app domain. + + + + + Creates a new with the NoTracking merge option applied. + The query object passed in is not changed. + + The query. + A new query with NoTracking applied. + + + + Converts to + + + Name of the property being validated with ValidationAttributes. Null for type-level validation. + + + ValidationResults instances to be converted to instances. + + + An created based on the + . + + + class contains a property with names of properties the error applies to. + On the other hand each applies at most to a single property. As a result for + each name in ValidationResult.MemberNames one will be created (with some + exceptions for special cases like null or empty .MemberNames or null names in the .MemberNames). + + + + + Calculates a "path" to a property. For primitive properties on an entity type it is just the + name of the property. Otherwise it is a dot separated list of names of the property and all + its ancestor properties starting from the entity. + + Property for which to calculate the path. + Dot separated path to the property. + + + + Gets names of the property and its ancestor properties as enumerable walking "bottom-up". + + Property for which to get the segments. + Names of the property and its ancestor properties. + + + + Gets an type for the given element type. + + Type of the element. + The collection type. + + + + Creates a database name given a type derived from DbContext. This handles nested and + generic classes. No attempt is made to ensure that the name is not too long since this + is provider specific. If a too long name is generated then the provider will throw and + the user must correct by specifying their own name in the DbContext constructor. + + Type of the context. + The database name to use. + + + + Creates a clone of the given that has the same connection and + loaded metadata as the original but a new, empty, state manager. + + The original. + The clone. + + + + Finds the assemblies that were used for loading o-space types in the source context + and loads those assemblies in the destination context. + + The source. + The destination. + + + + A local (in-memory) view of the entities in a DbSet. + This view contains Added entities and does not contain Deleted entities. The view extends + from and hooks up events between the collection and the + state manager to keep the view in sync. + + The type of the entity. + + + + Initializes a new instance of the class for entities + of the given generic type in the given internal context. + + The internal context. + + + + Called by the base class when the collection changes. + This method looks at the change made to the collection and reflects those changes in the + state manager. + + The instance containing the event data. + + + + Handles events from the state manager for entities entering, leaving, or being marked as deleted. + The local view is kept in sync with these changes. + + The sender. + The instance containing the event data. + + + + Clears the items by calling remove on each item such that we get Remove events that + can be tracked back to the state manager, rather than a single Reset event that we + cannot deal with. + + + + + Adds a contains check to the base implementation of InsertItem since we can't support + duplicate entities in the set. + + The index at which to insert. + The item to insert. + + + + Returns a cached binding list implementation backed by this ObservableCollection. + + The binding list. + + + + Service used to search for instance properties on a DbContext class that can + be assigned a DbSet instance. Also, if the the property has a public setter, + then a delegate is compiled to set the property to a new instance of DbSet. + All of this information is cached per app domain. + + + + + Creates a set discovery service for the given derived context. + + + + + Processes the given context type to determine the DbSet or IDbSet + properties and collect root entity types from those properties. Also, delegates are + created to initialize any of these properties that have public setters. + If the type has been processed previously in the app domain, then all this information + is returned from a cache. + + A dictionary of potential entity type to the list of the names of the properties that used the type. + + + + Calls the public setter on any property found to initialize it to a new instance of DbSet. + + + + + Registers the entities and their entity set name hints with the given . + + The model builder. + + + + Returns false if SuppressDbSetInitializationAttribute is found on the property or the class, otherwise + returns true. + + + + + Determines whether or not an instance of DbSet/ObjectSet can be assigned to a property of the given type. + + The type to check. + The entity type of the DbSet/ObjectSet that can be assigned, or null if no set type can be assigned. + + + + + A EagerInternalConnection object wraps an already existing DbConnection object. + + + + + InternalConnection objects manage DbConnections. + Two concrete base classes of this abstract interface exist: + and . + + + + + IInternalConnection objects manage DbConnections. + Two concrete implementations of this interface exist--LazyInternalConnection and EagerInternalConnection. + + + + + Creates an from metadata in the connection. This method must + only be called if ConnectionHasModel returns true. + + The newly created context. + + + + Returns the underlying DbConnection. + + + + + Returns a key consisting of the connection type and connection string. + If this is an EntityConnection then the metadata path is included in the key returned. + + + + + Gets a value indicating whether the connection is an EF connection which therefore contains + metadata specifying the model, or instead is a store connection, in which case it contains no + model info. + + true if the connection contains model info; otherwise, false. + + + + Creates an from metadata in the connection. This method must + only be called if ConnectionHasModel returns true. + + The newly created context. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Returns the underlying DbConnection. + + + + + Returns a key consisting of the connection type and connection string. + If this is an EntityConnection then the metadata path is included in the key returned. + + + + + + Gets a value indicating whether the connection is an EF connection which therefore contains + metadata specifying the model, or instead is a store connection, in which case it contains no + model info. + + true if the connection contains model info; otherwise, false. + + + + Gets or sets the underlying object. No initialization is done when the + connection is obtained, and it can also be set to null. + + The underlying connection. + + + + Creates a new EagerInternalConnection that wraps an existing DbConnection. The existing DbConnection will not + be disposed when the EagerInternalConnection is disposed. + + An existing connection. + If set to true then the underlying connection should be disposed when this object is disposed. + + + + Dispose the existing connection is the original caller has specified that it should be disposed + by the framework. + + + + + An is an where the + instance that it wraps is set immediately at construction time rather than being created lazily. In this case + the internal context may or may not own the instance but will only dispose it + if it does own it. + + + + + An underlies every instance of and wraps an + instance. + The also acts to expose necessary information to other parts of the design in a + controlled manner without adding a lot of internal methods and properties to the + class itself. + Two concrete classes derive from this abstract class - and + . + + + + + Initializes the object with its owner. + + The owner . + + + + Returns the underlying without causing the underlying database to be created + or the database initialization strategy to be executed. + This is used to get a context that can then be used for database creation/initialization. + + + + + Creates a new temporary based on the same metadata and connection as the real + and sets it as the context to use DisposeTempObjectContext is called. + This allows this internal context and its DbContext to be used for transient operations + such as initializing and seeding the database, after which it can be thrown away. + This isolates the real from any changes made and and saves performed. + + + + + If a temporary ObjectContext was set with UseTempObjectContext, then this method disposes that context + and returns this internal context and its DbContext to using the real ObjectContext. + + + + + This method returns true if the context has a model hash and the database contains a model hash + and these hashes match. This indicates that the model used to create the database is the same + as the current model and so the two can be used together. + + If set to true then an exception will be thrown if no + model metadata is found either in the model associated with the context or in the database + itself. If set to false then this method will return true if metadata is + not found. + True if the model hash in the context and the database match; false otherwise. + + + + Queries the database for a model hash and returns it if found or returns null if the table + or the row doesn't exist in the database. + + The model hash, or null if not found. + + + + Saves the model hash from the context to the database. + + + + + Performs the initialization action that may result in a and + handle the exception to provide more meaning to the user. + + The action. + + + + Registers for the ObjectStateManagerChanged event on the underlying ObjectStateManager. + This is a virtual method on this class so that it can be mocked. + + The event handler. + + + + Checks whether or not the given object is in the context in any state other than Deleted. + This is a virtual method on this class so that it can be mocked. + + The entity. + true if the entity is in the context and not deleted; otherwise false. + + + + Saves all changes made in this context to the underlying database. + + The number of objects written to the underlying database. + + + + Runs the Code First pipeline to create a that can then be used to create + an EDMX. This method throws if the context: + was created based on an existing + or was created from information in an existing + or is being used in Model/Database First mode. + This method always runs the full Code First pipeline, including calling OnModelCreating, even if + the pipeline has already been run. + + The builder. + + + + Initializes this instance, which means both the context is initialized and the underlying + database is initialized. + + + + + Initializes the underlying ObjectContext but does not cause the database to be initialized. + + + + + Runs the unless it has already been run or there + is no initializer for this context type in which case this method does nothing. + + + + + Marks the database as having been initialized without actually running the . + + + + + Runs the if one has been set for this context type. + Calling this method will always cause the initializer to run even if the database is marked + as initialized. + + + + + Disposes the context. Override the DisposeContext method to perform + additional work when disposing. + + + + + Performs additional work to dispose a context. The default implementation + does nothing. + + + + + Calls DetectChanges on the underlying if AutoDetectChangesEnabled is + true or if force is set to true. + + if set to true then DetectChanges is called regardless of the value of AutoDetectChangesEnabled. + + + + Returns the DbSet instance for the given entity type. + This property is virtual and returns to that it can be mocked. + + The entity type for which a set should be returned. + A set for the given entity type. + + + + Returns the non-generic instance for the given entity type. + This property is virtual and returns to that it can be mocked. + + The entity type for which a set should be returned. + A set for the given entity type. + + + + Creates an internal set using an app domain cached delegate. + + Type of the entity. + The set. + + + + Returns the entity set and the base type for that entity set for the given type. + This method does o-space loading if required and throws if the type is not in the model. + + The entity type to lookup. + The entity set and base type pair. + + + + Checks whether or not the given entity type is mapped in the model. + + The entity type to lookup. + True if the type is mapped as an entity; false otherwise. + + + + Gets the local entities of the type specified from the state manager. That is, all + Added, Modified, and Unchanged entities of the given type. + + The type of entity to get. + The entities. + + + + Executes the given SQL query against the database backing this context. The results are not materialized as + entities or tracked. + + The type of the element. + The SQL. + The parameters. + The query results. + + + + Executes the given SQL query against the database backing this context. The results are not materialized as + entities or tracked. + + Type of the element. + The SQL. + The parameters. + The query results. + + + + Calls the generic ExecuteSqlQuery but with a non-generic return type so that it + has the correct signature to be used with CreateDelegate above. + + + + + Executes the given SQL command against the database backing this context. + + The SQL. + The parameters. + The return value from the database. + + + + Gets the underlying for the given entity, or returns null if the entity isn't tracked by this context. + This method is virtual so that it can be mocked. + + The entity. + The state entry or null. + + + + Gets the underlying objects for all entities tracked by + this context. + This method is virtual so that it can be mocked. + + State entries for all tracked entities. + + + + Gets the underlying objects for all entities of the given + type tracked by this context. + This method is virtual so that it can be mocked. + + The type of the entity. + State entries for all tracked entities of the given type. + + + + Helper method that gets the underlying objects for all entities that + match the given predicate. + + + + + Wraps the given in either a or + a depending on the actual exception type and the state + entries involved. + + The update exception. + A new exception wrapping the given exception. + + + + Uses the underlying context to create an entity such that if the context is configured + to create proxies and the entity is suitable then a proxy instance will be returned. + This method is virtual so that it can be mocked. + + The type of the entity. + The new entity instance. + + + + Uses the underlying context to create an entity such that if the context is configured + to create proxies and the entity is suitable then a proxy instance will be returned. + This method is virtual so that it can be mocked. + + The type of entity to create. + The new entity instance. + + + + This method is used by CreateDelegate to transform the CreateObject method with return type TEntity + into a method with return type object which matches the required type of the delegate. + + + + + Throws if the context has been disposed. + + + + + Checks whether or not the internal cache of types to entity sets has been initialized, + and initializes it if necessary. + + + + + Performs o-space loading for the type and returns false if the type is not in the model. + + + + + Performs o-space loading for the type and throws if the type is not in the model. + + Type of the entity. + + + + Returns true if the given entity type does not have EdmEntityTypeAttribute but is in + an assembly that has EdmSchemaAttribute. This indicates mixing of POCO and EOCO in the + same assembly, which is something that we don't support. + + + + + Determines whether or not the given clrType is mapped to a complex type. Assumes o-space loading has happened. + + + + + Updates the cache of types to entity sets either for the first time or after potentially + doing some o-space loading. + + + + + The public context instance that owns this internal context. + + + + + Returns the underlying . + + + + + Gets the temp object context, or null if none has been set. + + The temp object context. + + + + An SHA256 hash of the store model (SSDL) that can be used later to check if the model has changed or not. + Note that this is currently only supported for Code First. + + + + + Gets the default database initializer to use for this context if no other has been registered. + For code first this property returns a instance. + For database/model first, this property returns null. + + The default initializer. + + + + Gets or sets a value indicating whether lazy loading is enabled. + + + + + Gets or sets a value indicating whether proxy creation is enabled. + + + + + Gets or sets a value indicating whether DetectChanges is called automatically in the API. + + + + + Gets or sets a value indicating whether to validate entities when is called. + + + + + True if the context has been disposed. + + + + + The connection underlying this context. Accessing this property does not cause the context + to be initialized, only its connection. + + + + + Gets the DatabaseOperations instance to use to perform Create/Delete/Exists operations + against the database. + Note that this virtual property can be mocked to help with unit testing. + + + + + Gets instance used to create validators and validation contexts. + This property is virtual to allow mocking. + + + + + Constructs an for an already existing . + + The owner . + The existing . + + + + Returns the underlying without causing the underlying database to be created + or the database initialization strategy to be executed. + This is used to get a context that can then be used for database creation/initialization. + + + + + Throws an exception since creating a from a context created using + an existing is not supported. + + This method never returns. + + + + Does nothing, since the already exists. + + + + + Does nothing since the database is always considered initialized if the was created + from an existing . + + + + + Does nothing since the database is always considered initialized if the was created + from an existing . + + + + + Disposes the context. The underlying is also disposed if it is owned. + + + + + Returns the underlying . + + + + + An SHA256 hash of the store model (SSDL) that can be used later to check if the model has changed or not. + Note that this is currently only supported for Code First. + + + + + Gets the default database initializer to use for this context if no other has been registered. + For code first this property returns a instance. + For database/model first, this property returns null. + + The default initializer. + + + + The connection underlying this context. + + + + + Gets or sets a value indicating whether lazy loading is enabled. This is just a wrapper + over the same flag in the underlying . + + + + + Gets or sets a value indicating whether proxy creation is enabled. This is just a wrapper + over the same flag in the underlying ObjectContext. + + + + + Helper class that extends Tuple to give the Item1 and Item2 properties more meaningful names. + + + + + Creates a new pair of the given EntitySet and BaseType. + + + + + The EntitySet part of the pair. + + + + + The BaseType part of the pair. + + + + + Helper class that extends Tuple to give the Item1 and Item2 properties more meaningful names. + + + + + Creates a new pair of the given database initializer delegate and a flag + indicating whether or not it is locked. + + + + + The initializer delegate. + + + + + A flag indicating whether or not the initializer is locked and should not be changed. + + + + + Represents a raw SQL query against the context for any type where the results are never + associated with an entity set and are never tracked. + + + + + Represents a raw SQL query against the context that may be for entities in an entity set + or for some other non-entity element type. + + + + + Initializes a new instance of the class. + + The SQL. + The parameters. + + + + If the query is would track entities, then this method returns a new query that will + not track entities. + + A no-tracking query. + + + + Executes the query and returns an enumerator for the results. + + The query results. + + + + Throws an exception indicating that binding directly to a store query is not supported. + + + Never returns; always throws. + + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Gets the SQL query string, + + The SQL query. + + + + Gets the parameters. + + The parameters. + + + + Returns false. + + false. + + + + Initializes a new instance of the class. + + The internal context. + Type of the element. + The SQL. + The parameters. + + + + Returns this query since it can never be a tracking query. + + This instance. + + + + Executes the query and returns an enumerator for the results. + + The query results. + + + + Represents a raw SQL query against the context for entities in an entity set. + + + + + Initializes a new instance of the class. + + The set. + The SQL. + if set to true then the entities will not be tracked. + The parameters. + + + + If the query is would track entities, then this method returns a new query that will + not track entities. + + A no-tracking query. + + + + Executes the query and returns an enumerator for the results. + + The query results. + + + + Gets a value indicating whether this instance is set to track entities or not. + + + true if this instance is no-tracking; otherwise, false. + + + + + A LazyInternalConnection object manages information that can be used to create a DbConnection object and + is responsible for creating that object and disposing it. + + + + + Creates a new LazyInternalConnection. The DbConnection object will be created lazily on demand and will be + disposed when the LazyInternalConnection is disposed. + + Either the database name or a connection string. + + + + Creates an from metadata in the connection. This method must + only be called if ConnectionHasModel returns true. + + The newly created context. + + + + Disposes the underlying DbConnection. + Note that dispose actually puts the LazyInternalConnection back to its initial state such that + it can be used again. + + + + + Creates the underlying (which may actually be an ) + if it does not already exist. + + + + + Searches the app.config/web.config file for a connection that matches the given name. + The connection might be a store connection or an EF connection. + + The connection name. + True if a connection from the app.config file was found and used. + + + + Returns the underlying DbConnection, creating it first if it does not already exist. + + + + + Returns a key consisting of the connection type and connection string. + If this is an EntityConnection then the metadata path is included in the key returned. + + + + + + Gets a value indicating whether the connection is an EF connection which therefore contains + metadata specifying the model, or instead is a store connection, in which case it contains no + model info. + + true if connection contain model info; otherwise, false. + + + + A is a concrete type that will lazily create the + underlying when needed. The created is owned by the + internal context and will be disposed when the internal context is disposed. + + + + + Constructs a for the given owner that will be initialized + on first use. + + The owner . + Responsible for creating a connection lazily when the context is used for the first time. + The model, or null if it will be created by convention + + + + Returns the underlying without causing the underlying database to be created + or the database initialization strategy to be executed. + This is used to get a context that can then be used for database creation/initialization. + + + + + Saves all changes made in this context to the underlying database, but only if the + context has been initialized. If the context has not been initialized, then this + method does nothing because there is nothing to do; in particular, it does not + cause the context to be initialized. + + The number of objects written to the underlying database. + + + + Disposes the context. The underlying is also disposed. + The connection to the database ( object) is also disposed if it was created by + the context, otherwise it is not disposed. + + + + + Initializes the underlying . + + + + + Creates an immutable, cacheable representation of the model defined by this builder. + This model can be used to create an or can be passed to a + constructor to create a for this model. + + + + + + Creates and configures the instance that will be used to build the + . + + The builder. + + + + Runs the Code First pipeline to create a that can then be used to create + an EDMX. This method throws if the context: + was created from information in an existing + or is being used in Model/Database First mode. + This method always runs the full Code First pipeline, including calling OnModelCreating, even if + the pipeline has already been run. + + The builder. + + + + Marks the database as having been initialized without actually running the . + + + + + Runs the unless it has already been run or there + is no initializer for this context type in which case this method does nothing. + + + + + Performs some action (which may do nothing) in such a way that it is guaranteed only to be run + once for the model and connection in this app domain, unless it fails by throwing an exception, + in which case it will be re-tried next time the context is initialized. + + The action. + + + + Returns the underlying . + + + + + An SHA256 hash of the store model (SSDL) that can be used later to check if the model has changed or not. + Note that this is currently only supported for Code First. + + + + + The actually being used, which may be the + temp context for initialization or the real context. + + + + + The connection underlying this context. Accessing this property does not cause the context + to be initialized, only its connection. + + + + + Gets the default database initializer to use for this context if no other has been registered. + For code first this property returns a instance. + For database/model first, this property returns null. + + The default initializer. + + + + Gets or sets a value indicating whether lazy loading is enabled. + If the exists, then this property acts as a wrapper over the flag stored there. + If the has not been created yet, then we store the value given so we can later + use it when we create the . This allows the flag to be changed, for example in + a DbContext constructor, without it causing the to be created. + + + + + Gets or sets a value indicating whether proxy creation is enabled. + If the ObjectContext exists, then this property acts as a wrapper over the flag stored there. + If the ObjectContext has not been created yet, then we store the value given so we can later + use it when we create the ObjectContext. This allows the flag to be changed, for example in + a DbContext constructor, without it causing the ObjectContext to be created. + + + + + Extends to create a sortable binding list that stays in + sync with an underlying . That is, when items are added + or removed from the binding list, they are added or removed from the ObservableCollecion, and + vice-versa. + + The list element type. + + + + An extended BindingList implementation that implements sorting. + This class was adapted from the LINQ to SQL class of the same name. + + The element type. + + + + Initializes a new instance of the class with the + the given underlying list. Note that sorting is dependent on having an actual + rather than some other ICollection implementation. + + The list. + + + + Applies sorting to the list. + + The property to sort by. + The sort direction. + + + + Stops sorting. + + + + + Gets a value indicating whether this list is sorted. + + + true if this instance is sorted; otherwise, false. + + + + + Gets the sort direction. + + The sort direction. + + + + Gets the sort property being used to sort. + + The sort property. + + + + Returns true indicating that this list supports sorting. + + true. + + + + Implements comparing for the implementation. + + + + + Initializes a new instance of the class + for sorting the list. + + The property to sort by. + The sort direction. + + + + Compares two instances of items in the list. + + The left item to compare. + The right item to compare. + + + + + Determines whether this instance can sort for the specified type. + + The type. + + true if this instance can sort for the specified type; otherwise, false. + + + + + Determines whether this instance can sort for the specified type using IComparable. + + The type. + + true if this instance can sort for the specified type; otherwise, false. + + + + + Determines whether this instance can sort for the specified type using ToString. + + The type. + + true if this instance can sort for the specified type; otherwise, false. + + + + + Initializes a new instance of a binding list backed by the given + + The obervable collection. + + + + Creates a new item to be added to the binding list. + + The new item. + + + + Cancels adding of a new item that was started with AddNew. + + Index of the item. + + + + Removes all items from the binding list and underlying ObservableCollection. + + + + + Ends the process of adding a new item that was started with AddNew. + + Index of the item. + + + + Inserts the item into the binding list at the given index. + + The index. + The item. + + + + Removes the item at the specified index. + + The index. + + + + Sets the item into the list at the given position. + + The index to insert at. + The item. + + + + Event handler to update the binding list when the underlying observable collection changes. + + The sender. + Data indicating how the collection has changed. + + + + Adds the item to the underlying observable collection. + + The item. + + + + Removes the item from the underlying from observable collection. + + The item. + + + + A wrapper around EntityKey that allows key/values pairs that have null values to + be used. This allows Added entities with null key values to be searched for in + the ObjectStateManager. + + + + The key name/key value pairs, where some key values may be null + + + + Creates a new WrappedEntityKey instance. + + The entity set that the key belongs to. + The fully qualified name of the given entity set. + The key values, which may be null or contain null values. + The name of the parameter passed for keyValue by the user, which is used when throwing exceptions. + + + + True if any of the key values are null, which means that the EntityKey will also be null. + + + + + An actual EntityKey, or null if any of the key values are null. + + + + + The key name/key value pairs of the key, in which some of the key values may be null. + + + + + A concrete implementation of used for properties of complex objects. + + + + + The internal class used to implement and + . + This internal class contains all the common implementation between the generic and non-generic + entry classes and also allows for a clean internal factoring without compromising the public API. + + + + + Base class for all internal entries that represent different kinds of properties. + + + + + Initializes a new instance of the class. + + The internal entity entry. + The member metadata. + + + + Validates this property. + + A sequence of validation errors for this property. Empty if no errors. Never null. + + + + Creates a new non-generic backed by this internal entry. + The actual subtype of the DbMemberEntry created depends on the metadata of this internal entry. + + The new entry. + + + + Creates a new generic backed by this internal entry. + The actual subtype of the DbMemberEntry created depends on the metadata of this internal entry. + + The type of the entity. + The type of the property. + The new entry. + + + + Gets the property name. + The property is virtual to allow mocking. + + The property name. + + + + Gets or sets the current value of the navigation property. + + The current value. + + + + Gets the internal entity entry property belongs to. + This property is virtual to allow mocking. + + The internal entity entry. + + + + Gets the entry metadata. + + The entry metadata. + + + + Initializes a new instance of the class. + + The internal entry. + The property info. + + + + Creates a delegate that will get the value of this property. + + The delegate. + + + + Creates a delegate that will set the value of this property. + + The delegate. + + + + Returns true if the property of the entity that this property is ultimately part + of is set as modified. If this is a property of an entity, then this method returns + true if the property is modified. If this is a property of a complex object, then + this method returns true if the top-level complex property on the entity is modified. + + True if the entity property is modified. + + + + Sets the property of the entity that this property is ultimately part of to modified. + If this is a property of an entity, then this method marks it as modified. + If this is a property of a complex object, then this method marks the top-level + complex property as modified. + + + + + Throws if the user attempts to set a complex property to null. + + The value. + + + + Sets the given value directly onto the underlying entity object. + + The value. + True if the property had a setter that we could attempt to call; false if no setter was available. + + + + Sets the property value, potentially by setting individual nested values for a complex + property. + + The value. + + + + Gets an internal object representing a scalar or complex property of this property, + which must be a mapped complex property. + This method is virtual to allow mocking. + + The property. + The type of object requested, which may be null or 'object' if any type can be accepted. + if set to true then the found property must be a complex property. + The entry. + + + + Validates that the owning entity entry is associated with an underlying and + is not just wrapping a non-attached entity. + + + + + Creates a new non-generic backed by this internal entry. + The runtime type of the DbMemberEntry created will be or a subtype of it. + + The new entry. + + + + Creates a new generic backed by this internal entry. + The runtime type of the DbMemberEntry created will be or a subtype of it. + + The type of the entity. + The type of the property. + The new entry. + + + + Returns parent property, or null if this is a property on the top-level entity. + + + + + Gets the current values of the parent entity or complex property. + That is, the current values that contains the value for this property. + + The parent current values. + + + + Gets the original values of the parent entity or complex property. + That is, the original values that contains the value for this property. + + The parent original values. + + + + A delegate that reads the value of this property. + May be null if there is no way to set the value due to missing accessors on the type. + + + + + A delegate that sets the value of this property. + May be null if there is no way to set the value due to missing accessors on the type. + + + + + Gets or sets the original value. + Note that complex properties are returned as objects, not property values. + + + + + Gets or sets the current value. + Note that complex properties are returned as objects, not property values. + Also, for complex properties, the object returned is the actual complex object from the entity + and setting the complex object causes the actual object passed to be set onto the entity. + + The current value. + + + + Gets or sets a value indicating whether this property is modified. + + + + + Gets the property metadata. + + The property metadata. + + + + Initializes a new instance of the class. + + The parent property entry. + The property metadata. + + + + Creates a delegate that will get the value of this property. + + The delegate. + + + + Creates a delegate that will set the value of this property. + + The delegate. + + + + Returns true if the property of the entity that this property is ultimately part + of is set as modified. Since this is a property of a complex object + this method returns true if the top-level complex property on the entity is modified. + + True if the entity property is modified. + + + + Sets the property of the entity that this property is ultimately part of to modified. + Since this is a property of a complex object this method marks the top-level + complex property as modified. + + + + + Returns parent property, or null if this is a property on the top-level entity. + + + + + Gets the current values of the parent complex property. + That is, the current values that contains the value for this property. + + The parent current values. + + + + Gets the original values of the parent complex property. + That is, the original values that contains the value for this property. + + The parent original values. + + + + Contains metadata about a member of an entity type or complex type. + + + + + Initializes a new instance of the class. + + The type that the property is declared on. + Type of the property. + The property name. + + + + Creates a new the runtime type of which will be + determined by the metadata. + + The entity entry to which the member belongs. + The parent property entry if the new entry is nested, otherwise null. + The new entry. + + + + Gets the type of the member for which this is metadata. + + The type of the member entry. + + + + Gets the name of the property. + + The name. + + + + Gets the type of the entity or complex object that on which the member is declared. + + The type that the member is declared on. + + + + Gets the type of element for the property, which for non-collection properties + is the same as the MemberType and which for collection properties is the type + of element contained in the collection. + + The type of the element. + + + + Gets the type of the member, which for collection properties is the type + of the collection rather than the type in the collection. + + The type of the member. + + + + The types of member entries supported. + + + + + Initializes a new instance of the class. + + The type that the property is declared on. + Type of the property. + The property name. + if set to true this is a collection nav prop. + + + + Creates a new the runtime type of which will be + determined by the metadata. + + The entity entry to which the member belongs. + The parent property entry which will always be null for navigation entries. + The new entry. + + + + Gets the type of the member for which this is metadata. + + The type of the member entry. + + + + Gets the type of the member, which for collection properties is the type + of the collection rather than the type in the collection. + + The type of the member. + + + + The internal class used to implement and + . + This internal class contains all the common implementation between the generic and non-generic + entry classes and also allows for a clean internal factoring without compromising the public API. + + + + + Base class for and + containing common code for collection and reference navigation property entries. + + + + + Initializes a new instance of the class. + + The internal entity entry. + The navigation metadata. + + + + Calls Load on the underlying . + + + + + Uses CreateSourceQuery on the underlying to create a query for this + navigation property. + + + + + Gets the navigation property value from the object. + + The entity. + The navigation property value. + + + + Validates that the owning entity entry is associated with an underlying and + is not just wrapping a non-attached entity. + If the entity is not detached, then the RelatedEnd for this navigation property is obtained. + + + + + Calls IsLoaded on the underlying . + + + + + Gets the related end, which will be null if the entity is not being tracked. + + The related end. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references or the collection of references + for a collection property. + This property is virtual so that it can be mocked. + + The current value. + + + + Gets a delegate that can be used to get the value of the property directly from the entity. + Returns null if the property does not have an accessible getter. + + The getter delegate, or null. + + + + Gets a delegate that can be used to set the value of the property directly on the entity. + Returns null if the property does not have an accessible setter. + + The setter delegate, or null. + + + + Initializes a new instance of the class. + + The internal entity entry. + The navigation metadata. + + + + Gets the navigation property value from the object. + Since for a collection the related end is an , it means + that the internal representation of the navigation property is just the related end. + + The entity. + The navigation property value. + + + + Creates a new non-generic backed by this internal entry. + The runtime type of the DbMemberEntry created will be or a subtype of it. + + The new entry. + + + + Creates a new generic backed by this internal entry. + The runtime type of the DbMemberEntry created will be or a subtype of it. + + The type of the entity. + The type of the property. + The new entry. + + + + Creates a new generic backed by this internal entry. + The actual subtype of the DbCollectionEntry created depends on the metadata of this internal entry. + + The type of the entity. + The type of the element. + The new entry. + + + + Creates a object for the given entity type + and collection element type. + + The type of the entity. + The type of the property. + Type of the element. + The set. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references or the collection of references + for a collection property. + + The current value. + + + + A concrete implementation of used for properties of entities. + + + + + Initializes a new instance of the class. + + The internal entry. + The property info. + + + + Creates a delegate that will get the value of this property. + + The delegate. + + + + Creates a delegate that will set the value of this property. + + The delegate. + + + + Returns true if the property of the entity that this property is ultimately part + of is set as modified. Since this is a property of an entity this method returns + true if the property is modified. + + True if the entity property is modified. + + + + Sets the property of the entity that this property is ultimately part of to modified. + Since this is a property of an entity this method marks it as modified. + + + + + Returns parent property, or null if this is a property on the top-level entity. + + + + + Gets the current values of the parent entity. + That is, the current values that contains the value for this property. + + The parent current values. + + + + Gets the original values of the parent entity. + That is, the original values that contains the value for this property. + + The parent original values. + + + + The internal class used to implement , + and . + This internal class contains all the common implementation between the generic and non-generic + entry classes and also allows for a clean internal factoring without compromising the public API. + + + + + Initializes a new instance of the class. + + The internal entity entry. + The navigation metadata. + + + + Gets the navigation property value from the object. + For reference navigation properties, this means getting the value from the + object. + + The entity. + The navigation property value. + + + + Sets the navigation property value onto the object. + For reference navigation properties, this means setting the value onto the + object. + + The entity. + The value. + + + + Sets the given value on the given which must be an + . + This method is setup in such a way that it can easily be used by CreateDelegate without any + dynamic code generation needed. + + The type of the related entity. + The entity reference. + The value. + + + + Creates a new non-generic backed by this internal entry. + The runtime type of the DbMemberEntry created will be or a subtype of it. + + The new entry. + + + + Creates a new generic backed by this internal entry. + The runtime type of the DbMemberEntry created will be or a subtype of it. + + The type of the entity. + The type of the property. + The new entry. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references or the collection of references + for a collection property. + + The current value. + + + + Contains metadata for a property of a complex object or entity. + + + + + Initializes a new instance of the class. + + The type that the property is declared on. + Type of the property. + The property name. + if set to true the property is mapped in the EDM. + if set to true the property is a complex property. + + + + Validates that the given name is a property of the declaring type (either on the CLR type or in the EDM) + and that it is a complex or scalar property rather than a nav property and then returns metadata about + the property. + + The internal context. + The type that the property is declared on. + The type of property requested, which may be 'object' if any type can be accepted. + Name of the property. + Metadata about the property, or null if the property does not exist or is a navigation property. + + + + Creates a new the runtime type of which will be + determined by the metadata. + + The entity entry to which the member belongs. + The parent property entry if the new entry is nested, otherwise null. + The new entry. + + + + Gets a value indicating whether this is a complex property. + That is, not whether or not this is a property on a complex object, but rather if the + property itself is a complex property. + + + true if this instance is complex; otherwise, false. + + + + + Gets the type of the member for which this is metadata. + + The type of the member entry. + + + + Gets a value indicating whether this instance is mapped in the EDM. + + true if this instance is mapped; otherwise, false. + + + + Gets the type of the member, which for collection properties is the type + of the collection rather than the type in the collection. + + The type of the member. + + + + An implementation of that represents a clone of another + dictionary. That is, all the property values have been been copied into this dictionary. + + + + + The internal class used to implement . + This internal class allows for a clean internal factoring without compromising the public API. + + + + + Initializes a new instance of the class. + + The internal context with which the entity of complex object is associated. + The type of the entity or complex object. + If set to true this is a dictionary for an entity, otherwise it is a dictionary for a complex object. + + + + Implemented by subclasses to get the dictionary item for a given property name. + Checking that the name is valid should happen before this method is called such + that subclasses do not need to perform the check. + + Name of the property. + An item for the given name. + + + + Creates an object of the underlying type for this dictionary and hydrates it with property + values from this dictionary. + + The properties of this dictionary copied into a new object. + + + + Creates an instance of the underlying type for this dictionary, which may either be an entity type (in which + case CreateObject on the context is used) or a non-entity type (in which case the empty constructor is used.) + In either case, app domain cached compiled delegates are used to do the creation. + + + + + Sets the values of this dictionary by reading values out of the given object. + The given object must be of the type that this dictionary is based on. + + The object to read values from. + + + + Creates a new dictionary containing copies of all the properties in this dictionary. + Changes made to the new dictionary will not be reflected in this dictionary and vice versa. + + A clone of this dictionary. + + + + Sets the values of this dictionary by reading values from another dictionary. + The other dictionary must be based on the same type as this dictionary, or a type derived + from the type for this dictionary. + + The dictionary to read values from. + + + + Gets the dictionary item for the property with the given name. + This method checks that the given name is valid. + + The property name. + The item. + + + + Sets the value of the property only if it is different from the current value and is not + an invalid attempt to set a complex property. + + + + + Gets the set of names of all properties in this dictionary as a read-only set. + + The property names. + + + + Gets or sets the value of the property with the specified property name. + The value may be a nested instance of this class. + + The property name. + The value of the property. + + + + Gets the entity type of complex type that this dictionary is based on. + + The type of the object underlying this dictionary. + + + + Gets the internal context with which the underlying entity or complex type is associated. + + The internal context. + + + + Gets a value indicating whether the object for this dictionary is an entity or a complex object. + + true if this this is a dictionary for an entity; false if it is a dictionary for a complex object. + + + + Initializes a new instance of the class by copying + values from the given dictionary. + + The dictionary to clone. + If non-null, then the values for the new dictionary are taken from this record rather than from the original dictionary. + + + + Gets the dictionary item for a given property name. + + Name of the property. + An item for the given name. + + + + Gets the set of names of all properties in this dictionary as a read-only set. + + The property names. + + + + An implementation of for an item in a . + + + + + Represents an item in an representing a property name/value. + + + + + Gets or sets the value of the property represented by this item. + + The value. + + + + Gets the name of the property. + + The name. + + + + Gets a value indicating whether this item represents a complex property. + + true If this instance represents a complex property; otherwise, false. + + + + Gets the type of the underlying property. + + The property type. + + + + Initializes a new instance of the class. + + The name. + The value. + The type. + If set to true this item represents a complex property. + + + + Gets or sets the value of the property represented by this item. + + The value. + + + + Gets the name of the property. + + The name. + + + + Gets a value indicating whether this item represents a complex property. + + + true If this instance represents a complex property; otherwise, false. + + + + + Gets the type of the underlying property. + + The property type. + + + + An implementation of that is based on an existing + instance. + + + + + Initializes a new instance of the class. + + The internal context. + The type. + The data record. + If set to true this is a dictionary for an entity, otherwise it is a dictionary for a complex object. + + + + Gets the dictionary item for a given property name. + + Name of the property. + An item for the given name. + + + + Gets the set of names of all properties in this dictionary as a read-only set. + + The property names. + + + + An implementation of for an item in a . + + + + + Initializes a new instance of the class. + + The data record. + The ordinal. + The value. + + + + Gets or sets the value of the property represented by this item. + + The value. + + + + Gets the name of the property. + + The name. + + + + Gets a value indicating whether this item represents a complex property. + + + true If this instance represents a complex property; otherwise, false. + + + + + Gets the type of the underlying property. + + The property type. + + + + This is version of an internal interface that already exists in System.Data.Entity that + is implemented by . Using this interface allows state + entries to be mocked for unit testing. The plan is to remove this version of the + interface and use the one in System.Data.Entity once we roll into the framework. + Note that some members may need to be added to the interface in the framework when + we combine the two. + + + + + The internal class used to implement + and . + This internal class contains all the common implementation between the generic and non-generic + entry classes and also allows for a clean internal factoring without compromising the public API. + + + + + Initializes a new instance of the class. + + The internal context. + The state entry. + + + + Initializes a new instance of the class for an + entity which may or may not be attached to the context. + + The internal context. + The entity. + + + + Queries the database for copies of the values of the tracked entity as they currently exist in the database. + + The store values. + + + + Appends a query for the properties in the entity to the given string builder that is being used to + build the eSQL query. This method may be called recursively to query for all the sub-properties of + a complex property. + + The query builder. + The qualifier with which to prefix each property name. + The dictionary that acts as a template for the properties to query. + + + + Validates that a dictionary can be obtained for the state of the entity represented by this entry. + + The method name being used to request a dictionary. + The state that is invalid for the request being processed. + + + + Calls Refresh with StoreWins on the underlying state entry. + + + + + Gets an internal object representing a reference navigation property. + This method is virtual to allow mocking. + + The navigation property. + The type of entity requested, which may be 'object' or null if any type can be accepted. + The entry. + + + + Gets an internal object representing a collection navigation property. + This method is virtual to allow mocking. + + The navigation property. + The type of entity requested, which may be 'object' or null f any type can be accepted. + The entry. + + + + Gets an internal object representing a navigation, scalar, or complex property. + This method is virtual to allow mocking. + + Name of the property. + The type of entity requested, which may be 'object' if any type can be accepted. + The entry. + + + + Gets an internal object representing a scalar or complex property. + This method is virtual to allow mocking. + + The property. + The type of object requested, which may be null or 'object' if any type can be accepted. + if set to true then the found property must be a complex property. + The entry. + + + + Gets an internal object representing a scalar or complex property. + The property may be a nested property on the given . + + The parent property entry, or null if this is a property directly on the entity. + Name of the property. + The type of object requested, which may be null or 'object' if any type can be accepted. + if set to true then the found property must be a complex property. + The entry. + + + + Gets an internal object representing a scalar or complex property. + The property may be a nested property on the given . + + The parent property entry, or null if this is a property directly on the entity. + Name of the property. + The property split out into its parts. + The type of object requested, which may be null or 'object' if any type can be accepted. + if set to true then the found property must be a complex property. + The entry. + + + + Checks that the given property name is a navigation property and is either a reference property or + collection property according to the value of requireCollection. + + + + + Gets metadata for the given property if that property is a navigation property or returns null + if it is not a navigation property. + + Name of the property. + Navigation property metadata or null. + + + + Gets the type of entity or entities at the target end of the given navigation property. + + The navigation property. + The CLR type of the entity or entities at the other end. + + + + Gets the related end for the navigation property with the given name. + + The navigation property. + + + + + Uses EDM metadata to validate that the property name exists in the model and represents a scalar or + complex property or exists in the CLR type. + This method is public and virtual so that it can be mocked. + + The property name. + The type on which the property is declared. + The type of object requested, which may be 'object' if any type can be accepted. + Metadata for the property. + + + + Splits the given property name into parts delimited by dots. + + Name of the property. + The parts of the name. + + + + Validates that this entry is associated with an underlying and + is not just wrapping a non-attached entity. + + + + + Validates entity represented by this entity entry. + This method is virtual to allow mocking. + + User defined dictionary containing additional info for custom validation. This parameter is optional and can be null. + containing validation result. Never null. + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the tracked entity. + This property is virtual to allow mocking. + + The entity. + + + + Gets or sets the state of the entity. + + The state. + + + + Gets the current property values for the tracked entity represented by this object. + This property is virtual to allow mocking. + + The current values. + + + + Gets the original property values for the tracked entity represented by this object. + The original values are usually the entity's property values as they were when last queried from + the database. + This property is virtual to allow mocking. + + The original values. + + + + Checks whether or not this entry is associated with an underlying or + is just wrapping a non-attached entity. + + + + + Gets the type of the entity being tracked. + + The type of the entity. + + + + Gets the c-space entity type for this entity from the EDM. + + + + + Gets the underlying object state entry. + + + + + Gets the internal context. + + The internal context. + + + + An implementation of that wraps an existing set but makes + it read-only. + + + + + + Initializes a new instance of the class wrapped around + another existing set. + + The existing set. + + + + This is a temporary adapter class that wraps an and + presents it as an . This class will be removed once + we roll into the System.Data.Entity assembly. See + for more details. + + + + + An instance of this internal class is created whenever an instance of the public + class is needed. This allows the public surface to be non-generic, while the runtime type created + still implements . + + The type of the element. + + + + Creates a new query that will be backed by the given internal query object. + + The backing query. + + + + See comments in . + + + + + See comments in . + + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + Gets the underlying internal query object. + + The internal query. + + + + An instance of this internal class is created whenever an instance of the public + class is needed. This allows the public surface to be non-generic, while the runtime type created + still implements . + + The type of the entity. + + + + Creates a new set that will be backed by the given internal set. + + The internal set. + + + + Creates an instance of this class. This method is used with CreateDelegate to cache a delegate + that can create a generic instance without calling MakeGenericType every time. + + + The internal set to wrap, or null if a new internal set should be created. + The set. + + + + See comments in . + + + + + See comments in . + + + + + See comments in . + + + + + See comments in . + + + + + See comments in . + + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + Gets the underlying internal query object. + + The internal query. + + + + Gets the underlying internal set. + + The internal set. + + + + See comments in . + + + + + A LINQ expression visitor that finds uses with equivalent + instances. + + + + + Replaces calls to DbContext.Set() with an expression for the equivalent . + + The node to replace. + A new node, which may have had the replacement made. + + + + Replaces a or property with a constant expression + for the underlying . + + The node to replace. + A new node, which may have had the replacement made. + + + + Processes the fields in each constant expression and replaces instances with + the underlying ObjectQuery instance. This handles cases where the query has a closure + containing values. + + + + + Gets a value from the given member, or returns null + if the member doesn't contain a DbContext instance. + + The expression for the object for the member, which may be null for a static member. + The member. + The context or null. + + + + Gets the instance from the given instance or static member, returning null + if the member does not contain a DbContext instance. + + The member. + The value of the object to get the instance from, or null if the member is static. + The context instance or null. + + + + Takes a or and creates an expression + for the underlying . + + + + + Takes a or and extracts the underlying . + + + + + A non-generic interface implemented by that allows operations on + any query object without knowing the type to which it applies. + + + + + An interface implemented by . + + The type of the element. + + + + A non-generic interface implemented by that allows operations on + any set object without knowing the type to which it applies. + + + + + An interface implemented by . + + + + + An InternalQuery underlies every instance of DbSet and DbQuery. It acts to lazily initialize a InternalContext as well + as an ObjectQuery and EntitySet the first time that it is used. The InternalQuery also acts to expose necessary + information to other parts of the design in a controlled manner without adding a lot of internal methods and + properties to the DbSet and DbQuery classes themselves. + + The type of entity to query for. + + + + Creates a new query that will be backed by the given InternalContext. + + The backing context. + + + + Creates a new internal query based on the information in an existing query together with + a new underlying ObjectQuery. + + + + + Resets the query to its uninitialized state so that it will be re-lazy initialized the next + time it is used. This allows the ObjectContext backing a DbContext to be switched out. + + + + + Updates the underlying ObjectQuery with the given include path. + + The include path. + A new query containing the defined include path. + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Performs lazy initialization of the underlying ObjectContext, ObjectQuery, and EntitySet objects + so that the query can be used. + + + + + Returns a representation of the underlying query, equivalent + to ToTraceString on ObjectQuery. + + + The query string. + + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + The underlying InternalContext. + + + + + The underlying ObjectQuery. + + + + + The underlying ObjectQuery. + + + + + The LINQ query expression. + + + + + The LINQ query provider for the underlying . + + + + + The IQueryable element type. + + + + + Creates a new query that will be backed by the given InternalContext. + + The backing context. + + + + Resets the set to its uninitialized state so that it will be re-lazy initialized the next + time it is used. This allows the ObjectContext backing a DbContext to be switched out. + + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Finds an entity in the state manager with the given primary key values, or returns null + if no such entity can be found. This includes looking for Added entities with the given + key values. + + + + + Finds an entity in the store with the given primary key values, or returns null + if no such entity can be found. This code is adapted from TryGetObjectByKey to + include type checking in the query. + + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + This method is virtual so that it can be mocked. + + The entity to attach. + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + This method is virtual so that it can be mocked. + + The entity to add. + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + This method is virtual so that it can be mocked. + + The entity to remove. + + + + This method checks whether an entity is already in the context. If it is, then the state + is changed to the new state given. If it isn't, then the action delegate is executed to + either Add or Attach the entity. + + A delegate to Add or Attach the entity. + The new state to give the entity if it is already in the context. + The entity. + Name of the method. + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The type of entity to create. + The entity instance, which may be a proxy. + + + + Performs lazy initialization of the underlying ObjectContext, ObjectQuery, and EntitySet objects + so that the query can be used. + This method is virtual so that it can be mocked. + + + + + Creates an underlying for this set. + + if set to true then the query is set to be no-tracking. + The query. + + + + Returns a representation of the underlying query, equivalent + to ToTraceString on ObjectQuery. + + + The query string. + + + + + Updates the underlying ObjectQuery with the given include path. + + The include path. + A new query containing the defined include path. + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Executes the given SQL query against the database materializing entities into the entity set that + backs this set. + + The SQL quey. + if true then the entities are not tracked, otherwise they are. + The parameters. + The query results. + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + Gets the ObservableCollection representing the local view for the set based on this query. + + + + + The underlying ObjectQuery. Accessing this property will trigger lazy initialization of the query. + + + + + The underlying EntitySet name. Accessing this property will trigger lazy initialization of the query. + + + + + The underlying EntitySet name, quoted for ESQL. Accessing this property will trigger lazy initialization of the query. + + + + + The underlying EntitySet. Accessing this property will trigger lazy initialization of the query. + + + + + The base type for the underlying entity set. Accessing this property will trigger lazy initialization of the query. + + + + + The underlying InternalContext. Accessing this property will trigger lazy initialization of the query. + + + + + The LINQ query expression. + + + + + The LINQ query provider for the underlying . + + + + + A wrapping query provider that performs expression transformation and then delegates + to the provider. The objects returned + are always instances of when the generic CreateQuery method is + used and are instances of when the non-generic CreateQuery method + is used. This provider is associated with non-generic objects. + + + + + A wrapping query provider that performs expression transformation and then delegates + to the provider. The objects returned are always instances + of . This provider is associated with generic objects. + + + + + Creates a provider that wraps the given provider. + + The provider to wrap. + + + + Performs expression replacement and then delegates to the wrapped provider before wrapping + the returned as a . + + + + + Performs expression replacement and then delegates to the wrapped provider before wrapping + the returned as a where T is determined + from the element type of the ObjectQuery. + + + + + By default, calls the same method on the wrapped provider. + + + + + By default, calls the same method on the wrapped provider. + + + + + Performs expression replacement and then delegates to the wrapped provider to create an + . + + + + + Wraps the given as a where T is determined + from the element type of the ObjectQuery. + + + + + Gets the internal context. + + The internal context. + + + + Creates a provider that wraps the given provider. + + The provider to wrap. + + + + Performs expression replacement and then delegates to the wrapped provider before wrapping + the returned as a . + + + + + Delegates to the wrapped provider except returns instances of . + + + + + Instances of this class are used internally to create constant expressions for + that are inserted into the expression tree to replace references to + and . + + The type of the element. + + + + Private constructor called by the Create factory method. + + The query. + + + + Factory method called by CreateDelegate to create an instance of this class. + + The query, which must be a generic object of the expected type. + A new instance. + + + + The public property expected in the LINQ expression tree. + + The query. + + + + Validates a property of a given EDM complex type. + + + This is a composite validator for a complex property of an entity. + + + + + Validates a property of a given EDM property type. + + + This is a composite validator for a property of an entity or a complex type. + + + + + Simple validators for the corresponding property. + + + + + Name of the property the validator was created for. + + + + + Creates an instance of for a given EDM property. + + The EDM property name. + Validators used to validate the given property. + + + + Validates a property. + + Validation context. Never null. + Property to validate. Never null. + Validation errors as . Empty if no errors. Never null. + + + + + Simple validators for the corresponding property. + + + + + Gets the name of the property the validator was created for. + + + + + The complex type validator. + + + + + Creates an instance of for a given complex property. + + The complex property name. + Validators used to validate the given property. + Complex type validator. + + + + Validates a complex property. + + Validation context. Never null. + Property to validate. Never null. + Validation errors as . Empty if no errors. Never null. + + + + + Validator used to validate a property of a given EDM ComplexType. + + + This is a composite validator. + + + + + Validator used to validate an entity of a given EDM Type. + + + This is a composite validator for an EDM Type. + + + + + Creates an instance for a given EDM type. + + Property validators. + Type level validators. + + + + Validates an instance. + + Entity validation context. Must not be null. + The entry for the complex property. Null if validating an entity. + instance. Never null. + Protected so it doesn't appear on EntityValidator. + + + + Validates type properties. Any validation errors will be added to + collection. + + + Validation context. Must not be null. + + + Collection of validation errors. Any validation errors will be added to it. + + The entry for the complex property. Null if validating an entity. + + Note that will be modified by this method. Errors should be only added, + never removed or changed. Taking a collection as a modifiable parameter saves a couple of memory allocations + and a merge of validation error lists per entity. + + + + + Returns a validator for a child property. + + Name of the child property for which to return a validator. + + Validator for a child property. Possibly null if there are no validators for requested property. + + + + + Creates an instance for a given EDM complex type. + + Property validators. + Type level validators. + + + + Validates an instance. + + Entity validation context. Must not be null. + The entry for the complex property. Null if validating an entity. + instance. Never null. + + + + Validates type properties. Any validation errors will be added to + collection. + + + Validation context. Must not be null. + + + Collection of validation errors. Any validation errors will be added to it. + + The entry for the complex property. Null if validating an entity. + + Note that will be modified by this method. Errors should be only added, + never removed or changed. Taking a collection as a modifiable parameter saves a couple of memory allocations + and a merge of validation error lists per entity. + + + + + Contains information needed to validate an entity or its properties. + + + + + The entity being validated or the entity that owns the property being validated. + + + + + Initializes a new instance of EntityValidationContext class. + + + The entity being validated or the entity that owns the property being validated. + + + External contexts needed for validation. + + + + + External context needed for validation. + + + + + Gets the entity being validated or the entity that owns the property being validated. + + + + + Validator used to validate an entity of a given EDM EntityType. + + + This is a top level, composite validator. This is also an entry point to getting an entity + validated as validation of an entity is always started by calling Validate method on this type. + + + + + Creates an instance for a given EDM entity type. + + Property validators. + Entity type level validators. + + + + Validates an entity. + + Entity validation context. Must not be null. + instance. Never null. + + + + Validates type properties. Any validation errors will be added to + collection. + + + Validation context. Must not be null. + + + Collection of validation errors. Any validation errors will be added to it. + + The entry for the complex property. Null if validating an entity. + + Note that will be modified by this method. Errors should be only added, + never removed or changed. Taking a collection as a modifiable parameter saves a couple of memory allocations + and a merge of validation error lists per entity. + + + + + Builds validators based on s specified on entity CLR types and properties + as well as based on presence of implementation on entity and complex + type CLR types. It's not sealed and not static for mocking purposes. + + + + + Builds an for the given . + + The entity entry to build the validator for. + Whether the currently processed type is the target type or one of the ancestor types. + + + for the given . Possibly null + if no validation has been specified for this entity type. + + + + + Builds the validator for a given and the corresponding + . + + The CLR type that corresponds to the EDM complex type. + The EDM complex type that type level validation is built for. + A for the given complex type. May be null if no validation specified. + + + + Extracted method from BuildEntityValidator and BuildComplexTypeValidator + + + + + Build validators for the and the corresponding + or . + + Properties to build validators for. + Non-navigation EDM properties. + Navigation EDM properties. + A list of validators. Possibly empty, never null. + + + + Builds a for the given and the corresponding + . If the property is a complex type, type level validators will be built here as + well. + The CLR property to build the validator for. + The EDM property to build the validator for. + + for the given . Possibly null + if no validation has been specified for this property. + + + + + Builds a for the given transient . + + The CLR property to build the validator for. + + for the given . Possibly null + if no validation has been specified for this property. + + + + + Builds s for given that derive from + . + + Attributes used to build validators. + + A list of s built from . + Possibly empty, never null. + + + + + Returns all non-static non-indexed CLR properties from the . + + The CLR to get the properties from. + + A collection of CLR properties. Possibly empty, never null. + + + + + Builds validators based on the facets of : + * If .Nullable facet set to false adds a validator equivalent to the RequiredAttribute + * If the .MaxLength facet is specified adds a validator equivalent to the MaxLengthAttribute. + However the validator isn't added if .IsMaxLength has been set to true. + + The CLR property to build the facet validators for. + The property for which facet validators will be created + A collection of validators. + + + + Contracts for abstract class. + + + + + Validates entities or complex types implementing IValidatableObject interface. + + + + + Display attribute used to specify the display name for an entity or complex property. + + + + + Validates an entity or a complex type implementing IValidatableObject interface. + This method is virtual to allow mocking. + + Validation context. Never null. + + Property to validate. Null if this is the entity that will be validated. Never null if this + is the complex type that will be validated. + + Validation error as . Empty if no errors. Never null. + + + Note that is used to figure out what needs to be validated. If it not null the complex + type will be validated otherwise the entity will be validated. + Also if this is an IValidatableObject complex type but the instance (.CurrentValue) is null we won't validate + anything and will not return any errors. The reason for this is that Validation is supposed to validate using + information the user provided and not some additional implicit rules. (ObjectContext will throw for operations + that involve null complex properties). + + + + + Validates a property, complex property or an entity using validation attributes the property + or the complex/entity type is decorated with. + + + Note that this class is used for validating primitive properties using attributes declared on the property + (property level validation) and complex properties and entities using attributes declared on the type + (type level validation). + + + + + Display attribute used to specify the display name for a property or entity. + + + + + Validation attribute used to validate a property or an entity. + + + + + Creates an instance of class. + + + Validation attribute used to validate a property or an entity. + + + + + Validates a property or an entity. + + Validation context. Never null. + Property to validate. Null for entity validation. Not null for property validation. + + + Validation errors as . Empty if no errors, never null. + + + + + Used to cache and retrieve generated validators and to create context for validating entities or properties. + + + + + Collection of validators keyed by the entity CLR type. Note that if there's no validation for a given type + it will be associated with a null validator. + + + + + Initializes a new instance of class. + + + + + Returns a validator to validate . + + Entity the validator is requested for. + + to validate . Possibly null if no validation + has been specified for the entity. + + + + + Returns a validator to validate . + + Navigation property the validator is requested for. + + Validator to validate . Possibly null if no validation + has been specified for the requested property. + + + + + Gets a validator for the . + + Entity validator. + Property to get a validator for. + + Validator to validate . Possibly null if there is no validation for the + . + + + For complex properties this method walks up the type hierarchy to get to the entity level and then goes down + and gets a validator for the child property that is an ancestor of the property to validate. If a validator + returned for an ancestor is null it means that there is no validation defined beneath and the method just + propagates (and eventually returns) null. + + + + + Creates for . + + Entity entry for which a validation context needs to be created. + User defined dictionary containing additional info for custom validation. This parameter is optional and can be null. + An instance of class. + + + + + Allows configuration to be performed for an complex type in a model. + + A ComplexTypeConfiguration can be obtained via the ComplexType method on + or a custom type derived from ComplexTypeConfiguration + can be registered via the Configurations property on . + + The complex type to be configured. + + + + Allows configuration to be performed for a type in a model. + + The type to be configured. + + + + Configures a property that is defined on this type. + + The type of the property being configured. + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + The type of the property being configured. + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Excludes a property from the model so that it will not be mapped to the database. + + The type of the property to be ignored. + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + + + + Initializes a new instance of ComplexTypeConfiguration + + + + + Allows the conventions used by a instance to be customized. + Currently removal of one or more default conventions is the only supported operation. + The default conventions can be found in the System.Data.Entity.Conventions namespace. + + + + + Disables a convention for the . + The default conventions that are available for removal can be found in the System.Data.Entity.Conventions namespace. + + The type of the convention to be disabled. + + + + Moves a foreign key constraint from oldTable to newTable and updates column references + + + + + Move any FK constraints that are now completely in newTable and used to refer to oldColumn + + + + + Configures a database column used to store a string values. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the column to allow the maximum length supported by the database provider. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + + Configures the column to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be variable length. + Columns are variable length by default. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be optional. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be required. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column. + + Name of the database provider specific data type. + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column. + + The order that this column should appear in the database table. + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to support Unicode string content. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the column supports Unicode string content. + + + Value indicating if the column supports Unicode string content or not. + Specifying 'null' will remove the Unicode facet from the column. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Base class for performing configuration of a relationship. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the table and column mapping of a relationship that does not expose foreign key properties in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the name of the column(s) for the foreign key. + + + The foreign key column names. + When using multiple foreign key properties, the properties must be specified in the same order that the + the primary key properties were configured for the target entity type. + + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the table name that the foreign key column(s) reside in. + The table that is specified must already be mapped for the entity type. + + If you want the foreign key(s) to reside in their own table then use the Map method + on to perform + entity splitting to create the table with just the primary key property. Foreign keys can + then be added to the table via this method. + + Name of the table. + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the table name and schema that the foreign key column(s) reside in. + The table that is specified must already be mapped for the entity type. + + If you want the foreign key(s) to reside in their own table then use the Map method + on to perform + entity splitting to create the table with just the primary key property. Foreign keys can + then be added to the table via this method. + + Name of the table. + Schema of the table. + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the table and column mapping of a many:many relationship. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the join table name for the relationship. + + Name of the table. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the join table name and schema for the relationship. + + Name of the table. + Schema of the table. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the column(s) for the left foreign key. + The left foreign key represents the navigation property specified in the HasMany call. + + + The foreign key column names. + When using multiple foreign key properties, the properties must be specified in the same order that the + the primary key properties were configured for the target entity type. + + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the column(s) for the right foreign key. + The right foreign key represents the navigation property specified in the WithMany call. + + + The foreign key column names. + When using multiple foreign key properties, the properties must be specified in the same order that the + the primary key properties were configured for the target entity type. + + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures a relationship that can only support foreign key properties that are not exposed in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures a relationship that can support cascade on delete functionality. + + + + + Configures cascade delete to be on for the relationship. + + + + + Configures whether or not cascade delete is on for the relationship. + + Value indicating if cascade delete is on or not. + + + + Configures the relationship to use foreign key property(s) that are not exposed in the object model. + The column(s) and table can be customized by specifying a configuration action. + If an empty configuration action is specified then column name(s) will be generated by convention. + If foreign key properties are exposed in the object model then use the HasForeignKey method. + Not all relationships support exposing foreign key properties in the object model. + + Action that configures the foreign key column(s) and table. + + A configuration object that can be used to further configure the relationship. + + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Used to configure a property with length facets for an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Used to configure a primitive property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will remove the database generated pattern facet from the property. + Setting 'null' will cause the same runtime behavior as specifying 'None'. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + + Value indicating if the property is a concurrency token or not. + Specifying 'null' will remove the concurrency token facet from the property. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to allow the maximum length supported by the database provider. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + + The maximum length for the property. + Setting 'null' will remove any maximum length restriction from the property and a default length will be used for the database column. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + Properties are variable length by default. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to allow the maximum length supported by the database provider. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + + The maximum length for the property. + Setting 'null' will remove any maximum length restriction from the property. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + properties are variable length by default. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + properties are optional by default. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will remove the database generated pattern facet from the property. + Setting 'null' will cause the same runtime behavior as specifying 'None'. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + + Value indicating if the property is a concurrency token or not. + Specifying 'null' will remove the concurrency token facet from the property. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be a row version in the database. + The actual data type will vary depending on the database provider being used. + Setting the property to be a row version will automatically configure it to be an + optimistic concurrency token. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + properties are required by default. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will remove the database generated pattern facet from the property. + Setting 'null' will cause the same runtime behavior as specifying 'None'. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + + Value indicating if the property is a concurrency token or not. + Specifying 'null' will remove the concurrency token facet from the property. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the precision of the property. + If the database provider does not support precision for the data type of the column then the value is ignored. + + Precision of the property. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + properties are required by default. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will remove the database generated pattern facet from the property. + Setting 'null' will cause the same runtime behavior as specifying 'None'. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + + Value indicating if the property is a concurrency token or not. + Specifying 'null' will remove the concurrency token facet from the property. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the precision and scale of the property. + + The precision of the property. + The scale of the property. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to allow the maximum length supported by the database provider. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + + The maximum length for the property. + Setting 'null' will remove any maximum length restriction from the property and a default length will be used for the database column.. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + properties are variable length by default. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + properties are optional by default. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will remove the database generated pattern facet from the property. + Setting 'null' will cause the same runtime behavior as specifying 'None'. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + + Value indicating if the property is a concurrency token or not. + Specifying 'null' will remove the concurrency token facet from the property. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to support Unicode string content. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property supports Unicode string content. + + + Value indicating if the property supports Unicode string content or not. + Specifying 'null' will remove the Unicode facet from the property. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Convention to process instances of found on foreign key properties in the model. + + + + + Base class for conventions that process CLR attributes found in the model. + + The type of member to look for. + The type of the configuration to look for. + The type of the attribute to look for. + + + + Convention to process instances of found on properties in the model. + + + + + Convention to add a cascade delete to the join table from both tables involved in a many to many relationship. + + + + + Convention to ensure an invalid/unsupported mapping is not created when mapping inherited properties + + + + + Convention to set precision to 18 and scale to 2 for decimal properties. + + + + + Configures a relationship that can support foreign key properties that are exposed in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + The dependent entity type. + + + + Configures the relationship to use foreign key property(s) that are exposed in the object model. + If the foreign key property(s) are not exposed in the object model then use the Map method. + + The type of the key. + + A lambda expression representing the property to be used as the foreign key. + If the foreign key is made up of multiple properties then specify an anonymous type including the properties. + When using multiple foreign key properties, the properties must be specified in the same order that the + the primary key properties were configured for the principal entity type. + + A configuration object that can be used to further configure the relationship. + + + + Configures a many:many relationship. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the foreign key column(s) and table used to store the relationship. + + Action that configures the foreign key column(s) and table. + + + + Configures the table and column mapping for an entity type or a sub-set of properties from an entity type. + This configuration functionality is available via the Code First Fluent API, see . + + The entity type to be mapped. + + + + Configures the properties that will be included in this mapping fragment. + If this method is not called then all properties that have not yet been + included in a mapping fragment will be configured. + + An anonymous type including the properties to be mapped. + + A lambda expression to an anonymous type that contains the properties to be mapped. + C#: t => new { t.Id, t.Property1, t.Property2 } + VB.Net: Function(t) New From { p.Id, t.Property1, t.Property2 } + + + + + Re-maps all properties inherited from base types. + + When configuring a derived type to be mapped to a separate table this will cause all properties to + be included in the table rather than just the non-inherited properties. This is known as + Table per Concrete Type (TPC) mapping. + + + + + Configures the table name to be mapped to. + + Name of the table. + + + + Configures the table name and schema to be mapped to. + + Name of the table. + Schema of the table. + + + + Configures the discriminator column used to differentiate between types in an inheritance hierarchy. + + The name of the discriminator column. + A configuration object to further configure the discriminator column and values. + + + + Configures the discriminator condition used to differentiate between types in an inheritance hierarchy. + + The type of the property being used to discriminate between types. + + A lambda expression representing the property being used to discriminate between types. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object to further configure the discriminator condition. + + + + Configures a condition used to discriminate between types in an inheritance hierarchy based on the values assigned to a property. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the condition to require a value in the property. + + Rows that do not have a value assigned to column that this property is stored in are + assumed to be of the base type of this entity type. + + + + + Configures a discriminator column used to differentiate between types in an inheritance hierarchy. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + Type of the discriminator value. + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + Type of the discriminator value. + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + Allows derived configuration classes for entities and complex types to be registered with a . + + + Derived configuration classes are created by deriving from + or and using a type to be included in the model as the generic + parameter. + + Configuration can be performed without creating derived configuration classes via the Entity and ComplexType + methods on . + + + + + Adds an to the . + Only one can be added for each type in a model. + + The entity type being configured. + The entity type configuration to be added. + The same ConfigurationRegistrar instance so that multiple calls can be chained. + + + + Adds an to the . + Only one can be added for each type in a model. + + The complex type being configured. + The complex type configuration to be added + The same ConfigurationRegistrar instance so that multiple calls can be chained. + + + + True if this configuration can be replaced in the model configuration, false otherwise + This is only set to true for configurations that are registered automatically via the DbContext + + + + + Configures a many relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be many:many with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:required with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:required without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:optional with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:optional without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Initializes configurations in the ModelConfiguration so that configuration data + is in a single place + + + + + Configures an optional relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be optional:many with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:required with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:required without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional with a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional without a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional with a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + + A lambda expression representing the navigation property on the other end of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional without a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + A configuration object that can be used to further configure the relationship. + + + + Convention to process instances of found on properties in the model + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on navigation properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on primitive properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on types in the model. + + + + + Convention to process instances of found on types in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on types in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to move primary key properties to appear first. + + + + + Convention to apply column ordering specified via or the API. + + + + + Convention to convert any data types that were explicitly specified, via data annotations or API, + to be lower case. The default SqlClient provider is case sensitive and requires data types to be lower case. This convention + allows the and API to be case insensitive. + + + + + Convention to set a default maximum length of 128 for properties whose type supports length facets. + + + + + Convention to set the entity set name to be a pluralized version of the entity type name. + + + + + This class provide service for both the singularization and pluralization, it takes the word pairs + in the ctor following the rules that the first one is singular and the second one is plural. + + + + + Factory method for PluralizationService. Only support english pluralization. + Please set the PluralizationService on the System.Data.Entity.Design.EntityModelSchemaGenerator + to extend the service to other locales. + + CultureInfo + PluralizationService + + + + captalize the return word if the parameter is capitalized + if word is "Table", then return "Tables" + + + + + + + + separate one combine word in to two parts, prefix word and the last word(suffix word) + + + + + + + + return true when the word is "[\s]*" or leading or tailing with spaces + or contains non alphabetical characters + + + + + + + This method allow you to add word to internal PluralizationService of English. + If the singluar or the plural value was already added by this method, then an ArgumentException will be thrown. + + + + + + + Convention to set the table name to be a pluralized version of the entity type name. + + + + + Convention to configure the primary key(s) of the dependent entity type as foreign key(s) in a one:one relationship. + + + + + Convention to distinguish between optional and required relationships based on CLR nullability of the foreign key property. + + + + + Convention to detect primary key properties. + Recognized naming patterns in order of precedence are: + 1. 'Id' + 2. [type name]Id + Primary key detection is case insensitive. + + + + + Handles mapping from a CLR property to an EDM assocation and nav. prop. + + + + + True if the NavigationProperty's declaring type is the principal end, false if it is not, null if it is not known + + + + + Exception thrown by during model creation when an invalid model is generated. + + + + + Initializes a new instance of ModelValidationException + + + + + Initializes a new instance of ModelValidationException + + The exception message. + + + + Initializes a new instance of ModelValidationException + + The exception message. + The inner exception. + + + + Convention to detect navigation properties to be inverses of each other when only one pair + of navigation properties exists between the related types. + + + + + Convention to configure a type as a complex type if it has no primary key, no mapped base type and no navigation properties. + + + + + Convention to discover foreign key properties whose names are a combination + of the dependent navigation property name and the principal type primary key property name(s). + + + + + Allows configuration to be performed for an entity type in a model. + + An EntityTypeConfiguration can be obtained via the Entity method on + or a custom type derived from EntityTypeConfiguration + can be registered via the Configurations property on . + + + + + Initializes a new instance of EntityTypeConfiguration + + + + + Configures the primary key property(s) for this entity type. + + The type of the key. + + A lambda expression representing the property to be used as the primary key. + C#: t => t.Id + VB.Net: Function(t) t.Id + + If the primary key is made up of multiple properties then specify an anonymous type including the properties. + C#: t => new { t.Id1, t.Id2 } + VB.Net: Function(t) New From { t.Id1, t.Id2 } + + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures the entity set name to be used for this entity type. + The entity set name can only be configured for the base type in each set. + + The name of the entity set. + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + The database schema of the table. + + + + Allows advanced configuration related to how this entity type is mapped to the database schema. + By default, any configuration will also apply to any type derived from this entity type. + + Derived types can be configured via the overload of Map that configures a derived type or + by using an EntityTypeConfiguration for the derived type. + + The properties of an entity can be split between multiple tables using multiple Map calls. + + Calls to Map are additive, subsequent calls will not override configuration already preformed via Map. + + An action that performs configuration against an . + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Allows advanced configuration related to how a derived entity type is mapped to the database schema. + Calls to Map are additive, subsequent calls will not override configuration already preformed via Map. + + The derived entity type to be configured. + An action that performs configuration against an . + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures an optional relationship from this entity type. + Instances of the entity type will be able to be saved to the database without this relationship being specified. + The foreign key in the database will be nullable. + + The type of the entity at the other end of the relationship. + + A lambda expression representing the navigation property for the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures a required relationship from this entity type. + Instances of the entity type will not be able to be saved to the database unless this relationship is specified. + The foreign key in the database will be non-nullable. + + The type of the entity at the other end of the relationship. + + A lambda expression representing the navigation property for the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures a many relationship from this entity type. + + The type of the entity at the other end of the relationship. + + A lambda expression representing the navigation property for the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + DbModelBuilder is used to map CLR classes to a database schema. + This code centric approach to building an Entity Data Model (EDM) model is known as 'Code First'. + + + DbModelBuilder is typically used to configure a model by overriding . + You can also use DbModelBuilder independently of DbContext to build a model and then construct a + or . + The recommended approach, however, is to use OnModelCreating in as + the workflow is more intuitive and takes care of common tasks, such as caching the created model. + + Types that form your model are registered with DbModelBuilder and optional configuration can be + performed by applying data annotations to your classes and/or using the fluent style DbModelBuilder + API. + + When the Build method is called a set of conventions are run to discover the initial model. + These conventions will automatically discover aspects of the model, such as primary keys, and + will also process any data annotations that were specified on your classes. Finally + any configuration that was performed using the DbModelBuilder API is applied. + + Configuration done via the DbModelBuilder API takes precedence over data annotations which + in turn take precedence over the default conventions. + + + + + Initializes a new instance of the class. + + The process of discovering the initial model will use the set of conventions included + in the most recent version of the Entity Framework installed on your machine. + + + Upgrading to newer versions of the Entity Framework may cause breaking changes + in your application because new conventions may cause the initial model to be + configured differently. There is an alternate constructor that allows a specific + version of conventions to be specified. + + + + + Initializes a new instance of the class that will use + a specific set of conventions to discover the initial model. + + The version of conventions to be used. + + + + Excludes a type from the model. This is used to remove types from the model that were added + by convention during initial model discovery. + + The type to be excluded. + The same DbModelBuilder instance so that multiple calls can be chained. + + + + Excludes a type(s) from the model. This is used to remove types from the model that were added + by convention during initial model discovery. + + The types to be excluded from the model. + The same DbModelBuilder instance so that multiple calls can be chained. + + + + Registers an entity type as part of the model and returns an object that can be used to + configure the entity. This method can be called multiple times for the same entity to + perform multiple lines of configuration. + + The type to be registered or configured. + The configuration object for the specified entity type. + + + + Registers a type as an entity in the model and returns an object that can be used to + configure the entity. This method can be called multiple times for the same type to + perform multiple lines of configuration. + + The type to be registered or configured. + The configuration object for the specified entity type. + + + + Registers a type as a complex type in the model and returns an object that can be used to + configure the complex type. This method can be called multiple times for the same type to + perform multiple lines of configuration. + + The type to be registered or configured. + The configuration object for the specified complex type. + + + + Creates a based on the configuration performed using this builder. + The connection is used to determine the database provider being used as this + affects the database layer of the generated model. + + Connection to use to determine provider information. + The model that was built. + + + + Creates a based on the configuration performed using this builder. + Provider information must be specified because this affects the database layer of the generated model. + For SqlClient the invariant name is 'System.Data.SqlClient' and the manifest token is the version year (i.e. '2005', '2008' etc.) + + The database provider that the model will be used with. + The model that was built. + + + + Provides access to the settings of this DbModelBuilder that deal with conventions. + + + + + Gets the for this DbModelBuilder. + The registrar allows derived entity and complex type configurations to be registered with this builder. + + + + + Convention to enable cascade delete for any required relationships. + + + + + Convention to discover foreign key properties whose names match the principal type primary key property name(s). + + + + + Convention to configure integer primary keys to be identity. + + + + + Convention to discover foreign key properties whose names are a combination + of the principal type name and the principal type primary key property name(s). + + + + + Attempt to determine the principal and dependent ends of this association. + + The following table illustrates the solution space. + + Source | Target || Prin | Dep | + -------|--------||-------|-------| + 1 | 1 || - | - | + 1 | 0..1 || Sr | Ta | + 1 | * || Sr | Ta | + 0..1 | 1 || Ta | Sr | + 0..1 | 0..1 || - | - | + 0..1 | * || Sr | Ta | + * | 1 || Ta | Sr | + * | 0..1 || Ta | Sr | + * | * || - | - | + + + + + Configures an required relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be required:many with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:optional with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:optional without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required with a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required without a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required with a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required without a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + A configuration object that can be used to further configure the relationship. + + + + Code Contracts hook methods - Called when contracts fail. Here we detect the most common preconditions + so we can throw the correct exceptions. It also means that we can write preconditions using the + simplest Contract.Requires() form. + + + + + Returns true if a variable of this type can be assigned a null value + + + + True if a reference type or a nullable value type, + false otherwise + + + + + Exception thrown from when validating entities fails. + + + + + Initializes a new instance of DbEntityValidationException + + + + + Initializes a new instance of DbEntityValidationException + + The exception message. + + + + Initializes a new instance of DbEntityValidationException + + The exception message. + Validation results. + + + + Initializes a new instance of DbEntityValidationException + + The exception message. + The inner exception. + + + + Initializes a new instance of DbEntityValidationException + + The exception message. + Validation results. + The inner exception. + + + + Subscribes the SerializeObjectState event. + + + + + Validation results. + + + + + Holds exception state that will be serialized when the exception is serialized. + + + + + Validation results. + + + + + Completes the deserialization. + + The deserialized object. + + + + Validation results. + + + + + Represents validation results for single entity. + + + + + Entity entry the results applies to. Never null. + + + + + List of instances. Never null. Can be empty meaning the entity is valid. + + + + + Creates an instance of class. + + + Entity entry the results applies to. Never null. + + + List of instances. Never null. Can be empty meaning the entity is valid. + + + + + Creates an instance of class. + + + Entity entry the results applies to. Never null. + + + List of instances. Never null. Can be empty meaning the entity is valid. + + + + + Gets an instance of the results applies to. + + + + + Gets validation errors. Never null. + + + + + Gets an indicator if the entity is valid. + + + + + Validation error. Can be either entity or property level validation error. + + + + + Name of the invalid property. Can be null (e.g. for entity level validations) + + + + + Validation error message. + + + + + Creates an instance of . + + Name of the invalid property. Can be null. + Validation error message. Can be null. + + + + Gets name of the invalid property. + + + + + Gets validation error message. + + + + + Denotes a property used as a foreign key in a relationship. + The annotation may be placed on the foreign key property and specify the associated navigation property name, + or placed on a navigation property and specify the associated foreign key name. + + + + + Initializes a new instance of the class. + + + If placed on a foreign key property, the name of the associated navigation property. + If placed on a navigation property, the name of the associated foreign key(s). + If a navigation property has multiple foreign keys, a comma separated list should be supplied. + + + + + If placed on a foreign key property, the name of the associated navigation property. + If placed on a navigation property, the name of the associated foreign key(s). + + + + + Specifies the inverse of a navigation property that represents the other end of the same relationship. + + + + + Initializes a new instance of the class. + + The navigation property representing the other end of the same relationship. + + + + The navigation property representing the other end of the same relationship. + + + + + Specifies the database column that a property is mapped to. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the column the property is mapped to. + + + + The name of the column the property is mapped to. + + + + + The zero-based order of the column the property is mapped to. + + + + + The database provider specific data type of the column the property is mapped to. + + + + + Specifies the maximum length of array/string data allowed in a property. + + + + + Initializes a new instance of the class. + + + The maximum allowable length of array/string data. + Value must be greater than zero. + + + + + Initializes a new instance of the class. + The maximum allowable length supported by the database will be used. + + + + + Determines whether a specified object is valid. (Overrides ) + + + This method returns true if the is null. + It is assumed the is used if the value may not be null. + + The object to validate. + true if the value is null or less than or equal to the specified maximum length, otherwise false + Length is zero or less than negative one. + + + + Applies formatting to a specified error message. (Overrides ) + + The name to include in the formatted string. + A localized string to describe the maximum acceptable length. + + + + Checks that Length has a legal value. Throws InvalidOperationException if not. + + + + + Gets the maximum allowable length of the array/string data. + + + + + Specifies the minimum length of array/string data allowed in a property. + + + + + Initializes a new instance of the class. + + + The minimum allowable length of array/string data. + Value must be greater than or equal to zero. + + + + + Determines whether a specified object is valid. (Overrides ) + + + This method returns true if the is null. + It is assumed the is used if the value may not be null. + + The object to validate. + true if the value is null or greater than or equal to the specified minimum length, otherwise false + Length is less than zero. + + + + Applies formatting to a specified error message. (Overrides ) + + The name to include in the formatted string. + A localized string to describe the minimum acceptable length. + + + + Checks that Length has a legal value. Throws InvalidOperationException if not. + + + + + Gets the minimum allowable length of the array/string data. + + + + + Specifies how the database generates values for a property. + + + + + Initializes a new instance of the class. + + The pattern used to generate values for the property in the database. + + + + The pattern used to generate values for the property in the database. + + + + + The pattern used to generate values for a property in the database. + + + + + The database does not generate values. + + + + + The database generates a value when a row is inserted. + + + + + The database generates a value when a row is inserted or updated. + + + + + Denotes that a property or class should be excluded from database mapping. + + + + + Denotes that the class is a complex type. + Complex types are non-scalar properties of entity types that enable scalar properties to be organized within entities. + Complex types do not have keys and cannot be managed by the Entity Framework apart from the parent object. + + + + + Specifies the database table that a class is mapped to. + + + + + Initializes a new instance of the class. + + The name of the table the class is mapped to. + + + + The name of the table the class is mapped to. + + + + + The schema of the table the class is mapped to. + + + + + Constructs a new sys description. + + + description text. + + + + + Retrieves the description text. + + + description + + + + + AutoGenerated resource class. Usage: + + string s = ResourceProvider.GetString(ResourceProvider.MyIdenfitier); + + + + + Constructs a new sys description. + + + description text. + + + + + Retrieves the description text. + + + description + + + + + AutoGenerated resource class. Usage: + + string s = ResourceProvider.GetString(ResourceProvider.MyIdenfitier); + + + + + Constructs a new sys description. + + + description text. + + + + + Retrieves the description text. + + + description + + + + + AutoGenerated resource class. Usage: + + string s = ResourceProvider.GetString(ResourceProvider.MyIdenfitier); + + + + + Constructs a new sys description. + + + description text. + + + + + Retrieves the description text. + + + description + + + + + AutoGenerated resource class. Usage: + + string s = EntityRes.GetString(EntityRes.MyIdenfitier); + + + + diff --git a/CharityPortal/packages/Modernizr.1.7/Content/Scripts/modernizr-1.7.js b/CharityPortal/packages/Modernizr.1.7/Content/Scripts/modernizr-1.7.js new file mode 100644 index 0000000..7bc212a --- /dev/null +++ b/CharityPortal/packages/Modernizr.1.7/Content/Scripts/modernizr-1.7.js @@ -0,0 +1,969 @@ +/*! +* Note: While Microsoft is not the author of this file, Microsoft is +* offering you a license subject to the terms of the Microsoft Software +* License Terms for Microsoft ASP.NET Model View Controller 3. +* Microsoft reserves all other rights. The notices below are provided +* for informational purposes only and are not the license terms under +* which Microsoft distributed this file. +* +* Modernizr v1.7 +* http://www.modernizr.com +* +* Developed by: +* - Faruk Ates http://farukat.es/ +* - Paul Irish http://paulirish.com/ +* +* Copyright (c) 2009-2011 +*/ + + +/* + * Modernizr is a script that detects native CSS3 and HTML5 features + * available in the current UA and provides an object containing all + * features with a true/false value, depending on whether the UA has + * native support for it or not. + * + * Modernizr will also add classes to the element of the page, + * one for each feature it detects. If the UA supports it, a class + * like "cssgradients" will be added. If not, the class name will be + * "no-cssgradients". This allows for simple if-conditionals in your + * CSS, giving you fine control over the look & feel of your website. + * + * @author Faruk Ates + * @author Paul Irish + * @copyright (c) 2009-2011 Faruk Ates. + * @contributor Ben Alman + */ + +window.Modernizr = (function(window,document,undefined){ + + var version = '1.7', + + ret = {}, + + /** + * !! DEPRECATED !! + * + * enableHTML5 is a private property for advanced use only. If enabled, + * it will make Modernizr.init() run through a brief while() loop in + * which it will create all HTML5 elements in the DOM to allow for + * styling them in Internet Explorer, which does not recognize any + * non-HTML4 elements unless created in the DOM this way. + * + * enableHTML5 is ON by default. + * + * The enableHTML5 toggle option is DEPRECATED as per 1.6, and will be + * replaced in 2.0 in lieu of the modular, configurable nature of 2.0. + */ + enableHTML5 = true, + + + docElement = document.documentElement, + docHead = document.head || document.getElementsByTagName('head')[0], + + /** + * Create our "modernizr" element that we do most feature tests on. + */ + mod = 'modernizr', + modElem = document.createElement( mod ), + m_style = modElem.style, + + /** + * Create the input element for various Web Forms feature tests. + */ + inputElem = document.createElement( 'input' ), + + smile = ':)', + + tostring = Object.prototype.toString, + + // List of property values to set for css tests. See ticket #21 + prefixes = ' -webkit- -moz- -o- -ms- -khtml- '.split(' '), + + // Following spec is to expose vendor-specific style properties as: + // elem.style.WebkitBorderRadius + // and the following would be incorrect: + // elem.style.webkitBorderRadius + + // Webkit ghosts their properties in lowercase but Opera & Moz do not. + // Microsoft foregoes prefixes entirely <= IE8, but appears to + // use a lowercase `ms` instead of the correct `Ms` in IE9 + + // More here: http://github.com/Modernizr/Modernizr/issues/issue/21 + domPrefixes = 'Webkit Moz O ms Khtml'.split(' '), + + ns = {'svg': 'http://www.w3.org/2000/svg'}, + + tests = {}, + inputs = {}, + attrs = {}, + + classes = [], + + featurename, // used in testing loop + + + + // todo: consider using http://javascript.nwbox.com/CSSSupport/css-support.js instead + testMediaQuery = function(mq){ + + var st = document.createElement('style'), + div = document.createElement('div'), + ret; + + st.textContent = mq + '{#modernizr{height:3px}}'; + docHead.appendChild(st); + div.id = 'modernizr'; + docElement.appendChild(div); + + ret = div.offsetHeight === 3; + + st.parentNode.removeChild(st); + div.parentNode.removeChild(div); + + return !!ret; + + }, + + + /** + * isEventSupported determines if a given element supports the given event + * function from http://yura.thinkweb2.com/isEventSupported/ + */ + isEventSupported = (function(){ + + var TAGNAMES = { + 'select':'input','change':'input', + 'submit':'form','reset':'form', + 'error':'img','load':'img','abort':'img' + }; + + function isEventSupported(eventName, element) { + + element = element || document.createElement(TAGNAMES[eventName] || 'div'); + eventName = 'on' + eventName; + + // When using `setAttribute`, IE skips "unload", WebKit skips "unload" and "resize", whereas `in` "catches" those + var isSupported = (eventName in element); + + if (!isSupported) { + // If it has no `setAttribute` (i.e. doesn't implement Node interface), try generic element + if (!element.setAttribute) { + element = document.createElement('div'); + } + if (element.setAttribute && element.removeAttribute) { + element.setAttribute(eventName, ''); + isSupported = is(element[eventName], 'function'); + + // If property was created, "remove it" (by setting value to `undefined`) + if (!is(element[eventName], undefined)) { + element[eventName] = undefined; + } + element.removeAttribute(eventName); + } + } + + element = null; + return isSupported; + } + return isEventSupported; + })(); + + + // hasOwnProperty shim by kangax needed for Safari 2.0 support + var _hasOwnProperty = ({}).hasOwnProperty, hasOwnProperty; + if (!is(_hasOwnProperty, undefined) && !is(_hasOwnProperty.call, undefined)) { + hasOwnProperty = function (object, property) { + return _hasOwnProperty.call(object, property); + }; + } + else { + hasOwnProperty = function (object, property) { /* yes, this can give false positives/negatives, but most of the time we don't care about those */ + return ((property in object) && is(object.constructor.prototype[property], undefined)); + }; + } + + /** + * set_css applies given styles to the Modernizr DOM node. + */ + function set_css( str ) { + m_style.cssText = str; + } + + /** + * set_css_all extrapolates all vendor-specific css strings. + */ + function set_css_all( str1, str2 ) { + return set_css(prefixes.join(str1 + ';') + ( str2 || '' )); + } + + /** + * is returns a boolean for if typeof obj is exactly type. + */ + function is( obj, type ) { + return typeof obj === type; + } + + /** + * contains returns a boolean for if substr is found within str. + */ + function contains( str, substr ) { + return (''+str).indexOf( substr ) !== -1; + } + + /** + * test_props is a generic CSS / DOM property test; if a browser supports + * a certain property, it won't return undefined for it. + * A supported CSS property returns empty string when its not yet set. + */ + function test_props( props, callback ) { + for ( var i in props ) { + if ( m_style[ props[i] ] !== undefined && ( !callback || callback( props[i], modElem ) ) ) { + return true; + } + } + } + + /** + * test_props_all tests a list of DOM properties we want to check against. + * We specify literally ALL possible (known and/or likely) properties on + * the element including the non-vendor prefixed one, for forward- + * compatibility. + */ + function test_props_all( prop, callback ) { + + var uc_prop = prop.charAt(0).toUpperCase() + prop.substr(1), + props = (prop + ' ' + domPrefixes.join(uc_prop + ' ') + uc_prop).split(' '); + + return !!test_props( props, callback ); + } + + + /** + * Tests + * ----- + */ + + tests['flexbox'] = function() { + /** + * set_prefixed_value_css sets the property of a specified element + * adding vendor prefixes to the VALUE of the property. + * @param {Element} element + * @param {string} property The property name. This will not be prefixed. + * @param {string} value The value of the property. This WILL be prefixed. + * @param {string=} extra Additional CSS to append unmodified to the end of + * the CSS string. + */ + function set_prefixed_value_css(element, property, value, extra) { + property += ':'; + element.style.cssText = (property + prefixes.join(value + ';' + property)).slice(0, -property.length) + (extra || ''); + } + + /** + * set_prefixed_property_css sets the property of a specified element + * adding vendor prefixes to the NAME of the property. + * @param {Element} element + * @param {string} property The property name. This WILL be prefixed. + * @param {string} value The value of the property. This will not be prefixed. + * @param {string=} extra Additional CSS to append unmodified to the end of + * the CSS string. + */ + function set_prefixed_property_css(element, property, value, extra) { + element.style.cssText = prefixes.join(property + ':' + value + ';') + (extra || ''); + } + + var c = document.createElement('div'), + elem = document.createElement('div'); + + set_prefixed_value_css(c, 'display', 'box', 'width:42px;padding:0;'); + set_prefixed_property_css(elem, 'box-flex', '1', 'width:10px;'); + + c.appendChild(elem); + docElement.appendChild(c); + + var ret = elem.offsetWidth === 42; + + c.removeChild(elem); + docElement.removeChild(c); + + return ret; + }; + + // On the S60 and BB Storm, getContext exists, but always returns undefined + // http://github.com/Modernizr/Modernizr/issues/issue/97/ + + tests['canvas'] = function() { + var elem = document.createElement( 'canvas' ); + return !!(elem.getContext && elem.getContext('2d')); + }; + + tests['canvastext'] = function() { + return !!(ret['canvas'] && is(document.createElement( 'canvas' ).getContext('2d').fillText, 'function')); + }; + + // This WebGL test false positives in FF depending on graphics hardware. But really it's quite impossible to know + // wether webgl will succeed until after you create the context. You might have hardware that can support + // a 100x100 webgl canvas, but will not support a 1000x1000 webgl canvas. So this feature inference is weak, + // but intentionally so. + tests['webgl'] = function(){ + return !!window.WebGLRenderingContext; + }; + + /* + * The Modernizr.touch test only indicates if the browser supports + * touch events, which does not necessarily reflect a touchscreen + * device, as evidenced by tablets running Windows 7 or, alas, + * the Palm Pre / WebOS (touch) phones. + * + * Additionally, Chrome (desktop) used to lie about its support on this, + * but that has since been rectified: http://crbug.com/36415 + * + * We also test for Firefox 4 Multitouch Support. + * + * For more info, see: http://modernizr.github.com/Modernizr/touch.html + */ + + tests['touch'] = function() { + + return ('ontouchstart' in window) || testMediaQuery('@media ('+prefixes.join('touch-enabled),(')+'modernizr)'); + + }; + + + /** + * geolocation tests for the new Geolocation API specification. + * This test is a standards compliant-only test; for more complete + * testing, including a Google Gears fallback, please see: + * http://code.google.com/p/geo-location-javascript/ + * or view a fallback solution using google's geo API: + * http://gist.github.com/366184 + */ + tests['geolocation'] = function() { + return !!navigator.geolocation; + }; + + // Per 1.6: + // This used to be Modernizr.crosswindowmessaging but the longer + // name has been deprecated in favor of a shorter and property-matching one. + // The old API is still available in 1.6, but as of 2.0 will throw a warning, + // and in the first release thereafter disappear entirely. + tests['postmessage'] = function() { + return !!window.postMessage; + }; + + // Web SQL database detection is tricky: + + // In chrome incognito mode, openDatabase is truthy, but using it will + // throw an exception: http://crbug.com/42380 + // We can create a dummy database, but there is no way to delete it afterwards. + + // Meanwhile, Safari users can get prompted on any database creation. + // If they do, any page with Modernizr will give them a prompt: + // http://github.com/Modernizr/Modernizr/issues/closed#issue/113 + + // We have chosen to allow the Chrome incognito false positive, so that Modernizr + // doesn't litter the web with these test databases. As a developer, you'll have + // to account for this gotcha yourself. + tests['websqldatabase'] = function() { + var result = !!window.openDatabase; + /* if (result){ + try { + result = !!openDatabase( mod + "testdb", "1.0", mod + "testdb", 2e4); + } catch(e) { + } + } */ + return result; + }; + + // Vendors have inconsistent prefixing with the experimental Indexed DB: + // - Firefox is shipping indexedDB in FF4 as moz_indexedDB + // - Webkit's implementation is accessible through webkitIndexedDB + // We test both styles. + tests['indexedDB'] = function(){ + for (var i = -1, len = domPrefixes.length; ++i < len; ){ + var prefix = domPrefixes[i].toLowerCase(); + if (window[prefix + '_indexedDB'] || window[prefix + 'IndexedDB']){ + return true; + } + } + return false; + }; + + // documentMode logic from YUI to filter out IE8 Compat Mode + // which false positives. + tests['hashchange'] = function() { + return isEventSupported('hashchange', window) && ( document.documentMode === undefined || document.documentMode > 7 ); + }; + + // Per 1.6: + // This used to be Modernizr.historymanagement but the longer + // name has been deprecated in favor of a shorter and property-matching one. + // The old API is still available in 1.6, but as of 2.0 will throw a warning, + // and in the first release thereafter disappear entirely. + tests['history'] = function() { + return !!(window.history && history.pushState); + }; + + tests['draganddrop'] = function() { + return isEventSupported('dragstart') && isEventSupported('drop'); + }; + + tests['websockets'] = function(){ + return ('WebSocket' in window); + }; + + + // http://css-tricks.com/rgba-browser-support/ + tests['rgba'] = function() { + // Set an rgba() color and check the returned value + + set_css( 'background-color:rgba(150,255,150,.5)' ); + + return contains( m_style.backgroundColor, 'rgba' ); + }; + + tests['hsla'] = function() { + // Same as rgba(), in fact, browsers re-map hsla() to rgba() internally, + // except IE9 who retains it as hsla + + set_css('background-color:hsla(120,40%,100%,.5)' ); + + return contains( m_style.backgroundColor, 'rgba' ) || contains( m_style.backgroundColor, 'hsla' ); + }; + + tests['multiplebgs'] = function() { + // Setting multiple images AND a color on the background shorthand property + // and then querying the style.background property value for the number of + // occurrences of "url(" is a reliable method for detecting ACTUAL support for this! + + set_css( 'background:url(//:),url(//:),red url(//:)' ); + + // If the UA supports multiple backgrounds, there should be three occurrences + // of the string "url(" in the return value for elem_style.background + + return new RegExp("(url\\s*\\(.*?){3}").test(m_style.background); + }; + + + // In testing support for a given CSS property, it's legit to test: + // `elem.style[styleName] !== undefined` + // If the property is supported it will return an empty string, + // if unsupported it will return undefined. + + // We'll take advantage of this quick test and skip setting a style + // on our modernizr element, but instead just testing undefined vs + // empty string. + + + tests['backgroundsize'] = function() { + return test_props_all( 'backgroundSize' ); + }; + + tests['borderimage'] = function() { + return test_props_all( 'borderImage' ); + }; + + + // Super comprehensive table about all the unique implementations of + // border-radius: http://muddledramblings.com/table-of-css3-border-radius-compliance + + tests['borderradius'] = function() { + return test_props_all( 'borderRadius', '', function( prop ) { + return contains( prop, 'orderRadius' ); + }); + }; + + // WebOS unfortunately false positives on this test. + tests['boxshadow'] = function() { + return test_props_all( 'boxShadow' ); + }; + + // FF3.0 will false positive on this test + tests['textshadow'] = function(){ + return document.createElement('div').style.textShadow === ''; + }; + + + tests['opacity'] = function() { + // Browsers that actually have CSS Opacity implemented have done so + // according to spec, which means their return values are within the + // range of [0.0,1.0] - including the leading zero. + + set_css_all( 'opacity:.55' ); + + // The non-literal . in this regex is intentional: + // German Chrome returns this value as 0,55 + // https://github.com/Modernizr/Modernizr/issues/#issue/59/comment/516632 + return /^0.55$/.test(m_style.opacity); + }; + + + tests['cssanimations'] = function() { + return test_props_all( 'animationName' ); + }; + + + tests['csscolumns'] = function() { + return test_props_all( 'columnCount' ); + }; + + + tests['cssgradients'] = function() { + /** + * For CSS Gradients syntax, please see: + * http://webkit.org/blog/175/introducing-css-gradients/ + * https://developer.mozilla.org/en/CSS/-moz-linear-gradient + * https://developer.mozilla.org/en/CSS/-moz-radial-gradient + * http://dev.w3.org/csswg/css3-images/#gradients- + */ + + var str1 = 'background-image:', + str2 = 'gradient(linear,left top,right bottom,from(#9f9),to(white));', + str3 = 'linear-gradient(left top,#9f9, white);'; + + set_css( + (str1 + prefixes.join(str2 + str1) + prefixes.join(str3 + str1)).slice(0,-str1.length) + ); + + return contains( m_style.backgroundImage, 'gradient' ); + }; + + + tests['cssreflections'] = function() { + return test_props_all( 'boxReflect' ); + }; + + + tests['csstransforms'] = function() { + return !!test_props([ 'transformProperty', 'WebkitTransform', 'MozTransform', 'OTransform', 'msTransform' ]); + }; + + + tests['csstransforms3d'] = function() { + + var ret = !!test_props([ 'perspectiveProperty', 'WebkitPerspective', 'MozPerspective', 'OPerspective', 'msPerspective' ]); + + // Webkit’s 3D transforms are passed off to the browser's own graphics renderer. + // It works fine in Safari on Leopard and Snow Leopard, but not in Chrome in + // some conditions. As a result, Webkit typically recognizes the syntax but + // will sometimes throw a false positive, thus we must do a more thorough check: + if (ret && 'webkitPerspective' in docElement.style){ + + // Webkit allows this media query to succeed only if the feature is enabled. + // `@media (transform-3d),(-o-transform-3d),(-moz-transform-3d),(-ms-transform-3d),(-webkit-transform-3d),(modernizr){ ... }` + ret = testMediaQuery('@media ('+prefixes.join('transform-3d),(')+'modernizr)'); + } + return ret; + }; + + + tests['csstransitions'] = function() { + return test_props_all( 'transitionProperty' ); + }; + + + // @font-face detection routine by Diego Perini + // http://javascript.nwbox.com/CSSSupport/ + tests['fontface'] = function(){ + + var + sheet, bool, + head = docHead || docElement, + style = document.createElement("style"), + impl = document.implementation || { hasFeature: function() { return false; } }; + + style.type = 'text/css'; + head.insertBefore(style, head.firstChild); + sheet = style.sheet || style.styleSheet; + + var supportAtRule = impl.hasFeature('CSS2', '') ? + function(rule) { + if (!(sheet && rule)) return false; + var result = false; + try { + sheet.insertRule(rule, 0); + result = (/src/i).test(sheet.cssRules[0].cssText); + sheet.deleteRule(sheet.cssRules.length - 1); + } catch(e) { } + return result; + } : + function(rule) { + if (!(sheet && rule)) return false; + sheet.cssText = rule; + + return sheet.cssText.length !== 0 && (/src/i).test(sheet.cssText) && + sheet.cssText + .replace(/\r+|\n+/g, '') + .indexOf(rule.split(' ')[0]) === 0; + }; + + bool = supportAtRule('@font-face { font-family: "font"; src: url(data:,); }'); + head.removeChild(style); + return bool; + }; + + + // These tests evaluate support of the video/audio elements, as well as + // testing what types of content they support. + // + // We're using the Boolean constructor here, so that we can extend the value + // e.g. Modernizr.video // true + // Modernizr.video.ogg // 'probably' + // + // Codec values from : http://github.com/NielsLeenheer/html5test/blob/9106a8/index.html#L845 + // thx to NielsLeenheer and zcorpan + + // Note: in FF 3.5.1 and 3.5.0, "no" was a return value instead of empty string. + // Modernizr does not normalize for that. + + tests['video'] = function() { + var elem = document.createElement('video'), + bool = !!elem.canPlayType; + + if (bool){ + bool = new Boolean(bool); + bool.ogg = elem.canPlayType('video/ogg; codecs="theora"'); + + // Workaround required for IE9, which doesn't report video support without audio codec specified. + // bug 599718 @ msft connect + var h264 = 'video/mp4; codecs="avc1.42E01E'; + bool.h264 = elem.canPlayType(h264 + '"') || elem.canPlayType(h264 + ', mp4a.40.2"'); + + bool.webm = elem.canPlayType('video/webm; codecs="vp8, vorbis"'); + } + return bool; + }; + + tests['audio'] = function() { + var elem = document.createElement('audio'), + bool = !!elem.canPlayType; + + if (bool){ + bool = new Boolean(bool); + bool.ogg = elem.canPlayType('audio/ogg; codecs="vorbis"'); + bool.mp3 = elem.canPlayType('audio/mpeg;'); + + // Mimetypes accepted: + // https://developer.mozilla.org/En/Media_formats_supported_by_the_audio_and_video_elements + // http://bit.ly/iphoneoscodecs + bool.wav = elem.canPlayType('audio/wav; codecs="1"'); + bool.m4a = elem.canPlayType('audio/x-m4a;') || elem.canPlayType('audio/aac;'); + } + return bool; + }; + + + // Firefox has made these tests rather unfun. + + // In FF4, if disabled, window.localStorage should === null. + + // Normally, we could not test that directly and need to do a + // `('localStorage' in window) && ` test first because otherwise Firefox will + // throw http://bugzil.la/365772 if cookies are disabled + + // However, in Firefox 4 betas, if dom.storage.enabled == false, just mentioning + // the property will throw an exception. http://bugzil.la/599479 + // This looks to be fixed for FF4 Final. + + // Because we are forced to try/catch this, we'll go aggressive. + + // FWIW: IE8 Compat mode supports these features completely: + // http://www.quirksmode.org/dom/html5.html + // But IE8 doesn't support either with local files + + tests['localstorage'] = function() { + try { + return !!localStorage.getItem; + } catch(e) { + return false; + } + }; + + tests['sessionstorage'] = function() { + try { + return !!sessionStorage.getItem; + } catch(e){ + return false; + } + }; + + + tests['webWorkers'] = function () { + return !!window.Worker; + }; + + + tests['applicationcache'] = function() { + return !!window.applicationCache; + }; + + + // Thanks to Erik Dahlstrom + tests['svg'] = function(){ + return !!document.createElementNS && !!document.createElementNS(ns.svg, "svg").createSVGRect; + }; + + tests['inlinesvg'] = function() { + var div = document.createElement('div'); + div.innerHTML = ''; + return (div.firstChild && div.firstChild.namespaceURI) == ns.svg; + }; + + // Thanks to F1lt3r and lucideer + // http://github.com/Modernizr/Modernizr/issues#issue/35 + tests['smil'] = function(){ + return !!document.createElementNS && /SVG/.test(tostring.call(document.createElementNS(ns.svg,'animate'))); + }; + + tests['svgclippaths'] = function(){ + // Possibly returns a false positive in Safari 3.2? + return !!document.createElementNS && /SVG/.test(tostring.call(document.createElementNS(ns.svg,'clipPath'))); + }; + + + // input features and input types go directly onto the ret object, bypassing the tests loop. + // Hold this guy to execute in a moment. + function webforms(){ + + // Run through HTML5's new input attributes to see if the UA understands any. + // We're using f which is the element created early on + // Mike Taylr has created a comprehensive resource for testing these attributes + // when applied to all input types: + // http://miketaylr.com/code/input-type-attr.html + // spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary + ret['input'] = (function(props) { + for (var i = 0, len = props.length; i>BEGIN IEPP + // Enable HTML 5 elements for styling in IE. + // fyi: jscript version does not reflect trident version + // therefore ie9 in ie7 mode will still have a jScript v.9 + if ( enableHTML5 && window.attachEvent && (function(){ var elem = document.createElement("div"); + elem.innerHTML = ""; + return elem.childNodes.length !== 1; })()) { + // iepp v1.6.2 by @jon_neal : code.google.com/p/ie-print-protector + (function(win, doc) { + var elems = 'abbr|article|aside|audio|canvas|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video', + elemsArr = elems.split('|'), + elemsArrLen = elemsArr.length, + elemRegExp = new RegExp('(^|\\s)('+elems+')', 'gi'), + tagRegExp = new RegExp('<(\/*)('+elems+')', 'gi'), + ruleRegExp = new RegExp('(^|[^\\n]*?\\s)('+elems+')([^\\n]*)({[\\n\\w\\W]*?})', 'gi'), + docFrag = doc.createDocumentFragment(), + html = doc.documentElement, + head = html.firstChild, + bodyElem = doc.createElement('body'), + styleElem = doc.createElement('style'), + body; + function shim(doc) { + var a = -1; + while (++a < elemsArrLen) + // Use createElement so IE allows HTML5-named elements in a document + doc.createElement(elemsArr[a]); + } + function getCSS(styleSheetList, mediaType) { + var a = -1, + len = styleSheetList.length, + styleSheet, + cssTextArr = []; + while (++a < len) { + styleSheet = styleSheetList[a]; + // Get css from all non-screen stylesheets and their imports + if ((mediaType = styleSheet.media || mediaType) != 'screen') cssTextArr.push(getCSS(styleSheet.imports, mediaType), styleSheet.cssText); + } + return cssTextArr.join(''); + } + // Shim the document and iepp fragment + shim(doc); + shim(docFrag); + // Add iepp custom print style element + head.insertBefore(styleElem, head.firstChild); + styleElem.media = 'print'; + win.attachEvent( + 'onbeforeprint', + function() { + var a = -1, + cssText = getCSS(doc.styleSheets, 'all'), + cssTextArr = [], + rule; + body = body || doc.body; + // Get only rules which reference HTML5 elements by name + while ((rule = ruleRegExp.exec(cssText)) != null) + // Replace all html5 element references with iepp substitute classnames + cssTextArr.push((rule[1]+rule[2]+rule[3]).replace(elemRegExp, '$1.iepp_$2')+rule[4]); + // Write iepp custom print CSS + styleElem.styleSheet.cssText = cssTextArr.join('\n'); + while (++a < elemsArrLen) { + var nodeList = doc.getElementsByTagName(elemsArr[a]), + nodeListLen = nodeList.length, + b = -1; + while (++b < nodeListLen) + if (nodeList[b].className.indexOf('iepp_') < 0) + // Append iepp substitute classnames to all html5 elements + nodeList[b].className += ' iepp_'+elemsArr[a]; + } + docFrag.appendChild(body); + html.appendChild(bodyElem); + // Write iepp substitute print-safe document + bodyElem.className = body.className; + // Replace HTML5 elements with which is print-safe and shouldn't conflict since it isn't part of html5 + bodyElem.innerHTML = body.innerHTML.replace(tagRegExp, '<$1font'); + } + ); + win.attachEvent( + 'onafterprint', + function() { + // Undo everything done in onbeforeprint + bodyElem.innerHTML = ''; + html.removeChild(bodyElem); + html.appendChild(body); + styleElem.styleSheet.cssText = ''; + } + ); + })(window, document); + } + //>>END IEPP + + // Assign private properties to the return object with prefix + ret._enableHTML5 = enableHTML5; + ret._version = version; + + // Remove "no-js" class from element, if it exists: + docElement.className = docElement.className.replace(/\bno-js\b/,'') + + ' js ' + + // Add the new classes to the element. + + classes.join( ' ' ); + + return ret; + +})(this,this.document); \ No newline at end of file diff --git a/CharityPortal/packages/Modernizr.1.7/Content/Scripts/modernizr-1.7.min.js b/CharityPortal/packages/Modernizr.1.7/Content/Scripts/modernizr-1.7.min.js new file mode 100644 index 0000000..4b4fcc1 --- /dev/null +++ b/CharityPortal/packages/Modernizr.1.7/Content/Scripts/modernizr-1.7.min.js @@ -0,0 +1,10 @@ +/*! +* Note: While Microsoft is not the author of this file, Microsoft is +* offering you a license subject to the terms of the Microsoft Software +* License Terms for Microsoft ASP.NET Model View Controller 3. +* Microsoft reserves all other rights. The notices below are provided +* for informational purposes only and are not the license terms under +* which Microsoft distributed this file. +*/ +// Modernizr v1.7 www.modernizr.com +window.Modernizr=function(a,b,c){function G(){e.input=function(a){for(var b=0,c=a.length;b7)},r.history=function(){return !!(a.history&&history.pushState)},r.draganddrop=function(){return x("dragstart")&&x("drop")},r.websockets=function(){return"WebSocket"in a},r.rgba=function(){A("background-color:rgba(150,255,150,.5)");return D(k.backgroundColor,"rgba")},r.hsla=function(){A("background-color:hsla(120,40%,100%,.5)");return D(k.backgroundColor,"rgba")||D(k.backgroundColor,"hsla")},r.multiplebgs=function(){A("background:url(//:),url(//:),red url(//:)");return(new RegExp("(url\\s*\\(.*?){3}")).test(k.background)},r.backgroundsize=function(){return F("backgroundSize")},r.borderimage=function(){return F("borderImage")},r.borderradius=function(){return F("borderRadius","",function(a){return D(a,"orderRadius")})},r.boxshadow=function(){return F("boxShadow")},r.textshadow=function(){return b.createElement("div").style.textShadow===""},r.opacity=function(){B("opacity:.55");return/^0.55$/.test(k.opacity)},r.cssanimations=function(){return F("animationName")},r.csscolumns=function(){return F("columnCount")},r.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";A((a+o.join(b+a)+o.join(c+a)).slice(0,-a.length));return D(k.backgroundImage,"gradient")},r.cssreflections=function(){return F("boxReflect")},r.csstransforms=function(){return!!E(["transformProperty","WebkitTransform","MozTransform","OTransform","msTransform"])},r.csstransforms3d=function(){var a=!!E(["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"]);a&&"webkitPerspective"in g.style&&(a=w("@media ("+o.join("transform-3d),(")+"modernizr)"));return a},r.csstransitions=function(){return F("transitionProperty")},r.fontface=function(){var a,c,d=h||g,e=b.createElement("style"),f=b.implementation||{hasFeature:function(){return!1}};e.type="text/css",d.insertBefore(e,d.firstChild),a=e.sheet||e.styleSheet;var i=f.hasFeature("CSS2","")?function(b){if(!a||!b)return!1;var c=!1;try{a.insertRule(b,0),c=/src/i.test(a.cssRules[0].cssText),a.deleteRule(a.cssRules.length-1)}catch(d){}return c}:function(b){if(!a||!b)return!1;a.cssText=b;return a.cssText.length!==0&&/src/i.test(a.cssText)&&a.cssText.replace(/\r+|\n+/g,"").indexOf(b.split(" ")[0])===0};c=i('@font-face { font-family: "font"; src: url(data:,); }'),d.removeChild(e);return c},r.video=function(){var a=b.createElement("video"),c=!!a.canPlayType;if(c){c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"');var d='video/mp4; codecs="avc1.42E01E';c.h264=a.canPlayType(d+'"')||a.canPlayType(d+', mp4a.40.2"'),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"')}return c},r.audio=function(){var a=b.createElement("audio"),c=!!a.canPlayType;c&&(c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"'),c.mp3=a.canPlayType("audio/mpeg;"),c.wav=a.canPlayType('audio/wav; codecs="1"'),c.m4a=a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;"));return c},r.localstorage=function(){try{return!!localStorage.getItem}catch(a){return!1}},r.sessionstorage=function(){try{return!!sessionStorage.getItem}catch(a){return!1}},r.webWorkers=function(){return!!a.Worker},r.applicationcache=function(){return!!a.applicationCache},r.svg=function(){return!!b.createElementNS&&!!b.createElementNS(q.svg,"svg").createSVGRect},r.inlinesvg=function(){var a=b.createElement("div");a.innerHTML="";return(a.firstChild&&a.firstChild.namespaceURI)==q.svg},r.smil=function(){return!!b.createElementNS&&/SVG/.test(n.call(b.createElementNS(q.svg,"animate")))},r.svgclippaths=function(){return!!b.createElementNS&&/SVG/.test(n.call(b.createElementNS(q.svg,"clipPath")))};for(var H in r)z(r,H)&&(v=H.toLowerCase(),e[v]=r[H](),u.push((e[v]?"":"no-")+v));e.input||G(),e.crosswindowmessaging=e.postmessage,e.historymanagement=e.history,e.addTest=function(a,b){a=a.toLowerCase();if(!e[a]){b=!!b(),g.className+=" "+(b?"":"no-")+a,e[a]=b;return e}},A(""),j=l=null,f&&a.attachEvent&&function(){var a=b.createElement("div");a.innerHTML="";return a.childNodes.length!==1}()&&function(a,b){function p(a,b){var c=-1,d=a.length,e,f=[];while(++cT<^Dl@Kf+isl+$}f^E`z%yB*-uf?(QxL?jGDdXprDAxVt;Sok51cpquY+ z_toxuTl;qRpZ#lZ)jd_W?m1oE=XUq)?$e)7%BX0sk^Xa;hWd%SH@`YRM@B;W&y9^l zj%46$X6wSq@t={p-~$qK9^rpY{T~Nd8&nkNX=h9AZszP_OKoOv;$UiJ zZy`qO=4#F^NDCAf)iAR)a{V{M#nQ^rh5FwTdlxZUOIKG%VNOmL6H7BYBNq+_M>G3> zZ_FK>?TlRiJvv)(IvSbS7+IKc@^EqSbN=Jzf2TqF-_xZ2>g8zmf1+q-W#a7M;$ZH| zVd7x-zY+V#*FSRHT%242oOVX`R_10duC&x&jhrpaT*YWPRUJ&tob9c=ojL5?TpZ0z zXsH!V#b`AI1dRkujJX6&O!&;B4E(bX6C#m#>PVC z<^skXjxKhlCXWA`d?o-vBNHKBE`DBaGXTKE_`l@i{O`V+_@{p=Lx_Ze^ySe!JlV>-b-XR*`HqrrXUIpq{xYvhCjqrIq0v zns4PpR6u`UDj+T83nh%m%sYKi^)oy0!P2AsdK%^gCu54!UWVJbCzQg^>JX=eUaQrV z>m92q2MAi5fhc2LZB@68*wXp!>IU`{Vvk#QcaQUP(dITifeK$?|HUzJT0^UQ&xEFB zHXGjOsAmpyd4sR@?fOK(GOEpDDBMMM*V5zh&n4tK%zu%{F8!fq81vq)(f&Ylom_16 z_+}N}JpOVCbxiIYTQKw1A|Cfmrc6b&!QGy#t5V`%84LH$ZokJIo~rp5v`39II5QtB zT17QzAzvx(vkZRpU!ARQ?g%~k{Ds$dtUvkOQi^w;bo~6K<#scRXt*(iKp-*1=6yJ) zmyntt`TGsJ_P#%x!CJu!)?Si*3j_D|*)IidpARO{(|3*l2EUh`GpMpH%#wheB6l5~ zz|l-ANTseya&{&lb3DUU*IYG8zzSS^CaNA_v`jg%DvQA8T$_Idv0iMRYXp&u<1^-xpALV6 zRtTds)2~-+_Ri|k=0JX`CZj8^IjI$La`7F-vF54EbsYIPfrHGq;s1^trzKaXGWJPp%AmDJ14z}jZ%i$@*Y9p|KrUP+6oUPBlD-ub`rvAidh^gIY_Ie&j)rsc( zrw410e(AFFK+Ok~^y!g{g;9|HyX60^@@s$%N}2W94&17CjgYbQX9?O`H8t0zj4+A)Zw2=*%X}bbxTfVb|&a> z?wpjm+^RBpT#&xX$a-Ja#f0RSYLxr6!lvX)D_=*_`Pr%H+Q#bgx@xDJfa1*Vc~j!t zUzUvoI1+GOR-{50Td5UL^3o-GrpI=>4KMA9t10aYg|Y@6m1|(Ol)%$9M;1oa`1VG&P%e5Ozv0Gw|4HYVvDMNgP?oS1bO^;#nS> zF5;0taR+AwqDt3128L`SM-`{ERLDxd$4LBh-dHeS9jXlTt4&VeI!CHW8^l?fuHj20 z_pgdRS*`$x-S}C{lJ@B&trAi5eFr37-6VW^51S?+Zm~kAred!+LqZEKFa-UqmO0HZ zuI<^)a(K6F5i%qhG)#+CgB;B0k*rUcDtA1IO}hRSji-v^$ApQ`podK`5Oe)3~}nrs&H z^GoB`7Do#RZ=wFKrrpu$%8Y968oF@7P?5IlsCV$u7d>PIAKA-;pXXQjWEwgViBmkqK^j{5dTY{xO}G)Hij!I)sdZ>F zzk4LBvrtHHdW=k>UvLtIdwv_OsXMvE z4Sv2tKhkayL~xcC91FCf2)gF`{9{CygFjgLzPAB*bOR*`4dKJRg*{BPygn(3ieP{24*XFRf$YZ~NK~`ukhWV_FFNCG8I12dzV%j|y){PNdTVZt=MkNjGLP5WeF8;6Ach_l=+$zLG1X!4`GzVDcH1LB5^>oJYY&-T}DK!$90 zxc}o}Y;5w26{{x^y;5$mLETUCByY=#zurIMR*(4t4)~xxscV&?RY{t3wj9gRd@VTP zr$GfdofB4s{cv`_>m8pq923nX6kmA<0-hs&7I>3vTedxCIn@;Oy}!+2ZWCA7>e1ki zxn^PtLh$J>mgWRf@D_kFWv_)GG?wl-fc>#ZpkxREJM2Vlx2KixNJrWs*W`Jb{wWg0 z=ds#>@i3~FXMEUx4{CBV$&kF`ayw{Tt+0kn7z#w~HP9ZItPB|G_Zww2&X{>~*L3C2 z$$oxFlPajFXwNYRaPWv9rNUL^7%!uaG5+U+Q+8`WDwO=M9N}jJtG@jc%WSxag}kFy(IfGMB>bW z+Np_c#EjIZN%3J#1y+9KeNFjd-syUr5#@drKG07Zp#9kafS66sESwPIkK}iU*tU)Oiz6L`_9WlajkLw zfb7N9q+}Ei7UipD3ap(tvFTa7XNWS8!F$#8=C%;a)w}GIxVibW&U}Pu{kC&2Hr#G0 z>oHAw7BU;V`Ur_aQc)S+CN9n`qI%h;YHGbBPNI)D`Fpr=yv~VWprShVvHmjfXKn8^ zSTuTBYj&g7fH-xhpm4TB`+d_NJMX<%S!F$TiTv>7uggs&VetA%ab*~yxrPUgjI%7x zDVuW$9AnHgRld5@s-FnkFWYfRzX;`~b?nXfGGkvgA#zES_2MnLK|g*kgvHS^x0^w_ zYP^G_P~{(T%P!iBbL0hK$7zBjm2xp!SRhi87b&lGn>O1NKN8H*yG>s`ZN`sokOw?( z-$l(X5-^WaPzeNIHay)WtW-@8&U!Vr53OVB&)%4R&SR0XwT{qPe>z&(bA!wy{c6tB zGLsb#LC|Fqq}-==UMQa?>m<5j{_ZdG=`N^3>r7gyElxSiUEcK7W+KFw4uOHvHsx&+ zNPA^|st|Ret80(ODJq=G6B*UgxnzK+Ndl0jcbeyIyQ#Qn&$9R(qBN8IWvbZ|whG@= zPQYYG0FP-gYw|K`R|&wt2bI@Z484pMB2bP_ku^+#|s#1WYB6w{c^Q4RM93H5m} z`!Ya05;$3^0DKCb9b9<#mrF1jnStEd81ISk4^A4TxjF(zoR1+G4acFGT(9(Rg)Vn~ z-8S%2$eIvb=)`RB=snj0`8-WgDs4P|EPt{@+efMfh*1@T3AYK1C~tY4jcfuA zCY8x}N)!RFG(Cisso}ir&0iJM`0{cRy`tMpq#WBQ9u+Nx<2)?X@QzHpC%^dVZ$UuN zzX?SR?z<#@Nfg<+nEhPJ+TB0)2{RZd_Gd*Q=`y+C`VR1Ss&>RpdB&M;)arSS6=D1Y z->h%YKE8qq)p;7=W7jnuxouFR%6;xn<_YJ@`bm$$(#afuVRO!Ljji^?x2^2b{PWxi zOl=g(OsHfXY03%8;_LYm%w)~m@!j4Ig*?+=ZV{kkR9)uJj#lBgk*xKws0%juxK_gNJ zfROj2?Cq#c@QWQ0xQX&c=#P?S-H0_Rw99BD*&aI$O*1v}J}V<*ybRv$HyIj$(M_}2 z6e*tAh8^iVg#5{yrU;sI$>7vTU>LzH+8qXbsJ`dX$SGgfr4dVwI#ldi4)SmjN%}3F zrM=(dB@=v}VuX0&%EKVXp`{VZn%~hO5)3Fv-K5gnP{5c?bB*+yX&d{YdCN4TEAmfWq(t)wl#grdL%JBE@j`igy`>LvypO%A;6RxBLOX!#AZd`)5FwrKn|5>~ot zq1!f{;J>UCpuLLA-H3oV<)zB;levezoUB+3h9|R;^9)|CmJFLEq)L#F1{5fDEQbWr zhIs#=8PqP`jdc=gY^m#h;}0^=KoA?-Nq9CxaQqfS)Fp>3VX{? zORkYPaqFGm;&_pV8uL!VD#v-;M)Ho(%Vb)Cage9?ek`0R{8=44vEB|dT&nCnC`wV% zav6R}jU7JFQ}dbQmn%A1W$7axi`L_ZFH2vkn!q9+%x<^uLt1XI_8c4YI`3=}TC3Kn zxzx=XkCY|X{^C`BO_ksH#xh2=>dAI< zM{J$}^Yhi;hcRA_QCG1RZ-ppOs<`0F}_Kj%$Vm*AvCkzxQj&@OdnQP2N~IrIQ!+QX`oy^rE6xMQdlS0Ve%2JOqg9TBy4eq0mn<7^)BHUqB3|S82WY5{ZDqA5fHuw0+LXo}+N0S%$SWI0^{Y z;8T+H{L_1r`}YIi{Po_~yFXh7INY2&GN?RR9!$ym@qS02;;+QcI}?s?6G7wYvLW65 zaoM;yF7emv7!~P=9yKPF5B&)OALx8~)}Knx)u22db9nDsQj$J9aR)Y$eGW@}V=z*F zd!p_k$a=S{c%MP5UVvG(0^)r=Fg5-i2&jP)$8GdNs>K#b5y7PdW(i%Nc+}> zTI{YSs`=N+b@fs5o9$%6iK~Wpcriv3kAjTHETcW1nj%Uhf5K zS1l}h6md71Mupp4ocWFm=Q z2ZQ;L({wG}eAG8X0C$f{8Li_$=Qqv$C2NC3`hhb36dRPD*g|IX3@wI;FT$R;2(TJ` z7nGIg-JuuQ-8m|4KZ9u{3kr_b(wdieB^-PbK5DJr6cSP&q&hVg$!8(BPfYS2Zh_=6D z;R^Ii34(pw7R0KUPOul8ZpGI(JE*#2w!bE}DD}sQR$4R&2IzMv-_CL_n1P3IELWCr zCfXmPS2#Z!4MZk#w1CYFmJo3tbumN+T3dQF!g>!h>}R$0AmZx<^UUdR{=#CwA&$|S zh$CJP-$7Mez$E%}UaC0OI_{BOX3A&;jk$*$m}(Qz$G*N%yZ=7QW#l{shuBL~t8a$U z)jlnrJo7;N=wPF1kaIG+i8a^rw5K(`^!uzbAY(7uRk`<#59m{;QRbd}qVho~{E@w? zU09;E3wU*f2DAA07kQ2F;X{bf(8-T1QP8d7J{{D`=htH$>cDleCH!U? zL@(U~``9W^8ymB#nve}ltfJpk30A_Xh<_Ff^dr<|rpte4P@`(Y!`WkneVC6OtuDi> zJ{p-4ZG(!IkBZG2b;QQB5QLHSU3;=#nKrXe(xvFy+TA7krKzLKx^zigb(}|wP(GP= zzZ7NIV(CprTmjkx3LCD}dOk*1tyJ$o3By?s7HtxGhyV}4v;|Ghg4bsOuCg9dt{*Kr zGFMhx+&wikvr@Q#xfukt%j#=}t9-;^22uM}Nc&9Y>zV4KlU&c72_B7^E>k%@d*|uo zUDgtZ8mb8XE-9MgZ?d&-7qy9%HS~sv6GxbYIdVxqJnpw<8(=#HvtaY}VQ5*G$wUpn zN)WI8&jDG= zyUWSUu9otzz}LDacdB#ZOn^A-V@W>RE21(wy(iSGjNNj|uI(@8FRGe$mkmBxYi;W6 zDf;8aXx*BZuYegxo_u?iSIWQ+828sBKU!b+>0au@uFcCS(TUM@hU=!tc;TtE&5{U* zncDw(lkmO)B8)R$F3Nz?-HaqJ9v7Ybj0BdRCe?T|9GCAhtURPVwEk*ib5I7;@Sqlb zOCWnDP^N-3XaA~z7BM!}X@7OqeqzA~EdzAmV1=N8aY5kwjmXf+Mn>VhJ&B1jWt&N} z9r2SBeYG{zlit-p%TG8@Z!WS_#Yu~)&SE{pw{d(fF7-P%K{GE5eI9^6RqbT+56TL%cMZpl`Xmb82*1-;VV8O;Hv4E#ln7ZPP``OdJHlDcYC)bm$ zdXJB}-!@{H6gia=GWLzz7K*ASSW`7L^E#zSj-_}@#y_E;yDbVqU&8QQ0l$mVnL{Iy5IQN+Em&wcB1G2Onv59|#{m&`~h_7IBPIpy0$9Oon&8d?e}JgH2Y6o7JZ@G=;?)^pmKxNo(G|{6?0FLyzCY3x6`WlNxy7 zoxrZxfqFV=(!s^LEDD#b-y{pWFUT_nG zYYUxXsy}L=NY?K6gr6l2ERh{71)KM2$*VT@Ct-?yL!tKrdsZ2Cf1618|K9Y|uP)^I zfqUn=xaEUzM-4n?7k3-uZv)-o^T}&YTO1&jepBp$zQ`=i->?;fcve|+Kyf8=2nlgf zOlrMdC_KFTd}EX3Y#j>hnY?@wk&LWTCN6USHMkp59AeU3$>Q*V zH#nwQA4BXdNv1}k3QI&ZgW~*0bb9afVBMpjuWIbWs8ojK6D%yyu%d&H(HMn>7Ij8k zy{;!;V%pZ%S4qxbkLPqFz^C&~`ejeq7ozd>NV2ka38lcXt6gL1ZOsojG>+CQN!(1D zOGSg6If;pHLMvpd1nFg_$Nl(-r^pPZ$dpGoH9mH;K|R8@iK0!rdrD9iqOdA|fWIM+ zSqnoJvj$B3?xtHgn#2>)kXY&h=l26=e(a_q$A?PH-CPc5*2LzPGAf&{O>epdm3g{6 zzxt<)4~G*&&l+@3KLh$oDL$u|o^}fJQwYTN;RzQX)6dZaRu7Y_EE$Zr1T@evon)j{ zN`pQQp|LaxS<_-|?Bwa|zWSM}jp#pWn_rLzqg~uS`DHphbwXhacVOsXwt+7!)z{Sm zCuQXrbtMmPlD-3#(67~koSof^VZ7>FEk0788cC9~rjOvWWM#u@3pMCp~ThP+ohd(*b@19%K!%G*@Mn5eH zDW%3B@5HHa?*(Xzc#`Wp8ct=qRI_ySpV*GW)JOQ@;}$&wf+#b-^3`p9`e;x{=8uRr zh`lkAQ|3To!P&h%&YDx}r4h108-8nXDzGQ>GZ3J`q;KSAOsyEV`map85TiU@ZNWR@ zHdB68L?0OGbb!}bac!qTa@!b0+@wnDoPkduv*HJdY)@<&#+iCKdl>s`C9rauPTf!- z;3v`f_JQH@hH3au4T}$?>4ZVZGuhy*TG9$7rxuS~SvS^hpTz5vfkhWgf3$)dgSszA ztj$7ihaeXz+wk?TkMH_R!zKpy>>w$a0Lg^jlsF*epD$iO?#pJOMQQfS6Ug_^R6l5xJDjUEZ_ zNxdZ9ns;*tH2s`Bq(~Cm+VIae8LEF)EPE@hy=L#UtL0`9!bVy%bjdMM3Qy=9{-D#@ zu6($*UNRXjnM$Y!<}$#4r9UwuNsVIS>lSA~Us-dv>9e}sy!qrL5^e|66rg^XZKrn zBy+5W{=%g>! zpSikSn6M-ZusOeoJ=?ay@H*{@CV#T0BW?Zka)XvLw$JMI!VmdfG*4D{8kOmD4++p- zTwJ)Fi94&{oIeQFrcK`x*k|>H%iaY2fpG>wiDDjjpPnD6eI59tox6^Mffl#Ya4fSl znLF$!X7u)#=bA<;WG%ANwm-P-E+cZX!**}kfcB3;_!aa( z$m+ySiS<5euTPmh*xWf=oc${5H7izs9T%+Z=E+KFR$#VO=l9Ou`y-G${;;wou4KV>@anFXhwq8sKdGOU) z%n9Jf^du(wGky@Sy`-sa`nOk}lm8;SWOxIfK*zg8mV5nQ1s(Yi+u;?lwVK4YCZ=EI zkJKz=R|0HH!5*33-c3_%xe^6lC~5yZ(B>e_!SbB{TcU?~a+$Tuxfoi3IAKUc8>+
"; + jQuery.support.shrinkWrapBlocks = div.offsetWidth !== 2; + } + + div.innerHTML = "
t
"; + var tds = div.getElementsByTagName("td"); + + // Check if table cells still have offsetWidth/Height when they are set + // to display:none and there are still other visible table cells in a + // table row; if so, offsetWidth/Height are not reliable for use when + // determining if an element has been hidden directly using + // display:none (it is still safe to use offsets if a parent element is + // hidden; don safety goggles and see bug #4512 for more information). + // (only IE 8 fails this test) + jQuery.support.reliableHiddenOffsets = tds[0].offsetHeight === 0; + + tds[0].style.display = ""; + tds[1].style.display = "none"; + + // Check if empty table cells still have offsetWidth/Height + // (IE < 8 fail this test) + jQuery.support.reliableHiddenOffsets = jQuery.support.reliableHiddenOffsets && tds[0].offsetHeight === 0; + div.innerHTML = ""; + + body.removeChild( div ).style.display = "none"; + div = tds = null; + }); + + // Technique from Juriy Zaytsev + // http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/ + var eventSupported = function( eventName ) { + var el = document.createElement("div"); + eventName = "on" + eventName; + + // We only care about the case where non-standard event systems + // are used, namely in IE. Short-circuiting here helps us to + // avoid an eval call (in setAttribute) which can cause CSP + // to go haywire. See: https://developer.mozilla.org/en/Security/CSP + if ( !el.attachEvent ) { + return true; + } + + var isSupported = (eventName in el); + if ( !isSupported ) { + el.setAttribute(eventName, "return;"); + isSupported = typeof el[eventName] === "function"; + } + el = null; + + return isSupported; + }; + + jQuery.support.submitBubbles = eventSupported("submit"); + jQuery.support.changeBubbles = eventSupported("change"); + + // release memory in IE + div = all = a = null; +})(); + + + +var rbrace = /^(?:\{.*\}|\[.*\])$/; + +jQuery.extend({ + cache: {}, + + // Please use with caution + uuid: 0, + + // Unique for each copy of jQuery on the page + // Non-digits removed to match rinlinejQuery + expando: "jQuery" + ( jQuery.fn.jquery + Math.random() ).replace( /\D/g, "" ), + + // The following elements throw uncatchable exceptions if you + // attempt to add expando properties to them. + noData: { + "embed": true, + // Ban all objects except for Flash (which handle expandos) + "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", + "applet": true + }, + + hasData: function( elem ) { + elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; + + return !!elem && !isEmptyDataObject( elem ); + }, + + data: function( elem, name, data, pvt /* Internal Use Only */ ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var internalKey = jQuery.expando, getByName = typeof name === "string", thisCache, + + // We have to handle DOM nodes and JS objects differently because IE6-7 + // can't GC object references properly across the DOM-JS boundary + isNode = elem.nodeType, + + // Only DOM nodes need the global jQuery cache; JS object data is + // attached directly to the object so GC can occur automatically + cache = isNode ? jQuery.cache : elem, + + // Only defining an ID for JS objects if its cache already exists allows + // the code to shortcut on the same path as a DOM node with no cache + id = isNode ? elem[ jQuery.expando ] : elem[ jQuery.expando ] && jQuery.expando; + + // Avoid doing any more work than we need to when trying to get data on an + // object that has no data at all + if ( (!id || (pvt && id && !cache[ id ][ internalKey ])) && getByName && data === undefined ) { + return; + } + + if ( !id ) { + // Only DOM nodes need a new unique ID for each element since their data + // ends up in the global cache + if ( isNode ) { + elem[ jQuery.expando ] = id = ++jQuery.uuid; + } else { + id = jQuery.expando; + } + } + + if ( !cache[ id ] ) { + cache[ id ] = {}; + + // TODO: This is a hack for 1.5 ONLY. Avoids exposing jQuery + // metadata on plain JS objects when the object is serialized using + // JSON.stringify + if ( !isNode ) { + cache[ id ].toJSON = jQuery.noop; + } + } + + // An object can be passed to jQuery.data instead of a key/value pair; this gets + // shallow copied over onto the existing cache + if ( typeof name === "object" || typeof name === "function" ) { + if ( pvt ) { + cache[ id ][ internalKey ] = jQuery.extend(cache[ id ][ internalKey ], name); + } else { + cache[ id ] = jQuery.extend(cache[ id ], name); + } + } + + thisCache = cache[ id ]; + + // Internal jQuery data is stored in a separate object inside the object's data + // cache in order to avoid key collisions between internal data and user-defined + // data + if ( pvt ) { + if ( !thisCache[ internalKey ] ) { + thisCache[ internalKey ] = {}; + } + + thisCache = thisCache[ internalKey ]; + } + + if ( data !== undefined ) { + thisCache[ name ] = data; + } + + // TODO: This is a hack for 1.5 ONLY. It will be removed in 1.6. Users should + // not attempt to inspect the internal events object using jQuery.data, as this + // internal data object is undocumented and subject to change. + if ( name === "events" && !thisCache[name] ) { + return thisCache[ internalKey ] && thisCache[ internalKey ].events; + } + + return getByName ? thisCache[ name ] : thisCache; + }, + + removeData: function( elem, name, pvt /* Internal Use Only */ ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var internalKey = jQuery.expando, isNode = elem.nodeType, + + // See jQuery.data for more information + cache = isNode ? jQuery.cache : elem, + + // See jQuery.data for more information + id = isNode ? elem[ jQuery.expando ] : jQuery.expando; + + // If there is already no cache entry for this object, there is no + // purpose in continuing + if ( !cache[ id ] ) { + return; + } + + if ( name ) { + var thisCache = pvt ? cache[ id ][ internalKey ] : cache[ id ]; + + if ( thisCache ) { + delete thisCache[ name ]; + + // If there is no data left in the cache, we want to continue + // and let the cache object itself get destroyed + if ( !isEmptyDataObject(thisCache) ) { + return; + } + } + } + + // See jQuery.data for more information + if ( pvt ) { + delete cache[ id ][ internalKey ]; + + // Don't destroy the parent cache unless the internal data object + // had been the only thing left in it + if ( !isEmptyDataObject(cache[ id ]) ) { + return; + } + } + + var internalCache = cache[ id ][ internalKey ]; + + // Browsers that fail expando deletion also refuse to delete expandos on + // the window, but it will allow it on all other JS objects; other browsers + // don't care + if ( jQuery.support.deleteExpando || cache != window ) { + delete cache[ id ]; + } else { + cache[ id ] = null; + } + + // We destroyed the entire user cache at once because it's faster than + // iterating through each key, but we need to continue to persist internal + // data if it existed + if ( internalCache ) { + cache[ id ] = {}; + // TODO: This is a hack for 1.5 ONLY. Avoids exposing jQuery + // metadata on plain JS objects when the object is serialized using + // JSON.stringify + if ( !isNode ) { + cache[ id ].toJSON = jQuery.noop; + } + + cache[ id ][ internalKey ] = internalCache; + + // Otherwise, we need to eliminate the expando on the node to avoid + // false lookups in the cache for entries that no longer exist + } else if ( isNode ) { + // IE does not allow us to delete expando properties from nodes, + // nor does it have a removeAttribute function on Document nodes; + // we must handle all of these cases + if ( jQuery.support.deleteExpando ) { + delete elem[ jQuery.expando ]; + } else if ( elem.removeAttribute ) { + elem.removeAttribute( jQuery.expando ); + } else { + elem[ jQuery.expando ] = null; + } + } + }, + + // For internal use only. + _data: function( elem, name, data ) { + return jQuery.data( elem, name, data, true ); + }, + + // A method for determining if a DOM node can handle the data expando + acceptData: function( elem ) { + if ( elem.nodeName ) { + var match = jQuery.noData[ elem.nodeName.toLowerCase() ]; + + if ( match ) { + return !(match === true || elem.getAttribute("classid") !== match); + } + } + + return true; + } +}); + +jQuery.fn.extend({ + data: function( key, value ) { + var data = null; + + if ( typeof key === "undefined" ) { + if ( this.length ) { + data = jQuery.data( this[0] ); + + if ( this[0].nodeType === 1 ) { + var attr = this[0].attributes, name; + for ( var i = 0, l = attr.length; i < l; i++ ) { + name = attr[i].name; + + if ( name.indexOf( "data-" ) === 0 ) { + name = name.substr( 5 ); + dataAttr( this[0], name, data[ name ] ); + } + } + } + } + + return data; + + } else if ( typeof key === "object" ) { + return this.each(function() { + jQuery.data( this, key ); + }); + } + + var parts = key.split("."); + parts[1] = parts[1] ? "." + parts[1] : ""; + + if ( value === undefined ) { + data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]); + + // Try to fetch any internally stored data first + if ( data === undefined && this.length ) { + data = jQuery.data( this[0], key ); + data = dataAttr( this[0], key, data ); + } + + return data === undefined && parts[1] ? + this.data( parts[0] ) : + data; + + } else { + return this.each(function() { + var $this = jQuery( this ), + args = [ parts[0], value ]; + + $this.triggerHandler( "setData" + parts[1] + "!", args ); + jQuery.data( this, key, value ); + $this.triggerHandler( "changeData" + parts[1] + "!", args ); + }); + } + }, + + removeData: function( key ) { + return this.each(function() { + jQuery.removeData( this, key ); + }); + } +}); + +function dataAttr( elem, key, data ) { + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + data = elem.getAttribute( "data-" + key ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + !jQuery.isNaN( data ) ? parseFloat( data ) : + rbrace.test( data ) ? jQuery.parseJSON( data ) : + data; + } catch( e ) {} + + // Make sure we set the data so it isn't changed later + jQuery.data( elem, key, data ); + + } else { + data = undefined; + } + } + + return data; +} + +// TODO: This is a hack for 1.5 ONLY to allow objects with a single toJSON +// property to be considered empty objects; this property always exists in +// order to make sure JSON.stringify does not expose internal metadata +function isEmptyDataObject( obj ) { + for ( var name in obj ) { + if ( name !== "toJSON" ) { + return false; + } + } + + return true; +} + + + + +jQuery.extend({ + queue: function( elem, type, data ) { + if ( !elem ) { + return; + } + + type = (type || "fx") + "queue"; + var q = jQuery._data( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( !data ) { + return q || []; + } + + if ( !q || jQuery.isArray(data) ) { + q = jQuery._data( elem, type, jQuery.makeArray(data) ); + + } else { + q.push( data ); + } + + return q; + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + fn = queue.shift(); + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + } + + if ( fn ) { + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift("inprogress"); + } + + fn.call(elem, function() { + jQuery.dequeue(elem, type); + }); + } + + if ( !queue.length ) { + jQuery.removeData( elem, type + "queue", true ); + } + } +}); + +jQuery.fn.extend({ + queue: function( type, data ) { + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + } + + if ( data === undefined ) { + return jQuery.queue( this[0], type ); + } + return this.each(function( i ) { + var queue = jQuery.queue( this, type, data ); + + if ( type === "fx" && queue[0] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + }); + }, + dequeue: function( type ) { + return this.each(function() { + jQuery.dequeue( this, type ); + }); + }, + + // Based off of the plugin by Clint Helfers, with permission. + // http://blindsignals.com/index.php/2009/07/jquery-delay/ + delay: function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[time] || time : time; + type = type || "fx"; + + return this.queue( type, function() { + var elem = this; + setTimeout(function() { + jQuery.dequeue( elem, type ); + }, time ); + }); + }, + + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + } +}); + + + + +var rclass = /[\n\t\r]/g, + rspaces = /\s+/, + rreturn = /\r/g, + rspecialurl = /^(?:href|src|style)$/, + rtype = /^(?:button|input)$/i, + rfocusable = /^(?:button|input|object|select|textarea)$/i, + rclickable = /^a(?:rea)?$/i, + rradiocheck = /^(?:radio|checkbox)$/i; + +jQuery.props = { + "for": "htmlFor", + "class": "className", + readonly: "readOnly", + maxlength: "maxLength", + cellspacing: "cellSpacing", + rowspan: "rowSpan", + colspan: "colSpan", + tabindex: "tabIndex", + usemap: "useMap", + frameborder: "frameBorder" +}; + +jQuery.fn.extend({ + attr: function( name, value ) { + return jQuery.access( this, name, value, true, jQuery.attr ); + }, + + removeAttr: function( name, fn ) { + return this.each(function(){ + jQuery.attr( this, name, "" ); + if ( this.nodeType === 1 ) { + this.removeAttribute( name ); + } + }); + }, + + addClass: function( value ) { + if ( jQuery.isFunction(value) ) { + return this.each(function(i) { + var self = jQuery(this); + self.addClass( value.call(this, i, self.attr("class")) ); + }); + } + + if ( value && typeof value === "string" ) { + var classNames = (value || "").split( rspaces ); + + for ( var i = 0, l = this.length; i < l; i++ ) { + var elem = this[i]; + + if ( elem.nodeType === 1 ) { + if ( !elem.className ) { + elem.className = value; + + } else { + var className = " " + elem.className + " ", + setClass = elem.className; + + for ( var c = 0, cl = classNames.length; c < cl; c++ ) { + if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) { + setClass += " " + classNames[c]; + } + } + elem.className = jQuery.trim( setClass ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + if ( jQuery.isFunction(value) ) { + return this.each(function(i) { + var self = jQuery(this); + self.removeClass( value.call(this, i, self.attr("class")) ); + }); + } + + if ( (value && typeof value === "string") || value === undefined ) { + var classNames = (value || "").split( rspaces ); + + for ( var i = 0, l = this.length; i < l; i++ ) { + var elem = this[i]; + + if ( elem.nodeType === 1 && elem.className ) { + if ( value ) { + var className = (" " + elem.className + " ").replace(rclass, " "); + for ( var c = 0, cl = classNames.length; c < cl; c++ ) { + className = className.replace(" " + classNames[c] + " ", " "); + } + elem.className = jQuery.trim( className ); + + } else { + elem.className = ""; + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isBool = typeof stateVal === "boolean"; + + if ( jQuery.isFunction( value ) ) { + return this.each(function(i) { + var self = jQuery(this); + self.toggleClass( value.call(this, i, self.attr("class"), stateVal), stateVal ); + }); + } + + return this.each(function() { + if ( type === "string" ) { + // toggle individual class names + var className, + i = 0, + self = jQuery( this ), + state = stateVal, + classNames = value.split( rspaces ); + + while ( (className = classNames[ i++ ]) ) { + // check each className given, space seperated list + state = isBool ? state : !self.hasClass( className ); + self[ state ? "addClass" : "removeClass" ]( className ); + } + + } else if ( type === "undefined" || type === "boolean" ) { + if ( this.className ) { + // store className if set + jQuery._data( this, "__className__", this.className ); + } + + // toggle whole className + this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; + } + }); + }, + + hasClass: function( selector ) { + var className = " " + selector + " "; + for ( var i = 0, l = this.length; i < l; i++ ) { + if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) { + return true; + } + } + + return false; + }, + + val: function( value ) { + if ( !arguments.length ) { + var elem = this[0]; + + if ( elem ) { + if ( jQuery.nodeName( elem, "option" ) ) { + // attributes.value is undefined in Blackberry 4.7 but + // uses .value. See #6932 + var val = elem.attributes.value; + return !val || val.specified ? elem.value : elem.text; + } + + // We need to handle select boxes special + if ( jQuery.nodeName( elem, "select" ) ) { + var index = elem.selectedIndex, + values = [], + options = elem.options, + one = elem.type === "select-one"; + + // Nothing was selected + if ( index < 0 ) { + return null; + } + + // Loop through all the selected options + for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) { + var option = options[ i ]; + + // Don't return options that are disabled or in a disabled optgroup + if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) && + (!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) { + + // Get the specific value for the option + value = jQuery(option).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + // Fixes Bug #2551 -- select.val() broken in IE after form.reset() + if ( one && !values.length && options.length ) { + return jQuery( options[ index ] ).val(); + } + + return values; + } + + // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified + if ( rradiocheck.test( elem.type ) && !jQuery.support.checkOn ) { + return elem.getAttribute("value") === null ? "on" : elem.value; + } + + // Everything else, we just grab the value + return (elem.value || "").replace(rreturn, ""); + + } + + return undefined; + } + + var isFunction = jQuery.isFunction(value); + + return this.each(function(i) { + var self = jQuery(this), val = value; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call(this, i, self.val()); + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + } else if ( typeof val === "number" ) { + val += ""; + } else if ( jQuery.isArray(val) ) { + val = jQuery.map(val, function (value) { + return value == null ? "" : value + ""; + }); + } + + if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) { + this.checked = jQuery.inArray( self.val(), val ) >= 0; + + } else if ( jQuery.nodeName( this, "select" ) ) { + var values = jQuery.makeArray(val); + + jQuery( "option", this ).each(function() { + this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; + }); + + if ( !values.length ) { + this.selectedIndex = -1; + } + + } else { + this.value = val; + } + }); + } +}); + +jQuery.extend({ + attrFn: { + val: true, + css: true, + html: true, + text: true, + data: true, + width: true, + height: true, + offset: true + }, + + attr: function( elem, name, value, pass ) { + // don't get/set attributes on text, comment and attribute nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || elem.nodeType === 2 ) { + return undefined; + } + + if ( pass && name in jQuery.attrFn ) { + return jQuery(elem)[name](value); + } + + var notxml = elem.nodeType !== 1 || !jQuery.isXMLDoc( elem ), + // Whether we are setting (or getting) + set = value !== undefined; + + // Try to normalize/fix the name + name = notxml && jQuery.props[ name ] || name; + + // Only do all the following if this is a node (faster for style) + if ( elem.nodeType === 1 ) { + // These attributes require special treatment + var special = rspecialurl.test( name ); + + // Safari mis-reports the default selected property of an option + // Accessing the parent's selectedIndex property fixes it + if ( name === "selected" && !jQuery.support.optSelected ) { + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + // Make sure that it also works with optgroups, see #5701 + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + + // If applicable, access the attribute via the DOM 0 way + // 'in' checks fail in Blackberry 4.7 #6931 + if ( (name in elem || elem[ name ] !== undefined) && notxml && !special ) { + if ( set ) { + // We can't allow the type property to be changed (since it causes problems in IE) + if ( name === "type" && rtype.test( elem.nodeName ) && elem.parentNode ) { + jQuery.error( "type property can't be changed" ); + } + + if ( value === null ) { + if ( elem.nodeType === 1 ) { + elem.removeAttribute( name ); + } + + } else { + elem[ name ] = value; + } + } + + // browsers index elements by id/name on forms, give priority to attributes. + if ( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) ) { + return elem.getAttributeNode( name ).nodeValue; + } + + // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set + // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + if ( name === "tabIndex" ) { + var attributeNode = elem.getAttributeNode( "tabIndex" ); + + return attributeNode && attributeNode.specified ? + attributeNode.value : + rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? + 0 : + undefined; + } + + return elem[ name ]; + } + + if ( !jQuery.support.style && notxml && name === "style" ) { + if ( set ) { + elem.style.cssText = "" + value; + } + + return elem.style.cssText; + } + + if ( set ) { + // convert the value to a string (all browsers do this but IE) see #1070 + elem.setAttribute( name, "" + value ); + } + + // Ensure that missing attributes return undefined + // Blackberry 4.7 returns "" from getAttribute #6938 + if ( !elem.attributes[ name ] && (elem.hasAttribute && !elem.hasAttribute( name )) ) { + return undefined; + } + + var attr = !jQuery.support.hrefNormalized && notxml && special ? + // Some attributes require a special call on IE + elem.getAttribute( name, 2 ) : + elem.getAttribute( name ); + + // Non-existent attributes return null, we normalize to undefined + return attr === null ? undefined : attr; + } + // Handle everything which isn't a DOM element node + if ( set ) { + elem[ name ] = value; + } + return elem[ name ]; + } +}); + + + + +var rnamespaces = /\.(.*)$/, + rformElems = /^(?:textarea|input|select)$/i, + rperiod = /\./g, + rspace = / /g, + rescape = /[^\w\s.|`]/g, + fcleanup = function( nm ) { + return nm.replace(rescape, "\\$&"); + }; + +/* + * A number of helper functions used for managing events. + * Many of the ideas behind this code originated from + * Dean Edwards' addEvent library. + */ +jQuery.event = { + + // Bind an event to an element + // Original by Dean Edwards + add: function( elem, types, handler, data ) { + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // TODO :: Use a try/catch until it's safe to pull this out (likely 1.6) + // Minor release fix for bug #8018 + try { + // For whatever reason, IE has trouble passing the window object + // around, causing it to be cloned in the process + if ( jQuery.isWindow( elem ) && ( elem !== window && !elem.frameElement ) ) { + elem = window; + } + } + catch ( e ) {} + + if ( handler === false ) { + handler = returnFalse; + } else if ( !handler ) { + // Fixes bug #7229. Fix recommended by jdalton + return; + } + + var handleObjIn, handleObj; + + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + } + + // Make sure that the function being executed has a unique ID + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure + var elemData = jQuery._data( elem ); + + // If no elemData is found then we must be trying to bind to one of the + // banned noData elements + if ( !elemData ) { + return; + } + + var events = elemData.events, + eventHandle = elemData.handle; + + if ( !events ) { + elemData.events = events = {}; + } + + if ( !eventHandle ) { + elemData.handle = eventHandle = function() { + // Handle the second event of a trigger and when + // an event is called after a page has unloaded + return typeof jQuery !== "undefined" && !jQuery.event.triggered ? + jQuery.event.handle.apply( eventHandle.elem, arguments ) : + undefined; + }; + } + + // Add elem as a property of the handle function + // This is to prevent a memory leak with non-native events in IE. + eventHandle.elem = elem; + + // Handle multiple events separated by a space + // jQuery(...).bind("mouseover mouseout", fn); + types = types.split(" "); + + var type, i = 0, namespaces; + + while ( (type = types[ i++ ]) ) { + handleObj = handleObjIn ? + jQuery.extend({}, handleObjIn) : + { handler: handler, data: data }; + + // Namespaced event handlers + if ( type.indexOf(".") > -1 ) { + namespaces = type.split("."); + type = namespaces.shift(); + handleObj.namespace = namespaces.slice(0).sort().join("."); + + } else { + namespaces = []; + handleObj.namespace = ""; + } + + handleObj.type = type; + if ( !handleObj.guid ) { + handleObj.guid = handler.guid; + } + + // Get the current list of functions bound to this event + var handlers = events[ type ], + special = jQuery.event.special[ type ] || {}; + + // Init the event handler queue + if ( !handlers ) { + handlers = events[ type ] = []; + + // Check for a special event handler + // Only use addEventListener/attachEvent if the special + // events handler returns false + if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + // Bind the global event handler to the element + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle, false ); + + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add the function to the element's handler list + handlers.push( handleObj ); + + // Keep track of which events have been used, for global triggering + jQuery.event.global[ type ] = true; + } + + // Nullify elem to prevent memory leaks in IE + elem = null; + }, + + global: {}, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, pos ) { + // don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + if ( handler === false ) { + handler = returnFalse; + } + + var ret, type, fn, j, i = 0, all, namespaces, namespace, special, eventType, handleObj, origType, + elemData = jQuery.hasData( elem ) && jQuery._data( elem ), + events = elemData && elemData.events; + + if ( !elemData || !events ) { + return; + } + + // types is actually an event object here + if ( types && types.type ) { + handler = types.handler; + types = types.type; + } + + // Unbind all events for the element + if ( !types || typeof types === "string" && types.charAt(0) === "." ) { + types = types || ""; + + for ( type in events ) { + jQuery.event.remove( elem, type + types ); + } + + return; + } + + // Handle multiple events separated by a space + // jQuery(...).unbind("mouseover mouseout", fn); + types = types.split(" "); + + while ( (type = types[ i++ ]) ) { + origType = type; + handleObj = null; + all = type.indexOf(".") < 0; + namespaces = []; + + if ( !all ) { + // Namespaced event handlers + namespaces = type.split("."); + type = namespaces.shift(); + + namespace = new RegExp("(^|\\.)" + + jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + eventType = events[ type ]; + + if ( !eventType ) { + continue; + } + + if ( !handler ) { + for ( j = 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( all || namespace.test( handleObj.namespace ) ) { + jQuery.event.remove( elem, origType, handleObj.handler, j ); + eventType.splice( j--, 1 ); + } + } + + continue; + } + + special = jQuery.event.special[ type ] || {}; + + for ( j = pos || 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( handler.guid === handleObj.guid ) { + // remove the given handler for the given type + if ( all || namespace.test( handleObj.namespace ) ) { + if ( pos == null ) { + eventType.splice( j--, 1 ); + } + + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + + if ( pos != null ) { + break; + } + } + } + + // remove generic event handler if no more handlers exist + if ( eventType.length === 0 || pos != null && eventType.length === 1 ) { + if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); + } + + ret = null; + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + var handle = elemData.handle; + if ( handle ) { + handle.elem = null; + } + + delete elemData.events; + delete elemData.handle; + + if ( jQuery.isEmptyObject( elemData ) ) { + jQuery.removeData( elem, undefined, true ); + } + } + }, + + // bubbling is internal + trigger: function( event, data, elem /*, bubbling */ ) { + // Event object or event type + var type = event.type || event, + bubbling = arguments[3]; + + if ( !bubbling ) { + event = typeof event === "object" ? + // jQuery.Event object + event[ jQuery.expando ] ? event : + // Object literal + jQuery.extend( jQuery.Event(type), event ) : + // Just the event type (string) + jQuery.Event(type); + + if ( type.indexOf("!") >= 0 ) { + event.type = type = type.slice(0, -1); + event.exclusive = true; + } + + // Handle a global trigger + if ( !elem ) { + // Don't bubble custom events when global (to avoid too much overhead) + event.stopPropagation(); + + // Only trigger if we've ever bound an event for it + if ( jQuery.event.global[ type ] ) { + // XXX This code smells terrible. event.js should not be directly + // inspecting the data cache + jQuery.each( jQuery.cache, function() { + // internalKey variable is just used to make it easier to find + // and potentially change this stuff later; currently it just + // points to jQuery.expando + var internalKey = jQuery.expando, + internalCache = this[ internalKey ]; + if ( internalCache && internalCache.events && internalCache.events[ type ] ) { + jQuery.event.trigger( event, data, internalCache.handle.elem ); + } + }); + } + } + + // Handle triggering a single element + + // don't do events on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) { + return undefined; + } + + // Clean up in case it is reused + event.result = undefined; + event.target = elem; + + // Clone the incoming data, if any + data = jQuery.makeArray( data ); + data.unshift( event ); + } + + event.currentTarget = elem; + + // Trigger the event, it is assumed that "handle" is a function + var handle = jQuery._data( elem, "handle" ); + + if ( handle ) { + handle.apply( elem, data ); + } + + var parent = elem.parentNode || elem.ownerDocument; + + // Trigger an inline bound script + try { + if ( !(elem && elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()]) ) { + if ( elem[ "on" + type ] && elem[ "on" + type ].apply( elem, data ) === false ) { + event.result = false; + event.preventDefault(); + } + } + + // prevent IE from throwing an error for some elements with some event types, see #3533 + } catch (inlineError) {} + + if ( !event.isPropagationStopped() && parent ) { + jQuery.event.trigger( event, data, parent, true ); + + } else if ( !event.isDefaultPrevented() ) { + var old, + target = event.target, + targetType = type.replace( rnamespaces, "" ), + isClick = jQuery.nodeName( target, "a" ) && targetType === "click", + special = jQuery.event.special[ targetType ] || {}; + + if ( (!special._default || special._default.call( elem, event ) === false) && + !isClick && !(target && target.nodeName && jQuery.noData[target.nodeName.toLowerCase()]) ) { + + try { + if ( target[ targetType ] ) { + // Make sure that we don't accidentally re-trigger the onFOO events + old = target[ "on" + targetType ]; + + if ( old ) { + target[ "on" + targetType ] = null; + } + + jQuery.event.triggered = true; + target[ targetType ](); + } + + // prevent IE from throwing an error for some elements with some event types, see #3533 + } catch (triggerError) {} + + if ( old ) { + target[ "on" + targetType ] = old; + } + + jQuery.event.triggered = false; + } + } + }, + + handle: function( event ) { + var all, handlers, namespaces, namespace_re, events, + namespace_sort = [], + args = jQuery.makeArray( arguments ); + + event = args[0] = jQuery.event.fix( event || window.event ); + event.currentTarget = this; + + // Namespaced event handlers + all = event.type.indexOf(".") < 0 && !event.exclusive; + + if ( !all ) { + namespaces = event.type.split("."); + event.type = namespaces.shift(); + namespace_sort = namespaces.slice(0).sort(); + namespace_re = new RegExp("(^|\\.)" + namespace_sort.join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + event.namespace = event.namespace || namespace_sort.join("."); + + events = jQuery._data(this, "events"); + + handlers = (events || {})[ event.type ]; + + if ( events && handlers ) { + // Clone the handlers to prevent manipulation + handlers = handlers.slice(0); + + for ( var j = 0, l = handlers.length; j < l; j++ ) { + var handleObj = handlers[ j ]; + + // Filter the functions by class + if ( all || namespace_re.test( handleObj.namespace ) ) { + // Pass in a reference to the handler function itself + // So that we can later remove it + event.handler = handleObj.handler; + event.data = handleObj.data; + event.handleObj = handleObj; + + var ret = handleObj.handler.apply( this, args ); + + if ( ret !== undefined ) { + event.result = ret; + if ( ret === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + + if ( event.isImmediatePropagationStopped() ) { + break; + } + } + } + } + + return event.result; + }, + + props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "), + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // store a copy of the original event object + // and "clone" to set read-only properties + var originalEvent = event; + event = jQuery.Event( originalEvent ); + + for ( var i = this.props.length, prop; i; ) { + prop = this.props[ --i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Fix target property, if necessary + if ( !event.target ) { + // Fixes #1925 where srcElement might not be defined either + event.target = event.srcElement || document; + } + + // check if target is a textnode (safari) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && event.fromElement ) { + event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement; + } + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && event.clientX != null ) { + var doc = document.documentElement, + body = document.body; + + event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0); + event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0); + } + + // Add which for key events + if ( event.which == null && (event.charCode != null || event.keyCode != null) ) { + event.which = event.charCode != null ? event.charCode : event.keyCode; + } + + // Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs) + if ( !event.metaKey && event.ctrlKey ) { + event.metaKey = event.ctrlKey; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && event.button !== undefined ) { + event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) )); + } + + return event; + }, + + // Deprecated, use jQuery.guid instead + guid: 1E8, + + // Deprecated, use jQuery.proxy instead + proxy: jQuery.proxy, + + special: { + ready: { + // Make sure the ready event is setup + setup: jQuery.bindReady, + teardown: jQuery.noop + }, + + live: { + add: function( handleObj ) { + jQuery.event.add( this, + liveConvert( handleObj.origType, handleObj.selector ), + jQuery.extend({}, handleObj, {handler: liveHandler, guid: handleObj.handler.guid}) ); + }, + + remove: function( handleObj ) { + jQuery.event.remove( this, liveConvert( handleObj.origType, handleObj.selector ), handleObj ); + } + }, + + beforeunload: { + setup: function( data, namespaces, eventHandle ) { + // We only want to do this special case on windows + if ( jQuery.isWindow( this ) ) { + this.onbeforeunload = eventHandle; + } + }, + + teardown: function( namespaces, eventHandle ) { + if ( this.onbeforeunload === eventHandle ) { + this.onbeforeunload = null; + } + } + } + } +}; + +jQuery.removeEvent = document.removeEventListener ? + function( elem, type, handle ) { + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle, false ); + } + } : + function( elem, type, handle ) { + if ( elem.detachEvent ) { + elem.detachEvent( "on" + type, handle ); + } + }; + +jQuery.Event = function( src ) { + // Allow instantiation without the 'new' keyword + if ( !this.preventDefault ) { + return new jQuery.Event( src ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = (src.defaultPrevented || src.returnValue === false || + src.getPreventDefault && src.getPreventDefault()) ? returnTrue : returnFalse; + + // Event type + } else { + this.type = src; + } + + // timeStamp is buggy for some events on Firefox(#3843) + // So we won't rely on the native value + this.timeStamp = jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +function returnFalse() { + return false; +} +function returnTrue() { + return true; +} + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + preventDefault: function() { + this.isDefaultPrevented = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + + // if preventDefault exists run it on the original event + if ( e.preventDefault ) { + e.preventDefault(); + + // otherwise set the returnValue property of the original event to false (IE) + } else { + e.returnValue = false; + } + }, + stopPropagation: function() { + this.isPropagationStopped = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + // if stopPropagation exists run it on the original event + if ( e.stopPropagation ) { + e.stopPropagation(); + } + // otherwise set the cancelBubble property of the original event to true (IE) + e.cancelBubble = true; + }, + stopImmediatePropagation: function() { + this.isImmediatePropagationStopped = returnTrue; + this.stopPropagation(); + }, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse +}; + +// Checks if an event happened on an element within another element +// Used in jQuery.event.special.mouseenter and mouseleave handlers +var withinElement = function( event ) { + // Check if mouse(over|out) are still within the same parent element + var parent = event.relatedTarget; + + // Firefox sometimes assigns relatedTarget a XUL element + // which we cannot access the parentNode property of + try { + + // Chrome does something similar, the parentNode property + // can be accessed but is null. + if ( parent !== document && !parent.parentNode ) { + return; + } + // Traverse up the tree + while ( parent && parent !== this ) { + parent = parent.parentNode; + } + + if ( parent !== this ) { + // set the correct event type + event.type = event.data; + + // handle event if we actually just moused on to a non sub-element + jQuery.event.handle.apply( this, arguments ); + } + + // assuming we've left the element since we most likely mousedover a xul element + } catch(e) { } +}, + +// In case of event delegation, we only need to rename the event.type, +// liveHandler will take care of the rest. +delegate = function( event ) { + event.type = event.data; + jQuery.event.handle.apply( this, arguments ); +}; + +// Create mouseenter and mouseleave events +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + setup: function( data ) { + jQuery.event.add( this, fix, data && data.selector ? delegate : withinElement, orig ); + }, + teardown: function( data ) { + jQuery.event.remove( this, fix, data && data.selector ? delegate : withinElement ); + } + }; +}); + +// submit delegation +if ( !jQuery.support.submitBubbles ) { + + jQuery.event.special.submit = { + setup: function( data, namespaces ) { + if ( this.nodeName && this.nodeName.toLowerCase() !== "form" ) { + jQuery.event.add(this, "click.specialSubmit", function( e ) { + var elem = e.target, + type = elem.type; + + if ( (type === "submit" || type === "image") && jQuery( elem ).closest("form").length ) { + trigger( "submit", this, arguments ); + } + }); + + jQuery.event.add(this, "keypress.specialSubmit", function( e ) { + var elem = e.target, + type = elem.type; + + if ( (type === "text" || type === "password") && jQuery( elem ).closest("form").length && e.keyCode === 13 ) { + trigger( "submit", this, arguments ); + } + }); + + } else { + return false; + } + }, + + teardown: function( namespaces ) { + jQuery.event.remove( this, ".specialSubmit" ); + } + }; + +} + +// change delegation, happens here so we have bind. +if ( !jQuery.support.changeBubbles ) { + + var changeFilters, + + getVal = function( elem ) { + var type = elem.type, val = elem.value; + + if ( type === "radio" || type === "checkbox" ) { + val = elem.checked; + + } else if ( type === "select-multiple" ) { + val = elem.selectedIndex > -1 ? + jQuery.map( elem.options, function( elem ) { + return elem.selected; + }).join("-") : + ""; + + } else if ( elem.nodeName.toLowerCase() === "select" ) { + val = elem.selectedIndex; + } + + return val; + }, + + testChange = function testChange( e ) { + var elem = e.target, data, val; + + if ( !rformElems.test( elem.nodeName ) || elem.readOnly ) { + return; + } + + data = jQuery._data( elem, "_change_data" ); + val = getVal(elem); + + // the current data will be also retrieved by beforeactivate + if ( e.type !== "focusout" || elem.type !== "radio" ) { + jQuery._data( elem, "_change_data", val ); + } + + if ( data === undefined || val === data ) { + return; + } + + if ( data != null || val ) { + e.type = "change"; + e.liveFired = undefined; + jQuery.event.trigger( e, arguments[1], elem ); + } + }; + + jQuery.event.special.change = { + filters: { + focusout: testChange, + + beforedeactivate: testChange, + + click: function( e ) { + var elem = e.target, type = elem.type; + + if ( type === "radio" || type === "checkbox" || elem.nodeName.toLowerCase() === "select" ) { + testChange.call( this, e ); + } + }, + + // Change has to be called before submit + // Keydown will be called before keypress, which is used in submit-event delegation + keydown: function( e ) { + var elem = e.target, type = elem.type; + + if ( (e.keyCode === 13 && elem.nodeName.toLowerCase() !== "textarea") || + (e.keyCode === 32 && (type === "checkbox" || type === "radio")) || + type === "select-multiple" ) { + testChange.call( this, e ); + } + }, + + // Beforeactivate happens also before the previous element is blurred + // with this event you can't trigger a change event, but you can store + // information + beforeactivate: function( e ) { + var elem = e.target; + jQuery._data( elem, "_change_data", getVal(elem) ); + } + }, + + setup: function( data, namespaces ) { + if ( this.type === "file" ) { + return false; + } + + for ( var type in changeFilters ) { + jQuery.event.add( this, type + ".specialChange", changeFilters[type] ); + } + + return rformElems.test( this.nodeName ); + }, + + teardown: function( namespaces ) { + jQuery.event.remove( this, ".specialChange" ); + + return rformElems.test( this.nodeName ); + } + }; + + changeFilters = jQuery.event.special.change.filters; + + // Handle when the input is .focus()'d + changeFilters.focus = changeFilters.beforeactivate; +} + +function trigger( type, elem, args ) { + // Piggyback on a donor event to simulate a different one. + // Fake originalEvent to avoid donor's stopPropagation, but if the + // simulated event prevents default then we do the same on the donor. + // Don't pass args or remember liveFired; they apply to the donor event. + var event = jQuery.extend( {}, args[ 0 ] ); + event.type = type; + event.originalEvent = {}; + event.liveFired = undefined; + jQuery.event.handle.call( elem, event ); + if ( event.isDefaultPrevented() ) { + args[ 0 ].preventDefault(); + } +} + +// Create "bubbling" focus and blur events +if ( document.addEventListener ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + jQuery.event.special[ fix ] = { + setup: function() { + this.addEventListener( orig, handler, true ); + }, + teardown: function() { + this.removeEventListener( orig, handler, true ); + } + }; + + function handler( e ) { + e = jQuery.event.fix( e ); + e.type = fix; + return jQuery.event.handle.call( this, e ); + } + }); +} + +jQuery.each(["bind", "one"], function( i, name ) { + jQuery.fn[ name ] = function( type, data, fn ) { + // Handle object literals + if ( typeof type === "object" ) { + for ( var key in type ) { + this[ name ](key, data, type[key], fn); + } + return this; + } + + if ( jQuery.isFunction( data ) || data === false ) { + fn = data; + data = undefined; + } + + var handler = name === "one" ? jQuery.proxy( fn, function( event ) { + jQuery( this ).unbind( event, handler ); + return fn.apply( this, arguments ); + }) : fn; + + if ( type === "unload" && name !== "one" ) { + this.one( type, data, fn ); + + } else { + for ( var i = 0, l = this.length; i < l; i++ ) { + jQuery.event.add( this[i], type, handler, data ); + } + } + + return this; + }; +}); + +jQuery.fn.extend({ + unbind: function( type, fn ) { + // Handle object literals + if ( typeof type === "object" && !type.preventDefault ) { + for ( var key in type ) { + this.unbind(key, type[key]); + } + + } else { + for ( var i = 0, l = this.length; i < l; i++ ) { + jQuery.event.remove( this[i], type, fn ); + } + } + + return this; + }, + + delegate: function( selector, types, data, fn ) { + return this.live( types, data, fn, selector ); + }, + + undelegate: function( selector, types, fn ) { + if ( arguments.length === 0 ) { + return this.unbind( "live" ); + + } else { + return this.die( types, null, fn, selector ); + } + }, + + trigger: function( type, data ) { + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + + triggerHandler: function( type, data ) { + if ( this[0] ) { + var event = jQuery.Event( type ); + event.preventDefault(); + event.stopPropagation(); + jQuery.event.trigger( event, data, this[0] ); + return event.result; + } + }, + + toggle: function( fn ) { + // Save reference to arguments for access in closure + var args = arguments, + i = 1; + + // link all the functions, so any of them can unbind this click handler + while ( i < args.length ) { + jQuery.proxy( fn, args[ i++ ] ); + } + + return this.click( jQuery.proxy( fn, function( event ) { + // Figure out which function to execute + var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i; + jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 ); + + // Make sure that clicks stop + event.preventDefault(); + + // and execute the function + return args[ lastToggle ].apply( this, arguments ) || false; + })); + }, + + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +}); + +var liveMap = { + focus: "focusin", + blur: "focusout", + mouseenter: "mouseover", + mouseleave: "mouseout" +}; + +jQuery.each(["live", "die"], function( i, name ) { + jQuery.fn[ name ] = function( types, data, fn, origSelector /* Internal Use Only */ ) { + var type, i = 0, match, namespaces, preType, + selector = origSelector || this.selector, + context = origSelector ? this : jQuery( this.context ); + + if ( typeof types === "object" && !types.preventDefault ) { + for ( var key in types ) { + context[ name ]( key, data, types[key], selector ); + } + + return this; + } + + if ( jQuery.isFunction( data ) ) { + fn = data; + data = undefined; + } + + types = (types || "").split(" "); + + while ( (type = types[ i++ ]) != null ) { + match = rnamespaces.exec( type ); + namespaces = ""; + + if ( match ) { + namespaces = match[0]; + type = type.replace( rnamespaces, "" ); + } + + if ( type === "hover" ) { + types.push( "mouseenter" + namespaces, "mouseleave" + namespaces ); + continue; + } + + preType = type; + + if ( type === "focus" || type === "blur" ) { + types.push( liveMap[ type ] + namespaces ); + type = type + namespaces; + + } else { + type = (liveMap[ type ] || type) + namespaces; + } + + if ( name === "live" ) { + // bind live handler + for ( var j = 0, l = context.length; j < l; j++ ) { + jQuery.event.add( context[j], "live." + liveConvert( type, selector ), + { data: data, selector: selector, handler: fn, origType: type, origHandler: fn, preType: preType } ); + } + + } else { + // unbind live handler + context.unbind( "live." + liveConvert( type, selector ), fn ); + } + } + + return this; + }; +}); + +function liveHandler( event ) { + var stop, maxLevel, related, match, handleObj, elem, j, i, l, data, close, namespace, ret, + elems = [], + selectors = [], + events = jQuery._data( this, "events" ); + + // Make sure we avoid non-left-click bubbling in Firefox (#3861) and disabled elements in IE (#6911) + if ( event.liveFired === this || !events || !events.live || event.target.disabled || event.button && event.type === "click" ) { + return; + } + + if ( event.namespace ) { + namespace = new RegExp("(^|\\.)" + event.namespace.split(".").join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + event.liveFired = this; + + var live = events.live.slice(0); + + for ( j = 0; j < live.length; j++ ) { + handleObj = live[j]; + + if ( handleObj.origType.replace( rnamespaces, "" ) === event.type ) { + selectors.push( handleObj.selector ); + + } else { + live.splice( j--, 1 ); + } + } + + match = jQuery( event.target ).closest( selectors, event.currentTarget ); + + for ( i = 0, l = match.length; i < l; i++ ) { + close = match[i]; + + for ( j = 0; j < live.length; j++ ) { + handleObj = live[j]; + + if ( close.selector === handleObj.selector && (!namespace || namespace.test( handleObj.namespace )) && !close.elem.disabled ) { + elem = close.elem; + related = null; + + // Those two events require additional checking + if ( handleObj.preType === "mouseenter" || handleObj.preType === "mouseleave" ) { + event.type = handleObj.preType; + related = jQuery( event.relatedTarget ).closest( handleObj.selector )[0]; + } + + if ( !related || related !== elem ) { + elems.push({ elem: elem, handleObj: handleObj, level: close.level }); + } + } + } + } + + for ( i = 0, l = elems.length; i < l; i++ ) { + match = elems[i]; + + if ( maxLevel && match.level > maxLevel ) { + break; + } + + event.currentTarget = match.elem; + event.data = match.handleObj.data; + event.handleObj = match.handleObj; + + ret = match.handleObj.origHandler.apply( match.elem, arguments ); + + if ( ret === false || event.isPropagationStopped() ) { + maxLevel = match.level; + + if ( ret === false ) { + stop = false; + } + if ( event.isImmediatePropagationStopped() ) { + break; + } + } + } + + return stop; +} + +function liveConvert( type, selector ) { + return (type && type !== "*" ? type + "." : "") + selector.replace(rperiod, "`").replace(rspace, "&"); +} + +jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup error").split(" "), function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : + this.trigger( name ); + }; + + if ( jQuery.attrFn ) { + jQuery.attrFn[ name ] = true; + } +}); + + +/*! + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * More information: http://sizzlejs.com/ + */ +(function(){ + +var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, + done = 0, + toString = Object.prototype.toString, + hasDuplicate = false, + baseHasDuplicate = true, + rBackslash = /\\/g, + rNonWord = /\W/; + +// Here we check if the JavaScript engine is using some sort of +// optimization where it does not always call our comparision +// function. If that is the case, discard the hasDuplicate value. +// Thus far that includes Google Chrome. +[0, 0].sort(function() { + baseHasDuplicate = false; + return 0; +}); + +var Sizzle = function( selector, context, results, seed ) { + results = results || []; + context = context || document; + + var origContext = context; + + if ( context.nodeType !== 1 && context.nodeType !== 9 ) { + return []; + } + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + var m, set, checkSet, extra, ret, cur, pop, i, + prune = true, + contextXML = Sizzle.isXML( context ), + parts = [], + soFar = selector; + + // Reset the position of the chunker regexp (start from head) + do { + chunker.exec( "" ); + m = chunker.exec( soFar ); + + if ( m ) { + soFar = m[3]; + + parts.push( m[1] ); + + if ( m[2] ) { + extra = m[3]; + break; + } + } + } while ( m ); + + if ( parts.length > 1 && origPOS.exec( selector ) ) { + + if ( parts.length === 2 && Expr.relative[ parts[0] ] ) { + set = posProcess( parts[0] + parts[1], context ); + + } else { + set = Expr.relative[ parts[0] ] ? + [ context ] : + Sizzle( parts.shift(), context ); + + while ( parts.length ) { + selector = parts.shift(); + + if ( Expr.relative[ selector ] ) { + selector += parts.shift(); + } + + set = posProcess( selector, set ); + } + } + + } else { + // Take a shortcut and set the context if the root selector is an ID + // (but not if it'll be faster if the inner selector is an ID) + if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML && + Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) { + + ret = Sizzle.find( parts.shift(), context, contextXML ); + context = ret.expr ? + Sizzle.filter( ret.expr, ret.set )[0] : + ret.set[0]; + } + + if ( context ) { + ret = seed ? + { expr: parts.pop(), set: makeArray(seed) } : + Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML ); + + set = ret.expr ? + Sizzle.filter( ret.expr, ret.set ) : + ret.set; + + if ( parts.length > 0 ) { + checkSet = makeArray( set ); + + } else { + prune = false; + } + + while ( parts.length ) { + cur = parts.pop(); + pop = cur; + + if ( !Expr.relative[ cur ] ) { + cur = ""; + } else { + pop = parts.pop(); + } + + if ( pop == null ) { + pop = context; + } + + Expr.relative[ cur ]( checkSet, pop, contextXML ); + } + + } else { + checkSet = parts = []; + } + } + + if ( !checkSet ) { + checkSet = set; + } + + if ( !checkSet ) { + Sizzle.error( cur || selector ); + } + + if ( toString.call(checkSet) === "[object Array]" ) { + if ( !prune ) { + results.push.apply( results, checkSet ); + + } else if ( context && context.nodeType === 1 ) { + for ( i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) { + results.push( set[i] ); + } + } + + } else { + for ( i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && checkSet[i].nodeType === 1 ) { + results.push( set[i] ); + } + } + } + + } else { + makeArray( checkSet, results ); + } + + if ( extra ) { + Sizzle( extra, origContext, results, seed ); + Sizzle.uniqueSort( results ); + } + + return results; +}; + +Sizzle.uniqueSort = function( results ) { + if ( sortOrder ) { + hasDuplicate = baseHasDuplicate; + results.sort( sortOrder ); + + if ( hasDuplicate ) { + for ( var i = 1; i < results.length; i++ ) { + if ( results[i] === results[ i - 1 ] ) { + results.splice( i--, 1 ); + } + } + } + } + + return results; +}; + +Sizzle.matches = function( expr, set ) { + return Sizzle( expr, null, null, set ); +}; + +Sizzle.matchesSelector = function( node, expr ) { + return Sizzle( expr, null, null, [node] ).length > 0; +}; + +Sizzle.find = function( expr, context, isXML ) { + var set; + + if ( !expr ) { + return []; + } + + for ( var i = 0, l = Expr.order.length; i < l; i++ ) { + var match, + type = Expr.order[i]; + + if ( (match = Expr.leftMatch[ type ].exec( expr )) ) { + var left = match[1]; + match.splice( 1, 1 ); + + if ( left.substr( left.length - 1 ) !== "\\" ) { + match[1] = (match[1] || "").replace( rBackslash, "" ); + set = Expr.find[ type ]( match, context, isXML ); + + if ( set != null ) { + expr = expr.replace( Expr.match[ type ], "" ); + break; + } + } + } + } + + if ( !set ) { + set = typeof context.getElementsByTagName !== "undefined" ? + context.getElementsByTagName( "*" ) : + []; + } + + return { set: set, expr: expr }; +}; + +Sizzle.filter = function( expr, set, inplace, not ) { + var match, anyFound, + old = expr, + result = [], + curLoop = set, + isXMLFilter = set && set[0] && Sizzle.isXML( set[0] ); + + while ( expr && set.length ) { + for ( var type in Expr.filter ) { + if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) { + var found, item, + filter = Expr.filter[ type ], + left = match[1]; + + anyFound = false; + + match.splice(1,1); + + if ( left.substr( left.length - 1 ) === "\\" ) { + continue; + } + + if ( curLoop === result ) { + result = []; + } + + if ( Expr.preFilter[ type ] ) { + match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter ); + + if ( !match ) { + anyFound = found = true; + + } else if ( match === true ) { + continue; + } + } + + if ( match ) { + for ( var i = 0; (item = curLoop[i]) != null; i++ ) { + if ( item ) { + found = filter( item, match, i, curLoop ); + var pass = not ^ !!found; + + if ( inplace && found != null ) { + if ( pass ) { + anyFound = true; + + } else { + curLoop[i] = false; + } + + } else if ( pass ) { + result.push( item ); + anyFound = true; + } + } + } + } + + if ( found !== undefined ) { + if ( !inplace ) { + curLoop = result; + } + + expr = expr.replace( Expr.match[ type ], "" ); + + if ( !anyFound ) { + return []; + } + + break; + } + } + } + + // Improper expression + if ( expr === old ) { + if ( anyFound == null ) { + Sizzle.error( expr ); + + } else { + break; + } + } + + old = expr; + } + + return curLoop; +}; + +Sizzle.error = function( msg ) { + throw "Syntax error, unrecognized expression: " + msg; +}; + +var Expr = Sizzle.selectors = { + order: [ "ID", "NAME", "TAG" ], + + match: { + ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/, + ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/, + TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/, + CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/, + POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/, + PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/ + }, + + leftMatch: {}, + + attrMap: { + "class": "className", + "for": "htmlFor" + }, + + attrHandle: { + href: function( elem ) { + return elem.getAttribute( "href" ); + }, + type: function( elem ) { + return elem.getAttribute( "type" ); + } + }, + + relative: { + "+": function(checkSet, part){ + var isPartStr = typeof part === "string", + isTag = isPartStr && !rNonWord.test( part ), + isPartStrNotTag = isPartStr && !isTag; + + if ( isTag ) { + part = part.toLowerCase(); + } + + for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) { + if ( (elem = checkSet[i]) ) { + while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {} + + checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ? + elem || false : + elem === part; + } + } + + if ( isPartStrNotTag ) { + Sizzle.filter( part, checkSet, true ); + } + }, + + ">": function( checkSet, part ) { + var elem, + isPartStr = typeof part === "string", + i = 0, + l = checkSet.length; + + if ( isPartStr && !rNonWord.test( part ) ) { + part = part.toLowerCase(); + + for ( ; i < l; i++ ) { + elem = checkSet[i]; + + if ( elem ) { + var parent = elem.parentNode; + checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false; + } + } + + } else { + for ( ; i < l; i++ ) { + elem = checkSet[i]; + + if ( elem ) { + checkSet[i] = isPartStr ? + elem.parentNode : + elem.parentNode === part; + } + } + + if ( isPartStr ) { + Sizzle.filter( part, checkSet, true ); + } + } + }, + + "": function(checkSet, part, isXML){ + var nodeCheck, + doneName = done++, + checkFn = dirCheck; + + if ( typeof part === "string" && !rNonWord.test( part ) ) { + part = part.toLowerCase(); + nodeCheck = part; + checkFn = dirNodeCheck; + } + + checkFn( "parentNode", part, doneName, checkSet, nodeCheck, isXML ); + }, + + "~": function( checkSet, part, isXML ) { + var nodeCheck, + doneName = done++, + checkFn = dirCheck; + + if ( typeof part === "string" && !rNonWord.test( part ) ) { + part = part.toLowerCase(); + nodeCheck = part; + checkFn = dirNodeCheck; + } + + checkFn( "previousSibling", part, doneName, checkSet, nodeCheck, isXML ); + } + }, + + find: { + ID: function( match, context, isXML ) { + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [m] : []; + } + }, + + NAME: function( match, context ) { + if ( typeof context.getElementsByName !== "undefined" ) { + var ret = [], + results = context.getElementsByName( match[1] ); + + for ( var i = 0, l = results.length; i < l; i++ ) { + if ( results[i].getAttribute("name") === match[1] ) { + ret.push( results[i] ); + } + } + + return ret.length === 0 ? null : ret; + } + }, + + TAG: function( match, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( match[1] ); + } + } + }, + preFilter: { + CLASS: function( match, curLoop, inplace, result, not, isXML ) { + match = " " + match[1].replace( rBackslash, "" ) + " "; + + if ( isXML ) { + return match; + } + + for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) { + if ( elem ) { + if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n\r]/g, " ").indexOf(match) >= 0) ) { + if ( !inplace ) { + result.push( elem ); + } + + } else if ( inplace ) { + curLoop[i] = false; + } + } + } + + return false; + }, + + ID: function( match ) { + return match[1].replace( rBackslash, "" ); + }, + + TAG: function( match, curLoop ) { + return match[1].replace( rBackslash, "" ).toLowerCase(); + }, + + CHILD: function( match ) { + if ( match[1] === "nth" ) { + if ( !match[2] ) { + Sizzle.error( match[0] ); + } + + match[2] = match[2].replace(/^\+|\s*/g, ''); + + // parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6' + var test = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec( + match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" || + !/\D/.test( match[2] ) && "0n+" + match[2] || match[2]); + + // calculate the numbers (first)n+(last) including if they are negative + match[2] = (test[1] + (test[2] || 1)) - 0; + match[3] = test[3] - 0; + } + else if ( match[2] ) { + Sizzle.error( match[0] ); + } + + // TODO: Move to normal caching system + match[0] = done++; + + return match; + }, + + ATTR: function( match, curLoop, inplace, result, not, isXML ) { + var name = match[1] = match[1].replace( rBackslash, "" ); + + if ( !isXML && Expr.attrMap[name] ) { + match[1] = Expr.attrMap[name]; + } + + // Handle if an un-quoted value was used + match[4] = ( match[4] || match[5] || "" ).replace( rBackslash, "" ); + + if ( match[2] === "~=" ) { + match[4] = " " + match[4] + " "; + } + + return match; + }, + + PSEUDO: function( match, curLoop, inplace, result, not ) { + if ( match[1] === "not" ) { + // If we're dealing with a complex expression, or a simple one + if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) { + match[3] = Sizzle(match[3], null, null, curLoop); + + } else { + var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not); + + if ( !inplace ) { + result.push.apply( result, ret ); + } + + return false; + } + + } else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) { + return true; + } + + return match; + }, + + POS: function( match ) { + match.unshift( true ); + + return match; + } + }, + + filters: { + enabled: function( elem ) { + return elem.disabled === false && elem.type !== "hidden"; + }, + + disabled: function( elem ) { + return elem.disabled === true; + }, + + checked: function( elem ) { + return elem.checked === true; + }, + + selected: function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + parent: function( elem ) { + return !!elem.firstChild; + }, + + empty: function( elem ) { + return !elem.firstChild; + }, + + has: function( elem, i, match ) { + return !!Sizzle( match[3], elem ).length; + }, + + header: function( elem ) { + return (/h\d/i).test( elem.nodeName ); + }, + + text: function( elem ) { + // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) + // use getAttribute instead to test this case + return "text" === elem.getAttribute( 'type' ); + }, + radio: function( elem ) { + return "radio" === elem.type; + }, + + checkbox: function( elem ) { + return "checkbox" === elem.type; + }, + + file: function( elem ) { + return "file" === elem.type; + }, + password: function( elem ) { + return "password" === elem.type; + }, + + submit: function( elem ) { + return "submit" === elem.type; + }, + + image: function( elem ) { + return "image" === elem.type; + }, + + reset: function( elem ) { + return "reset" === elem.type; + }, + + button: function( elem ) { + return "button" === elem.type || elem.nodeName.toLowerCase() === "button"; + }, + + input: function( elem ) { + return (/input|select|textarea|button/i).test( elem.nodeName ); + } + }, + setFilters: { + first: function( elem, i ) { + return i === 0; + }, + + last: function( elem, i, match, array ) { + return i === array.length - 1; + }, + + even: function( elem, i ) { + return i % 2 === 0; + }, + + odd: function( elem, i ) { + return i % 2 === 1; + }, + + lt: function( elem, i, match ) { + return i < match[3] - 0; + }, + + gt: function( elem, i, match ) { + return i > match[3] - 0; + }, + + nth: function( elem, i, match ) { + return match[3] - 0 === i; + }, + + eq: function( elem, i, match ) { + return match[3] - 0 === i; + } + }, + filter: { + PSEUDO: function( elem, match, i, array ) { + var name = match[1], + filter = Expr.filters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + + } else if ( name === "contains" ) { + return (elem.textContent || elem.innerText || Sizzle.getText([ elem ]) || "").indexOf(match[3]) >= 0; + + } else if ( name === "not" ) { + var not = match[3]; + + for ( var j = 0, l = not.length; j < l; j++ ) { + if ( not[j] === elem ) { + return false; + } + } + + return true; + + } else { + Sizzle.error( name ); + } + }, + + CHILD: function( elem, match ) { + var type = match[1], + node = elem; + + switch ( type ) { + case "only": + case "first": + while ( (node = node.previousSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + if ( type === "first" ) { + return true; + } + + node = elem; + + case "last": + while ( (node = node.nextSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + return true; + + case "nth": + var first = match[2], + last = match[3]; + + if ( first === 1 && last === 0 ) { + return true; + } + + var doneName = match[0], + parent = elem.parentNode; + + if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) { + var count = 0; + + for ( node = parent.firstChild; node; node = node.nextSibling ) { + if ( node.nodeType === 1 ) { + node.nodeIndex = ++count; + } + } + + parent.sizcache = doneName; + } + + var diff = elem.nodeIndex - last; + + if ( first === 0 ) { + return diff === 0; + + } else { + return ( diff % first === 0 && diff / first >= 0 ); + } + } + }, + + ID: function( elem, match ) { + return elem.nodeType === 1 && elem.getAttribute("id") === match; + }, + + TAG: function( elem, match ) { + return (match === "*" && elem.nodeType === 1) || elem.nodeName.toLowerCase() === match; + }, + + CLASS: function( elem, match ) { + return (" " + (elem.className || elem.getAttribute("class")) + " ") + .indexOf( match ) > -1; + }, + + ATTR: function( elem, match ) { + var name = match[1], + result = Expr.attrHandle[ name ] ? + Expr.attrHandle[ name ]( elem ) : + elem[ name ] != null ? + elem[ name ] : + elem.getAttribute( name ), + value = result + "", + type = match[2], + check = match[4]; + + return result == null ? + type === "!=" : + type === "=" ? + value === check : + type === "*=" ? + value.indexOf(check) >= 0 : + type === "~=" ? + (" " + value + " ").indexOf(check) >= 0 : + !check ? + value && result !== false : + type === "!=" ? + value !== check : + type === "^=" ? + value.indexOf(check) === 0 : + type === "$=" ? + value.substr(value.length - check.length) === check : + type === "|=" ? + value === check || value.substr(0, check.length + 1) === check + "-" : + false; + }, + + POS: function( elem, match, i, array ) { + var name = match[2], + filter = Expr.setFilters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + } + } + } +}; + +var origPOS = Expr.match.POS, + fescape = function(all, num){ + return "\\" + (num - 0 + 1); + }; + +for ( var type in Expr.match ) { + Expr.match[ type ] = new RegExp( Expr.match[ type ].source + (/(?![^\[]*\])(?![^\(]*\))/.source) ); + Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, fescape) ); +} + +var makeArray = function( array, results ) { + array = Array.prototype.slice.call( array, 0 ); + + if ( results ) { + results.push.apply( results, array ); + return results; + } + + return array; +}; + +// Perform a simple check to determine if the browser is capable of +// converting a NodeList to an array using builtin methods. +// Also verifies that the returned array holds DOM nodes +// (which is not the case in the Blackberry browser) +try { + Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType; + +// Provide a fallback method if it does not work +} catch( e ) { + makeArray = function( array, results ) { + var i = 0, + ret = results || []; + + if ( toString.call(array) === "[object Array]" ) { + Array.prototype.push.apply( ret, array ); + + } else { + if ( typeof array.length === "number" ) { + for ( var l = array.length; i < l; i++ ) { + ret.push( array[i] ); + } + + } else { + for ( ; array[i]; i++ ) { + ret.push( array[i] ); + } + } + } + + return ret; + }; +} + +var sortOrder, siblingCheck; + +if ( document.documentElement.compareDocumentPosition ) { + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) { + return a.compareDocumentPosition ? -1 : 1; + } + + return a.compareDocumentPosition(b) & 4 ? -1 : 1; + }; + +} else { + sortOrder = function( a, b ) { + var al, bl, + ap = [], + bp = [], + aup = a.parentNode, + bup = b.parentNode, + cur = aup; + + // The nodes are identical, we can exit early + if ( a === b ) { + hasDuplicate = true; + return 0; + + // If the nodes are siblings (or identical) we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + + // If no parents were found then the nodes are disconnected + } else if ( !aup ) { + return -1; + + } else if ( !bup ) { + return 1; + } + + // Otherwise they're somewhere else in the tree so we need + // to build up a full list of the parentNodes for comparison + while ( cur ) { + ap.unshift( cur ); + cur = cur.parentNode; + } + + cur = bup; + + while ( cur ) { + bp.unshift( cur ); + cur = cur.parentNode; + } + + al = ap.length; + bl = bp.length; + + // Start walking down the tree looking for a discrepancy + for ( var i = 0; i < al && i < bl; i++ ) { + if ( ap[i] !== bp[i] ) { + return siblingCheck( ap[i], bp[i] ); + } + } + + // We ended someplace up the tree so do a sibling check + return i === al ? + siblingCheck( a, bp[i], -1 ) : + siblingCheck( ap[i], b, 1 ); + }; + + siblingCheck = function( a, b, ret ) { + if ( a === b ) { + return ret; + } + + var cur = a.nextSibling; + + while ( cur ) { + if ( cur === b ) { + return -1; + } + + cur = cur.nextSibling; + } + + return 1; + }; +} + +// Utility function for retreiving the text value of an array of DOM nodes +Sizzle.getText = function( elems ) { + var ret = "", elem; + + for ( var i = 0; elems[i]; i++ ) { + elem = elems[i]; + + // Get the text from text nodes and CDATA nodes + if ( elem.nodeType === 3 || elem.nodeType === 4 ) { + ret += elem.nodeValue; + + // Traverse everything else, except comment nodes + } else if ( elem.nodeType !== 8 ) { + ret += Sizzle.getText( elem.childNodes ); + } + } + + return ret; +}; + +// Check to see if the browser returns elements by name when +// querying by getElementById (and provide a workaround) +(function(){ + // We're going to inject a fake input element with a specified name + var form = document.createElement("div"), + id = "script" + (new Date()).getTime(), + root = document.documentElement; + + form.innerHTML = ""; + + // Inject it into the root element, check its status, and remove it quickly + root.insertBefore( form, root.firstChild ); + + // The workaround has to do additional checks after a getElementById + // Which slows things down for other browsers (hence the branching) + if ( document.getElementById( id ) ) { + Expr.find.ID = function( match, context, isXML ) { + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + + return m ? + m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? + [m] : + undefined : + []; + } + }; + + Expr.filter.ID = function( elem, match ) { + var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); + + return elem.nodeType === 1 && node && node.nodeValue === match; + }; + } + + root.removeChild( form ); + + // release memory in IE + root = form = null; +})(); + +(function(){ + // Check to see if the browser returns only elements + // when doing getElementsByTagName("*") + + // Create a fake element + var div = document.createElement("div"); + div.appendChild( document.createComment("") ); + + // Make sure no comments are found + if ( div.getElementsByTagName("*").length > 0 ) { + Expr.find.TAG = function( match, context ) { + var results = context.getElementsByTagName( match[1] ); + + // Filter out possible comments + if ( match[1] === "*" ) { + var tmp = []; + + for ( var i = 0; results[i]; i++ ) { + if ( results[i].nodeType === 1 ) { + tmp.push( results[i] ); + } + } + + results = tmp; + } + + return results; + }; + } + + // Check to see if an attribute returns normalized href attributes + div.innerHTML = ""; + + if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" && + div.firstChild.getAttribute("href") !== "#" ) { + + Expr.attrHandle.href = function( elem ) { + return elem.getAttribute( "href", 2 ); + }; + } + + // release memory in IE + div = null; +})(); + +if ( document.querySelectorAll ) { + (function(){ + var oldSizzle = Sizzle, + div = document.createElement("div"), + id = "__sizzle__"; + + div.innerHTML = "

"; + + // Safari can't handle uppercase or unicode characters when + // in quirks mode. + if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) { + return; + } + + Sizzle = function( query, context, extra, seed ) { + context = context || document; + + // Only use querySelectorAll on non-XML documents + // (ID selectors don't work in non-HTML documents) + if ( !seed && !Sizzle.isXML(context) ) { + // See if we find a selector to speed up + var match = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec( query ); + + if ( match && (context.nodeType === 1 || context.nodeType === 9) ) { + // Speed-up: Sizzle("TAG") + if ( match[1] ) { + return makeArray( context.getElementsByTagName( query ), extra ); + + // Speed-up: Sizzle(".CLASS") + } else if ( match[2] && Expr.find.CLASS && context.getElementsByClassName ) { + return makeArray( context.getElementsByClassName( match[2] ), extra ); + } + } + + if ( context.nodeType === 9 ) { + // Speed-up: Sizzle("body") + // The body element only exists once, optimize finding it + if ( query === "body" && context.body ) { + return makeArray( [ context.body ], extra ); + + // Speed-up: Sizzle("#ID") + } else if ( match && match[3] ) { + var elem = context.getElementById( match[3] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id === match[3] ) { + return makeArray( [ elem ], extra ); + } + + } else { + return makeArray( [], extra ); + } + } + + try { + return makeArray( context.querySelectorAll(query), extra ); + } catch(qsaError) {} + + // qSA works strangely on Element-rooted queries + // We can work around this by specifying an extra ID on the root + // and working up from there (Thanks to Andrew Dupont for the technique) + // IE 8 doesn't work on object elements + } else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + var oldContext = context, + old = context.getAttribute( "id" ), + nid = old || id, + hasParent = context.parentNode, + relativeHierarchySelector = /^\s*[+~]/.test( query ); + + if ( !old ) { + context.setAttribute( "id", nid ); + } else { + nid = nid.replace( /'/g, "\\$&" ); + } + if ( relativeHierarchySelector && hasParent ) { + context = context.parentNode; + } + + try { + if ( !relativeHierarchySelector || hasParent ) { + return makeArray( context.querySelectorAll( "[id='" + nid + "'] " + query ), extra ); + } + + } catch(pseudoError) { + } finally { + if ( !old ) { + oldContext.removeAttribute( "id" ); + } + } + } + } + + return oldSizzle(query, context, extra, seed); + }; + + for ( var prop in oldSizzle ) { + Sizzle[ prop ] = oldSizzle[ prop ]; + } + + // release memory in IE + div = null; + })(); +} + +(function(){ + var html = document.documentElement, + matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector, + pseudoWorks = false; + + try { + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( document.documentElement, "[test!='']:sizzle" ); + + } catch( pseudoError ) { + pseudoWorks = true; + } + + if ( matches ) { + Sizzle.matchesSelector = function( node, expr ) { + // Make sure that attribute selectors are quoted + expr = expr.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"); + + if ( !Sizzle.isXML( node ) ) { + try { + if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) { + return matches.call( node, expr ); + } + } catch(e) {} + } + + return Sizzle(expr, null, null, [node]).length > 0; + }; + } +})(); + +(function(){ + var div = document.createElement("div"); + + div.innerHTML = "
"; + + // Opera can't find a second classname (in 9.6) + // Also, make sure that getElementsByClassName actually exists + if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) { + return; + } + + // Safari caches class attributes, doesn't catch changes (in 3.2) + div.lastChild.className = "e"; + + if ( div.getElementsByClassName("e").length === 1 ) { + return; + } + + Expr.order.splice(1, 0, "CLASS"); + Expr.find.CLASS = function( match, context, isXML ) { + if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) { + return context.getElementsByClassName(match[1]); + } + }; + + // release memory in IE + div = null; +})(); + +function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + + if ( elem ) { + var match = false; + + elem = elem[dir]; + + while ( elem ) { + if ( elem.sizcache === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 && !isXML ){ + elem.sizcache = doneName; + elem.sizset = i; + } + + if ( elem.nodeName.toLowerCase() === cur ) { + match = elem; + break; + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + + if ( elem ) { + var match = false; + + elem = elem[dir]; + + while ( elem ) { + if ( elem.sizcache === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 ) { + if ( !isXML ) { + elem.sizcache = doneName; + elem.sizset = i; + } + + if ( typeof cur !== "string" ) { + if ( elem === cur ) { + match = true; + break; + } + + } else if ( Sizzle.filter( cur, [elem] ).length > 0 ) { + match = elem; + break; + } + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +if ( document.documentElement.contains ) { + Sizzle.contains = function( a, b ) { + return a !== b && (a.contains ? a.contains(b) : true); + }; + +} else if ( document.documentElement.compareDocumentPosition ) { + Sizzle.contains = function( a, b ) { + return !!(a.compareDocumentPosition(b) & 16); + }; + +} else { + Sizzle.contains = function() { + return false; + }; +} + +Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement; + + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +var posProcess = function( selector, context ) { + var match, + tmpSet = [], + later = "", + root = context.nodeType ? [context] : context; + + // Position selectors must be done after the filter + // And so must :not(positional) so we move all PSEUDOs to the end + while ( (match = Expr.match.PSEUDO.exec( selector )) ) { + later += match[0]; + selector = selector.replace( Expr.match.PSEUDO, "" ); + } + + selector = Expr.relative[selector] ? selector + "*" : selector; + + for ( var i = 0, l = root.length; i < l; i++ ) { + Sizzle( selector, root[i], tmpSet ); + } + + return Sizzle.filter( later, tmpSet ); +}; + +// EXPOSE +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[":"] = jQuery.expr.filters; +jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + +})(); + + +var runtil = /Until$/, + rparentsprev = /^(?:parents|prevUntil|prevAll)/, + // Note: This RegExp should be improved, or likely pulled from Sizzle + rmultiselector = /,/, + isSimple = /^.[^:#\[\.,]*$/, + slice = Array.prototype.slice, + POS = jQuery.expr.match.POS, + // methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend({ + find: function( selector ) { + var ret = this.pushStack( "", "find", selector ), + length = 0; + + for ( var i = 0, l = this.length; i < l; i++ ) { + length = ret.length; + jQuery.find( selector, this[i], ret ); + + if ( i > 0 ) { + // Make sure that the results are unique + for ( var n = length; n < ret.length; n++ ) { + for ( var r = 0; r < length; r++ ) { + if ( ret[r] === ret[n] ) { + ret.splice(n--, 1); + break; + } + } + } + } + } + + return ret; + }, + + has: function( target ) { + var targets = jQuery( target ); + return this.filter(function() { + for ( var i = 0, l = targets.length; i < l; i++ ) { + if ( jQuery.contains( this, targets[i] ) ) { + return true; + } + } + }); + }, + + not: function( selector ) { + return this.pushStack( winnow(this, selector, false), "not", selector); + }, + + filter: function( selector ) { + return this.pushStack( winnow(this, selector, true), "filter", selector ); + }, + + is: function( selector ) { + return !!selector && jQuery.filter( selector, this ).length > 0; + }, + + closest: function( selectors, context ) { + var ret = [], i, l, cur = this[0]; + + if ( jQuery.isArray( selectors ) ) { + var match, selector, + matches = {}, + level = 1; + + if ( cur && selectors.length ) { + for ( i = 0, l = selectors.length; i < l; i++ ) { + selector = selectors[i]; + + if ( !matches[selector] ) { + matches[selector] = jQuery.expr.match.POS.test( selector ) ? + jQuery( selector, context || this.context ) : + selector; + } + } + + while ( cur && cur.ownerDocument && cur !== context ) { + for ( selector in matches ) { + match = matches[selector]; + + if ( match.jquery ? match.index(cur) > -1 : jQuery(cur).is(match) ) { + ret.push({ selector: selector, elem: cur, level: level }); + } + } + + cur = cur.parentNode; + level++; + } + } + + return ret; + } + + var pos = POS.test( selectors ) ? + jQuery( selectors, context || this.context ) : null; + + for ( i = 0, l = this.length; i < l; i++ ) { + cur = this[i]; + + while ( cur ) { + if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) { + ret.push( cur ); + break; + + } else { + cur = cur.parentNode; + if ( !cur || !cur.ownerDocument || cur === context ) { + break; + } + } + } + } + + ret = ret.length > 1 ? jQuery.unique(ret) : ret; + + return this.pushStack( ret, "closest", selectors ); + }, + + // Determine the position of an element within + // the matched set of elements + index: function( elem ) { + if ( !elem || typeof elem === "string" ) { + return jQuery.inArray( this[0], + // If it receives a string, the selector is used + // If it receives nothing, the siblings are used + elem ? jQuery( elem ) : this.parent().children() ); + } + // Locate the position of the desired element + return jQuery.inArray( + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[0] : elem, this ); + }, + + add: function( selector, context ) { + var set = typeof selector === "string" ? + jQuery( selector, context ) : + jQuery.makeArray( selector ), + all = jQuery.merge( this.get(), set ); + + return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ? + all : + jQuery.unique( all ) ); + }, + + andSelf: function() { + return this.add( this.prevObject ); + } +}); + +// A painfully simple check to see if an element is disconnected +// from a document (should be improved, where feasible). +function isDisconnected( node ) { + return !node || !node.parentNode || node.parentNode.nodeType === 11; +} + +jQuery.each({ + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return jQuery.dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return jQuery.dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return jQuery.nth( elem, 2, "nextSibling" ); + }, + prev: function( elem ) { + return jQuery.nth( elem, 2, "previousSibling" ); + }, + nextAll: function( elem ) { + return jQuery.dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return jQuery.dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return jQuery.dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return jQuery.dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return jQuery.sibling( elem.parentNode.firstChild, elem ); + }, + children: function( elem ) { + return jQuery.sibling( elem.firstChild ); + }, + contents: function( elem ) { + return jQuery.nodeName( elem, "iframe" ) ? + elem.contentDocument || elem.contentWindow.document : + jQuery.makeArray( elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var ret = jQuery.map( this, fn, until ), + // The variable 'args' was introduced in + // https://github.com/jquery/jquery/commit/52a0238 + // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. + // http://code.google.com/p/v8/issues/detail?id=1050 + args = slice.call(arguments); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; + + if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret, name, args.join(",") ); + }; +}); + +jQuery.extend({ + filter: function( expr, elems, not ) { + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 ? + jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] : + jQuery.find.matches(expr, elems); + }, + + dir: function( elem, dir, until ) { + var matched = [], + cur = elem[ dir ]; + + while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { + if ( cur.nodeType === 1 ) { + matched.push( cur ); + } + cur = cur[dir]; + } + return matched; + }, + + nth: function( cur, result, dir, elem ) { + result = result || 1; + var num = 0; + + for ( ; cur; cur = cur[dir] ) { + if ( cur.nodeType === 1 && ++num === result ) { + break; + } + } + + return cur; + }, + + sibling: function( n, elem ) { + var r = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + r.push( n ); + } + } + + return r; + } +}); + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, keep ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep(elements, function( elem, i ) { + var retVal = !!qualifier.call( elem, i, elem ); + return retVal === keep; + }); + + } else if ( qualifier.nodeType ) { + return jQuery.grep(elements, function( elem, i ) { + return (elem === qualifier) === keep; + }); + + } else if ( typeof qualifier === "string" ) { + var filtered = jQuery.grep(elements, function( elem ) { + return elem.nodeType === 1; + }); + + if ( isSimple.test( qualifier ) ) { + return jQuery.filter(qualifier, filtered, !keep); + } else { + qualifier = jQuery.filter( qualifier, filtered ); + } + } + + return jQuery.grep(elements, function( elem, i ) { + return (jQuery.inArray( elem, qualifier ) >= 0) === keep; + }); +} + + + + +var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g, + rleadingWhitespace = /^\s+/, + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig, + rtagName = /<([\w:]+)/, + rtbody = /", "" ], + legend: [ 1, "
", "
" ], + thead: [ 1, "", "
" ], + tr: [ 2, "", "
" ], + td: [ 3, "", "
" ], + col: [ 2, "", "
" ], + area: [ 1, "", "" ], + _default: [ 0, "", "" ] + }; + +wrapMap.optgroup = wrapMap.option; +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// IE can't serialize and + + +@using (Html.BeginForm()) { + @Html.ValidationSummary(true) +
+ Organization + +
+ @Html.LabelFor(model => model.Name) +
+
+ @Html.EditorFor(model => model.Name) + @Html.ValidationMessageFor(model => model.Name) +
+ +
+ @Html.LabelFor(model => model.ContactEmail) +
+
+ @Html.EditorFor(model => model.ContactEmail) + @Html.ValidationMessageFor(model => model.ContactEmail) +
+ +

+ +

+
+} + +
+ @Html.ActionLink("Back to List", "Index") +
diff --git a/CharityPortal/CharityPortal/Views/Organization/Details.cshtml b/CharityPortal/CharityPortal/Views/Organization/Details.cshtml new file mode 100644 index 0000000..f48d32f --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Organization/Details.cshtml @@ -0,0 +1,25 @@ +@model CharityPortal.Data.Organization + +@{ + ViewBag.Title = "Details"; +} + +

Details

+ +
+ Organization + +
Name
+
+ @Html.DisplayFor(model => model.Name) +
+ +
ContactEmail
+
+ @Html.DisplayFor(model => model.ContactEmail) +
+
+

+ @Html.ActionLink("Edit", "Edit", new { id=Model.Id }) | + @Html.ActionLink("Back to List", "Index") +

diff --git a/CharityPortal/CharityPortal/Views/Organization/Edit.cshtml b/CharityPortal/CharityPortal/Views/Organization/Edit.cshtml new file mode 100644 index 0000000..70278c8 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Organization/Edit.cshtml @@ -0,0 +1,43 @@ +@model CharityPortal.Data.Organization + +@{ + ViewBag.Title = "Edit"; +} + +

Edit

+ + + + +@using (Html.BeginForm()) { + @Html.ValidationSummary(true) +
+ Organization + + @Html.HiddenFor(model => model.Id) + +
+ @Html.LabelFor(model => model.Name) +
+
+ @Html.EditorFor(model => model.Name) + @Html.ValidationMessageFor(model => model.Name) +
+ +
+ @Html.LabelFor(model => model.ContactEmail) +
+
+ @Html.EditorFor(model => model.ContactEmail) + @Html.ValidationMessageFor(model => model.ContactEmail) +
+ +

+ +

+
+} + +
+ @Html.ActionLink("Back to List", "Index") +
diff --git a/CharityPortal/CharityPortal/Views/Organization/Index.cshtml b/CharityPortal/CharityPortal/Views/Organization/Index.cshtml new file mode 100644 index 0000000..f4b13b7 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Organization/Index.cshtml @@ -0,0 +1,39 @@ +@model IEnumerable + +@{ + ViewBag.Title = "Index"; +} + +

Index

+ +

+ @Html.ActionLink("Create New", "Create") +

+ + + + + + + +@foreach (var item in Model) { + + + + + +} + +
+ Name + + ContactEmail +
+ @Html.DisplayFor(modelItem => item.Name) + + @Html.DisplayFor(modelItem => item.ContactEmail) + + @Html.ActionLink("Edit", "Edit", new { id=item.Id }) | + @Html.ActionLink("Details", "Details", new { id=item.Id }) | + @Html.ActionLink("Delete", "Delete", new { id=item.Id }) +
From 6085f39dd5d08bdb38ca04a61c8050b65b507c03 Mon Sep 17 00:00:00 2001 From: Ivan Zlatev Date: Sat, 2 Jul 2011 21:29:52 +0100 Subject: [PATCH 13/31] Implemented a Google maps control and added a Maps menu item on top. --- .../CharityPortal/CharityPortal.csproj | 10 + .../Controllers/VisualizationController.cs | 33 + CharityPortal/CharityPortal/Models/Map.cs | 23 + CharityPortal/CharityPortal/Models/Marker.cs | 21 + .../Models/OverviewMapViewModel.cs | 11 + .../CharityPortal/Views/Shared/_Layout.cshtml | 1 + .../Views/Visualization/MapControl.cshtml | 41 + .../Views/Visualization/OverviewMap.cshtml | 10 + CharityPortal/CharityPortal/Views/Web.config | 1 + CharityPortal/CharityPortal/packages.config | 1 + .../Newtonsoft.Json.4.0.2.nupkg | Bin 0 -> 2369113 bytes .../lib/net20/Newtonsoft.Json.Net20.dll | Bin 0 -> 406016 bytes .../lib/net20/Newtonsoft.Json.Net20.pdb | Bin 0 -> 855552 bytes .../lib/net20/Newtonsoft.Json.Net20.xml | 6520 ++++++++++++++++ .../lib/net35/Newtonsoft.Json.Net35.dll | Bin 0 -> 325632 bytes .../lib/net35/Newtonsoft.Json.Net35.pdb | Bin 0 -> 898560 bytes .../lib/net35/Newtonsoft.Json.Net35.xml | 6711 ++++++++++++++++ .../lib/net40/Newtonsoft.Json.dll | Bin 0 -> 348160 bytes .../lib/net40/Newtonsoft.Json.pdb | Bin 0 -> 949760 bytes .../lib/net40/Newtonsoft.Json.xml | 6862 +++++++++++++++++ .../sl3-wp/Newtonsoft.Json.WindowsPhone.dll | Bin 0 -> 295936 bytes .../sl3-wp/Newtonsoft.Json.WindowsPhone.pdb | Bin 0 -> 810496 bytes .../sl3-wp/Newtonsoft.Json.WindowsPhone.xml | 6331 +++++++++++++++ .../lib/sl4/Newtonsoft.Json.Silverlight.dll | Bin 0 -> 299520 bytes .../lib/sl4/Newtonsoft.Json.Silverlight.pdb | Bin 0 -> 816640 bytes .../lib/sl4/Newtonsoft.Json.Silverlight.xml | 6361 +++++++++++++++ CharityPortal/packages/repositories.config | 1 + CharityPortal/scaffolding.config | 4 + 28 files changed, 32942 insertions(+) create mode 100644 CharityPortal/CharityPortal/Controllers/VisualizationController.cs create mode 100644 CharityPortal/CharityPortal/Models/Map.cs create mode 100644 CharityPortal/CharityPortal/Models/Marker.cs create mode 100644 CharityPortal/CharityPortal/Models/OverviewMapViewModel.cs create mode 100644 CharityPortal/CharityPortal/Views/Visualization/MapControl.cshtml create mode 100644 CharityPortal/CharityPortal/Views/Visualization/OverviewMap.cshtml create mode 100644 CharityPortal/packages/Newtonsoft.Json.4.0.2/Newtonsoft.Json.4.0.2.nupkg create mode 100644 CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net20/Newtonsoft.Json.Net20.dll create mode 100644 CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net20/Newtonsoft.Json.Net20.pdb create mode 100644 CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net20/Newtonsoft.Json.Net20.xml create mode 100644 CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net35/Newtonsoft.Json.Net35.dll create mode 100644 CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net35/Newtonsoft.Json.Net35.pdb create mode 100644 CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net35/Newtonsoft.Json.Net35.xml create mode 100644 CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net40/Newtonsoft.Json.dll create mode 100644 CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net40/Newtonsoft.Json.pdb create mode 100644 CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net40/Newtonsoft.Json.xml create mode 100644 CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl3-wp/Newtonsoft.Json.WindowsPhone.dll create mode 100644 CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl3-wp/Newtonsoft.Json.WindowsPhone.pdb create mode 100644 CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl3-wp/Newtonsoft.Json.WindowsPhone.xml create mode 100644 CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl4/Newtonsoft.Json.Silverlight.dll create mode 100644 CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl4/Newtonsoft.Json.Silverlight.pdb create mode 100644 CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl4/Newtonsoft.Json.Silverlight.xml create mode 100644 CharityPortal/scaffolding.config diff --git a/CharityPortal/CharityPortal/CharityPortal.csproj b/CharityPortal/CharityPortal/CharityPortal.csproj index 120a464..41c19b5 100644 --- a/CharityPortal/CharityPortal/CharityPortal.csproj +++ b/CharityPortal/CharityPortal/CharityPortal.csproj @@ -67,10 +67,14 @@ + + Global.asax + + @@ -154,6 +158,12 @@ CharityPortal.Data + + + + + + !Fu&Y%jI8jTf^ohB|=-$H90vuoh&v` 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%0D<%DjCQiJ&UyR&&5YG-bxs~q--{AAZ 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

!HLzLP=%ab3}jFP+AKrN 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%0D8OjRXdIHhWbSeNlg%41 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�Ncx?qxwIlPG2j!~cc# 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

dm$D`GCc$MS~0*X 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%0DIF>q(H*hF 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 z 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

1;6@Z}>LCPQ{hbyh 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%0D~=G`Lmc-rQQqG)6*N6bnb%;m-5 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≤g= z5w{#3AxWW}43x3*^c2MTG#P9f;4}nIfg!O_STt)dwmCIS$nLI5gm$9@gonu|$ zYbkoulT0r$VZ<+(PkA^hLU&IX7E{V{e9=pEpJ7CQI8&y4cy=(nLb(g5xL44pZbk<< zeZmCb=>x4XlUMpME)gr)c5@iFxWk0q-ENLc59G25$5tfk{uP5{!)ckH#axp55$<^% zX+~p5Czwn=u=jZM<7Q+7e?7b5E9plxh~L#~82(8TwNUeA+q}T#bc4whoQ}_2!I}+f z_ccxkeROWnIG0t0I|-_=csZdX7jS_$I5vO)UkPjlw*K;7gU~OJ4&_qcI2OeD(o7mE zYS%gbq2VgX^9&P1fMHJyMXl`6V4V1kT;SKyAY`dGaW%a*5OlLn`dI>N~rn zlM{5LiGNZIh`|Z<^;)gtxT+Q#ro2)v=0ba4#8$IfiC%*Rc611CYoCd4o6RH_T(1*c ziOxtjn|Leo3`tHH*KtdNc9q)@ZP}SDHd>6dvKd@xY}$5RaC!;{ex?qGS{h4-(0*{Z|8o1uE46AXvNCmXE5v%})IYap7 z;yjZH+)ws0$?!B>Mj|mj79)7&6uMV1mTcmk6_c4Q(0zyJdPHgo=e#11?V0XDFK;2D zQ_WxDIN3POIF8KDK)aU92fgtkS;J0-*a!EV81AUm1b5DC5U?R8+6TyAQRPZu8g5$`6 z;Rg?9@;B2$lU}f5kMZboIV@5K-%_APY!OXwHkl0Rf#~yc;ZJZ|(vC0~@8Y!h?p{6N zaZ*g^h&!#Wca3$43l+qwnsjg|E4MMuHS2tMPUw~tiD5Lcac7p?QV|K2O47du)e-xi z`_AALc6^pK@9-nII-h}3jyaluxZT%b=)(IPZpSnf-VUn5`FK^a7-g6z5wOag4wd+> z*6%Wgm5Ry7+^6L;xg;1{hbefOsNUE>+`X^Stn<4`if%`D`l~@%PWU}(l4Gj~?klhq zRYZvf*|UKJ$F_K}ugxwBF`*^KV7C8OGVGWXi5g6=+d{9TnptwODK^l!d z(7#Ihc9S2rp)ghc=~^MrZp6I2K?kjdx)>oGHXg<;g}3wFRvXnyN%L*A1F5X4Fa&1% z12A=N8!6_(P9EoZgP!3%7+e-FTxhlV3n^h}D*lJN)@mV339a4e}=P9V1~6&zpd!yzuzFIz`FWTT^kJ+vY9KJTEKXg)WGE#)z?k z1LZ-jd)rmSVHxiO{?i(xO=fTjvPdXU*J=@N7KZ_1j!}tAXnZ2vKHG;rWO}8sLGaMo z{Ed}cSk3d|&~-ev*QhAv=YP|P@%;c ztlO`LWmbbGi!nDi6er!wy7*sFSuK7aY%KjH&+j3lp?*>^DO#CNEXxFk55BTjTlY8Q zU{7{0PbLbIY|8wF9`YxZ3ARAlO5qx}9nm7+Z8tjYMy6C0Wu+4F=_-+*Yz zjuRa;@Wkbvow6;{J52^~H%v+#(Cc9&qS2T2(Zcr4u+x}4 zLhY_IGf{Y$ip+3UX=>b6`dLB?o!9I{*(}O-Prw#@rW><6_!-`qqh2QH4Lhpcos>2i zIn>v6+BvgayXMLdX);`kdI!)J;Gol~LrszyMB_NFYE#TsK6iTF9Q95|+Kjj;YoaCh zI=C{G2Uz?-(V!!ph3R4t-UD9uDZ!)OnU0`9;*RB7%s4wZv;dy6tLg(;};frm%WGfI)V=r*NOH=s*)2=J*Ojc+BBd)b3x>rCV5S#a6}9&%%XczLg}0uDdA zJ@|Z^oxXkh!`)6+LpTY4q6dtf7C+5#22GsMIF}g7#Ye{!Ee#BxNTCQ1&IF(E3^7}h zbG&J{Cwvgj4tsH)0CCrjV3R@Yz&X627!2kqbO`*SO)UPrcOR(y`$P=amBX)Y6N|vP z5KrGPNb0TaOH6FU{O{B>3OAbkpgZFj(pG}1tyhLfZFeLcx&jQDh8Wf+#0aFkhb65G zES@}x63L&t6QhwhqtHkIW3H3*4(KIuFEJm23b##dpn&Xr2WY-CHo*z1aSc*|0*Vqi z25+?5SkQVP`2P?%X#a=TaJ&L!<7ZHVI2PQCgqXvF$yg+!ESzv&n6??S5PzYtHhc}$ z-q)xas8Ur!yh+V-NW;hW>tvoc1?WxuzOX0O{`eTXpZEp*S!?$T^(+^~4~yl*3ZjpU zBJS;@S3%({e2M34-H#dEoz83-{_oz)Yxf(m70vf}f=1x-vr4pYQlRdc*=TN+o+s%Ye=jsCb1=< zkde(Ke8P9$t#1~+TcK?no*#;xIDq4hwl&bAJO}y?F66i<_Np$%e3KD!L8=S7-Gg>p z3-PY~4+xe^O?JkV>wSCPgpZB(eoqaQE!ZZd?faBs$S3!=)S=?}VV2#z_Z!>YU@GyX)CKLnP` zJ&KPkc3sYv__A~M8<--bqc&I*41Q?JYLr6!x!H3)2b#(J)m zhJgNEZkgR81O$fKp?QxU>{M3sV!N3=?&cLyA;Zj|2U*z?gk$%rO?G;<-A$IJ3hKxj zmEaA~0V(`QElqKoBM`RHHByv@@Ff!DL7=jAc%z=7H6|93cBia#t7v1QRiP_G@^O^a z=9yNw%l#A$et|ZL)3$Qrah%~>X}yeU500wS<2&QI#`ADR1Uxro zHdWNdATfII!g(ga>{N*A9e3MMfq>0zY?Rx^MAZzF{xYEs+^p^80q9~|E_uSySJ0MQ z-j>Tm*eyP|GRx+Dm@;fqmg%y$1+`N{gRHTD!WpXaZO))m-u7bbdmnpe2wI*W@M-UCy5t8?fnGK z4GVgU5C)(yVD&WcKHK&~$W&+7!k+6g!2`vL9;3EuWgyQj@HviesrV~_3Q*IpZ%xc& z7?D0m(H{so35E59R%})9L<2+X@abWk07?%G5pV`sVukqZtkp(F1`UU4V!1(mDc_Dj znmvsJ)OeGiq+u}YT?cp z91zK)sPYML2rCn>;B1vZgFD*8lu{)tq^vrN94d;(f|GYT&y|Z)IFA|^29~0a2a0$r z2@s_diJ&9M0#_W+txO-fj({yz?)SsVdJkP%0fm3Z7?s~q&WN~;mt00N9YC~ei5#ca zWQdpNk_R-Mf;xhkD#4FPLNOEcWyq6dZBh2JG#71klG;>#!C}u|J*5gu@b~_#{Rtb~936*6O3mf9N2Wo?5 zARTvsKlS>KTAY@>k5-XfVmN>nGSx}|NwX{uF; zy|Y7$>%rj%J=|U_!3OUQ{FGX@vlEKMJU8e01%od(MVK82G13FB3n)`59J!=$C?t};Q$?1Y%U z`o7Jnp_B27-9ZQ*2FS#La!&W(8>BEtY2Wnapvnx31Mj8TXY{28WmQS975 z7PKo0d7EZZCz?(ucLt-H->%)#hDL^DPe=GC90@oLa{6c(+rIn(4_(t7X0Bt8Te&M# ziEyf8US#TKO^vG^E{Da`mur%-jd+p5rKmK^1KZq)6Cj2Loq4tmuE}s5OCO@~F!Qkp z#^nvp<2PcALKpb-Q#>|mM2?7rvwR zUT~fEKad{)SCagDDbby{2tA%1W`~eoF})g~^Gwac=W$wyN8blK0!A)s zBYn}~@k^lbIe-QL-2t{q$R1x@q_RoE;sN9`=2Yxz{*yMkjzd)@4?9@B9#K56(=QQh z#oj*t5IT!bS#2xr4z}36E-mbyXg@}I@<0(mdBfKzgH=%AFhIGXC8uZC#9EW>ez<;H zaWyq5u=Z#=uuQ(-%*ILxk%COLV4+X`mi8J#j)ZHvG8`L<2|R`4Cd_~|Rr8=&zzaSJ z)fPr0x>*cyt~b7EwRKg3yJ?9AK=miL({Cjf^~Fey-{!c=L1)#grF>Bj8-vA`2qYL# zMY@=&spg#~iZ4Z#wWxGQ281!)#0Q~xmtHG;IK~KARySP)#{xJO_wJQ2vNr`TjM1ko z6L=D51ELfel7yYD+*0w9%?SRw2LOaBxC39YQ-!xS`iVpI0xSaMT4ul@>QbA);cS>S z?pr`l;4XG9OILYiuuMx5I$VqQfp`Kahb=@LBv>XpzrgY_;haM$G=PJkQC()VslAFw zA|NVF3;^@U>Iqj7h$pAHwMFDinUhTQ{P%8OG`wcujcm$0f)ai;;i>+#Fo?e5Z$Q$7 zTPXU0L};jCjVh+gKToufVO^om%%gQ$u$~X_#};08zQ#=>=Ye!AhmdtsFMxbP5it6K zA_9_LH>LbT8D8N_H-V$S*&JrS&6K9Tj%#{79ZaMs0`viz?EONG$Wz&BQ6+HU{*-70 zEouu;08ILlQDmBgSaNyODS}YNM)4LeI{Ld~8IVn0&?PS0Sn9 zZT;%gu|h6-TuNjRt|>S^aEYB%Da+gOPJn`p;4>GP_La9`dd+~~l|bOL4% zr9fFx+t4bzkth+Hw98dD#E(FfKrDK%Ye~K{FwX8(yBrvdJwjb4n~ zM?WLh^3^t{=|Z-MIUtZ7QjI>R^SD?HHLZi_LlhRX`QQ~UZ@{IZp!@g`d2`z-%mrvv zt2Lr4LzP{tbr|u=8n+B5{TDm-O4%Qr=M@R81Vk_kz28+#+x%}e@!gO((&ID9>4oMI zmWdT8LXaP%@w&px;Tt;N@~jlaB2a;?aDJzh0`*)uwtO0S%J-d?3jhw(4|1ak}T-0d8Lpi^ZaUhV&Rq zuQOW7qC#Eh!z^B_KZGjob8s>r1bAhYy$DBI%a-B+Bmx{mXp{O#374Umeix4BxI1v# zsMJSj*%T%2u(#k1<^DyI0rTkNgfVvITV^M1NY{r~|KY&<95ydVbFDBsp)aueLDaxJ zajg)?IddMsr+g*AGJ*nvqag^P<&twB9$7UqIAbb#3R_t`ZcJ1?mtacAGaA?Odvm~V zK9lM;M5L_2TNcRod*gmOS`@)lNVr?vpgJ;x*AAxpLQrIoLK6d?261Px8gJ2GhKR{b zNDmsBLy(rbZ=aG7>ReR%hA+8i2{H{X+YJS zZ0&KL(@pmk|59iq3K_CN7u)Muv0p1@zzdxuV3v+znW~X27Q{;nGIc#3I#$@t@C3wf z_wX_mz?vV`Yu&@)hTvb!4ZaM|8^t(;&th#tR{G&<=P zSTVvXoHjWbW56LD>rY`%U>0C?CICNaj(Htgoi-}@n^)9Ln}7AWj&XIf zP$}-~W$$}0y+E8KB6JUmEuY;?&B}v`&6%!fq^zf~$^ldL} zZKc0y!m>hFp*68U1?hDEiKSU`MzX0yXH*q{0KTB$KI1M5;FS=hxlVi99U7I93T~>b zb{a+Phpf%=ssmu6Kb)L%H;NN>;SFGXCw88;UQujub!#J2PZN%%+ykHKwdiM44!wqR z@1vKhO7Zl<9LViua8CL#jYS$1s-un7o=&%ikIDg{%r^G;R{SZ)`Di+?+l?end###| zwyaFsdM4FW?>J2Ar}C|1jNXxH!+x3&S37G;mNs{j_cMU`^#KrnoPK5a8OVEqrAz~) zGFQWl_#|Mu)Rc#yvUv_lC3YJA? zPV1fm@?WBA#%Fl<6g;*~f`>RT0hLjrYrhYKuR>IVu3QXmrId4OU6frQPi(gk8pf$v zNeiCqOx5+ugkA%|O(;~?O0f*3Cm}&i3AuW2T07DfAvh~Fo$e0&5+rmV;4@slZl$+) z2Z2S^O8=^l&|;fg#HY85l~agiNaYANvVoJks%(92#MtSTi$N15)`$PyC|wb1IKWf6cZKYuS^nTr^YXHs}!J1L+B z2GZ0Pu)`0$b0`M?O(IX|jfrSE;%yA^y zo)!kqL|K49kgm4{W)Td3OQ*Y~xM&-Etz+eQacg-lF1rb*RuGtA9Ek^IhHdF&y`_F| zo{C}<=*eE94Scss`a23=?3*dB7r2EZ#-pRzXmrMH(;6s)+qM!?t^l|h(%VRg``orw zNQ87KlfQ|^S@)d(`vV@7BONE@l~)K{?w}4~24KE&F=kM=R^X<<2Oj1yg#ccM6gm+V zD(2da@|#q=+g1s=$g^(n)uaSsk=qtvpa88=(`!(v-FQ~y_e+kU^R-a74YJj`5u+N; zstDk%ptB;_@=Q0Rs3>e@fFS7t#O5CO;1-3eP2EH^f~nJyA?`{*(pDi=0h9<4z=cf( z*yLb=;v~H94zO}n?I5-R)Jw;Q41TO(~( zoZ6B45~Q-qJ*d(>&RGe>JV6b5kc$PZN||Snk3Y|V2M$L7D$yWyklIIl4CTW}A|krG2Jy53YNxePZC&qkE?w(|2L#|haTqdp-FV*S$|DqcI*)Ie z%kl}POII0w-%fs05lSf6wQo`)I3eg$7^rHD5*^_?ri#lsF-ib{hm6GTs0TATHyLE& zM^;;Mu^E(FX*nie8!m-3Qa1r%^&+F7XytAIpvP^};)4rbhJ^5d^f z*ytp%8TN2lkjmjb-FHs7CEma084PHrh+Zb}2D=g^_A<nSnXkQ&V38(p7m4nr|1D|jH#N4e7%5jjVMYp!R zgDP<+3-7{tLbr<|r%wd{uFBMnMI|V#+UtYb(+=wP0W?%R)m;VGGWw*ryIX>zJDwOP?dMS)ca7)--C^LE4CRgAxDwubuTt#Z z`MldkMFzRlnyKy_;sER(nEeBw6ZLA|X|I8thN^oucTq#hG@)W1i04|nLA6#7C#(7< zAsb#LhU!yXIS@5>2h!AZ;otwX)?DxP-MwN%oSPD0Hyf-Tu4rRvIDxbX(v9LmDTq?(*hAL= zE=E1FNSejLdevbDPI6>ou~eF`JVL=`|vpbxbJEbCp0$ z+fa1en%a`ojFMDAM_$vFn`}Wd3`~HS(`E@eM)LdTYAHBCcO3k*r=bTLoE$vc)()`~ zKG$TRN=DC5keV6{mcCr%_n_6r_c#*?37CDVG)U6-<){+MC4UCAEchNv&A(zmE<#qa z>CEp7i+v26yxuB*9R4l#GZ6#j{sh|XhD_mn@af{NGx(x=PrM0d6u7Z6QovQkB3>Xk zNt^mRIx)|Hz%gZTc^0dLSdj=aWKc_48r+w>8u`vEZ9y&LGv4T zVgVsDfdWQigLL5AW{)o*Sa@y)VC?|T0MZ*@N`RfmT>OA*#3<7`2ATkQ)MTtVmEq2S z_`UJEAF>l?wt_0U2_WNT{20fh$P5Rdja0h{t}+)J#6*1peb!{RD@u{ZS2QV~PDWPw zic5SYz%qiDyYjl8D0RDJk)dmFgoJD)Oe7_@#>bQi0Tmpy+1+*pfbjcTO_F6c94Cj9 z7~WAqfTvv>L-uz02-C+HbAVC8Y_|d8YA1L8l+2g8Yp(Bvvp1Aj!QZ&GM7(opNMtk} zo(1N%(zbF?-GFDfnQ-un4$wGFzYq^=3&1#f7Mbso+HLouz{K_yd(mwNbZpFw*oY;y z&Acu?u$Ea>?@?%&0~#vH$bj9kz&!>WZ}*@F)BzeTF4xiTbA4e1mEV9eqqyB5Fc zYm|V@&-ICT1WIoEhp6=`p%)$fjbnO@dDPO>4OM8h-Nck6nc-Ff1cj^2Z6r@zgH)pG zDp8uA>SiIuvRW`;m*nDTASaCH9?tq^$)3O zRK7>eUT27tNe`5ut*SbD0=SM>p`$7X=epO*ga*1*q2e?7HA?YEqQ58E2)#;k7NIh_ zUyV!9t{{eM%_Rq+yDBaqJrBIOxu_(s2;J(DyZ5Q~lL^*#;X}GkcDB-%pn~JvAE9@x z^?V?dLb4@@pG8A?S|I^>0@AELcrvn(j$Gk4#s-~@RQn-j^E8S-LIFvrG+jpY9imx- zJ5RhvxV+u#_$u+X!jc9haDOF7yoDsXu7$BE7vh2)H~^cx30DZ6%|C_ykU0j$W%M1H z-4uW?s~{(%b??NN=zeea9>!L=0F@E13ymrr<1+XPL)R3pOySLTx{pmsA5IYB=wB5g zyh16ybTAK|UZ@m@8GC?du4<5Us@)~x@9Ym^DspL|<~RQh937F~#BxQ#dd98BKa*?i zxrGC=ksP59%HHus$f$O=vcrSIWLnR{izcI1tzCg9(;bJ1{s4C@{)y;^rbJ{R?Vt{e zee@lzJwf=0?o$hHx`TZKm#gx~?n?LETKigbM{DU(x-!H9Xo=+Bm89B-`k`28GrjR3 z{~7o{H~|eFXI>D-<@1;5A+3Gah&)hiL@x;?K-PX`hSQ7Br#qTR>rELqDE_YHrif3Z zp&KNhDQrZm+zAkSp2hb&6b^6xDY{8En>&QhLc-w~e}!(9*&fuZ1jb&O=4i)jpd!Yb z?z7}zyG-~D>pOFae&-^5Y9s(zC)_c4dlZKlQ@x505RR%H-XZN!njnpCk&Q(29}UQOZ(+S0b&%aY;(Jb2 z)c}!HZS%?)Nf4f*`!089hO4SbPq;Wvr6EQ2%N}&g!g_M^#6a{1HR8ob;y+kUdjeet zlGfZ2N>B&dWDSEIc-KA1ccUw6;X`!WTUEyJGWSAN4SEgl$*HGTyS;?T?%^LD9717{f(140Az$VDz|kCe@6i;fXN(XS*I29(h<-jh32t1KAf#O^&3ZAq5z3 zgoXSYng$6^Jo$H1=4fO1$NTXsqty^}@XLtN!O^>cJ<|p0V>x{GsDt((5AE@wrsGXq z*)NruBcS>L3oG=8x_8%__{T=1OM(Q!Byvnt7rNHUa20CE)dp_-p<2+abpSwumO#L4h%dM4gjb~OR{05_cBaYVXlWJ9bfWy(0uinE1 z6xAz~>Ib3;umD(_0`~Ml4g#d*Z%aPfZv3QH4hnq zhMS(iWns~CR8mi^(dvg~Ks8`hkPc~)B|(495v9`Eu*1NXura{HxV7@{PzA7mLMoi* zDjMAt1S84dWx&g=|L!cp(#Ok2FoG%_k2pwPgxN19Fn?h9N7`$+eo8z$VJ49DnTMqU z;ccXG)=gM7l#TI$u>xU274yyT#8hFlE(zQo#W0{G7rSDAg9iiPskv?}PPIIo7@7#z zOkv_s%ur&3h5@W*pPD*aP*LJs_$}-f6fi`W!q=X_vOlC+BKR%$Xp<`stP6e~P!&E5 zb@m4&rkD1#1<3J;Y1c{=TyYHOwAL*xRJuTW=pnaCJobe5h9%IzY(SD^S}sT&4`b3z zkJ+V;-WYcRIbhB}4jJ+C#fN1Tr81H5nN-MR2J9WMf63IR{yC~ZfK@c}Cj;NB;kQx~ zuWv=#_I=&r|44`e7W$`zq<{2AKYplqcEOB*Nh$c%pJM&|Q(H#aiGW{#-eHEEKVB?= zk^`8A(WDhTqA!egll|m8uq9l9m71i*!@Phzk9aD&{sXwH3)6t1LC_@iH8=lBHEidj zYq{+}LSP*P-^-wMk>3YU?tlUsLM=iJYA+yd0bB?My&~0tggs9Clcgk$0K_G`5BGuQ zY6pRWAA+X!hWUcJlDO0xX7Ub5DU3$JXwZx*Ao-&a5Vrq6SzrbPM3hu_lkt`xD28ltl89c@OzXn#0c87utX{Q0tO{QJgTN_ObV;1J^vfr+gX4 zeEy-D1G&1H^VdufAC{_zO4`x5}LeBsZ>S4UP@Fz=Qy8lNT zz-vq54t#r4QoT7qIAC}XN|a~#9gKrfDv&zLP4E}kJj8!9eB#g2J$?^45EPzd$h^p> zK$Wlyu>yn-W~qY>`W(gsRt<*-LG`jDhkl+-lWG1`; z>@5L%1||vvp9i?6-uy;nfM%fC8Tee%>=LtiGX4=NfN=*-1HRYxLxum*Z2%pHj2_9L zg#U!qD&jZLZ~uqSM_Gpr?>;%&_D^f^dQxJ&zexQC5sdzSqy@CmoN23o2LDll61^pr z1iMVbp0lI7hYd%c%!j9dUnKf~8duDDW$MF%r;oM{R-|}iTHKFP_rQ06?Sa~l+>u8r zReNYcuq1id03*B!qr*1Ais-s`eua5Hq)rrkC6NZcGQx{NsY>DwBF#9za{oBm_7H^Y z(MlP33akXwi275}Gigf_Va_=)Du`yn#9Lkh0+t+QaY?=w!NzD}qQ$ z#vA_#igm0hS48hV^etdu<(jAI(IN&QIMOIUR#dh3UNe@pNE!{nK0iL{@n~TNP|ND( z-cN60@S;FiK?aUIw6!2%61PYa2Hb*xR7>c84+Awpvq`+Hez;c%xLC5Br%r;Gp@2F4 zWwfMK3OocX>J1M)w8G(2Ou$EnM+MjmK84{W&G(Q65MB7@sDDO)Ci8)Br6LKi1EWge z*oKcVS|k|_co>0t0=E2*UXNK$j!2s%i3+fUR0xZK)#mx%2m2E$NF6KTEzkYOR7nO} zs+&-yyyf%fL=pTbK=>y}$*Ay3DiRhh@p+5<#XE4}6rKmYPQru+ff|n# zp>8k(8>fTsM&<4CPa^x_iZS}&ku*yx7zCOCqUFHaLLV}}8pdyueIS6Xh8Oz??@6Ae z0Xpl#V_=sdc3gBG)OW$C0s=Xxgk@=nuYptlzjlz^y>J*7bdJP6A$aLeV@DUguODEg zH}1pdQ-Ibmc^i-qmQMkxz}=Iig@E6AyKxKg18l5r07H>)Nwy@j_=u22#8>?vNVO+M zCkcuh@`Opr4Ofe?)D;Gw)h=TeC#WLEa6b1rf<2-TRWUza% z)w4C7LwU4?z5T^WTJK<+|ocLFW2_zE(k|0@lX~)3O zNusb*`~dt&NohzS1boNBcc9Lp?e@)iun3UGhr>P$eWW_jVDymNuO$Y!=AV zew5e_CMfNp0_L=f$n43KbPUvSEgg zD=4Bjy@qepH9xVp~Eo16?JG@#lB{>^gqeREa?w1q@7p=~vr$5875wFKTDp>rrOZ+IX z_S%gaQat9WzG%tVSi~B$j^O9e)MhJTYtOH$V8rrau55e9jm^>AqP8W<=R0tq$XD&W z*;mwX^m4b>*3JfA!jW{vX0#m2IG@|eUR4Ic*&VuW*oIncLHz9woHGBAECkEY_wkM& z?h5Z^#m7OFw)~Y1Crb>E$?<#FgZQD4dWybVMXl*mdQ0CRn zzhw0355kAjGA&XyH@9JHhOk0Rqb@net2%~jvTx_=Hiz|M zh0Zq?zh)3My{{AUBiui!T&MUNu1O4VkVBm<2a?nKYG$`vTo3BMVGgh(d9ltWqM|Dg z-9YtaiO1Kue7PmeMPnz|@^-bYh+~tt+t3%uaMgvm$aWqTzPSu^bvG3a<)JN?gYXZy z>2YV1sF=fNr5CZ!Ur>tG<5)gL4D#*>qMH=KqaUvu%G-W9s1P^(USrd4PBxM@=IABm zRQ&40v2N7Za^O?Bjk(qlv?}en)UetXWiYofpt>cM?FoW6>1w8JvVF0h;helOsUwIH z8y^H|t^4>qMh$O$usgJ0`<&%Hw0Lt>qOROmIOYl-$?ciFxr%KQKjBkO?ZYqAC4PSN z4@7)*ge}E=1sPYw&xU>VPd9#Xr_cVDzo0DKUpsiMfpiYGE6K{aRXGlc4DSplN{M+8dNnU-k~VrFh+T zZGy@EB9-Xz8m`*E_?H;`B3;*gD6nYiYcc<-BrKhWSgvN5C(kLqVe3ptQ78k_S??BS zXva9lGe3xZ?*-l|E^VQVW!*M<-fuj|Hj4Cd8KeiDll-8!LT@2UKby}Z+*nvJ11_`TN8eq zEzXubVX^ybbqw>1)Cl+1NAK14NJSu@>e!K9XIXnQZpDUkFZrERo!S54mFM?&TcC(T zMh7$PbyahJllPGS)Lij%6*9ia-1W?zDw7wb%pXzw5)kAY%ubj8(wdu+EGFDf^c>qP zry8o?V~?rCx5ek*9G*iqo%_5Y#N6f--*$FB&JeB+)y(vvn!c`AnT=#ssg~G7pfjOc z4kSjU4b>3WYMj3~q1OmGg{m?PA4mbtfYQ>wef&GQ)Q`el1$)y>P1%5ToY@)c$s_$b z<3bG%_+Mi4j{?h;6*!l1e3{_!h?j&4>(Ppkt;xKibo0OJabG3sZ=*fX z(d}CGYw_jm@djgCXksESvl!KlV?XM+;}oaCJckQ<+exBRon9&=r((q+hu(TH`L|uT zk~4=0JBFwH-VVP5F~rf2oAFG##^@(R{v(vwQk!@wMsA&4e4}<6GZ2&y2q7@Kx3%*f zXa8R>63_lo=C#0(7_JjDc+NcXfH7W9e$v6^?!m)(C)YfYA+B#$8Sfq{r1!#Y!uZ)+ zwzT62Ra$sXy2tRl(eF<4f%eg1r{+s=JY;Tp1`f;fJ`851xvyq4bc$NrYG5(LfS z>eqJba{Gf&9?r_qa%R=c7VpB8tL|+5Tlb#g;+UYVtne9qWWZnSl=achH%{2u2?cic zxb464?l)`-d_i;ix6t7S&BO_FnI0;ZhQ#zFZf38%7)`$#iavSqz`EVvo!S(6XJYH` z)&84DV%1wvyLPvZ>|GoY*Qa}J*X7l-!j*VUXBwz%#%ZWC_7H!&^QJRDUCV~-Nc2qM z16{mj_2qvATYfwfBL+J1yi}^Qy*m3Ot-7_G3Ay@wNHgg}(Ql9aJ7v(PX6t@2HaQQz z?H>BQD>FF9IV%a3^Fzr$V?85A@D&|4J@5auj!~6pLn8CFC5RXSSzeTt4 z=)yHjEhK;0 zQZ1AjH{H0r?~U=2vGQz5$9EMo`3=1{4%F33L<)~YI_4XWioaXi`tOD7?e`UHnT&t& z+Uy9i+6I?+n7+>TjQ-xqs!Ha_#tFB#+eR%w^2H~>_5BAY)>sGQBQicJUGQV2xaf+a z($>VjFsRV)@GT9xrfk*;zC~eh(D_tYFX-vPI`HU>56EBqCVeT+eSgY2raduPxS`#{ z><+l`)%TLvD~B%DivDa~K#zWU!fmJMk83glXoYH~R=(z=8*vMlnrN7Gho@ABZlpP@ z63;zzBPKr-y2{+*4teN`GyG(d(33nQM20zO z&sjSyzqeld4tL(FaaIYbxy&J;=F#JW^zW4Ct(%4pd=Qrwv6Sd`3CZO@ZOwnDGfi4f zwd-%&9reQGm(T7y^WjgdVYu@E>&grF3(8;O1`&M6Ju~IpxU$BC&!-d}QY~gXVhs#5 zK<%=X-J3Z|=;T0=?be0oG+wIvDyij)jkPgV#_dPZZSBmA&k6<_+&j*0($Z&YvKl?j zOBm;ffL~-O`qUcluLqrA%WXa9_?>Ul66;Zc^gZT~^J<52pu!B$QjJfGkWX)^u1PO7 zd*7`VBI&82#QLXpWqoy}anShugYP9<>G`9v9sN$xtK_d*zfpvV({SF6+)9${oWAhY zcjbzi5=-CMuX;RPoIz&KStz$^wjhZMxrhOEmo31a`c7kd`wS|mf<()hA#)F?!uI0wXdIqwN{|cm~PcP|PopCq4 z{PmLsT8o@x&4JJ38s_iR?6{67Uqbk(vnp+g9Iv3?4E2lMx-6#o-jZ|Qoa<;fxnW-e zzxwPCoV2aO{0vv}w*g$>D=#FEdNrzNr+j|k_G^bKoS(_Z`Ql=70!5#RtggQIsiX=I zT_L+cH+-NxrGZ`!+OkBMA801et(wY9T{YP_-xwr>@fVHLQdvGs4D#C2l#c`3a#lZi zuIuaLndfgRWtT+pMKLDX8k9HJg{~sMM3#@GOPyIKDn>oa+1uuc8|nPC%#Z~W>QlN8 zfdaYJa+y{cJACxbX&tq4^GJs7)gk;up0j56Y+ES|8ItR&628w3>nY@e_kt^w{I(@v zVGLR@)svO($EIKE-pcP+O-P^h_TI~~%K=lfnm=MX>|fkhTo)Q`1MTTg6h5dKHB9O? z;>q###t$d-<7QNETSnpat{PIqT*y_`NeCEA%sHy~rJv7Ya9 z#qeYDXS?mMoWAjknrp04hTKVWN8hsqZ+YsXR{prHwZQC4X z<#1=w>f{q_5j`!`FgGG)5IQ-3Jp0MS^@C4aXIS2inATQf{PnQ%xxQa(GQ4cswD9je zQ*Y2snJLV#!LGbc@4gK0lhv9x_R!9WeQ;gvowkm@H2>zVfBuYzO1)&#E)22_si*H` zgKuxEwx;3I;FDXM{>9ICmY!dBR|aXYZ&IApl+=JkR!kJDyueW3{H1CFd<)Ewy6sui zxpuav6ZB{m{?uUSf`p+n6Si+pLN_m+vaSAo%O_JZ3@vBT(@5OBz;=X#zA{@!ZUmu& zxGAJ){=G{6e3wsU-M2lj@AQv}|McT%--M}9HWclzUw1x#Qp!6CFOc&GOPV7;eK+S> z?swzDePONhJU)F(3-hYgcLhaP4Vq-RR(ir*bhVp*yDh1STG&+kN<_Tm5{Lx}SboQG z_;vT(;Iw;{x)_hcFvon^zKn}$4+o8qL?79R&Xo?nk#vL|@s%gJ)GnKN>@Mo5q~39Z zb5dtK?4`@wazuB2^VFs*20`ile8+ll7`z8wmBO-8GcjqSC!E_n+mJMp zU~j)3-cYkYvD|7rV=fJ}fIf_QmqPwcOm{i#SwPcd`4a zU&P;TPw&2zFyeVtv1*)e^41eIChh904cckdeB0IP`tU?CeUXHHy63DD9<46O}w zg>e32qy2B`4uWH!|9V6^=<&td9^uMyy9GafUZ{yR)UzWA_icgXle_JcKw&~8`A&x` z%wqicwAO0-;rX98F3DOR5tsUQx7y0o7&`^RWn14}g){L`ZBCh|d=cGxXWWLDz|=YO zpg7bW=bXQ+4LBsImaNKk0w^eicX$-4&AV)U&ceJ}_Rc{xWN-}kojBlot{dTw$K@y8 zI~OsRVRti}1(!Vv&(1|OIkEb$&JVLjYCpVdErzJF_b;m07U$>y#I_6gbGmduR=VQj zIkq8i^MZD=ViKJ{kmicrc${teVZ5tb71E;p{lFLLSN*rm?%Uw3=ib;Z|HuRIPr&8x zD#mo*y~)O_GInM5+KmzArv2UV)lR4Ku7|#R|7T7hhiH263k5gjdy#DYcoo_A%#s%0 z%mnRL$MZj6Q@|U^cgHuO-piJC$g%bbS@O4AzjeR$GPqnB&LP^q_KD0cC7y{pJX>Z_ zejO@x?l-G0Rv+OD)m7&so}~hx#jBdl=-E1=@A9xUM~&w1%FKDp`u7b`Hl@D?-MeN} zY}k667nwd9|1sdcsaWSm?`uN-cwtBi!@=W1ZSc_pdK8eT{S|-a`LgN1%gj5faF!1M z7i$$?p9GSHcYKdel8l4>%iF1T`f&(zJk~(<(#WtSpOb*v-~Y!(A0Am?9umax{d|DH%^YmR=&xD z5qwH89Jb}y;E~pe$Uh*oXye^9a1?XE+kac+&!p5`FS?TQ<;al?qXJN)uPt59Y4E4q z+?l@%4Z{v3Z&^4R94N)NL_YbM=mu8Idgb1xW6yZwzSf^QQImi0(GU<1(hm7 zAZcrrS}W9A7gUIfii!{vF@%sz6%|)dQIIuNQEEk^vP4Y6h{z^ORFue;VGkI>0D83Z6U8!#2tcWI^y8P@cS05DAEESdpvLm_5;BxHR_f z#b}{UA-$x8v)>X9l)Owd1nu+gxpvkrwt4IYspci?NyMrh3qtj+ts3y$w#nQp3MecX z>GkpS-_SJ8mrx^M5je?0@APpsCNhmAymj>91+U4TsK1)}Oqubg92mZc&E~by^L;@+os^@RH;N9b`8+%stOI+Dhx4t zhs4CyN_4;=?*)!WC3oYMW2HK+x2(=G2Bj-hIg8B3!USoCqrC7!{vu1ExP4ofP%Xs% zeDf+mV=m~HI`)pe1;?VU*C_mQ7F3;Wg1yhNjeaK4*bgb!k7S^gKxLv(r0q3wHcD%g z`{$=vqXX7g2TLP-f++)2OkM$WGICTuz8{P-U{0dzww)EVojTchEwlZ8Z#28Wzd{$2&!_8bT9hY3A zPk)#n3iWr|DXl^DrN<3U)W(J1)kqd=$}842Rf=D7dRobND>#C$%C}XF;=)F?NZ@c4 zzRMb^NoGlH<(sU~mh*UuZu`IVMa_}w`i-z3y#kC|EZgp&1P!^y4Yv1G)HJe2LplK^ zimf+-+na#RdepNRFod`4wE2l%8nlWZAXH12j4_4IUiyx8FZAK*-Cf^XpcL+%eWR>@ z_2YR9;bYr5UL@w2oB}WX-6+wx81OxT1NFrkN$S42K9ZgcvJ?sK7)&F#^*F}wdg=d^ z1%bpp61RkCrJYH`-z7#m6zhZrytai4Cc01sH{~by`5yh&a3eODRsGx>7fmX&R_TNS z;UnoQNS599?)YhySkNv@IB+`2?as-#dYK*vOahQCzT}Inu+5D>kni87aB*}Pvc}`% zTZl8v*sm_gG~K6y*L6pPk$pT_G08O>L>e~hKezo6^#rDA#@K2Bkvf)KzuL8k;_Jyb z7dwIeTIkDl&8M=^&=Kc)%X850- zx4*f-6uu4(?P(&`O?pgT!H#tp!qJKJY>(V~Y%3O4Oa)3hc=`*YaPs9*=DMbV{wS|= zGUtiUAK2Zt*z_I>swU`!`B-5;uGtl}bm2}>N3!erq(A*KT2flvxGuFAfY;0ulLq%hl9$!O3Vp>U(e0r|BcyXt@@wON1(`48qAQ z3Mg8ZxDQpFBko?BIusfklxqUsomko5yX)&=Da=tp!!vX(zj)1k9f6V|+bc%j-GCm4~=c1>vXZuLbShf6ZUM->RW_ z>wJwNarh2y&?Tsd{H72dn!0Jrq`4Lbq)+zJQo*QdKiBA-xBMy`J5uF100iulfplM&zf0SCgGg=VdI@jN|{t}*c~E2dn#R28u9XHzD3OVgQ! zhL9>`2I5qFPFBlB(z$rO)LW;(O{!jQzptZfu<<{RU$I;_P^2S@926#{S*LB~CLpb~ z6l0L7WLnmvnZ@!0um-p=>rKt)tyY@$!b5{aYmh^hE*r%}^d3bFwbqyXZjKZt0f^EmDfb z^8apJ@T4M-jYW;R;V&uL*GIx`@hVE%`CMXUI0F2TMY{MW#a3NsXjn*IBYo$+8ctR! zyJkElfKF_+anD3mkOrPm3IVToe+%JxN1dGiNhh_G=zxLlG3EI#-UUZj{0>+6wYv+b zc6r#lKTP$@m|grsLv93jqfZ_L%$pZ$Ok7z4Aw_sG zM5^g2c85v|-rGqO4qBW6nYI8$DX*^JpoxLI!ztFo_mZXr{--&1;hPfuc#;lM9st7W ziPZ=BqQNfjQz8>QIpKoB_%N;g@L#@&1h_aN=7o4{;vTYcaNiN`^|}R-;oZDbs=nVU zWl$Zzi<Rn4A#)R0>jI$*ef5zB{)79LRj zTxcx?2Rya`4>pBvF93LvA}{-kxp!s1m&4T8n|Jk#BZI#k37GD%Z~LzFzxJkRUd%J8 zmD8s1#?OEvdmt{zvUyJqcBPO@E4G_ zRM%dQFBjtG!mni$EuQ*x%c%P`pK%ZqxI>+?@%iL5R2saFF9JP4*XaWfD`)z7pC5eV z){O@EHDnU0Rsm|Xjo5U#5V?jm=<1RCd`i(CP(Lob_iOVt?3ld3BA*pXE=SdwA>6?b z9mPCoGebH&QT zXw{vD62uYV|G8+h|AWFoxj}6wSuV$(hLAZq4~BOs``iZ=oL+^YqATOkw$y72KnU(Z z6N}hu80Gi_{vE};_GMOD6lB|A4t|tF$Us|)$!EHhDCdQJE}v+vxXevxon&@K6e}7| z0vxpzU@vPnyi2B5HllWZq@MfL5;ZwfXpuU~`6~BkO3RMo4^W6a2VFf^$rmhCd4I3D z-1FFjeRH(4XhL4F$d?6}p|+C}%>_kTq~S*sqngDyOt0z0 zJ`tpOJ*ix(e6=a7^2v1OJ3Ko7~^;?SYShKrAdRVIMGyIFB@mz~n06T$m zR(Mzn20dEVa7yz5Uh)R^>wsk#Dkx;UKq~5|{nHmb$#FJF#atMiql3M``85RAq0{3+ z1lm-g0OR#G?f$)$3QMCsCcE?bmQr(JW+o}rYaWN1g%D)C$v8`s-YYDYlIJvs2^wMM zbeqnQ8CV1S?-A2h5XTpQMl6#SWWvH^+`CtnoG6$l!zxx6C$i_!6i;5j$+whTN6vuyf0VH(m9Mpj3IvTkuz3$@z*q+TRhs|E7Pmb>X6@>$zXHQ`xyJs z6+shz++|x6mmogy&2OpZn?vla`{H}M-!9L)qSi1prjd~rXPrYz5&dpMCO!|M?-jw> zhx5@_?x${b^{sSxyimy7ffQk)Y*+FT_OA9G7D!Ll);qdFyFr^~m-DZX*p98D>3!P0 zC+*r?R~$y%>dNqQj>63c&^yJk4V5#w7E0Gs-rALM0pkQL+`Kmo`+-V)3h!W_hq-#6 z4Phtd+^kK?|55SG?eowxK>O-i#d+{`e7*FC+Fx24^G7{jDxnUO;tGo>Y-j+5=Fz)c zok4gnsCCfF5H?~Vmb_U$(G3Nl{ed8^dJWl+kud!w|yH<&ro56mvv=mjM$sS%X z!m2Z(iYEQHsV(w@K7jS&rqSCnVbW*o_pe>>_R*0}oe9K6-_~skxHWANXR}v8^wdM#S}&!c^H0mT9E$&V;+5fQ^qQTB(Kx4!>--`$U}wt547=#Bj1a9OU{(Phx(Nft|vp$z2oElaJEuvT%Dcq{`J#8 zv=sNISa}c+2?k6zZtpSW$KqKJ?^cJ5#o^TS7z_3J&jt(l+b`3uxzFZ@DUj{Bx9c5) zI4lashe0ZfQHjP4s{3p~?Wu0%=3!0()G3C7J#~(uKBx_yQI)i0*anC^j;=jkrDf4;~Y>thcoF!nJG^S1)B zGilkB#7I@u6(}QH*ti!F5J#a>M^}+XFse9Q^pXT`Prbb><2C!AJ7FA~s#pn=y`n=Zs;sRaLY{dhRAEAI?$jx#K&bF_;w1(mx0V7P9~ z=J+oh`zR`BvKnMeh3wczTe^c5Tyk}>+a72Nh|`GhL9b`O&Jt@LEna-!&G51wH%)j_ zp{Jmz^Ayq_uWhv5g;^?E#Daa?fmX72`yKL+YrjiDG}5ZNmnvdzTB5&y-gL)LLJSnK ziMx~N$y-(aDFJP63!G=;89a9vTJz7Fgf1`nQN;0&d|D+{~PBkEN`Oe^$H)lx(PhHWRt%RW5U@OKkojs$6b_oeRP*$dnI>b$)LAYfV~JZ|Du+u0fMa+TT9e= zILReUb~{j{fi-#fA*WtK)d#kL3(d`sbu;QLd>~ZGmyMzftWIhdEZTN|-R$2Q!pz4M z;*`Xiabq! z>)eed(v0K=G*4R^{XmFOTyKk1hqexa{YdKGdN|+2;D4;~ceSUA;Q)8pgA!y|cz6dh z$6k`!U@WhNl5of*@I4#Pg#*%=5qgU&s8!>}eze)Y*XIRoY)DU34>E4&PxQLf`tIm< z)C5&tPhiYQNNd;(O5Hch+)-_h?!FUQ&}zza)WJOKY8^Qrj%9RGSUg46f|DE1B*gDb z3N8uo+uKJ2J{NUyGILL8$rl`Ju7K1;zFwrTB%9gZJpG7VB{6N}sD;<4e3q>+;_x+x z65PN#1KTtTQ)Jw?EkAYhpq1A-W4_v$%!sIf! z5*u;Q^RCpTOg?nzpr6vbo&Xti@t)C*fi}AtS^I?^U*%Z5j_0?tb#=P*cvCEYy(TwD zXbQRtD@hhlfKlXYo)S2gA+szQTtLcAn>f+y;rr1AIFnx^PE0N#Fte9|pkoP1qX%~3 z5<0*N#$h#igV}sx_94;^V2Hz`QPtLMZw-4lT)r1%t=dyG=LvVhYX^(O08k0X6q&wR z(WX!DXp?g|PA{?mO1&lKYw8lslK&$3Rqvg2b-+ow54;st;D6*}Uv8^oCIVTQ8$wp! zmacx0Pj>UU3E2vZQQxwvS3Wq>D8!`^veBUs^O)0x!N-{k0D&Y3fTxzA`z*-@*uNaT z7TgdoPge&wHJsl|-k{jsiacAKuWJ7w19jiv zr&)ij$Qy^Yvc$*7p!aq0!S;j*ViHS11M-B1ww`A5X?R9JLIY|UvyId$XqgKw{%9%u zJkk2I0_}vOZ>S37m73l3qX?_wRwUlS2H1+hI=o-1xvQ&leK%O=3RP5_R3iqLEF@)* z!TnNj(}G3f1{aPSwPxas8m^Mv3V-xo+F2zNC#crv1gC%cgi)=w7ErZC9iK_Lh*=H>heVA3*F zS$~sQ#3!D>&59(b>pXVr!`)02Fb{97AUQf{3?tDKh&dxLh=bYchfpRf} z|1w@+U(Ni1s7revTI}`y=po}|eUocduitd1#|g4qAIXX%nimID4(OG|DxAo@r2|(| z_4JZ^UTFryU8D*LmUS08A?IX*w{L$wa`4QV_j@;Y&}hYeV3J8$?|c$BQl)jgOCItD zKG%0-hDpC8@_QtHQoFaGzzBkN(HVyNBf-XjoWn(*Lp4Yb51qMAKunh{$oXtrfc|9& zw=JB^18Xm5-Pga|=;U;_6T$E$9>vX`2_Jmj*ULJ^{(IeqMv(1+FzK)%JT%so1h!^d#=uX zYPGC+nGDtL5)Bw7Br_@n+G%tjLX(w~Groyle=hbDweud& zCA938cnqs`8L*%i87y!Zf`%vXq+1=@H4&7d0+{QyK!jYuRLc|ND_0(Xm|aaAsMfx8#uTqAErZcyeWN3LF%89J$_E{n?Kc|%%WrhnZ$Kvr(x zLdzSXJfAhOo~dR6C5z<=F%`Ji_2?jz$rEqU!Mc*L_tD~yZ3lwM?tqJ6zV8nt_PP)_ zPU8CbUj-9;@uw<0A!3Qs&h^z#^%MB&+9giWRPw&{|65W8}(EB}OBFx*# z>Dc}AE8@~^BgpLwP(4Qm{PS~V*4@l&ji=($C>BId)(a1`GltrMzM$N0E|zVFV<0;T z#9Gn;nMiw9n-Q;R=6XWRE?94J`3dOdCVb$r7I`Xkh_k|liU_nGigLe4a~Jspyq?kK zW;FozpNj6iR(0>$j1J}bLzl@wn2J%H->K8N$r4NxC@)0T);h&ssi~1(nh=0*nnxXA zu-SK1Xn9eVxYS4)IL&2mKd=Iwb+kxE|!-}s&n9ru_9{Jgj7VkI{$X{ICSsrxjrz##TMR|>7G?fZH1c$q~F z1@7~|GWn{|P6G?APnclMzyi;0=ILj76|+*g?0(&L%bLSYRn~5V5#S0cRE0l3|Dz|Azaz;h3`r(4vzeTPvsxZy}1w$Rs}BC3yQ zWkuTH>S<*goYoT_ct#v8Y=D$!rT{8qcV$$?`@|l#neZoIQe7P)YR@3+;1&sxK6dLW@89f zO%*$>Kbpuos@P%iGomOJma8Fj;2k%awF(IthUVt8uy5`QO0UTZq{?b?-5pE4B&DJ3 zKXE+aYQVd51?Yg>&GJWO_=-GgwITyXj!tFj{81|k+;>~$Q=F`eVRT{OH#ZC&8sqA3 zzcVMEoFHW%b7ash7tO_Uoc}qr*IMspI>=Fq3?Wi)LWajVW>eaCj+b1n`kq+62MCE~ z0InhCeR{8&&Ppik>Tg{VGoLQ|O2#BV;RNgIBWxj)#tm)>Y__F^)sU&DT;JE{lXB2t zb1j|VICqy)o&epUH%x8FbiM4}fz4wKabOp#xTRugLsHl;)0eBa2G<6lj#`+sAiw7h(Lbp4H8M5OIJ@-l#yp z0C85vRNmjV%u4MC&M-7nMgvWt^}fc$@sZfi7o*2Jcv#|)2cl4(FT#kHM8{@&RyEpH zKpu5@-tBk3Z8&>vv){uz`|n3dBE4&Fm4iMjiz|I5Z}HhwqxPm9HrAA=4{Y4`)W?jSuNC zpR1n)d&Z04nv0qugL79=qZ|4_Q%Il`%QrIIxcyL zPqy@Fn6t+`lP(C&C;b9Q1Y_;ozccjjWb)Iof^Aa~LG0lN?uUO^sb6~gr|~D_(EN=v zoL0`@7jXoCEttRe#89jxF}`pKzsRohY5Smj?j-uToW!+2wBG0}#nkS9%>Yw<0p8xD?{=dMS#bHbqfFbW#?-fYkLS)0C77!Iicb~|>z^0SBkIQ-G zoR@!@?L6?9V@!~+gLp51)5*18XYMfv?rYeA{q;Hzj=~0YVu#=sc0&1hX2_-*-$#$q z_tc9Nl!D8ajT#0-e`R{k-+TM|j`aci@~K@d*SJIP&kKQb;LiEOAJB)cRRV+33b=l6 zzHHw5$zlJRBNZ|rsK_^?CX|DxopN-B;YbL6T%`-<(^$Sr=n9y2>N;AL)Hp!b-D$25}t&_Sw=+WT1uoDFGc#% zN$yeLWeQv8yP;QUHrf#Bp#qMFJ&~^OK3Wvm75NWB%q1OP&rBG}sDJ`NKI7@yP4ACz z-RK*?t+YM)?V{f~TXy+MA15*Fcqc(Pq(uZhe}@DWBD-Q13D$A-p8GDKZ(+-LES4n+ zhikHLQ4A^PI-?SatDlouV+4os!&+xU$P(!Exf!|n*;LbG%jMy^Y{6GyL2gWVLwDoI z?u-4k$trENW=rGnEC$cLcFS?bJoV%{8=u5%s78>D%yBl&)ZS-=tH}iiSj(>*p!725 zCl96Of}sxv8fKZvJ%Xry)}%KE6Jx zqZg( z8l?gM-4QP~6wvUMaUK2U)o+J)|6}XZv>+XpY%>~vDq_v|bK4d{I<9I>XIY-;%}dcw z*JtPEIVgo87%l3O*aOO1s&SMIF4Ed*>l_2fVy3LneH-0##Q_%_Yd##cyEqrx9OhjA zLAgG6!_WWP=T4THXgA_b@x6xwKh-tEiJ>@#u_eQ4;92nMnhe#mf*soYYjXoj)jf|~ zM40{0c4ZwfvA`YB($&cvCx}xiL22|3KWaFyk7&2jt3-0-Sc*>z|u4`EN2scf=+?-ph`n|CD(`>+D~3P z&aB|d>sLd&xbCP&1ayi6MM$#w0nPM5dJVO;l-2{$m{WjU0B&Wr>ZM5O|ERTg@+G{`Ofn-vSJz-|0e8Wl9!p~r zS@7hwpm1a&O9$gkfV`m7>0@*#oB?%LgiNaOgSQe;$SPRrKFtbJfU(L0iyKJSWK@;c!Gg<%#ewf~b}8xNaP6*S$?4up7!7JPB^ zfdtA3KFeLBFi{<^it)wP&dNn(sa|tw400XQ7KfOaV4~QejXE8M8chy_utnUT!WF|&us}UJf{<1r38@D(K0Ef&G zB{vm%>%G%>MGJ)%KJh*7jmcMMHq|79f-TpI1M5yOoGbmospx_A4+&Y}v1uEU<=>3b zT~q%SK))#0^=hp2%#8lE&ECJ~954ytmW1$|TME4O%T1IYlL2>=G9Ob0Fb#_21#l-ojY6g(VH;fvq5c%<`l|uueEnzs zb8p7wvJLlaEZ_+}F?B>|?Mpe@Ho$-EyE)u^I_B%8>#LUj_l0|G(RU*jZYDEUhD5m9 zw(ykh$?Riw&Zi@IlTuXUD9|F;qF{Xh<4sD4X&A2PhSL?w15*l?+oJKNs?ofg+TpuM z8i+JiU>z{vlDh24v!=Mbe*CHia~=u#t$Dy)rEDQe-jse3PT%Z! zXPnzlEv}e`E3TY2J^dIgAE%Bvf&<%Gi~9UJWpm?n8F!X#%#iPS)U+_)fTY@$I@k|J zy@)!^nQKUI#-ZZq$@ zji@xV!P$d9|KmqFLglaeSy$LSt376KdFz0J9s2H>;~d{P-J$A}STbZ->C`T~Lni1k z{3pc8#lY1hC>ZmC{!1#FQzo&p?TLwK0s|MunR$G!-vA=Yl9f{al;Hs6uPn85x5#^N zeLJHsn1qx{ovk`&L*2%m(FFpSmrRw(HqokSU(GTb_-UYsQY7 zb%z>eK#M*a8i6r01&QC6D2p?<-3w!&`2FKB93;JA+R?p>W48>gJ|m#a0TWDS8}*aj zG-1@tANt{-QXO6D9=QT+Bnr26D&j>k$I3Z+7?aUET)~?D5rwd?Kxgj4-pkKfV{B1H zVxUPLXhLNnDB9U1L)6yN0*}^H9$?mNF!3U7%C;XXCYx3sENW|Q8P_Ly4PJHs66N_b zt%1Eee7&8GeZoc-HOhl0*9tpis~FwFVJhXoyc5VRLszKj3=WU46iTBGbc=Kym2fgU zyYn_u%|hCmN{=m?1<%M;JHzyny@folKx4HT6f+r1t7_BmC37g#V6sW6*F<>@${@K0 zc!dwDIy6FiyGrrch#qqma_Gx>vmP$>dwhH-0s4JJJtJHq+F{qbs^!qi^~{4EPTZ&s zKXl~TQ$w8B$~;Fq0TY=$Bkkk^z1irL9$+VcUk;acbe7KaC*HJa91fkFU8Bv3N|puM zGY0!_NU{e9JS4>3+QEfiPhUx1wF|~d4BCX&3-&V{Y^bzua-yfTzstH%RuQL}zdNMN zW!i~OV(Pu#?df0HP3b#3dp1*aeC}0*Crz(Y9bB6)@R&Bz?zD26nTM2afA-m%Et|SE zanNDu?3tlq4k;OH8}#PX))j}(_jAFb8Q9aW7ihs>l6Tr(-h3hp%XwEs!9m*4?p|!F zAg;*X{S#T8xm;nYe_6L%AE(!ZI}tO%#-{|crI+1t zX)oLYPW zZme6jfV}n7b-!`MqI<%!pzsI4?=?Jce9ri`=(B|t^QL6NH|&M=qE9ABjt>!V;7Ur~ zOf@TN+;wl2x)!>#N@`o*As4aUr0~_N{iB96pJ|SkIF|`@oS}qail`{&X|Uy@-j4A9Lin&uc<)R94~)(9zlfP#_IZ3YwQ5p*p7FfEM;*qXcggG?VHWfoKwic*IH*ybF|0f`%JNQ`Pss@h7t1>Kw5h8 z4Pau7;twNMh=sJkQt33TrBufRF_&*$ch!Qu!`sPJ&-X61*+rG) z$~qqp{V4c9VvBwOih-s(vck-{zRrA4Qg|kXM<*89?y-ojYQ@D&Z31=at|}`dx$LQ7 z?&X;Dn8imTWt}EWBR{IPm{TcPBIcuDmq*%J;5wAnq`6fl zC7Pox=88eizalW0aND|#`iK<@uWy`%2&E%)gBc~z8AP#wR5M}VZsYMCJtcb5i_AD% z-3mQaGwJTyfkR)A`X~?Xh62CyrgsbJY5TpkMQXk{=&`oYw{_f~8%}Wc zi=ZUOtK_)WLDMoxQBj+yN{Ze2VJ^e)s2>MfiL%RPEl`6RO4b#1$_%Uy>8jcMjSG+D z9oelMazBjwvL#;Stb>Y33U7&3_a6=_Pv`#jO~H>ntx!|4Wv_-4OpAsLL7L&dBl9>J zVUq8lJaq!y+htuP!Wq3=oH0i z6-x9zsW@MNX3l|4p_7glv}L$#THREB@GVn6`1PF_gmVeaGDAtW1M56ngG~?sOR(b2Ps2s|adsnjQ|@7o0<==NZL9?3 z+VS#zF{crM{kqf<&B5OXk`1l3o%ldWbL7%i^ys*#mks*Pvgvo~+V!r6CAuAEL$Kvp zb7_qK@>6>v9CuKmXPl-8**r&J3ckyKr`dfR>$7%A?}3?Nb6?Z zYZ3`AEcsrO#jHD;;jpnCC27?rFs9`Sp}VNGm|xDK9quF&4lyah@6li?n}CrTcheG- z=pByBNFsnkMueJNK|oLKy&)q-5qGZSlQe=e?L8weAF2B+oZo4?v#H>-;Yqe$jr?16>UZ{ zSZTbBmMv(mZjFiO*IZ~Upd_43m$<@EEY1W*1Tfq2@#oU|(RRu}jtxD8Rrn_>L#PGt)nbhui^*M;=TY&FJl(x7Gk<=jaWz)ObN2&nxY6nt!@Ir}ovIY#QQ*w*ng$Y}r?c3X{;!cfHS% zMwWjw+hnu@;&ivOR`a-QcVA_N2JR<|zv5$jZjA5Q?(`m?q$TOaX0?<(;K3n9d@e21eYEM75d(lA)-p7-s2>(& zEPMf$cTH(M_Nr4bZAQsUyQ@^Ykn~-xRCnP|4urD#q~n!rRv)b!f0H7!H>_@$k~|n) z`SIL%>jayX;Y;AA6xpmw&-!lsfqP4wo-Bn3Jk|A)J)Iyk0cRcUbJmU<^yr@D;BH3& z`8_JML&js(mylpEzcW$jj*g?_(N_m3$DO82 zx-2;CroPzp(L+(61~D$Lz20(9-y+d5igd?HzHXQZJ$=%bepkRe-_y8@klS|xf~ey;Mos2<)>|tk`9(9v3OqRAw}}BVSaIEH~|EN z-m}uV2hCGOji8+}Q-~i)^`QE(_}($Ok0;+~p}Zi$0)kFvgvbfNc{ojxPVKmdoa3kB z_F8+f2F14GOu9kD=b^5gw-rO!5xlh;r_B%$V@^*DE{VPf!IsiyZh>%X8Fd8Ez+F0w zYJ(2z$yAJZT7V=!Z?_Kjuosf2^I zt!Zn!Jl@aSRT)K4#{4JopTBujdv33W+g+DHBzVoJW6zj~C|Jh4SeupSjCN5wjDOBJ z=6DeU;l#YD_@Byp3Yc;I8W0a~tQF65+cjgWrVc!1MaqjBce2qT`|>_o9oAC1iv;XO zd|KA7BNl}{E8*=AKeK%HlOxHlc{llXI}*yDB~9@w@fnifgDvDDB!0;2#>pr4L0{0% zx%53@tR6Do=id{Acx`&=l{(h_DPldV%9?acbT@nQ^^0YF#?U}{sL{o zEQrJ8AoYghL&-EtA)}&mcm3P&-G}@=c`i}&i&N6#NVRf0b5q0^8ChEq(P0>eI?`P} zv(;Vt`Jv&9IA^VO{~T%&AzYr_`MX8Gytjtz6b^4l$y_YXyrHf}T!Fe&y(EzZ4=+yr z7v|?hm|7iWa(yX~67hFCdI0=VgPFF%ksRX$f<5c5 zg#uq`AvqNxJX|)eZ$@fZX&x=)-ykm~ezGYxh-zt5oVR(YR8I1uCl{J@UV?U!=>z+t z>fV8zW+ZzpBMRxK<$R>#)nJ0D;4$xw4yL_iw1x-bKEqEznA0 z0gpbcLig;7bI{zd8vPg6A*v~B?Np`V1$G9X)!83&F@eK4G z7fwo;o!w7T;&>L$IaO?gT-ztC3cYvDb_+eR(3S=xPA4OE{HIUGEM@vB4YMNjdR+a4 z&c`X@!2B&x3f^)p-YF}EP6SP}A|eLH7wFAZPreI2ch(^mG>CpNCxi4H&usX)`@X_> z0)P}Q9&$E6QHZngrWlWLyQfj{`bah6Kj_rB6VIS@#Oev=U1+ARE?MFLtG>TE3sBr^QK+b-fLr=757*unKHyqz_UFVeY>_q3>#4o=;vD_Wf$h>$= z_qAPlb2oZ#SK__QzkAyY(nrM%Qd0>`1LzE1HO&HbSEB_H7KDU~W{cJJQ){NwZs!E9D zh5g0+LbZ;1Xku@0GZFZ&0I6^o$>XsYZyt^chpvCZkNgzP@q2XVRD4V?>Z<<5XCS!U zzWwCzo6c7~3z%#--I!Lh}JTzd8D`(VZHZ=d$FhxD-*a_QmW#6M~6 zExPt!xu-NQOFlL;?fw1hXQYFp`nj_9 zKJ^!Fks}rze|@aoujc>$o3kLIWeFIwADv^i~A(=|n@q)L*a+Gm>?rOUYoY}DA!jNkETHOBM4zx8&LwK%xpKr(co!fr8ed{Ym+ zH&TN?YN{D7JsI|!CY<0^bW? zteyvP7@bK>>B&$UhHqx1edse)Hr|F=W6zb}$W`O44r$yYkPz}0gp%nwFY+S&|NJD2 z-@18$oe$NN1QQUpcSa=TyN#WRyh<&q=q$pTxOlNrMy$}Ak2dD0%vHwpcXfu@RA4bs z+jL^I*ZqcXn5G}7mOIJR_uZ@z#f?$gpNo@@q4(vGU`erAyXWM36IxC69r_{Sm3SrP z-wD#+(noYnF@{(WCRQA?bCNE7DhEQ{}7-HOL1gkvM$E^Q`m$BcMTLlkA z3(K;tX^VBn2?zYW0)51hH?ytkjqN~&b-d-T|Gr<48Bc}txS5WG9$J4Jzq)a9O)=e( zh`QYxYgrOz8TC}{8BVEDT6iqNpdq#mf-{r*Xw(E0tXHPZHNfRJ@!3430Mh;!nA>M3 zVm5#N`k6U9=6a_31UjsWJR}9y)2?OeQmu=PhsfnOwAIG`yags9sE>qE9ZqntH}DiK zvLeTK)auBdy#RS89MYFXL-GIOP}*nV&KRSlMwdO28AD&X?3g6|^5h-Kz+vB9y723# z*S{ODUqQdfZx;^TdEfLgMZur*YcIFAHnFt4f|IJC{8>M|MV+szrj}z-o+Igq)Omz= zj`6n%R#1oo1ZpW6Y#YieO)JjgQ593q)dpgHV zHS4R2ywPUleG|zAQzy)YR3_6c>#e3v;H}9>c+eBItdbKVV=dJ|Ky}zM++GsFaLGH& z!SHK0)bb6w&V;;oufT&REL-HN+Pxt^>u_7$(S}HBs!>FQ!3`~YYEp6v05(ZW`p+{?j^Q zDJc!mDWI3&|DHy(EOv~3pJvUNny$eFal4dJhrnx*o$z!!_{fEpjq~Za(zYuijC?8| zJ>$y%dZ_-!&!JpuFLb4xpA9pUzZPtqas23Nm$*ex!3H`blacrtw(MQh5Mk3@Rj1Gd zy42djzmn^n;{Zw2JX>kGoYOZed1@D=557{7t$Q|gXp*wrWM%b=&vTJH3Y8od!p6qM zg`ruYD$(djTQ3+jT{JO9?Iz!U-!vYHR=3ZFePfrdHjDHc*W|@H*`H#=pJW~OY({k7 z)|8B^EzVdjS=c`82Z2@dvRXW-{7u+1Vt-#6VGjj* zu9s-ZOiWQ9%z()|u$cWH#=sz<40AOMwQzAmgLfMr?y(O2t1A|b(KrlW|L&A_pjtDL zPsw|bc+)K9!xQ_^&CJ6wgAQCg=KcN1L8Wl`v%RTuSr}cJ1Chn*aV!N+fc)w{D^54V}JT1 zoBI2qk%bLYe@V*Q-B`KKT2BnYFzIYOCwE$b`!%@?Q=*AtHgO;OQ{nI0tcaq@Wz9G^ zi}1Iuzl(YBP1Q5@seP@9DL`oT%VIWWlh$HR=%nlMz^%0q39Sj7N3?`(@z#U+097) za=mrJUerSv=ZXJK4xKwdD&gzn7$W(!1AZa1{#kT-kF_bw#&w@jT}$(f=2yc^@M^BD zoi|g>{=xjk_EjqmF8=tob>7G$2+C2naj79=kTVCfaEj-!4|>v9?bBL2IQ;GbC5Z0% zeHsS+8x!qR`*WIJXy+~|5S~@35Yrmt!FSb5c@(&sBV-)tc@Kvz79YK1lQt{708LTh zI`e1F3g?`tEyA%o)UIrcB^dh=S)YZHH8|cfs`Ifdb{|#JTUtW?rG1(^q6@DW6(#aF zS{{amAGs85Q4???g5NZ$sdhAb#k2ZmzJQx6WAw8vJ;ogYd7Ov5v4_-}OjX3lEBCkA z&+S6|7~>A9Bb-Cre`{vt`{k_Nm*<+?UBFNv)wrqH0e2ql#Qwr=g2(u?LKrHrnT9&h z?UBpgJ8_EXi+D@p9aG(YsV^Y#A>ozKdM;r z_&ChY3twid6d6xBv`@|3Wre9jgGK)jQC}a|RN2N~k55u5tg=Eu*i$}FRF-InytB*{ z&199S8RAq*QiQ1>1IKn!3Ni&MR8(G;p^_;qMIA7c|N0k)Da=Pah-k5Q4f7zm?_VRA{;~}AvMt-iBUyG{F3lMo z_eb(cSsaS3iFRAx_jP~kc{ce`tO^f7K}tOI+`KQQUP z;=t61O?kd~-U0T#{-L4c(xkn$er^ci)$?@=RDStnjghKLyT4ujRhSt}lwQIdj4C@i zT}B5^273Y;E*<@2*Kl6oPrqmCAjN3GBsBzr^DrCgm_9ksk4vpZl}6@H-Fus-ggCvH zmIo0gHFnb$<#HFL2{(|BMydLZi^n0fHwv zGr?v;#0wmE465LDqNNHSRtFIrBY9x;rPf zXB?8L#Roo~4zmewxCG=sn1*BR>OVY1^)PJkc7>TZs9)jeKK)mqEDb$z%}@x%GbmE| z%?hiQ8v3VkMU^bS8tT!(rLMlttS3rWM>7Ck6o&8UP1Ni5o~pCq@#eS;cWVOhOO8#K z8;C+;@LN-_2U+zIOcXbL75Z9qMZL>=b3|$3vA8P-65OZ8&mc^^w4(y%P4}5ZN_1G( z1fe1B=o#<$WDyKbnrZnr%ael}m*leF!)88~1L7fuiDlSf+Be0QW(y^_2-Q<8uv5-=1 z?f6$-00Nig)4{*}&E>9)2>Y~N5ap-XkKcOs`uHZXkb9DTUqdgvHBtZ7j_YlO%YiYg zBo*jc5xyaPutm=wzD^7bOH;?!`E;}u!TCEH*G9Bsx}eUzvGOzoPmeL}EBNDkVPE8F z2DYtc(!T%H?9U151W?kCLnbEkptab&y`d$d zJ71O$`yWshlBjX}*E|2&36NMo*T9|j(GdikOrO;lf%YJ7=bxniFPn<~e}k7oNe6$) zKgE3(YelUf_OCl{5~&EF|Mo*_4`?0?=ct)V=v^Ow8>XN|B)m*C1D$praKx#3=p*Pzq_J1fUUv0ynfX)^O;Z3CF$n>jPUx^*`%t> z^rj#aX4NL0@TJaJv~u1GXB?F;8|KcxUJVV6ZALnq%Z{$yz(ejxCkSelMT^-+*YcQ0 zQ~2V?-gLtkUY^4(6BVp7z53Z?6FgrqxKqo;4op1D*e}yQ$n`5ozb2O<&OOB0{Gkg< z`UWqd3RO6Q&q%pw-RN4diwlQ7ydz@w>?|4C z#*X~`%ZDb)Pc2U6F`d#SBeuz6Y6fF(6CGKvWcCOMTVDm2-=X3#N%P+hq~p;X3!UtI zd9Ag#x3{4%fNYixSB$8%QY*iwr{G`1PvFQr9j|2EEzf}QXAXbw2d{%alti9ORrUc-%A(MhvM>xZ*MZc&r`C%Ah zPII?2yvj>hOEQJm7-SenH!$cXaodYi-)?+ZWhl%Rf}8P6I=T{LhNTm^)Ip0Dy^w}v zM$}cmo>m(DICH;wpqq+w_&~4d&v!#27{NO#zxni<%eY^$*N@H7bw@@ix1-J!t8(#s*6cVh~)9A6t39tE=-u6Y$c7h!$FNYyG8L<XSHvX}K4d*(^IZxo_<&k(<}=y!lgSVa2PdoX|&t5Q5||J{;@l zT|QGhkK|-TYz}`vRic-e<|79gwJ<<7Y=x%qbPcvqoP?}3TH!?Wl#s5Kj>BC$Oa6F* z65nsB4Tu=hwNdoD`3`d=9sCfZOLIk+J*j*)dmRFen|F0wzBlGPcmK>zMw796VGQ9F zt$Rcxp47a?e#RLrzL4F_3s#<}QqC*L=Jo3*f_|%syTeBRj48l=FW;nG=C1|~B;-y> zbi%iMQiA*$PyZ9~5>+d#BG(@))Pg#?ORbL^+j_v(H zhb`yvp%oDt4QXOW-ZgVvNiMyg553mcHj{o?h=-Ri9#eaGbmb|} zq9~L-6^TV~eENDV$x8m)VQ+r#qgsE7si*w2me760Bqr6XTQfJ`=ImTqrkJN0Z#U5`6+}KiC>L#! zI)wBxix$rHx@bZVC4MSdJn9kfaciRN*F)}nnksD%qm{lv!C3`6e*asd$<+RqnJmsr zBw17Vc$7RZijj!(O1~5XhsI47(bDZ4Pv$1CCV>L~PoNHCjb3w6?>^*xW_ znKKH0;@vhL%BD*DE95du1Ov~=vVSEeTg3~FhHcsW0_5$(@9doSd_{S9lujW_Wm>K% zt7}mN)D5;Y{Z{>v_9yqfb#&9!AIt|odDEU0S&K4b1ASDYY=p#&Ee+^_742UR8~@$g zYag&T(A9B6@nSe*5&NG-3x|EKMv#XyYhiyW(qXs77YF)|{N)IajuP#4ntS0aYw9#K zNWYXuk;khT^~|tgTd?^4_Fbto&Nf_=aquAD(A`pXe|SjDXn6fsjCbxEW(qZ< zn>?QjkFLn)3eqK6PUD>ZF8u?7V@qMD#W~qph`m?X|o(jJps9v-hr0< zUGiE9XHsLoVQIsNq}7~Do} zWv*)VgidTro*1PQy=e&ET^KjGjPB(1bJu55*4H9j+hxW0#gnbni)24t`Uf4%nV8ykOBe*5fGW5YytzrsUyT*Wvw_8Hfzg8ZcQxwpyK|hv08Zi6|GjW zlE<`4C&sbm2<3TRikTSYn&`AE!`*5{VJ<6{^XNt~>4-z}PS87d{E3dP3Og=#E?1kR z69cw}>9Lo@@&O0_(?MNNGXg>#gZ}C|`Pb}ozB^`*uTX$au@AH~ znDp(*t~+p~_Ua8P*K#zcb6+;wd#dsHH?3o#8^-Q73Xj{u!=e`NUDj_VpgoDy`5T(= z{EgA(W&L;7q5r-rSABQ3<(jTXCH*_>KK9ACW<>kD`kZ7__ao^(m$4-~n<|WJag1o} ziU^x4Hzn~X7jh@_Tc*x@k$LIzs+n0#gQ0TMlrjNKU>s1{5Y-g$#A6;Ux-0pO1gq2>5&UAtC1P8 z2tY#*BY$QE^4*FuXVTN9RB(E9RA#!_IHP}Ya+6VVE&6O=NFPBQCRkVth}(WLrWlW7NC^y(m0Cc;#ur!KHH_TL}lXA4t-ZuHJhroRNmk4HnHjSGdc}N=*i!4Mu z2UVWVu-k@fRSS2{y!X4yr$S7V4HdG91iGEq&sIkh$ot0B z(Jo6tL8$m|KhF8*x;2-+HeA>qV)|xfH_-Up!>Fu_V%i2luHKb=Mt4{FA z>%+!FO0?F!AIH^dlfm`(67ZGQq61gne)9AKnU2%L=~f_h!X4Z8m>8Kon0c3Kdwi2g zZme5(8JT>7#btK@MG$gOzKU=Q@M`oy$iSgx zb-RA?l=R8rkN>_~yyU+&H3hBwJ}MAi%lNqaY21*V25?lM_AeVfg;aY^6lxNeEZjYB z@5b;M>yn;PnSR};By1LMEEAj)&=CbGvi@9Okbq)PJrT{f=bRi4;9bnpwg#oNs z|H#k2DxR>bkUWVaZ!jc5B9;>aEqGV=?mM-|OSxo!>A@A6|N<|dX>=VEW|oKNp-U-Hz^pEd>uB-Jd=pYgsZT9^SxuAQA4qUma0KTnM* zsU$!MT{Gh{v`g?ggA!BZ*`=e6aZPU{k%pD#xliytce{IDF94QmRCsW?{?Y2&4j5R) z>&H6X7yn6P+mMu_D^^_#4b5CtHl~i6krd>Q?BjC8!ff{5xJc-F+pbUt1hAqvya&2o zL;2v>n)#RFol`j_#4}!ZR}FitUOg5S`ZyE(!OA@oh$U(4JN{4QABSM8yrbHlxYk{{ zyYi(euHc3TGw z>RNQoqpTR`WOVA<)jzbiRC6Vr&g=U=Sq4W3g3I{J$nT;#CIPFM?iXhb(cL5drh-4a^6Gr{{P{gQ+noG!cNRL58O=$W z{xhz{D!AG@HhFE)#@%1%<58J*TX$8>rVyJ0qkZC@G&11QN{p4Zi`GHO(6{2{uTbwb z9$r={!L(s#VI#Lk5A=M7nmOes{SN6_@ld7fwBccY;ci8V=bNtxqS(>DZz!aM9y0^1 zK{;B)nN+WKJd^jmRvzaF4e6gs8tXwaEJkqZ14bD_x_w6<46^jeFVYNlx4wb%pBag##})D{@%{>_~0!PD4&K1A&#mFQUxCOHfde z@>*)vuh&yM?sAE;9>&(&ou8SQiZJ)2SDZ`Ss_nozl-Iv8i(J|9srBmplbP339^RGA zXLG{BHfWqVVg{fJ3XvQ{%MYOFXJwstQtHmD;rP`$lrTalqzLSzwZIun|A%V3JM7v> zZ>dmym4%{0aPa~vSg&^NjHGYreH>WYrN=|7BHNL?M6OAqCv7K37bBE(iSxjqjKfWC z$3+X-AMQWM?J^wCri1;*a6is}L+IBjst;{qri$DVq~G}L`K~hk zCjrb8bm$XAXifT4QFDSjIO#nL1C0}VclY?aC2gUugIzmMpgH$6mHXp-_dO0cZ|QAO zP(oR?5%T;KqiL=(WOU=fJqx@R|Kd>*5pmprbttF3$G)PVg1(0EkiGVzl=F%D`$_lC zqwVch&AErEKP-|T?`9rml!Q!@EXW=ekH|P{C$(tW!p#dLb*H|KRYg8V>_z|&af5s4 z-*^czMrxe5qQ7Zfl0gj(37XuMUfrJ|pO-~E?nY7K;i-qdPDToz+ZvM59q&RqW`0dL znP5|g&s0No?!De((&@d2haQ@mvu{&#f9K0hk}tmg^sO|Atu?}QT~2^r6_MAjFXuLq!mEouxjgeTXy!bi z&yE{>mVV&I1=z7tdlYPRG)+;;-^GgaY8?rRG)niVj6Xu6Ofdb-`3Y=i#&_yE?qwWW zXW#+E+yAZuUwlM*rFeyM}$WJ86ks$B~p5&6PvB_uUFZxsZPDvBS%x6 z12)^qD>V8jPHxX#_E_idA7D!^en0Mu92SutE0Ek9hI?}52W;&1ap)V-HbEQbV478m1GfK#2CJH`)G(LoFWy`GUY;acIAtE7D=jahnStyH@8r8{ zSX1*Rm$aaAruXFN0CQV9!J6HiA7-ac4mw>*tn&msAX&vJneSB>vE@vps zyrx0Tf>PJxFWz&RTBHoLB|x_`3u)6Vr)dt(XXFB#PAWyn-zRkJnm#$_u+r{1Q%TNQ zR!>y$?IxAhtmA#cbH&cUsBD|A8D6|?x)^wwi5?o(Jr)Ea+1s}$N#EyHx0U4oY^7H- zB|B|8{>3>DD3j_!QND+s6b#FE^vVlA9tfY(u}`gz^d?Q{dHhR}O{sNw<{GBHSCa30 zC`rYz9CD^|2Y-0jcyzY%QaxRV#V2RrMR3w{!DF+YjY6SCsd6nm-7KTr10KN_ZWLwK zA*Amod)TCju;=}j`s6g*~xX9w<(2UaQ0DXPl;xFW(vw6DPOU1)24dRT%a9 zj12lU^hBZ7Bw*%?h+?mL0`I&n4ma!hwDy;(x%Nfnc(kwG6lhP*X{JMfifo`FTH7aw zLb`cnxlB@{0KLN};no~@eANR1dW0U=24xY=4+LkzsofW<$kN>8*D#hVp)V) zmMS@bl2IX9L>N4<5kr?7M7PfnP5BXFtN_!JKZY{B|JD1 zk;^0Gyye(9D@$OI32s~=bzHRo9S8cE`S{RTQYUe0S^W+J%)+S)A5H>B*>Z4wioL4G ztUIhEc^=AQdQqcwYl=OElFudtYcR?^rI&rT(MQnM#S-eYFYpl%WK)XW#D|M8SRZ6> z<6Qb8oTa-KzLYJy=_-J7A|5OtqBrZLPaa^>6JC(%0K#qSl}EsDvKj@B9GrgOiBWgp ztp|*US2P}^yaPj4pVoL}KCh0x~S15hX5ZAIp1 zc|Wc7RwlB09o^0C{s$&pAJ`Y&4k90S6N}0&6~teD{pn_JPZi_65kS3uO-+PdSG=2u zTZEFnf}ttGdGhEu($CA@7&|_F)1$+3R4+F8*Aug%_fZGXwVZvK>lbi`J{rBRHgZ9dCEi)gY?6e&0XarVgYOEEsdZRXCyG?J z3y7FSGq2A01s7YJ7bHg9nx2yJZiBNeBGSHdV0f;QsKg>?>8&Uk46}XJCa6ops1WA% z+IR8?G#{guELvz?}b8(7EHUnmnS z3|$!S-A`>CI?7wIO?=HTFf1E+Ft$WQ6oKAkkA;;nmC(j>1R-YOVOv=k$)}HqoK+oY zp6LUeIzeoSw#ZDq`>*3odJ$d(LR8rPIS4`SzZx;U()->Jb`WdZMJN!L(l@)~gj2_- zrFub)YZ`ho)&(~jK*DUz~ zO2(R4{-L}P89r=5_rEkG6I;;(H7E~f&sLHx_eBKen!}9EjAYt+<$F^YwMXnSIZmlq zJw5bPse?rQLv@%44~g0fI$j&T_u!i@Q$Tf$M=U~5`E_Td_6|+S0(2%s;~(n#(k<7d zIFCc#%+uXmhEszcDYQ5@zlWY|5T5O!bsqVP&=oPum?JZC6J;p#^k#$0F9M?iJ-mvr z3C-VsnKa*1B$iENks%J?#9a9JNKdt^J_WhJF|jM4Iw2Oo?Qo+mFi~s;dHxSm^0}xei#@V z)s!a^azxWO=$-b>7;0-W&kDz>0+yeOKAeAynpsfdKc*y#I|Uwk0WFYlEc@WJ`IfQC z1u;du2ftq7^#1Bg20s7Im|p zZ0l}iFFx`#@GMTh8T`=w%d$wIQ696JG3ED_&#|m`Te0WIVb{tlS%j(#ikjnrw4_ak zT}A{LIj5}lzz_fmFA>4^vJnELxXUtAPsXX{N7Z4}r9>}P0T_FOO~;z)Bq=0Nb^(-Z zphGbqncC}6WJS+H$q*#aAOtgyBY_o->*jA)l9Q5%Fn}&`QG)$i$|T4#jU^NE2)%G7 z&#G%rtyocq`R&QT3A1xlOx&4yiq|2KJ7vGlv+CGj?me>zL6o4bg4A)QdhW~wkdf>( zsr>C#^sTmaKta$e9{{Xz{%Acb$EW~a%@u$reC1xNo-%1N`|OuV9iO`8DA3_Ic(eO0 z_B)H)l!`uiNMKJ-I$FHPo^riU&Z`5+nbIgg+QEwc<=x%{kDnXzU}40c&t3n1P0^Pmc$mQwz3NPh(GW$AWZ=3?~h3o&kpe{PrA>*Pwg{LF)sMm zloZSR7$x)cHP?SJ3A$m&Ci=Hk=gK?k2@k!UzoiGj4Q|^e?s1sd8U0NffH(kdIZTuB z2#jKa5sbcx5jSA5CHxZA18R|Dw_SmaU+N>$0gMO%5EFXyRs~>TI8qmJ1FN3_u&i+R zcSHB50!4V_y*ALR%xxhaYmhU}g&_#6ok2QZ1?z*M`)~XO3o}tzh4K$5$#JA}5*|T7 ztiQI@8_?O|zO``QBDgObe1!ze zPmG6kMdt`Z<7lPEpA*SV&6DPUN}?2t)LT*a!n1-JUosCS-fQ zcMx=RW2%k6XBg*bpRuCYGmu+;r$PYF-^Cfs!cBri&Y)`m@G#D;b@;-hi;;VGJ^-4~ zlKoR6xmCw}j8U%vIGi`Fq>(|*&qxSEZSg-x>e%Zr>RI?oW7DBQ;7d5k!m{~xlabwP z@zLR83u|uzXb;B>H&4fPK;0y`W${yP{{sF31UC-Xj)RBgNV{M2iKC<(E3GUMgX8h&-r#0A7GIfTv;^z{2Z$F&f*Xi!z2ZC~7TAyW zlz`wfZx&^PH>P3UtXKd`q=09tKz^;>2lw)Hnq)q96WVRoF`yikr}S$P1Mk zP%>KA7exz=;t=|LdsP}5aUO5~$6Mf$9-UunZrW)z=hWEuH0ZrR`--=3%+0`gbYst% z10en2TC4zzvl0m%+zhWp^j=vP+<*g~4r9)hA9!pM6wp6yKd5xNcOxVWLzdoc9AiSu zFeC62keUm$kvL*PB~tM4Kyh=5U^w8SRmi#OKHzaj>A%_!6QUvb%|B!ROjVT5> z=YDoKWhx*S#9wy1Xv~6A_En9;6i6+I_fmo_xdJX>a-$IKbVFcfv>?r`kM!)pVYrI0 zm-jrDVco9teW9 z4`Sv9ER5emH*uP}-EIcX?zg-FtMemgX9i6tI!zJ{+P391EElJ%`!8Ue4)$mh@aHDx z%A%@~DZ-c9=e3iN1D@rAWG z`r{+POC^~8Qt(z&sOAWX+aXq*MNxZ!fZhV&WgqyIc^v(q6*$BP`B(RqL%7$lyq2bR zfg?A}eLyS#=MgzvOf0&O{-}%_#aQ8($Q2L{cez2|-hPT@l&@l<0XAwf0mf64z?CzQ zKU$3-v8rWRMXojN7a)8w&YS~jEbznzff5PKx$V*9QTIo53#Vn!EohtI^DCV0?p#oW zd}=TuS`q380MHn4{Wcca+z-eaG+X02tFUV>gI28HRoHqypnUL@(rSi zs0dX6m|)r0Z&?Im@L;W&9HlVWtn23-uq!xrE?5E{SY_aGw-2|!SI(K_`igN*1+D}Y zs^f_4@=*}ia>TiKksN6<3y?QNn}FMkU8ftD3aLb|0z8lj$|cG7nah1kvKW<5jw1xT zbd9SzcOq*lkp+FNsP0AH@Dvy@Z2=S3=*Hd^z?*GI``>L2IX&M{4&-SDT^E@Ay@L7WWH^304!xycfVND#tV!o)AifqCfQ78V+Os+ro#a~Nf|>SQVzgB@^EA3={;M z@|O3kC*(263xm6-^}>;(6~KQ#B1ekLf%n>YpM(p6CyqeW4`{NM{=zT|j7tFXg&`Z5 z&=%-+l+c3^;xY%OURen`f)4EeEZC_Fq+4?h!v$n(e0w>m!|X*7*acD-NVb-`qkBoz zYmFGV5_kSSCUR|>-TK%ro$F5m6PG>^;BX(9XenFYylR<^@Sq>HrvTMv(IeZ%4(+mD z3qe0>bXmBdE-}}o+)M&}yjaQXZWJ(WGf$zrXT*!!(4BTUn@q~tPNySnW*1e3v@LGC zL7xH69+mD3D*%!d5&Hgi0WSkW3c~(8P`5bPif&&2kd%z4G&PfMWp;b!7COUessM_f zK=Q0$ZvKZ_X_#TsXUdKG-Y)V@hZul%_m@ zgv=uzJ^-_m(xdUpdQvyS-;4XfJytL?17vWQ+h~J(@{);=n)+RY9Hset!>2C2D)J+@hzr^Uj1}v3`xjC$QBp@pI0ft zhRg-bTZR?I_pEskQG6^R1a|MeGw4{XpKd^zsLY|!@8fbasX8`v~0GDlsaT}_CI0qA;cU8 z0zU(RoEd!-{)gfw?tDD z4}QXR3g@%tl_moAVEhO3?gCE3f+D9F8@^Axnvf6Req~zBg&+6;%%=<*WnyY7#YTkl z01Z&6rcy3I7cyHbcyRBR5vkg3$45|&(c;gdMX@ZOtxGW-NtU=Je+*AO2)n9^J+XDm zvSd!Ogbm!l0`)C16JZBoQG%Fg!&=}BUphJ<0mk_iRkeX1i~t#>$2;H#2bk~U0LBx1 zYKGgWg9-fJdLCYjV0LW4b4d_0v#`_LPm0hUx%;56Qx<_R+3mTeiQAlyEny!PA^mKB z@G_)-cv^p%9`Kb^D6>;UzbP4j!DHZ*NGldUhQ|x_7 z06WE{2!t<##fC$;Sc5!llTQ@i7YOLjE8^rZ*_il}PAX-xpssdYEEt?j9D1Au`lviM z0QfS&DF2e7(*aMM1mizbDQ61Yrk4$B8C!u-oq#y#eHG0xr5#Qa3A`1@)D#*)rMGiT zwzZ&Q&nQU>#LFf5y>_lWWhEvG2Z+5KqXwk!0LTIqw8l^buR8i-A6~|{S5XxuktHCy z3G_SD-sKtO-UN(;IwZdVn5IvH7S%Dw! z1Uy;|rf?vK5IZI5=^)T@{6ri^2%Q?h_NYLKowf1{fK$PP*lECb{(>4(sjiEn9wxCWbW=U4C!fo29K zf}?1B!FMJwb3Bkrx&o)Hv0Q*1D{VRnXkzJP;B1rtrx5eAn?Uj-0OG{Zvl_3_bC~Bs z+zM}t(2f;&?Fl!fi0kPEo%$o)L)eN4F%I)dE0s`z78F(}pM#(%#1wp`S5Wqi; zJi6m{?WM@0ZrUWkNR3+_LeApi1qWtBIFj+~EOZi9P!qS&B|RA8ni>}q z?%2X!fB=xEc@CKITjoZib%Q&rfu+}CaNz_x{vD`pgp`#sKzacsC^2Q~9Hwfd**F?f zif^SN7O^dGg&Rh$gmn)99m|1$&TMd*7;cnF20UZq zr0v@P4inAUAJ%UYkj$^G3j}Bqy&y(~Nv(iy3g*Xyh`s@zd%I}3{cV_DCi82x8;(OD zg&GI{G8d+*VqzK>Go|o}H`8GjqGKE%G0p%K=G)jTl+aSm;GLU%^;!t4bmR~KXBBu# z1|MQKk3iHQe1q7)Wwycf|AP^IL0kyH1%P<9+H!DKVU;tRlnfR@_J9*wf!_mN`kIIk zvTnMLFcY9%>2*}ZXqIe}6Bf}W!k;3q@D@N;8svAaQ$WZiF3B1Q3ks&tno|I!afm_$ z(%u!bU|C)j5uA~u5DpVRSGfT49en2J?WdSKQV1=gKoSJR^vH~wEewBA8OVl#;xB3k zRYAaed>MGue3~DNf^uLnAqIE48D&DIhxJ15Ih;B?8geg5gVjKBjk|!!2YGT+$h;vU zRN#qfT)VGE%)p`;PKg%`8D!JBqfBGWUgZu#KEbTnzj$#DXM&jy{_!2?Gz7!-pgnC! z7#k2j?m`MneQypj=MbhIlW9oJR2V{84NnEz-5}YP?VCi{L;+_xTvNOt{@Gu;tuTvm-*Uh~qR4?6Sg~*+l z1Bq)tdkTNET5haKxlyQ4D}k$O6j1LahVi3_~el)8Q@-sGfpOK@7Y-0ljcw_CX*H?73Ugi2|4kw3SXkNS?yL z2t=86{K+`inPnc@{!whl+?^}k`F8@cW=(Dfgf%R`LMOXEvx2u57aj#<7clRaZUr%U zPE_QTC9}Uj4M)|(5pz-j`N+X7m4Qt`I|LHXECC~P1}FDCrc4#$OWRLD{^OVg682oC zvSb}-P7Sp&B_AFm#@CshdIR*@B2mRyH)-;RB<^ewjW`yu31Y1(M`fuWP-|22%|R*H z9L+y6JOQMk`9a588~8zyN^dl;Uk7xV<*a&yx=l$uWN}^7CXX5AkGiAZNI5Pp2PuV) zzY`yWc7(vy`e!^gzt#(DhQof_vL{FNfbBtO;Eu$-QZ1u5g%|} zHVN2F>~u&|gj8&=Tk3!Rf>q}>zaH?h0Hzl}#ion__q@yU&N4u%osNa<8xRM&ywJ(t zG(ky(fQA&f;t;MRA|f1d0%a0t=w_yUnuZFrx*C!V^c<%t4)}8wdb9g`h)1J09q!ta zG2Y_YRyOrq`xIa+Hqv08D>h(*Ae%RU=i2e7ZcmHLENY}E2t%?!I@>z8pMtUj;TkL+ zzy$Z7Is_*2z!ES*9r%d*_X_O5sh!<;cqEQIg#TmUsDhC(!1Kt6;J^()a0nw0cl*tJ z3M@xKv`<;NwIHXNs1OZ2%?E4>mL9GFDe2T*fGIVSH=6fVSFjl;A)<>&#dkTnB;E=5E`1}v%axE1UCK07OR+=qs@9So2;lv$XI%zTInv04X9@V z4nNF$6Hu)VY2)>W_`=z=AmRYE!7vwy`=q;4b0NmYd=!wNputY307#zj_UgB=Q@(fb z9te=fV6CYM5WcLX9~N;^S{v$3SwscIh*aJCuR!ntg~MHjS6Fq}axD1g)<6?1Q{1%m z(95=DX{o9Ucr1VeP|E_ihOwWt3dL&-;HKYhfdC+8oRfG-4AD8uoJ5Sd3D$o&Am0Fw zZM5mQBUt>fn8y?d<&BL;&NX87PMElqQJbMEV2aO>3 z6cf4QEoYQ+kYx-k8nYkjkJ>=LS48ByYloo3N%{z7ergAmSLF`gc2rqG53LiFy6r9Z z0)8K?w^$pM=nms766QnrBubx}2|8yq%HRz)E!)lUc|_ zc5@mS{{^DwYjFCI@v?Go6OaNWIRVpjcdd4k`DHM=OjI-nJTRdt0s&tx3#;@ zI7Y~k2+c`PCLe-r?PyrcqSJwMbx_FxAtt0u+4?5dC!bj1-8}i-)B^{ENiNuQyd`E` zL6j538Vs$bAjjx{f+r3{I1AWb)?WIo)d7i9|8Nc<1n=BM>CW}_WCA$+ z6(CbmLC9TOf`JEujl;dZg^WONkoS66$i(Q>+SBkXgTGdTGa3z*K#2uqF^zSmis9*^ zww9Pi=b)6cUmOpF`bjBtTLOo0w)OT?V()a(&^R%7=m>`(=9+K>GKX$7e;J5r$5Ovq z#*AU=mJT*(I{qK{F|1p}&l=n7NC?Mtob)VkU#k$p8<_JZ)3+%h4Ml!Xc*(?LY;iymh~_@ChHOBw@pePoV1%1QELx1>CLoMhECbK@6D zNxkJ_F`!LO#z>Yst1`O2LI?(Eg-r)Bg@V|4cgnQkqMIib=WsCtlWkIOKSM23l|++s z!m)A4-99H0R3d`ybfHam35*G;Duu5iFse)vF%P6nEs3B3R7ymqrzM<=U^SWKBDtI2 zz#sy`@<6nX3oy~Ee7PI;acTese*-AkAd5c+@FOHNweC9LsQp7}8wt50$Q`XxiiT`} z@+IM^H)2jt-`e$zapH9{g+bKH#*o>S?BO&%c_ z)e33FavZF?2HkrQ05N~!)}4hAJqj%0g7Qw>I=ui~&?q~eDPrtv-ROzY6s6?T$3W0c zYjayA-44^GqIM1Vol<35DqMt#jP6nZNqyRAACRNE$juc3+nf}gQ8fakYv9X5Xbr!B z)5m!Mv<{yv1n@HP2=Z4Q+&Y(A-tF;lRJ#B`A{&yBC{v{diK1~lTxd%KG&C;e$Ebk! zTk-L<<%FDDPtYap0wF51LbQa^``k#aEohYiQ$m?xpn2_poJX&BKPmRE zn^Rc`(i{knmFR4@Uj+u9fK67k57YA@BH@-$Fn^dQ3OPJH7K~Hla2>4a6Pp_`KRtw- zR9ng*wvIqjRt}oW?ABX3$(|r@0rkc_ApZeTsr^N6?FSjJ@(@_ z7Qz2qNXZTxRyx+-eEcZ7VnQEq4!g0dZO|mWvf{Ven62Z{D^n$3%rt%f$7sy)D;b~q zkG@-^ao^z&nM-R1@yQnTJIW8P>JoPx2|@&a=BX}bn(^0oXT z{_R=^WW`<41H~dJ@Dsh0K$D-Rxja70$*?4Sisa4vcA4s(H_I3wIKV=UHfed~uHe_v zCX41zao%gY)K1NJ;=C!%SBy{5wcnWhH+$F*cH31CUYra(|JopDSYyxLrI=!!53b>q zxGr;kvs^@$c2{#w?tc}Dywg0r9sP5grQ#QYsrWU7O#CIpp7^W4YWSs#wyus~o;wFE z%YOR>{b6UX#?^sfcac}8pvL~Wu;EX2O-w%8B;6N#=&oelEtjeJ<5hZsK|{jc-h@6o==(g)P+Ikqh40))PnmZk zR`>BBqSa-z^7ueeG~;(s!ea#I?WF8DgT68UDo;x>QryMxo!5I9E6$is#o-7uAu?Y3spuGa2LuKN2G$)CS3dF9kBr+xFX3T9*4fo z$c%r9?fTD*_6q!h<3%*3s16FKYd2=OkaI;T<5!~KtNi8pn%e(NH0p28U+!h1w|C3gd#*hh)VA*KoXMdJM;UW zbI-W%p7ZXxW4tk*V-LgL-xLc zc`Ct0u&if_vstix$UwJPN!9hKg7~x|qJ}|T59FkpE-$-Szt_EBGirRz278l-I{pE+ z84h3F`e?emT$HLLGUzI9nmFBPYCo!ioa()JICvX>@|GLxf3`k~YPVT9sw^pdqEFp( zE%MEiLRysww5QFc6PT_$Y6(Z3bBh;u z($qA9$Ps1rD01Mv+GDIhK0ars7ajGs%oFzs;{L$5vIN@^!x)$(zO6zgCkMX;XIrN1ygwRer!Kb zw;@B|?q_Y`O-*tmN`Y6Sz3aH&PdXcTnVZycJ8VRnJ`j?VKIjGV1c`gJ%CswSgchu7 z-cQrsZPFMaG14%)5#bWXdFVF&uB@SM`9S}YoM=wdVYRcEnitnym}9;#ocFIhI*{pl zwXCUSuW$GMc>#*1?Z~*$BL5;$X>Rw&=dn70ZwOL#LpNM^cVKkq;A#VZ2I10~?i#6b zJDZYJ9)a?qCc-1yl2N}BhwXS1|O19(Le?$*wc@`MZZe4x1B`&sXFo_u~;8&A#1zulW6fNr# z6Gd^U5NnLNYxC4(D;RH@zoERSSJdqvc72!$V^V_y2Xeo| zzGuQS)_$+6w7(L~dM88QbwyM#c!Ga!ceu07w65S3)0kDtv=9DBK1oQZ7dbhF@$DaK zbv)#~s-j9nci#!v@A$+IZD%gLDHo+lZu+5}cs9&&Sp{vfjFI~AgGM`YcIZcUS$MHt z0B77`3#s2XW|YnkH93*CehR;1_(-C;ck83kOICi=PcM&5leNz|ZkaB@^KBOy7yCg8 zHEmy@@2u}y#xbK25<+$EGG(Ayo#V)R;u7ilPr~ie>F5m1Z(8@)YJ&ZGGkIxq-tWYF zXa;{Ac^*e=N4rr4SVgeFh2bE}qM~7`zM!{3W1YHHhB@KupqRTY{GXRGlwMwu9N$AJ z@xN~q@8gm9({Ajo;k}=u`JeWff0y~eShH5~`ZF&+mdWj$d9vj<`S`-KHrLbZUpJ6? zso3nBR(GQ7++LHV-16Jqn|}52U=@8A#1|dPGbgJYiyGte_DxMYluLXc8MRRng3whCT`)h04@Upj7%|~)sE~{5;9fuvtgF|Yw(tagnw%H6x ze-~?%BR>?NN;GV<919&I^NkcVn=)NAmD-n;b}Xgl;y2UF&u{K5K%IPPKDEj$=0NOc zOM~^h=H!CNd=p>2pW@8?sP+bbUn<(j&8G%MQKwQfbMVNTWjlL?B#yc>7PXj- zcWwsa$d0;w%w$hPnWpyv9zVUSEk{PJ9qa=54L%&>8i)yB-u<7B4Pp0}ts znBHq2jHAiLJiL=Jd+(vDrA&KGlP|``d3sv-2j96dU}w58n7@9s!q|-&-@Pr`vKYWgSe8wsEy?4)D)7dgyZ&W9OR1nOUMBkM!|@g>vnp|9DLm zn?R=?H3^=ca&VNottTNlz#$c_`1^LgMzVFMzskSr3xLbVie-u_hDaXht>r;cgn1 zHB4BCMTRxGnFP^K$~l?1ehmAaGUCKIVLcUrBpaBFajuD7OvV6w2nupipBR_TBg}6k zklAlVXyj+kb7hhvu)U9ovLHPQUk8Ua1!7sk6ym%V3R!^X1n@XoYm!Bxu1q52Jgn@* zxB!6(Wx_YevD4pR!zx={6t00xgLFe3#I1y3HfDfAghV(LV6!LDsqqLb%aihLUI&%` zc;2*|810yr*+H~pzk#<2)~e3#nH)wjJRzgu%2%1VBh1W;Af|tQPJ@}o{0W)mP?pj3 z$k(QHn!_IdjSzDmC9s#!&U6yVPq1@cL?kFMy_<-8@f*`kY#~3opPPxu1mL2vEXz&f z@bzR&SRH<1967&$f=+6{fV?0~}I?6Ix)OYtb zcw0g93-wTka3@oqPD|xIQ~(oznM&x2$WY3%dFMK61A}YsG?Otnkte{=Dpouux~DK9PvmLXgKAYPp%_+L@}9 zWn$JUL5ay&E;tkefp(A}uanXCrXOSz+}>u`lHrvbt9Ki?as;0VujueyLaYg5CuZ>n znJEk!M%Q-~M{j##jin&S8WZuR>t7v0=^)7b-S4cUbc@)T`M4$|fUbBI!}!F)8k4OawmK&kWkud1>XX%kNSCh|Z4@F+pTUX5!FQxH?g(OyA940D zmPjwK*lM&Potio^j?=x5Ri!g{V5X2Q95>HWX3pWW5ER_IP^7!+&_@Grvb=J-#t0ej zwz|Ay2J<1P2<%}-RTr86&-2(_^Z@QLl=jrrSr!aLOyRYUY-#RW#gpSNa_{ zL@&}$WLm4ZG8m}4Hwb$J5JIOaj=w_oiX6`-ge>|&dT~voub3QX)G=?ULc@zDSv@9Y z>YbqBv)6QUvT(|i{kW$$5yKoUL|kqI?r=ce#wg0Nl1LJ=m5Do(wb)UOJIrK-GR6Py zc{xv*suZX~HW1!NEU&R5N9WBP&%#XTP|z}}(*bv&g7%FIL7rieHLg%;c&>J2A7a(% z&+;I=Pa=?`h7iw*!2mjQO+1x)kIwYY@*+;oBU6E2jpmuR?zFQMf@oW)-3SgtpF17E z8Y3lWAkt1SQYK4EUl_vK#GyxCw#lGaH(7>+kPh!@68{jbd}7_(@3SbOZ~U_a^p2P< zeV~bvOE}rNMuLf{1Ra?X2oGOL+oFF28!4O(&p!~1K7vF}AcWIQLYdBtrO2+Urpv;*aBH67mowLTQJW zF+#{e(47dm6Twd+sFw)x7j53!FAF7HrX#{oX7B`pJHzY10$2cGBn!z0a0h@OSq>m*DiOes07kQraR4{c z5j04K0|@Pu1u&O_5TMLN0Ji}Ml0^VQJMjQk00?E00Ng@H$RL>tpga@709XPblvxSj zE&xHY8bBo`G7n%afKcWdfE(yAxkQlA2?T+53Imu;C~ZYhCI}({*N(C2gdpAUig*YM zA$B2%G6=^l2pPZu07F^GJb>Wn2q4LWwRY1% zMCl052tiCCr6dzU!Jv%;!Gl-`8d9DF&=^5507^3v0)T4(K4Kv#06{$vkVM0PL)Wyx zz=9M3KEfx)L~xMw1mIAI9*_uTAvlnbg)7F$*1gPr3WA2pOb6wIum-3SjJPIcMHsTv zg5Eg}0}UDcff0c$^+57C3^Y{47CBJ3YH6i4&5&J*> zoS?pI1Ss}3hZ6HQX}1#6i9dRaGz@72v*EvD@-k_6CBm-50z2lq!-YliJY4wALsd9- zBaI=rr@a;G%GnO0T?jf_6nFvp*ajU9%32A1s|dURMNtKC9DmenVm=Ra z6yP<|?nBIf=LXd|%$OQF37iLZFcrQWW(FmO8>LCzzH9cVbTX&*?wU?H$Y*jq!w zGoS|;O0XIT)GiaCaNq@8iA2Y-^uUflcY-k@L622|I2eX$06FPMbSJ_#y;SFC7>W>F zVxL@qE`;>TU}_<=1TeIay%m!3_X_eJPQV@wK+3IPbwR9_#kRYk^wk~66}SY#VJrkX zkPN1&8qytQBE#q_j6hWig6V{BB`Y-AW4e)VguKTu;gU5SIn0CudWhXgK$Q(l1af=M zf^2a5{}_-67Q55bvBqylzflkg3cJQo6r?@CL_FvS^fh$jJa_`I0&osG1P3S#9I%25 zIu$Gp4u%k#5eErbDSs208WgtG!$D81cl~3tn9yVdFR5`;7s>2E@(FoVKInlo7HppM zEcz;Bp29*BSYWy!Z%|RXLZbjI+e?0F(n813GgOKro>Y=CExi0Sf$g0|b))34@>v z2V@pfg2nTOY-E5=VDbDQ8(DBOVAPnP+|XDa0FMGsz~bqFML!Ni0`Py*C}oc<<3IN= z(89V!0*IM|7?@Zzh)qMDP#^|Mhy60(gza2dDSNaS>!8?BnlP01-*qmtcu6<-5*mUC zLjhnQaL{%lWCI4G1x6gW2c3ePWd389mFWNU%{+`5G!q4Y1TYFD$Z%ztB=RvI%r*R( z2>j_pZ~;J;a|m*pjyn&W#Yr!&;B4U%oEQTqKsl8lJwH$(7Wf0{!E|9jCGO#*pI*ZH z0a-x!5Tx7-F)t_$#0K-{5mUGT)q(a!BbIxjVJXBv5knG-po0)VnxDzm|1h|TjR<$M zov!x;QcYodUO2$v!2#p|Y6Fo#5qOzwE+w&$KD^juHW~WWuZwMfz$*ij@+s`Z@^oaJ zknrW%{}qeC8)KltP$Nk?vIboV8Uf=&W-|(c4h}l*Uqqq+OHuhqCYbOEU?)x!VOvxy zI?x5IULpmVBE_Da66gfO4jjcyvJE`wC~!531-xZ9LjcSO=&B(U63;@m!ss6Xj)2nq z-+FYGAbIR)?-!SL@G0Zao- z^ASs685rB?NieP8iWn8g-m_BSWILRIt-l9EN(UlAN)sRw*!pS!d4Na&1^@^KkOx3b zAQBinwnu8hufU8H_{8`I%6JwcHL%EF!*I|&rqIg=AgLk5RRI3GX9Dmk3y}qIANVCO zJtP2Cz!iaHDuCb^!2TkK00c=GIJU;101O3IfawOMVk;O9B#8im4I}`V2>S5}0sle( z7g7l+!3&TfC3pdZ>TJ-;K*5OsIAh?iJFo~u@SwOfXM-AcJd3CT!9bls4?y-`zKJ)9 zl>$lN#2LmH>Vt>+tiTvUeb`akekKaa3IUaZTK$J_(oK%6F|!Uhi}q{ z83AMlv9bUdZvi^HLDrLqFz^saUkyLrP~98^$8a{B2>=r#O=mNLmx)Vdq4LY;e0V0=M9S<$qM@9vOk^#G-Fe_VfLo@MY;FOeh`4*r zJJUP=p>8eqUh`>x@JPS`FbQz%rLdzK66C+P4zv%PK{fn+2zJ##OhE>eDFE)PfE9tM zF&TEiOVj_~NCkQ3^MNzVLkPKSI&EeGv+xt_02`bDiGqZ%$X)DTLpp3SE!`pme?k-3 z(+>xzH#i7G(841S7efU;0XN`EC~)HxPz<>7fAmo>Lofx&{}!tt+yB~4vHD{X8pQgz z&ETPOAglsL{2Q_Q(N^wPaOyxK(2Gd84jQfm3davLf?*v1{(^$d1DFmVXp}dAhXDkQ zS_cpX{s_QeP=C-R9sqfPI3W37vufShaMx5O^!#=ZiUC4(LgWRUIS;N1h$+ZK&;SYn z7zcy`@E(9*3_)Yq5e<9Hwi4b;)iU%z;lccZS|HufjIjU7D7X$RMnh$UfNoIJdEg1O z5eGGm1`yi#@1$C<5JRv0_xu#DIFiv%h#Dbdt$|T`z$ox1U_+s$+`ud7S6xsgs8A~C z0N8#EM6PX+1UkJEKr;ZL(+2>Apaui-vjBoM^9IlaK!|y_gW7Co0vV7}3S0M4peBQG z4TeCV3vQsWy92lb{t6i(#T*<`Wa5n2#)kZg?XJM$zyY2D4qyon_E58-Mh=3?`iE6O zvh062$^*W|fSnl_0qDETE_Pz#1lx~*=YvG-sKBoi$wXAjv?&m*gU^6NVuG#vc-*08 zc`TG~KxYpK+?PVuz(Vjb*=#0*_YQ#Ep>0giHV!6aW;((4gApvqojA#k@RXTst9OP8 zlT)~VAUgrcT~f7z^po?8bs=Kxj#s0ADVeToJJzXYrTefkFACh%1NUI7sFi3p$t zfFL;z;6`8%fQA76+Z?I~t>@nM|ACwOzaZ8B>ZuGM$O9dQ4kCbeS;33az|q1S3VH=Y zNA(8bjDb#|Q587r=KTMB5(OUT|9Jmu1%I;TGhr5ga{34Xxb6+(5(O#=Tvvr+VFbNj zu^k5)W_A#{K}QmV;2Mn5c{=iq!uC;zV8R15=s>`*fXzu_;SyP3c-a05XxE9XO|lQ* z3w%eo%xmdi6DjKS_x=_K3OlNt2j`d$ZHILUF4!^QEotcQ!dwD)~k6Fct*7*`LB z{R5c`9vD{{b4S-Z7;le@cQLMZG7s;$9Ld_xar`A8$A9*3rgrPig9Zs=;^BZf30@JKiIQ^G{4Y z9#(y5f3yHaU}Z8mKKgRaYM&nFu;(MxX~bWdHtFA=(WbFvW6#m%`?kqR*jNp}bS+(p zR(7vTDqxA;A~2cQC^cBP|AJ-fT!iY)xz#^vbtjv4X0122O+?}R`^{E*r>FDU1cu?G z#jM(S^2gEr?Fl+ockC8}4+dW!Gk1LJ((j_&);*E|llRnqbb}KH`mI)+B#q_bAm-0lm^?Wui=i|yPFK%Q^7WrGI37lEw2yx0Rm;HuW@-7KjcSx6_x)~O}ENGgK zy=X+>j2tw>EZh0om~TID!!Ygbhs|9KpY+OU-@bzt3eE0rbLY1IC@Q|CYnZA~-cGBM z!t*?B`~LL|e)&u`B3ty}Ql}|4+G59ijL9i=|F|D2t~W(eFe!H(x7cidc;2XU_Cp{_ zsX_g4Ag7oS!|1`Wjp=(=>N_?5s8gPW2(gNJ7bTy55;=+Ex^uPDS2G(v=g!(XgFUO0 zeFWEg{6z&V^>z%-2W!Gl(c3g|?hOeO-XqQZIPd(+$(rL1$F}QMnvxWlxt0_B!>n`h z%d0z8`kz(&!MIL`*D22RtnUg$tsOEbd-$uI8v6#famtw*D|~h}MlOn)F0A|XjFlj4 ziTOgj)?A$cpL8El>Rj|RwESz(I|83Wl#rWR6Eox7J-O-B<)!cE`zuIA1J7qUzkP~h z4m+5J+h0?-$cK_43@LU!OeT$Z$mnO6nAx3fv)qWMQFsqb2u4O#UucXN9At?&>34Ps{XarJGZ&e~I{q1^5n(&p0xCu)uyig7&g zXwRKuS^eMmG3E2y^BQ~&tm8@4>w~$4b6)Nqe2I$7PS)*R+!Z6udcuZt=M1!l-uo|O zwRfRL&OX~8adc-EPBr4u&8@zh1{&UNEGXSJ6}|ak+U+5OVf*Pa9o64Igu0blI8bj( z`_mpTz3;5GTS9BgmOVYP`5HkC_5AAhcey5{BoUEgjd}_3io@}b;Gt}JuFE1Oz)E$i;PB`J&DG+RT#sjz#A}9T zVaL_PWEaeO$5QK4a%``SRf;R_CN^KYx-nD0uDwbAueR&4#NeFYJdXQir=4DqW>=&` zkIsMQx}2bw3)Qf`T0F=qvy8 z3#d$(kPDTb}mjQ+_(6p$hr1t zd()viGbfg$L)tUfB~_lTi>(*8l#}(BX1q4Z)BM_Qrl8tld*^i=6X9XWyEXot`u zEsNQd`*{H=&{>a+@GaVf?LAI6zOvAu-;nHuR?Lk)nZn=OQAcn;p6qtdW<2NJWbO&; zs|sZ+6dO@P8w->g&En`d@slN~?Mt284dx~X?;F$wouQ#>B#0T1B%tzP z=h@(PAAdx7LNX>(-FvwgnDTs?ND zhhI;rIrsA($RAye=bYy?D=97WeQzz@;#`Iyg;mHbiRJGPUR$>DE$~inH0m zg7tsO;-!BHy@r?1k17mYUmZMU-_>e&C3k$=vHm%SfU2RExbs#=E;O7mVeB!e$=v>h zwsqWx>|F2!z4x~1QuytUo4%(_+ws!I%xqkBSr3%gt6n?5UmWLf%%iSii~4_*AUfrWv{pLKMWr&1g$+^A45dre|nUa#KLSPYI+KlK__;0G%>zeno3Rh0uH^`YbBiIaD0 z?Px=VK`4R`)_5G{9JkJ*ESTNSyKZOsp4FkOLu=UkS4lt0Wv7E+-B=FKU=x~qbRpot4XJo@SYxtq!PaC9N+r3#y z{v!5l()JiMzHIVdt-VgF?Ll#`;6&WnpCaANjJw~Lc6P6Z1`nHSzgWJVOvo>k@GWgi zMHxL{FZR1rHa&CUrvTQx!oJVSre1Q3ZMpAjl&=4aipm4LxVe)Vnd1IB^FK4NUOl^b zA2-s3vYr*oCS7%i8=KcZT6yLhmjdZz@kS*CE!Gp-Em?P4{H4qLx#^A|^g$bwdCEdV zPIq5fZRJ|z^QT9dE|(=|euo<5;Omr61gw;s8;1!q**N78XOeyxoAki<@-@4R zT1CAhAPYy9oJ*C87E($MZ z=r-lN!76h1%>E6%P#D3_^Q=*+;qsQB#1n6;0vI00dGveW3}sfL|^6@ z!Y|(VTyr)fED)UFK?w&6a=3Qvu3iEG^Zd$8o4pnRX=XZ^+ zM_E5YcchQ&@iFLpt;fn2MfYG&af>NaM9&YUJimw~ud_ls4R11vcNcKdLk*H;B~a<6 zgydrdfr26(VE?D93cHK4q`Fm3ruZlDk2@NEd49>Xe6-A|+n_xdBF2D402B|Mdtl^iW76ZMnYToVRen*dzQ}xm*h}zxcUs*Hdhm z$@TdAIUlE2AE(45FR!$avR*o^R6V({K~nnqHopFk<3$_3;k9HLCl5X$M~p40&@GPj z6wOQpzrNyNevs;)?uMNCBQmUbvF^_s`@3H>{b`yFAzEhR?bi3Y7>Am9l1PY9Z2(fBJbsBI&bf^eJ%?&>DuuUK5&BJ!|lu@#B8{_V>3onr ze)-%Hu>G381u>$YaTTS!mvv_Ha85KU0@PBOB~;XwWq%3D=8$~I^NsduQQErgV}nuciOQc z!(Z#mo{Ol|FaPAw8&`N@c_yIT*v(0@IMdkOvzq#95RpA_5MtX4$e zy}Y4=DEneb!H)PV9T7<9zj7vrB|7q;|&+$8O$olCQGs?@sL*1Kf+%>OgI- z-_AT8<=5AS@d-OiT=>Uz+FwhZEWU^y^VAy2eR1D1_;p^lXTX4g!xz^dIpm-9!Yvy~ z>qbcG5GC`27;PYJo&H*R&q};=4A7kW*u387&3GL;cJ_9-=2c5xplG*`pZ-*R9X-YYo z>;Fu0XT~eqy9QDVMNPCf^-g!?!-799mfy2XwCNjSdi?%`Dy!O&JO{4>iwm?s9IFeAd&V&uJXtx+?>$;RnF-!;#oD5<9@@MU9y#Kd)2;O zrB3tD@9%MblN#H)+T%}@B6JbY^X%Ul$z6s-_x>FGaDuGK75sF?gz?D zl!xwotZrj)2OZhtse^d!-uhVR$jJP&Ev4T~Rpw3$7l?~KFXR(f*4P|W`G`^RF#OdI zpX$=YorGL#p(sUkK=7}JvB@Z-FB}(!5~4H4HrZa1GQd4A(s~!VK~~V+Cq>c9Z^e{-ugOjPoN4%jZaC%@kXDeBKw)H6W7|-jCZnUl7gg5gJE`{=GZPS)yB4^>)n= zb2+OYDd0xhSOjwFU|L8Pq3v^&yiaAS#yzstk4dk!FAQ6i%bhzfYcR}@5m-A%v95wk z(MHosww4Il)iT=y5#?Nm1L5Zsvg;5|?n9ze`~G?5Y47c8Vdc!fJU?qk`Ib_zSER@t zIrKx?VUyOH!)TkHUi5rF57{9?$in-61gfkACF?T1z(AVnSa1-&)a{Zlc>NP^iyk$` zsjoZP7>!R}yOfZWF2*ZoeXYpTpv_*~dM;+vd0~KLyGg4}_=GiXq?$n(@}3+=Fsc=Z zunqr*M!oWlI)UR_s?3%JXOaJ~j(|*r$Eg zk7?(-Fxl>^qSd6+N@(hTa8ei@(OsLK9z2`QoE@xHs`iVXBd-^zRwj{!9N)xL*q)(Y zI=8Yc^75GpGx~OcaN}iE&2^`2+x?@a%gxiPRjsL3a(sRvBX(z~PnB=>4D3mIckAqA z)zRz+Pp)5>eeqDFYmPa%lXZhpswDhtkhJi-PQyC$tvdaFRiU*X{t=eLnqcCM;;YIi zHjI5XpwgrsWHP$4CiK&gkbF&)12;SokWQBoq&xL*NqGZ+H86R9&?!L5+WMscDEZW!hvts#Y z@yt69ISW47@cFzGN(d6qS!t2oP3}cs`EuRZ|5BT)GcVftd%c}O*^l}&RI5Xq+R$d& z+r75wQb-2ZddhDnA3e?LDLc|CNKZfy(Wly)(|L=fjX#w+)y`=5=JPQ5FXelB;Lyb&iT(vXMda3OA zHFMlBCC9O2Q25Q7N32eC6jd){hPd5SQDY6YbPFN;X<#9ueN=`06g@+KL>T?o?*)2f zzV6mCT^vW+xKPzP)$M&zU}vi3+(~;28eRgmW3SMzH6--?ir)K`uLelWB_5GF7-hug zR=ce{BAUvA1KE>$*p^6K<`=GcSxIOzLx1}q+VHJbsN;=|Re67wtB3C7 zSe=$%ajG2|O+A9Nf1TcrUHKq(*|_(f$sYId&@Y@Q_qoewZ4u1stW6z~CbP73%-KCh z%~d%rXS?7juQ-p5I%h;mM)|rUuH~c-rImOaPM>aFkzR>`n}x=IPjC468bhz-wpSQD zRrIUp5@y%!!5jPR4tU8KQNMX_Uhv!Po4uFmC;MIC-Bo+kM=|S)fH>9=S`GPwAAAtQ zijk$?s+%Awt;|n$VjH?)(=m!(6g>Al*m)R}p>Y3P>NUl-63#pRyl-7Y4vpf;%kOu1 z%MtT2Lbk?ooIas%_ml zM7`cr)zK>3ojiMh{=Dw7Qr@#iCA?4Dd@nQ*Ek2leDp;95y~jUYCT(WNRr68WFpQI) z7o6W9wrSl{t#>UORjvNbGu^scf7yArh9R+K=DdFEqUPL}mZ~d9q!xVK=;Cc1qc5WZ zI1{{{-OWfm*~;r>;hQoNeH3Y5LaupRCeN0`{OC_%9rD(i$yYe1 z7KL`I4PgWcH~6GS^lHlSO2G|_>8Rk=3@PFH@x+~%&D2omuE_@9wURzJ(5G~vL+G*$ zvCvnud;3&BIyyDvNIVHYFunBtwp$)U_WNB;zG8cd^O#7Fr`Gp}@5go|?e%x_x#iSy zVKVx|o8qzqh|Fs~+PyPvk?$U^K6~ZK$usPt5dgzx{$KSm*am~_K%+YcGg5a0CRfq1#ITD|ak#oXbqDAeUq)LOS-A4yw!@k=do0H#=<@BKRW|z~Gx8ZvuV}9)qtva4^yAyM}hUls= zwAklvS?W-k=;(SV%JN>>yt!uRlZ=GBG>m@apz9rhmcqJ~`VWi5*$?yxw-8+Bm7nhK z)$p#$v5D|v+U_W>P2pmW&pb9^u7AF6zxVRjJ*j;;_tN1= z9l5@q9%FOr&0=NwnEF;4P1?O%&S;Y^>ns^_mqDBTdphFxW}*FgVl02h3GQR!T!TJN zif7MSN7TiflR5_569(LE+hk2r5IK>T{j+Nzwxbcnd*r^Z_qoq@J*lE5#2fZH%{A4V zJui%HwP`%Q@>4heLyZ5Ibo}t~p%7R5^QbU)-R~ODz09s7XwBLWm)0$L$NDaxUl?=V z-~PbHTC@D)hm>aY3o*&bflh|=t`|XNilV;0hLtGuhFZ_ZUc(pHpQ&p6ScIAE)O-4f zi$y&_+(mgg1^rPf!8b%{&(ZTPB3n)}gjsJIcC6f!k405qefhdPU7jzID=lSgvTug} z>R%%Bs{QHiicP}pr0e*pll>c}GTK}XT5ROrd|2T~cb7huwASladAKz-tJZVmmyl_A zA{nQ@)K46HeLPyVB)rG(=a-?M_Pf5UM|a?84jyR^ZAA<>hYbIRDR|_in zE`5~Bw{LLjwpMBBpJ8(C#qOsT{OBG~L$CNASk=FBwEVHoh>6PsbF$yYzbT3jgs?xq z<_^DO%m^j?ydQbVhkZ{<8W(1!i?a z@)PVlSAveDZQv-$$IiABqSAelX8J2X4$fj&COJ)hHRa~;7o$TQD0MztdL-fKdrh?V zk-v#+QTwRN6MMehQ>BHFRJODxYwz#jQBu?lsuf5r?tPbX+W4th%K>piq;%QE%iJvW zxItM~Pl>a&D8Xk>orcAmXI_REeio;Uyb*h=>RI$WuBP_8&n@@2FF#bbCJ0Q=1ogHZ zdqtd{-zgFD@J~3x5dYdseBx^>L^v8%Gs=M;oeAnl@uDBPaG=J%a%xySJ#2&At{oe` z_!@-RxgWEzYctD>!+uh8HE+R)+rmq!#3PdAiQm^(S!lT`fl7480l|YsFA?vEu_7^_ z=XcJy3U%z<>3HuqgK+0YEKiO0o{}TZSmvV!E6KAt3;TxIB%!yzg_Ig6OC&ZsFuywJ*0T^d z>`W7Oe>o+Cmm1lfy}&}w$hzvIBDj^49afYSg*aA`{DO`}#;LJC@n#spTOW=$2&yeO zYCQBbk3-Aq(2$ZM?~Yl-RQ}c$idM?AK~q9=!B1F&>~Q51C;gUDqd9rzhW`pu-TX$B zeyi=P((9Z$x${hN9u)uVU@V5Ep-K21YY!q^!lgC!3j&3h8d{R{ikxh?S%h;is zCH&Q;CXd{LkuebY4RsUp(ndw}J+$nc>QGV=+Bk=pmfzB&G$chzkY<&X1lYAr{#R{R zlvH@}@V>!b`*Wy>f`=)l;W}nm+qhQ?*fWRF7!?h)Ksm-mhGPaX-TP{ocB?g*u@c$# zIB*^5zVVZnxnOUbgA2&+TSnH}A`rTiY`9J;X`|-bzdYONXVUkGl}R#Jk#Gx^`%*WJ zl4_;RcOSu|^zo$cRL#na?0c9_(t&w#Q*I(&Ns>Rz$go@l^Sh?W!Ljk?x$IV9#@0PU zn)i&pkvGk5o;ebOdmpAYRYxl>6tEbm3q4AQmD~Yb<6bv}52Z^xG{*Bcrh>uYULnmo z4d&^@IaT|6b?1Z#6Tb0zhawFx3Wpy1Va8V0>X34U>B*{3gaeaBWjR|eB%T{}(cXDt zV*Ihk)lXxd%e)3

^v)Tl7Q;DFSw`w}N3|NPz(Mi{^ZbCOK)2#%on4VP$!9Wjf7D z0rj_C=5gk}IhXifL4A=|Cy0Cf@7kkrXB+G(J6sI(yO4zGvV)iE-7`vBdh1U9a_+c* ze^zEBq1>OHh|CMF=YPyKIeuzB(RiVrt6`Zdx%r!{331TRlbVi(8QC)ObEy^KfiDaF&8sA{AN5 zI__99yE~Lbv>t>(B4-1tpy*La|^ zE~vKYQ1W#rosK)rh|=fAH3o`sB7x2I=W{vO^nsPMEgtv6w}pXuD$Y~!#=@t7}aX!aaUx%^bX7&GKABh%aId+4c^ ztOthGTLPOTJ3D?os?oWREuUM*iIEvn)GtWp?abq^2TpZF|C-A*96Rh)jgU(Z5iAtO zek}=&4l4o`@cYPdZY*;CVO%>^k1`#(8k=f4c_bPJ?G-D`{6{t z&-d2eFQKb#3v(CNSF5Xbwp3UI#1zfT68sMS+H5JE?a%O(_**OSSIA5rg&r^33a@1N zj&mOP5w);}z0~I3@RG2Wbr2<+K)B2BBV;DL>3BSQTT*kY;Gv+jdk%JU)A#@Ed6VR} zAat&bQ}P-iFS zM;~BqyJtB|_;uC`3oYZg7_lsIX)A$=&!2^ zB-J-E^Xngp5j{NVpLH47sEKqL4=2@ZBej5bqm;yO|31%CSpKn3xbD=gVV#c2oS_1g z^b0CX`(v6hBmBh|&5F_z_)5p#@h{z)e1s^Sswe&UiuxOhC-PvwUF@T=Z?=AuzNKnW z>Epd6s(V?k`kd*L6dsCB(hq9H2K^>Z#dASooFC4}FQ~+i>^rk=r$TJG7FX(Y1j`ON zcjyKP*NXUU3BmHbM>o}h;hvd=#!1#dcZbFy4)vBkGvm+Iremm9Su zHsoP*Hx+(3e(dVXdi_gW`_=EKc4`D3rFx)~_gCtl z_hmTmK125RD9kneBk)dlHE#DWj6;h>bHQ(`n96+1H$TNQtX0e}mfaWNKD_<$ipqPd z%dL)?`g&+R+OLFjrgpRip;s{$<C!OAe8U;<+}X<38zef$I3ep3vAr#rm$;mxD${ zJXt;G9N<>>9#P!+KfJ}`p_dI4XY;qo=$0OVg|e**KgdM!#^)JG9n)G`u|L_1I z=?_-6zve*DQu)~>bDFHBfTzZ~N_Kl|vB8|M$X+{9Bj*xkjj+yV9^4GPkiAfAaA0jG z`jX8_yeZjuxyNtQout3NYP9r8Jw2ECOy3(VSBZC-bx&4>oa47^?~~uLS3U0@YtG?x z>W>2*JgP$zUCR!r{;*xtajD+@g1Dc&p@)(M9&iz*mhzfqTuYuc{Ng2?pha*9{z>n2 z`dfX?Kyue`yxq+&%iA`NyDgEpFV?N*B-!19#pJf-+F2UQJB8eNCTgyW#Edv^6~P^S zoN0gkv#r$RUcEI$!1y6v^l)_kk?Ja06&1RzHR*cYdt<#*XOkZXMBTNLJ(0D!K-V%I zY0k26u%jPyem0r@?ri?%XNML3SSHb^Dl>vgudTfTOq%NjoNK%cGu~}?91#|IH+ooW z-ONz@d-<;UdwOL5$X#_Ixi#vMHfF|)hwbHax-OvWdQR0HP9G`?$7>d}Ng6~IU{`O1 z_f@^u(0ShQ*pI>e$Q|O9GR>Ox%f@xK!6{tXUl8$ zw!zUh#=U8(dLpb>C=YxN;@r9|mD$C%NymwWW=5{LhQmHKml5b|YD~Jx+xdhfr zC(Y`fa5dZD!}PFAdMt-JW~<#W67is};$zQr%@e~Pzs%aWFKUIa9jq1`tcocvCQPgz zezT)%(=vbj2r(eHGl^tjokXb5-+MW&=o@Ge zD!0-mO2kf1`OjXPRoePb=@vUquf)Ip-fI>pc;}TJ#+G;#;L&S_y$LA5uUZLt^(~>f`53VhTEMjvuOPlwj zRTHSyo}F0h#Qx7Nif&d!{QXtpVZ%-x#(a6 ztF3>;weG2k><|kXKdl?`P{`FT(f@;~o)N4XaHbl|nH2v)ke?0@$*T&ZcqjiSFBk`#7g>}xEhS-(nQ>U4c(igvyN^1WQ71b!|y_ zi}AZmtGGvlS0n!X55C?yuF3cP{}utI1d#?2>F!2gBHbk|DJd~paws4mA>G}Qqf1~& z_vnVvHM(Q4-+X`W@4xrIY;4ya*LI!fbsW#v^9YrG=JkyG_g>>qRposo{3V7xHL0WS z8*;3hHzs6YHcfi>m-HP39w~jQ(#MIjP_N4!IKI$%NII)bB%w6WjnF%Fd<1>w?+X@> znF20%Y~RVPvc9i{)53~n$%1v$R!&yUw;J0T$1{pv;f&RZSLbd$M4o=ovM-m9(o=+I zPY(Mh;>-m1bS2x#iPBGAr931t<~p98A$~Cv0uri0ngS;>?W@U>4&}ILi8xQK%QIv$ z(&{Ya;*BcKT6((A1~1Mwk|cEs*m-L@Nx!C0MEYnD-MN|bn2yEWsDDV4jFfDxsT4ix z?|+1?y%rz&*B1wAcV%KXA+LYwEvcDI6mr1=x_SMXCf{vYtrM7idR*G`nNHM})#+D^ z3DEucfbHKm>VGMi@IfKI1f4P1{OeA7Uik9|n@qaRdM)v(RsvduNj)pY^AL(Zyq;D5 zbC)S)fx)(~CJxY9JkM$)hoP_57RAyVXecXGNPf9=?5l#lVh#EIM2j}fXs>ov%Vk>> zwgnFbmWzLPtT7rM5SAuYy7n{v(*5B?4{l||ai+G*q=-w|vUeI1R;X{H3%thxr6q1L zq_;C_!$!;I9RtZ9#b0_{AU#qJiZmWPR_FwpD{LV%2~kXu7gk=}^CPZXK3l}cj%2sM z*Bh!70{p$F(b5Jht_3#A;qy2CyERsz>7fotpBHChEFcsep^A6UBvsw@_#P}N@C7gg zk_h1XdL*t&=2b)pkhprG9@ZMdtA49`z?mO zV3>e*cOCkJnA-sec+KapUq_ld1$Axh&3-q-*Y@y|)w*qAapCTp8j{;>XPSKi?V)_) z5J}Yxcw8FqeRBTpHrII`$sD(X@a9NHNHdN{zdA-S$pg_fd|e5*NYl7)0D=wJlg4Zv zRQSLrF$M57!DD=h;71)2qHn$prN(AnnuW5>tHJMPyd&OBySA2Z*KAu(K}&7!&6iP) z1X{5DA z)z8Q_t@;?VUgF6$TtG2zkRXNbzISN!G7?~F<^PS{qy6~<-OPe%WBd> z6fj2y^|t2u>=o-3ZSJ4XA4t>4Adwc1;M((dkzd&7R9yBp<_r$xsBA1$`Hz!!mt;!j zR*!I-jlFP56jb?9XTVRBtzEQs7vt6LpyKBGel3{mf1otDdJ0ZAef*G~yX|tm*)jr5 zr)Uz?WR=_H!pq4%_D4$S^QxU}p#9dEPqlQ<0B)#9hH}U%+TKVroN32R%j!P9>@Poy zuKOg!dXBn(v)5>q-eBp^*7>3-bp0ZA_Fu^Y2bEm0&CErV6CM?mry-IO#AulhJIgog zgWuMT5uIA(jaj9nNfTvR*NEflm4|t z%@pVHo{S3TeqVR0l6MTd`+ES?)-SDBGF{p|2#UBuJmat3A*wVWkmekIp1SuVx zWP`sJsZQfNc8^>}L{<1yVM|G=vkHo(FL;NEB$*Y+Ekum_{1|M#{Cyw7a zUQBz*3&drkZ<2UFp0Qt7|$}9MUWh2!G&LEWRqWLK<8=n}+tAIjz_-^zraJkh> zo?f8XnQ;!phP&uuc!TunsRx#ohbulWMgmxx5TvPKv8JzsvVBFNsF%DSw{WtH(dXyG zO5f)dM{a~&L?(1}V>X)nfM`2Vp!J){Tj-mL(S9Kgn06ZpLQO2wMxQvJvEB&phU&vL zv(#m=w*g0Y8iZisElcPIp9eqsR%mG3%lk{V^pzPNw*3Qr-f^l{L{}GiN!YcFPMoO< zYIszZDWS(G>>X!-rIOVJxy-N4x}@Ktt>K zhaB3zNvo$g&9jT6Zv&1dgG{I9R=3}P=IX?Z8m_O}3AK0&vQ?E(C`uLf<+QMT2^ch^ zIK8(Ps>;6qF!=xs{)o3{6R&0d9N_T5|8higzbxBB>mTGdxi45Uz=xExWy}Ey*-h_B z*$wc}}(}8|F#C+((~>sMx(rs8A*f zz?lp7QSzQcRodtawDkX>JD#V~%z881z<&Ut;Xi=zFA5;6Vtsb>xN;4MG~kj`0Ctk>75xeIdjpKjT*5(|-GznbO%wA@#mdLb(Q z)LBGBs_JH}F~OQ45xV-vG{vStd0w$tO2|N^vN+en1TSE?L8ZNSF#D6X%T6@Z8Q3f(B(*0eDp&D-@*tZ7mP$+()|Ay%scCrMey7WDBM$ue#A9J~ zr?o|iZ2nA)MC1gIY6!U}DmYZTC(e03)LQUUZP7bxG@^BMe-Dw?t2l+rP!@4mTWVtI zST?YhCk6h7^zzwkpOD(*Uti2O8tw?yK4hLD!KPhW1xxX#8PomD)Wfq`u9~@#eUd(r zvu{yT1k=wH03;AL-`+n94Zcmb66Co;Hrm|FhFor3GpiQKec#nk;g`nJdQ;D3%}*-R z8Ay7`#Bd33sjRXV%8y=XKIsRF$A(JV!x$J*;DH^GH13mV zy!@(AuO$ar8%4-Se;$FD$!KK2mF^8+xtW(cFfg!c%!attJoz}O?{zgkldkd{+U4KtdV0GGzpy}g@2Es7u zGW6$asNpmXWu?OL5~Z{N>NT;NTeg$Pa~=QnLek%}9kFWDfm2*$@+HqJc$7`I%EW;E z1@uCtx2k8u{GQTWtb|hzSL3GtxR?#tmfpx8UbboBPGT2%$h)P}=pgFGkk5gO+X??7 zST9d#oR!>CO=;<8tcO_T^%`*ueYB+nQj-iOd91pQ5_BoMV=e3Zk@F&Zt(BxEPVnAJ z$I!+c@qnY^_Agc$CLtbfmU66Ut*lL2N4dkC&tnXbly)^nqavW!!pHO>UeZ`?GNVMG zd=_qb8!ZP>LI$eQJ6KW;U#P0O@CycnVzRZx>Rwsv=wIg_JfFx6a0`cv3oS{ng(Mg z>6T~9izi#{Mt{o8hVFUm3Ke;)vRd9DYm~@zqFVXdX2~;eRl`p94sE|k{!S{kR9yI1 zGx4_PUK89=OSb!^$C}xD?E0a3wAkC_r}&qyD;WQyom#WDAxm@WiSRGpEaG2LF8)T$ zv6Gz{B0cU(y815=332V@%y&)oZbRApDfxY0w|0a99mTh$nULcrHeMy~gz6b;o^@;S zmleT{wmom$C^pi;eM**xGlg*sX%U;;4)f{D4l~w8HL%Lu|1TGt_iB z_OEpE1H|`&(zLB_Y$T72N(y^w#hwGWFZCpxs&j$7 z=y*+D^lW)9qN{d%t2I?KjdZQ_QS9RQx)1kvUD7(E)^IwyH9+6o;bgla$jqRkje6Ya zwK8fq+RG>TBi%*$S>9`-M<=B#oYFT#fvpU4qwxJNq7y&d{61~(9QytunoRn;Uj3Y5 zYCrPfx@5-Ew9*^923O*U5}tOA?GW9Vqj=D27(k728?{H+wZVALlGQf^uM0fBlN=)v zjC`TyQp=^N`-7?4c3oxng0aHmr{0$$%qk{Pai!Fx?7~FD=e3_|V= zjDxP^t_1lvF~_>`J`u7gDLfp|-WYeA?D@Ix>+}k^7mO!X(T(Xsqbdy7V39s z#7bMc1MJ1W>l`Uh*L*=AxO+Bs2>}7C^Iz=b-Vv!Se;~F-shbk?k|nD53LdO zpr?ZTPHMaan|@rcvn&KiT4XxZv*GSG3ZK;B5QSvfSQ3F|o;%CIV-jQ`6_S8~ekli* zb@sv3eSjKNh2?vG%!Gqj#Xd!PLFqdi7vb5F)b)6ZNx9~D@Tpi|o%1WVHA8Pkyw+j|hFiGUD)?W$tcL*WEMH zpq2{(dnv#s8n9&XGL487(A`s&dm2h@Op+iq*h;S8Wi2JDgEI$|Vt-sR9iGs$5@i3D zbarR`=%izfsa5S}EzgsuIgk_&X`U`KQW;c0)aj= z0=TN9PWo%owz@dZ>XYz*q*=w@{3FS=4)c!?IX`RsLL?X`W?un&6T~0`Fq)GS-P)0f z6hM=v__i3X;a3&ccW*Wy_f{`nTtQiXKcyS?9A^UhV&hBFIg&lYzSdPU7&3Z*;Besv zH-g^o)TBJVB3kHI@#l9K#F)-+0ScYNIw;VJO&8s1rY7e^<_LOw~lgT>P5P7 z;ZXI?Wv)csy%TCig2}?OiFj|204U07;E|66`8qv>=y=sLw7hM6tZ%wOPw<|d zMGl@{4n*j6BNQFVkO6o5fUmu|(RCZ4*Krv%Ei1^7;JqDvKM(`^F*`dFyndIhLyDwz zyZIT@QJV%Z8oqtgI&k3&6up%wrMgVriuM^;P)N$ASw^w(vfCwc&A{r`aA`g-5 zcvTz6*(An3M!+*0l!Xy8lyhwV#K|=X!kdb89=Jt*)AL#K>r;Jj>{(BDR*h;htLt&C zck-6B=4lh=Ur7xWIESO|+q;J!(}5u-06fn-15XA}Q^t8zNg_@4YG~E!VGb-QR@Y-? zQ@{U+@-V$`gN1D`XB(a3=OOjw@R3x8zZ1jg(BexQKe=+N&9jHIk?b8xwiT7E756`u z7PW)LJ>F80=Wl*m2_>P(%t7dN&cN6Ob=P6bRuj71?I@hvG;GoncL^fo!%Ua!{otXI zAW*B|(;zUBr7QDb_yEmTU6SQnp*glnQ%!3aWoaCgu~va#%RE0wdMgG>+bNqgts5P* zwwJC&4Hg<(ADuC67F3a^z+!rjZQb*6M)3|L=NuURYvz_)9 zyRWja3^GARF(*<>sA~ts4%(9SNdB@mdMeTVNc-Ba$TeGgB`lI1751pI-3oy|hc`G7 zQ<4`il9;a3N77l2Uqh|?b{tJ0qeJK5Vr}feH1jf2S}+5lUA6vZEuH;&T%OFuhr@8W zXLlY&CTn!`)-7X&kz=g3;XS3p#_3|DlRjYdLif1hd534foCv!Bd_cyo`q_EuXuwQ~ zw9;fWW z6$gagdl!RJNXn8PrYxQ;H z^dVu>x9NV=t8dwl`%qSi9g&8N9!`e&NFSoTsx@gi6r_G!Y~GUFR3kI+NtAQCt$r0KTqFrK7AhlGQ}10-uh0b z{WsUSkvc!6@CtDe3Jh1k2GqZ3 zbAYT@VCI?%->=<>%<-{kpAa2+^3{X;U2uTfl<;rJ^~2&scrIoF9q*73e_hwQL=wN> zQ+ zLS{h}nigB1k_c4#;uj~^t8`$dzna$+EL2afk!EH+OzyJgXm@m8g?=?YKJTil!mn_G zy0t2&y|b?|v{atNC(ypWSYh*i&aKoK|XD%GLW{3Zp@4 zYN)l>*2|7=*2(?7{t;;z;?3x@1n=QfUVVRwOMl$^zT+Dr#fX>in)>#9>Io#(_AV>- z*#83WE1QSNp`y~DrD$tB8SiQ?Wv^X`$mWje8M3CC-`4f*X}-5nBsA%;_#Vlf&hU3n z{+uYDJs))i)JM`}id0hq(%O+=RhlgpR8k|~`yRQ_s$+i#m!G^sp4rjI2LO+eR`CoX z{;LQC(gx%ScnE+YUaA4oXvWsdkiu#)beH)Q;S@|WT!0#s04KeESv^3&9!Zm44+aT1 zB280-i0F_Ihb#_5Kw2SM;?3S;v?UzXf4WK|-2oAkAt9gzfx`=AjUAuCC6;DfI3rXcnJ$#A)(c{p>!NEyOJy8$^@R^S{Vc40NI_FOy$g zfE{NCihI}3Gffc0tD<}PUwkh>?Ur6nI068B``$${gpSul`SpVFWS2;ye7VU~r ziOT}c1VPyr=JZVfl?NO^}-B$MO+ce1jz8(tEFx=8^x4lbP-UWqoft?gTuL+s+SRPtc~ z#5`fT(*i|#w59nlqtR@N<5SiM zv#KB55Rx4kDPaP7JJhL!O95eSV&N`Z@K)01%77GYwRo9P@6flxN-}HL%m>Z8896 zpR1_xeDwH8vI3{uxQ)13P@Qu(o)uL+^F3AT0k`+DQ*W27A_k^5`FU`8yDd~F-$}*2 z7o;4yFRj$|UN$-JNK3F-EJsbKNjo=q{3U7Y8u=&cSZEdlk2b9aLQDhIJhm8^J;5s=VuZ_ZexN?>W} zpt#YaLI{XKnubaG@%6Tc@ieS(_e}N@Qw05J(L43~8ta-Ew#MAav`3j?ZNCif$$3#MGh{Nn%%6 zV~f6-N*!QHGEsa9A8Kt?EAFuOG|Ke=U4&X()%PP@=~LAM2&;kPCfOfxEs~9jK>(;x zj87@B1T6QuG`rw1ksYZP}QN9gOPcZcZRRW@hb zTfWX^!w}aSs$Oq|MSnuwX2Wi5O?0Mxqkb%#`0UK^hf#d~>jf3rY-7EU{<}|AjHC(| zT1kFf^}yCX7#zBfTx(;EsBA}#bbDv-^|RbNd(DPz<%`mq6Zz+T&L<-SKr;{MIM2tK z`xjz}lfF0V(F;B=Xx6YoL}y}ire7D4I5)GU`N@F##!=M{gb6sH4*BfoEnUF%ibZR| z*NLK(gi#t{Iy8J=K%7744!r{A#rW;E_mNemDe3fGoBpr*hW2YDohzz-vaRSTmpd_Q z1go3!&HgS&+7H`4-ZN?Cc6pBaq>8tA^974U(VB612|Irbi{fuV+?`7+$4?CsmWOfX zpD-QE?gO)mptaXbcBv1L;5-)@lv_oNxG)pTGhqzj>aCU7@2TN=YnjE#eU_?;b`)Wa za#(kkmDip|lyZ)OeZiR~akD<3Oa&TsD8YO+nG*FbKJ>UAdrOAv;u98Jc)+~UTp8x%IOx}^7%=6nfCr;AgV8Uyd`1ra8 z5=|xu_@$@^{LpJnnH$V)3zV!OeD=3j{FBy7%>8WEVz^~zyQlK#?Oi0%Rxm!{Bcuac z{ZMPcF>_h9b<8NmEw)&{GF{#~Xg46N>g#rS^ucUR8GwD#RlGLo;vvJ%N3%TdT$9&f zY_U71erK>1ssR+$ZlC)yOV|30z<|2nx>h`?^wB!3kLv>Z4D;QaBZ41EfaJP_&AYE~ z6jdEEx4i+>zvu(t%t2=+yk=DKYr|bA#{H0tC5vb980%)t7KZow3y^1?=LZw2LnQU~ zq9qBWhtQ;7UWwpAhqTGGp4rdt{-$0FuC)yP=RD3>6yC5dT^3?gv+osQgtU!vU2LtE;ny}f7!>CR>z@WMG-wR@2IH4ccVF2 zBzBWVkuk&2{*#cPXUC}FFLraB`YXgU&V&{814#-NN_}8I2y8R`&P*ineX<=-=q4&|o{KA5? zmXW>b+NaF|uthqB+Wx}6-{0+e?oFwEjT6>4=3jsnK-QoiSHt{|?*YlR=e5Um^WQ{2 z;~;nx?&t$SSW?+~^X0`VCs6iqi?h3iZp@VQu0QxMWDS;HTVS(QQSZ&>eBlJb3f>0( zVo3VKHu$QV`K|5DV2|4|ls|Uhv!!F*?VAo2XO3-y&iLcj$Fm=FS&GD8@`$qmK=ojt zkOGOPZ|bzF)8@5@QT*pqNe)k<#%_x8HINuFdVTw^m`8!j$-RP_Kp3*YTph{rv#V|s)pDN{%#{MfgMa4rmu5T z-@M}JN4{kCAl4=Vv*wP@T+9fq@APDR)%iiMZE5VqZ|v*YZ#GogRxf>r#JzW6x>O~( zlw%m8wCW}@xEX>k-p}B@kel4LjWKBVc5d$yXh3oWHP45;V4~dca+8c6mR3)G^f6{#^); z?t76&i@1qW$Nd{6c0P_SofXgAYBGwar9k%_d*pC=Wf$V2>eAp4#uyd*Uth|nbj|+c z$G0t>kR3onhdX;qajNBM#)M@Hh_j(1qLa+>Rq3JP47u~JEQYIXO`3Oo(Z^+s^YC0* zJ&b!}IT6hjGLMT(TfQl`N2fHfK9xrY^(`;1hAkP=>()xR07Cv42^tO%gBICP}x!DX^W0{q=#JADsILYN+)S>Gh zMua|FoXP%~<5DQSR%bpaitr+h5H&+`Th28f5rbMit@oh=-%w( ziry@UXcG2!EwlrJ*(z(E6b>0`{u7JW<*0<}c=m-=s1w)Src z|5a*-yO>PXX&9>(!&^o@e)Mf%WscIMJ!|?|(tUgL?BrH%9;Xaz#7Ar-ecR7CX*Rql z+4Zr-OO8A$Pd#}hNBupqoMAiU`@`DCb2^Rb9@*;QL2%SMr${yc*{pqJs@(`#V)^wi zQ_Q(_c-~54Zlqf)?zkswOi#}NjCHo02N6(MaE@+D>k0VWu2NCmQjB!Y8Vywidqr#Z z>Hb2^emPc;1m-}qb+p>`F8UJ~-h64tmj!S*5Wn)h z=mie|=6VBIByN=RabXAt`uqCVzi8EHA&D~zv#1M;|5#P&c}QQvz}el@-zH2(po~Yq z@RZ`L{tj%l*zzx?LJswtVds+DXoiO_idZuN!Fp;MU#XlBg}UuC~c>x$dlZFwix#2oTM-kGdZw4VC-u()M7n3|)CGcR(wr zFe&z#S}qXjVU2|h&)>1beLNDH|9Uw0)Yjl(SHb`C+)dC8kk+`nh~&;_M9z**LGKRy z=!v&)AxLW*}dZzOmJN&E4*yos8!zDjuOdzFr=ZQeae4kVA1S zn&Zh}-e)-GfgWa|4#g^`tn9y^Y{})V*YYhB>Q^h8XRgxp)o}CEXOGZ{FlD(P7~c${ zvF~bo=%HohkeA;BOf)mHU<>MK^h*Q?O#KJK7?hVykTQ?=aXthc7z85B4?{z86#2Tyg& zXCkWS-Opr*U$?Z$`*mgi`4oIzqd5%I7dec++W8zeNP~>l(m9qI%dJ#nb%~vwFBoQ> zc7C^yx%cgw$0)N}k=!#qCJpeM`L^`tMeExwt1!+E$##3AHUh`29qt!Emtg z_{e0O|E;FL;R2{Xx2SoT$aROpdB_{eD+iu+VUBdGR+e4<`2D=krjb#}kGgn+XDN^x zi#wI*lnTpy<9l3adD9B%GB}=qa=_7xjXnvd$J6XX?6btp=W6PG{J(~yg}FhM zaAaG&+g-#=UCr&~!OdhwZ&ePlZ;)59EWT@yHl=$mJWSN*x!@cLU+G>$EinTFGeDxX zeD7|vd?V0gILhVv-XHt}PU9;sK_{C6Xn!Zs*?A(&cVVWQCbnv2gA!VN#(LEUv>8DJ zi%%QXd?)F3SL1%=ZKra04P2ot3?RUw5#$K_9IMeqhnTcd|c(75j7dG40 z2I(beM)6dMNj-~8W}`fJ-%-opMGW$_#$D+8`|Qi|YvDD8fS@;3I6a5YR!njJT)yg! z!opV!eS6bo`owKv-NyfLh-ST`X7-+U7y1ls#kYE>Ex?{>4GK9D(`$re*E3d{wSc&0 zYg_nb6#l9e|y^7bLT44R$4(H7-7=_pie6lh#K##N6$eF%GjHWHU#Yd3M0UoPDZq zk;=*KPH{)&PG{g^=fBpC+D#Hn_D%WtBk#eBIE_#(fGYJRIUBiV0H_HJOhVH|(WF{x z!`WMZ%^w|9w)ppTK@UFotJu}HL!&U?C?oWA0&MMW_q3)iGS7Hm2A|XMk2zuSwwa6Y zM`6l7?3x^8SH_&Cig7EG>94jMqx6XDwCjzQ(MqJL$l)_^uE8-Io_vwQx(8}4Cmk>w zVgr3<>HOVFhHmJCe0>J{%8H%}Dap&i4$zYqJuNUaiR(+4ZH$IfP?j@$o3ygv)~s|g z6LRo8m8;s|!OdkR@)?b#n=ZyYO%=zs(dtc^4>e}9O$O@4-jf;H z7{01X#5d5uLIxB0JA>2Im8n_cQde7F-#3pEz;|T8{SP+lbihO-&~JtS_4ci=Et3g~ z=W{BAg=aJ?pB@~z>y^cCUvM_a=f|oV2zM&;5g?BZo%9w0ng#4~;=LPM``=L_8=juB z(ZAW_e9Te5yy%LaH=MFCQo7ii81+{UA<$k!}G`!fnsVQ#R9S z?=JK~1_B4w{tle{nC1x}oq-ZDe+}p?t<5;NRhSG4e*P9gW1^Q@5YLoxqfsMQ*aOh>b z^BU}0ALE#zvnq1d+X(Pr5L-uOvnqdqG$=$yyAHO2KndDc6c}Ygnny90CyS$!9nN<< z5``LMrNDv|Ba{p4S^Cu3mE&BuXTmdk_10~MSa&CkD>!Qw(6V`u*}UoCMerOE=>=;l zDuz_=N)^1EMQjS~qrv&Z0atvwt9xLzQArT?`ZMJ{RRrTcMtVSdK;r)4W9=v&=rr3^9Em9G=;FL2b_y|eMR`~tp#cQ!JO7}`y6N03yz zlvuv|4a>;lUMBGA1Fe1cE)cJ{xyLaIRTXE)QG|HDbu>k;$&6Ua2v^ZnT9(^*H-@b3Xrb}?Y?P4H-oSV!C zE}Gxh2O<_#B8IyN+;kZtZ;|~44j-;;%+){%gh!X>`H@vyzy9kMZKq>*qH=py$<8~! zDQwkeJw{5jv9*8Bi27KLj;$I(w92MmPQ;BhGxB%Osx4C5;TzXb_kKTQh)>vN!|Jj# zygAR<-sRbXR)&YT((lNCC0$)O^41>s!sf}Q7=#DEX-r=Hh0e$XaGGwghE=g7Wj0eQ za6UJ#s`J2d+Wx#@)R_7BtusEGw4#k7TXGo~G5NyNECn+_SMl<4oP~+Jtj`^_6w?jnV6k}X8)>?x;?Clu2Ucp=2gB#I8 zKdXU@cHo69E|!)2c=?<~aK17KTBbXPu}Um;qq1^i>Z*~-&U39JRYs=;&VehXyJO1h zj*VJno%$g_Z3w^1VCbv!^n*K_s2o!$?jx!UGMm$#6j4sX$OeIAkKQBa$}=Q3cqc4o ztxn%WzyN)dpT{nXv6a6g){x*G+DQ&kosF_6l~?YP@gb)ZC{;Qt(%Nyj zN-utNgn5%x%%`-e>}ka@oaCK+h}T}q;w*7FXOa0~z<}7rwW9!`@UbU9tuLQ@8~=c{ zowA}aH`GP>qHSPs0d0gp`_^GIlMs>)s3^ZKj1qRW6(OfZ=(m2x z$0==Kw-eq=1C#KzF8y|7FdaiTnivoVyh83HBprf4T zj4J{1oLu+6>VKcBC=z+!E6+8sd`&JERnNb2(c(U^ z{h1If`+I!s=l+fjFCDERAFv1^{MxXST$+@uU<3iBj&OzH5XJQL*?1;Xkf zYHO^uFwcn8CKndz*Ob(Q+l7>%!p4{#|F1?N?Yy(VrHkual)mYF^Ig>Eh?Z(N-zv!s zTBDip=f}32Euq|t`iq6l?kwxK0OjR&Xx#hgJX7{ulYoir=visgn$Df27 zF+7ih1|S z!L{czzcH3m%5$1#evmq>r9cxUyX8=t3LHtQ7CO z#I~AR=}IblzNQwwXU(*7^u$$bajBx}k$d)MoEgN;dn+f-6F@21P4xNm?}NTm3{48R zi>N;plB}m2P2R4{D`E_NRFulw#|!@%4Rdc?Wjbo+U#;L8Y~x~uf!ePhuCW+^iCXm< z+9oo=zr8z4?jRB6u>;wTsx)J_tb67E=xmllP7a%RJ|wy)D(j64%3S!?_a$|%w2aj(eG`9he7u%3~Dt+neRT)gd+<_2Bd=G8_FkS zb;@)tH-fI)u?LoaPr&Hgt_(8?bBkQwI8l9A3EQqsAA9|e`02TnwHn49li_oVn>1xG z0lfY={jQa|rmr)x(eon&4e<*u_6G#G;QNR79R;^Dd=Esw0EwtAM*v={*kOAl&K~;4 zY2|k(wj;Wv67zVv(HeW**$x9l`ZEVQR~%#Al#3cw?E}z7B-zUjt~TGv!)cg&TIN7T z2ui2NE}0WWoy0l|AA3CJiO0~NbW6!b8+}|i1cc3CTh{H2INQccKLw?k?L-=;EN2^F z1RWhJANlij++btR3tY@{a6s5in|cfmwQ-WAV$2n-oYQoU_8ltd+0FU6o9d&H#t{|8L9OfZFi=$A zX~>?tz=6AjN(q-l`OTK4KM3EP*yNP-o{_1Sa+9Obte!4F?wicwLwU5JyuX(2h@&HJ zBWAmRVLW#3Uqr?_6kyV5u-vZqtsjiN$BeQNetPP*KBYv^0a9Rp9=8+?*r-V_WZBAw)7VNj^8?O` zb{0xz*xbEMfij<7zR8WBkR{`7=MA`=`P~kDYjyHq@Uz${N>G-IraOcwtr_KgZ-(jt zmQw^jQxU}uJxS(58d$N782FDhm3a)YrP3BgSGR-QuZ=cNZ;Za8`Z175@Sw^0lBoxf zH6AsL^~ZIXi6|Jopp38U)pAX)hWvCx!3;=9@jBjYjDYTw-?+l0%I5KkF2;>pwiqI> zYLe6EX3g2~J=dVz%HqA;?|*{UpCq0qZtu%bVpxlRV%Q3l=Joj|9fssG^8e>?A63KJ zVF;n?KQp4MhfmYbPXOFaAHxb}*vn>&DJWAjN}u>TMp+NoPUw@Gn3F9Vh{C!>bI4hP zQ7Q&PpMOC47ZgzbdTbvhoYhAOXSK^FyP#;zYTNS_dXz%1aKE8G1xW`|^eu7HWIN%9 z|5GJC4@P0#n)@iM`=8Dc-}W+L0{x#C_IDx53%iH%!tMlG7^Fj3Nnv)C;NrsVy_{_XD*Vya&&&hT-JM2zkizis#(jEv+{n&j0OzgAtdVenqNaoZT zuF1z|O)8lzX12_Qr~IW4U39~xTNYWhX{0#08Pd7mx@#C3=&ReO^M9E?+f2>J*vdT1 zTH$O7uc0nBwT-t6u~R<(I_WBrF9h#p7z7sd&iB-mo^K@awZscj9fB3(!18gmi>{r? zLuU(dmeo#%cqt2Qg=-6#OH}gqx_A$#o>-_96M*iiY>+4+o8LR5Q6+{kps+hL2JUwY z4D(9oM;I%5HDUCRWhYT*JC(F{ey68NqowW!<29Pf&n$cFMQWGSEDV>dRd=bVrtFOM zE;;)ytWEUvj5q4-!u3C@!BpL{KA*s+#rrU5ECn+;TtXEOJ5;{Z=iPjPILlD zCg&smogqp(?^MVjbik6M*!#R*wovHpBdnr5R9+mU$q9U?s@`*{&&nfw6Si#+*1Hwv z^FJ0OU+djY+Ti^rgkPW^7m-*9^M2UE%_mN8Fi~Ih@J~0pPp5{t7{})z9A0pvUt|xB zCvFLg)S+${+B*#Evh}9-sWhkMJ2mbQG`~BTdt8%XxI@q^ zbc!bV>?vQZI9St7U_PMB-+#%fzZ0yNj{sVzJQT+Cr}W;O7Wqh<r~jk13#wD`ZhVQECeRzi*_-=U7lilI!M_h+rp2#0z)u9pGI zOc^&A5)+V&&vkcbbB`RUt%qpe#|HmOBKG+yZwhTzt> z%|=e^wKUIYp&*$~f{)YwuYO&Uoi~p!ckDH^Ea1?(4}V0%%ztbNCp#YC69S!E2fw|i ze!;4q-@f7?b6{W6oX#Tg_Hu(JyP*-k7De8(<6+~=kXGo&A;Va-1@C;Fw_+&io>}?& zMBLuaGlrYD{TGTkYgoEQ3elbJND>LV874^#6rG!V^Ym0>O7)LNCFqnUHlvT#qT8hs zz&Ngsv7$_NQpnl_mvO7@@E~>)mNTBH_$Q&XbXDLzol*1;Nl#QegnN48#0k%S8!3H^ zw_`jt!bhflWXSu1xmwUf8aEnXD)Y z<-(2ISQpPE*?Ha3;JI?BF+68!?AKLpMGl^1E58P+|{PJ`VHay&%d-8F)|CI!M`twvJ2w@PvMMIH5Qz>;T4s`5N zObz(UlMa^l3}j#sc6qv5VsprsVw!yM%B6KrwL|vk%z7Cg$p1o^{$4s0-$Z1{gYXdD z^8Kpc3n>4=!cF$u-q4?FJOL^1bZXMO^rUY$vJ=e_8a562bGyv`N)&J~|DW$6{3U;> z1X~X$m_s$C0SM8DTrJbhHM_q@=r7+T@4p0ahZP#@TR`FVfG$rQ+(Y(e=C}TYQLS4J!A}5!cLJk%vYpAH=-%p22Ho3 zsnb<(nweJ6#<@?KIpX#3LFn+_WCmgkv!Yxp+yaH(alP)fjp0jmrKv>%!`G4bOv=ea zwjqYZY0|3qFM=|wlQ7TzJ zEcZoG_z=hxB$DBwW)`*O}%)ARfk?-Jz^qyDk zmLRAj^zz(e2Oi2sbQdA@fQiN*NGrMO*eu>p@RWJu==b5DM=?L!6-+}K>b5YcHgmq` zE4P%ypj$y!#6{W)cM-E?766*;T`}R#o_BU9$5a}xJ7-;IJ8vO-{w1qXABO~^L@}yI z*>A&s$s_fPCKtAZaTuz=G#O6U)KkiGZfHfD&AQc&-z=oi`|%I& zuylrlBG1m{-Oru!;g#sBbkRAf9%8YC15B`;dw)_abUmcPuTC=Ym`Ii7B*n zh1@YFJt4kKbmXub_AA(wmW8&sI%#&dxKrvX^b;R_p#~*SO6?MI^PfuITm>dKvt^kY zlxFH?U{}w=O}Jm za5ntbqU%=ky_+gQuoujFB5=Tovm0Fet-Tj7OYo|8UYIvX3bhd-%W50l{L9-Y4XN)t zlTK4oa;_Wxx`H}u$!mSa!u!^*mR3UV)=qj(9X#0|?k}5ybFKwkBIN*IBY6wrf#*&M zB|=h7E>D4H90FR{l71gzyDKE{0IfK7LgqYiWL7rP9C0p!gKX(*Up-A#l@j#uzTFb^ zX%^q&w_WP{m8n&3S#>fLiwf&N{5Rcy;J5{emM1 zjX@XLt9rf7_eVVi9|>;ianu-kVCv)4@G`7-exa?QYmO<@H!#xYCICcBX0IS8dGb7` ze$1w+Vi0#tgX|N>+L=t}qjZf*;eqXc+peFQN{to*#xb^7IusZf)doa4^*kRNRNTI` zVQwsiAyo}t(gfUYB<1f~1v!P*bh_Kocpuu(LWm*{hFY3fk_=cw4*Wy<9g2bXY9c@4 z$^`*tyN&4gwW^c@U)s18>mb0eS5&zV4n(VqmV1MKSCYg{vW8&Uv^xn`#qV^qoJv3_ zX7x3_O`ot1c^CffY|c?dh^tbW;-QN_{Get!9L3%^eCp4ccwOZr6+*=e8JNf7P42en z1GHm4$?RDadjqpos*%3GR**Q``Cg{V^mCOw5nFURdZp`ozkh=#PC!sCXoF!zscD%Z zE4Zs^IzeBM41bQ5(OeO$gu{B;0Ie|5*fQnMqShj72Y4Pj`*P*FU}g3M$Z^`43Ie9N zQ*5<``h4!aVn)*>fjV;LOl#v#oReU-Fuf~KPL14h+&q-K07k;mFZPC#05?o$;@}bD zGg~KKlrRA6bxqoDx>wwgAdR;%nCTPbPPtO8UPdO`BAWt@q&KtU^v8-YX#PbTr)-6W zUl(y37EAaILdaWDYTbtMZKwP{+2{Xb>&*k9`oI5iO0K@Tsl>G4l6~LGWWDxnFvb|O-Q|0Ge|~@d{9(p*?|t6;e4ghy zkMlUs=Q$ScmzyS&@a&5W{20lDS&)s?yBf*qP(^&Wd% zV&Iu0S4UmFprn}loHe=9a8t!#OGe0dg(2qd{cOvpipMTC_9rV-Tbmx*E_twCnpx`~ z$O>;C#}_B=H3fHhdE2T`Mu%9f+7EwSJ7`rju~cuz^JS@1{H#CzpsNn4=W7;uYiw74 z_nXPv&+Gn!-X6c`kp1W|^~MO9teGp_kLS`Xy=YRn3E^D@)*KBsJ?i*uol9=j)%cc` z32E~OnwsO&rjOXCR0jj|!RP%+b_ogf0@oYL=Sa{_b;_Tb7872c9~$}hM8MUGl=jC5 zoSI0_f*3PnQPyRY7@_w5$*;3}hKcn-jEOWyiL+$CVokws;=~|)d1+mvs$-nAKeq7VujC%8yDT|m;LcI+xsG@E9p{c z+i%W21wq58jP8+$gz67HuGi%>Jjea~3JvQCdhpJAq0Ay`v^C_^-KB(Ow}bHHF~{%p z^i~to%4P?7X8S#rhHaijq<**T<@bNj?unUlFJHCr;InG?%!Ef8Ucg!RmP$YC)G%f# zyCL;Grgv-5>#N6u*=Iu+PyF^n!tNK>r@t?TMVZ4#ujpH?gaR3I7Yzm(gVqt3iuE)Pn=QKXDP7Yy~!OYax_+9(G>`bHj$#Y_}0;jdb zxrot|<1tI(7K;vZ58a4-z1!k4xngy&T>aZCJLktjmJcoG+;*8hfBS>h6|`4DO?o8C zU{0^Dv-9he4Z(1ofw>wKwM5c(>(*O^p?<8dWh&W;`;+@`F8}X-CS`d9L&~FMONz2h zgxc-{lnw5kMSl8@40b9DFxdT!(EgzK!RFc(KJ}}qOB27$mxbgT#T4V^u)c40|QCl?=kE=!<}^OE&07F+yE zelx6;OZkoVg=rIqsK!qeq^c?JnYsxl8Jj9U6gx8;Tura8TW5dExaGp5;j`=NM{Unq z9G|JTVQkO@F4?+e#KnPaAH^ZPN1&dqzP4micd1rvzEgSmr=uBzDLw7Y?qge@(KDYz z9)C$ICiGZS39=LSy7KwIce`D&b`||g>8Dp4TbpEXSEpamQ>|a>v?7BrF;ptEgp@oi z>Kc>dKE5&6QxM5+|MVKW-1g91*tOZD%WQsU4_|Q=FijMxeUwSN>LMre*7xqm;KN7n z-0ZjQnf7{Os!4f>{9Pmuooaa-6#MhgZbt~%v$KrG+qm!N`Sv~2_ws*I&VO-f54kV< z>%a((h**I0>d+?!gwBZh~%$dR$G%@ZGB zrToWu8DYT%{UB1kDt7CZsO#mEf-yWo!n~zbTDS4@W*M1#JT2kQG}1?Ve@62j-xc@A zYYuGRv0N+Ses|NSwXC~Xf$fA6>&vxCbg$*|(V5|(9ivIvwqe;Lv>kbT4Xv7&3TmVt z%{jkbnN#Ym7YL>gCHLW4<Zt$@(K|;Q4FmLgu36E_1)l=z zXM$Gd>yGeVpC5bqeO{0=c&Wq2TTzca>7WW2grJ_Mk|%sSi!Y6K3>62E&P}Il&E6AV zgzR$hWSA$i5a8h^pAw@9;Vuacwd#y8OO1h0bTb% zyZH3LW$u;ox2mfodaE5vZr8F4;NeIZd;ecWe{gVZ!j%ShSC`AB%~uDQ*;}K#+0V(O z4^swPCOc=$dXwfLJQLcw$7fRYZe%{ze6J>{5&h2nv!C{Y@*AP?G3KM^)O2z#zBOln zq@1d<;aL-mhK6a?qER}Vxz@Zjh0m-9AeJ4W1ddHVa=9YPJg@G9R(XD(o` z0S(=0M=)dOXZ4pV0!$b9<@Z%zf}GI{jbC_$qMkNy1KU ze^O=Vb=t~WU&)js8o?c>fwRA*OgvW9{3puuef~u1zLM=1?d0Z6MY)o}0PfMvncrjw zug|Y^Zx8NzN-g=#BwhQ`)@Nkc$|WS!q^{LArDrf+Rv;iYEk+qE`|%Ht1D%rR{W zUvbt+4VUcG^2tiS_!A1{M0Kc!6~(k(3cP+}W$^t|#ycGkRDtSg?iIrh&J6_gw`ktb zu+TN_nl2~F=UQ6D#+FB4uIy+#@#-bE#PPay;@G^E-h=o(FSR@EDf)xNlS6y$HvdzP zm(IIAGO1juakic{pH{XFTDy1FAX*$-MN>W+ESKoh@yQUeki!=_n`4qc8QHTRUKljm zo?W|Y<@xPfXJXEkFWVqiZ{Kt4TUPuH8s8Ih?t(S5v@xyDVhR zZ=ss`W}nt&!BPv~HofZq;z4g)F0=Z~byxVnVfTVGczLX^&_D6&=gS>efU>AcuVqh* zb8c;IXuB{#vNH!ZYb|)$cx2tDqCT>PqfG}!h`^C7y#}Y%C?4=xA3)%UwIf>@hU7v^ z8*jO~!Ummz0@vWq;`7O)$-HfEyge_J8@-mEjqB-tk?UIWcE$RA#k?hU+J27;O}rTN;E2PSIk zPVfA(b}hm@;=FFJX`1_-z;CQrbNYG_r>AA=AQZF--%a$8iI)+j9Ky86mMC7wBS}>v z{=d3u{uK7Y>7uL#))#uQYf17A?GfDN*s_i35Pm#^7Ic z8=Z~q5bJsM%!7p~jMS*Km`u0xH>}2pUs$+$xpYWf=Q?}wSpCQAC2p+Ib%dDyn!mS` zog36PHtam4^AHZ*`G+;}-KcXCUo~O)=f}&N-AAZ=v1O^0px5=licseMOL;dXtqI5P ztI>K7{&ZM1o6u^H*Qk9twoz`4+Ej7l`SbhkUW?Y){Pe~ug-61t3K1ihW5cdZy3vfE zxD}l1njb=Vj$i*w-YKc|ID3X&q4(gyZiy2?<(JGIY$Ftvss8GHxiKTmD{4He7w-oH z)2?I=?Y(F)ZSJz^uH6!Ddfg?F;t$Pbz4e|`g#K%#Nnw4}42ie7N^YXq?KT`L^V~|4SXge8DgcPt6W( z92(ufXD!99KI=vYH*YI9Mb|CQJ9&R52?^!alvNK-&us^GDY`PQHLILq#(m>Q;5pJXys4?*d^(t^7IDg*ZJ{VxCZ4>dj==cV^_-EuFU6 zTUvvL>}Qw9{@OLI(h+D9VmsHUEN6eI)37RH*#b{%I%)mG^EcDfmvSr$533YAA1~C9 zWW52yK*trV{p^!J6Vpx_?-xNJgL-?yP(kq1EDuc=@-#89mg?tQYXfI%#8a&#-Me~ zj?p0XFQPpk(t8Us@YS$mXwjW&3Q=`+%Zh-h%snUF(g)V|k-V>2l|GS`m{*b&EJKhs z1+=R1H9%*kk1a$UJC;@T@-)7;umJ;35|5w7Q};L9@D(?-f0DcUZoAxrC?~bOjlk+$ z7Pq)+Yx?k;8!sYrW|I;v=m}eM3$CsdTS6))GXat7JJI{{@vc3Vx$HME;2jC_x%UKT zZ$UcDg@R*`KR!DUj;9uQs+YYp$ob_tQnKjj5w7Lp$Mbngc7yWjyO;l1bAE%<6*zR4 zeTUoiyKTF#KU|aTQW|XOiY7gqt+LLQ{GQr=;QQWi&6Pyts=fQJJIaT~*?5+evmsR3 z@jFS(QKQp^L6)Y1B+ef>MMzy<68oMaJSPlHE!gl^NP2e^nTQ!v)exwypUag1TWY)Z zsIG}#wWPQAZqd?nds9Ywvd1YAbu9-X%zlsUxNZKJ@OFH(l%>XOQ=@(o@rzR^v# zn~WphaheC~R9=HCZtosSFikn}C8aIO(tfA6zEJdX`Q?U-1B~>sp`YZXA80)H(4k>} z@XH={L8*sHk}JC)Z~V79sJuOi?r}~k={R!N+wj8O1AB)qOTs%(3G?=ANcE2v{7YkX zpCwYsWOo!dvG8Ty7EjLYR4CVV_X`!y{PU&ou( zVR@^!uVl0)crTAvhw~i%u;|8T$dsW=l$YP029Tn-{^^VjK6*XMf#WI}?-MGbk+1IDYbc(2tcx3_$Ip~&&GXQ^>+02fd0 zbzx%=c;=b?whDb{aViR{BOdwLJerKxTqyzU16I2r1@-BS zjIRZ>(aA9AQj(;7M@QA8gF#-m&a^W3ls(%v*JPi=kWw`pPEYGLnZVB3O;3KwteVEd z+d}WQ=HXSh*u=IaCpw-C6>VQ}XDUMbONRgHFWbM+^)pEx=r&L>TQ@xZui3-Ik2Kc= zhny=^?x2lY%(&kB#bx=ifMY>SrQ1wONj!N|us^GDw4qpAm0`L&L;r;dQE$hd_6Jg( z<36uAe%f`fsj}Z9Td}^Ofuy&0L?GM6LY3eNQJxtlXyELV1wO%0`0D1Gt4XIbpHPM(S;; zr#kxL*yO6sgFXS$|l%7Qg~v>#ymbLw7!S_G^L<`L@tte{yQ{Pq?szT9A+24>mO@qlUN7i)yk8|((po! z{ma~r1Eje4Zi|tupVqfl?+TsMov5J6Ts)i4dKV-$FTUrOZ-RI|d)@ecQPaRvW62$M zsbme5mcZW_s@^ZZ|G_HL5W}f+`Xr>7-f19d+oUCW@hWV+z#9Mt)+Nc z{_9i^kY(*dHF(&tHNvYh8+x<9)NXu!hB^4gOgxz~u+V2nj&=+BFd3p1wBp@J-d6WZ zkF~ZKn(a$J?Xe;`-|x%>Bc)x%+F@~h%YSz+sQ^{?w@S1IF z<%9n{bO<5RX}cGz+Jgke+jwHdmK)U_}O_YUG)BA;wNvbtexj=F2wmr8$dM#j0`?JcfSwSb=0yCD%OjtiTo_u(_ z#o!w|EA@`uO`l@QYuk0$SwsPsP`$uEFvJO1xezOV`G)U8&5w_nf4w>szIdgM^lfS@ z+Dh0r{DKEf?CN~go@z4An_H)TzFB|mhu^pIXsef@{Fwocb0FU>@id-xF+g5JWv#~>J?N$( zIqo9+PZd+`@2h&@qlB~L56bOOll0Gehx?#}ll14qDo2gBY7XCf(NyX8>-_eYkE$OD z#qJd?J_%oC(aQYb4wZMD>5_N)c*vRSlrZ960 zzj?WOxtJaw*NO-;7?$X@njUH!Cu#OUR z*6Y6Wk+pVBzkiNrG^wWbTsHN^oLy~ZD=67WQQ#vlv^A-J10Qle9Awcw2MEEp#TU0+ z2w%b`b#s4QcqlA(UeZ2z*VuKe1v&pIDcRAhw^Zlk#o}F67d$>*-JW%S{nFO-q@CW= zyN}Xt;`J}S`h8I_8(`^n^}RHfp1k8TCOXr9dUP~SFp)lx^~oobrTc^MLa`}F12R+4 zyl5J{y7D*tSJs+~S#(nI?RzM1{$tAr&qZFKp@HqJr|7w=vV~6!!n!r=K%Aq-S!9Q` zaeQT*?~sX&o-#xEk>B5+^@!GfalAS*55eZN1?kLly*B=may}g1_?j=3Yxt!Rg16^qnKv2e|hky3)#fcIU|!gWsP^B37*;W##$xk2ek%bm{7ZoicoOjbisc z2Tzim#3<+3w4>^ zRl|vqxx1=FepZsxi07xV+H0nyJpIe@EY_AdOPcfzpS!7z=W)|KLbm$|QPkk?$)(z# z$U4_U(g#Z$FWk{DUG&W#;qeKHfgCsY^W@{JuYbODuq9b(24=1HRyS==$SlS-7_%`? zIiq`gIoUJ!gOSWgHnvla=bqUutYdyT|16B`6E~fEW2<7sS_R0~{wkI!2d@M2=hf8h%_D^>Z2_T@>YeGDwhC+C*}k8?pWjFI@+ROZ}7NGo>t5$rPxmLv%gBeARKdzRU5gU$OS{`$Em(~8~co;n^=0YOX228l&>+J&X>jt4rdwEzdYFqdo26?>O>|R z#O7wwNwyls&eTJ0o3rX~H2v7Q%_%qVi20|KH~Y<|M;7}je`^@h;)278dix7Rg;K9= z6ONjOY>SM4-EVg1h$W3m;4ul{(<7XYu=zXC#Z5oFc#T{mlSlQ*r zvO=6{2+Sxv6T&)i``%V2pO(CUBm9N`OYqc|alyHE+%n5azcE%yFy#7mr)0J34X4eU z{reMll4;uq)>tcDdh;Vy0v2xnP!O?t13Tmz^ZTdSAWmkA!tibRK5y1PwmdSgRa{|o zq)EC46?_cEHw4YL#j?SFL5M~cLBCqfMbOuIbl0Q^5$R`J0W4`3`pJmoy}e=R!4_8V z{_9Z#nEb^c<6VCs+W%Z8!snrx^Pk^e2xL|L*lBR#5IiwqBtLebcG9@-0kKrt{G6rZ z)%ZK_`rzWLO)3!aB%+~>Ua*6G@*M!p6KtImjO9CC91bb`{hx(!$a8VVbN`NQ8i5{z zbLLO>SJitgJ+5rHh1W3pG?-;yOk zuA1=o$6rKh)VoVQ@;ANTODUDMw*6F?{d++7?d{=K?<>lUt<@xxk`U9tqU=0k0l~cf zI@K~-kkfQTM*Ynn>eHn3BuAh0(;dVE0auR+EB{t8zjlJf-%3I~Kvz%a=pw%hth0(O zH1UO!l<3>ro)VGjKc4FvXu3@|$43I6H^rPqx>M;1p&RUjoZ1h_bp&E=)+M**NA50_ zI`(CuYTKDaU83t?$@t>>b>DA4Xz`w1q4B@Py{co6k6tuvxJ|MENM4H8>lt&{lw`ABc^w7c%5`u+E{1QIovK-y9&ct@IK3JQT(@-S22H-TY%4Do=K0VZ9&h5e31JOr#k zFrv^IeF=>)1wGVh8s?0BBy)u%>}P4JlKqeOAMik9c8BNpyly;C7%wPweZ#_JGQGpn zsG$br;GN~Ya(Hx-&ha>i838lo;i*J$bk$NmNn}LLhj>KT2nhezw9E1jWCs&5h;A1h zdP7FlFN^Ngv%#c+*cuo%qQ;VwNr1>2`(gMI;>u(A0VoC=r*;!y*j|dy|D`9z2SkNU zx&2%MasaHR941kB+~gZumTnGi|95w}ViK@aB<|^lhW7%@_7?JZT<7g8d0-NAfH@F{ z-M`)U`;;i-cEw-)R#J29`WChgros$#JYg}g^2NqZ+HViOra;0T+wRVtAupxFKfr1f zT=YPdu{KcTfhdzY-T8Z-3ri=3I@EGt(Hc*ASOG0~6bnPBu_RUtCPsMx0)z;X;Xfck z5;%#kii)wZ4kfUGjH>ht*}x<{xL8y{odiWc5f5zYXPameT%aIyfa~TDAvRoKG{xF z;8)6Pqw_qlwdiOrke@#eR@39*3*gN96C+GDU!a3pB_W|vr1HnaEhq7#|~3Ms-K)Fc;NCMQzr z$OYQyb$NUb*iw-GP$W@o8|<) z0jQoV9qJ+T3C5WRR420uBIdUtl_2&4*ieduzB#Z|eW7QKIcUEw6G~Yl(gmDnSj zk0VhQQpBfLKtsfC5n|R0O(a6*CgPb{WJAcJ%$ytE9Sc348E~56DsWJT93n891mm+v^0|6_dB?3r>JL}HGH>T0kq_G^i`9*RItTv0YfQ_c{uTm z{nc+n@5El1fV>JvV)%Uq849V$FxBVRfS#}kh{^|_2hdYbBogkMgNnY89%7`8#lLMK zvzP)^pos=sg4!7Bl+cSQ!CiDtI+g=2o;^m7p|0Afgamr0Of#th|I9YMV-wt&I3Ryr z&`=zvv0_25TxXuIr?n2qfQo*+8iT}In!{i-y@J5*9o3_Hncr^qtx^H)&$P0^;|JQ~ zsH!o>!jV4|uFBB{yblwh0j8)*;w#q!lcvEz^B!Bus0g_wimM`XiyAWsi@<(1qJm1} zA6ylDFq@ho)!N^9pI}8GpK+rXT(20uuAPFiJh5(YMh6^Yr@%qrA{)tv;wLyM4>_!T zhmIV~3Yr76F^maDPMH0gV+NR47~@MECa}0k49rDKUSpVj28QK=kucnX&mgkcwNX!CL%sWFvlE7y6oD=#3Y{KO~{{2<0#q^Lb4xWuirXVj#Ea07FPQU;!Z|^8~p_7Hc=}j>sMr))H$vQiBwB@ zt0qWU$Ad%WozTCypu=ONB3xDOrNLGQle72shc&qdq@Rgdr)lcCxpW4I*4Nw}p#Rj>=VTvxWg&FXNVc4H$% zQ4`=I$x&JH@Y`QpD20^GkNPOH(HXTDc^(Jh4>6616Ijim=Jo)%JK zXrIR621soYW_|?C{V{1txDb0V-Rp)s)8BdRU_UQnmBP@ImDUS$J(2clx>!*mt!7Qe@ll;oN zn!>eh9j5uN?jZks-zxG~dI<9M%H@BJGJcx? zs*5#L=Y{W>LTG%Sp8J=njS`jh-Y zH1jQM%D4>fAC-OgWuvr9rUY6ln{{Ct; zKiK2x1>A_QK(ITw=5E7i?HD+3A|6q~JG`Wo&A5IuWPXt;QXOSO$56DN&ie_c1kd#} z$UwqEe2fBE{!2puNdT>@AhZ01_F?ixICK~#%9#kffPCnfDZF~g5R<9*tR0^>I6bOZ zBwWVF=amP`Kf8rGNH-AWk$cnhwCfWxi;>Vm-62dIn_=Q>ecU&ICM_!c zb`KR96XSGZsT20y>LAs4eH=8$#Js38q*;@ZA^aOqLYm!=ZJFojBm_n}UJa)S0#toK zu#?V7p`sf^_S6zc$ls6175@B-0jg|ltiXY)`!*B0GtNYfj><&YKY+GN4;EqA2-8fS zN3yUG6{f`Sz|gj)8=FWHea8Sf?PdzJ_c1x`2*I` z|7)#G|1VCPfD4BgPxnaKs=*j25Ox6pq%aDsBK4P7v~hyTpdV% zjR@0IGW*Jh36z0K^@ra*9bnNqS_YwyaM+j zyTGmz&Ocdm?H=9xBUt8I=^ry`fXIw#oM4t7+5>6~&dVt50=M-f{WLVz>?7s85UB)V zSpF7#9Q@(JqRlSbv2Y!*vr`?LpJR3hRf5yMfr}5Nqks6$)gaQ&fmj4+KTlYbi=>* zifuMITu8>8cB{#bGumd;$g)a93{4dnT!ZiCW?fQyiW{6hw$Gzf;WAMAgQ2Q+u$X^ef-pr!6&L|N8eE%3S@6K_(%>}E>nbWxH4z#CV(4j(+<8oNFdD?6tIC`vDqXIL z?uE9nrIkHd{L_18TM4*<^TPE{6N5UfpQ0I+jn3-scOhTb&`kCMK$BgdNkL zr?NC{+YHHD?BCnR!wRC=7YV&0wUbxJhr*a}3G6jbn z`$QI0xyoOl?Ys-nOBh_!BU+6Jblv9}$KsWQez=RE8a$_hj)9pxWi`&>Pvqf5Xp$lD zW1tdC=6gI9oD-mVrg((-M}Femqq(g$3-}BKg>-(6*S!iGr)gyQ#s!06}u3yHf?}2fY!7>7*{)(BR&$z+u zI&giD4E+>WqKq=f^1>ot1i7O}L!h#ZxcK~ARPmWByZT_P50y2>$W z(piMFVb5p&BIP{5Vrpe9=v*$vPluVA>+0xS6}Vq8#w_LAn9|8QuaeYJ{6V)r2e{;# zr$QVN76Ay^>EQ+m0q=km#?y@kLbNz^88v_4+|kEy(B^2MWOXzNxAW=H1QRO+;-Hk} z`M%eKs3MO~v+5Aa5Xxfgu>BDk|3eH_Eqxu*5{=??BbKxd%VM!!-mzV3P zj2T|x^>l2Y8e63=7yg7pfqpt)CiLw5iv2~CBy%scn2a&(F$+{E6XFSK`Wql|bAyz* zo*YaAgTsralmFrJy_47jytpdE9@vi`G%ceXYL~6YvDf9(3hPyeb$-2eK?b6Q1JS`{ zdPjQgi&R(Zw7vK`Lhty!<}2=iqh4vNCK^|U30Z1a%;$x<9maS!Ml6davz_WFSial5 zm8I1aRWYP+3!nrGGsqu=29p)!FgiZ5>2nGSoNbCzEw6E3XX%K)#G2qsNSDN(lWNd8 zHDLAqgMOyelhpRz$2fy@uIAWge5}UV9`53X=X&IOg6fcW`M*M|xoNo5@OX8As%|6_6AED_H2lB-fyMk!)nU&nfZU!mEd(RgN|TW%_N4cM=%oZA)Z^nuxJzm+psHiKpnv@(@*0k0?3UB@-SO9-QNA2lkUL_`0gu}7Mawi^-6R9(6wFKVa*<1#0LMNz{Y z*cb66^wiTPuS+TN`Zex|^D)!GI5n}6T3g2@m zKrECxu0(!H#=+$eZSF2M);tV-Mniy-SH%C$xVyYdhJ&VkJ(LuVfDM$RuTZhs@vryg z)&|?oJ4=Q8#Advp2|-OQK+auk{JjXAIezM^#%RkIm7*+SYCK7pe?6^Kt6)JlRdXdu z4H5ipvG|XtdLgSvq+xnJX#sK_2hJ9=YdDeXA4GorUJpcM25Cy1R&5F2`f|-TNJ5P| zje|1~N2}Tp4yrmRf3SP9#7;?UmR_ETga4i~diUC$K*&C~;|{pjuDv#!6#D50pM{8? zqR@s9?qI25uUJVRz$;R6Wgg%1Rh<&&LWY!ak`~%b{|ke zsRKai;7IJb8nWwE7X@}n8%F)4Q8sC;fSlgj0qqyQQJk0~Sw}A9{s=p zlgQj>qx{C80X_9`X2I1l1DksNwD}nd3Dq4*hT`vJ!42$SHc?av)Nm+s9_4SuJQLx} zNCmW>)3qNnUx##Jbg z^)0UG3{xZ59KZ_y)(z?bcBSwHQ5{d}76232MPCg(R>C>@PjaefaFp z7=x-S8rZabvBijtE$gFW=E2B#Djj=0%LMdGQEn3xu;H`7b@)HWSYV!*M}C5z!{w3N z5D~qS3B(IU^eHNGZrCG5@^e*9rSrCid7RhrM2v30D(HG}4C6Tghkw9KoOXEKf?k;8 z@+WD~1Vd0L@)fWoX7sMy03###Ka~T35UGCXlR`hVJOFT)>9>~dht`GiiIfL?hD1NP zGn7A!A5jkFGraI4OZ&3|v(?isu6_EQSWWH*Hm9d=&2IXQ{+CnpSgfwW0 z{8-=)@L!Rsx{ki@P<5C)zWa`-j^vr!6g(d{Km-3`BZR_i0~+ii7}w*Fgf*NN@)R)d zFhC>WokaV3>ZXY>cdmstjvpJQks$n7ISB~G>PU|P)Er9$R%5Uws)H40?B>>i_kn;& zU7@=xwW*B)c zXK_6!$PBnyY=X7MZS1kBXET=NnyMCT$GooW0JfP(0I;-_P-!gyhmlZqKf6`8aAaIl z@$|SI`co4qr{f#oX%PM}i-K|gG7_kP3Nz+f*f9WA5*0dAWieE1U3UZP0gJ*{f~7%S zgrJ8>2MCD*)d@Njk1s)J!vHrC=@Kj_sDf~6lSefUiQgiE2K5A=p(Hd;36Rx8|FTU1 z2Mr?!jE+ISACiuj7EA0oHJf>Kw{tp;|cK zaAV+U0jH<^9!^T}d)i1KLUF)a)o@;q?GLNs5Ti zFF{ztGh_k<69tHwH9eq7Kg#3mRYZwO_1M^95!6+T;QSs~PO)Y09tC`~k$-&O>V+xF zeLk?X7*iPt$-yYQ6z9@AWMQ*8lhQ)I2QrjIJqv1Y7&#>zW`3mVcADYtFpu8mY>F06 zCX(Al6!gFivC>l?z7D25w;5fA`rBjP*jPL6s8)G=74urXFJgD22Y=s2#DO5@*9L)H z-0YM~{C&Dd#4ADr@4t#eP0@+mX>04>V#1Ra>J0hLvfno(*UDnJKff@yM6XIkPBWxpz}i~8%Pcp z(CACH5(4h%FiDz#t)J&WIL-VKV;q#2PsSp_>i7Dl=n{8CComsKFhN(1x?Fus<}&wgmN7#%iVZEc8t80qjbMD_U`vMvE=5T|_c_=GHQ*jowkA@Ht!OxC-2QYKCe zWpOCyF-b6f#kq_g*w~g!8e)FLilN%t7sx!*{it!y2t#yszGn!~PLJF->n|`0kbBb3 zdv@W4y3*pVz`j7R3HER&AP3srtWb{Jl9SqG1yEi|vcOmS`_ zW|1*wmneC%f&4apkrKd8B)hTJ=1lnKCqnxqjz*3$g|^fX`F@r3s6M*f}Jcuz;@WlF35`F7Hu!`&?C zksLHZ#Djt*Q$*=GOjZ~0LM)a?eg@L}#Ys&zI5o9@5c!E{_nC_Up&qkOY z)Kd~6IN4!qdYMIj!^i04j@SD>0_3o6*u&0O@H*}t(dD#cUtc>=mGj?oYdJ{AzBg2Q^EeS)ii{> zNi1#xduFf^5|6yB`MS$t)bwTz&iU|JnDie|aS=Wj)bx;y?lkzXQm%!lO30dtOs*gMdK4Et;`8@VheW~dzBgwGVRABSu%JwtkUWws8 z%qjYVJ)cM}Z{y6M!*8NSz%+9|x|Fpl`g2mTB1k<;Dy|9G;;WVanz z|+B+{eBiao0UTVEj>V&n#ICDmSdG0r$f=oNr3!ad8+TJ}JBxWpE zKM56=gcU(E*w%*y$>gnaJCu^a@hst+rgM;*QnDdzb zuL=3eky-|@4-v7@?vb_d=ik?Pd@M~c#J)p@rBS6nglpI4nO97H)Px}8y-dm}M5(uh z(m?8aE0l3$kU`PC<&~6PF-#n20q_wd3H^MFOh*YC-DuG|jzR=>@zNZBX_g_lSKZ)hf{Ps00$FtY2s<(8a|TNOc8v>bu`8+q8jU;!#y-g9GO~9 zM_4clt}Y+oqc?)s#B4tG!-Kp<^CYYyWK1m zk5BvKo|m3q53;(b3v>l>aIA{!Ao+D;9JpH(1jp&>ajBI+L*w%z*Ak%z6MN3rAHZ&F zazR%fA6CA*KDH&0U{Wt)Mmg|UvDBsY58x*^e*rpoR|R~;*52fA6YrT`jby5g;GO9P zuJ+?Vb=jB*r=LzC{1pE@`P0}^WKjj%ixb#f7yK9hUl0w|AqmrQPDw~7BXJAr54i99olrkp)1pK#c=cDWQopfJ>A~W*s&&$0fd*z=#!k;AXAm z6FQc?AaQ6GXPG{XN%^t$U^yIBsyA!Pzl@ zKV9#5T_ii`;Mm4FQtyUa=(3Q+5ky%glz_3+?#YB9l$1nl;~dUjMb>@hfv|Gzi77JJ zuvh}!cU|Rkc;mM9gZYFgX`vj>FyXd_x)BlLyO8~H-uEAGhDQjUz*Q-uOzd+$FwYFP zLsFD&C%S-W5g@QED4lv)N=OkcN_ZU!2uY02WW-Ge8auSbsoIs9> zrrIcWg#Y#U4jMX(_c`VS|8T;3=%JSPz(2SWLZa0Sm0fz(46 zGErU{mTrQD&nW<ZeTqORbKn6^p?d6~!QFWL94wlv!*B9qVUJM0 ziEd2-R=hHf#1v&KxOxlav>PS@MP4|mF1QRIW~-KiV?xpJq=Du*wtY8B$JzMDR79?I zW8jabxJ(A=(yOvJ>faM-*)h1Wej_GzNnnYEeVa=IG)YZ0%Wuxsty(hfuc>Oa1ojBF z+J~Ef@lMjOW19IVOmeKiN&07=%E|P64UuyOg55V%M~*4JfbW5&SrG27!p)$u^#M?N zV8(Ay;Z+P?!B5d{Qv1Gizn&ms35CKU{@VQk+E9CP^)PdNBh@}C^{?htvq}qm5+N*4 z)e1yZIE5vhe=D+|o5x=^XJMF$!~%^UB{5XQO=M#i@a7A7>1_;rK?j8JSXkmEJeZyj zG(kt9Y&O-$m+J(l9k&B*@9=Scm6|@qkg6rqfL1>ET!`X4H_Qf>3Qu4^q<=H0?@n?V zC47}u3TR|ijU`6Ty=GCto1k5=+9^w4H_p4Um@)_MOwn$A2f zruP5;mXxK%c8gLYByP*tDx@Zbki>0?x;gf3WNaxd=cH1hg`y&iR6;UB%}vXZXq7e^ zicb4B)lAb&GjrygbN#M9zsL6vj~-JqW;^G)-tX7z`F@?l(25f{jfVPaBApL0y9<6@onaNd34y?U;e!{YSDw?n zc#7XOy2`U9U7&=s<;*u;@z=9}>MP`6VbV%s88zrV9#9VlI@N;R%u{?L?ZNDMaUdHV zIZ-uk)>3s=5F0hre8FX0&s2O~P~@<0{G}3J(t_Dv^utNszzcx(ZWb25Qw@!5x}G4j z#Kbf~;kqPrYcli?xdCF4EdTsi+9#ZlgmRFd9L#%`bo^Lq243z2{Sl`p>s0j9X`GrD z*U@~%vc{CVP0`sX?;W^yXZ0T=;Jb!*rfqm@gEWI z=EQiWO#ZbO7)_l+8=a5?{u5A`X}(y_rN+ns4jV*+YOtBj7#$77B0&h_`uWc8w}k1r z8I?V(QE%23Hs1eL*V(88#@hLG1W2P>g010=>2|6pWdSG30A)*pu~DoCS6Ec6swoTp z?wY|PKNeN1YMKE5qRq;c+Nn+q6vV>^&9w9B4v<#120OtUqwG}US<|;TrbVJKX~*$P zhNJ(KeFmB=QhexzL1R_rk+1t@;%+V4oh1c`6NY|z{|a=7Vp1%wm9D&5${XTR?g#8Q zEJic1Ztua^VcT-rURm0%PUij@>qkqGW{>s-vf6t|DG#IgxX$ZI-qZx>^mhpB%kJ#% zFIKZJ;x%Ji1xyF>9<%014oKtiAU-S;Ld<+RHk@{=7Nbv;yrFwKVl{Hlb(aVmjgH zV_}s1j+l2D^Hz*s#G$Cr*pg##9qM5MQF}$zM*;#m?IBj@CM^5Wyoz zA|m6rok1_8KemEoRlh$|J2a@Au|gTX3`?x%2Qd}GljpAM(vTgv4?<9?2)EOl+}z5O zAL)G^ji$3|=eEQ8>KlG{bB6XD5Er2qLQfPuQ?#{p;gv0@o?IDW=Vw(#@Z_-8#jQF| zV59r`t-~)XjU%3o^w!C*V$kL!xsp4@H9)~F*$F)5bu4+>#PT{Y0uBE449uXk-@gEs z)KFTh5RAv^8LB?4n1{_nH7+QZ?5li2pdzHzfNa3p1**~D6VYT4WEK=J?`%4;_*+s|5N)9JA3KI zc5ZN|wb})ZWC6Wrla_s%Zd9-OH>8NqeUQa*llH9QdSsltyM_x3ry$}giY5kp;kX8T z$-$p0{_-9%Bfn({Epx8=SUvJ5Z^?sz9d;|CGijSW@ZDEfp~B@pi@9vYE#En zj>rI$9mV*1j>@@02Yc>crFaI;RXwPuk3Ic^JY_TO9l`j&$l6ag6Xtz3tJ1;0O-l&$ zA4m6zNa%0w{n`avtTXh$C@-nWKvI8|D!*xf_MFZ-yv676W=+mSgxQGKRW{WUO(KF+ zY$}}#>lIAGnc5hRd*^oN@nMxQKy2khClKEgORu@(RLqi93*+#iAzqQ#S0T~s_IXk> zU|s$g8z3fUt0z!a*v)M9!juZ$TX+K0GIW`5mhTXGP8}_vDELl=EZdDppo$=-!q+zYLnvesc zl4yJzN-1Qmg1ap2E~PSV(|Ou2B2&Q#x_moy(R@d0`PA%oqA!r@Ak}NN$H7o6BMgio z)0x#ItOP6?8=mHVM+~msir!@N&$Au0v)oV7SWOipo@a^HYKJ9l^mG{3naktjm?C{a&^Xhd>6I`8{$D^ph!^6 zZ;tQbwN)~UYxUvpr(r{qgi5KiqH~1Rsar^*XS3k#7{`()`)L!E%Q3lOO(lEMi67XE zW35;IdeAH4W#Ei^1#jDPzSh1{SPR`1Vd;zao-X-4-_B1-Yf_^j3QXM4(2Kiiw?|8obHBsA z$*uD7-0K3cu24ix2#^}wGhoc2PCMQShWVs`N0Ct zD;71SBN%hws4OaUKnf~#g%4anH}T;EYvBWrz&!yzu+Cpv2_N`C-Nc6vyaG+U*;o2s z&E(O^2TO_LVpcp0q)@7~_F~RL4zoc$z%Gx*{^IP75;Bfd{r0tSX9~Vhb&ag>XdocS zk$bi?*WlJGbUN^0rupkzUUwMt(=u)wt4( zGsn>YR}qgTXoKGgD4uO>=n*&^?kh$UIZX8WuhLQzTF!gwiWv*O)Cn<{MWdxUxQoIq zI2twlXBOw%se`A6ia&mV05GX=`g{p@+)!|EIq39Vw9w zG_&U8RDLU=Y>G}o;IU5$rc6stM$(x(B-NK^zAUOH^Y9>-K76YyT2t6oNx<{u3wWXI zti!hDF&`t^1<9E+zi&Fc+zPibFH8+~O8Iqicle$nG@kH2!DncnPGKs>Su;0IZ7JIPiVH7QP2TEd>NeJ8{#;op(PgKOY>VX(0W#xq3+$z) zO?lV#6$DWq`7cc~K*Knumnc09I{C5jar5!36OTc8MFIJKNhLT6L@&UOCwcQC7yQyR zXiWtW91U#2^S4v5CBk^_PO2$4^6(B3Z+_aX6x=E=a@WW-omJ+ysG^{VC>cR>#^sO| zJno5mb)IM<$x6a8+s!4E?h`dZS&!}1{O@0tdg%SN7*U)Dy2xKs{7Hyyg_<(j=Z8PN z5j43+sp8n&F|O5#(INL^di#W$tkr?H{|bQ+dq#@!)kdoH5v>~C)#-MUH|-F^b~hnC zF`EMw zGZ|(N*T5v$XZk{mZWbH(-q1EbI(h60!I~p~X_a*eab*rH_{(`iu=C?&D`Hio2rNbe zwgoVI9ZUb-=QM4@p!mpT&kmJgpp_iBq89EBW~0m@49eO9AZFiafj>v>ac0fCJ5Dcp ztTh#w?Sb%Vs~mQYt>G1C>#cc5<|Q?i>;oCa_@wrD*q_rxyR|6@<>$`cKmHZtnV(vL zvQ7`>RLvGD>xL^J??*!DJ0H(-{x+jS5=+=J13U*7NS7@`DPOQWA*&VZhGWbEnV@a)5UtB)D!=>g|_-G#EJ(mK z-x5G3!4!5ZP%lO+fLPf01bTkQeIQ*3rA)o6r(PW!p@Rp{7}062AaIN^l?#R{K8 zV%}9~hQglMB>+V6DYED#&*Jp+1*hz9a+W?#G2VvFxhoxaW(mC&_6BiEHLqH&iAC(4 zaXe`M4TLAg>iA#^?XS9%pPF)lR=WT5df_Y@GIyro=WQ_i?g3tPrDPo^MmzWIirGbE zz&30@*;`o$KqHA!a3o+!cQgMhM-t)9Sv|+%U?)5Y(D-WANZN|2v(Oo)Pw4?33Gart zHL8Z$zt+W1Is{G$%o6-M-Dhoyd(tnEohZ{USMmlk;5O&?Ijg|{ezrnjV*7kou-AmE zyC51(-;eGe>{)cYxmnmHB04<6jkkPKD}O9|YJ(@5wAw<5O$;QZ(~BXXWf2h`CiC!d z-0|+OKSbcaRp44$kvyL^oIjeH(dBmOv+_N1KMxt=&VH@&gjd?3FT5_dKyLFa8Lv{o z2e|C};$~NF^?n<_Fu);2<+f-+xabQ-gjNinuGM?W|307Mu1ObO{tR5+a76e ze=MBHKnz)$d-(i0Ea39F03EfEu5)GTJ#hAX$8~@p zzF-d|P~2c7GTZLJm=e55*$wb8{}t$E>3z&2iqDX^vqtm4At^8mQwXlQVwt(?O)CVM z8!Aw}kJNcGY?Yd``#Qx@SUjK2sF5Rf`AR4&TgwNLdFp*c^6rP=CZlSD_}~5u)WE_4 zrvcc&DcRELdyXlm>1wz?fRep*#i+M!gNK*SDZ6RkBihr3E~dw|q46tb4RUKNQf^~? z8Nj9Z(8>z1n1gxDDaRlF*s{z;VXU|mH=dR_E;sPI4GZD&A(bd~OoJb%W6j{E5il;Q zAF=pejBk4ujXiv&uc-yD>4i)JsO@@pqFw^QbpG;~ICA{uGdRL7F>S1q*IMfs6 zeCmj&7Ru`^@Y~US0-W~Pdmb3>`VGbj(h0~l?7!R(WwLcNKCuR$<22BAACreGJ-gdytF8Cjgcu=fNL+qf484TC&R$`**5zA$Vls(o=n^3J+118mcZni(p z0b`(scu{It-KjO;VQo*fGShRVHgG8Dn}q`YXUOjhqeSXP9%=j?-*Xzwgv#U9OUu95 zVDB!=N^hfU-riz@Ga$+-!17k^b!k~8v$j7OUe#+26p5U1gZ2U1ZJ=U-?lG7pgU?7} zxG8uC?}|k9`EPjbj{{@_sy8r2cPF)k_@LDIUkGCPR{UbcL1ABdiVaa;2k6!{MVmKLyo+lU~|3(x6^r~MB^bdN9Sc~uSw(duNhJs z{1uDs#AmM<;*QXM?}ryfTy(|1)dBs#sSgcH-Cv^fzkg8vZ)n6FXK>1x_Dv?_*3;>q zkQ828i$aeq`}5JM5sXnxVMqd(d3#3zW3eyC!Yh42QUMimpo7$`JgEQgJG%6?&Q5skOnhcd1Mp+pa- zW)B#N&dy+1T{<9B9f+xUXhwz@ag;TRiHdT+(a+(ks}3*NKCO+@!P%+pFiv~pA=mAK zZ@1U0kHC8(Wh+nL*{B+?)jZGeqzpD+9@wmf4*t79=64T8Vpk{jT0^N)&t^GWp@g%cMxP?8hlQ^S=aq+GmJSWBE;##>ouz4&g|5I~Ex#$P#qI3^CPBZxEbY!IC~jTV$k{Qj$Ol*K21DI!uRXEU z;X0R!FDWL*jRdK(ZpmLL8DE;l4}(yitXm8p?_d`&1ts0e(va2P?VIqjNj~BgVt;aA)~?-qXdh z4xSskoH`yfDn%^us!<4dw_ahQvJp~7^C4nn!EB^WpZ>b~5kqv_r1)Zei^q?OjT@`t z!Y=s#l#|(+)Ld9WL)yCesWQqs&&jvb?ck+NMZY+x4TvTtWB+k5F32IKVY#r58vtda zRi`3kBFL-sh??5h7IiM6*PigNO7YcjXXib|?#PRW1hfZiX?lnWWFm50rAoaY^dCMa zBa=2uIlpAOz8%4spbeZy36v-(XWO(+EIFEqfyNX!?#b!i#AM==Ciz9xAA#_0Rh3Kf z1H0l21_F-)mpO@_xo*G;8Uk@$m>$c3rj=>L<^oW>T{_`sScl=jvury@wk6GYFxooU zia=U>_aOK1j}N358sO03eV1=~2bP5|=Id|Sh}$i8e3=yf0x{4dN-BFMKSq0Fp$~H8 zuVdP;cKg zDa3C0NEE73kEq!KMw{wMp0XvQx&a@VM;muF5H0KeS)bXy@!m|Td-}0Y$?NaGA+yHT z)bTcHH8QlE-LHTyfd|}Y^DbUPoT~^FeK3MSzH`Ccuq5IY) zBm3Y85RbH;(}<|Zy+X7PjX{?(46d3_KA zXWE(t`vopStKACm?mO_xy<1=Oh|>H2!~Yx10CBC|aIc67t$C~#3{*(Qb+j=k9H{VC zS*}tZZO7z^w_cn!4O|i?uN0zvENa0AtICCg9zgqL55%iyeZ}_-u9#>aK6`BU_9drz0}_)XvWXnR(Gi`t2U4zvj*~7XBLa21yr_<+b%0E`u&H_Fj@jL!&V#q! zY@DUvU4%@yp_xHzjCVX%I-5>x!CN#d-hI0$=*za>_+Cm=k5E zGP(Ww{H$Nas^F7bdH0^~89DEBWEyT(DLks-^ie?g7)-f`Mc!dt#gP9^U_dD>`x2K~ zLB8}Kwc4g6nt%dcwyf3gWFoN>J>1u3aiya1*(?Vu37CF1)v zg!vHtDS%HBP{nJOP~7S4hA5?Xu99n}yCH{&lMg^5n{r(#H7^`Fuva5M%_29`M=H`eMxO?Yt2n2VUw)&YNCzIg-gnLCQ)uis75>bu?%2gqtH?aq z-feVJTBI4q0% zc?04tPJ~8*IuHI5fJ7+Ld=XRz{GpeTU&P|J*4ONm-7W|ebQTJ@NI{^*+OpyL##V^3 z$XJY6^TiP7`wvX`z@IYq$)sx}Uc_F$5>gut+vZgIzIi^UhIYjtC0LtQO9sW~Wisoy zXb7Ej7DI@jc%oF48C(ytdho0j^A}kF-@WVO487LkXYF&q$cgaXw1`%`YkdUWe*}l7 z`ygE6RC>B2vC+7IIJdA@41IT&Bf=SKC`+u5=e>oo3!=cy-`Y+niZf557dAE4vjF#v z-^V5WR`+^0=vb|_41z=G*?9gyrPh-VXak0HDJNB66@>0^vcY|V30S|RAWcUrJ^P~6 zMz`{6TQkPG7Y=q`Q3)P%SWNK5T$y!@>%C~8n++cY9NqMpYq}^13gTynSNAgyI>w0uwS;4)@%|89#U_522w3Qwlt& zB6y9*Oagk28LwlBHf!K=#sc5`vy?aak_;aq<&hrLQ{6N29??QYGSMqkRorsgl#eU4 z2VM44*B&k@v8SzY(-Yf=H+*a0*>2g_Vy)c3y0G;s5LEyCDQ_mmdi6Vm6a7kRLaz>< zqqQ9Owj6nJb)noC{f8pY#FZQZG-j*szY&`Axg$<1zwUg}Xy}*n2uoe}=fw#@2Fro+ zjgSf0Edv&ePN{(NgtKeadMkY_QbBy~UsPUXJ4)pKOVxKaCQ`EDXsbkL&Y$^4Sdqn~ z>L!R#u5VS+inDWOfDLH|ak_o2wsTuqp8~bD=1h!0R^AvJI^_NKU{%6dGed9&-eCf~ zLtBf*SBrp5RcT+s-rU?Bi%`8b6lz@sjgYTx#kDzD?U5TRne|3t3JKm}= zhSUAD_L&bcNT(>a_p1QH$f2NsH|P4@KF|wY+2CqH+G;rE=7Hzm&iRAPp~v0MNk;sP zZ`TRvoRmdpi8mNHF0($lVfDBJe05ej=oi(hhD6OJmo)`~-556W>-3D0O>a4HiJsRg z(s*Jf^cQ1>=a?QEei5??(tIlleHS>u-Cj59>f@9pXHUQNx@on^eby03a@_xL<`WKG zzo+UZ(RTy5SUI8$K@Nh?m2IM74i!##&NHHBH=B(gb=_#wnidUw!)kM22p)I!2Wi() z-RHJr6IAbT^M48Wmt7+7DE5MHTbNmJSpzjlga5v!a*i>=)OQRn9-qijn@5zTwcWb- zst-3KGyS60&uo^95B`bgBYtw@u{qnb2ZS46Y-Y$*JgU1nt-6qZ({vcqQ8bJwKt%6+ zZcf8Y-J9kx{$k;nXNdjzspOo0JQtsABgkueGa8GWqS0EU6_B3W!UNJddJkk4l)C~k zIMAePa5ZJ0Iz>IW?iOLHrA|HBdH_y!_LVHe9oz20xzXLClNtfk?7MkqCj!Sn6*A)U z!0^-Bw6qiBeqvjoXFcuv|E%!cNF-ufxZXo{_=e;)PitQ`Tlvi+y z7WY0=*Nx_7e9s^B^zGD ztfHE&PMo17y&`wJs=$`n?Zvj?k(bfM>hv#&2fpw>1#g`ghPu<)rEngzY0Nc71dMb| z`qDWPQOvCt-k9;2@d0(;`)Ui#_feP|W|ObBkyZ>p!RT_yc-nh=7bsvo<8?25DP{^_ zCoa)?Y*Byr-~syH_hz;_N5!LT$N|I|9r(yZY4^q*etBoaPbZ*;k{=*o!$r7Yz^W9J ziXoteRSHVGyN|R85T|yD0d3h1@O;Lle)PEo4KRA+{-!1e9H%TV{khe7tM*Dl0kT2{ zc=xVA4}vB0d;F>$@Tuu!@pNEIjk?3+!D;}Xl27#xe@+J7jOdAZ4bj&i(>!V#D89S$ z9zkCH@$XuP;xt_A44IL7Y=*9hGro1ybba#Mt#)3mgt5{*tj0NxM>P8xL5HNZ0D7Wr zk~BX2I%sERB=z{q-3*q{LG|gyh}WN3%G!?^={l%zy8+d|=-3-83dSSEL_MH`@uwxf zIC8H0>O#Tn6X5kh`AslMSHYq!cV{!1$j)P8zJ(8dr*n+p))~4U4=tIdHph!tt^m6D z_CE;sS5Bu!FC& z8WQKk9OEqQUGB{-oD|ovE}lxv+h0)2n6!!e2q_%X*3xsIMJj~Mv3Iw4Xu!ZaFeYf> z((wJlrT=l-MD>tRNaxY+VkG1M9J)>aQVDNV;Nhp94QM2=id&fQB_w`1GmHAh`k1I* z9FbFqFWrw-Ai;~~P))G;t0(86i&Ny;Sg&Yy{ARS1)c{rq3ZtPC#FZPz#KQ0&IQ2ey zQYaWo8~e3dB84Lzus&E{Z-VW{^aE@eMSC)j-t)Vex4`7EY4LZ0RYrvtt(|_Q4@(xQ z9>QS&J&rmPi5@#(v2-$C2bF*E5!Jz0Jlc}1=j|olJ5N&~BmcC+grf-+SUM1k=4xTO z`JSeXwHWV^*XUKRd^Qrf$ohZ!yupM(mUcsuXwq99==#U+iPx&u+(uLiL zgiLsffuQm-@I^}s7kO2fq5@Zl7v{ddyE-?9^4(J?sR0~y%-n11N;PZ8;UV%i!CM;_kaR8YP*qeVv}x*g-ZNP5K4MDh!5e5@9k&A-lm{VRxVk| zM53O{aS!a;vTNjF$>8-Mb!2G1Dzo1Z3x(}M5gts*Y@)D>o}_WKOAgHXV9VbUpEVIz zn(lPTo!;7l@`O|;7|BChd0=|<2YP}SvpISb+Q}B#vkEi{X7Xmc)AkD=O(^XYoKpQg zeo!zi0jIz99YV{4)i+RP*;;-nZ-C1nxWe@OHy8~d2qrF%ICb=XYB2Gb82Q+rJNg@T zH!#=7-~mX`|AxIRR6mY>JGq^$XY(_B@M_@i(jLj@YBo~GWbF&Hgg@YOvE;WpULcYgVO_*U12&yj^vSY(0T+!@7EN=n#;Ak zoJG4k58gx_`s`o_-l-_eG&ofZTBD)~TaXw4VCG454r&M<%-UWCA!&U29gtaxgmSo%(Cbe)!EFFr=ycT3ie}_ zR6TT1^*5NqDJ#I;edi?uRoNa$amRvLYK4hIBVI}gSQcsx_r zVFTP{Wq39;)OPa*2~@goD65`1WASow{{ z+k_iKRN@i|uJ;dY#>FS3zxHh7Z?_vdff^6$Y*>qj%7IN)CC8Wshu?jE(BikKsYZak zylsvD;jO5Onr49|W`Hqc>A00(r59erckILZIs}kA`5_hW!sd*XLtiiJJ{El+WLMxk zpU(KwgXx_5T<5K@a(xd6Qf}r?%s)$;e*X}lo62x$T{{@hL1(zm*LQ`|A!x+rAGtov z4ccybL|vY@x*VTa3XT@;#N)~j$-?l<^soHpqnr0J(B9g-GYzhC#Xos;_R972P$M?9 zSlYh7FdkQV+m{U)))i}PwYxjV=6@MjyC4l|tsE>`LG~>`w3gzgJNh_}FT?iB{?tN$ zd+v@!3n40d8>S={@kZ=Z?+V>`{TI;zf?|q&=A-d5m!>7hAc+_iy8b#MhOW3kNQ)V= zLAAObD4cTUhL%`GXKxDkSqd2%MX4a|UNeFehee|SOqVs)#$r6@yH&8>?rS0DPV(He zRlFUynv|wC@N8T!gYk2MNgeIX>56iC_Y!s(V$N1Bv}7wqvtZqHuII+_UW`=S<<0L^ zTQZ}b8Xg#sU9cGDUpQr%%jRD}{<(l<_y@A^HbLuFW5%S9c9+48YN7e&Fy*SvX(Oa2 z2DCTOQ)eNV25I^|^S;je)y&8C4wV<%I;{G`@0lmpy5T+dQFSFc2vbQ2^>A#->jc=z=KI_UredYFP)$?{U!aMIF-M4wCI=E>W&aHtHDc({(rca^ z!~VeOnmNy_p+mnLn@y{{HsXw6P%Pu&LsnUkI?F)fz5at2@8T&Sl8P@`xB2l!W=@0# zT=IQLJ%wQNRnM4fy8nc1Z^VBI)TNT3W8!ar|AznlAC2DDV8qy04QoPlQXViI*@<|I zMRQcie9Fs1ceUE<cXZAqtcLt5Lil~aE zB1rsX4nlK6SoCi&{%Sq450hz|t`S4<#sB$E!z(sW#aaWH;{O2p$BS*L;%uE2p{{7;A41fY3BS4E-x)|N zd(5_ER_rN|Rn(RXJ6y>Di{%X5h9pwpi7QN8Z-aV|hBrsI{YU%4!_~AbFlI=k zfnU{FjJf<>hjJ+YglnHMkuAZV1$4%`tbv%0hp1^skj4#GP zx?o(W(}E?cSV^K+B%(7@(^<<`5Wa+TN)q5#d;3Ah329vsWr}6=KuoP!yX7X*sr*Ij ziFazoI%rraF4t~#JCz8pEj|R9^PPvpC=oGHs zMofBy%@B7G{i1`cyGMksJ^07RU8$D?_bIRuwiS|1XOu8)Vbr6UBUE}AjqsGQBxeG` zL}H74)Wx~+zfM@lAlS6Jwx{c3)%YT@XbU_pq@sAmOM(%3i}xi%R0d@A)Au1>zi%p9 zh$I%~5zEyTv9&}{k?chE=YE(^v1P|W=x%(ID+y-~MvB^e{#F6Z0RYSHi>e9FzY6I7 zS!wM1mCtgB;hDM@K>sjlyz4O>u!q!@MM2TNSmz1`5Fuub?kq1D1qGLTJ8% zSCmMbeD4*K`(rxzH!%8yOoTUo6!EFUf-tyPXdsN%!CIGt0BfMg+OG+D+9Mnug(RBb z?H8=3bQZkF8Ji?YyBB#Az4i(|9}Ul<^K{#+rZ_@oO;x}s>W#;D2dSWb{hRc_Y^OXQ z7i>pXf=ZwP$2nxPz|1#QppCBBJ$mX&I!(Ue_{xu1J9k875$J%YPRf<&=v@J3pBb+g z#6;ZeEED;a4Qal9>mSh$r4EV2r)>3N#ln-XdFHqtcGK%b*@{^{;*ztp$YgrO&`x~X zNK?ArsAGH}#6&am)-Fe!ks;T0Gz?tHDxEDAtsT*mz<3`eZr_zKuXB|?=c>)Bg48?% z4}}Ni&I#u0+{HBwAC z%EfTtj`sBc)(0FPi)JR7T^iHfjq8UVfTvGLI}!kT*Uiax-fR0-|=%Hn940F;bWgkAX;##m) zN2l>Y#zHc(wsh~-UaL*rqRE?Eei0i`riGYvCSv_xAch)><0A_=wKha*w#@e9*#KnB z$q8#7ri3qB6)%FpQ3h*Mc7U5Dv43yvSh(fX?D#GIz;8UX@*sUt{87ko@BfOL?;m|# zH-ALrJ$BpO9s|1m_dwV(@3Fk$N>8Hd?(=Dlw#%j0HpW>$TAOdX^;n4E8VZCKEf|cy zZjk*HW$F`Nsran04=qBA>b08Q><fbvCc84p8+9f%nnnt@sdIEom|yPHCIY zNykTG6FIa}rPh>&;X~6>mvEZ>O>AIJ_#Cv)Qm@H-CY?>vNEF@{;I&e3l`iGsntfTy z0DBy)19R+d{nxHv-6UxJw}gFANpxJs41BzX0g;_$)%`^ma{df+A%?q^UR(co1OU+r zf-@;!nJ{x%9|w9)dON_C--Gf$<`LsKvt@kXI2OkUxl! z_pKOAk_O}6cng?^Q9<9D3}~yGw&8r~{j~(#(tSFYD9Y?J2w2&`$e$Vh0Z>7`hr1bDf?E$lx4=FhuIWj-D^FY&SN^01rM1^F<0ml(pG*0c@7_5)t?5g&I~;ghS!T~5JWa|{vtfd`e= zhX0P^R+UY{h;M2S>9CnNxVmN+*IZ93sH|gblb-)=+-=hiiKlz-m_15)<7#v z##c{>fiWmLSFB)iq-Bk5=H}>8Wfz~0yqGLrf;$eDqb^6UUem|DyqVYjL*nyq#6rt= zq=~O5`UmM0lGlgLp{S*wT&ZmB4p-RAbqn4r%Db(}fra*a!n8IwOOC3<#d>Q!P2{@a zY%JQ~;(wP#z zD(d*AcfSRdKUV_d0EJHL&bCe8SE~&DJDWU;PEauP-xYjLnmJCr-8m)*2^Ze(s4Z~A zZ!qd>c!pOxswXWL1n&hRRq7cJX3004Kbf~(2P(wtdS%?U;jU#|YT1Cv;`!8{lHi7B zDh4;?Guc$Tg=;sLs%X`i!!N(sV0S2$Zqm+H+f+9RTis6WZt-@TKR!r@v1Z)iI(e{; z1=;!m!Kj&tPUZI;DdmIz(S^GAtxAlNY2di_F~UiteA> z3nu(o7Y#zn>IF2ULqps4WBc{5Y@UzONc`aRah3pot`@kha|zz>GYVI@QT1yF@Rc;A zPmr+1RY>Ifxi#k4#Ni{}Znuq!%eeRMq+3|l5CM~k#%_V_uZ4++CvZmHCZ?#Zy9YDy zX%TM}q6rrrIP7pEJK!xf6orFQdK^tnHf>U!7ujU1QE|$D8e@o@m01P8J z0n1I@gYz|8IVR9y)pHb7O$9TuTosb+(xRz-30EcAf|kU^YHZ~ckFFeI=a}X z4AP`$XuYqWPuf3GLkE-pRg4E|!#uL{*i4tYy2`2vryZwuL>C`~yG_&xb5=-_(YZT+ zK^KOu=IsQM9pQM6mBw6UCK)R|y^R2-pb%_W=w<9jdu54`ct6WQAgQgyr@Yf^0uXmr z7QxW<3!N~p)LWh3qBLf#;2Rk<#$<1tE~S)aqn@KSm32c#7E5-mfik>WF`Sat2Sec2 z(Xf!tgaGkF<;;>sJ~+~VyU^Cv>G%O<1rhjtnM>lbT1wx1L}5YZso$j6*d$Jr5Ugil38U{dVS(^awt( z+(jm~B^A#g3p8Vwu}AOh*Lb4Ac$>9yN+zzqI-PUm{`0q6-dnBIEGyen=z3SH zm)C#dAeKH{3n_tJ4-j?Uf+dg_YP;>DwCv}M3W9t5(Zf9Cggk>}bv4A2u9CQ%d+*vM9KgidArwoR!KB- z=x`orvWBx9G;~$WM$2sO&uoM%eZU0n=ZRm4I}C`hV{R}Ykus9q+N1jOSobxfpJwDc z7}+y>-&!~XuN)3XVD>zTNU0vOdY^=k1hm+b{yT(CWxhnaBovz+=Of~nExPg5R> z6^_S^?Sb>TZ0KiA+!K8AP!HmLbN??3e5ebC1TDipEzMVa4UmdA#UhR*88@^W>=5>~ zhS80}qhoQa+;qW&BNBM5>Kr^V_r*xT+IiD4>w;l2N$8d1os)A?sRAmT)<)v)3&M(s`66nibl{GF?1$pWo*o@j{o2fVtie0ly zT2{=z!Z%4kWXkIe!IfA8@6_n&zmW)b#2lIUmjQb4;n>i&iNO4$$I0LbVFWyGaowUD zFVX1V--)lwKKv&xak;9POGdUoWvtFQ%WN*i95{XX9(VN)ZIRjo6l^zkFKF{(`dG=x z>)8PIg5s5%W=>ea$OVh{?!s2-7_KEIJNb)Ut9Wy#gz&O4NTbHWjP1L-M-&=zNwxBz z{)d8JxNN2FH&o|FFeo;N_=Q62Y!mp5@`N;U}8~Fs>%f8*M=OVyYbNfHek67Bdi6777hT+k(1+$ zv$l3aP$074EVztEQB(!mr!b*l=U~FD-hz2%evFsH&|+g|8s02uWqy;(ezqWfw1rrM zy~zhoVvTAwsTckiu+&}OOxXnv8q?G8+n);f9^(qfHPD+sAGmJyNwW7asrUY&|B!LD zM0+d>h694c#o6eQbz=utkbmAa^G5NTMAdOru|VTNt!ZH5jyEszdO7NJnrf{)bA;)Fy-wRgnHCxhLu=iyC*Mm-ea~tj zPqozZe$2>|a?jf%u?aduv^7(KwGtciNoUv@CEWApZUoc_|7B0EkeXlpOJzhdHreDa z)FS2#ZTJ21`d+CAWrQpE9TBFgXkc zJ1n>Vmrt#sG=e$K_rPM>F*8K=S@LY{fXCmiROqKE2Eeqdt{O^5XTXQ4F;w>PjUOi; zFOq6_DsHBRvFW9(;PRtvh^U0qOecRg1rI0SArn>h8c$u` z%bTyOkqWNs>&vZrLkX-EF2R{=|3g^88pWw|hN^?qj{?@Ze>UKU&%uy^{y;{dZJo?x z9Xf~OD{V}`D%#JAsW3PI$(DW|T&Atljc38Iy`Pd+n%UVXAy(krZJ9 zrSNJbTmhI$`P1;nE{e*72Nyq-57!?u`g3I=;?$U<6qoqH4^7q>4c5p^CxsEPDK@zh z9UiPSWwLg(yxwX&sg;B7KX8AZjEZY>h{jw=g|$(ov_REv!Exb4d!r+VKN~wb{hhj^ z3lNNDh!uZra;0lAZv4NOYqxq9TM6YijJKy|I)@ksb9KNr%%q2Fc-R4?9lY+@X2GZH>sfbp zE0nXZJm;%Qr16*)wvV16Ypwijp!Qu~kmBeoW`q8M00fXhDAXNVk%cJ*!ym{7F}?at2V4PK$}466jasTb0f?2` z@5s$+AebaW@!)wmsy=4jH^|^6KVoYv-r7L$7rOiVmG39`(+Vos%Xll8 zU`lCVXR2>1Bs8|nrRo?ea(i1Tm*}#@{Wo4fAM^)wzx*N?>Ritp_2F`U%b`HWZwfub zt%AHRkhj#**nK_riY+PHzSHqMIfZRUsdG+WtTD;@Ipiz~7l~+Rgxb`_Ph#!;RVCCP zZXxX-eKJHrUuhw`B+Qhj)|a5y(T4`)Zdv^J5w6SyF%b11kH8)tS#`1IWUvZ@2l?2| zxP*OvK`5g~RW^5wAsd0Y$I64UBIXcfP$?pYM`r8J7TZ{8;u?h~-N&5ZJM0qW;bnTe z@z{m-ENxrT{BwPBFR0xQq4|*;HXS(j4FAHuvSHF%j-1vP!|SEXvVJ|TWm`UG%Q(C- zpP*B1`@~e(M>-)*qtOU}(@sl#HPZeH-+osD=4e`ifGl6I=9kX(KZ|QmyrAMo69cH# zQ^Uzs*t2L`I=TAi6i}#_PQgE7s)nF9@0_!2z5{-Bnvz&fzsT&`eEIgLhm_v6C^SC{ zy^4%d32V>|H~FwsgKKp(wruVEy_fiwpB$raDwIq_V7Y7Jj>|l#B4I3Bk@D{4K-9gI zex**ODsFSMiGE+Gh`Ag{L`tVcoTn|gU;hy45ye$P8Ohw)?tS&^O8y2fjg@tqmGi1* z^zNqY4Y!Ia+;$$lkMyyNE^*dw_n5mKW`&ERvh(HGy^HGH$Cv)!5|Y{mDyg6j8LY%6sAH@iE&^{doTB#7XrWiV>-H9F89Dwz>-X; zc}WBw5+*5UXHQ#ubU#{N6LWmV$5!*sm*kv5U#Pg)vhU_>=WrQlze3YIoeAh-Nxbjc zq@bt8!&~mP?CC2-eu|(CTUD)E1!nqg=H_oWp9-3BcHOkg0!eivH?Sx6ll}Jk1&ZVj zJ#x$GGB13dk;^ZqtqLvj*OETRV!J3Gp~jOUjys#$g^xUdkFVDF%+)jeId`UhMff$c z9K>92_pY6X$S%uUTFAg8UzzF;;L0mAOrGKi_(p~2@cA8*fcMf=X-e8xdU78A?c()! z1ntWl9*&IIFAS?nLf;3=FH*QbJCPZmH-(vcrmPGhBYsTQb z{s6h=1icWU_ZKxRAy}9gQOq)0T=;|BK3I<>(OVUk(1x+onmDNt*R;Eio@xZTZ=_pJ zmh!%R67~$aeM%Ou&vT_V$cJ4g(+TmPdio-K*eu?adIFBI9o9y5++UHuA zfo2C!3iuPSsc_}Q;Z705)&z6>}_5^9y@0Ase-ppM^LkNKi8=nbzMyw@Zf zG5BJSgzde~>)?WfDTSf3b41^U_tB98k5v({+d$mIx1L)&e4~u^m+B}iBAy+lBCvf^LeFi~@Dl2#L4c7Q9%gzc364PZd$a%Z#D>H!YtJDbF zRLz@QCK9pF*3Q2=MhlrD{^=OevaE(*PjxwPA_pKL>DqmeQ@CJ${<_DkaLJO#%~xz)kef)$gpJnE zW{4ce*D8BC^SP1M8$V}YSLC!WO7LuzT?G|&qaw}#BZlj;9Y7;DYvlmrC*rdZZ5h%(-sZr>q|9tI``4O=% zwOrY-aomWraijwy%t84``#)qzx_fD9{3(G6LI8#*tN>QorL7hB>IN34O(FbLIvP&FmT51FiS*$47|4}5 z;jXYDKW8Sn4^U)zC0pLI2c567Ne%m&(O`e#4-YaSB~zR(?}{f=sUWnPIjp}YuD9M% zSb;3-7_mPg;)Mn(1#3RJTt|Wkjx2|>-8_5r7SP{=nh;@&&^X^ANB(HOeeH8)-xPEtlRI>XP&%tlR0_o$}(2kSv>P^6q$uBkLH@;lC?z&Gvf9o z6!##4sPD9Y$miB7h|_u7OrLP@irT9dY7Vxjjs|*|5yVIwz=n#X!F%+{O9KVG$S3*WXmyuKyBj*^{w1 zwUwcSG|xOZ=QU$htlb7GBP!0H;HOAG$y*-p(|H-Ue!YZKpfedC#p}cjULq`G=}RDllMsqGetfU14+4;AQ6js%@E1zr^a+a z^2zK2q@K_d@vGi~^XHs*W7(A!dg5kFQL2|&~4avx4-l8%U$zvtAc1DKiy2EjY#2;rvZN!v0HQV+kA}R2HT)Qu9;b!|{855IADaE*c(v5l?}k$z2j za9sjx7>a^?SN#k7iWCw^;PvK&Eq_TaSM~ilSUV5obF7)-?C*BI zoQBzHdx+gW1VGJoOaR0I58Is*1MIX6qL{K7cu$e3O!u1`eFP;MGi3ec!Uk3xn=}&d z9fB{^2=|7u$#KCFb}}0&0fd&E0|#GOzu9LuDn;IJslX6Evon(iVRf5j{k#wgLvcv)dJ*5d}pO3Ub))zwCfdpscQwXM)gBK@5s#fMHWe{J=EL~VOAFx zu)7KEBTSvsm|wX2fR-Y^@~N+N(oH#A!-2eIg9lYnxNj2!^_BLqU$aQtGZXY{+qCS0 zH)r#h%d&Z9u%we)O!DXKoa2~D!B`>T2>i^E#Oh#(rPX^=w&|Bt`Mn&QQhLkmNlR(M+3S^X=ZKw1c92sq_%QML6W(>X`jC0u)mD^@1dO~4B95`Hf%Xs_;CvP zojGen1NQv2X*`#(nJLV~4K6EJGS_>){%+A`OtMadS`o_Pu4TVQJU@NJ)h^ z>Fy3Q5Nb`LBduAt?nxmVj(If|2Gvm~+Ee+XA6hfJ!>=N*Eodf^@GrqT`qY+*p-u}% z*hW|F{XWGWw(Yx=-_SUil_WK6(Z2m zKBUayyD^$Jh=F(TmzA5EP4d|4_k)Bh;&mY4&TNg6VhLTamMui}QZe&e}5KTaSetc|(sAnaRR?q&x z8iKaNj_Y@CJL0h>PB>kzd2T8-d5qWX*%)?RsMK=rnYMYf9p;%Q-U#Er>aRMcNoXcd z%I$b!7wu3bO5|LRhNj((^u6`D^ff1@Nnv9DwB z%KCN7u`+aGGuc6pw?cMlsr>%bTlf`FyLR7-6M8zei{K*##yF&&-2qf_J_WnE4UFhw#Ie7IK8@!R+c4VMw~~NtWD|}44D0J zz4Mk7!})Er>cOMj>(m{U71DevkdHsGZ*0Ile*$o)9`FX5zX6L z);Szb{~atW*SaXS^v{#)d|Qu(jg#v@5bR?_Xbc&c3yC&Y$iS>r6tN&Yb2t2WL$ENT zUky!>x4A+F<^^#P3&JyJcZbvM>9SRD;WI?&4HudaZ8dP=Pq+}mGta|?++bl3T=-Dl zRs$CX!-Z@bJ^|8YZRj!$xG)V7>cWNd<%ju#>AP+O1dzUd$FZ5)KBE%;`==FHvIp5b zgEJn(j1DPW7cMII_Rv|}$VLYGX%Ss`3U4J18sxS^_wzuWq(8b4TQHJz;xNUyxqO=< z(qO~1s@XSZR{2jcKgyDFo+8xlL1{pf!nLoVi(B$fkKj3mMvEuZ?xbe7l%8Mvn1xTl zZ2iY>SiHs&8W$U>@!o%dL5AJ84br4uaHn3S+D2`;+9!RhC+v740n85ctMM8#2~hR# z3E%ib=?4o(H`tZ-Ysf#p+`seqSKmIN)>VizU@euIJ)PNtN!U57qe|qw@Bod#2Qv2p zxCJ2)vjZDHdQyU38-Jv=JL6xV9GztzxJUj|3~hyG81M0Ua<|vT3mL(_|FVfl3C1r_ zWXbmK$7CBPa;f`$&{4DqeqnUN3*72mlbBU!*1#L~wex~#?kOa(IXQu6S0Kv)eI00_ zO2E_``CSe_?)tWd@@3}#VSO=R0re?kcmVU6LN6sMR z@bC(J7anrq;ZJxN3r{s2o~o100)3Eq%-xye{}}&F#>Uafn*iJ})7a>MB9CF!zFB3O z(>4i+*u(d64`pJHTl!t=mLocHxi4kaz>GPS{8$7Y11%vmNSKB>pm}Q)%ih&73~BU9 zdIaG!{sGAdl{P&rFx-ioU4u|G1*XWFQO=0cX}-R4)!Hs@rnTIEZTgVM?wN<-*pQRS zyN8f=axo`QdKp*nmlO~1B0KJ}(nuHs`?*X}Q6mS++htjb8e&&YLe4$x;gswG&D-SKD=ct!u5FjebMox%0xGAtLN0}2 zZpnkLIuZAT6~d2``&R@&EDqxQP+yu=>zRUUxJ${ei09kEtlLz~mg{xJR{7`WopR9!1H4gTVhZn?waiH7Y#m+zcE^}i^Mx$%?-_nQ7zanJDBV`_>8j3^ ztxCyg6kQ*8QD7B2YD>mXasjFt_#B&Z;TIZ@D;6joNGy9?H=#^Q5Bur;7|T{AKk?#< zUsRYYCEtFK-I#TjI(ac!!OKvj_m&%vmuczsZ&iS>4C-YwhQ%I(fH9Q0*24jgYqM4t zklT+Q*o>7MhqwS$Yui$1703AjkG0TrnB@DII|$41Ar_1BshZ$0WCcgF7&4hJx@%m#J?5 z@R2vj)oBBDyyL3r1tcF3^#-O9le)Ve4niVjeIQ~SB;|Ut&R5^~Ti(cwHoLkMsAQ^z zw9dfR6;b}?4ho7!`U@VfN?_QgncOcw8*6rWrEh$6b1p$Z z$O?gS>2jSD*`oy=S*U&2YF=v;zCV`-O z7!;8DvB(1kUEXC$!1u?Sq9O7n)-`O(HyHPY_qq&SkgdJ!#ikE(>6331yM0+Y?-A*S z_@!sfCAVzQe(}1N43KAw_7Pls)AMaeC!BjoKUo&&U#J)r!Y7R^8ynAS|GkfB`84SW zOwV%W(Zl$nf;i)Ux@(^B&@2!aF`p;HbJ7_5$D>8;K0}|pQEHX=YiXD@1X&g-)szce zF4^Kk`iF@;$P-v8GuPiqka*(Ol*3u@jlTNwP(>V}_u2$}1kU&V(zVK5n+wNK-S5U9 z3Yk0=BhfQGz`FM{T4$Fr0U7FsBwBd)jo>$__5waLyxX;8vCq!V05+zyItA$&-Pi<6 z!t_%+X$6_aQFpCLP1${=gm?OP?S&pD)WO`vG($Yjy%2M7h*}V*s*MVl;eg5Kg6b%w z@fCc)Ak{gN6--$QvuezG>zCHWJs%ik?m&miatTj~#)2ShZuD=a+zSFkS*JVM0J_QM5f6lc_V z;sGfQ)A|f2*-p8(E|*jdqrgoP02&Rc`~_z`33_}P`|DR8_DZoGE4cQVO#mw5Vb{rn zPykJ|oZ+Q!K|;UW0E12P)yu#MvHC)9uO*v0q~LSAQI5648k~FL;qg(cpz70SupM3z z&zQ6KdrGNbQoY0jWaCdkqTJ88noI^^SG5^|GLLBB$ko$F!*5zHCo&xI!v9#cf&3&a zH@T5XH9tJ*0)uleSAT$NK9#y|<9i|-7n#k7+~aY7pR($m=DnH-C+R5O8Q&?7`)=G) z$;SN7fVBaAc&8jN>}C5VZppnnegqJXRE@bnVg=UZkh*mWOPML6;zzhW_Akw%-);23 zrgkd>Wd81tK(ft>=zMMW((kY^sGlw8Cu{{MW`H5JoW~Y&qNYZ!o)czY9KoxV6Q3YC-*6l~I>vI{hK6 z$qCb^l|l2_OzZ?Y5pIg~iLO7L(oO555v5;IKpS-nAzkA?^v9`KVJ+<4gt|;n4{)#8<1K{V-fEhkOYuxRaKLz`G?ui78Z3NrgLg;e^hj{X|zD zR<>33m;VLC;Oqr5snF7ui9rXsvR)L<9gg@QdjXmHqaSVm zC8axLmO(YkD#a60T%fav-RRjHAI2w&^-oHLWd=M2(5BM%)8LQqGl z?`I{n-AR!LyftzypEc;lN=CbUv`nSbl2#u<#BSoF*Gck^Nj*CK5bl3+_6Q^2({EM`CX2ZN-{ijT?j8ZXZyg6Hmro-Y{`)RB@MRAqQ{kOR3}Ye* zE|-k!oyb*LQ->XA#{ia1W=E>#@1_$Wc8*tm(bKme=UG*I*0o+=n!)?Nd%Nj3-=WF} zuObzuph3a8ocNICH*0LsNr=A7Is7hG^k0J~oHt>4bt=IdYFB{#LHnb$|0I4|BEWYW zs?s4}stI(fu-klKwLO|V=L)I$0!nR+(&g*PS(!c1#p-p7O=!Y4sD!yai>H|=RC5xX zx|xeE=-Cu(mq@g%bdG-@_Xptie&7&iWg_kY>Wkk@n-|N{29b7SOydI!Td*u45V|#) zRHWVtVxI*k!a*PSOI;H1KZL{l3F$Fw9pNPsgeTnGUy% zXv9a4mNqYWC+EfTpRx@hTK19_!m5FHW6iiBrvE%Ne}Lic){YlOZnmgmtF@F~dNkUr z&X#0BI7Q8MX$2kxJ-DX(%a~;+U!kUlqW5&C*;KFE zOW!^pn3J;4PMF@!VJzzArs;&fdU2fjd7BQ$^V`hxY=%1p8MLFJiu;i}1m(pm;(i~# zs{jQt@BX?!9EBgcY-INf+Ehdhof4qQ>~3@IVyL-8C|eb}dkpEK6m>Gb{Gf5MN`ZcJ zJr8nwtAu6DkrpzjffD)7yQ`=Qlg;p)2Gv{o`^A>8U&;gGuPgoU?L_(*F%gabzwcmf z%wu`!a2+ioP9|n3xXEUM_OGm>Bs4}I%x`&jSPHNH26N2lX#%2-kln0pFk^jEJe5hf z6hQlML5fr=B5Bv85FkW);0h0P>Is&cTlE+|2i9VZ6BD0D0z?c(N!Vg-{K&)a!8+Ic198{PdV-HGBgR z({!qaQz>`1)kHV=8#*|6m&}qfJwCOPnXuw6_J`?&jkyDcDMilk0>b9t_t95G^QSSq zTJV>crX@yWZg%i&7n64*I+#lqUkoDZp@Qtr7e zktuh{#TWf+vGdRgp6)lv`dCWIySq}}KzFg1`7Im|u7NeYun(@;reN_oD*ST5XqUfJFwrJ{mXvyq8xlOKsd`w(;xNiN~HI zAwwbi)1rSw{*yYR)D=$=zC>?I>f-$NI4+zyX7=-j(M>x)%OEfh5-ITJQ|%2o(WoSs6$JA8^CSHu9#A@IsX_OOO2^H55WPt9$C%&)hFUR}Xw z45b>+oz|`Yx|kUtNDGtu30kwL4^!rBjkwT;M_S*fwLCsina(-3mI~)}ab(%R2N;&O z1?>4bW$pC`Z#~`*VgAP6OA2sTDg~>|W2_=HC#EqVjUXDSq61^tYT=AgPDto@^<+ z5A$Th4x4y<8g5AYa6FAZ-dT&{GyU$)J$9$ve7u6wteCv-PUCEH-`i>-^iN=2%;Sq? zQV)N$GF`s<+v76k7P4b`9pCNjhHHU(*Eb3G4Dk=|?W>WkZaTq}`>(T9<{7tO(PMVa z{nK^ojZ0B0t(Xx9BoF(s#dmhplOJryZe@$jAlI`d!Hv>9#$Aeuo_>?+pMSGrq9t_E?)xCI5V4&-Y_5T!e{@4`4ZpDoNyprrzI@ zc;4bC>EB$_n{hk}##QIj-q3(F_P|6sUssv|6cNnwmg; z#ikU$$l~cJ`nY%_`)$6I|Du-nuT}x=hE?MT;yL3SdZp$H;o{TkAbUWxV-aPNOj~Ik z^YC-BWt!#`#Pjvq*|)nm)_C~8mCSz}u9XgE(fhc?kIVbmRcpjt+3JcjgkEyFYr$UX zt)aEkMIjDVzT3W_|D5j5}9{WqVUJ>L|)|+S208&CerT@TphB(;k6Oq$x z_5i~^qO&P_^^y;a^GZu)P9sW3fY5DJ%q5;Yg?cv4=^WXtQBz_yyP-q3`eS`LR?U>? zU@>iHoYvxzZ4VgbQ0q8}7~x-=G;iec5Z~^pI(a0IKEp)jTUg-z#EXnuJm=nPP&MWt zrd|KoE=rj4#B%cnB-6U5KB$b%k?7+o$zST?sOC?TUnjf-Bl$9o)0pn88TaOuh463h zKTi0*UR&ty*7MpIDnhYqc-iQL@6hoH9np7E3_}~EKBx*A<0_1014f9_6IHp`g&1uA zmn_2?UrU$Ov@TZ3(skhywH289dTi4}?H|DTECOD1Lmv3B;~Eg!P+dVxUw)K&(aJzrICSv%-NCu+Pp2XmD&fgd6 z-|B!w47%aLC==1V1!oy|QxWj}*fu*^N7ziFiN+;9U+V3PdTwvU2jRGCb|F*e)TJfM ziSYfui$X9FQ|z(p_BPG7BXto_3wREur9~TFGNPNV%KNzKJY?CIZ!7vx`|W<=Bdp*} zENbTU9h4o%mdJ(u+pD?(e@htjr`+b`*erP3&u} ztY&{O3Rdv(l*|z>E)n&yH{Xk;gBoTv>I?O7vb???%HJ7IpQnh(wmB`GX!&e#644J`TYvQj8_Sdu$SpWnGY_^TFy6|f_pwLe90KRC*Yg?f< z3&`9u;8Tx|F-dIQ^MS4|d&RCqZ{ouR#}2rVUJi-OsWz%}+B>6lX4LPrOnlO767Jt?pj=u#!)hd4ipkUzRN+(4&{ zYt@-S0}crZ9MB}fuf^a9FEOSr!E~ck?uZw*@CYC=cqe-3xIeT3gV_PJp81S0%L1bT zR6j_|iGuvDnN`2x#NG!Qs77f~DqKp1oIVw_Ug7`8GHfY(H?C}Ov&l6>*l| zx2s`DrNCSZ=<*un{~;5*p5}u`O&NnGMZp~|uG~0jBO;)+0ICbLO$g$ga{fzwkW;*7 zBfYX~oTdd?wK(RD)D?9e8q&Hxf~{e9svijOHyPq+Ei-?FY@A)oT;K)DHpKiyMEpzg z)QSPf>f_g3>4kv2o|+P4Y|jZ1VCJcG7Kt07V+o*btg0B-c+~un`-tDI660b>?FRNo zM6hFItA7GUoyE906Y%LI{J^y-{Y$$4GVs-b)$e}-rtvg%Q5HZ!W-9L;NAj?P6dv7G zgN;LX{WxQHgFjkGJir9?(>{W4FuS06e!Dzk*D14JN3q*DsaYQJNLY zYgmD?HMz=^Mt!{XIBYX+uDCj1+LZ`k-fZH8gt5(~ADuZs>h&wssu*7rO9D?NE?4-k zli7#|K&|)3U1bHh0wB6dvIH}Mo@Q2CKrpUPSp5weD#xxA9uCmqfoQ%6sv3PMRaS2~ z2GxH0#4LjF>K4$H`F+YPEEZA5AfTP_Ls`%($SwB$d<`WcFi5@PM zuf2e3g4#gy1{f1|!~!JZzxN{LzrMShc`F;Q8V-N-cj`^-4|m)UhDbP%GZ;`iZ3-_e z)2q>kyf`cYO%Ht^VNlr3WrN(;@z(?N);R60p0%t~8!vcDxQf*Xgh0LJ^>EwVI|6=z zawTSgLe5{(N?ndFVY@(FkSF2UI|5!V3`V zn;kXZjyg)|i$ohVF2XW5`x z-L$bhQUP$1TZGy!gu_TH|EB2zxm3acp$N09O_x{5=}>#R2uT zl1t>Aj0p|4K2pv|r3`lebCS<$ti!j%3u6>6&+*?zP40CvowekWpMXa|n9YC9x7A>5j;&ur=<0q*slu2NMy^Gp# zZ&1#%$b7q%9Yd;)PK)?&LtjikWV{*DQ=WZ`L!bR|MAGDLi0KKd6*zOaQXte{Q9?z6 z3AOy11F)livRj$+zEL#%zvzprWB;se=RkfiUYt>^1mkK zir15>?$6+!P*1^USzZvEpw1&zQ##8L)%;V$v`3OwTIX^OxkIr)u9=H=(v%p~WnXVw zP3gIJSjsf1r?hz|Zzhd*+jhycbB0eS0!AkC2Q6+n8PUjAP;dH%S-R(7;`jxgp zUL`dTQ^Z-|FAw`%+FEoi(`jr}=TZ9{!xUnbiiOg9frZjE;so~g`(#jD>nq?Znsa0Q zk-y%x(NAYnV^fw?Ay-`A();#Vc>SGRMQ%!)ZT;4wgl6{^3s9*tc_nasi=GZWK?O&h z_*ABvLX=erhVZpZalsH^4OyShj9DU#=2?Ki55C22%+OeB{ z(0=X77*F!(pE`W(wi+ti-u0!IBK);)@{6rMy&Z-K&QZ^l_4$&`&oD5tC-mRqC38RD z;*D5ZJ$hHhhTJ9Rt7&R~Y{R#mWz?Q{}Vhk&+sECs(Bk z)gStki4t79y8|4#X`<_tlLH&&=T{8%Po>T8Q!ro8kQ>1C8>PCFNF8?czlpjV5Ff!7 zFNch=RJ>dLc!kd;u_cvFPis;t;Rgeh9`Jijuf227K57G``P zEbhC$cz7dU2^yjK+Xk6XC>~RBaaH*uRxs)NAySH{q?H+8#`X?XzRz$)qox)%);!9D zDAIqFP;RKcFN&TLp|knt*hg~xOB2cFV|Pf?Sug6GA6x-S*OykZUcu>$V?=NE=W87; zH2!_+6k*#N=oa%0#EHPsna}!b`CD-w-I%ji{nA_C#qa8v3va}%3gd;<4D(671t}%G z1BCl56^S9_M$t=FAoScU42l<8dU>dYM9L50@4mrr2Y>AJ4Odv7Q|hH_PtW82;hu05 zbBLM2$8Ky!VtA2<>yIwtP*sR&pc6_oU2;154)rx}zP$*DQdF%IL>etTAzkM8;}Dfm zkiW>aTyYKi$`<9350AbzwZ_=8)xDQl)|B7B0^S;JMso2^e@$4-DDIKZmCTjaMd)0y zItXB8p1I?#@i==0jD??g4xTZits8^oKN@6`Of)HhlpyI;TYyZmxU2E@AG9mO1m#0E zM_Ck=4f{>Y%=c*A7A^N2Fs7pV{Zp27&BX9qsFvOKb>S$D?lJJWyNR@92;4VUM&{*5d(0 z$4|2Mqy0TQ5^x!wOiR{=G{b10Dr?*hKBisKSjCZGTR*( z!M@T4ZHegSD`cd^=;YWL7f&i$mOlG+sFuj8t77_@%QgAv*McW8nY^(sqK{0427mow1k~>^z{;w?ULSn>%n>Lao-kuwmVItdRj8 zx?F0SRbsF0r^u9!RW3`X7W)S06C!pFk>LA&^S?Ka4SNL94iZ652ag_?XI!|372rSi zOMiKm4R9>q6GtcA21xCT^lzph(95TQTd>rVBU;TTV5k0hf_@@}IDj>95F!g5=9Yi2R5xEfKX-Ikf(1CP z?IJF<8M{)v{#LWxps9>XUFF+JIVzXMT^`m4aW=IwX24Rp8jhR%x$~o5dd)QKPqubXQ|YmZbce{bW<@~J1dKMhTp)$y z>*e!W6`2#O8L@P%R4nJ$ZJ=WHI;oEzsv4FWpayB3KpUE$J6188pEUD$|B9D&f{sW9 zf1)h0#T4)a?J@AI)#*5hAba%2%70LSXUfi*CkVpYA~A zEbK(PPi$R(36e-}v*xe8QO1Pgy94)sQ+^y|LX#YRwHCy)Y&5Z(mE5vKmo$6*#=|Sf z5o_a$PCzS84tXxP=~FtLTpN6}B# zwekycC0~Vl)?mi-ekSICHq79jj8>x8Zw7tvqd{x40F^Id8}G*Tci0Ksgj10|ragUd zqr(4KEc%!8xU>SB@Nhfft-tj}oKM(2-ra+r8Rg=_en!JdpM3w=a|cUYuQHK=EFRDG z&AjdMR;NKqyHSf;W>}JSKR0a#FpyIfSFyRvzA_D|Tf3Az^`H*7H)lXw+=VK0){2HQ zk*pP>ql#o0g_6&$yxl}5$$996A~pBD!__ck-|XuVOb*19%rUd!D5QR1x3wDNvN3v+ z9&NOxuGY?=*4tA49CD0}<+*stpEjoOPaC)WzFHZyvOCX<|6(FiTzq`Yc;NG;qjQ%u z-u3x;R?a_iB)O+}*XfS9t>@HZFJe|(^RRVxd5q9(lD0LE+6|$in)QRwb4c)U0X7z* zMh%*Y<)HzNC#7ul0n$IM6*GLN+!u8*5XAngm-n^amXxqZTg>?X&Xwgjc)MKZ?~&LMsGGA1(g`x~Nq#_HU93Ib!4P_SW`azCOuo#cUYWl!qaOQ_D+*YKzZz(TsrZ%~&__cg>Uu!q_ zF-p#BbJ>KKQnyJw<9KTqR(|5cS&huaArY9Gax)%o)+$Njpo>yEm6yJh(;FroQ2qHod~X0GemLg?1Bh6k8e z?_2@U`2{u9){+H-{hARums~y4+vAwb?&7W|a{2;p971ClHB&pdNS5K*-u8QD#D&SgYje;}$ zR`fF-RiR#f)tOst`TyL!h{oh9W1volPc-N5&xt-#lHHmT=1g&yS1@=v5}R1$Yg;;K zuN+LIEmP}Wmq~`W@fnuM*oGUwp{*09CuWQ-0kvEHVP;z@jnQ=lvT#uivqirw?ovrp z$%+%R9Ab~)rmaU7<{xqI)qX)mwl;2+gzOLtdW*@JgT7Oq05CDgaO{NFU`NtA8-?Xa zJn165tkuA?m=fE$%1)<+}h?u%CYRLCy!swH!1&$1BvxaF_@gRP#&5sa}nGGSybqTCw_J6&k~v zbH3G}o7tXr^yvFXMa;g{vMgaa%b#-VOamD&`dIXdG*OR-?lmL%j9p(a9Yk*pK5*gNsFNaJ?VmQT`c;Y}OjXmHH=X2_*}s)P zFdsp6z6r85?DS7hnqfi{v~_|$w{go6iD7eby`j_cGnu@Vg=+nsx(6a`dgrdamhF^f z{B@rR(lTbw=Vashu+JNq3m=$$#bTX=j5^yKf>ZlTmzJ2)ySpo(sQg$Wzz(K{OOZ&! zrPkSIq+)0{k8F%)1tn{GOvq2=Jbj}raS^}0>X<$&nLHzC*q+tEmRw$Fm5{A9OThXXrj5X$< z%-lmrL3w>?=;zInpK}sPh@E&uDDA=$PSLy>MI_qdIp*QVRJAnfdc1NZku)UP@7V*3Aef#v@$xYIT)UAbNMD{;5QnRAM0)!GGT|DBy3 zsqHIzkZ{LbcwpHfpUo4~ezNycC@XSE%WbO=PN%ItgeYZMVK=g}jy zmG*VpB@^*dgSL^VC8qE~Y8L(%D8GDk6nPVSVK2LnLL&v=LJ0h`S|T?BP$|~y20Qlk(HsEUW$yi82TMj{=eF~ z`fCq=Z+#IaHi3knUnR{=G|F{euuOvJtBJTr5B*luBYq1TT$EA6;<-80034=c2EY=r zK9Y3>@Ke1d#D-0icNEc}q)q~bEw0`#_M)nQ6xP5!&Vj^kn~IEIX}QWDJutIf8+;8y#NpQB;cjlD>Wa`>Tr2QbiYg^1X@vlLES%}1yIpQbYr`hwyNo^;owqaZ@cP>90~W6>mDsG2Ej)jP01f@8((wHau^27All zUy@oLwgB<*NE~Gx{%*d`?IfynXR|_M>@UR*5EC-SAIl|=D%?KGAyfq8VB@<$Mv(f7-raUZGPAI;Xt3jsM7K;#n>IkK*)~9*_$+K&9pIoY*qYl- zyvbuw4QnN=wz|HvZ|R1+She}5b9Ws0l?^P}G& z9au385#}xCcX@3|q~q-($hDfJmWx7!rKRjT6n*?h(pDH=Au-(|bnRryQU%}BM%@ji z0w&^EVms*kc@2GSoU|3;{u;-3A~BAkN?*~tJ>Z=xy75O)HYUL_f{i%wsP8E2P;0?+ z{eFVeK4I2@oyt}|Yk64C%$0+`!cOHmzaeu`oL1I%D~p$Gtq3Rm!o)2i<5B!G7b6%# zuc1CndKB_IJ-Pq?H61YSAKsP*oYC6YN|DPs1z#PmqFUl85v=tz(V1=!C`Q7!<|&t#r?% zqrx4gbzw*%%cQ_9UkCK#jTJEA1Rl;Ba~?iyN%E=H{7gKq^nw>lM zKvD2hha>dbj+hm4{1w>BY?`fTCCO+-0#n-h#td-qSuw;9d}|y z2m}=oMa^oQe(5H7-ivOpyS(fciX2g`*cD&zDU3fXpa}-l<2{CQ5O$CC_7if@m8QFQeN*rAa`^L61V!t%- z-BoU;x$oUi#L;3e*v=%S**-r*SCdo5PkAJSZEl9_r&-w%-tLqwZ!XmCHx|w-=9l!V zbQ4lb6d&&7%)47_I!Lq?2TZKp&p$N8eSLsVQm@#dZYpVh)$_W`TG>+G!2m^2`refu zR?^}*R9e%|>rez?0p0>#dXJGTsXTPuTG@;OdN%eLGwR|G7TD?p{X0YiXKHX|~UL=bxUw1(t@xLUf~X~5ZITu#pL_ZZcL-oGBm zpRBFmk8gJHx|(ia0=ATWK(0cv%b_1P8QfOhkIgz!M7IS!1jU@P=>@F*@%?5p|E#dW zDCxYUy#H3cm#O}+%!$M z(Yf)#BItsnq*cOTCv3tzirZ*A{dExU(FSzQ<*3gKUFqQ6{oa@P?x{(ueS8bq&&t}1 ziId-^bez5?m$HW5K@G>sl5b&~U(qaD_j0M;?ZEy-)axs(2F}|cxJ*#L-2+SVsM>t*iI+Q=p!sB8^Nk-+Aj>xM&sM0c9*eBg^2b)~IDMyV8`JZ! zsmd|39Z zN_vR|wD0|qI$98OROX7Gk1$nnYtBq_05)I<5V2GL`vx5+f5P?}Q(l1|<7S-<>^Xn-U)79XQ2ZZ8Z&bMbhnlq@FD|jiDTF2mSrHcr> zi{s}1{(AjJ&3IQkeJX$_cLj$n=|=L0xGYo94ZLY0IPP`1`*q;q=4$mqDL<(I$gje( z9@`hx3j^r3*rj-w_w0>b=ioJ7-=2a=(>}V&GCyV?h%&VOCP*l57AM*Pt#n_1*F zgUT zgq~`#S^vWr%E02stR)*l zE%Utk71#qA0q7g!=)!RkvtB+n#`aXsaEbvT$YT%}Ww5d=h883b+gG-)ZG|ry3Cbal z_huzOd9BughnNbwY9`6+#0JIP`Z?DaC20m9JDjxEoCaiC@vw^6-BRvc#Fr9_KLdkR zLM&C0Hoo)nTB9kY8g<|Mne{=_*R4G^W~b(jOrODRlya;gUwquCL!B3#i=RLxr}Z4W z!I;1JIAGKBs24r?ad(DKQ7bN=cq!T8x89M;8_jc*vLTRU$?g-d_5g0f(uBofbX%fs zMC}@AEl?qc{F+}Z4e)^F4hSC8@fjv-!uh0tOjY*tjpte%-D8~oqA0c*|6@{fGFmIimV zP=j+^s+O2xFU0of!Ya`N1Y01woo7&NFiCReN%*Ioe~VxJ`iq5xwd14x7sFqffyCF( z%>9zvkgzM%EN?d9d;)#AMl*W9oCMNP{$fKbcvX#+8GVDtsxuHPo zzZ7SjZUD3-vK7C0k7Z>77PX3T89sL{9|MvhjkF+(`<6LaeyG51e)vE8Ed$*FL-7d^ z66x*%H4IB=0$``I$Z2GCyX0_NIh9PhWa%BUxR5^evV3>+V%%F&?2e+y{HXb3ejw@t zgk?)#&TxF|6lrn(`7LwguNo%cJAMDq6xhZHUORf^F?rVPs>9Fae=njxw~V z`FLL`YH7#tncnI%fwVE{P|G}}Zh8Cm_qev#m}avDBGo5*@#$wD(H`E~)Xj0s99RH< zk_-)AUnFCL-#0#RXpo2_f&fi~Z=b zHgG1RREnSFlsy{`x^Oh=Qd=5QD%dr<+s=@x(7jLest*!cG}`dD+Eaky*C#WPlr@4% zs5M>pJE<+05We%Rlq-9cMHj}laQh4|)x2A&sX(pISZ{F1GXxJPO?XAqzGpbI6qf&% z3=~VszOu>Gpo7B+A*gXzY*{`^VjAO^ui-j~`z4G?`~aXR0Q<}P?8c7k=wcae0{#-W zFASGRG-;^HllORa06@|1ou()Gm4fqa5;))Xq;_sL1?g!e39U6~je|*m3Wk~Vx(2l_X#Uw*k9&+U z(~qq|V>T>XflIDhv@gSnmd)m+(SjS1)roxckbDuekO8ZYL zMYA5uCcY+mN2UBdlshWkU?k=>;Lgc5bC@o}PpyC+JKj)o!BAMQHlY3o&@!I$g$9CK?$txX-|8e~Bv65~YRnGj%;I+uhlaD)RSEDwFp(m1n};HsK8^ z)%UTTy0|KeIqzeSoAURU$fmQJTH zhwi(uRAMfWKr}piq7?X0xWJ#b%A)!OLuia0b0F2E8n(#H->_lBOelLyy$O`fTj@As2T;pv^Ah$ zlg-U8LVn^8Bt3Y88rySh+Vnr>(EsjyRHX@mGk=Q8JS>jq_I+QV#Dq7-p!!RHye#FN zZ0Wy?k6$iWU)fN6Rn2Vw`-tpJz0<4$Zqmdc+HvmnF~jkmyv-LsE5$LyHAI`N7liU3 zkQDsCuf$G&ZcxR|=El!7ACi7`#J{1a7RD^+W4!jn4e%w%9Lzo2#o$c4XrP zp(mZW9b8m{dYvq$9QRUbiPQYk?|otwvu4#QZmr_DWa!PBa*G*OaqD7L0|04HKYBrI zX!_Dp-}kn(tA2saR<3KuX}e#hOr(O_o>J`zrgMY=F%YbirLVdzOG!WzYHos*%(~_S z5xHI)YPO+31Q~aUUYc$@{dd!)51sP*1aObRmEnLJ9uscy7gl{j3kiIU+^o5_7Vfd> zam!QsqO>&h<((D)My}1E2Ug9!197WAiKywr*HhC!jjD+oCf2Vhb119mU4DZ4>xIq2 z>fYTp_>3O?=7+=1o~TG>J9~MhCFJ1cVCm(mX%imx+?R&idW;;MM*996Z?8{9Y3%X= zuEwCH%z>^WCUKn)9=r-D3Jl9t=4dgcd0@3O1*sTQ=~ZiERh2t&p*XbbM@9@MC@s{*| zH=IqWeajF12`rRlJBkgH=dC%BR3>%rWXXB{?g`&y5Y&U-$zOZk_xD&A_E7^(x#})MLzogBGwSo6MVog$okc3E%Cg3)-=D%bf7ah@_fQa!g;nu*IM^HC372 z_>F6>c6a@Qtn9Gt6zd2rPb|0Wq7MAh6}|HdSCQnks(%C_aD4MeVT$L}XLClI~M>lD3q&{%cF9UZg)NYi&J5{gRK&_;AV<7$am~GGgN3Fdn;XyG*%bm z(uzR)`Gr z)D#}`vhdsb&4zHGelv8;_c&%{ehLI1yqwcwj0*8vZ#&duXm|13j{hjs#a_NMZZg$z z`5zosHjobGA)?hjG(V|ayya6EeRBIKdCHw{UVPehL2l_Afd3rWrfw^kaEMneHTA#q z@<^L*OKO5W?qM3ym8;P`65SkHw?({v)Y;sK8-zttP0PB_M2Dx2zi#dNv}MlI zW{qOz`Y|mdQqWuJM|=ajrf@s1nObOd=2D68`eQ@50sR~FKVbHesx zm6rarsh?4jVQkPf#F}?;{)0MxV!Szx4}IADq=_f23iGxz-z?3yX-;7sE&9_K_MV{S z{LAcHl%G(ecvw>D)?;_d*NUg!gkXGlkjt56k_0e+=F6+SG@3*m&zE^3;*oELHuTq*wa%7X@Zl*b8$YeAt`#S7M zc0CqG4VdPr%9RaMXW2skUKsLl95i7DfNj)J7C47O0N9NhVcWz+Kg>U6UG-fp1KN3hKQO?LDq?Dv%474BYN)PZ?ykOKWm@w2lG z-xp|>8>M0W8-0tT7*_PY5`fbelYkq>4WRq*oT;NpUN>Xz1vy0M6(4A|oIN588XNJ` zH9n1KP=G;26AIqb=4M|k1buAypVAPXCm25;T7Pk`Cg_ILDc7X9i8oCRgvGb`n3vFv zoen*)7o?mWH(V~HZ(g%O^_ViS(m2wy9c#tr` zwh#ciA0iN!&%HLuuV8FP+r3O6MTG=#z#)>+tE;vZ0&-Qp%YHl4`NwxcGR$*&@Uj#4 zOwg21+w9Xz8&vx@f%DG~+Gt$zejH;BSs~`j{n5}nrZVyMpbxZKHY{AHa(8^!1lVxs ze1uDOt?FCO9-n#K4|YD#v-FS)P&uGMA zi%m*Lc+X6uPlrC+^CV+s1MNm67v`K$wNKq)j;fTCm9_LEh`V&%Ne zbrbsMw8}0$9cBk}*1B+`OK%eu@!=M-sXs!%@rDX*p)TJV#z8Szi(O822g*RjyyBk= z%_{@$T7YU`5?ZKZ84Ejqmbr)}Yu?|W(n!DUdtr$?iEUy!_oRjcw~I`*40Cs+X9!%` zH%ZQRVTi%Eznb-Y@k?S2FeCQdTpJuYsI*P80`H=2zc_avgOY0Fm}5UWpUO^C5B>3Q z{@f33s++6%)I=bveBRVVyA=ie^X$~;J(g3HzlM{Ug19Qh`>#W@_fH+OoeE};Pm^`H zbw}44VO8ibL{YUc-jrpKy#DXjBa_kXTLD`v#%-{PlJN4BuYUY0e|+gycDu2V%Yvh` zxI@rj;(_l~nPL!K&29rNLM-L*#|6Uig+?{RX9)dc3NxaT4J-NZ`jy)Vag)N{0oRbC z?#2F}2jB6Dn<^x&_yT&O7zfr;s&PfcIz143Qqq6j$~$vY=!2wVBkSy*0vZU<+h|i_ zF(mdD4e(%Q{Sp_vMDI&2d@>(kB2Bw%B2il}JpkDqjpDcp8;0NZvBAF?h=`7aB@IQq zxww1;Xti0Obd%AYb<&NcPg5X_biI{$oMR!|NnD#K8}o+74aXm>E>JIaZ8_I0KNv$y zJJb2m$jMo;l7baPD&>2^D9Tzfb#epZZQuV?}+av+YOk!tN(d68OHQ~&8sXcpD6buV>hUnUz6Zd|{^{vAm9USxG5y;}<IWB|gzmS?gB!I@uGFK5i5>sqq!H^XL6u=Ktmj0<8-a)|Dd z0;Mz+QPE7K01Vg@!WPPHjh`j`TLx-6`)bHK>dEhgCW!e3`WWz&Dh79j}Xmx2Z zd9Yud=hkM@{xracz5_mI199rno}(LinK)@B@HS7#8n2LscMn|q-|&d|y!zz~{`c?m zC47lNDX*NlvD3C!vbkIKYz^743Yvo*%2Ciy2wz`tMV#oj4^Yk`0c+RfO3C|Yb zjUAucnHK+Y6q`H#nLKXYccI-W#aN-+XS-|J0S}|yRdxj3Px;ranGe_1y}8;G6%=z* z-cHOL>G5|Q)s@X1(CU^e*LjYZc$;uH4?NkVo~J&YZwPwC4UPmgs<`t7%6ZiQZ#g}6 z#2uiT;TA>KSohCNH3YN=uohoU^eh2{Y6q$C2Z2*qkEd7Kw+ihlI;1%o{+YYqQmSI%A-!4qowNcP#_*NrfgI2G8dFM#$Q@GwzKS2_Z>U9g7L)YYg zt6hnLPyc=8wyE0*aJnH6#`pHs{?41eb?Wd9e|%12J74Fk+%tOQFfD2eIM?_xTC2hX zh;2J=sMm@@GK~2L9>xnRPB&J7SZI*L_qKaNNaM>6Wo{iR2j01FJ$Yt3UDUn*YvSbR zYQ-Jr4#_1dVu)L#{EKCwK~MS+)|+Hd#Ux&}rc}+Xs;G?rdDt-a>Bzy>g~;*7^v;p= z#gQ|y`?`b7?rxjS4+T-w$EZhQX?4F(vkDi}wVvyhhn~*< zzP)S3zu0bG5hUAvf}Q3P@2Y{1n@VJUXW7`Utju)WGN^5!#&dgqqE_D2&`0Id*ej-j zDip7nWG+Uo2WI`%0U+Dkz1aERa%I59HBqj^XKe2IT~Q%0g3X&BO2qWYp(gd{SY!y| zPD-^qb7V6!8QG+7t{CEU#Pv~lw%2F4NPAa9^rY@-mR9klJkO_>z5+0wZG7qsASH%8 z7W8Cn@_CX&1BT$#Sv>vL9`pkmlq3=)d}NO}k=co@Qh-5XBAYGS;AKuXM3EKYnjn=u z@X#UmNJOpCXUlGjxqbCfq#t267TMF8l*aj-h_d0U^55DM*Tuu@qvjB1M|cGM{+!Q? zs9`{a0;9k@Hd_J?g9{B&%*XI7diBnLHcZsPSH3*p}>m&+O*4!Coo%^~~5-q5PA2774(#*ufbVEal7@8Ud5b&1Kt_ z+>>N<*<_*f@E^VR@Nvwl%zy-~BKv?Hg6FLZ(5RN8X#reby^QF%7SvbleOKD<9Bciq>z7+i3l8;+YbeGOS}*y)aDntoJ|fWj|;>V(D)T3Ly%ziNjgU+ z;UAm(sQ%JzF}jpShvDucx`6Emd=#szfH3fYZ`CXAX1`?sV^S_LUf0FOO+5~hW@r|`D#N7OY5F9!s8*owBhszcHZSK}&Gp5XB~)@UNa)!A z(l3&mi#PsbC}P|cM*@W~DCMRkY3`D2$>ahpu~ut2P|Y1*k$cs_1cSUji$?%3u_ zf=y~xgH?adk($0CDveovJ%Mgl4`aptoamdkgaf4gmkWM_d%EF6cQS4P0Az0!_7#zx zvtij1v0_5_oCS4md2=9Gv2(4B^D;EL(E_ml21B4#jYU+iHw-^XH2U_KgIxOF=4;Vp z!aj4z(`W_+aMW}w(PvApfmFLbidh9RjJNi545g_^ z6jAWyRDx zmdu#aDU4qWOOU)!NI#G(uS7w=Oqq5p{w`#!r?vdr8H-ceDPB-0wsX513uN%67Pc#>V-@b*)_S$^y8Gt*PJ1-XO1dum`-hb3>mK%92x4I z88u<%iNwEKcI|r7v4XhU1J{cGX*?mhO`r2J*M?ftbDOzEFRtry%T7jrVG7S>8-iQ* zig6*Q{Yr5`l1hCh--mNueUsQGpZbwBIVm%kscfaBh~fV{J4a;BU_9AMbqU4DH?AZXmE74AZgj2(Q~d4Uv`hW zK^&a9=CV9CU5-8&MoLW`gz}{e#RO;l%b_*~O*kfAwG_pzph=)zJp06Sv)*!@cG@TJ z0y(mfm9NM)uvd!lGB(_BI#WX)e$k{@Gh*f--96l8K%4CNdf)Y*zkdKbxLldbPiKWy zMmKBjqJ!o_z$(qgi2mz}3%lgWtP>Wwf9_dv|KpDy8~$#<+Mo!afV4@5Kh_t6H&l~a zqtd94T-p5nyNrK!MLItu!HQak*kQ=B1?^NwXDvdokv zMZvg>x5d+9oZMx&eQ~~;)@t?jRsMGQQn-nu|E-$0@&s&QKZd&)ti(J5FMeqv*`S+) zWK!7d4#cc{|7c2IFTo+F)>*-eFbdo|3S5+AsLC&DsWln7rf-%0*tdx3nh_0FK50a< z;{0UON`B2f5nV6eoHu@(CFwAydcPTOJJD9m89#N3@b$LBydjFM0AJ!spx2Wt z;_$+7jVoW(OP}q+X1@-1{~&r?WM9E%e-3vq6SXFaTAS^s)<+HE0~F!+Zi~O47quCp z!s?^K*z8P807*QNcs-Gc!?${w|0MPVc6hf0WY#EU>U$}@+);fKG5a_8$duC3oH#F4!uLiq=$w19%!=*IJ{JMgg2 zsSn51%alf5H8C_@zeXX}C8OallznT@kg`jg53W-(kN4TXuz;FvDD72iik-P#x2eaM zi~GCL<|dhKh?`e+ldR9LNA1KrM+0_vOzHdl%i4U1%Ud3!wiR+l2KXZ@SsWnl|BIL7JQ=w98Vvs#Q zXty!+BU8N?FJh+-tYcOppIVKB!NhcM$yqc-=EG4S)gmLs!p(8SdT3ijHU++UJ;wH*+gZ=mz-bR3v zA0O&4t&+)oZ!5H@*LAT8)rO8gyI*3>==UM(8oTD;BoKgD?Em`V zpOICag+N17PIRqCU{fbvgYJPZ#=%Ya^-yX)M!s0qgcXo<*5z5GfR}@Z?sygx@C<3m z#dMqVwr8R zGIo7WOX*)mI$-i?zbW5Iez0@q)Nh(f^$3RFqEq_)D@G4E^ODPIzOMEopI8(-wBtVy zI%;NRTH`J+oD-jEUuSVR^5Ijcei`_qI1lFT(}xe$?&+}1#k~yt8U*mOyTT|vameJ$8{(euNhM^L z9UF{-zwj=>~6rbp4Q8hACJ6)?tqDkQD>9t=E1CS*TU76ZPo{Y+HTN?fFZ8{RGJ`6@!G|X}j%^ z;G-|b9w#>5jlcBgJ$gC6WMb!G9Zs~x_FRJ8=2&+BHoY6;Qljp^Q!5rAOWSd(HRh*} zU61H#w#S(;ddceLe}2!je;Jrau=y1cZwR&j4vck*fC?gmcI zN4$=k0|D3EfY2r^y)jZb{9s#AW*Db*++}bJzb$y?lvKXzVW&okl%V~6idZPw?t2nf znG#w5qI|+BS)_x!m8@#HUR%uU^x7%$qI&&t3C-%a3&m{y!ah8rN3(UuaG!fq)_o-BsQH3DYSLCD>@%V{d$`A+Xm12$YpjXRYETe@ zh*gHZXV4Ym>^di&ms-+pl&EhauDc=E?LC8Qt%kX`Q26mo^BQ4>MJejEtji83^U*n- z|BDQ98`s#-CNudWH5n(IrOm2Y6$xgGXz??&l}9n z1_kHw$4lOC?%F_=nl+ApdIfgjx4q9geqlvN#g73VRQiJ!`2FsLa$!sI<3QR~Fqg?* z7#m*ip}>`umCwA!ENBFne!#1Bbe{CvUhFSe&G4Fc04t}>TOxd+y&C3U*vOCHT*e&i z3;VaVN8GeZ`GX5#hM?tW`t3SqPCrxV@V!GKa1htOiaxLh!kHF=xuv09@d)zRg-=gk z`6Rn0ZT|~xHNPN0xf&#+8mF_vRy>V7MPJ<5%{u|;{hq*)+yh4Lmg%7BVeh{HD~?vq zB(Wp`5^}!8mVVlNfVuEbwj}Ra6+CCI)Al=Us*`|$%HF{|m@Cox|IORI_UF6}4wIjE zt-C;2JWxf61T@W$$DO&{t@AE$?oJZGhSqO(n=t70H|g;U7J2gvV&cbv?S4^^<~}76 zfDG(vLsu7%Sivqe7RYQ|(%Gm+U`GQq0@h=(OVJT-3R|>!M?F0<87LLc9{r>N^K80R z-fhRP4j;g6rnropfjJO5H^PEKuXV^j*S?ZWAf~^nv(XD>q}}K#tw=~v?s}ELgzj6bNOr2DEvh*7ptj%&!|ZPSX$%wx&M-S)I@P~k>hl}xFC3;Vk`;WIp-5u! zN1$#K{Fh@dif{KZy}^na6NuK>js|?@LMu3uE}Pc#6kku@pR-;!zexJt84s-*)_sWk z^VeEW-im)I`UtNsEiae2ju}Ke&g^g{-0StIsE3=p*!z8ZJQlXHjd6uyfBaJ<*pL}* z&cvqqCO+<2ciVQ<{AQ@MF3%axbI0^>U6}Bh9Vp?KMQprY)hy+6W*y~&;b`jRmiz5B z65MGe@38k4iWt=b`=qEz+yvC37DNvy&yj<`VWRx%;!I=E!*^Du=^+sp*!yCyJ?J~Z zPYL*!lub#UY>k1@>PBgEjpD#k??kgAYz{kn;4gc|)9?C@4qLT@9nZGhbO--J(U3)kip$5WpX}=+qc*Pl(*c%4RcO08U+i6Uvs?%4g~`O)-d#8 zi{zEILgoqdG#ksI)CKzbmYcpMB3Rz2n1-#IMQMEO32E1Z8`pXi8W)Cjsu{9_fIJ0aq&h3~BY`Tn)vHMs7|Q+{!-C*)DX~ z2)j#Af9T>308}^9i&j4gqxV1C1NQWvsbf-pQ?IYg$V*4fgHUkwQAP)MZyezEKhQwE zYwJ6H15|q=bfNpMt|zf4>$nK{rf)W5nGbfU7d)sXReN(V@>gSe7?1Ot@QPA^3P9jh zK~(wEgU?kdthNTkX{Wx&Xeys9keEeJbYCQ!l66Gu5*D%m+oSrrKi30VUxa=OY4a9t1O%Vncx%rUGDBQ#uu{(LA1{OBU?OkwfOn64D|+$#7dO2dqjmb}v9N5* zu;~a`*(Wv4Zor@te2r zJb=Jv;p600oYQyPPLt}ZivvF+lT5^HO!_mMv8rs+d)_aX%;qO<-v)WF;_uHQ{SNNs z^_Ca(`iOYe+h$_XV{BFN;otl-W0>9ErSTiIhGlype^G`oM<43bG<8sU~UO5+t z4_23^A|LbUMggL63RLQ8Fibn1`Fmf=*Kwx2sY>fqQQP3E_Ee5hO$>A5Y;i39Kq?jH z{;WkO`KkY&%CcPD<(bD(E5U<)7&nSii!=AZLMf#7Gv0XWbTK_8YypA2SZgSt;MVyo z7Xr6%^AY+>C`zD}p4|8zRR~wA`2oF)FPYkzi{cV|^cv+@bCnDFZ9RDlG~JbyeAS*4{kfIp`}Zg{~9uR*=Sz3P$3!W3H=8P)62ShK0# zb0&#?#lmuKWF#ln(DVgi#9TJ173USmwEh}etfd*tLKBdb)e3NXDJ7x=z5OWXSap0 zRp6;!W-Oo79IPEND={^L8!PO_t)bpYSQ|PsiS*3%N5OA;m>F6fYIQ*J_RsgEJUL41 zfXf*mAbJSLT4?AIe`BD37Dp;wT5%H%ys2bq`f=OJD@C3o+$qvLqFKOUMF>;93KIT{BO4|QX%_?S@CQ$Gs5VSl5lS3Fu@qWt7O}k63KC{vQNsAlAJ_d_Y+uDFQ=|l{ta5NU|wKN)v zt)W^P|AMWImZk-1Bq}93_Gq&(E?j}h%!Hy&RX7*DlxkeK2c%wtdu6rY&(aRB@fT?a z4y6%2X|-^4^RAaPcBBVUbiE&SWjbeVH}D^feqrMxfoVRxeuN%255rJ*TO!?YX;v{Bi>+c^ z1D=5W@yhl;NCk@Wx6(tC3ZyZ9nZ`{~>+;bgFU$isAN>6sh1J`?D+#ARBXY6u0*%|F zlwmhd7Qz01e2dd<(@}h6h;gdR5L0Vy)3_hu6KYs6dY45 zzY(J|UNSR=LKL|9x00m4hc+UH^%#7ntxuR1R0wX3GO^WzvJt@0 z*n>iX%JVvgHv4VP<1VO24^q|;YT?R5d`Lm`fE|Uz#Z|B_%Tq5xe7T`gn#;75Hn+$Y zGW=57?m>4SgF-w9@s-{5X2qTYp1)#Hl*x9ye1_qj1zSPYB-2h8R7?%M2AV#>O%I>($1fv3utLCUvxDgf?j62_y8(I;pzywr@MDEHbTVd>K6` zoofS|05`TZ|7M-c8uT3A-hongq)o@0+#XHiJ%I9$BrLowy^K}hm#(-AuR@?j`-xZK zs(2JF7?GC5@WfOw3m|(T-i1?un>=@&9=Q+GjWRMpU|j+82g~U&bWTW5MLcAy+!u@) znlO@IRR_)M4^O=6Y2gv+5D4*FGWwi1yS$VK@n2gs;6Q?xwW$qe;3NfdrX8`6(lrX^E#h0~ zJmMwdm%y9Oy#S#liRWmfSLAVg5{M);LDd=fNT#(7Mx1Imk%&tl-v+zJC;1HjGo@bs zo~+7-`=O&qkiz9Ic16*oy(@Y_KCGpItflhICO^XNu;WIMS=%m{#)o8rtnY+yi*kLx z%Nv~r=A-Zz-M8_JCKP5DOSGOOfDi^(uR=(~V`f`&nq(Nf8V8}Ge0q|=Dh)EVP)>Ne ztan`V4KgrR!@Hb}ksGZ^R7uQc_>crSCV=#&$wuUaCPszGL{%uZ)@v z5<;)6BY?gsS$@Xk4 zD#C|w`4yTP!>X2Zk0plIfk_hoK?7@r!J{)q~N5p`U5U zCWO~?A7x&y34=RcU8v@x42mRDU!%AH#INx$OlmMupkiti(;C!*!!`@74YvrYgc9~}uVF^5a1BC@!-bp6ykfLM$rIwwAnsEVf}!9R;C0=18@l2dfY#%L}Pb;L%vBYpTp zGy)spzKykb;3>jw`1AG&DiIXjK~k@-qJ@82tNqL#c#)uTyF{;r!Bs1>h=nP47Q!X0 zRdBHOd~2oKR8fUkN9yUi5`axx#g}Qp9?Hnp zQQIu2F%(Udb464)#K+O~B&%9?l4=m=4CI$UZDlht<_uJ?;H>@LToK!xZU5H3-y0{k zk}#`;!ykW9nuJ57p7?3D2?kenV}^=UlAH%FB%KD-`CV5ZgCGBMKvOHOtA&BAD&ai| zUfa=wg;j@jGPoLTD!$sFV2pt&tsrX_ykUUwozC_8sw2!EXcr8hskBfr( zCK3WGt)$t({592E;inYkZsdPM@hlC*NxPPlA6kBAIS);q0 zP8C8D{Dt0pI%tQWn6hQjCBm7`S9mvgvpCucqgtXc1;)6sl$z!|P>mwWgY#{a9T3>T z*y!0z(uBzr8dNwM8;hGr-@`gJ45^he%W`cf_P|C$NJJ``eIkFX^F(VMT~Fk?q8O$J z!$T2BmGQJK4ECr9X%*Hew6L)_mda_Lg^cZ`v#$yam8*T|YW0Hlk@=ewJv7rwz-@XM zvtAgKbF1h&SuDMZ1p-i>#1h1xgwea00i>o(4ddQkPN6mjRr1E{5Hy`Ps)PX`2i^zy z;nC=f@P>+s)i_0%)E~%PnN~@c4HH^XwTa>sQ`U{bE;t0}snxXCJz*gl#u+U#`B z;U3vOA_zwb2Lur%W%O(G!un9FkQ#${fAIa3M$rOCs)!nTt)4_6dn2_Zj3dj1Rk#;6 zCTK~-%Z#*^WH1mh7_bLgMRyd~QxK*1t z1zCUqb}WOtM5+XBGpT|qBlINncla}y4Hi~$#vq|w_L>)ps2I|$sD^`5P|DxiwQaD9 zWKF_84hp86mibs$6 zJ=y}3GNDiUb`7?WjA1Zu-2@W^2pMsm`z z-^jotZkG{`WVpfEqmiCIOksa?9A>&s-Ay+V0Mg~)Nu(6>MX=z$2%ittZOzcDr*i64 zPQ8g!H*jio5q@W8r0@YXqODY6*g?Ix&AjP7=CL1ER~!+4r}EaIh)+bxC*8(660}dVN?q?`{TWInV&Ed zkHJ=zFv)C^S0R{erq&}uiRdbnYEZjfeO}ytlRy$con)6%$u|djJ2M1A`1~sExf?Bq3lq0?Py~`CwNccd5L49MfPDBO2brbj&a8hdXd`Z(& zab^yt-eKVzr+&fo#MB$QxRKmGWZKX~* zpAPWTs;w4ZlxkmF$#vyG95i*h5VEjPtL6a4Dv@FPLHKK*3RYW=}V)D24PgLZz`A4eETcD~c#p=f+-vX)7OheXs?8jg9gb#t0^5tRP`)71l~& z(N?_!<+<|)1aOtmv6P%S2*?G&x;8OL8_Kspi2+7uy;0=HZ9_KMlW`@r3G(MEy`cW@ zF)e|tshF$uHmC`l(ei9|h(!?8C0*Qezsd#(3XM+e9vzQxkgEd8IVOme%CI{aeVVEu=P( zu-NlXoEk$RJ*IQv7gdn#{VmN0+wxZX*pwo{+;hm0jn-Y>|BtS(kB_1{+pZ!|rJA?; zXet!ek1DMcR!d_F0j6jLHDYY3q99ByN@};bRT>vbGDo3EDTV+6B8g#Dgs2!sg}6dY z4u}v#2mvAtNlXUv9X82izjtTmobz6b&+q;3{VTJ(lleI3KKI9UU-x}B`m%i3h#`hm zo)x6G3M&;U--<*GFpj8ouOkFlK>Dze6nQ5gfec}-3;4*@!pg=1_%%@skKMWQU-ZGN zpRq;)es|f|w=N1B`e)Vi1VEnLutBYHvmQQNO)ePNJ8Y~JD96&SO}@*m8RVzckyOK; z89p!X4;B8Y)cNX>sga@Tq?eb*FG$Q|SCEk0>4-NGJC5%ZOX_r&6QWC<@~rziOJL2r z-9Ntd8%hS;|0bSzOb1Q??S*t%&cEWje^DXM4mnxn8LKzzwsO&m3JNhcBUkjg<9HHp zvUTejJaJyG0sg%{O#K$(;78-SNS5n>D>~YE&|pom`!br1s}6n{pQ#*$b8e^ILTlX* z3H~Ilb;1F}^JQ5p#Ln!)!-cjD^z@BcI8P&U%V`(w)7Fmy`~-sG3NM%@4`@3~cW zZOu#``Di9{&1yy@ROkNDb>eRNM$wI zH6DX56^l%*p{4M?pWEn!|FvVkH>p*m*}t<3_2ZQOm$$LBSu-t*Y``i`G|#0+5N?*G zp|6=3ONN_iXwd*4OOD^#)1j8@M8jNV9DU1P(LgaA_Uqyeaq~>Om$f4m5=x$I7zMs-T8R}K zb+;HJtZ{5sJeJC5#qE$j`p%oHC-1Tf@gC;se>+KjU!B*Cymxyxo%P#GTaaG!>YHv8 zKeY`xVAErXx18$M1wmuBCBU3{qZS_Ej?mmzER z3Erc_Iu9gC1Vi6l0g!gR)Mp6xUXeJcJEkXei-`kr{olS5!Pq)ILW8}u z$$=&dfQAdQ`0Fos}*rea8*YL|p?a)ty60h^x zYk1!Vx;<}=R4AAWFdzITCtM1|J837I+bVvkzNec(K+WXEL!p|kj9JLhQJOD!a z&r;H<@@nO}uwAWO*8bdpjz2xZE+mi65K)hXH`1;01$5jmUNEdpTfHBU1%y%4n(et% zk;S*@ftX0Ed*DdOF4{i4K)loK9c8!@+Ln|Rf!vF_SenSbX)QT=o#0P}jik6OnKXPd z>l6NV;kEp7mWadA$XmO80sIeW>GhNT(vf>Li5IT%^VQ4JOk@{m#T)0@0!+c~XVCiQ z#SO$4*E?^S3}?*I{(ggeLhz%5&iCA+EowY+I6;2KI6VMQY01%{pYJ=v^Vr1G6Q%ug zoK5v)Eoc4pq=;94WjD?_o?)s}#PQ|7k5~Dwx=Qe>LFtR@eaU-b zkbTM3tbJwbzCeOzyllUkZ5NT#k()U?io{4ni;vlNJZv~ZHw@=H22#Y!-+qTGBf;0e z1*jAMbw^WwE582OgfxY&zk8+Ygh0`&rW>HA^!JktPNLeCHcWt*77-VPp|JAIEf^v^FP^>-nI+r|A_0Z7jDjcY{adL zOixVvojF3-)gb*%GGj@x{zm$7$Rgraa_4KmP9=ALum_$tvO1UGW&iQNad%>Bz%UZ) zSY5bI8qV&}NwD!3$O6V8B%~OUFHX|PwYw?*gc^18{>clZ4fb)lQ%dX~J}=_gtm69# zHv9k||3{wXwVUI4eXY8`u{k{WkKtBPP{Wq;pC3p}z5k0u#=!-ukMQ{tPcTRmX#k796;{NPB5x=cd3QfD%?nZ?0(J57ilKv*6mj zdA>qi)Ne=4bAif#{NEm>fcViEiN^5-?J0cv%&I{-Jok;KL`)8rvy%8VTXicFY&WwHNN>0m(ZB~~f zsEG7xU5qxF{8OM zs9NJ*d|a%PdSpI%{Y0_q0DRY{PioYz<;__A(RCd$eW1{arzGE79PpW@q!A=A z#U`p005i;>Ju0%07mRzz%!^bR$Nc;Cfsw587-2`~abLfR>WYVnC*il#b03^kL614N z(#!fl3g9Aad+S3ZzjyUti!?HzUHD9|Mr!jYv~cU!G6}k4i|j{eq)^NOmJHDJr}PLl zOW8>^F%B@^%_1^dj1t@(9o;08{dsd&@*@D3(4x;m7#3F$F3Lico4QJyX)D)Uav_sin4JKBid z5h{2j1}%Lf+jd#TAaeI;f?{C8o^v1&243O_tT3gRjT z=X-D=$`H23({_?O*v$70Wv|@XX#HW~tX(k$Af9jRB~^lM zymIqbF;K8D-R5$bmHcsp0f+N~K=vv<{`M7^kw$&-sy-D6h7@qEo`~)aohblM(HAeq zD){}TYad}-^vebi&CNWLdfG#esxMa%Ru*nUM=kqyGxc{t54^6Qu`xeS02m-2+sAN# zd3uBSohXp%mC={{3N$F275un72?jXjNVoQ*kxg=EY<#`^?q6W0vdq+9zRkxiDBf=Q~s@PdPQaOld4g^RX6o_4gMVS zH(C|q1#?KomkqKdms9Ryel=bp#+!a|7JItsru2c`=Z^fCtp5k9JM8=H)SgRd`8kWH zbtNV$ol=J{p`rT@ZnND`)<^+gqOo74PYZK}QkshPNNPaqlS#sj1X_s)y6hogRw}tFC+cQ4sy2ok&S%OiC4K3VktVk7+EPGVnb9m{Jb#Xt9rx{HToWOWYPN*WT z%}6XKV@$sX$oY@o{EeA*JeWHBwb`U>SibrNOIx|@y$@&<>6qNyC%!;>?C_e;nd`Sv z)qTc84%m@#zn}U&CiMA~9vGCy^Trg?O4ig^8zQPS;A5V?Dmq7)^OaUQsG*dZ-;$Jx zgC)DN2EU`LhG|Rn;++N|l9GX={5fU-OfGV zK)pOnGvb5de$&5$M+S8cp{~JO4@1`Zpg{S@8N8<7Lk_#eI^I%(yqMX-e6hiKMP=WR-ZvVkkWb?=c!R0}w7fSVnf!cMtbTkJ=JP)0kJ;m~S}i=qxEY&i zjX9n-${|Fa1S9qt9Qblt1MS~vY9nV)gShSB=Z0nafWW?2swfcVgSgs;_6%e|V>j85 zzY;PnKUN0!?zMXeE3h^9`-F|4N4)_Tq&MDxCA)>2)tJ>Mg{k#pXpT>es`$z5&@Nzq zip4aFH16)b|*zAxz0>WlM*iR4Q8&D@`JKBXDT^+ZjfPo;L=9>DL8YK^P$n7@zti&xXdy&M=WC&+KB#JesCx0(9nXXmUe52A_&(>BOYVZ3ATKZ*?7?} z_cnr-_1R&h>DK50+05ae$eqO}WGO1MjigmgWMe=-<&pY?D!nCc%nT+!ztgdLLh?K} zG7ZSb`Ql}~02jidp2Tio>@~Pl_Mi9zBss-M<@`0kJ7C9}j30G7c^aR}#uyAVx+7U% z#yDhV1r*RQ|YVRzoq&?G9cE9ziud zE-K`^y5m|~BWF4E`o#9=kC?pv82(antU;!yHqZJ#W@F~ZYW zq#SNq)Ci{|Wrc=&#r-lEaN%sbCHcvRvtma0%Fq`ODDCS>Z+cjh%Bz?DL=3Be1=TMv zjn^s#B0fp8k{TeWK3h*NYriCCEA4DjKrUD9>!zS(Wa>GS#WA@vU<@wgljw2%WAfYq zF{>;4XfH`pv;Bu(-*9YXDP_4YRrL^)@kiqC;EY{6G=NN;E>Gw zK9~h5I3V3c;*uB}v~QwAM`i4gSRytg{OPmUNbzP&8^>MpyI@durP>Abya>8xz$yAv z9!`#Lz54RUgnbrnb6RONr;&v>hl<%)=_A6{;yd7}67#!1FhIJv4{p-5%WMH=d^L|4 zY&G40Zr*X{rJ#U2TR$KZq{k>c%DrEl1e0-4v$tW0_aarfn8Sf^gyvWj-pxB$^vK#T zwlvrh0g;tL3%Nm$lUl-V#UJ!dSV4ybcg^6e0sg$26lZCpFpDq%gPw#(X%iq@?#CL! zZ5z&tu*M`(K-f5+?z#%M> zS1cD}ky`49Ub;Y|_zlQ!(V(1yBU`gK49JC~T1V<`+@M^WZ2alsBcf_Hj*vVIMO7Uw zk}608K|*-TE#L747M$63PTn~s=`k3xX0L8YNQs!HGwk5?LW_g@$GAR!cYO&O3e zE9`OF(|Cb?EE^u4CVpXQ-D+%%(m;=LP(RRXPfesWqkEEC%uAAkp28y70Z4qfBOF8O z<~udkNqY!lzmMo~a52~8!e9x!bkL4?%Q2C$DpB&x6odUYjQ>+EsfqJE(#uylM2XAN zWYgaU5(kVQ!q9w>J?3Fs_fBmb;Qfvh?9iu7_y<|ZBIxQ%8r;Jev?i|J zufFzSGM@5N;hz~#%Np=tb;O1>dnfY~GjaoI!2PIL1)dDqfeB<00&gb$%T4rEMZ-8J z3nwPQkca$UUShpHTh|ym_oUaG{{RgUYY$AES^g$ ziMnduDK);;5YHMHRq6N0&GN7HNV_V^k}z;Nmk)t=Pf-Wcraa3l{QW1dVD!>VxgyC2i-X1Xnk-OX}7H!0rz> zQQlL?e{H(vLOVz%()q=pJVN&!n@gs#v?i)FID}te-gp{zJU~nspy({WKkV$=xd7aU zcggJ7SC~YY;v$C_M=CVhL-&xG959roU<52vOO?0>L|3IjJS)tP9AY#$QnUGAAI*c* zsSqZZ%*z@Cf8oLhe7p-GIw%9f?qQ9^q39UCKtaao13H3{Hd&k#3H%az{^gk ziREm}R!O8~o7x#e;p3jQOLp^!We?rOB6IuYL8ILs6_P_)h~2)^8NvX6*!j=dn55-q z>X+|gOz(m+OSFl1^^3?}CRKE=5|hA0>BjFvgDN;X^2I|w+T&hu0tZ3uv551ZixaL{ z=jq{RHprom_{dWW;Tpe=C{=WlHQnkoC`DCgS?>W`NY2+WZT8d z;O}&$$9Kpf$NXQCTUaEMG>E6D6`G_OnN^%tc3}%!0nFKMul?~})Ep0AjXMj%Bll6~@`*2%W)BDBSa!75W_m+|Y zH338Ub_498ZAF|XPr$w6oo4E??m{aKDaJ8VS*<7$Z}PP}cqg9f3Gww~;#w@)kH~X- z;B1A+S*n!E@pFZ2Jsxup$`-Hra3mXvnv$&etFVdb=Gd13wWu=iniPgVF!l1_} zC$qR#_{a(NehmLJ;_4Ls z48~(3xi5t`hm}YAW6MiDj z>%pa@T}}8u=~ng2MKo5+SIaAQ6E?+bW9`XtF!zdsT3Ht7atOu40`ay{L<_L~AZT8D zTv$_c*V11U2~hIrHoo@e*C{$7l!u+4{Ky7jPmev$zrOCU9Cq>9+ST3vevUsPZK6w* zV4-~hUw%QK<|YG%0cN8SR(+sGLNew`cap^b?_laEIEwZ}(Nzeqvqz6+cByo0ja5$? z)<_R?bKI;%uQH&<(=uV@t$+XZsJz0TvYqlo7Jm*Hg85*VN=j=im(t)NAKDQ)4^*`a zGLmBX$>6aTj%v{@?zk#;tcs6=M-OOD>aV6CT6z)BlYb+GT?b78)=z4`4Ehh2Yf}Fl zcHB<#PZ74%)V2z9E%^oClJ~8SH>|NWsOUT9#7kj5Wp3Vg;j`q$9x~w)`Ad>hv4-Y_ zb$%gv@-#d3wQKLpixtD&?CL|b!uQA_;|%?D0$}$N@gKf6@+F0o6(aUs5e66uFF7H@ z7d+PI0O*>{{0rXVUx4Ed)wzvFTyC)#a}k*vkiXe1LWOKO?a8)_pWn)(;9Qv62=021 z+@2ct;X+>`w+J;{!`Iqpb?)LWocBJQ?NFU#vVOZO?BOMQrG+&Qz8Ntvc@=Td|mJlq!9^gc3)7_zlDi4Q-jao8*Kc#Db37<1lGcLvloKy z^~?`}m;sjEKd;2;Vg#huCCs_XAb}|^MJ$ClECs&O2h8t9sB}pV>7FN)1_CwSjR{L= zK)V~d3eyN1N25~IwFh59aB4|I)(?Rga0G;I;*83&c*#wcMz~9W{g{EHm`gO_e$OXo zp&<$QH4eyhK;zl4)fMFS##kdO$sq68Yv1XVgi9$EcT`aJyF@CM+QY&G+Z>!fyLIjVcs0# zv7j4P;;{GYr}y_*zANvv`pN+Xq;utf;NZB8pTvK~`!~}-5~{w~2nS-x-m)r@7Y?2YNB+^-PaKS5{GTWj(PO$=-<s6?raeeTT=MdAdji6rgU2TSN_-wlhJq3G;4a8k2J9k}MM+9T70>nR zu;ZXA17uC}z+3avL>k3ePgRL$kwq&}!|K0cI%wi}V*iVg%ZQ_TgQ+hcA%D=B0}i6? znsI?Swg|4h1Jw~!1DQOW^spUD19b5s4&C1=AX<&MStv{FEfnQ)2mvYW^#(9;jkIUL zdEdS8mAI2Gdr`dq{Ymv8woNId+zGpO4fi*qVrZ~UA4<1xhFpF^82IG^#PXP_i7%}R zeRu&caj@M%P1IQNbX!*%##>r3y(GA6)&cSYA`hPCy+BL!VPQiW5vG_8{8M}~({#99 zT{wcj|0%s1zWaBr%tLi@wqiSZ`@;h|i(m)K0xFlwx4 zmc|+HRdv6B+hG;53oe?{gp4*;qRn#5=!?jYiyw zEu=HMXP)3T;&ubot&g+>X?!v7)B8NUl27G+OpbD?T8gBjlSzf%@7_+ML%@vwXu7IT z(+O=>CSEL}O&6tLIvYHVo|#L}J3i9y3Tp`W*jhlh)wCzwL?2llK86o5VR{RO>;`J6 zU%0~3=PWb2LWdfB9yKtn2e5Dj1>`H;@0AzZ}orj}V z7=vSO8!X>(YnWdw1qf$nj>`H5#WLG9J*lZfW1IhczOw=ut3P$Vg z$mMioY#1U_9XqiMXo&A#3TemOd0|(>pxofLbANcU6uSVSrQc)bo|KVH&9hyV5H=%y z6$sobaKzJr{V6^Q?r1qXo<%CWpAmMD2JmE{t9Mt^aJqt#bRh!nN$0j^0`?_-w~em0 z1Ov2&2AaXWZUJdpk7p#?BgA%4fZXvIBoXj9367JHn##5`5grF$CBL2{C_3&`Dslm1 zTj`0Qw(1|^QKhJuo(E!qMg`bFW7P}7EF(n===m%}_?O&4Q#!!t7Lv46#t`L5&JZKe5G;1pP3L)}dWAD~5+lwjy@y3?Ib*oUjv}xW;Ba+qzJ=28nMqQ{do-X%ZP3*@tyk>?wZL)cd6d*#ZgkUL3RPbstLE*+NyfO z-lKEA5KeaYG3*wNVQ}AN8Cu?#aP^z*uYjJy$at}AfY;$&pxu^Ghv9kp+qtu z#{2c>1FrE1vMvDC85AD+NW_(NEt6^32S|ldQQQ*rHjBP=^C7Ir2EtOM=-hVHq&C5M zW{;SfH;bI3=Oz5hd-MohDR$`}!jpUrOQ2e8;%0i6^L+cD8gXFaYV{8pM2kE;CoH#% zQ|du1=^w#oK{!&CMJ)Ya(B2Ov^St8@zxpg+NQ%Drd435;gG9J0DfOPybr683Q5ym*$)r8 zkRxZ(-HX}=TCkY!7^uO1$a0(N5ANp}t}Syut2^$#7yo_7`rU z$|uv~)%XcZuP6f8>|(du?8WTv`@)t|Ch$1~J4`M)x$O6yrb_>%S_F4kX8TM{{=;Mul#?jcx)gybXcbF1E8(x@ zokx?v?p~z=6>FZAZ_%AE)=w-%eB7%-pZ!Uc%-|lSg2J-0%5FzA?&kAEiJasl++29& zI;^t&MPTzU2QcffMDOb?rBFaexUn{qfEOEpmFFvwYGMOk9L?c=Z~Xd;6$}PY|C+4# zG5Cd~5NW~0JaJt1I{-;F(SF2lSG08}k{hIg6e5TrlUKfu2rU^S4&NZo!z)P?52uEk zX}pwI(DNY7O9#QT+Jn4Ir1!F%6-CY_>=u>$o@AI(%EtpKKMvzhN9Dbb*vhOHFC4k4 zy+wzd=a{KqRnnMd!U++pXB^Zm^z|SW`bBwj(m$xz!w!ts7-Vei?DdWOJ(!p8sFKmK z6Ty+$7ExDp>?dJutY3zd&aw;mXR;p|=ZQBu848Jv_fV|#O{R#ek>xydWxqFGx#UGc zejPZA)CSv{SNl~M%39ZAN>lD4dIn#Xg_4-i$jo4tSeS|WIuyeVwb45^%lm_Gn{3N0M9r^kQMYHVrX6oOV3R(*siQ~g=dtn9`6H$#f zzz+D`J@mA0giBfJ4+=7s_Ang))jST5RlY>O`I;|+$lj^5pS{0{V94dTiiF#jeC8~O z5e%x&1ja4(#geNonQC5~aMqpVu&SH_s$NWMCsNRjUE54enoAfAo_vyAyNzRK5%mk0 z$7KkGB0jt@#6`zMFG;2#{Mb+Kyi`lBUCfUnmT02y-YJs4gq02#6hxPDS_?|I1RnrM z<6dB?Va;-ee-Q+GmbM@7OlvzRK^$I)s} zjWj*h2E`p8A-<=HW>9$ZQOh|I5-=PlB3XZx3-j+QM|UP5CoK|4By$>-{W^A$s$5`d zea%K3`vcP`Aemq@Eay1ZBAup}vt!B+-Jf8x?STOLE{PVDXh(Xb46A`){!ui71`S{) z=|~tuQ_EuamgKz9OE{PN~FQ)Oe z*tKvtH;?yvJri&u)Q#6~k0 zR6?_o>=l2mS(EZ=+$Fa1k)*#*Q}&W0vN=;31PZe{JI8j3#n6WPuniWnzen!Oz?)nm zcatNz(^+K40h2?{I&x8rk9BuYm|UX>ZP|KdUj)P zBHo*D9=01v$VmppR&n)K0cs%XwHCk=NShV+r~t5#EfLtxkql`{$R%F-ffs<* z;GhC5raf7_1qfDB^R>y=ZVR@fnhb6iTRs!BF#pHNdYRA10i0OC7`mNsiU#ECcqexy z{06s$-9RxLz#{>Ds;JTAG)e>dwf}SaAEpai-6j27dz}|m7{|gIcfzRe{G?9r0 zGrZzFeF&rB64gki5zAvuo`TmVo7!iia{*g4EMNSDY`l^xA>L1Sik3+))_pfwL8nl% zrG0jrk4A6$AuwF$HrOrhE3F`w!%W z&|V5PTNVg^e7)S6zA9?5TZ$>DX!KiI4EASk?ybO-Mi#>%-3HyTqq*ZZFwJH*FS2A-w-dE~SDE zZZ|wtoDGG)*DZk1Ixy~@pynPP!Tm_`^9yeA2p)#J8p&=ulC5O0dE!5^62Ik8GYnMMnl1B(uNbOogJ7>{^Z2?2D9 zfL7*};w#xYi1-MSY0J5Ph094A;OlbmQFXl1*Ru7$j4w!_xETx8*7ydzbR$nPzTnp~ zwFPdM%8Gf5C_thc=-B77bp?dVAqD#>^Tq3-4%SfX=*pMG3H+3hP&^%Qy;H`T=rK9r z56|$bwgfUyhucu%{AvH>RJxZ}2gpUjksf_qNR38q> zpNneUWS~~aAYIS5%a%hkhWL^y+O0$3xJ)fzM4H_RAI9r@^{&afy(Ej&Q_P_iR*xBx zWA21!lQt#Eg3_}1cG9ad&}k(r2DqS}!iY5}%M*Ups_wxB=e;_IBS)ah;YEBVjRIy( zC&&f(;<;pSjXe4aqksf*87Kuh-u6LgJE;6y8p-e?&M49Z{yL9irnrgJLk;r^CI2;p zhk!5IbIG9eh*%Z1)%au)kgY~6ve$b_r#q1a5o;-|`ja2!X_Oa(TkHag()Lpz_lqTlXO|m_@qX@R<=Am?VA01 zDK}F=6gl<8zaQkgW$T#xKlJ(g1&*o^dq-XGt|R>#if=sv6b`3ofwT2RrwqaTB^&c< zckQtHKNB&`LL+%@ z09`mqyb^6WMkdStA`*&t&$+*TLRn+HG@d^t>Y~&%Eq43+erl!7YC=GJ2q;02{ z>ZMCb7`aR=5#~sz_^s(D=jf~bRY|=9h3EdN@hh{OW z0b3RQg^!}Az*MhQI`PTHLp89#OXt**F_ zF9!7U#~SN;CFK1cEdO7#8{XbcPstyE(-qbdd&wm2r~!%C)h;{Obn(s?_86k&QeG&g zixOBXzApuNHr+>aNiv?FuR zc<8W}Xy|edu}-;nQM-(ewKJC|>HvAr^AHEvc)Jr`W`3{s+Q+0UFBY>ZXv9B51Alwy zEp9$44#kIP*rf#hd9qj)YfH*`mo`nKw>`N_&i;tZ{&)^Og~(_BP$n)h|G28U(8htly2%~q9kE}qU zE(S;hS`1-C>{iza4khma|pYdS(jz$A$_Kq^9u6^W86#pN9AlFEoW#<-9x7&oa;|b5Yy?OYnCpG z#I?koNIyW*aI_(wEb3Vqo!{*af$zGY&O?uvdjGDJ?vf|6<$xnDmIH0EC(u*#k=W%Q zNpW9dCguSU)PrOV9W3Vu^qx93goqxRbhwaz=LK0dVyEVvlzM&B5;^=4q?qmRWV;pZ zuXsi>SLGm=5p<&>q=<6EYa;B%HjBCFl#__@sNNHjdkecM@05Y8x2tB7qSl)Qtn{qG zZl?XI^pv-j)ct3PJ)PVtl9ePPVMKHJDCZCJ>*!a}yo&VsEHt&W|CfP<-o_GAE4NT< z5~lLp72-`c8zn(2E-)AHGY;+tWj{12Sygeykx5t!MQoB}I9*I%3Ei>G)ON{n^oOFq z7v>@*CiSHQ!^=Zbeg(~VrdjR=`t^+C?g9ZfG20;>1*VCJ_%sDjjpF*#SBPZXUTJyUP{Z z4JH<1>^_equ2;NruUDgrSFZ*wd2y3v@LDlS!t(+c5P1AwAv60i+RY5nM)xqpS>xlo z)Ld#AS%md~*GGp{cDiKatU*a1<3tZy|RaPvuQ?cGPdTVg&}qkY@M2m~5xj?hUneK~oNA1Z6sB z-sDD7mN5Q(g$N#wv0}0T6F(ZMf&%@Ecn&|SKeCX&{N2%3xmW+rP-^w`#BxkG>|%|X zPo|mxP0PB~I>XA~U!d<-VZXdrkJXY^9LH0?mC;@yH|AR`rX%?w#bPt<B5-sdHNsvA)ir;3z-Lq%I$u51o8D^@JR& z5w+|KVyYpjAN3X78*Sw~=qVcoFSbRFxUF7$x@Z}n@S7GHbX%$R^nPELDg`WJ;S;V2 zO;wyP9P#DitlZn`#e0TgqFIlscFtLNtqz-0Bm>guDGneioeBp>a$F7NE#Rg^1$-J3 zQbVLq&Y*tPUJjGn>uv@3G!R2#stV3;!WUNcL=3gNgTQCbk_&*leWVmjWB zd@I}QNFW8B)2etR-9AQoQpH6zBoCgD#VOhLd=+1Z5ksNOa=wLJJ|;mE-^2Xp_KX#@#!7Ap@9-J!L(itI5e@7=a?4XNZYVF zziOg8h2mhZf~gboK=^|e z`&_@MBkbOfA~U4lc#m$B<7~Wf(}WWqaluH(mD(U{(6|pBvIqGZIa@*2z(sW@8-#b- zTZmu!4SOzsRX|Y7kw5Fwhp3&C#0zPh@$c~ozR;Rl)cdl?-L`8bv`ug)U@JpCPrL@%6G(5u(EfN3Ki{uivpva2%7e$;cI0A4x;W zqPaF5P4t)|lAkK^sZ`w98u0T&VU*swHvErx6}1b=iYAQ;!CToVWOZXPfleWg{e*3! z!X0jf1OC#o_fW277m&8EVN@9K8Wn9!!0uAl$1kNPa>OJyCUDdp_0N*-n=E=AKndGG zBuLvLT|DI$i|j*0o1Yl-%*XJZm;^!vcI|5ruea&k$8$*Md`*Wt#HU16r()?t8k^be zT*v@gi46QF`1E}#-xBoV)>tT_y2VxXI#0z96GbH39;>qv`xFa2_d*y!EXW6OW<+CZ zSVeVi5dqDjO*HUGHjhf&&qpPU(E@h?ov|A&BgWL3zX-W3Ud zp*4cH>I#~HF9!$;()b*DG_J9R8Zbl3$htB)hEA2K;wtFFPx0)pL1;pwXT--3u|wi# zSE3M7?-=gzTo5@9@2xZZI(9)@4!65EB|d_zTStc|$SlMWg`v)WqB+ z%TCrk->Gzx+pJ!tp-#0nE?Qm82lSVNe!dOwKkRu2BXlp!_34rh2P-{=83hP49UT(+ zo9-@sRq&!fS z_uyQLoaKNt%WhQ~E^F9h`eZFU*7@uZ*as&(pHM#Ge@3TE4@iV+gU7TXco{@LI1 zBmNqDUta9_U<%)uti<_-oO#sf@>=6{+&&oFZj{tfU|JoRK2hCWrT@)Hjy;NHBE%8W z2s+elk<*bOETm`<*>kxs>zE1-}wXLv8_n& z_n;8Cjet!(ziv%D?lD88jXb`H=l@|ny$BH}(o1!T-G~ub8#G2odOT&K0HHaRAHoEQ zZ%JD*{hblT$8x*4YiII3V@-5ZuDOA3C;A0o@H7U<>GtQDux(=f{|xl z^qBR(ZWLEFks-~lCv5@4y=tYI!Mf>?ZxE}bjQ>~m1g$ZT{jG@xHHHL-6pz_AktT}S zsOnZ7mZ~)3k-*h$6OYjmsCJ}7Mszfw+>o(DM1gNvqw8cTIv>uaJE~zNR`AG~_ALH5 ztgGdQ+5d-OQKk?3xw&J|@R+4an`NdxKj4Nw{F5-VCfq`sbjaFsrdD2f9>-VgQJlQ=fYZl=xQF@;`!rlw-}^Do`iGrXOwA-LFFh5K|Qim zYa$}$v*AuXY}h&C2IeQF{3Bc$B`GjLg=}a)MfSQ1Z-jVwsp`cdxRS_G+xW+qwNSYG}ygjemZ?5zi@lmal$`ji5t7 z@tn#}La`M4koZ-hk;T*YiO;1-gEZ{lIqZ3xl7Pn?P1=mV*Gp4Hp;Auzv@&=OFQffa zi8zg+?3bT@&R(aqNm;_&o2U{%57Lahpzn;FoKIh`4!<@FoVMNa?0cJ5*pbmq(^2n} zA(ql1uq^0tvO^Zj1jN|~n}zDy`j9^C;kBfVCG*hJ!B9b7P-DGVX9Kp!EE69=3&03? zW}@*~FTte4xD1BQ7-q9>4@`(F(hA zx)?HS)jpIYvOm~J1kPeP;)6eNv*;8tJzOJgYrqZc^~&s&IImhM!7HRoUzzwL4bhOF zd*BgY$<_`T2YyT7`2*tfpF*JVDlFhBRM=S)lc5s|65kQqXo$r9d_HojN}v$GHmjEY zWKf%!DnO5u#UXJHihCvkajvnc%4R#~<$#X+hE(+8yD}^(JGnEgMGuBCI4?9((@Wau zqc10N`3V9CwOEd!i|zYq$}<-$c2KYmbQ)5Jzp9jtR9oHYi!QQP%aA4CPez7f8TM)c z>7$jgy&LpMs(o3GrGIz@R<;w3HIXsAQT9M5>WxEeH58q-4#3lJcsLc%emnW|m}S(k zeLNudYF7TZ#H3PzPS41op^ym9L4@yr3U164^u1n)oyE|aLuk467RE`FjP zf2TNiQ}6d8T}c+IStABzmDs*`1jX%skFzG$nS`P;7T3w0cZh%<)vRa+>eo9`SsX45 zn+0ClV+2MkSvOOycB@~-n-Hpsh;lsHZ$hT6Xw>j=d@r#*@raTI2>b!mYnxhChk>i1 zPwTvcu_Qd}5|?Fk0C}7)SpoTakVK$I%TO#RZKBFi+S8wfVRMJ4&S=puj;3uox`{P03ZT_iQ`$mr%fp!B5Av?I_W ze?ascN1mopsdg08Z#&p~6q|L&9uwvZx#$ndC(!mq9FSq!#V03-Rmm!r4KZ|0tdBTX zZp%`tf%vRm@LJH%$^i=gXoCkstDC96ZtsU+u=md1_(eRdY=>an)FHv%!1xK~x2*KO8~Z`Rz+MH`FA)F`}2X%!G5ty7b3h+tqkdKAkPT zH=;#9c=j6c>8;SQwr}SV=4(`9$%_Ew>5_M?v?lWHhEgqe7UEB!6}c;fnM+_jZe)=)vH_xKF}0i+ z*WaUi$x16%3{gzwt^pYXmr1JWGh)@hj4X)#yRsp}*_*XGI2yNw4bIkUSew`+8|mg! zyl#9D?h7OZ%Pdl_e?ct=nn;JBY@g;GI!h4|J_#CPirA#HLaglq>AW4OWkUqTq@I2` zrC#dwh^3@jA1s^-XOLRnVgJnYbjj&la#oE&J0#CNp~ljo&x7iH0Ajb`45_x%@Cp()q zJMB`ez;6*Z0uf7SmV}@y8(pD?-B9H_rN!LbdkY9Q|Cg?B4~VMT{=a5QX3D);qLNHz zNnX>@yhOe@m8O-CsjMhXPen>bI+-adaCWK1HN{COQBhAmsmLZXMMc;u2_eFWq@yAn z5O9D24)Z*7UVH!6!MfkRzu)iv0p~I2vCrOXue~0hwU(SmS5vUohMS9VrwBdhU?u|; zJt7^Bl)zR4uv;&vZvBm*T_k4_1SP<cum-3ZWCkqjET`nt zet3Rq7Y@N@2G?{5WL&y~ldgF!%4Y!eg6!dMcxzl`xH*C>!?pR$^g@+DGNsQbR6Lvj zaUss?CPwQ`n^;liM~*aSQO&Hy17V96umm;W4#56K;#x@m@d(lr1saPAy24O60TW)+ z0lFnRol)czpsFnT1Uw(?ce9ah^{6x-I_S)3`fs7m{w9gUw_sVSff=D6sEv$d&Ls$z(+y^0jPa8}f3wN75u7oV4@x9VS4T z0K;*eXZcHpiXY#~M#G}#K`>vQ;$>-X4fY5NVV01Nj8#IuvM$&o%NbtqIOg)gr+Oc|$G2rf6bweB($>{*XQ(}I;4AMJpGG0-peT^H8qsw*xQ=hve@Oi7DrlRhq zuc7r?Any{3+wGvDDzUHO=1hS&=@FoL>vFvm0_Lf~h&2!xofINY(D`V?GeQpB0*`X0 zjnngC3Ku9F7`X=4efY{lRF%y#nPcEfNij98{p(rOw32YSk7-mIs>tQyHKSN zEbXvU2UwcmQeB~&$x+`1QfPsoehLwIrDmlhZd@pUj^G&}ouEoaErn?By-4qdK{aSR z!qNkv)Mg*({7?r04F#ANdN9oewc5 zFB$novS~*q5T(t{o--Sc>CNO-x|a=?Erx$G0)QLIj{~X04Z8NRVW|<`ZCD)x#)7VmDBNS^!rw54hQ}k zAYRiH0hDqI%NReSYY%jH_GS9{K3)q@0J&R#K;Y&PV38?Qc;GZ{NU!H)UZS)1iAGm} z&aF3=>=OWKYJ&G`(NZ(OKdF+{YMX`~c1X8!|M=i)8w6?sp?zzc%D}t84sWgbA(K}E zP#8Grh6Z2@i8GWHSGn*kN`s;O*!Qttg$z`F`@vODLnsmE4$5MjOzaf=R{OFkM9@D& z-kA?3LVXL}dyiN2s~b76Pm8y05RUgMAT6Ms=IO8AfJ8&v%joK_bfrt58AY=yp#tV| zG6<|?`5K-I^aJLSTJ3l1;WTiG0FuL!rc|!*xM?DE$+8m#!0KsO7gh(AHLY!Lf^;+X zWyfCuUU>!$nWId~%Vnv#vv97i7!gyE+7`AG0L^gHNHtX_)P<`(z`9bP1n4ZiBk#JN z3b_&$`VA*p--IF+M*1nIQYu(M0DxHbj#ygCgC7JO80_~5x8HJ78+bMLl0}LeOzkiR z@8`q3h|oLuZ|UEmDv3LpPSc}5umeG;_Smt(9B|ld)}DPmq7)oiK#^}vaaPA;LLUg*I7ZnJ6N$MFLhq1@EiLZweJD0MiHSIV*%!Hi_5hRHy>Y@I-g zkdE7}S$J4Hc86@x6({gaMXeA*_L<}=OZi6eo5{mUO_H0IXc47FmkT_QGl4p9dzxp) zBM6!*2|HG#^{DowY@|~hD^lY~X7_5yDy`7mXU=>;2Er#EFoM-Lf?h=@fHz@lp$a04 z0Q6GTlFxw8z1NxH_S%aP(C>7ZB%eHfCpu%N)4;(AnbrVoWgJDfvKJ4bdOJ=0b0?z3I8$k- zu&~_TiFF%09y?9`bH@gW&kmtd;Gci)*t>2A_ALIn18sUb8I^ zw3n=Hu|upr0qB$wg3+~Qp~n}B1fl`#G(bOuMsr>Lq(eV}-)^-OxruzvQU?UYol-|a zZ2OCJO|2dYR0dDFz4JVM0p&BGOT)a(A~8xk2cof>D{5vZUCngbwOaK6ck`e3_`I40trl^fOy+%Vkftrg&a%@20xiqzhyKr zoB*>oxDNz$9=!2lV9vSf*kU@$#E&w%sG4QL3c4?mr5s6hcIPd9iW)N(qy)`2}n z07HdY$H^3eC~Ruhx_dE%_8%@lE)bN+BXWm7i>yeYwJ>FA*^LRy8d0a4F7rk#szU3D z;sg&}>HH{;X-xYBV41sz5QNakj)rER?^Hx-0E-waYnEr!; zT+tKNnA4`CG_U6wLLkj|mNy46qrsfO8uZPOUrLQ9z-yt3jmulqe1mKmmGg z*i-!B+FXfjU?~qUT*7pU)hfswXfjotq_ZK{!Ke$!7&{l7d7lK!NL6iDa{| z!p8Twm4hy_M0d%nhS5XipM<@}G-%G22 zLxI$L2B!vv4&BkkzxDgkMfx1lPtrj}@5ZS-$cU}x1I&9PApmtO@kWEykBVScU10nK zveen@mne+R8wk=zB;ZP3&NmrPVjo8O4hy*e;u8YhEL!g$8ljKa-(->#$uht53HnGS z;JMw#@(AhK&>o3ou?P%%pQHXD>NQR(ZbEV(oV<_@b*bERw-WK8%yN1q+tjs9lQ%3i zj!XVH&sT0eZQMZLBh$Msz%U<-RAVy>C~(>EP*PJtvP8BBjak5oAbm$Ix@M=bkPu9V z6S$g<9!scxq%x%20huHkoE);m5f1D)>Z0j>;|EA1r>H<3?17P$f*oY#XyeW=SPK4u zi^d5%>FMnH;VF58s=^9j+Jp9BaN*LIjF;Z+eR3YcFwrK_x19oTG7yy_6qSWBdY(Rm zC~(HPWay8WLcrhPCTIjm`OGDFv~lSY;|X@iya`-{I9Zzb%OeWtQG_{Yyh4U4VLS^? zSS8yD!Zq3X^Xv`54qA!d?3YHsJ1leec3rpt@ZrV@1ZhE_lWCnp1~3fl+k zCH!lo$7u$WW5#7(bxl+SkoH@J<;S(}jTtKKPp4joJ}HjA3L?!gG-ebA(b?xW*Lic{ zLd)DcvRDvNomy7c37XOM8m84@M0I1Th-B=l@UKDwwBR{<$0J07i34A$QsDYm=!w&J zcAZMzijPZFchVYYKY`oui*xrHCrm!}QrERJnOpz51^k^Ag6(1>^avs zm!%(Y3*Z{;!#TtgV5k!6s*Tf0WC7^dP@%3TdZV+3%@M%*bBzI0f1MNnD0ZWrZIEtC zWM5rAeF0~8rl4CVXblVafY0zip!tkQ>*_!WX)jL#f{x=yJ!D8mHEt!lL+7H)o9?+6F%W~NXlaqdEOCR%GG z3yUGcm5x}w54m5=7vPo2{(K>1*D!Ly(QnhG8Y_u>%yPstq-BnG!gTp4`kWgG{9I5#K= zO80qXLNGS8&!2zOE(bW5aj*e6H87IJKtX?3H*w9GwmQ*8#BDKCSa$_K8b%_AJ_RR8Rfwsdp)uAl>USRWU zyNv7*76@_#w=rT4T)QX%{l3hjfBS9~?e zxZ2t|w-l&Sv(2QUB;YpLiX&#%w3d>)qvaTsvXKSL852Kvi93sTDn$B-=`4PoxzIXD@M}8 z8I<%#Kgp8wl7*W_8k60+dWgAN&_q?oRfG<)2{gQCT;dI{)PQ=EiHr7jX&%4koqK{cSMC;N0$z=6$O70Irbu19z3M{EJzNi(EO)6!|C{b&1 zb_%8EG3^B?!A6ue>&t6dho@&Vzf9{UH{zD^ec9JQvW<(^J|cs83U!<8!CSgho!nV! zokhubWnA3)qY>Lg^-64YEeMt3__$bl_qw=qOTvAL`y?g8%jTHaHwO>Zf#h{hh%`|w~cLpbSE?SSQ8f*uVu{-{sVrk z^pgm!Prq#T#L=O04HF30kG|KFrrMj#^^SQd`}&YqNifU$Ktlp~?Smg*e_b9d4B}hU zTegRGPo~xMa>Hf17Ey@2($x5s?M=RFTAk*0zP!j=trepIadhwryM=x%*=^M&Hx^3a z%dC1OTCE9%zfRJM-l1d;Q2hx{KP;_G0jSz@Ks61E#A+ts_>gjLTQNR6_Kul#yhk)2 z&*D4dkT3lNLKf9tKh?D6>hQ{~=#uFsmu2lyBuL?7Z$C|%kFyaSV;jaOQjngX(d$)n zn^+(H(1N{v8l~w(OHP>8Kgk(Wg5)+Q~^pJ$ECqY}Iq3{`DJ4L(^WgUi4kbH*=7Pxdt{QI!DzVxc8 zaZWHL%R&x+I?g-fxaFPB9tTrL-4|Ti|BYbc5yn~gOR#D6ds8MK`DxYuHG8Ibtb1|f z&e()UhAOxXa-!Nj3Fx@{oS19r0|HqCb3-2i=?CwP^dyaTsZa}kH&m6o_LO>bN$HSF z^WS~pgY#l2JsXw2PwT(jWFehw@3{G$<0hte_WR`mxyVgVC5v2{9eJj^(QJ%2T{=T2 zYWs!wQ_0fSJzuAO^eev;>RX5BMWj6_Jv%u zQP-W91p2W(L(5+kmB#fCp(p65SCkDWn%LH-``K=?{U_3k9oXBB8ua{YVL=oz5HEg3 zovEo=zGl)tD(k~%m{BA}u105*svL5Nl4Uo%f>LB%(n3dkNfU})_~t5k0eW(Oz`1|H zH!Kv&DX0Jbdl5T*-*pomdI8r*3pXu|$(4&}6)!>v?DWEdl6GWSVm|WN&dwf)TsGBn z5j*^7TI9Zdg`L;K3#u1e3w8ZO0b?d&+!Aa109Z&G!n7-k7i!@*^T?e`Z2!LMcYAvY zzv6fHtm`XEs{PP${Y34*8zuZX&2TNAk&TyrQ_fef9e3y3%d+_b)FZLdCA{-Ms-;f! z{IsQwzp#%{y}cSClmhDbFn9b6Zg^K(pB0g*g|(QDmqKhO);E69xs4y^8M~7n%n6%P zd|;+&Q*(dD>Kl2m`-9qe;A`5@Z^qPF(@)Hnwt@}>mHU>DJMzyt5LgbNJ@2ipp^2YA ze@eIKtUkT;mK_#@zUbjOoPXL5%f>5r>}2PDH-ry;{H6T$2em@;(X6PZWs8OnDmDf1 zg%6L>=cNAEwee3!n#e6n6xm!8)s4SWvvP{yTiwzy%=dN5$6J?=VzP&9|2u0fgXtL; zQHr@jrN-3KOsBnmcQ&`+)FooBdn2@UTG%2;DYv<1>yPG@Gdmw4m*?Y};E?FMhItP; zdi}fxs z@hrM6<*R$%Ek5Ea8$eLW#b2?)grve6x#>n3Sdr?Nh4S#RA4|!w0t+{SG|ol$am+1& zaY89+6`;227&_{uYNkjp4DGvt-tgL z!W%uPIuJl`TT>(K__d;&sP5l6~#HKiBw9@!mXT+l^tIMB5X4 zejX?7kw?-6M8XL_#Jw|-#um4m-qBDdb6p#;;~K4buSICI70=K&Jw5%xE1~tjOq)?3 zN3VUlaj8CM;zQkCY_Qlpb&!&=W&PJjPvOdjyP4iYu66g>8!VFC?(J1HI$uz>A7F^N z2ye-s{IA8wm-wem-V_{wDxbjFy7Tl>ew*Xjp^J&0Sv!|s!Nq!;k^AFal`G@=T2@_| zG4+mZNS;O)Vt}P2X|?EMt$G79Xwb^$YI7_{9HY;@dtc!bh1$MyJZAA@E5CSR>sEAU zo;I1jm4hxsZ@L4m^Z)kY!$l9qouVr5nU*|6<$wF&ylczzAt*ZI6AcnAKO^?-CrhHb zuK_sg08KUPmpj-qC9ao+IMRUr^{r&~=JzG`bFi>0Cte>R$2SjO?PYFSX^P0ojZZ9A z#&;I^PU0;?=s$@RpE6WowttSVn3h$8j>7cB(ZHdfeLU$bj24?cuGQJ=$@9paY8^OpohzH23u8=VtExnz??qL_A$@_QlE7awd8>^s7!R zJ#c<9nzlQM_G^)t#?2%F-4_>;PfcV@2U|ZXD{{=r7j{pXI7-UjY?h}?ZKs4;dAwAl zVU8a(f~&jU0zU10-1{7t%k<|{-L~aepa~g0eK;e{o1z`A8zaB@@b9+2H~Gx;^%ong z^;#`k@q1{Cs{B^u+xhkvHCYzTO2dlZNEMGcU%t7?27s}>>;^rLg{pt~p?>RMdnJ|} z?vR-6h#k9odhr`Se}z7cy@UecA5mrg;nas3^bsR37y?>ks0ORHn8nYr%Q<=!WuWbh zEUmon_0Nn0dg+*l#=P;KtRqidoy4lnPz-r8)$8`*HDBK^6eqn5EZB!gB(8#4W2hHASm@(_Sj=(Ohv}CWO0Gz-H-Qf zSm#51ir*~M*Pb}=YZ{4$mfSOW^D|V4TinE+nf>HzKleLZjc%A+*MGy_6K{obQiPkC z>;|kKebp?FJdk|&=`9<4O*hRq|FJ&H&Dl!NEiMkx3Z!4SYLZIoliz3vNx*|nOpBGL z)P61WIBP%i%Ah%WLL=z$&bi&Eadhq}!6Vz-)9x({*iuH)`a8G$EYTd68>;TkE?mP5_4k;mqa{Q`9_ynlKl9X04F za{u%9xgQ(&8>?EkSWykz5KCgX$>$r%=eXDk^5s-K^%+VJp$uV7T(ufQ_OlJM6$t)! zk4XzcIgaX!6on}aM>Cr#R_#ln#=#v5o#v;)rvx-5Y=L`QXgJ&sg;*vv=ilBOX7 zE>WoTLg5_~<(R@}!Hz?vW*Rc;i)hZ3Qz-4F(0D)H$2LsB#Ycce@8viVHhK(#7|Jx1 z0l9j0E+Ya@g{1b4_DV7c{4A?x>hoqJr=Ns#8T?*K`}--_`m}Coq`RVp`DKST2n&!E z5oPqyX`D{;U2de3BwZg1NeTS}^uv;$JtHLUgLqW(76t zbI=U;JBV?#*8$r6UpEWk=%9oAWwXaY`oqcp*}Miv2OQ)t8yZ8>;h8xCU7_gWHzMt; zklUL!@f!yR#gy#&$UVWGjr_wa{NX7-u9QuY%LNBc8inS`;s|I>?)`e;ChdL2}+wfOOM+( zDoS=sHG2#qaSrx)dQ>y})F>|Fhy#j0Nj9a8S7QVX3U7)sXv9`7gSJZAQ0_=9F18G& zkKk)!+3R}Y4QJP8<7Kg|6S2iEJBg`HRRJ4LPqGc5$2(CrhCnn>;^7m8gL&Tzt-`_^ zWbxi29?-Yd8!zLTU(&}EJ!g|goR*UGzOO6@mq_waMlOHvG0plk1t(k3d=uGaf!Rj& zeX!Y1^&_%?;V2h2aFpL7UN@!q4CqP*SB}R6f+SHRCjB}M*q6F8aRx(^QM<67 z!6YUT5IBW2AHre*%GEC1tbouevL3es^u%S;`k}0}Ut|a|ngD*jP&9V|(`8`kdbX1` z3-@6<4=)6R)*I+%4Zy*)+-89f#Q=anGO7K2NlcS~ zOb1U7K6n)(Y#*S{H|c4gA9Gv`4!j;Gc~xizR4h%VbCS7TX1bqIAb$#pLznmuP3?52 ziXq2((4wTbNEYr0IHx3e`BPMYccf?08#)D1bu!tH8X(t7k`{r>1VCj5am6{& z$U8iZJWt&K1GV@GxyQ=SFKe>VwU8jwaFl!mTRf z{9NP)Z^r710*1zj^jHcX=Q^wvYNcWsuNA%!=AWR%3`sJ&F%}UubUalk>4Mg57PuIo?o59FyY$B02@AgK5 zjR|>SW0NyWG?jq|Bxvevum(^--UhKZx`69Uz)u|SDB;>^odrU?C8Hmq)Ut!_@2yCf zW^VP1_E6>(sC*fUCimzn(w~PE`B0<06v5FnvK~DSRav!C$j7c$!^t5!ApF*&9(pz$ zOw!d#-k&@%^z6jm*X(P@DYcD202%3aAV@d{v}Ntg(W=8}*fLmSeaXsf0>SC^_Hj3n zjeG@uTWudI_vfk0qt;Y$1vaFzu6%SJh`O4NuVM^@R!A~EQaDE&j$4YD9X~0DqR4=y z*GsLN_3`oOd`&v8u-^`XVqr1|O+RVvFzZ95x;RmTfNm6sRU?6Vnw<)d99kaDLc6G9 zk%yW{HLjq69Ie;y-b|rwgFv8I1%TgDLI9I7X)6pg0PG2^7JZqCl;8@{lQSQP_Wm@r z4CT|1bCr@q7DK7uKn_Xzoj|mt2%S=C|Li4NhASlUJ64iYp=-N=TOgQ3rsDqJdf0w5 zx%_Epki*Ltdykfl&jDWW3lo5B$npAkRL+l2^XGEAXnXSTDE-{S&izfVr)ZE6UI^xp zGFT6FC zRJ3$rG@7c@d^k}NG2FMg^qSoV4h3UMIO0MLrb&$s`i{IcvDJP>9#1mKSJT2#Icl;f zy-kBNXN4x1^sDx=kDw@Q5X18J9!hTJsmDoot$Y(#+k4E{Yq*gcrDXN!=-Pjv$8TDu zYNc`LX9wTryFDFB6G-E5yj5=Rkp^MLgCP9Q8VE^EZyX0o-i@w@Jiwq%L9F3Lj2Q~xvK7io$yq?E zIC}{^$(N}zo)9o;llDA1FG9+!9q0;wELAghdQml2Ta=_oqFnVH)9-6CK+#R4itI08 zo^Gf9k{%w7^$*zLvvZmyv!@!%l_SNeNzK9$AYC&#Py!vdXu0$@MCA5EgNPp6EZ|Lv zrYCO7i5Cm(aTA8_rfG5A8-0$q%v<^T>M{pebmcS}Q@szrj;OKVKp8%DIdw4Y4*dg2 znV5@ZlM%Ib2!U4_Z1MwbAH&%cf6DVi^OeMuI9EwIG!K_p z&)w_c$MmJU>WcYKs%e(s>+6B6)02>F??D^0j=ZZIEL2K56E8Er2voCxCTpVOk;l}j z4yNPr6LE3|B!tnBQiWPP)^nK7(nPVCZVCxH8wuI^j#f4pB4PWu=bP=Gco)54m;2#S zQx#P^iM)Kk5htf{HQ4WX$kgWikzPpgi#=%XBroK`noBMSt+6Re5~CFXQ-=}@rG8nI z)9VG~b%bCYSkl%lPCrV^7@sxGyR*K^g>F$f(l`bA39PB!Th6Ukl)<>g6t4;iC;o}l zNb*KwH*y{HWrDTsA>Hzj-77AfH|Hb#h&1;j+sK5=kH0n&ReSS{yE zmirMpfL!08F6-6D`@%1|-`Tg;(|a)3JC+px4B?{kJkrMa8zD{TnP+<-?}lx|oSKR> z_gARmvK7JaBHf>35y5P7)3TcQ9SIyM`zjYzGqQOltg<5R;5F-u*+Qd*KxE3Qwr8~k z#^SMyKybez2@}$aI%(4Tvf^hTjJBRvvv%H;@MaL5EY!vJ<0`0@RH%DRd#zYX(fZ}! zaq@N(J@}_1o8jjVx0i9dA`q!b@9a($2OS%n%#ACOa|c$K>CyU0 zyY(GlMRX&`<+m$VATtYRo@}m0=i*Xx1aEb|Ull_ji_KD^bA(afmgf~3OHfCiquD2@ z)rtE*8wSg3z||lynN*(+f~4%!F?WP%s|GJ-1N)b3!VVt~?<{5J;?oA+dFoUor0a z{cXPpYqTTO+cT%xE;LrwuhV@?IGp!`~9z2vpyzE0{2{L84Rje~p z>6RxJ-UG!B!pS=?wk%U5$fZqmDhVB|y8J;{2Gwyi%5e)7`&416%2rTf+6d`9+;?Px zEOIUyB>fF}TrL~&k$-}I@;#cbpFAxmE6e}!tRZWdcI-MeU};$zk;YI!{}s^cO*nPd zhr83{&xN$24|mg(bzkP(<6_j9f5eEsM@bWSS3}b|NS44a^?Qszw|0HocUX0vok(il zT|iE-NA_3h>-R4sYw)|CdtduV%A;v$-o^Ke=~g`I(JPlQlFJ~Ra~Js}9qW!}k=MFK z!&er2M2O{pV&HAg(~r@&@hAe|sXm=r*GXp67+S^6Yu*Zw#2&*szvQ*+p>+>IW(G&7 zg?2XCWj7h_7uleDO(y-6ySxs2Okm{W0F$>+EhZ8ySUeSgNm zHsM+pk#wyBBzu4pHc?5`=6dF0U=&ORJuk?~dy_>7A^cS&voK+TVfxpsu}YwS(Miqy zo(l1R&~j^e-z3vxKIV%#2R@NdhlzIYA7SeL!O%Ae^t(X?#IiLyy?&aKQ+vhI4SZBF5y zt*qV{xkLu=cw>0xsQq$FT^AVh0JOzXma`FYuqypvhrQ@3Gj)_mH*MKP_ z_qm5)ZCb&J`7~&ko7jLq9}SqSHgIXb{SITvU6WyvU7O+)iL-5_<^Y#FXmiPU?Dcrz zvjE#wk%V$NNl+>9m@`#Wk4^b4 z=m#>0)Gs$K|9jtLBm#$~pzhCBqz)Dg4k32x172NF!GA@@lSb=43;97%jZT8wo05Aj zp>3iLrJT|uFeJTt7598lbK)ymC;-tGHW0r^Yo!SG*c~A#=oHh<=hTiu=Bb{CDkx~D z)v%<4sT}_6W3^IKFuq`K@ODh`miIdAolZj?<-7ji5 zVY;3V!g}=Ep}Bg`w#lUDC%$~$_(!g{X93JiX!y5RNH8b;Ds=er&}jK25-pQRpU2PN z9Y^|bMS=zzZ3*tCKD=d*zMMul7alwVpB!bwfM&5@ydC>I>@tGpV8?a7l2#zJ|h@SN5{99Yc>OtFH3j`%I%048B zdT^b~dOI4;LHYCz!=2i+Cgw&iC@Q00y2|6`axTk`S%@*%9R>j(G7|4{fbT=qU zE~$>!ctLG=ay(?_L7dp;JVho!!XwDUST_)C0~OX~VxF8vn^_Tu=5bCzPd@NQs5@7l z?iZOr(vW4-|1oC45>YSgoWoaQCg6OzujY)SN%g>VAqVY(R`MGTvPukuBLKYnC~AP% zXmTBm(@8bG9w9v90Jf`wZ)fePi=vW5E!q_nm~c}7cCE*Lx4`QJCshTQyig66RdVj# zJtSL@coh+T_^IVBo%nwZ@$%Op&7R~gFq7tj+V%l8tBSLd#J{Y2~ z7)MYL*gqFvtZiwuK6MI$;yy=y=XH8mXtSxI@ReFZXJHVvMQBS=J4nqXqiq)1m!p&h zgr`PKXd5z7Kg^_a4sI8gtWWK3HR+MJ(BB^aLLeh|Ln5f7N+v3Y%El>n;zW zd_CcYS8PDgxL#nWz}Ham*Z>HtI3R?gUyKTs3ZW0ZIi7!$e|6|MVJ8~bprH@VG)(d) zfO}7g&>}L~=x)ET(XvO_`jBT`!*_Rv=&W9ywC3LV&(G-W00&U)yqBVgQ~M5kKK>%L zt<>r%(FgcXgGxAq6az`c6|LI&iO&@M?_p8V1H`I3$5i<4Tw1=2Xfw~chu$DklLN6N zwHP}>(iUNHzdCvB`rj%=$nsi_E!lsg%tk>kI^JX|xk#QYmMsZ8=`ZUJLxA&H)(9O# zQCR(|nl6~Q6>lo><~?$%@0OnyXfdb&ufGy^yqqa+r*2lP6#Q^4ee(`cVW(GAkQU*l z(17Sz66B}XCBSTgs!mB-5O~D&q!v6B%+vayuO8C?7tA&!??DJs*e4%AD2Ht*LFGc7 z6PQ7U0L4uJ5P8kM^aWahGQ^9x$?kbX&sSno0(@47b&P`Pdo0x;P|P?F1+DanDP3IL%vwMB|FxGBtdULsfi zh^~g|J4Pr{xEkYT)mZS+|IGHg3M=ZcpL91j^DQUXcUE(DV9sK%o6&SUhV zz1IiyFx&6GP!2cq#X9iJJ^d-&I7ExT6B3HWkbF>1Wyp>OkkZi6PEab7y4`|dfPem^ zZVS)zbcrVa8wvFScrA6|CW3;75(AsDM8dF{KqPb%K{P{3XVN|iqJjBP!oO_z2}gsy z+!spnO(fTwJ+=l1eVAw#*gQrwhkA6(N!;u#Ziet-wpbtEoaA?Z zW8Vb_?R0#zdrY1-2@q`HhykFQ0FLr`+7+S1s!!IgFmN;*_Z_XdxWR9Q%=-A#ouF)g zQjY`fzZD_T+3j;$Y43gyJ;H_!Al7?i`qppY9oQhiG9G~;TuQxda!dh?>k>R_waF7b zK?6(mN1g6Fcp;NP=XsRPpi=%+y@j)qMw1fgEMH$!R z(%tPA^}F>^cv3l-G4jDXP-^#hos8bY*a5*%NQgksE;@d7bCyhWYvwG zpqmZ^l`!CT#0}Z5_qnK={E^>C3_#2KdR(GEfv+)M=r7q_iE*_p%|>dJ!$7V61eib- zHhr8Q0s-`We({V=Px6ZmCe;B=_LXqsbkz@@s$E9AAr1QyzvwefH~{?SDrAMVa&2pf zUVz%R5IqgG*}&=giAnXrq_9CMPEjiXmvWwV81gF2)34$w^cWLlFTtd4%c?S1Ih2~S zdXu!LnP9ac7uyztlJ>i8(q2T5o74iBVJ#)x7eucD$sz~QA51FDDTjJEFsd?GGWti< zVfAKg$Wi9z>(pbV3JXt%O^{ zQ30L`byIAnl!7V(~ zqRoBu0ezf4vdLxg&s}4t>nu?9WR*5|IETO1cERI*BH9Khw6b4-+=557o#e_IiQSLr z0etiqby~oMzBisTm4h$s{jT+7XRCv0PW~#0z9o7V3_d((nxdoc5xtHxH~Eq)JuMD)?5j#M zG;w>2gMl$Qcd%yK-L$01g??ZF5;U{E#W4es$%;?XYMNZL71_BZJ{SgE_)F+Szl%L6 z(8-E~-mO(%kE0I1%k<&2VkxY}fqv6;Ah~d~Hw5okwm)Qa!}jfb_4xVFV)$@)7ks$$ zfe{brtA2pqF+LQ-$s*{DE6^MB(pVJbHeP<_mOA)=?e^=S{fhmXE&qAjCQSs9tLW9=k|s0%Z`-0|MRfhGXloJ7I4{DSp+9v(sdu40is}6SZ?X2 zE8ukpQtU`d(dGQw_?3UTfPrptbeH9@W`{x3Fu_chpx=oW6LsDJ{R>SAzu46ZqjzpM z*91M#u=#AILFzEF=o4}QItp6&$5epl3`)P-@_*g@$Arj_y8@7CV>HSg{*>E&wOx<$ zN+x*tUp^7%zzhERDbUicuZVK1M)xd)hQYfJ6D=Jc_rdi^l`H;tSM1ddGLX}E-9`0t zio^gn-fekRgzpS}2joWo?6Q9{RkIh-{8r)i%f93wLRk3oxkfV+zpxvhx&8J)Kr7zX zWs}>%`j-9Akp8b%%ZqRSfSaW)2D8#^ewW?zW{I6a78r)qJv_{d*~S2OaWkVKg?~qG z<_bm`5njnIKT{9>)7xz1|LRuu{~eS+`Zej)@6fN}cMSa-&`G6(3C50tsEu9xeMGi# zFW-`r)gQf8$xWg`X@hW{H>-;RO+mF;#kOPWa9Q@}_?PK`nB1++xc#J`#qV|je*iX? zuXEm2O4wbyOZ+~QK99PDSYT0ehX{0m;%j-P{`c`6M>oyw`XuM^`&ND@%d_9)gXm4ZKxN*;|ur!;LXP#91VOo%QDvs_%-{AWLfU*ZuE zW%`VK=A~+w+5ekV$;0ipXU+eR>Yu%$l`4h6_JE~*!_Ws|s=`!;o2S844bAqa84UV6 zB@dqLccJ~v@Qg>nSMtZ$Fqe2-%>UT#@9NdR&^G$~nDb9IZ-NGQvH9%=oBv<4lpJCB2NQ3z})+jUR=#U=hE-S^!mSh#&KEt&rpYL=h1FsE>^IQeWc{; z3%*Yzcc)oU1-V<+!Y|=JC*^OyQ1>e)68Jtmkf_9dSNQ)tSfBZY3lb18ddjO-y~)B2oB+k_Vj zBd?E^LSXHahh${Y^i; zH1ogpZTf%jTbnVw|Np)<89e0w?c41Rh_-&yppMM`E&qkvLFJ48-azYrZ=lfn|7~E4WzLK(e;NB02Zr8*)vSwFkzM=`@%}ksy2u)E z(NDv|@c(BibYJ0Z#uT>A0r;^W8OWWp=fgkmd)1h2K%CFgYC{U#gvT6(2Nm15@ZWWb zIsc)5(fenI!a@P04;KDIuxS4=?FPL&9kN;Sd z{`@|AsQo|l_>TuZ3r!gg>=bmqul~{^gN1BgfwyX1Gykh*$(Zhaj_x88uhV4`-J;_a zlo6;^LNcL;sav2KBCU{+Qw@iL8B{7@@>v0&q**rrJV|pT>VnktIatoYMLE@cq5QFT zk*B4#ifOJw8idtXQD2on&gfyZZY`=mgJ>OE)rlsCj)rrtwfSL|zMQwtF+Nn*mmFJ* zNF5#@V)|}L$5lnvNvT?Apoq5BTRqM7`vmDFy*YwWhMM$iHuC*6RJ0F;DsiBhN%1G7 zvr)6c?GWWvggZOgCpA-FB-c|els%CQHqj^>5=u}fWDoW*dWcEY7>2~ese|LDGips- zHEAP>*p-;W>z5qlR|omULA(yK+Y#Kvedte*(m$Jqswca!HW^otzis6wqR$m2(xf*BoyH8}@&`YT(+ zRZ5$GLzN)?GEpy@MQ>Cg*)NQP%yC8~!rVk$b)+CM%rVTd)xnh>!NF@-YGYOf*-0uu z3|8i8WuL2F^5SRUXzZvqUj7t7Wy|0$Z3O3k9j(e(e@*Gvi6re`RPt zszL#EJC`2M7bx204e=Y|(eJrfzl^-C74CRDqRu8a(-`1`iW%vUpuxn_K~^q1wk6vl z%n(kc`KDnRQZW6<>N2YzVs#&@C$jo$%n6!_ot9agH<9yN^iu4OrssIA22W5r5(Ql? zRE0DtRx5BI5&I>Q!ilI;A~p_`C+P%LCjul1oFQf{PEfwf<(1i})uen!y*VU{S1@|t zm0~ZH!qP;uR?Fy+MluD2e6W%g;wmvepe~_>HcsG`GzSt)S|PYY)ErWXJffOM3y~!COdSK}xT>~SgVWwc3xdh-(r1I&v&h9#X3Vu6 zWPTODjZ0Sa7Wv~zdRY#w^Rv51UKKm3V657Gp|}uLw3&D5P$exXSe9t_EhmYM^eN(S z(PboQCtdBD@bEq!#IGy%rBmDoEnEgTU|$C%yrWCSJ|cLtV8!mRhN1!WQfxn5NSP`T zT^2p4)rFrZ@VGBV;!!#nHwN|6B|!V*dbf64T9Cd8 z>P$U@4)~prEXoGg_dAe-oNPmak_?eFH7LUhH+MP*&_PfMEgu&*JFm(y$56&R#XUq{ z@f_Zz4@v>gou1T22QkkM0QI~W%xgI)qXbWd(Eec34|i3wV6%w2Zx-1N!cr*df!QJd zx@Qi~{>a5|o=#-DCj!0>BEBPL-`il`mq$NZ?E_>J`2->Z)EKbT2%SkYPzH86w}HJ< zv~Q+^=xO^>SZOBXsqi0c#?@?tu>U1meP;mwAKu=?AFB6_A8yeiN!mn$=36A1W;PvtNnmpzZ_ZX(SvdRS-l01{AQZ0R|XW45J2k&|Oe~ zA?`60fK@hxf^fynsCtdcwhkjrSt$k42;BM;%KCVaT9D+7HBEB z7@!a&2H@$gv|tia0|0(cP=A8YMLGo>>@_>#;U30BINHwwjcX?qV1oS35ahxKv!Q@a zv7jInkZ%luhgcz;G6NfP2Awc`*Icv}l%No23E6^y*uM&us>fL(HJY}NhlK zfHs-(r^~#FvuGplQ5>zEweJmrbhBd{QM8rxZ9qVp6}ytiC-S@67l_#|Vs*#K&kX0*QJs;(%)t^S9W;0{$G#da(S?=LvSV zR;gvIw4 zD7I!!E%gLJ%i^)>VbpOFVe;)1g!B^8+2NkcA9l49&Wd{>20*Xn1WF&lya9LUu80!z z#cZmt;!^Q?f?GHKwE&V7PLf5sFu#Kup9IaaMTPwcF$d=y64-P<;Zt>}a+ z`t{x_6TdDwZu~ zqntT(gfJH46tVX_KM@Q4z8F`WnP3j%7sPHDhA>{38lS})okEThojr&dpA`upRh|%i zjmR-(kFtmd{9ZHfxeJM2OSGM8BJ5QaLqH>x=ow=RY+~y4i+aOZ)A^`2CXysn8@OiT z8Qa~F{o|r8wc>6v?l+4-VJPIli;~dei?zkux=0Nwdx>In>^LgD#a@(quVAfM>-ma| zhlD;_44wgyuY~mw@A!i#ihtk7{ltZ!SH;9W#0b?P=}51sqft_6q>z}i^O39bou4l4)l-596}t7nlBu+ z1WyQ3HF!0Nb;a!Mgb$LsH0ztd2S9~-#6!2S2VVyjnJj|GYQ4FRMiyQ6#Va}$Ir$I# zDhANr++vlYPQC|X+g(R?0}7#llnU!Wal0GmQLTuTphE<^=W-bN%wtu=a{{A(sUa!| zX31e$16B0f(!z})IlCS?BWR`k%>dG z4Y83J4(ZD+*diB@X*4!x`K9kHd>LA`6_0W~h?_HZ*~y>6+OcMjUFuws3;yi+A2M5k ziaGtmVe}zHv|?8{iffBIrWdoNCB?OynBI1CxmY zUjTpLE+j$|x(`kQ8DVZ=jWUz#5P+%7n2(s0Vdk4ULUe7!*r?_qVNN+uWCBY5h)(`YtczzwL{535 z=>5AIE$BsPF0Z|T?EzFcsGx`yPh%w`A8$|UHlSpn<+a=jRh%a+2%TvaJg?Nfp3nSG z6s9e3#T4YdLeW)T9*T{qIcE!E!Wkd?#fD>15~I};tA0aLaMx-9i=NU+GvNrw8rV{Q zN5P*Sw&?+35?G_^88_*AR$!#)XViz)&9o;?%M%*0iU2PmR4Q)*^#Jw#Lp}LP6x@+`2eok?&Je&* z(+OKV8YPbtni@|Zz<|?&A>h#q8k+L2)9?b+*%T%0abBc2T8>*$2SX3%-vT^(#wA9; zA`dcsjp^cIAeP{by%FsPOT-blEM{g5hLfKXkfgYVa+EF(<&xCK#nI9j z45E)$C)Q-Zb3u4=5(bW#D6vn>ro(}6FYK)Y^J)#Hhs4)JBr$wo5=8(pyr4k^ktIaX z7i6a&M-DCyF$53cqC6q8go}IqIFWD>AezVFBG6YDZ)6H;z=TN?A|@7%?C|42QcwhA z2+A5&kj;YenW@$WPm)H4Kn1R7{QDA7&Jd(Fu!*gND1?Ycbo@9W|IXor86J%&gFiM9 zMqm|O8dZor5V-~}s{3*N&*0RVuN{ZqCDuYqz~4YnA~|Sj4gtRD(a0`82v>j-+e;SC z{4V3a;bfR+{QHK&e{b|N1eWl|d_qJ$_0RZB8#7B7T7-FJ!VPso#5P}i$j}w%kzelx z{zelt2$6gLGQka!MIo3%8`uV2Okq15<-jF=qzto@sLOGlwlD|3E);9`B1jKhOE#k| zhkYp2q%}e!Bhfgd zL&t$hs9;RhnOFVSQan7h2@@4khAFUoAXEw^xsJFC1+;1o~oiiVWi_I6L%kCQNiA$hvoBJiPacH&jD zdIDGtLQkB700ga`fyFeU58(NpLK6bm=4o4C)WkVJ>BvLOqT>XviB9`nnPfJgKLK_&SBOysIf^hy z8U%=7ZGc}wIj+bt0?&u8z!-rPw<|}$8=@F#;BDYh%9t9Cg*ljJOv3mNi*;PM>_Mgg zY?-5!0jVqd`jHv8$)WIkcv9f{0POls1H1$?1>6H0_6^bdnuHh||LZ+877{j=v%Lx>h*-z@xq##-xkiZ^3 ziwxOR^|=*v17evp5*G-*=kT(KX$7lh6)}@T&yrg~F(6>Qlv23E=Yd>6S0Zs8G)hlk z%x9q-ra%dvD47}0T15l8xar?77E43z1WHW(S2KZ{5lRGeNi~qk?IE->Lrri61aSGs zVbE3ot1+Pl_f!ax2ca`Vka)0$S&YdUf5VX@pl``UKnxav6b3p|uqF zgh^ms_`~87ZUy?2z*XU*5nWvM-+Qi51G=C7Uu_N4;1`DftJy#eej(<+nl9Af7uumQ z_=PEG>^Kp26*|2c!|5P)0F|Ra4F-aY=^(0p9P)n`QL)YpyAB>PXtx{ z8w_}s|B}OH`j2!ip>=?P0(%1m zU}%=Z^DiN)3Dn|nEE{U!ZDKEU422J$fx3+k3Lt&Q< zvLGdaHW0WvC{hqQ=8bN1`b|##_jrfIB0#c0WI%zi0`wkmEa+dR=-N;_3XBk>VqwMW z3Csp5(K!^hhlC@}Lj~YbF6;$sz~xgzOp)y%kBG;U=f%VAWEOE;80if8ac%-(O+hX@ z!|QS2{4WL%t|>iGmh6L>#J$0>lTtz8X%sei*CHUF!ZB}2c(-#!#Edry+G#87g-Q5K1SJmZA&m?JmO{heGw6+|BLqNYH_pi4?5SY_=T>;|0c=YVnXHrG!Ey^&24upkEcJUIM}w3RiOF3=ni4O2fdG54$V?xO9l^82|~TVL=7VNUb$+5rmb$5N>gZMHfrs zt#IBa?;T{OeECaF7#z_CjhP+@QX3R;X39T&*3@u;Fh>v5#Gg?HU=`(JIwVL(4hhz^naM5bwjL3v=i8kBHAr#klzE?I&-*V zN&vvS69^caH{1c}BFLJtTC@@%Km}@Hw#i4-B#(Sx?lTH1w&r_<(^f_F;uBW{h?+M6UZczB&NQG@L@f*uAG= zGoY+~*kuTkPa$}T2&l9O&6YfF#aSe2&AluHcZh;V664S+{*>L`h zYm0%UD`btUWBJ6I&NpB*l~(+PEO5824`>5?6!NDVa#ydOHKdjWiv!rBS?fe6+(FeL4?AMjUqVXY$HRctFUAOl?b zdVfGfDqQfutG5K|H8}!a{a2r&?s{h@V&Jo+tf{913vG-^xaYzleIRu!FKp<~z)w@0x zXvG=uJZu|ncpk(eU3eY|CLUYkqo6eB#>9!+5D_C(?2N+DOVhH^Fg<|@Et>+Ibqy`M zkpeEXnly+{%lvoeLBQJ@&^7QpUQ>x@a2yD0IvWPiyPZN^TJQ^Nd>tfc_`O@8Npq__ zEmr@u-97RT&I;i78(ZsFBEg_oE`bSzE`0>G`LwIp>(d7=Q}!Pef(agnaq4ICEum`= zCx^YQjmV+ZD2go+`Dw^x|^43B2@ zQ1JtJ1*?Y)o;ls@eZm9CXixnFhtJ`Y_3)-LGTzGrOVWP9Bwbu(hF7VeoC?NGj+7~l z8O|E+75BQB;xmS?UI49JGb1C@a%7PT9i!C2CPy0U$hi3LB)M-A>6)ZW3n&n}aj2cB z$|ZQf<(h&K?<|>w!lp&dVk^y1*RMs#wG0yflPC5&B?OC=&s=5fx=pIljXJ zXb@7uG?MUU5?%y3u1I(Z3GX1`Wh6X=6efpaL8Ef?B7PqUXUJ7VD*6cqtLS`=3{7wx z>~j?SD~TwLM0i!m-#(PfVR;MaptYy{@xUIxr?&_mA18+rM+M7~UuI%M@&ptA$(mYD zjGKvF$e@DyNuBuXf#hI+@$_L!6dPtufkTB*I7R0Q$-Wq+2)AG$h1zIE429n>h@o)% zWxOXnP(f~|SdNOPYNNH5Xo)4-V~KX9r&2H)1?x&Dl>qXW}tyfvEw?1p_Y<=DOgY_qCmbILXqK%4;j?G~kBO4bRs*Q(Dh)twT zrp*_dZ#IoKJvLJ|!t-vn_iVFl2W$nlPwaM6bSV!gFDY@9R?4mm`z{>5;C|u$h3pIY z7n&~2y}0tC&c(wQjV{_>q+ay97=Q8oMf76D#m0*r7q{9|?62B;+mG2}_6r{gX00mV~*Dy?>jzqEO%^n>~ekCtG#$0G1Fv`6rwE_PeHCH zK>tr6!HRDP0dMhHxgb z7^Joepaql1nfxPAK<&s7f$$j<4?(7vz=)6}0t8xu4B7(?Bp3y%1CE_2&VsXUPv()V%x6q%t68V^&yH-FcGf_wee#EP?dZX!DWS$Aq{loDK75e z4$xndi7l8Q6;M@xY?2pF*1@f3xOnpRe&imG0Z0vnR{&ba0PN*UT4!#k% zzz1{Z&m2VrXEB**r5G0x15*R&TQcEO83TfhKB?g2p~*mlF=n~+&Ju01u0SRyz;naIEC z1VA+bcZ_@>6ULZ;GF(TTMerG54ldm{zyLTH#yZ(QJRO3@crW8q8&4XV{s29_sjs4z~}bZ9QIL! zhOfbf#25(Wq8aq9>6FU{GKuSwK!$+<{Fc5jyPocfc_ot>Qv);D@(l1JLL3Bwe83*s zBD4(h3}O`5UZq3yfhbV%?=oP+IR0XBQGPHEFi?^Y-xZXJ;vb;;6NaqEjnQV5J4lDM zS`6w>Z+@K;G1ZO2P6$BWqvLRjGKC&w(Lfl&1IAce9R7^fK@qXA5oRg@GW#@n+z04J zGdk@fhJ;WE_lAgxk4@MLy$B|596~twPY&a4MB@bLXOw0D1U!oOC(M<7U}oitD~PFK zaiR**$Z&)G8W1m*;S$6sQ}711$# zfHUG*;%(oy9l$6MG7kdCz%|&a1b5h1Fha(2ibNwacn*!_LJTkjLGfbfFKLDwwMGXk zphH-C9VqOF>qKH1fe8u{1(rjJ!-PPAdbJ@aBfAz4?q%!wfTl+dGR!kD%C7;Uq!r|w z;G)Tg;uMJBMUeQl_h|$+NFcK?f)HyWZ`d>AK;_1XU^MU&Mcx{O`v(~CnH%u)EWbN2 zFxQI2(ntp(9M={|6UoP+?ch5^!y80h5V;;4LMC8BX4d*K&Kkb~@@qN)u^3T9_!zn% z7#tA1xx*(#ln|W$iy&Y^^Xu$>)oBBr2^0#q2?Yy&5eOvs%HQ*hA_nJ`9AqMf06@GA zYi63rN677rPF!cy@@N$s4@AeP6CGd{z|j2TJ9)G>Y(3rAbQX}lmna0l5$(r=X)9+w z%Z~<;eLS(*WOq|~-4Lh(h*V^A7lgGdBKFsJ!)L>=eME~XAclimm|PLzg3o8v(l&M% z!n9V=dJsNO1Rp$8kdYd4S1Jr_Q!C7XA1(qc3}m+#5qT19IxMNSpUaUF>S8gG^o9Zg z4J^=U@@F~*V@d;{gSAgM8*4E$q5Yun{#~o0)>O2f5j!)q@ONhFqT0mCbgk z)A?8_GBpA|kEu25iDN|N2tz!@%ZB;IR3>NsvL-1(JNg(V1mO<4lX&s-I`L7R z7ODZ67g6LGIRvP7@cxGs)1nHJ3cEWp+=Ekv1ZxNhHhi5wJ~JHfPvvcgs!#yKwSe1C zf+1Xt5s@$z+b}`~jsy^`)^9+%t0-qUnToVS%UnYTl|f7J6V9KFkhrqt47Jzqijd%}xYCOIw|$y{+ZawK(f8I_UYuG4;=`B41eXXd4HZhf2n) z`=so|JM5jaJLreo8vDGv^?c4Y1!W|&p2a9rPE-yvN8Mi$3JgY!7Ue1BeWcoy_7a`7 z?HGI*Lr~7|4uue&gh%p70?5h$L=XhFht?u?NGe%@BU@|G z?Q!Ua&t)T?8bVj!Q+uRCPZnkQV)nKX8&lKIr0>pDL^CFp8Kg-|ftTGt)#c6>#>nxy z^eakqocurFJ^784PwIbxhm*MU{KK3-D)J^%)w}x!_8lc1uD`L+B`RAdW?78p%Ibhn z3z2~M(djd*G}O_`p3{(0z)L;DxGile_hi;Wtwa9Ok`l%1pSE08ujmZDvnMPoZQ0xN z&KAv1&a;31(^>Ia9}MtYFn=BPnh~e$Lw`;)$Lz-o)nbzO*nk z4(I;umkHBS!q-EZ8fX;Bpiivea%XRc-F);>@X~O9)7hL)A5>lU@k1J`d|THux9oFC z?D_jQt4n_6E0?RWdXjox)|m=RU$XsntX<(dAD7X~+}`fT%~D_W^HZePfccN)PQ`WW zdb!`^rQh2*E7>eCR_^aesVgo{uben_<7~`Am3IY4W4sp~JK?`BcwJWLHT!H*9@38(*x{%yKwl!7t#gd|A?RT$Bj)^2+U^8zd`JaA$8NVL){;Z&SbArgC zXs*3V;#l9h+aDC~20cw)JUh=0k>;h({xaZ~vPfE@MQTN>oL7uw=)!w0R#v82L+zA+ zqo?-@JR{y8wD!~Yj%0j_q4elaIonxUPOq%r)!)OM2&s6y;pLn{EL`9G;J}s`OMY7S}1vWuz&QjUBBGX1Q+>!zL4o@ijvmz0*g zAhEU}I&P`e&h%eTst+ZZqGcK=Wro^%^dEtf0%XJPG6#-SG*)+2Fo z;qNy4nA)y>bLlmA&!%>Ri?{I{hctl(-^_`}RvAv*v;CMJ?U15}QyZ-td-r{6rOBUt z7Y~G+)j6NtzP7>iqq|(t~?eyS)!)oV}yCPw_sjUXZ|) ztNE1p%RW(kV|LWv$CRFt%k>#)^8;C)PoEvFiMqKp1ueDe0$)s_G%Z*g4Q$*a8`Y3q z{YtbpgPPi0WMQ*#d&vDv@t>b9R~Q;QHH-I2y#~an%ltnchDPb>%7K4|E%a6f>xwjM z?ao}gIVK+v?)ACgHR+tut6rCT>fCi+!bX2eMw-&iz{Teitj*u-th=CRtu*<{+yBIG zja^$iSoImMw+soQQSb_Tb3G2}| z@1EP+k-zv05C#9SjL;bOp^m-w&^Jp{oX8X9o|K938#!|+AS&aHDeL*cU*)u5<1UVf zz!j8ng}P?rSMFIV06J;P185_qdW=w@gnIDK{A}k=1a_>9(kcH!^PEneb2@okL>a2v zolfGYFq7Q%doVm`WL?dsIombQqjJGr%rE8bEEe(Y?{nutsnc;@pZS`lJM!u(-8BeJ z)5^5^rH2Z!9o%R$JJ!Ic>`YdO(|#<1HELMvu`1Yet4t1$ukSp zQ=tOmLWya$dY<90x9`uQfmiOa=qt9%-?=_l7^h}A91+UJf98@e`dsx#$K#~-j_e(! zm>F6@5V6Rp*O9+RtM(&Rp&JOdf9`5Ok~aw5aml+^V=^+KH*#R$cdB4Fpy1o>=iPiR zZ#fx8SC_q5exp0Krs(|kd0Q1P`q_95WF$D}%-L{gZhz8gPd+E%;w=}6QjRO`8buFT zm*c%$;aBIIv^NQF=qH0@g_^J5R>pRIyqB+$s7HPKkv!)0dn5O}%@KCU+|~ zLU36AWt-MT=bAmccT^vwSiF2X@+DN3z{w_z!t!<>o=H~F9v_<%OR0^y8htO~H_%)f zU29CFXLVaFj)ST5efy)2Wmf*#kEf}!=S!hvFrOip>8#{fvUq)#1MRrfi7@e|yftXr z`X7wM3~oT(Mv4C10mqv7&^bR(pn*%ehVjsU(pvu~XAWT_ zeI<1z_rZ2A-7ROY9t$e0KIgS(%(6ME^knrp=V<(RNV2<`%KjzoQ$5{b@7lTX(aC&!g7t-1R_Zg<^$42ZcX&b)OnD`+UW3uAbM`7~b(U zpGN#fg_0W=b%#n=Z}01aluAnZ-=vZ2G$cb>h`9zWd^Ioe-mLORBl0^4&T3-1vxi}q zvG10JAnWEY252(mD;H-!zrv_9$z{Rl{QWPbdRH6VltoD8 zCoLtgAbUxdu-|)VdrpR>&8@Rt|65^##JqN)WQw}0NfjS*Iz5pZX>#p5+2lu_MSZu7 z!38l{;B%WX1`mwHT`19^kPLzSkKcgAi(hrhb zsJ&iKT=rZuUN_HG=@zeheeaV{U&8yP$&sZTwYnWde+r#A`k`68skvq90;ZsmS@Jz` zykj5Mc!L^J_-RlIkS9UonF&m7D;qyYbzL*>&O}0fF z$6Ow`^l`{9ae4vUFZBHd=|ZZgdVPT?@2&){aKrIwAz#z6Tk36l)85zj$Y+dW$nU*) zMN)b$=Gx0e%2x#`myBOY3W8mBQTKK~(vGfWp-BB+&AP4vG^UmnQs?aFR)TTK(>g61#8JewR5KJR|>v*MLMOBGtYr0$D3Y{T7 zs<+R+Q6gEDpWd9Ro+1oFyADlQYsFxA*!_2{ijCws%GtIH7CV#mZA@lqk6F^abdn~m z-cG*U*|6baObsR5=uueFM3De#@satqH*AOT3A?rzJp9Gqmmi9U4$ICeRyN4ocyB{X zfNV^SQmbymvty^vTFiM_l~I{jz2k0FyRO&&t7itX>+YcwXF7%w$d~H!IV~e`FF%DJ zI5Nv36jCYk^=L=$v)UGl%6v4_c@K0LygNNqM$Nk247 z(z-aZ&6e;G6t&NuI)+sCTzE! ziO`8+qCnP3SvvJ&wo(e~dRH`U@E4Yr%GRNKT%Qe)?Udf~%`%9jcsVM8Qc(FsS*ox`q}VOwu>{<7ue6Q%!C7 z=9d%I$Bv!X^*huP&a{fE@ey95&OTi+;J3+fkK#_381jjt7V&$d@7>B)7sJS>dx8yu z1*erqG6e4mK8!rP7yeAsOb{+N8LGH@^lI)oxHZ3*EBdSTov7GzQQN; z^oZN10jq;gO4N#O>)pEg&(_Il9c9yCU*X;c7uMdu!YPd#vIV*etuKze*&uuzHMZJx z;n1_d>@$vQK%R;6T&DKw<2H*)*Vw2B>h3pyKj_!Jjv1ZV=8n0JlTjjUuG-(dKNhKx zn9Wxi2aL}P-6}p@$lVvdQu4OZ2a@{`aXFsxCE;Y;Ub|C2DOWGAnG8C1GICzB({mHD z9yL^QTirxicx?0KTM*o2%&#SC_Uy{+#Oo64&tBD}n32!M-m-TXPZ4TvS)-J8H^na8 z=-2iWn>II$Y(1yx7VPAIWlCf|9eInVAH=F#CG>HuAD{F!yjb&_vfuZgm-1m@ls)*8 z#^JZwSq8{G|D&JxseDgl#CvJv%YTWxGZB8Kh2GS3n5p{I{kG!AW8diZoNYFy!;2Vh zcN)&!loh;tRsFf@vD-*Q?yHY+hhL>Kjh~D@RuBfc9@_6~wRCsS_<_aoUx%23H`lmD z_o&=tEfy_YFg}88sE9i6SpQ_wRh!YfeFuqSb>W5&D{FKNNpsF89&FLc9Q%Eql)8Wa zt=JgXHSY!p86WoS)yKn}9#u+` zOf!0Y>y?F713t8B7 zRi$mrG2V<-ROxnqPSw!Vu^l19L4i+wP|JDEJN@3b-MD^wvLsLZzo6Ei9t?$T36!acBf@-LyzKd)q#J?bc(T`OLY-cC%rr;DlO|o?l>90Gv0lsz ze`e#|*G54mi6bUS-R*0vul0Vre#9v0`Dh%oDeSGLIcJ_?$DDFkhoS)T(*(gzO8e~N8p=dGmtWB-{&wJx-h7-1ogXN}$dn0TUvP0!CX+Pv=8rHnNf4i`mL zwFsWAD;;zBtA2;9Rn+`m@3`_$-`8WDl*fqmxQdk@b}q(H%jvdiJJ+X=*}T7-M=er$ zwDM5I>M+F1oU*(|>4m6us4mEwdgzeZZLK|lMZ*3aH#6EC*eJG&u;SoIaNmtOUkShH-Q|AEyXThE6TZXUg~#mPeHE6 zkG>X$|NpGwb{?sXL%m>acv$sx$K9GvD?{B@4T+O01wCaU?4IKiITL!n=lk2_KJcyF z=(q5jZzAfNpWUYv%*qKvr+Ti-;Hj}Y7W(X@53<|F((ms5;LhJ?bu%*0|H7#&0lU+K zv6_rZ1DV)GBL6eb#ifeNS{jX`y_2LACyfhtWZvB!QE6Ou<#d(!_sT6nvZ>02lKq0+ z#-^Oe4<4&q#PhL@iuob;>zYjVg)3bO_ty9aQ9d{8k|Yu&;89eQ0#8yNxYJ^ zetqiUE1IsFTj`ivl7`Z??=_icgT5Z=dA+gog)@g8nLb_R9;E2m!rwH+eU|EFDtv+4Tg5VDa5#2 z-rU}wnM)TdP6G%L*t~4=)#dHqXhek0LOpLg6PCT- znXcQ`stfVCKTo}!l^XUkczjOaB7A$c)P(7!d)sXyE3r>IVw)Pj`nF#cM>woJeenfJ zG~3hF;`zh0b$uFshtAHTUe$M8UVvIp%uyuNDYq(DKYe%bn^V7Lx8th|#!kYLjHqaj zjxAr=lezzyZi4o@D?%T49q7V;?M}UdA~%70l{~ud2onzdB#6x*u1{xy7RtS8Zhst#kHIA!KFl zJ2^SW@R3R0*;7MlA$ZBLvpwQW6T&=xQtADwHR=&V!@j?-&9iN|7Fd@Q_j2LfD$$0k z-CcaTr*q}j^L1LULWJ+_&QwJXORD7@i_T|D%#A-hYD1G_@A{b}l2%Oo zhq$@-hu;TIN-mL{D!GXoJ@mAI88<--UpidFYE1n&|CwG)QE<^((?%0k`{k!oKW>lt z)ywXnJc?b-o%co~vO`kFbCYBA68iN&N8~ncq7F$E5)*979?Yz}@%y2$RdUPh^PGRX z%|5O_SE8{iUsHaO!_)6|i)#;W!A{D#Y5I?TN}6Zk|AytY+CP5a)6qr!BZ(cBuds=% z;T)BO2p3V)`6s={&{<5L*}eYVs;GO*7-`{MECB^QWvs4&Ni4%FP?oyALmc>i1@PiCV0o? z*E~LM`Q_Gn&52a``B>-hizXHKGvTQ&v4j5$5_!M=*T=fAsk6&$ehdtH{9WC$ch-?d z3;obC+M9do!Vmfq*hcQoj9)|7yy^UESHX7vU9~B&sWqL6W=-r%yto8kL&*3}cH~_e z)t;6ahv6eSw{>_OS1k_<~9fBs;4;9x_+qm~!JA z%Fll!XNxGS=S-u!B-Y+C(LQHNzk*S9d;e-Llw3JGQy_ZYI;Uv2uVZWJEyKt){*T$F zH(Zo;HS}3wPZHM3zR*fszGmF-+2F@3Thm0FTvOddUmshBZriT#B<*bi){qoD$4tzl zM7=)t<@m1jmu@5U_2xF@iqa#$jc2`Js`#62ZM;vu_Uq3E-rF&EotEyDJ-Y^)7a83% zE~-|(r`f#Pb!_y=LEkYo5{@@Nd{?~qehyFa%O>&BW!ZnEyf!DVJ;T;Gk##JKk?q!V z&akLWoN(y5*okkE(k@!8cdFMR;Nf)AVpZuCnV!mV|5Wa$7uC3|eqWP%()-@l@A&gP z8Ykt8LTq2J`jDkj<&J$why<@sn<;l(Hh2kdYLmM!v2H$IOlxmh~A%3$8% zt%|K=Kb>6;UmfQWLmZ#$S-ULmR~eo%yS%}DK$@3ola%>xhm15H!}|6*_VX?^u0=C4 zeIz9vt9ssigd*vv@Wt>p8o#W{R%Gay zpX8m;sazJ)9rng7OPRP$zja^WI(TWas+CjW9^=bDdu4mKwg zUy3=anRFYE?k}oto$~X0oV;wR}kYIWe zS{Kk2IBIC~JnHS?iRQJta?eVx$(yez6gYqTLAJYF^DA9R-jgjY7_CycyMH57CiYp1 zuhY$sjkN!|**60BD+kf|qPhZ>dwc<7bNt=hM+cOrzr1_gogULx zY!;?@yyfv41&z=cmy&$nQt!c4H4mHn^GBmps7+x?Sm2%D%N{XfEQh1Hvpw=dciutK z%;2aM$q~JeMy_mcIbBrd(GRLK3rqGl{U*-;f-KhSnQLtNE6AvSbSI+faM!?{rZq_6 z5`0m_z{I`EO~m?)jLFCyg!6;R|3zoIbGj)*#4FVES)I=C(3597B2~4B?-MvWupSA*pTh@b>M<36QeXDR?==!apa(9bI(47xjt5rW`4{DG7u=L9R z5LuTH_0L1n_PK|et%gXqjypbc+EylNuYML27|wKbvn;;yv`Z>@OZxSO#G-Q!E7vah z7Rc~Clr~xTO$yzp);P^t6&+Trh>v~0uw>B2d{7m*)<$=DqQ;)07qj?69sOz<2R}0n>zCCKiWNdOg5Jfs93pGtnA~E zTC>NdFPrTc**bjLHp6<#jdkV-Yjs^|7`cqI`pXLSH%hvCU4qlhB*l%ZsSzC}&%6b> zztTQxGzl8dk???O?xe3*Jw%zN4zN4Va8>lY&Fd*yiF#_QtOQxrJAd@P#}tkN^22l9 zwUqVimm4D5SGj$87$+7>m_c!rSft0dcw?~ST}f){jnGq0 zxp(J1#QBmxJI6;SX74hnYTTYzTAjc0Q(bqM`q{7qX4k|~qYk+%oOh4(Yt-fU(>$*0_`_a_0J4<27qaNSZ=-Wk2LH0U@toD#q^ z9heP6J9` z(BIt;@ewVa0*0rj$vzWcZa*KHH4h9#|Mt0DbXiO`FzH=!W6@-G_Vm{(o1u0UdD*@B zQQ`j$xQEa{+R6ffcD2sFo+pb6f%MUj7lZz!dLN4*kF-Sjra zQuAG^);D5d+KD}!m_^0-uKSyx5*^2n1_k|D_Hm1R2ve}^Me5@%bAxgp>l^tV>UPq% z3Syxfn~owU>fgQnK8ABWoIU1>jj_G^}}3i{IG!%T6nPf)QLWsH>J8ipCB18 zuHSEHlh}Vk(zd0y)~1*x&<~Uq(6KXimebURr!N-^nM+4arMJ#kIa`t#sFk&3uF0Ie zM;jEyBxi{eu18L0-Q0=k%rjvxzrK0w9!r@oaV@^#)1IYQDx>$rp@lT@dfyhkGm`r{ zO{(0F^l&L7eycxo4^HWEZ(NWb*}O^7v&Bk1;jT4TVl`awGOg;L~ z=5V#}#s2Fh+K9xe^)c3qi^r|(Gl%a{rFD;=Czh8;f^qUDaR} zQV(BST3JZyIkqXdV4o53zkmX9gW`|Q|1MYlYGrztS;)ON=R1;%{}+~l?|u%i1UyQZ z?B(7Cx9pQ~^#rYNMe((h`u*?MT=A%1FL*CEe--262DKsIs}R(O_@>Q@NHXi8m84StJ{{Q``%IZ{d|^W8;Fcsy@S;O`yj=eRlG24k&Ht>fsQ6@~cJ(tw_r|2JgNX=d0rY%SQBG-@q zCMut9P273=Xh4-{S4XMCUu5H(zkb(Kj}3f3)w!&#q3M^gWUuVc9nV#5{Le?v{cU#6 zfa~$+z?1Yff~sSCgztuah$ZurP^4n53%WZy4YA%a#eSRd*Tc`&{_dl+`m==$E83-P zwsT@G+~t=)eV|`bxX!owfCT-v<-WdA^}yoXj~`1e+{rt;Xr5vkE=^vpxz@M2sdp~r zSSMH0HzNj@>+T9DwRf{0-^{w}J+E4E~h2$)Zxc& zx$xkUjQz6{^O8+(tsKjiXVmw!JNM+qEQom6ti0dyd_26Yn0{dC#h#u%&GL0dTD$%B z+jM7C{y}ZCm=dpTt5a`emMmDEWBcRhH?!S;N0?nKp`z;J0BU?w)AtmwM7724n$n@n zLvFsC-RebAW&L`|8+7MB)fxV@PJFn_NN4-GR_@6sf4*MyJQURFd3nfa)iu-dT=TOU zb}}Y$I-cj2B|bWUL~NAy#$3WSn!Xv(I&3-9O#;Kk$7#dN?PJmNdIoitJBOJa8BmDCHHKShk||M zR!CRXGP&VM!n8hwT1K9mn^pOI=ybBg=>pw0lQD-WA+e#ye7$nHl@-r=F!)$`PCQ4e z+$>bpr&}79+UGTVt2|FN6P=`joN z$A1Mge}+mbR|CsHx4QkEYKcBfn#*fj&gjk=Oi7WH)+3<%+=M$tuh5R!VsFd3&6e(2 zZoF4F^illX^1}yrx;#rd1l{e@_D+98sb5iAIc?X;A)YRF&7bOh<_5&C=>KETaEQ0% zDkIUn=W7=f3zxXFo~QK~;YA645pykN_0KfCY}(a2>aqhv(!w#pnR@r}DYwO#6Zdy1 zm^9Z*Tg^M6lu|0>i#nt7wxm1X|2ao)ovXiXU)-$XS%l&(-I>RJqs|!g*L0Q_9KNKO z;>nk=h*G#-eNnJTu_P1jS(DYPrxknRAkcl&??=1fc!Xk)(#K3FP1r(ck|$X`9iA>N z3B8Fj|Ls{+n|CDIQ&CYW0@e+)LGl_8hx&n%*^q$VQqeZ|9@4J3LBBb&hORTikUS%V zx+PxP4xAZJw$FM??+6LAFTvrP>p!EOPFDDJxa> zwbfY4b=HKE1n*huL;O^h)o-cSKl86*Z+waon0k3zjN2n;KG1E|%dhAp7n(SGsq?Pl zFz@3*b&q}v+roXDqhdRh^}Vi3Ga9wy>$UB}?5hcHj;<;b+Zs9SpH|E5f0~U%1Zim3 zsgS(gzDl}huSxc2o$p^Eyr48dyBa8I@nJxX`J1NW4o%5NHkqs>lYxfMPe)!AJe;nX z*u-cm9f*oz!?1Ecx2bctM!7WuW}ivk8iBude_s7s{X;DeZhx!d9Iw{2IyNKy_9=C@ zu5{JOb0_@}n~fU%BW5B6-e-=P+ylf&)YxNcEil%;pmm%I*zroY-ie&>;djTC1kTuW>3dypm|{WAyG zro1>64AgN&ir!-5jCz+WHrFJ?Wn?varYu0)&HrxV-Qd@Dw>LRihT;juo$^D!mon&_ zGu;ox7|)-Z-~GTB`PUg;G6(^2Djy{enhA+%_`h!)ES@_f{Lb>U_bCN|xGGG5ff1i*e%K&xc%>2(b>Z4qr?awc5YNvM9^d zlT@4VDj%K6+L2!cz7Ts%0#0-eB_`GfvDaeE^HmM;*w71>XB=ox@xbFa3h4oKYQ7Aqk9|;8WZTH5Wo78g`+X{!5sLo% z^=JnNBntX1OW}<<_qWdS6Ne5YyrF&7eJhx%yYbjlmzG{2BKh7{T-qOzIx*aWMsJM` zSN@b#u_9)4T5}ePl4<8YDT717#m`>c@~4rqg(By$2#@4mm3fEgUzz>>C2EzoO!wE` zDZTIA6Z6t2`nc+^geW@7qVWB>O7Atang<+0p=nIAUG8jjyNBXU+|PK?o1v<6$1mBJ zjD1;qU0rDd9$y<4c|<2cSNv5-h>5OM@#!C)s%LBUqfUhky6THG9QCxdklDzt@3WaK zXy;iaqhY1HHb9>YOL`DUpf5U8_oud z2}YDlh=)EF7H}ccj`;eGjkesUaT`zGwY}%{RmHv1x*ojd(qA}Mxsns=%smE91(;m8 z9}vXLZ+mxou@XP)Wvhfv{H@(FE+RXp(0z+J;Z9EodFQGkhd8dF??p{Vq$Mk)D4}sur|DS({Gu6O5<;nSIfXH*I6U=ETH#;tl}=~leak* zg{YqRO8nsxYOcz=yPk0QzS%W%smHaWf=zW(;hV^+AJ=l(#Pp3P@Mlr&^VSh(v;549 zQRGGCK4HL?1kdt3viQ3glF+AJE~Mzu^u7R;=t9JI==>OX`HXNehs z_wOr+>`SgyFE_Kfn4Y?bOj{Gh4D|^$D%)?=P*%Do|qKD_=)Cr8!r%#Y`@a==ZxU`XAVB+cfqt6!qH#v!&tw5o zW$n}-%Rb`qAn+O#ZKax2Kwt8m&-EQ5*%MFF zOMKgKzy!|{Uuofr2(IoqLQHc+hJN~2>wV;uar4nv(40h=T)%ze)3V7 z-KtzJc?mmN*pI8rZ_#K+c4PwL-VcXWLayOZa4G}@`YHHYSMpo9LSoG$I0 zy5`|bbx3bs&uy1U20HqW$lozC`U5gh;4`NY$z0RBmf?tUsmU&4aN^VF!9%uW@AEa8 zV9{b`|G=Oa2eqpMzR>TlSYBu#e5T~*E;eW&_r$02wOeVO@ZdLm?pmolLK$b5;9CsI zR1bQ8t6mqW<0NyO_V)t$=Ye~twr?MGbes2()J9)r&NarcX`R%#d*g6Rkq6Wbi_8Xo zBVk5)OeO%UK5@gHnx`#no#vQWQ-`Y3FXP8gTO+m(Eoo;+5E;e`Mt%1pok<7-yi^{; zDGwf&EAqLpQMk-%>c`yGj1*hm2g}C`QliinPkF1{?`I00ML$WZmwrilySRSOKE*@r zxRMEj|5+GzGkXO?cy?AVDO>yMF|hN_qLTlF*e28$d*%0$(^ox5@HUD4k#{7Dj3OEo zk?$NY8^6GE2ad)$E|&7KTIiG~TEX!yEFT{Y_jeig6pY<#>UK{bpHB!K`XZ7cD0b?% zSPNo=+O~O?9^PThyfS6Kd*yVF;=$mxtTS&)NZ9OWZ_WL~B3o#`ApNj=>CY1M0^wx! z0-ZD0Z(Pyt(pAc}8${lKnj3zyEtnJiawC3zeY2*NC@FD^xh}HuiPDdLe^}F3lo3?E z6my%rC82p>W%gGT8+e^M^wr%T{;)O&_tkvk)a#_%=~V&e>c-pbU*@i3=k6eS-4pyh zRx0>k3W3sev59wInbJlh>t7Y-b1|m%S~#l%$r)w3UgfT7;m6!+;APG1M2-zxpV@n& zm&wiDrlYu_evz{Wzwx-`7d|-nS0fcl>dgF&P+mzFmBB4?zo_f8>+bn1)-|N~j`uU? zQ$Z_^$Vish+xG)>q3$5O;h!zwvctzPcVjjEFRv|(l3Vhpx2Ekjru#N$E}gP^V4fkL ziC*i>N}WSLS$)m^sXsKNlQ$JNK6{p{clgSlx4`IQ+S>-_CG#BH-?^{w+fC@916hUC zdC~uywP9mw$ ze?8tSo?IS_=i`zOvpZzx@@2JWtR}m?qa_kIP;{ocmyaTUqKYn9L*LM871FQi?uds$y)*Ja$m(H-M zvrW@Tsi%_s$*5lq0cvEj`+pe)tVXUJ3M3x z35hgneU;huzMI_@f<;!O@CgC;S5UldtgSKFBFALmW+a)_&J6F(%%3U$x{8s%Hyd{H zx6i^-5WIMO;;$ z56;?-8~g2hha2Zn3{kNU?4OKzUTC)!L}q>ty6D{`=yNmX`^o1z0lw+8e`&R)yvk&J znB6>ZRC@|b3AH}-u1|+eS*qXpac4u5%9hVzk+NSsng)q&ZweED9WA$G3jieeiqN>HEKpyl^FQ@WXzv+qd6BTfOWGBoDx!ph=y)1|hatM2(k-n>X1HB1MYDf z{o~HoSYcry2TAr(hF|F`+cC-zCL+npkwA{>91+^G@e#&o<=$9&jSaqiEIeveI8aTC z;&glLR`og0pdMtB?!XQtxiHOy1jV!A49R}@aZqPwwDdOfpSXV(6T%3bWV}ZvH|)~V zkpNX^dB1^*RbFk5WHuE8P+=4X1qtjYiviuosSGht(f|rCK^K;cBWz=Pl_lY0Qb2cy zD{{Rb?rOq)=^!JiM17SO%e=alU%;GZ=nu4v3dhf(lDNu*vYNZ%8C-ul}gg}YF!5)w~gj^ck14nIF2tGA0-=l!r$QptLz z(#L%lF<5O+eYb>A+?~w4b|k%IU8nx7#Dn5H!BIAERoOqLq<>9a6shmIcEI~8u3Ex< zXvE{d==4*DB>%jy6vuspnv@16=5gg$N}-s~|!3^J{d8-cD?@ z8n9Ut0X5+gokm1qr=K^RJ`gK;bc?oix=UW+uEfIcn6XzXNzeNhPKqb~q4Aup52tzK z6skU*x_KKYnCWg`DIm=ZGh!DMDUuPIY zbhX+0C(80v$nyhJ=QHB=Qml}xZ|{GR^|-$<oz3YAU0;H4!DZQ*5EV)s!Y`&Y!(lRE$QJ|{vU{|FIb1UG72Fcwero5PZS}oZ@jbg4gI`+U@UkIH} zmhT|HvJ|qk>_FA;AJu$Eo)&wJAHkDpIwhRx)ns1y(TMAyk26pBX)6E1){hx4rvc)f zET?0`?xC36rNf&{4j^{)vVwPAERLoATV6G(HFcQHWSc_jTph!0MF+TLmPh+^+Sbv^Zb$>A=@o7O- zAn7)@o$-YaA%ClzZdtdD?z}-!As7ka8te!O_6aBp=9i$H@;zmNL3;4hGQPsjy0JQr&4E z=ZhTg&buD^OWN%5&f@WcQFZPky}n{!F3TF{a)cEWO?9IgQOsH4!uxL$GT;{n-d=Z7 zIuK!XZRxZ^sCt#^O`DRmB2CGX`Bw*$tJ@BnYu4wy`ABn|XFXDO6$hU>U!C$senI@l zVJ_|1yKJK$F0ZQBpm-_x1-NTI6A~U#0tQ!s)V@$8-8(d&Nz0j`|5olAy7uYfLa`Ub69ZRZRSkUU1Q$G!tLzgIev!Z;9$^K*}hnYyG=2$W^IE?o}_e( z#=t=mRY$-BqCk`!{|@a;V!NpCy7WJ8+Q>~E26*&$N_NR6*$RTL%u+@Ej6p9zS$9w} z5HdrAfw>#yygu&69fA$T1d_GLDIV(zlf7CbNW>iQcdFXYt957HXUnLWLuS!)BZ#$r z{XM=Ss2xc514qI(ddK)D#(!XVL-Hy6N=IyG<`71uHbp-`=-`0v-Jn7S(u7*Ifw})Y zu3LIP^Qz*@&IuufZyeuVcHw+wat12p57^F{4Wf4{jYE6@+1m?-fsCGL8_#7_hrbUb z|DPM!5!4t}2)^CF2`{5TA}Q;DT#!1XoU;(fQ!me~7u?5h zc|;VP)NHIe1qT&q1AqIRW@ z`v}0&gj#_;8*Q0>_(Jo45|fC9DlBx6-squcUx6pzw1BOn_cI}$3)NNr-1eWyQH_Z+ z1^bPUSRU|rxHR*1yj#(KY=*sHJL{)AHNyjnWi%_>d&v#TEgL))Z8G7pKKW~ZkW53q zAHUSAyd-XtXYF*}g}D3Rz)p&U5I+x{nwS&iXte3g4+;2$aWJgW2TMDfBzRXI!~X7u zCO%VK+5xHQWi3gy11Z z(MK%FTx-XuF7fm-N7MV61V*IVD_Xo%CFklcZ({Vt>G<7?>_l(qa*%-n#H9IQkz{aS z@;h>1yN&(Ue&OIaq`^nX?h#C^HNMBGE4AhOWZ8QR;k@L~OVWvDte0(y@Pfmw41yl7 zc99gLSRQOLpsHUo2XyIi1=)X+D-YiNwqa76fz*9)v`g4$JpC0A>tG;I9n>w57EnG@ z6N*2lYoBeC(s$O3S&h-w?5aR2oj)}Y?!0lCj-MWTdc&qxWgffgTKkqiUhrmWBGTwX z1N>vK>8wbCg_?w7E3vE!JvhT4A#Xn))`eiv^BnsG$!!|2PGD@E12{bk*s?~E|i2Nv_rUHu`v+n zi8%jMSyhnvr}z3b4Td)g%|yjz>C(!yxD(rcEMr2lGdnTFbtHGmUs76BjfAiOS;3}4 z+b_qY@1rv-)0Tr%wc>_Qwqo;-4|xY!kL@z@TV|O;^O)L6kM#e-8|>t@+@9W=kG5=3 zo{a^E><+{&caB~aw^;tI91)nn-|2|lTa_N zf3ww?iHkIS$U1d{F4_Gfu7)F20gV#n=}DMA*Wg4*>fBz{KoqZF(qwlAJpQJ-JR@Z7 z=ty_xT#TOo#t{~k)%#vGD09w0#ASBSDuCt`t)`G_Gw@c>p|5nR3c$DWl}`-w&73*B zo76CZ5Zl7!@^-Ws&cGYun6}4#5xI2=$gi`b2|~{jrma&lUU?0KeM!)2{kS33;h@w+fXnKKR+1H|&_p}fL$P8Vk zkjXO5yIV{Wl&sxNmcNX?ku&y>VG?SH?}SWClKtLWNuX;#8qZH zg2NEN^@rvHax>+*<0BU%;36h*a2}PI<_nL5JjMNc!{>M2^6%Jjb_A6)gwjYa8>Ura zE$pYC7*TZS0y#6_JYxp;Y0+kc567S98D=FR4d9v`Eoac8Ho2#*9?lGQZsIuLFT_#P zwK$s2e(Qd7v*{NSRDQz$oL0ZxnnE$e>4vSp0hTAftK%u3@fklREAgbyc3tV7mr7Y8 zx4rK`XCu)d|I)4zb}s5x9V7AL|Y@MokB)zl?^F_0GiJ5Mmc*Q?T-9 z|KKdAT4u{S8y3Z%#n{IB9sne^2d`ZH%WbB8qn@W%WAPxC>r%lL6QM&^q8tO91C^fK z90$p?4FQ3Rg?zaBJk9q9Di@w+IOhlY+~fyr?v-~uiO=(<+;Cp5OzX_v+~?7`14;sB zF3Wlo2CL^+&K-&C3ban{KNv7Oo>=CcbF*}2OMcX^?cR|lcuJn39-duiz0$|0d_i_M z8|DA4_{IcuBr8}OW!wDa({WR?ISr3C`Jr(FM->m-x-!`%<9blLOiVCMjizxf1;q;$ z-~SRw^0$egitxMF%rZW()QNm1WdwV%)S*x8iG=bD!o>FPDAPgxMI_JngBy@E^97Vg zQl1h|MKhB$cue-{cnJR-KXv_R7zhjB3e@W-jBxtg=0o9!`DXd=95HJMr0w7AMm+vO znIDKxF3&xxb;so^>hXa9-n)Ms5JV50L~tFuYxxB~zS#I~k5fUM^MMH^zR&rz33s|r zDBq059XTF*jkf4}D8YOHjX$vr#;h{-r}x#9QmFT}6XRNDR5Ve0dR$u_OXdBxMWILF z!{yIfemaQ%#Mv8lD4!^a7KFkK3o`dmzjbyePuyC)UzJ6M)Gpqf3Ro# z^$|{?^tw@eTeCzeeBsxpOOiho4r$;OT~jz&%$~ol+j^%T={sSSGxSNeOiFaO`J0wd z()F{|&SlZ)U+-^G&j5DU8OgXay{#Xq|3$#|E9T>0?*JReFu_wrKDtx z$fUO{=a@t*N1EhzzHvwG6^q5UNZtj-c%@T9_<_5jLkznB%Y7{P=*CD1pUz{tBo0gD zsP*EE-agi9@)d>WxBQzcc>_q-II5yeKK|Gv$?8yLL#V58~Nv3jyY z>+P=Fgi@^;s*YsFp-`%~^V@Sb_V!+Y-@k|vgNf!HLH&_0()ftVZmRcAxDC2~+l@e) zyi-_+xb5n+yq13`<1Oo^!r^;_Ul(yNR;jeknXF5Gp+acaT=1;hJ6)s)u{K=2_0{hN zGe{DqA=O|^U~E>+h`WA#P_s7m@Pwaa?2mdL$JEydVau~)K^e(L+6of|xPY7=-%#tw zyEma-usc9crJtfcdPHrFUPCGjIakROO4FlP1&A^%EhiIVcgot<=5&!96c#i|5vekmP3a@GFhyeXDXJ zO*9onCjix{5mb}lw(Ksp+flYRynMAYh58$bZo}kM6TIRxpVW6m+o%*tnH?Ql#dOj0 zaES|l7nU!-&H22Q*+rOF-rHLi5z`x*G*QTUzTVAV!M#_NI6>_za_L_bZ4FzI+L{G| z>E3cI{=v6$&nj^oOCXeC^_8!u%FzN+`)cyqPY#l|_NZ2Q=_QRjF7FS<4rCf22XV0R8=BXDmsfW_e$&|S<};N^YbVuj zB#*#Jn{kcjtqUo{t^XpD)=qfDQ&AX!BSV4T?(UbT$=)c_6tN@8{`kemE8XGk;@SRv zO=*k&$)%XaEIU4F)-~%z5fIXP@0kM4e_q2V*VKj(Y+e^`XZ%VLW?_C2zo&Uqyht!6 zqZswXy1Y`&UG3b0s9fm1!6UtaVM!(m``&!-YXUcWX=@>$j{$GI-+0qLbKbFZksRGV zdJy(_DO2$|;*+{n?Y$U7Yl+LsO!c)oAC*~xlV9pK9t*{!Dv)6psO(h9-Vgx&c;Arg zW7d-hPCF4fqW(x5yt}m!l+--wpS1ba>d=K>Qd*ClnImSKxy9wz$jX;Z|43e{BO6-D5;-0;ZiVBsk3R8$Ffs(?OITH^I(5`|h{v z&8f5;r5bwtuoF?NTH)@y`koR}oR(>W#rA<`Ck9E)ogoHg!^RM3{l5QA>DX!)rgtA0 zYZTb~$2tSdgSSA+6+st~R%X9Q4q;@zZ27p1ob^qb$)24<^ocXyO}=Eh+dL0EF!L|8 z)mQSp>AtN&om*Zk3-6eZ2{+Fa{Q9@>sS#>#J31m#EqB$i!+B9?P4HVlu)osJu!zI- zTzpr+fh#h3#Vdb$8g8v*ekS?W|G5C_puEwwD%$Mt1|4~YYea4qCWt)a39WRtTfKki z%!KSC^z z{*x-vvFAM%Jcw`}y5B_On1Zv-F>B2npiq1DS=DxaEr(SoYhb16Bo+_7tqyg)LZCK$ zqHswg!7KEZpmCHJ{NBd)EW+oHcs?YoUJ+TspedQ=#lBzh50j;&CCv!*{aSs^oY3Uh z!Cph7-k>Yf0%yvGajp3lnn4h4V+6-|(VWYWoaC|pnxPi|OW)5E%@W#v0zyXTt1J}= zenUu13Y2NwORceLlb5TQXt?$)nG%52TW``S^=LLf(IYBo^1$dikts1*t9IH*k^S5Y z+t)5>_QW6uB<{U~D>40f4sy)UnK>YN=Ev*t9z1A8int!%^PBnp+S?B|O=Jo8z^fUJ zB%N8`R_8G-tRla**smv!`~Ph_1MT+pWL!AW>_YV~~@A1=KI(y5MSQvZvkY+~Bq_+E{s zDeY{)-+}G9&ut}Jk?h}CeOH#7{+|REG(tT%I;Nt3{)Kmy$s`#Ey=LlPLyg(2?m)DF zmmhi{m1!)}bmFE_8vt~tw%pQX>KG-4oUpmY*5cBY1x>B&&-n7QD4O2;Y1m3`S9=W+ zHlT;0;pl4HgJbZE8>gOgwSv`4Gz}4#8U2Of6DI|}?ky~Qtp^K*3f= zqmcFmVTV11u~K*Chl3*2JNbX;pN&)tPU%1xGbGc1v^E2_4~fT~ zm3srt>koUR)fJ;KR4U|1GmF79it6)&h@tFb$H-x1M=ov*g+a&qCRAiL=M#smyh`%9 z_)#sNHfy(2nFCw4t?dH(p< zO8QJ^-4#P%sQP0G|E{f;8#y@r)Jz#fSI7NYaz1H6T#&sSf0%#p8mm_cYH2Z zSY}K7gb+SiAC+GeZFr!iwGFCsB}^tXEnR37tE0CIj42TB47SQ2FeZ6elKeqxuyL(z z-2B+Bd7eI{2$XSje%&_P@seQ5f)O8{YfcZJzJYC&okw=#XVvS5SP&S4NJs}zB1Ob? zSNZw1g-m(&89tn$3s=mnDUqB&>ga$=i?4#do<(7eM9)2JcTl6i z%pdXP%Gl^Ye3Fg~su*!K$@5#YY5CUKH&PINP^W4B1iQK#l0Eyz{^Kw-gaB%pXVB`- zdQ36O*?w3S3y0by=sQ=T2AAFM=GTccu1gHWneBVmAhvcGp8rW^vhfxM*i&D&)5%@R zoZ_-qWNvnSc|tz3oDbKF5uw#;SNxoZFd;@H2d>!vB$SW(+@@{qBKfE(FEVJYr^LLy z>$OuR$z0h#7FPCy=CFY9^8TZf32#h3(t_?*m_m8rM#4W{C}2n>zO^HefNqAm{4L60 z#uVCJUHUaNwxG;08={Q2(Y5PkE`ZumQ=zcRwB$lAxnB4Aft&i!lC^EGP;gZ~4uxc| zu+F-PP6<8ijHE#Z_4+mKwMtm){XDKXH3)oE(d%fe&WV~wpy5zEyvT(6_j`v2j2qP3 z^-5I_iUY5A1qn>VNd_yLvHW9bbu|`t;WR!2C%PN%a|te_asGe~Y9N{uvQbX`QKRXc zI17dC#=hrEL=vQ~@`-OlX2h~~ENjz!L-GrI*E6cFItvpq>on|A!3>6B;xV>Vb;Sv_ zQAt7M^#z~?340j%FZ)?qDH#yTZ_nU(qIgv8ihF>de$Nw`@?R|+QY#Z8gIYfxYdw^= z44oWI&Lzwz&9T0lIa<`capZf;F~Kw3K+xDP`P$hhc3awB;e$7Q1wW6yvMM+jhs4Qu z(V3-qCKFzpvNk_cPjVkzHaJuDuW}>J&aYs$K62>rQZ_Kr+g;GB5QPAf4|<+o4|J< zfq9F*tHT27CO*wFHFZGudQYh2y30o6l@w3?*;R}(wa(J;2>x=0ON;+;5h%${-LJxb zJ}hUdGW&!x(S4!B`!7AVLW2TJ({)Ogu)& zO6*L!%~yGkuve>fHma!PCa_;2f)C5@Iq%xk+st^gi#?w-scjb_YBLt^l4{lZ0$BgR zktqQ#)2PJXQ$K&xb--fSua|oFgha8EZ_a0p{TFsjbn67K@rbGkhkQeyNb_O?dYm}= zl2x~Fh`x=2I5l9WEQNxjlNeu6+jIm7fY1S;N6rPe_(44gdACiqA@3pAar1hRsh;>> zTyH1-B<%BQ51#JL6b1Cay?=-n3LzW^aoD9{5y$F3kKD@Pe$s$p*r=$(gPCc@NN zy>>BR4}pBhBoA)NjxX{Q9CRrY7!rhXff$5LDJT~XrTx8`5K#nr0P`S#3FIm1Lq8*OFh%?KHp|0?`ctYEG0w)HK{95!rPI{DawBXIQU7 z1SRNC!t+PSo2zxOpg2k9GBBMgSc)2fTOOY-DMG47LWpAf-F{3m9Qn9=1zrY2DN&Q1 zDsad{-CO)KZFf)v>vX1M((u1)S=zz^_Ur@Waq6|8(?bn_+bo*#5 zf;q|f;{bgamq4&yVjY!?q!q5}?S6#1BiVr=%!Oghj`uto&JEK4kU315NCjQgfz^wXU(ULb2Ko(;YTL&QirWrJ4FW+QBt3teSZW0*#Hy1Ag*Qx7t zYv{5rCB?&x<)|W%*G2a_zX=UFI{n^`2cTFVf@FC2q97w;au-xzg;99dVp30zk~MQ* zA;y5zRWK2LX#Ek{>c`S>B#6Yo4+)b3qr5?6Q3K%MNe!&qWiUzwn8PSRu=H zvE#T^2uyZ)4h`GFf_rYqkkxQ?c?!cy1E4Qpn7qpNP%%(2mDYpg{X5G~&0cH3WuCZ& zgwB1phq+gxOpR!JOAXN2mZ-C&AR!_!j`iP=?_(^WxdNym8NAT!j6)&A{>{!fDP}Br zMXwzO5Fwl?-5%&e(DP^SFynBv0M-WJ9+JN9xedX`$R+{9K(eg341-+AnTuNtEd8>A z26hm{5G81745C5+rYLFzW@d$|#6{=PtxdB~5a)~nZ5I&ICl7$YXb@Qz0#(xMS9{bU zHk~E1L~l>;p@l|cb@&2&?S@Ih2MRBe_s4AKEilJ&2@OGVCEd7VHc*5E-s6X^V>oga zVdU8!HzDK>j7&NMFfO197#m+0n{OGLa925?l7(WJ8^=65R{~1`g4J;6S71foWo;;_ zC@ZD_i~3S(_P2F~vh5HpEaM5C=FcRZ1Zfx|pnhqRQ3G6{t`kymEb2^e^2#KcgSyI( zOhOgSqjADK%sZnn6ak-zx=P<+whIVcAWP!}ZLWd`xIFk)Zn&lI;x^x{t&BjN1Zc5ZQuDnSv|PVxYg|@V^D(2=w7C7sA6q#q!fA)u02=d||9tLSOg(v9u(D z4?&9xda4M>Fpu>qID=a5Te$o8nGOe+;Ov@LSV0{#8pQcV3O}XgLmwOuNMGLNe>;VH zu|feV_Cc8u${4|hJDk3P?kwKzk=?};lNce7)cb}Q@~R|b*z2EHk#sMO0^k*W#@=R; zpRz7T05n^O-lILy6ifmdril8{0Q>wP{Gj8(k1@d_T1@#(gk0V>M8|7HFt5DVHKHZY zP14&8sKE!1QuDR#VHM+8T%#tGYK&*dGL`{}9UX&~pd~T7BtXHG$kN+@qsMnRKz86? z1uVr1I-uR8ey4JdU=&y^^KnTRLeO+GK;rBzkjxA1eCt>`8^mee&u7?g*FX?lM#b)H zunjYujB3LWrLJA1)9aDiQJ=rj*dU`hUXa@a+H@M1kUc6)1bHPpO7C;#DDsfspH=mu z@1WK49%=!GJU84YyW5Z2z>@0;7mZltv~lzUEUtf0O7y;Yk^xZ~Y|}6R&i|(9ECv4P zA-^IDuXA)2FztZ^<-quT*#S9c1T<0Ud#~5wiJO1myjK~Lf1|GCMTy|t2Y#DlT)#F7Q;sgv@ znX?93`oIq6H0p2T8b|Vy-Xh#>b=z@UsyUUj<5F% zXtqcuS)`o=N@Z@~qtBXt0ri}F>4~B2k9lq%plNGAIpkN3QhlsEv2y2$%J$>v$Roj} zn+WI#ZSuV#_!fdN8eFP^wg7L&e^FQm*=iD)h1a-TX2lkClLZPzMsw~0vb$iv?Hp{-!~Glg`jxMtleGL z?Tios2ZBR-3Oyix73h+M3}O>{~?=%yITy>q0frK>-7!Qn^e3d z1Ob*f_nEVfSC(bzmq)QcS|eK~tQ7b?_%+pOtq1XbCL(k%pHpEFZ5)0PgpuVBxOk$9 zC`;PZ7~a3Kp*&KRL-Vp-IEHz}sH_K)k~pA_%AzdUXajWD-F^gQ!Zt-y*6?%(dYcEQ zA#-*N$0P82kwF2xsNS{y+Z^D7U5+j>`VUz%Wk&27KPrJAc}4cHB3wWbMYveP+Zw)r zL?6wim4-4yFC6JO9t;*DmA;?8cAo8bC9K!HoM3*Ir*;X?dX&u30Hg_I`T2YkzZ(4^ zNa@-PgBr9FNL5AN@%)H;m2m_(O?d&FE`Xkg4WI>^=t+$SQG{WZ#o-TS6zu{-m!taz z5wCv79vH$8`XUiXNVp01z=`8^43?Pxu^r&INZ>Dj8MWx>t1G7_U3sXI)5!n@c7|9+MC=1&&LjE;kV!x(>I`VU3S#FuhIuo;E(vKXR0q&2^5c zRk01<&!>y~??N*Q!gKPIxMkc@Z&?16-R0+MCFh(`9Mn6jE`Q4;Y436bSDzN+;-gMb zevMNV6*e*Q=reN`fEo8oQ*`~03RoKj^SPyEn4z0s8SVx z+QD8JS)EphR8>C1rMO1J-85Rk5mk*DGh_zI{Ul>yF(0SG*o(Z~=?Um2L!~pcG;0Xt zVO=nMY?M(g{`f#=A-xUt1JN!~10$m{V2iG$v$7oAof=Ct(9%c;!|?i(egumsJ*j2u zf+BbTT=_@LV%kUHD}g^00R?Ig;V##YVQ398X~m{YqoQKi-@sBAzt-f@O4Na+z;rlQ zQ)mnfc_Y*(D3Zynh2Vz&Iu-P2RzcC8`>A$!QAJ-}{op90l`iHiVhmhtKqX5^jGz*6 zQjXv<{aEbPr#haq8Mwl3T7HFwGnm&ka)ya3enk=Xh1^*V6#N*73x73&hV3T5@?^e2JTIlVDBw3{d0OTi6vLjD|rA+>{d^Fu-wfdLeCh)RD1Ody`XN`{fD zXHP)}@CY0~f&mu(*~5Rf^O^llO>|l_(;f1Sw08^X`F>~2{gV_|x3G(Rrt9+0=@8!? zE==a;;Zui%Vz3az)4^MVF18~^Uue)oi+3*7%PO4^kEBzid;@`q*4I|3;~X0ejj0eP zU>lFvFd`2s+gv_00YDIF;hWmLTmzT~NXTzq#|^yf1;u8%)HLsySg)Ay%1ft!NsI#6 zVr`=VIEgpi;uC*WKaQxSc{5@OStt=mJ^)OX){m~~V0R1!v7aDYYUXm=OF|c7!AaW% zXoZeV_T@tZEUF*r&w(zrPa5Z4bmN;#8;B&xExvYD+T7)HKPU`r8!)T^!EIi;RG699 z0Nf%rq4A~Z7xG??Gmvq@u;l5>wVO*jQY^zb^EcnqsiZMHMEpE3_#KzQeJc6DOV{o8 z=R%l{|P!_u)Y%dV2 zj`F5%>m9T5=f$C!I_iw>U5;vYK{eREx7<7pzlOLEV{A4wx_<;qp*W5c$hU@}Io!)g zhcBF-kHCcoB+&@~Rkdbs45!5ic&`2-rg=Fhv6QQ{L}I7j^MZ3GX#L{3q9h@Z$t!-N zJEn0x5VS&Szc@wC#;x^y3*odtlAy=}IZ_O)Wli1N^tTU|8IvS=+h+`|j{U@Fmg=mc z7jJo~kX&PE+V*KOV=qW#Y~wI&bbb+gckIP83vgn5U)w1XzHS@Vr|R?rC+xHjrNRKQ zun?Tr+0b9++MX!*tL6;0wf&-3v zui31wq>E9#sY4+5FS<$!^}o>OB=V+Ep*Y!$>-c|>&4}-P6GoLD1H_^SBWXVWSh1u6 zUkWIogUm;VJv@JWLyKBL0fijX5h-d=W)EK8g@GDOBmqT=3owSKOZm3`&6Yc%bdhB7 zYlI;bEsgqMs)X`wzv{SqygdeFHjtyhSva~{RrT_>8m3}5LKAr??C_u=RR`6vs7I?` zY=9HIUvS66QM_k6rdS6dVMrXUu=Czd9FTzA&+qlvW|#Pki$l`tQHJKHY^@U`n{m-{ zK2K^g?}R}So&2wn@can}$S`xee9@823LWQ+9Z06{a5`leM%Bwgq`odA{Dc|NcWn6N z10X_pt@~5CM7Ux@JPzqN8_%|c3kTc$2$(^D(G7^4duFIU5lWV#fwsrivD9RgtJW=F zJ}5%8rl+_-;_x6_@%}-WXQ?b)Q`bhnJUKx4gO7gt3-UU_HGu1NOQ%2WVo@TbFLVrK z=8pi7BT8RqKL5ndFaVnX(Q}(Y-D5|8qV6=l%Wv?{z)P;FW)4x^TQ>A}`gOVp<1fv?70t0oAHIm5}K zDe6xC%JuKs!7-1c#bm}8socKEy^PG@WN8oLk;KxGhjk?_l)3Gv@4vX(G%Bsy);yd#%Z1bUwy6baTs$4l3S|^+O>^$_qZ`KQRV> zc)uZYge@j-o~2W$sq=8>e^4w)7*R zy6^iock146@u4PJ`Fv`MYVKXF9aAWOD<<7q<>t$39r&Ziui0d^(^l8_suS{L_m}^k>i3Jv zv)agvv$sLcJC+M~RI^rxrWcsS#DvOii$1-cqmNM%8GaS~!k^Wx`l+4p{vGOTy{Iv8 z1&RCAMNl^k)9f~0GA({I`S98}v^*#HY3809_R5#{8ujSGwcH~1#+&8LSN{Gr=99xW zY&Sp4UI`c9%dO&elw37^YtMSO44|#9Ei`;XohD)u2R}8veAAUR$>ou@ylR64n_$j0 z@@!gos===r`3+SNCxRq_axE4zSa%yL*6!cT-Wn$`<*xWdkUW#mC3^RsS##1Oefg8&1uMf(vR4S#sUyV!OOHAaLRkWj8-{0R zwJ77}omhJ$Tc)-B;+dEE=0yJu+G24q)$h~-dcv`JXH;=#YUKeAJK(x(!s=4*FPhE) z%_HiHs2&B=)(!Ih!2k4W?_|Z4n;*8)>z7}Q@ob9N?*9zC6s&MQlYY_vJoQVut%>;Y zJckdH#Vh)0XUDDn12%%sd_S2C+I7u;d^p^{T6i(nGlwcMyY{9fnf+JnSJ*EOu~{+^ z?h9WyVaVcxrk-C7T)AeWd{*4=V}`^Ht1221bX(7jjU5rZ48j2_{~oZ6+Mr+EH=#AZgMd zUV$^6O#9GhwVIGRvd{7<@0q-PwEeyZ6DnXEi?HX61iJiEiu!oLtXDOCJhihHjaqO= z@IjwCEI%3h5t;0D-8Jz`9=hI8M|_wro%$PNiAFeo7j#+l-=uy}ht6=pSBTb< z-Alx#M;;#Vs!_cs&{#&%%>26QR*gtE`_j)4xi6De!X=a=$sRk!=}RPQvLp(#%4YxX zxiqY*+OBY3r&Zjt-qq#VFk{xzG32@aCr)T0h&#S3O=!n)X(REq?gCx%N=T?s>rbiZMhKv{O{7AuvE$}6(Nb%IU{ z<{lxp#)X1b<}jsEu{Q+up;|eXyJ@4?^Z;BJLA&6(XjF$Zc5Tc(luxu<&@M@2ourck zu~|mKa_|Zfn-VNhuPZZ0trF@MyA3U6e6WaYB_V9lA7M(DNKZuVi71U`MExW-MN)>QBncUP1(ufP2<-YU9AGb6h8;e5$HF9+w~ zz2816l-bQZ!Tr3SB*W@^`>pvo=dgCYqr^PtQA+Fvmne^TTbupNm#i>6jEws|ms*Iw z_dLhOklZuV&Rr{0&McIWwqk!5979H9rXI{IO^IJ;GrmlwHzcaF%X-=Ci4QWV6 zt-c4|u=XJeX5g_}Ot5*9UxXt+I199aD&9GNa1bn3=PtADf}|{-Pa4=mFdloZ?d2rS zPZTp$RpM|4!q+m5#cEN5tb#xID|yCn+77+3U?g|C7e(HP71cwcPA-FF>$>}YDWdQq z$f4$w^ha`CM>GDW?m^x?=L-|>X(qV{^#6M^Ra2trM0u1(G^7RcEDb#C07vXU1bi`R z6~tw0+jQhNKdrmz4M-J2np$xkK~CF(IY0c`mv4VOq}m|8jr<_$g|u7fU!iMV78Qxq zz{3sF;2p!R-@{Bc$%0a(txk%Q1em{g$_IzO>+uQ5ZK9PX;&P}|Ya&)qV=cXRZoBqn z!n1{J;KAL8JNVk!`+F-n+V!LXi!JC3k_|1)T#_v?uc41OJf_aNf5pdUw9-vNWi#$m z^wt-i`34)onkPVO0Y4kD>%8gPXSI+Bc^8B0P?q0^7+Om!U^+URZ5W^a<9%J{^*yrw zz$RRx>s*n_EW#t19xT}?#m)E32Sl!bP_ve76ShYYI1k6*AY+I@-z59ggs%Ag<$|kR z@(!&Ixm2G;h;20TW@ZC4YD20YO+d7^E=fS*a;aB}Em3jM#L=~uYq6IyMnxtbM9trpYEAiy5W-DA)rc_@KUj#cJjwsSSK*fK@%-b6G+Ts4!pX$@48osOsRk6%XCLnh2t1nz*wy1-t9SQ z1Z2kNE5qV#pcbWQ-9mp7RwXnEIVsw*PJL7#AD>smupHJ|?GwN1vP|4sQ$oAEL=3e$Y0=s)eU8?Kc^F`*%Ko!G zvEumlj$TiY4jxw@|JpMJI#6Bx{Lzz?jS*hYep2W)NN0LFPWU}rp!8f4b((~Totj^{ zh#9i46y2_C0T@O1>Q~`r)q3;vC*$TBhvs~ur6IoGWJnl^ar8H4#aWGwSa`b( z1s%|cNaxPu}qqhc~Oq8U9OWGnYRtvWIMp#`?(TKyz*!@MseOQc)LzH}tlc zd~*pj*rTv4wV2dQH1Y?ZQ$TaqdQ*LhPyx@Kg^_(t^?R+12-_dUS*W0Hl+RLJFqM+u z8Lhj8S1BYIZT99|x~+UsEA5P8_T3cO3Z^2z4^!V1@9gE+0=iX~rW;A1ORJ36)q=|ao%U3`4ACJ-;%WB0C4Iq|AeM%#@B zk-GGqgvofl+9}LKTuQ&vH1m5m`)qX_)R`phe|42wNLz$$#2KW+_rrbfT?@Fc25C0; zryWHFJvP2)?^6q7&(x*0o2{!BUEH!$6J&E(7e&YB?!K%N`<+onHRKDLMY=q(SL7uK z46!|P?*EdT$J@gmIMWDP)g)=qck0vb0Z-M!{TpNP=tpm;S!*t*y6;S*R=?^);$;{4 z*<)%Wldl#Ukz)Vji(K13EdH*~hNZ$#BOJn1EY?2TD&N22_fQej`+ z19HlQwmJ?QEp~3u5bBb_F89XvGT40RUQC|YxjDNh$8=XkrHX2RDA%YnV*AxK=7(~~ zoaRm9z%y!-nkhz0#BrOf9q#we7U)D(=YF0$lbm+PiNrno%|`~i8N#-#hXjUz9)4=K zhgS+LH8HU&#u;sce$VSJw+0e?0#)Ro7BdoG-SQ#R~+4uG2ot*pUsH zKM0NY(pa3bK~sm92(x6&ja^EMDr<{A(TDDoa^G+ePMop5Mfmn-?c*Q|wt`w-TE(fX zI~dA(44le(Xe9UF;21&bx^`k_0{%n55r?^^5h{z-8MIy!Rzes}?E*4NmKZaFt|d+9 zZw2d9E_8nOWH^6O`qLjm#|s1LQjNM~_bNy!2botbowqs&H&1VYf`g10E_?h;o^YYF za`~T!O!v6#n22t5^g#uZC0jf6s}PNX$2_jUuH=QFDa@1$19v4;t8RJyk}fa6cMccw ztmp6kWdGvETC$I#Sekm({EpnMf8cXpCVch48ZS1y-f(MSr@VWm@Hw(?&~u&30b|s zshaalA?%ST=Z}r+|DZb}sMjPKy@* z&Kgmc+3M&9qq)Jyzw6_qzt-HuR=3hu5ABpP8MkU?qIvo4f`C>g`GTEk*p@m$WR0>} zm{q6d|W_ohwZN>py|EugS&AG5$5cE8|%IYQ@ zPBZ7kM_g^AYILa zEy9|bk~njAMofDkow;OwM^uAj?RRQjTxV!8DQV7+(}JxfA%~fCaWt@I3DQl*HW74c z-1VlI0Y-!C`xixDxmXN|7meyuo-X)&*9 z=M{41@Sxw`31T;Q@Mbp2c)Gl?o6(3mM`ElmTOf!CZvu}z0BLMW4K)Gi{H;c+LgXK9 zI1F8{8#-^Y#;NiiWif>INxQ=Q0C$T4pQVhp$_iqvHeS=`){7>iAZUY4AO>FF(c|Fwtjt}B+9@MzoWP-CT((P8IP}TpJxkq4pFv^zoH#} zX`vJ)SdfVtM%5S`<$x<4QSMiab$WMm~~@Cr?J?u?TW+BJgsDnLxt$w6y-ai zqS+ey!+P41Yp)IVN-r34NIbaz&mKy`Gr8T!w%>8TeGhakq8VfC#i|9~w0>o9T_Sh) z-X+@%B)i%4uZtGW9(iV@75UOvX;*rK8xp-HO)za#yANDcZXGhb{mzNB9WPsh`@(9O z>N_=NOUB=u)G*yL*SXG7F$V2JIOpu@-2M)mV`UYNYXVW^#IJ%bPurcTPs5+810oD? zO2s;D*`PX}E@8l{f-kJAjW}&dDVMbPsakYHM=1HjtR*Nc|Fg;4%nMb^C2ix^?V=cy z8x<0B zIu?&O!)yb`B&Y>cv=f8_&fr$zvpL=!iLeRge&(ZfI#{V$Fcg+%|0@!3l@khRx*WQ5 zqmmvLtk3kb!XZ6$O9y@xLP%yL8Mp5YYB@MBzuEuGgn5Q^(ubbI-_O>}ZrMEa)%52- zl+6zv3MD~zmq++td-sFha`BK-*H=?BQyX$>FiF3DFDAp+d|R!&Rix>Bd*{00_|QiF zm0G1<)3*TuHzqdRI2=mrq7Io?c+6sE&og6sk6d`yp< zo{sKYuSSJup!f<+Aboqa0~t$?^W1N?<7jxFzt*nPH1Ml9xqbi2rz*^!runIW4Dp>}Gi2CSwv(UvI&XCE^sy@6R@~g+CPu$A+B_MP4gEG5el=uDM1Fdq!R&E*)Ehb)A(13x=37 zz1GZ@upoF3jc$-pTTN_l_M36z5A5jChM&$nPl@esJ7#ooYUknOKleqWi!Y&S8CVuS z`-S5b_Xn&vX4&8tl>hGGEHbRdck7f#H3g1Ep$mww&7ghQJ$(zXW#r(CgDsEU@IiRxfn50K%IC#k(uWqcsXab0VE^ z1{AuVhmpKgxI=sgH3&`&uQ61ZPD?$$cnz!fcU4LY(-EIcA0GSVana-#gKJH}_^jr; zBCo0|fv|>|4P@(THpTPBzrc01(%y_RaCiq^Hh&9g@M5%^p@T-hccE$|#qLw;gzx;wU-YU0n$av0hwPmHD$c|Bq*yG}4YSU@PRhcck!G0stJB5cCyK3&S z;Ex+GjyOYAZH}r;=cd{HaW0}MleBkW%Ud$ZDDi+0P2jJaj>)6$>XNFXuKMk~&!fMn z;c(hF_qh0p`lRH5x_RR&SW9r=g)~IGd)EA?vZ_P@_lX*Ihit{?=UbF0&6kGG+PiW2 zJ>mYgNnei%#u;RV40)rrxKk+Pb*QL#H+apis+(BVo(&<~UZ(<18BW{Ze;(s9t4SBY z`V@|V6_fcpb5Z`o-*Tt)HE!58(8g7tDSKNW2RpbI!-4Z~mjG%CryeJV zo?$0OM}Y0MicmYk_KA*EVFTk@1^Z;ajf*8suIF*Td(n25FaBap<_#O`qOySSWvcKu z_Vw7Gj3I>_c=4(x4;NHZ8T-*$S7oPc!Y^YiuQz;AmSEfB)7a^visLZ*qB)MsUYBB6 z8F>X_nVb!@<65gv!j-l+n1IcU)vP~$4Dg@HeRz;~`R7p5@_^G_dEi0jX2lwM`Jn6B z(&^18o_!K*N9&}WTf7?=?p`boSh7W&Goa6+x}dE;&uQ<7mOs>RX3WZ#YAmkx*_VI* z=CxR-YU(WB8}hQ#^ZC&`eIc3@uwkXf?$=lu-RI5z$=))zm-_!puMnGNa8QSo*O)+* zzK=l9jTvOk__HdzNSWAZuGPlKBUGgHd!9_Ke!(>6bg)ihS>NNwAuQU7|_Nfz*;zc5}<2A%=`xY3cDNE|7`?AWC;7@T8K%ByY0IJ}oxYSY{V_ zZI3%l;my|q?hR_Y*#xf^YSBY#t~w{^LmFt*!rn{8 z&i;Mfvi7=My~$j*Scp$#zcnXc^*kZjvA0S%kkB@jxa(@;#@R`avjyB4J)h4ah1{PW ze1EUf1jumgwO2bu8cRkUl2r~CmCuS0W-~b_eT>!sX*?r^q>Nd#X~6x}*_ZJh(h5gC zJI5%HIsP30M4`=?qiY`6GA zrvEFJ6z|%Cex$l}G#d<(vUgCA0=3Ehy!Mis_Z8A{+4O8wFVOK}vzq;oB3K3s*!pv` zJ_o=50bwD6sA0uv=F?J6k}PTr+SIIxlxD_KuG zJka#{{68(RTf2m;mAW-2krV5d_C)>Kch=7yu<7vrPT>VxjUzj2wiU{foZkak{32eR zVfA^Yg9`b5+NQy-Khu^dS{1>pGFDj{$)X{FjRIOXYd`s&9-3<= z?zq+Tu4480M@_F91Bu1lpSmD$vbWbqGHlQlheZRxKs!#~AIvV+sc7)XlS2p%i)?S+a zCK8Rj8%ONbo?V=EqlgCsk9TieOuNk8{rie8f%$N36?AiA$bJvTP3JP#_#S!m$<0$i z!xbgA5zZuQ!+0I{@K(`!0ZyYcDplTAmH+TfofBs21*xXznxs8k=&~91C zF$~#j6hhT56@T846FXm6ESvTD2wkOgX`20ag88q%Pj)z2c{AiyY1EqoQO_u(Jz_sO zxKZ|-0KJTlPb338@M*N*I(g!RLwRYKphl0a{`;#$ekoNR`7yTM$4FAAlG)#A`%a;!iHNPB7nGGU$M6r9QMjqBR2^kwdxP^s@5usJgJyJu^ykx(1$5amM7vp1K{qt}MW3Q&; zFkcazDI^jh8N0_@QZe{IEGMX;_h7$o6Sc+7dtXk1D}Mio3oA`+VeJR(3OC)HRG;L- z8TgS%RvmCC$H#=;?4j2pge%jwy_`aa&pkk3Jz1 zjkzuRLFHQ|=}Oa>@Z8V`zIB8TWbcJ-xaho9MZ>baztrqD^@^LQV0)1@KN zC>{<&XbVU_I<6s(v(JvBD4kkHl}bhx+!|!i7A^CA9Z}0U;b9k+?2GV^)S6WG*y|*_ zD7Xbf975@L6%TQ05WrbSt*}+KI`L9p{mw1=39O%%+eQEUu=(b>damZ-I_c0tE$lX& z-9|&EU$$)OF&Oo5FRILMdg%}Jmk8;`M(r)rmHtShE7|0hA8~LzH#iP|)9RI)V{iCB zl2wgk{MsSM`(i$9)h3&!erq1FLTq*-uBw$@d68fAQTMip&X%%~yFp}kt zVN%=_Id2|q2=*;yQ{ZB~{F`qyezspJRnq+#7i-gHy4Sbal+goezlYgwQD4eszI&%{ z&$D`4PmNoUs~{>=pV$!#@KrCBPV#eS@pF3I6u7_aZsdmJw?jSlW>XAB>ZDiM+lPA) zJc*u>^BO1$PMm>*ZQAN@R7YpkpGS7iuaB z3GRCzT_|h$in~yV@&0ztQS`_cTe0V@)luovXH^bQ4lEhL{5Df*u2ftc>;BzmX~AaJ z*ELt``ArN*wnxDQw~VwWy-OAcXX>d{wNl$yncIP5lXr5KM|^r6E9o7w^P~Of)mvM& zniXt{yh3JrX|xuPVGx`H563#LB(J`M(dm)FsTOLYCx-l?TsADtv!!xqrU&hr+rY~z zlfgDw*Isy@A4H(Sp>r9pGkNi0{;ZAS-MiIYa7^qP zg4bAf(P2w5oxuO-huZWsXPbXDK=H3w{ng`E+bWa1VuJ%6Kmc=N!%dQ(jeRop!mh>) zm1uYp`!DGO4C!4#;PgB7m8%1|_85s-Nsk^qFkbC!*vqU(&mMhy^3p^{8;)v1u!h3V)rp?!dtldygDE;IaSMv_pG# zjlDa($D|lDsPO;&UrVylj!`SZCtC5mKKP)OohwT!j@{{ddWY$RuU8fhYDo>stGm`R z`he5;$q#=z^I`9Xz1#K;TbSD#{YLfA4Ir=WqFt?36ehOr+hcIB>*LCA*|#lE|Cz-l z#J*f&T*{=_8gc1Kp7Ph{PTQknE4Hq29N+Mq8Ip(xK8Ocg+Qw;38$1*{n znEi%U-}*{;vsgiY;b@_OX<^okMQFr3c6zvALQtO4)1M-W24vl8F zqb|e<=qaQ|qV&n4$Vv%zqCW}6tdy;Tyw>ln!b4puY=F``RJ6GV%2JTk$h$+zq;?84 z9(Z5B`ci?mjOCDfWQo{>y-dhLwI$*X6*IcHatu<^WTPgw4)b(AxQ=Qiu>R01S)wjL zf=y&>HAA#wm)&&XOxkyy0!tBX#AcFd61q^Jn!-M#T7_69Zj>te^N;CYWNAKsHYUq> z%pdOL7g?7lz9zs@ts#3CwmIWSg7xeeQX|A$ z*m+1HCzJoFM&hR<*)Wub4zgR^wlg;9eUmxuL>_UBfJqc6;kA%fjo5Ow1h)z_QQ~|; z?%u{KrMghI%48eR2r5*#*B^ctG7;<(vH{bXY_MF#3TD0M+FShHn>qsX z=xuBUp=#hV{D)j!cDe$0x_vFEg-JKJr#{ix5{xW?D-I;9ggP5BN&ccjS_}5M5*ySs9K-8n@B-u&`Tia0j<5i8%!uu|J|pg5lAbA~qYTdEP2~*OF~0ZP!zddy2M7 zpxXv}D;ugG*AhB+<|~iw5|=n;Dhn1!_uM~yWNp=I4VV~I*AwKXfk z8B`P_B|poK$zW(6yLIafSs|oD>x{^chwXKQ0~^7581OsBk*`iXEW7(jN2l}+MK2& zvJ`6s&|*FhB3+`3!=EvC1e>qZ4-8o& z!OpCltK+jYY7(Rr+#LJR(EQ6}@zyC9nm};h~ z(?#MOLXOp@?0K?Eq7K2ZQ(D(;p3q(mu^pd6ZITo8XRacj-JFDQ2RX7$4uU31&)O&r zx0J9$al2F%%$5*!9A?`ITt(m!7MK0sSnCZwA5wP5A`TS@yG^Ja zqtp<}G7pq1lfw-UJlY05MDha(-R84X+>$ad4N9?nh0i1n!R2D73&oc!Md~N zNJD6)EpSjl>SxKZcK7YHH)l>a&8y`4YU{rp_?keZN+ zOHh?myN+!#=b=JUSz?B(-46akqZDn9w`;)GiDMnfdN(1kSDH)}m)q^F(I>LKj6H!r zmSZ@8>;d{t$nDG^%Yb<%Dm54-E_$(r%f2MyPXr?qa@kEdRn`@E3magu4#(QE4I{*Q zv9#U;wIe1DYpjKYwj~p_5-B$sziz}yHgHMp1$0;`#g_%lMB*@8Cc%q{4$KlAdL2j7 zwfGBe&u6))f>Jg!0k{))O16I4(rp&WVs;&fUrjR`PN<#P7Xo!6-Uf?vnEY;xiBnN0 zrAZR|%7nM*Z>U1rDPhFu8`s;T8*MtJX#3+fyc^a?1fU8D>%^SGbzy`qv75P(D503W zoiaLNDqAgi!Zwme<>pLXw^!TJmtLhJq#QBpQpppr4FZj(gjOJS=(x}ZZIO2UqV zbb&e$AIBRyjk>+IB$;+OVFhtPRcJDs#)TBN6Iy|UUe9eE#XLc+SRF`HxDaUqTe}%X zxD_i3WjZZU&g|xqI0x49q9VjtV{(5G;XP-8-jG{^Fzoaj%_ifTL|r`oi)iAVY**n) zSb=}jGa6B&V#)?e=;KJJ3zo3U@V9(A9_r{e_^3TXDlSK@9k2$aacNF> z#U3uhGf_S2px|8&b!7U&@q^>Rh^on_x=F+++>}Pv0~g|8vJ272#qBzJ6UxT)e<$th zt1~g^B@4ETWI&;C=@j%;pl$xrtw-i41JQ2uc0`9VYMI=F$-s^7GB%Pt*^Tf7k~a_? z4JPX)S`$`*YeX7_IKl~b5&WZ`Fk+VB7NkK;v9KO}!i*4`z&n7|>fVhPgi1U7g{&dH z6@hp*ZvKpDlI=kCQueoQT|zA-Ooyyo6NU@O4w1&3jW5Ry1h$uT6A~zi?Bb|xa1`ol zkuh7?9J1LQkH;U7+_U>wf?uPJr<%=C2cH?n1xdohQ|%hm%~!xCV1eq2Wvm+ko3Fo0 zbOil@QVO*RaAem%t^m?RQ`G`C69>6rX(NvSEBqpZnk3zoRF}0IuCT`I6f#Caf_d_o ztPIAjZY(Msgp>zQ>gCN86x}IMNbwf@S#li+#Iq|u7c*G=&rl24Ib^lKr$hG$Ujud` zDcDOusgv05ogr`pYnl%upbK2CkZj#gg#hcZn`kN7nq22LaYF7#KzGIgsEBG zq<$(cAwRS0o!~G76=xJZ46C?e%@+2LZj%c3IV(-ZKI}+bCQ$MnATP>{#&@ZvzjgT0 zG=*moMmAbvn3otrLvU;w?rgxztJpqD%)N)Lm6*B$8&QfeGSy%p$jB57y;lB0HNd*0AXyT0L}&w z8Z0Tql|Qp4@Z~Ct`S9dEEv6P@yak@LV6YITbu@rsEEWOyD}eBBJ^*qVECbL`iBS-X zImH+c)?xzQII{ucxeS&7DTM(D!{r9x2moOg>H%E9U;%)^0A64*55S>XOhU;L0OvE9 z0x$}|U=|Aj1p3v_p9<(Vh&EDU43rCWf_G~%Oqrf0VDc~leK7~{8jA%0dIAU?g_*;n z8B7Am0T5o10MJ8=F_hd3Gvo@51MnNG9~ulV><+jHI0ii!7$hXXb#*2pgn-V&ME-Kz%WqK2*?uT2N%Hcz!TS5917rJ z0HLHcfM&pI0K#FL5W&a!0GIz;0lbTz@#AbK>F#$AHK|D3P2-ZspS|;0G!ES1mFxU z<^kLF0{~e2H+VFJ#SZ}oGIoa&8~~s?5`N(`+&=#mxXZi<6R}uWsHc7sj>MN9m59x;CgJCjGvoK(2IYvt`abI5=s2vKyIS`l%V}Uh6M8P-$GlOoC z6zatkielj*Jrk?${{0=83T6ZZ7ko^W*jw3v$z2SMV;!&@ z0tK=V=QrrN_c}}5!}Ur%v-V~{0Rn$HYk^Ne4uU2iWA$}~v+x)67t|?h(AN+87J)+c z0ERuwVrL-1v7n{yVO$A3;m=~HB8(?NBVY&YZop_NXej{Y0D>K04d4XOMPLW41MnvX zy8+k;U;v9f0GtXSlspO`bUz&}fKz~*0Bi*i+7tme4L~UA10aYX8GsB>HnhnB&=MF1N;(0x zO#*HLuo^&U6RZQh;3A+Tj0J}GlmMsz5ZdGcI1v~IO1c9G?j7fzgHoqd~)i0R)bB0&qWoj=*RDjsivl&=^3lR;-zC za5S;px;P({d$4=~SiFuQ_h+u z0tkbe1Rx(c3&3OmK@zC|Gyvv-l7T?T(}A-9ya)UNWE%<~%!6Kp#Q``AI19jd0HMu% z0DA-TK*mb_z*y7QwpF7fKW0Kz&XHK0D=hCOFtQahQK^fG890NVFZBxDm}GG zD}`Pqz$`yA@B(FjSr8+0)@eNM8P9KOhPFC7(mdW zi2%L?5XPenK+vHwC>aeP%z-%wXmc$v2i^w$6!5|=7AL_UFiv?u&a3pS1;g_1a+kJw zY~Yd(*Z-iB0=fqULPC3>7guPp2xJn_f(qWijKMze5@163!3zLmF+j#W7+_Af2EAo@ z>A#XY^}o%&f8Xo_W5XIW%XKjOKsJF@p*K%J$mzXmAOgKP0rmu@0Q3R10|p}(KvPgn z0P=tzmi?{K1yD)=WCAjd1iFR72n5?NPyzq~N`TFaWAS)n)&DH==OH=)3TQ5X z&?!?;2IIi)127xF|A%%0&dkft_?Uyn2J!?ihJ+z80zw=MoB=kqBT(t2{{&wO zIxGdQo(-Jw-{N}zM)2W(8+HFy@S*=6I2sI>07-uX?FG`R8Jr+{2=9T+F##uhnck8i zL1yvckqlr8kXcdi$V{;2KxWwh2*i;H;1>XaD9Qk|0}#rO1`uSH2*8g}IVj6*4SIJ_ z^gtgo&&|KTJ5Ju9kL_hbIJ`k0;iJG8 z^eNIu&!M|eJWi=Mzo3)#N_`Xq9@3l9+m-t7yaxS8P^AALaQlF=K`}trfr=oiL_NUx z2h<2%SqCvb5C8%Q?m;IZ>Z=0DV4wuE4(x8XMyMaT>cbd<0)4$uRk2bZ7`n!SHwH$- zP)2VtE>%MHQ~`wh;4f$>y*YVL?>m7~)oTF>bZiKS7-;qkC=3WF8-bZW2p9_N-!xz- zkTszof35-uU3CI*IDilqt_BbS%5DH&01yJo)&QD;s)3Tl0L}+J1Yjh95V)-e^|lp2 zFjEzv-hhw6nAUes@3nz8#A`v-z=VL$jd}w^0k|GO7@HCRHvY=1;f(&0cpYq#5#N+y`>QXMLq^%hWwCqLp=CZWkoV_G{p9NuYe~5 zUJQKVl={%Q-a#)bR{f6$=*|D{5MmDq;!v(nSx1l~i@ZBbwLVMq;a1>I7-Bmm-d3^r ze<}uoT$<|jq6!?xIHhVbNRoTh|LGJG_efyG|B?7&L+}qjM*_GIPhj+pH3h7pgCPap z0=Xwx>Bau{_L%BHzTOhu0v9obidhy0<}?dNsI?MA8Cs^#l+`P-SJhRZSP(hA8GE3u zO-i3d1OmE&os#QPp2U$d*r)S2+~xR>%bFzXI*E1qjE7Qki@DeK z&^VKTTc^f)8g|6VGk)_w*te$WOpVN{PGTJJ=J{A+R5s6=h;}QBk6f%quG#kpj*CppgPy;qUHfl0_cH~l5<$gcIQ76{g@Dw*=W|7jq{!B%{ z>Ra=ljvLSwARJJZu_B!xdbIj%jYTHCr~Jj|sS|N@lMQZKurYmagk; zU|lMi=$08i_K$*CL|ZtKiVMDqAK7pW;EoBe2OJum()n;}P00zpsp#nY(z2Kj;4 zA)@Afm>nao{ww8I&tHze-pZRZ9&YUXb@(yY7;?lTdH&&T9wnJJi*7$E;}oA(TO0oM z$gr(>x6_1!@w*~Rs8Q$F8FpBt4~dt%#MGr~cKAB1Uc2B@ih)D?T)%rWCyymxMVdX- z=G~ceLK&4N+q>=Y{wyly?Gv*qeqc3!(DF)&aP0XbUvH&E)lHdujT*H1l+llpOxf}6 z=9@Orr^~+!2j*oM>GF2#Omd~E?G`t72YzmTh@>)PY=n#es9&a{X`?* zF*|%o1M7Eb9Tx3l7kp1KaC(>4YSC`pi~rF~Y`Afo_o0+A4vWqzb+`8vpK^$o%j#>Q z(b!J^)s3p?8NL=K0(Cn%f;K;OYO!$SXO+Lhe%Gv#UrMi61;qZuBP$Ko1g`Tgo|H9l z{;gjEkAJP?+rEp_oO(H}OpR4Bza9QZc#@=;Ggdr z=K6E2#n#mO<*v=I-`(uJI9E7GHEKtk!B-&dV&|TRx1t@>#`y~ezKt}5yI?Mb&K)vi zt;)lB@^j{G4n-GV2J^P40#Yx55p5nINe?man{*wWBnDVg{kF0-0y zIZ#yZVeFao1;?LB+}4Ck-_m=xO}+T?uUr&6>Zxiw+e^kQd4v2c6D+OZG%1t|JW z7!r}r&sm+&dS>Rphff2g{PWUp{?FI+o_%hZ_87i?>m4WE+iR!m@O@+6(mNIeZ(7rT z#Pgz8Hz~6Whhy~~V#mMi9-hm0n0oNYT)TA%T`}ULe~A-6Zg?oXWIgJoyTNx(rf9_< z=enXMP7R=~{?N|yRPfWsVXMOXKX3mrBv)wWmZPOwTI{ZB_jw4$zvPIPEcm&1O`s3= z@KiFZti@uZU2t{M*b3^c_hyblc-^aa4L>_!<3z@4&HKfT{17ToI{z%(hD|o~oUveUknn;G+=&x0e(A@sauX}O5 z*J1z5w*u!DU;Y?y+2Q1prN!d-u9yiy)T4=N|L|6F#gC1H-UzQvNttx>!1nOc8PYF# z{ENSH)KTx%p7Ao9!ML<;b0Frg_%*PTzryo^pX5<~K508REJ#!pK<|4BZ#;RqIPALb zOs79;GWt+XG@) z|NqZ9C_W_QR>>kq$8nORLYGA6Zc5 zbIQ?Y34i;E$DapJ=wly9oDr*WI$W>r?BA{P-;*>VEAU}<^6=JIC0d_}Hya)< zDcv`=&vcjMq27N+Z;!6JeemThfU@py{m|%%B?;nc8LXgdg+l9#yTnKsgoN6A<_Oe= z7iu*pSAbXdgZAp)LUSBNvWtxkpFj=9A5lml{PD0yqZsO$FQlzOe&Q=&Y^|}Q zO+(q}4~dZnv0!#(qQ zUK&F}w#ZO}&?Seu60oIa{6-UJ0QL+0_a#`=e!p(pa44U1J-DRC%E?o7d`)x`=5Ci)rU7*rRW6TJl! zwnMCz&Ibj)7wnMasF_buQ?&*gho_Ghcu+a<0nn3#id@D=GEr?bXwjUZo|Vkn4zdD< z9vBLhgsf!KjgP^YzrLVVL-Q+O+PKegV_WDx9fb6HTtxr^I}P(s-1tN26W>C-H{3Ya zU;q)!94=!-&EVPmZhRD#(2H8~6NHyWjEqBJ5NLe02oCD+iW;6m94jsKVEl(_hR+N2HVYp3`(20858`GCf&)_-%iiqrgPEXZ zc5ih?m+{o>1Z-?|InBFB&Z`H$Q1wE=T%-a6kP8c6AL!Tws+!S(s0j{92PxZkG|VPZ zASYCtmAxUEMd!YdRaL|bJ#DJo-l?d!~g4{^cF zoGfW`9Qek*n17{Rs87QuU)$G|4kk%}4Qu8ZsPcx{?<>uP08PpU8Q-*fU$7(`*><=% z%pd@xwqfQ?E3E$e=5?5%fZX;HH)EASDOz||Zcdni&=|~6R_^)95RH5ASECB#*jCFF->p(E%_!R@@rGFq(r#h4n*dXZW9^N zuuJ*QEEGdq*L35+Tl^dBcAGuyk(#Fpb@$m8VKH>KPhN!?rjU%ddAVdbJZp;lzVPJn z7ka#Q^5maGy)kiNf!jDKD%?N1ni#q*i`)4?qd}G~-?snZ(7?Bx4KuhA;b7{nabN_it+&W{@A5JJ zB2=q^E9Ji2^Oag-FR5?XZKgqjQlpW%O>ZU9#^>1PaXTMUv*ZSFZ~tiif48?6>czz2 z;!|hxv1M)T@bSX|DGVPp2aorUmQX`uz2SB~4*}b-DNS!Pi-#_Eajgh+YWez?b(34_ zhdL#TI1KKiO7v8GzWl$574cV=6s5R?6C=ak{r1o}P5zo&O;zBxPJF?#S#UNC@-$7C zspN9pg4MR=zZ%XHYI7dC7#340!PXgkDU1E19bliQR4D?5gUNTclehPe z4(Nwp$ZH%9v%tBI4(vBpTh35B7cQ(7G336)HM$LJ{M?~-E*xDe;!!^_1HX2Vv0<7V zUY?`!FXKieo1iE*IH-lxS<%2|b^3 z$I2$G(`4V39y^}^Ck-1h6AsFB4OA*NlGP?2dWkN)T`N-1ihvahI6ts7UhIEx z07wQfe0ICgG&HkUPRo+=mGn#0ptpoT29*Wk*LAP=;-$vjkGmk&&_IDuJF?jFF>r=*OJ>CzlJ7SUU_oi8IhhC|xZScOn2{BK@a1hsS9M-DgxAWQH z3KVZzCgLK)!iK)v17AG2joE&$n57(g_%2u)(;%K6G_7F90LR$!)f)?08mbYK0H1Ap zvj6M#Z)-(*dNH-8ZnEXsp%>_CUYJ2d_+c6i?4s7##e}tqVTJ%|9%`+$T)1RtMSHP0 zODY@4PJecAR-tle>?Qk}kQZ9lfZEAh;51LePo}-e=VSUPbOH-~`A-vk>!s+=Hp3K9 zPFDtG+Akb4)Xu_1S<(VZK<^UxifsRz3`x71s8eVY?KAS>YRw4a^a$M5giysGLH(Vc zdAt;^=X;#|MN`;R6{C!$c_3xiWei*Rcb1f)u$x8*_Zzs&iNByS_{R=%E3m1YQWZSZa@9%r#3YyjCGz(huGUX64)twk7AVIR zKV6rLP`m$L*w6RE40W`Z)Z`}0cBzYT3TM^jl6$#`lyNp6P5NjJZx-^szH^`@1++r# zH}+*bRR5jb%?UWBkZ>qbJf>n^dVcxrAk?)`27u|Hnyx6IJVC{Gs8#_Q`DzW7hl*&Y z`Iy!@owABLtz))>D9q&bC^;V~W+c3b0i#Lk7Ul2^@fTG>loeiwqp(PnP#XjBA3B54 z@TRTY)y-eN4BTbFvQo_-x^%F@6eD>jbka0ntgS89q03Q;x#=2o0q|W4Y#&JYG7g9X zP0)DK@Tv1l0Z%ObPalQRncx?URZWgGT76hGv~EE6X(g|>Fw1BFAHsA&e15761OBg+ z^z?kR`mYalf9`PVzVUT8^a&=nXqtTG-<7*{38&ARoAMF^@SOd7U;MftT81g-pu%=1 zIi8dnF({m{^>nh_Lcp)&ji!O7kCoi(o6z+7pTZ;>L5yGd7_F@R>CYkWZ{DX?C(nDL zn1INBcfIST7d23)Y3U51M8>`E0aIgc9j2Mu|8$BqMeG;}*UF;6ETk)Q5NrBiSi zuUnRFz82*jK*80)Y`Ru=?@=`>QERT>JY5GBGcyzm=LdxCbwNJp=KXYTA$-^ zYNIWeBHKpwC@XktSrhnt{)&z2JiUPdgPv010zIr8d2%?1IH`C0uBP`00hFOTRA`Kt z=jPlFsqF}F!2PCxGlP2Zxy3DToO#7Qa< z@ymH}C8>4AY{WlIY5l<*p=`C&_TAa@2bSinOgd1J(PQX&3!dE@eclDjdhkflfY~d> z4!O_k(8nyZVC10c>VS%SZ0$m zPOI&Wuira8;}af`YnX>-)OXEdqaeFeUp#lRPPXx{P`u{m%NLu239I=gt5E+)yr@I@ zj%^{1w~p*`Rg};T3v2AgbU?kQ`h>5MZWN3@S2FUvx8#o4eI1`USiG=B)>>vLdNK#b zG?!Jk3cE49RoJ8CWhl}6$En0T`*iel6Oj{JQ@tP!kDCGzsjx~D_|+RLm1t=2CAre8 zVZPHeds2T&%f%V!g(ku@iyPYY<~CaFc?sxJ=Q^N$YK3`VD$Ft}n&0eKHgrKZ{}egZ zL*djUVE3q%-1VtA5rXlO4m__)-uaf_kQ`qOvR5&{A9=d8vn9a=TbeiA66UJ)62Xm( z4q49UpBf$a?^JG#Cu1+H5+#&W)+%TTDkV2CwfGR7e*1<*bIEcoqe9pm6xUiH*X!*b zR)=zyP8XgynaK6Lk70k+<8(h(NuNg3)tT-0lCu-VZY()r_oV~ z!>ff7L6y=?DzoKdXiC!)Sett9*XU}`F*M2-rUjh7bO$(crU~{ryi7UYCsBoH<*!X< zQ`^axU%DM!$fA!^zV1ErM!%JF+mU273EAyxwP1N=RLF*t;4Xq>4G)8{@@iC9cHX;hYYV-g#{T>2SwA_ zL0*^$UxE2H7Tv=@+fqC9e$59ORP_GMO5=O-^Jztw$y7A+tu|>=1@G+wWXjpL9+RoJ z;cx$%cL?g1=#)Kn|8(#KC^&?fbeENC;X3(XfoHuYn$mxo$i>bgE6m9oDvO2cAjc>8 z#hsjl?tudH!}>s%R+Vt>I<&Z5ig_<(jaRH z3t66bN%*f(Xze44>=U*&D$Mom@JGM-S%Oe5-6W^jTIRHR5Eu)rcRR;UuT@mK-yUZF z`%|5B&Y{6D9bfW;uvS^*Qm&R1+c%eJ9yWEt%Xi`q`ueFLqoxvlw*U!E4;t2Ceiy9y zt36`4tf&qL^U@kX3Uc-kq}37js98oi+nWyDx^9DX(ekki*452|WrBa09lo)-Q<&=_ zs8k2-r-R2e<@{WE|L{|*+b=O1DrhC?ncT?vXf-47Fp<|QmdTmVE`yl-+CkyObiL!X zmiY%;?Vfv2!*H!|A_2vB1LX#P)ISDy7$Z-5)h5hUoa5qb4fCRnR@y6Ouc4#9`ccJ@ zQIhiZ80J(??C>C_8C!VE597?BVfYS(;k?R1Iq>{Fd*11pN0v>i*m3^(y#*&tcV6Jq z;uPz5xo?;nH`!;E1Yfu7-F{Byg7iOg0!(*aaxIO>SWxoMR0q?Y?i;6KA;T+VISUY4 z*FD~g1!I4k3d>fy&-q`-zY(8J~=KSAgrP>hJ&!29*jmTCW^;l4V)|t3d zJI^cP{+NzFJU@P*7k~b11uc646>(l+H>Ol8o>;-2d`1!a=OwyCII&q9>RT}YLFmBa zyyG`bbn##^kvcg50abEF`7;_}bsB_R_cN{L*bpo| zrcJ}L)V^pMqx^d#w$Y$-L;UOfV90cBuNZ%S*nCpU{BlDV7W<_431T0a+$k4ED4CzE z%6Jg%VE8YhiT&pIFbThCWW7Kbypbar4#S`jQc(a6hb0gP3J;}2!@*{51~jiBRtl!h zjqr778qgsq!HCs{$T8u}c4FO78XX=%2rW7kq3{?;-Jq)_eq+@r+_F!uB+?j+qiHW0 zjENeaTC&D-fCs-0!b-*rk1QwQrmA%gt{3RoGjzpth^`KY4g3zT?+Zx{h%xXDQ5q1s zVP<5zfWKi#8v;gPC>6jsB!C?;tI`sOhJZ0JuWd|nAAyHJ1hzRm#2%td0S(xrAKNP$}FT?#O8* z3Vy!8KTBff7=-0fKTIoszBna6p?73%LMM$}CBWp&PXX>Ks04E#7kqzFE!n$iA(t#U z$1q4fMP*4Hw9fT7QE(l%bom1v(1(k3%_n>6Wawi`qfwAgVa!JZHJ&so1B4fNU}yja zSO#2aFz89PtDNMJQ~^y(1(LzKhZ-`5;k8F5nDyp9Hn#FM471N>`K50-Bx^ASOxNsS zymdn@>g3`26YmBgaAB-o@7xt`s97B}R^iq?4!Cltjn8&rCWgfPfM@HU1Vn3?;U)9- zf9-~9!*IlhOB@U*-gTplHqu2kc25l&YE{-j*Poc3Pl(;!TR&CG<#GfzFC{%sV(6q1*CunvW&?)-998C+ixxJVkZ=$TM4Mm@5f)~oC zml(|4@Vxgb`$vAU8t(Y9f>ABwNiun!yL@z~2o1e?wR7_3y(eF_Hq$S+kVo`=bYVC> zGaT(W6OOsl*#r4>0k}N~D@-&Ua>x8kW9jL5uF|GV5MA_(vQ;>xsAOO#wa9nFTlC+fkBPDWccc*aP)6-61qlE!_!e4 z0>hWJI7;O@)Q1P7&$@YfgW!w6Q4k>$4s;z(|7!O&Mfe`g_-O_V`3GJOoU?N7De6-1 zD+TnC6x~P8sK?QKX^<)wAQ@7Wall|sn%rTK&eQ}J`?%j}Zu{;Yoqz2l%6@u?Mp5gF zwSWUXr>@;-IN`V5@J3rE%qybU7kr|ZPR0n<}tjDQ?WbPX>-hEweQ*APdJCg7AT zCOl3KPMGercI!dKqMulzJX&WRzm_s>Y1}!C41bevwV2wAjpzSOK=pg|w9D9Xv4=SO zLfYuV|J*WZ0X}li3<0&b-rg*P*K$k9q1oVkI9NBR(!~6!vzYI_K>r7E7+;ZE(Rs%!sk+kxzKQB_)}X zB4!`HLr#1W#mz@+`D?BN^@n?kV_)0`Y|6bD5v58jm4X3Xvk%XS`FAcJUUIU??)h4x zm?qS~Bym)!MThlAI*YWr7FwcYuA+Lk5ft3hW)vLSN$kS%!dq%P})isa!Ra8 zLZ}&Q|LVO&@41HbHwYMd<|>3Vug4%e&kr%sR8t767ya4*VD;jrmM_tOGx?C=C$`la zP=j;C7}!0%^B%MDN&2YzfIpH$^tx?S%8Q$;bfJhW{2Mkme617If?RH@QeHY9evd<76yx|)>7N`K+=kq<=sjG@d9S~Mo56GF5%X5i=iaAcC=X- zjxsjK=whgidfg7aj!&k%IH{G@31q*r^*T2+WE?-!D${=MQ9Q1c;Fo$svLozL!V9j_a$_wZB-`&p&gbr?B-LW7rGzsGJcVL&P)8ciyfL zig2AXADH>25f!-$&kSOYdyCNU!}DRjbAxC+X(R!L!%Sj+=NfS6s;1;I#$Aem7QF$& z5)BbNZZRxJpa(W*Nx0M9^5m4t(Ro{|sp@zG8n`13+DM5Ie>Lxb;i_hS#Vc~g{H<`9O5ve zR{+!4+FlscAN~`D!y5Bm8M!Sw&BjAl#?&%b^zUna7EAyHe88VUuZ*dp3 z!}vKt8fm7aRcK&K^&lRhj;WL=oN}|s*>}KQbPW#8Cic(KIvxGOPWjd@KIOb8XM($G zUawuw=%a-&FM3_G-vbKRZd7UP;F;MxgGveR^0>WFX^GD55%c|+zhGkiT*>tS_=hhY z^P;01y)Fu*eCDC+{bA)or2Z7l=3Cbb=%nzv^Qx`Gbk3`wkP_-b&gM|2<;KQxZ0#@fP^ta$elbKG+1>R0>>Zg!#u0-ouR zKz-tP4g1rZ-=HDp=XDDtAZPACOfx+`nkzfqaR$+BlZ5s}1psy{HTPyVEdJ}9L+?~B z(%BXDCoUmRe0L+A`<7PoAF+ZVG}-plk_SevGOxi%eleP(y{;2^us)@ck$ZZ$I6M=` zfKR)u2IgrY+1+KitP50jwtOt52Q(+y;BTLjL7%K8=jaFk&F&x6MMvcx+a z##!q+HGs6!_Hc;Wa=cWRam(urbT6seN_I9@UZAs&*L;qq{COY6TGBN$p7w}G+!L3l zHxgh|i-y;5hcrvmq4r9w(7=o)bvX3g%$9;IIwK#4tMZ)D-zn)Aq#~kiuA;2Zw@9AH zgD2k9TL|V>e|NYjp#L~yo&p&6m2ACI3=$Y#->AJ*xb`JHXiPQ9)7;a6Ci8B*bNasj zby=7<3D)c+gwZevEB0EwFgYhy39tMZ*1lzi3chS^aP6%X z(17#o%je?;2;pgga;{D&e{S9jqvw%1RXk^R4Y%)u7=t(p`Ygm?hFA~>SI!{=Bz5pj43x)ov4u4$C!?*$ezWAKY z`rAHLA=WMAC(PAF_ZwVwZu>mi60Ez`!U=cKmkh4~M5__%^4ed2;rMLru5d?xOBC}q zL}Qmdhj|d5)L+t$$|6r{+9 z#xtPLrxDSd8EaAr?D}y9*Yu6{{?_2`y!c-rj;rvLwsK=Z3KiXaY89dG6IMmNnS_DR zcfQ!=fhKOcdDH^1&tIR0bc>+0PB+X%cr5_ahTXAGb=kJ=*x2D3&r9aRkss4B()o&j zEYFOVyNx$@C&$yGYh!dWJ&Gl0$Q>yFRfP|Td6}5gUt>eMH76B{xX;CT|A7v0kWiH3b?+TZvi~WiOckd~FDpxV>)ho@(3+Ugbq0-xf^~-R z=F##P9p0b=T-D2YG6Q;fz;*M2E*;2x^O>>g*}mPSbU#t53)U)JW%-S4tHnz;x=Q(Tc@h|9_O`m1#C zh}ZI=!?hRq(XlTluP3zTeafQ}H7MupFOmy=8_$PA9t^Vgw}0ZD3F%~0 zqAEDMsQ_>gg3kl=XuLV1BG7@?A0Vz?4+^n+e9#NFaLBGd`A+wbH;!Mdonbvg-r>@k z5}~()pqvSLzoLz7ALg&vZ5JpWnK%722#^pEyZ@ct$^i~wsWCrf0ggVT+3JcE-yz&I zbZ=cS@1KN?o5bo676Ie4kEC_CFm_8q0QH*TtG&O8D9KsS~TgT4o`XL)QntRPV@2HjsHzQ&2(I*&u61-`@Ad%isLMb>KDVS4x17AF>VXudY`IpO`wluzbP zcc$nzu5kzwOSNwPdDGCZlNaT9xBQa4pAOM#tsE+Hi~j|4r1XtMxPU6NKWKpF#zgmT z46lf1so^fj7ySNl;t2H3uUi!@Jf6EJn(k>hcEY~;bI`vv=jjY|dfpb1?o^6vL-dkQ zH|+(D{V*97D3x&=DB?)t59WuQ@`0COU@s}ic0teEh(5iUWqt0pctIy~ zFtq#NoP<$TaU#2H6STNjZ~|tc93>;b^}!AY-}Jy3(5O--ZFxSZj4#+VihC>XjqQP%5_$?x11hwj;2OGY$3Ymmw$#nMjBl~HzC{ED>6YNN~ zc~3o_+yr$PpXNH_V60W(4$-an-IgEArjjSzejtf|9Fp=YTc1>y1x~09l|bvLg5J|1 z+-2}#uB7XjdnUerG8e_ypWNj$?*T^l`$j9Z9}#LB4$=pKF|RWDORL6-&ZgEOi9dy#HxPG{WM7*s-G!E_BQPcx$912!=}W6DvGo_q^X?#8$DSee zw=T!gE3VhWzRBGf$(R{}ZJ8yf{D$31XRI`%$X^L62R|J#PWJ?uH6x7iNEqa0Mm4dY@j;hx9M2GD?^&Qo z{RPSx;Ii@7RR8c_S>Zi^pPO@aue?l_g*E)3mSY(uO32$Wk6#zSqDjm+(W!>U0uGU3 zt&hm!M2iL$p9d8|JyFja+caIC{og&QQ!FN7jd6MPo(Mx!`AFJ9|E9TwwQG))NqLR= zFrG=8&0?YB3&^T`lHr<5{{G{nD4)b!a>;wIq>cHL3T?7K@IJEW-9~Un2m|$JChy9^ zaxicn7Gk}HP?J?khYTK62q4zHJk;Do;B$Vm$1ifOLgt$gNqoK)}#zo_B z&K?n!o9~?efo)(Y-20m%iQk)CD&~Rn?F7Ry`g2EtG%Ayc`ajMlHOQnqNJta&yET{l z7Q;27yr-1W@H6244=|HV^Q2<#YG5Kg@Mb##%}r6g06&dTPgPDCJdsKXIW}(aGm}S$ z2B?KTK3dF%JzKB$yVz&0x9AbG{h;3jy-S$+fM>a=lzeDq+K@zQkKKd#kr;kyKUoOv zxk^~50^$ur^{*db!0}E8VWumDnsMkd3@lbiWh>}V@*`?ruf2X=jcxcVF6)ymnv?IZ zj^g6cAn5YU$Jg_tpLA>c<$MZ4O5fbENIbdj*#yvl&GauoieB`y#6eJ8XGvY z5s$(#Te;TgWIPxmtr-o-g#UET{=azUB*$v#Rzcd3q29<)Gj86W{@c8b*-&VA8dX-d z{cRLYf$SF9njtkaW872%BcA{Nl`c_*bw;&1yw=DdH8Rzb$!}+6+;m8OhJb^%ZzwgN zJSgP=%~k2=r`|rhCG>eLcGE32j}cWGbk?S1V~ICQqZeMwn|R@Wt>^$#-t_G4_#)oI zqZjXaf*EZjduoyE6G`;Q`Q45s?`ea~sY{8Jo3SwP{;KHB7J<&(Pq2F$q=-j9;n85G z;5tQJrpQ1&xsCkZBR)MWZNOUbb3!XPNgPXfMy7q3+~#95~#_+;%8+bxI(pOolQzaa!x20q)qP?f+t0i!P1qn|G?Mzb6 zh}18qs6yHw;Qhi0jrtfK1Lo9j^v2C9 z!=dc*T!V9qL-0b5rN^ve2Ikfhxw`5Cr=s9TKH)qj5%qVY%b!!fkmSrff5hyGD`AC> z(`UH!*>Qa68P%&yspazbaFdSYA=4kT%|WlwZtXh(vYL*01Ca9<0&Wb3?eFi<#O{hd zAfodpU8gXwQ*se}$WT@Xrq=D?s4a!tC7cvoivGmbab;5W zxjU`8v|<@3XTYSr8tH!BbVYG}vi+St5NJ%0XD~f6uY(+4tSC$>mi$a%B-71LBxY3d z@2x!=AZpifFHA@CGb;VkLTB%|TgmpO5o@q4xNoEu)wz92=^NebT5_e%t3T=^r(SQ{ zIdVaU1isOMS|xw|Ei9&+LxiXFx-<4L9K6*Y^`s}b@XgKvABN*V-VU{*kf2uZWu1>)nJ3A#?Ue&wABES=$zxxt89D5 z)!TiPVOcjU=yTj>*bG4bBeUa*Vab=GUys`ypLV>NzlKfeCuURn&OB1Ts1SSl7SS-L zw&D8k^y17 z!VZRVU?4*by@0h?1AlI0R+LIseH`Q(i=ETFRrgQ)lrVO|2R%z8mVu zqu;k9X_Y+4Z>Jk>YDgZ*gjlCw^_2HwNG|@bO}xxNDPN@Q*{g_I`%h`&($>_@Q5_m$ z8+J2Sx8lT%bb4F`6)I^&5|g(ycQW>zuPD*VVF_bs7!1RP4eDf5t2mrB5iG1_EyrwhE^Vq)N{wju@ z@=3Rb$}pA)a`ySs6aGL(xpHLT>+z2$`>Mm79y8TKSv6w61xKhUg_>nB5&gNaRP9h7 z4#vxN^tAcQO1PLwx;muG_2Vy~+iXfTJ+XN*&QM*Vg1V!=HZ@UVS=d1sdL+L6n@X{nZT zjRNA7@#Q?K4nKc1Pf}@tAt37V%advYeiv}Y1rUv;nmOsKOiFN}3@tw+yIQ&6NV=h= zKDCmlth=?gLB~JOsZruv=E_=a{#u-;sL2CN|*weE5TI|lCM{Af>`RIHp*8`{ON`d9?kW#~uCOOvVa+i#UH85bcz zGw`}qeKq_r>7;Pd8J>YPFk((fXsRSt()Kv| zg?8&F&S3eiclLUnDNKmR5HS$J=ryn(hJNmkl$z@U5wpfl$ZpU#^w=q6G+1!U>Q0b0 z1}++Ygvyj`7z*jK;i|!=;;`7xZ&U}vtGxya;X_Gb2>6@ba&E`sEMD&Pgj;I!)xF}t zOFYE$9uKO}5_gadJsRd6Ma0Q?llDHMk*|R3zFWi6pTjc4yo?e}8m>+Tqm@L(%E$Pv zS#RV~(VEffLT=AXSeyx`gyUWnstjj^2h9>;%&qP@mi4vnaL#GFbO-3UKEMd)J!yIv zYL&nu3(TtRC3@%WMQca)nT zyK?;^MLkVbIdo?VRZ@u|=7M@j3o#EdyZi~<#cm_>d&P7WbJY(W41!N;kQaR2Y~kqH zewG{Y7v0B68L~)(%{(?f=e$J@QqCB5L=0sOFnQ0p6CLnyM(J}gA2NZ0RlsS@ONe}1 zq*n-Y->9cRIzO2f(Pw^k{wsI`tmz?;1ti0Jg{|9%HT3I+B79>9YW=d!KIga-~S8VzM_2%BEn z^|lXUbW8zAyY;pznQ&RYeSu!84M93^+X|8g8~BxTv)-t~!0s_BgP21e0sGWlERm-& z?+wLDsCPvW71y2Ps4( z{b_mM8Yr;zp2kAmNYb`D39qR6UVsGXrePrROOI@!8Jg~K_p##Z^vC_RFky8dQ$b!u zCT{`5JQQhRN>9hTG#R}(cwd5b`&&`>7$m>FlEI^ME4k?H2~yYE{D`W4>J-naDN=Gx z)}bVRuA^U2%8Bt1KxLP=WWb>F+w!?n9iTr9gx3bMsvXv&i!3h$qG$B!&t>6gqDH_A zuaq08rr*>(!ovdK&7vI9F@gk>qo>Lr1+#Lnig8J2T)*Fxmv z&BZES;4LiivIvdqs}T-tEDWJ6_h#1rk|hQ{sVw&A%o&y#{q$kOAm3K%pUSxFsUIx8 zMXz@(lzm8!9O6mO{L}~*{WhQy?t+%us)>WXOHYDkq;JL|jVKx>Sq0ZUv3TN&7!vM~ z;s+T5;dWP7a;mjvKsc%PPoH`-wbChzXTI6hm17w-d+FaSF@L5U4slu$Mz7Ky-EVj_ zcgcedQdsh z!Bz;T?FIH}@dy4)#Z)%8 ztmL2xoQ3g@txiU{V8@PuAkxZbAL2iceTzpAKmljzs~Kap=V21;F7H-@vGMZj2t+bZ zFdv6>rU5Io*4W))6SqAB0nZkvS0QE{nwS)mO0Pj%G_c*XEL>Ev(zE0ic+k$&;yl3H z^-9AM@#^wpRL3N@^6T!l2(}q!~i1 zmA{iJr0ML8c|CU!N8GEGRqd%_GQ?#a37g+}& z=d@@-85Nu*^qZxjxtk-N&wr^`HUC?a8Y`rBBW-i&1F0%7{dS(kgXX9C@0D>Aq#L~4 z76#krOkaejCGCnV{+P9-L9V&)03I;{VMI!?JCLL6Vh{7Xi0&f!YNwxPVgL$&}j!xJdVO?9jzh>V@y&)V_VWL=*#x&7J> z?cF2pbw>#H(#v?o@f8Bvau!k?=w|BhZLe-G=gsCkA>$i$E*eHNWi>a-(9aSLL{?)- zQVrq#_0$evMf-+h4@f^3?{xabCZeDA11~`QG5X7=y3MSe?P`s0V5)_P_IpmUOdNF5 zpsj9QPgwQYHi{vldT+M*&B(W6+;HMSj;^JuG61Apu1slqKf6pEG#^?H>z611 z#^G_;CYLB#85i?ekY#JrfMtj1n>$VEMgVqD^{vZWGQ8|E>UnHtlGBfxRNA zb@VwLca`2?@vxc}rjNS8UtPcY`q@!EOY~+{fH3RyX!urp%yF5ZRT(d@<$u-P(RB(B zGlf)mELJi%E1Bz~B`9Y7^nL?=$-rv@*|$*%aK&?c+tTTe#3m#>%WzQ!rv(z9QI zL6bi`(EsH{9ypxs{(8&1(30#y^c(w+p~Y}9_&)6Q9Z|>Pogo`732N+nMn}K{7uzuxe`Q_2TIpM=X3TO2FYr}xwx5}|_T=8)sqF`PWF>aI-NHJ$Hd@ei^{hY! z(=R7AN>Y>Iy`4^l{Fz(Aq8c7nPXfw@*P zNGGf^bf>Z5U|)@sTyOE*=F&|DMZTObGSS&u^6{I}=5m}@e*lUexCL+eB=OEWR8l31 zbdE|%){XGfpXo_wxD7tdyJ6X(wH}XPgln7gAftn=Is8sA|MJOmlgrJOUlZwyPd94# zYeQ9p<(F=T)A2dF%-pb1e|7}47JJDEFYHlKNRuU&J^hOPJ-Z*8sma5l4M)xq16Zx> zG_XE$Ny%)wMLQNsc>oth2Kd`)RI+gyHjg3(FFxepx~Hi68jLn-|(_Wm-`^woN7DTFl2Lbqt6} zt2u*&Gpp}^cc9z~Iq!X!-K1nZ75S}QX2gFepko@o{s)rH@H%=1&*VXkrD?qyH@$Ku z`Puyk!m00}`)HR;LuaZhNSm#rBNp%D3Z?C$5o1WeUpYV0|I$NTX*5%ht>JM;Q!_bf@r6dU4l-mz9~ zEah;doB!w@%(R)E^T)s8VKv~cF#y;G4dokPq(1)j%98O#O5bBV`ntm?Gt>7YeYtgc zD3cbj%4`k#LELPsjd%Sqpd~^-8 z+J0__qD#tfXy}b9$7fBuQdwbl%c=7jdPZuoIBh>~RKZB)W7MWxd-F!j29cGh{nM}V zUs%-qQ{sXLJXFJY9i$^w>oV((dwR&%-L{TIQ;B9c@l6R39bmdfBB%h(VYL z4Z=+Jt0WDd3H`a5o=&fb#}^Ya9&N-@Au{{{O53{N3v!!f~565lkto;`}e-G9>vx?N#gw-MGXwJ-BB4Fg4 z!$iQ1IO-V8zt#&tyKo#w&ZrZ>bSyqD6%y5z$?Be6J#x3u&A?1929aQlfp0>cGcCOBOga(%jCkB^`d&I7kvv(z#r8<@X zYnWqMPwa`wW6UEGs8VIfeLKX9v^h>X-uxup=?<>6?{7Cp-7)*}A8q-lh`+1-G=$)e zixBf6$Sj)?c)VIhFfTsU?Lhpm-iBqPT8JLwhY<(x9>Or@GH22n0_sIrg^gYZu`%b6 zYwJj7A63$EV?A0P9OEA$+b{L&MyQUhrkkT?Pi)AkIrj=>;caxAy>Jgs6eyXMt zi&gZZ{?=1|5!#UCGI9G%@?11+0Ow8k3?VD{kGB#3E;yGt^Aa9di9S(AzFlzFqAYOT z6oj#BD)=rukADjn!2Vr@*=!uz{lTkWI!x`p$M8BhhcYLl_6V~m&-1L~CJ`z@1I{2* zGC#EtDZ6$oM>xM9%Lx*9Xmrlrp~M&d-27Jfsu=@A5IAfECh150fE7Ss$OlC$ zM!h<&INNs`M+#ek&rNWjQLa4$@w9U@ra)O^8)9q;?@#-E7ugi^BIypC_ZA;{8Ue%f zYJOQ{I=v^mNBmPbG1VIp(S}D{4o8CYqqc)rjA0T4zPc227NM#pZL?et}z1pbPgMrQfE|3IN~w4*R_7a&+5q?s?h31XUxy? zu~_QWU&;T>EdZA*I>bBtA4V3egcyWX&!x3SfovYQoY?~rR71?2WEiZT zG!d7rT zQ`h3H4x-&xxeSYap6>k#*S6Wu+>}<(0SmF$|3Zy;E-N{ZaP924J#S}kiUN7r_!YXj zFnz6OyQ?AZLA7-n-5pq0ix~U6rF-)-ot;vh^oE{tRQ8{LQ`;!PrdIjhnzpQOC=+F) zMIdz6`K;`Nplb=|SnhW5gWq2+P0iQZM1X)Vt++m~kq@D=ZP=WMRBaQ=zr`t@ zYF^YYHv9aho;?q;+BSaaP7cGXlz0BP%zt_8iY5lGez_R8h@!#|BoPw)AUY?Ow&JleKTX&Gl2!aOaV(~H_>4!c2T+MjG17klnpjo_m z>Ye1FFBJD4$W9BFH=yFx^{F>QvH5t)5wQ30)85EKOYe$7rVH2~`Xe)Ngb=+f-%g$y zxEvM^;|(?kpm-Nd$`}|CTt)MtgP6~CF12X!X%&$RBV@pzg*2eHQ$+#$x|X6_f*u!j zcX?H4_)wDKG=tINEKLm7JD932*R7#6JBroJ6D8RihewPtx|m9X%5~f=H(*i_G_gnRNuQNkSF-umgZh4So%{jv|-BU{#3oME+Z zcgH3tYFxDizooHyM@O6QzXY1OAKbFiZYP6NJA)&nF)cbivi6$*na7b$`IAFvCU0>| zvn?0h7Mj~gWV+Om1o!K@HeFuW6ULwOmlpWsTo^lBKZB7FzSixM8ZOR@pK@#FmH>Yk zkozh_8_vj#xNHcPje=-wPdQlv(b{98Q3eL=O-sN(7|1axLGR+=+b|sB`41(QaU49& zx|jAwd(LY-QvH+JVL4I;V$)7$zI^L~{heLCHabi+QmHX)h{JyMuPA^eo+$k2i}O6H zu=-ElwYsq?fo!D>u~gMxUQ>u|5;xx{dACBx9ElSxs(!l0+KQ z#yZ8Uh_6KnC&qj{0Yzj;(Ykf5XSFga(>c;o?Clxzr?4i{tk3nD^F8?XBiXWh>{k|) zAtx%aa>Pps%5(NFxpn>I_Wi?@U+<-sEjNJbhcXnV(i}-r%ml6R_+8~8YQDO?D%S){b}D0apj4$$RB@( zApbi9{JY>|?xDcRm~?F(99Gi#j@e1exi=ID8%!& zxS>GTw=un1E|%*5*UM}#qW8F3XzhX-*mSj8)>N_?cvgNnn}u4o4HB+NFn6WsrQ9Bj zLa=j=5Ue+yvOgsjscKwElGp3z(?W*tK3?Qu-|_#r`u4b(^8f#}AvTG%l&D$P)`o$03)0r{zKJWMI^?W@qgP$=&)zHBRqgKF2Y8b{OT~Rh~Q7>dW-1>D6 zkPJL4IkLPlI&o1kV)8|iBVQYG)6o7w?UHKMx*d}#{uX*#PAgU3m>WE5=P4w*yWi3}zlLzsTYiODMhC_2 ziuvRTV&M_xrtwMdg|pbI=?yaWULrg(uk0ClU-X#m`7gZ>y9v$4-)S|aOzH4MmBJ#N z*VXA_rL&dJbA1!xgEZyO9M@po@WiJpZ;Ojw?)Kxlqm_T3Y-3?9E8pkp`=_7Q&G|eH zOKdteV#ytb7f`vyD|r~kNw0TS9v@}Xr#RVUWpg-;zGz^u@skrcXC=Np>PdCmY)R97 zb7k-I?+)y{L80-LOn2V(VDGSL(->)_o^&!T7KOJWOQ!HV7D)9$Ll5Y=|3)1hg0%_` zmQ8cjhAdv-m7Cr;tyE$q;jLb%=Of%RyIL3IOVOrzbHl$BYa`r6{wgKr7hpfNSE%xk zTFC0lyEqRjgt$R+LlA=aTSKT&8Ec|5|4w%!o!g%jXfV6s!pO}1=@anM+pIqx!(%yx z_g^2_>`~?0GZ{@)x-@7n5%j>L`m@YD%?vUa@7kPr0bi}OsR=V^v=*8oe3h&M6?bn{ zuh%!f-TDcY6`6#_6sf(tyK&1zAaMsfih0YA%_sO#A=kHm4}0IVZFz`Ws3hCvIJMWd zc!gF3xvz|pv$_7s!NFD&*}pq{ml8o36G7Ju`)iBp5oqzZ~0wwd+k4OiR-j> z<{{_9zSy*nk8!U(28Yf6-uCGeFi9mUNl$pMT4bmS{>9TLnxl0y`^4D?XH#CXo>nmj z*Z6Gt@se$N=FW_9%7ox(TZZHEjuJZc72Pp#rs+KH7Bur0HymRJHZDH?4!cFR$ry3~ zl=sR!z4*jCJ~jPgR{qxC8*lv`e{lO$H~;?F)vHqq zN6vVWKX0RFetYFZlD;r=V1D0WiAd;Yvk-|FIzkblQitpo5_u?lQx| zoYpwJd3;}sfOUL&w~|?pw`}s8(Du2XagPUZI-GvOpDtASl5yXUTj=dNPr7h?A#L$W z?laBGw4s-`*$T$ci{{NFujm6ll3Sj!%W&PqMb6M4UaeC5UAxOTGk@YBw6LngR!Mb( z{7N`hRea`W3rT3BuF_t4hWm+43x4wDuxV?fNtl8f&)lr#r^K9_8m{ApySwiv?w0H# zot7K=xElqiBGMzv;;S0Jq|tLX2v9?$haD%&r{K^)CKU0f66wa*rf9l6ONyMfpxs}o zU5LM+{&`tnmJ}d4F6gjwT-!V zVuNhKc*XbmAG>+j_SwC<3?z8>hI_T>iWm+pNnt6lNox4>0_1Cn!~FpZBL@eCxuWp_ znW#NPCYiF0o=lJh#ON|Jw+^g+qJvhSLX`Cl;%VV&_uh$lp5cREu|GXhpGY3BVL0hN z1#}_Q_D^>RusH);ZhI_tx-DpQT5?M$kub|K2%cizq2uSF-W%8U?@aphE^6MPWREEH z2`5ac{LTR?pJ?6mx7PAYm{CoCIn=!dXZ;@5_tg`aH#K5UV&rW>t#~Z8hbZJZbt zCkud%MP5f}|8Lz$fLz8Uy!O-9yl&wB9=`YhjS<2Ux`WWuDbfkXm!t%+3m1wq16^mO z6oFWAVviG;(nt$53|OE6Y{py5*2-me@IU3X6Fx6RW7skKi3=WvMESP}Jcnd40^s-r zhIG8w2Le`d;~_)B7$?*-er%}HCtXR8O`B21RMJi#oB0pOsEJy zR5*V4qwDMuNG~W`*$#5MJyM&}q2|3~-{F2LgV$wTDSU>mJ`X+Q+U^!WLwqPwtb49St2{vch4m%2TmX}d2U=sm<8m{;9ImLG>4tQQpb*=YUQWFN4d z_9DxVtq)(hU|$z;?29rO8i@t{Auw>0g7U-Uhm6>(Gnap3v9sRO0C@ zjB{ha*L|E?FPY_mx>JRZsq5P)Ysfo@FU+P*fRTQmVoEjR zq{M2u48AFLNl0M|(pzUt64O3Z^2UvZ)ua?1i>9Hs#2V?~Y_U=Iy;$UVRA)+AQKam| zA!b+)!`ZD{{e#v{E;|;fophC?-v6M~`bPY%r7g~{-UJez;Q*=p?g}QzS;+!mo)z8` zK*dN->$ZFG1g!yLK_8)G^#_yIg-^>|J5YF32W|EzP*ePDQR3Q;J`i9XlAWL*yT-tX z<^U*wy(oIwNQ%VZ-Hi%Is$c?a4N9pvB#DZ@%LiJU3Hnv?IwW`h>|lt}xhB@eg5&tT zZ;?N$yL!eI>xFxU0(#lPZytTT& z?l`~#_c{f}G}|Z6)eH;i3zik5)1Lp%F3a!ryX3nJ12-9Ey%PLpj*l-Ja)#;0uOA5~ zxyQzRIKzcwHy{l(1L#&6UbLelAU4a8Q-0^?kEE1`$^E7&k7!8`yK6QWULAcX?# zjWxcNS;w~1XhF{spotx&79IhN#f%7D#zw=8#Zw!i>g%)W)tTu^_NhRBWk9Rt%gS&h%T9>H2R z;{yK=YbK$K0xZT+j7?L&5&F3Hx=h~=dC%6zIt(}jD9);Qg?qCtG)fWt+t#o-z<`;! zQquoX`H0OdB@TJ5Z}XYYER96e9I5cW0PaZ6Dlpj=FcT>fVlt*wS|{Pr3sVb0>=o$2 zQQ#OxlMw&;%mhHP55SpKt^f{YF8As%xRtLK@>$c+Hn5o~F3tVTBWx90rM3LkAquAB z{)=@c-Ao+ww7diuQ2pd7_-oD*^o?-V$w49Mw9H_ zC9-1#dymQ|U~(<|6WEWarM)Vhvz7<&7@y7n%@BN=lS& zdGo3xBX3Kv-;a!~vLgOu57n%wcSs zVB?3!oY;~~bYLUO+;kOT0L=+{P{!$vrH-A$XV%J+G!}{`;1v;0bQ_?d3UVvF`R`jv zb0ovaHley@d{|uomPcYR6^f!iYGVH`fg1(5BXHJpf%EvE`=z;7jGjm6(Xju0KNo%g zMb@mu5Hup4m5x!J5CSuAW(~>|jVu#-vQgGM;0(74 zXVBk&oG_TafLNR&u+*qcFV%}{#DCK>8Cnuz;Cek-l`FF#qU4|$1z&=XK+Rjy9i$DH*e!9{cg!Fuqwn?E+>)3Xa-kW(1W$TZ3-NN9BR8a_+Qcs08lu!AbSA z$+Fk>nBzw?+^1RZ^sdPu43zX$eEs;BwQhM5qvI$fI;l!4^l6RFH02Gr_l>p1ZOI4N zEii6+gVylic6rNL+i?lj+mAK_lJ0PjN>9*;28C0c_X|R-NGf5g2W^gcXCV~#mA1?D zWII!XGc(i1eH=#IsS#s;w$nYDV^Gy4Vz*w~TZy0u)Y4mjbRbP&pNH*l47CJ)g67W? zHbMBLtb!n3T8u{0WiKm&cebd+z|~%lL8_7rgD=3F(BjM4OfM`x4VtJTZj_z3n&dp7 z?OgnN8sbdK4GZgxgl04Su{#A>t)D33{t53-b#(l`9=#-+E3r~;Lm6`-7>gOJU$AK2$1UzD(;f+JT&SleJO${%(?s0UpBc~HtDp2eSsQJeRpR_(R$Q8 zlb!5DKD@EtkX{c58t4s`0+kyk7phFb%=S0%y4y(Ek>~Cn92=dEMP3{>57}Y>wU}!^ zFr^^wMC<>6x>!fg0vRh?KsD_~F^YQ`aZCNimKSpT!qJ-Ucm!E?OcPKij??Hl{|F%T zR6U-eB=uq!jar#5z=38uh9Zk#gM(x8i{w^ejrO+l)gaFV8zS_#`G3~=TAlWv426j(q8M5$V)J{Bm3??pC5Ng>zn9t`N>aK1CznS1$(gQ+I%hdl}nIH|?(9 ztWk$)vgn+ZgMP%wiGO_)J@1&+g2Pv*mW+X<47fS5+}AsGljf_|%9SV(xXx(Ch4-1l zSsFVW<{sh#IEzySKfw?b!ogNN5vH_o(?P zkZtMJZI38{?%C!^4Qt!mp%?11@T6XYVP-16p=pv_v?>rqBOt0@XNOn(XxtHm%EW8)Y1=>v`opQ`Fdln^jl`W__y) zwG3Zbd_K^gd+f-a)y;yb*qdysnYZ6f@6^OG31U(?^-qpa@h4+OHL5tJW*VUT=9Uwf zXMVpaoN!Fe3|>F0M$8_jWSXwC4Pqpy_8Rk9IEQXR4cyB<5FRZ?p-ARK@t7iD>V%^<}s$sjp9^Y)3_4fG)bDsR4+ zJ$KWj*Lti{I8F6gNhm;}P!0u3uuS!HB(Xh%rvoz}v-7HgFJZ+Nr=nUx^FX?GT>ksy z1v@3}IyJpnv*3ZCVAP}+HsL?8zvs?$`y>V%+UX9I#_xOe>8?)Ry`Q^SsgTeJc{#8} z#jJsg8$)g27z+Sx3zVZg(6(?v+X6hTNx!e2ML`b+jygsMA0K#RI}H55`KJ;pjIrjs zK{FEuV<3((@s`PgzlXF(0bD)6YWi4dUaC={4Pzqk`(Xjq>oLp{$AHQguEK-7xC^J2 z8s~;^?id5rj4{m^2yDRe9KUkzCqe|;Zk4=Spl^S-$p#u{r&9{paSNUO4(E*sQl)=#O@ zsl)F`-awqdoI<4lLR8MprNphB%B|spZXtq*9h+mH%to#b`9oF!W`qCS(m$u}#ebgB zuqZ-16+7^#{!5_^n*QjPRML=R+LotkMQ;l1uiQ(m(ekFZ%Y?P>ceQ=Cb5SwE85%kR zF$Z$HOPlylU~Q+Y8(|Le99HqVJ)oe-e01|7=b5z4=HRu&*1AZSB{YfEi;=ZTgU^1N zNyTg5F|oTB8xGugFX3G8UhrlfRS>I-9o&0eTl`mqcmCD@m zvO|HTEO(Bggyf%~H{E3Tg-S% z|D9Da>$*f}&&O<0+qcrBIvIZ>L9XgQD?smds|^#0ZJj+z2E?G%SkjUub>Jk@6VN%J zZoW2|&X&tmThucG@%-CW{SSU=6V~JDP57v4^OvV6YFtB?cpjy1p{zN)gK0v1)R5us z!op(O>wsF2P@KHGyh=Bfv+n5UoW<>0CAAf>cI~w@xouY5*H?MGF3uk=)I;giS4p8-mOKRsmwdngOc{8x)2xWqpoGF^0Sfh6MJ>jOR^t3&NYfJka z`)KJ183b(LM4V%eQ++|LuL)5d8)0 zjFGx`S5&%4Y`p%*?i6(0kwJYI=kF>eae3H@+`FHZi20qf_?1?DEV2%u=uySNrmB|a zk^t5vUc!j4_Vpv(nfW<-pYU)_6!>wSQz-9%oFuU%IKT=I(|uKRa8Jm1zdQ>tuDA0| z4cIa9+=(|P%7V`+9ej+m#9eY_82Py*_kJ;Les)3sbkV^1>8or% zJr~w+=ATk9HO0Ll5!B;`E^I+Wps#KK95>4}agR0`3Qj>o+R&9p4_n5DA?tRj&$}Vt zWgydxRLnsxZ>i){(%_LL0>#t{&&xA145bbqPRlqePa_4m5ndmaq%GdHq^gkey%ccZ z>U|lW?0mB%Hr(>|sznYjRWov!X2d^`*F-vBlBQHGz8cP0E6@6UDkdYai!b{_zu@+&CnD?Q0yc zdikE{ZbwZ|S#1Hkmd%(*JgK-I_@__Ze3ApS28+*Je-`r$U%r!`VZ7q#9KE65)}8Z* z>(4d);(K`XC=aY!yk0m6O}WC+;rcQyeZ44yv7z}(I9q<1e{ zk}K4N^|iz4=%1+1yN)qqNJORcASYa1#>sF zmKWQ-h^h+lc&>~%D0$DEj1YH@-RajFq8uXjzctyo%2;BJjB@G@Q;p+sN23B!I_j$ZTxPMWx^H7o#c z&QVhHBY5L%n5Bl+55;zll6^~<3(yf?EDqS6-W$e(y0W!6cqbmKlS;B3*FC}58J<4j zAp8iMd8IFuaoBU`R8TV=+%#Cdw3)+5bX1U^>W!592%VTm)#XxuGuRv z<4JbVKX_>`;)gPRR!^g~BEb4qq0BxIE>hqVMDk?HVX3TCTO{IoFI?=yz7JO^_J&;v zs*+t3VpW#qusR%3Ricw!kyd#tb?Nw&w&pFUyUyT}5~=o?DRhwa4y zBcmbIr&J@%z65|s7!5%`;7El-V+3te7$CRcxV4ZX0k{E#g#m!H7CtHQY1*yCH*YKUWLLZg$p?(BKoE8p znOZ~tjUcN4mNjCFT06)a9Bctsmi>mIK9@2Wcq47$QrWgk7wKl(gW(u0M z|KA>40<|wx&@NN&867Bbh@c4rIXINP(+LKL+E@mUkH4^LcsEQM*lGW(Nrw_w0#BMn z7(-#BmQnv}zWqOCa46_0;5iQP9D9PD*&tLk|5s>ktgF-ir>_ z$Kh95WxqwU+}XS&7}gwCU<;_Pd75IzP%)BJAPJn<&u^bF#e5DS3+|uF+PW-Dp0*ElQOvcD{Y~V-_WhEj<3*mv>#Pf+xhzraiS4qxZ?BUs zMQYz~bx%Ma+2ZnAg>}8u7JykbD=KAR)1sfSRpr6Vh#Y;(yL>g+MAK8zsAV9Mh#p1# z2_52w16lq=N}Cf8+rfI~&zCb(`5;Z+g!>XOl+5(+^F++TMb4+|tiiAtLM_jefg65x*4JUkMr^rm^8`${{{B~701YG<{-0t9++Nf5>D1asaTWP1 z558Gk#_=Sl0;e4Unv{bH=m3!)s2)~ziHZo{cysUEz;9ki>61t6gL)0JH~p4J1g!zW z{$mj`$%v-nu^Yzg9Qq&MI=%V-TCwb{olsuC=8A6k7DLYK(e!34l66|ms z%#q*H@y)y!+su$%VgWN2?7sS5S{kl4f!J&ho`dte|XNhlI`` z@3d=~uff-yp`C_I>{hC0gw+jIUa(FIYtX{Bub|?5E?C+qBQWpKicQs*Yt$b=;?dDH zH~p{HC^5BUM#vvKnfP2EftXp-(INz6oTkgAeFoMu&&{p#zqGF0$_i9ydE?j6=E3^b@^bR}n8=$)I12F|l-0;!hGM;L=f z$#Q26?xYJ;0v3Pr_3cC@Gm9%}b)yYE4NoVsq@0caVu=!w{{eO09gj6d;cnb6yZ2v< zPF$8(MhCEWr?Ww*dsnW|SY~8B*C&6ok_sLm76FG+?owmg+384ex|QJva2yjCe;58Q z3<;JOtA{WYB(mu+44I~hscf2psXfFK#a@ zV~Llc3An!aW)Hi=vRnpDI;S~h@&rn-{1!}&!TZdJR2m&B1RwwWj(w^)({3LVp?BEH z;MSCQM_6N5K&7)VZp%pfXX+h=5ws%sE8~|rBr`;XP4&256e)${U#OfaDXiQyDf2m$HSmc#%!MK0e)cM_LFgaO!tK!4P52EGxf`x-U z(rd-qu%qa1J7XJUJCM0|S8~t$;dj}P;sEu}qKGJ*s?xisn(%)N%!1lMvWB4myTGF_ zyzpUAz)xV{rUckyGUP=A?6Ezp4(UGg86kULPAc`>-~7~+ zp`85viYzVs3X^0Srxqo*qZ;mOb>+)YMsjsB!vc)g_l-WdrZ77URK8BFT@v0?-xpP0 z27LQe8*n%AAoBGOIA94ea9wqc@wh2u*B}2)%v!7N^Su+g=+UwHukehl_rFT?OV@wl z6FHqW_0??*%cACW&Fn#=CotC{oPQ*R)1A$ZJ{>NgX;C(wS=UfxT3@1mx@gmwkJ$rT zKUCDIA~bJUsUH2oH};`de+k>_eNxO?9fa`F4S^>ccQ)Rjk|w-!-V#xj^e)udN&gPL zPzGjl6Bc!~a2`q*f91;pksY(mcC~1&N`+&ihq$(j4NlRMsrbz_0+v^T`xxut`s4u( z`@)e_K{jZhBKtZ>+s3AfmBiU3#`=jToh*TIRTF!FdtvUKdLN?Kf{@B(W{q>O1@Z^% zyWv^~$S6O`1|bePMDvkfZ`?!KX_(z+-c2mBJ%dx9jl&z1tf4!YOH>~8 zxw^T4qyrlub~Sa$L_b z@K#;2T&*+Rb$zbYpz_|43T1`AqpQY&I1;J_l#5xraMpj%|C8D^F7*s^I_w8hR${W% zx(FJ_`2IUeK}`d53dQppnDh^KZ>7(!)bB8NSY%6bfAmt8wYz;lLIo`dMfb!U=Y6OGK5RZNt)*wa}z!DpPc@|QHYaBM( z{3d7bKI72;X6QcIt^D=fgn?>Gi7~|7kZcqR*)dJz+#MWYQSnQzJ)!5x!Loptny+ul ztHsI;irr`NtSb(km9J2*OocLqnmXZ-V24B2O2_fjIeRV_E?auHUC}&XQ&;x7orxNR zGz5cBy0ds4Ui%c=A!t+E5ZF7FFi@8C`ZbXX4wEy$$LFi$RlIzHyaA8L!_?f{#!qy~ z@>|6j81o*xrE5i7gfjq0V{%rwFfp2Ovjo^h=qH9M^Je&I3n0WH?^$hLjqBVn)UBvs z_2$~_@lD`qv#%wWy=sHtT0L8qcT>CxL<+0t6FyMp80DnPKu$VXkp_Syk6^@K?N2i- z_EpCHa{;qX|5R1X4ErgLx*qYl!01m?IxRS#fo1ui2o%!!OfWcM{3pNT=S`e15sl{~ zCiNdEI(T`d2jcCn>pOJCeg%JW$f=sq=gQLHfLfQFy^QbJw*&>@kDJ;U~O>4G=1^_;p~ovNT_GUK!F3g`33b!oRn zgPhtZNSvGjj#=X@mwX!IOS*!^3T=I*u{W&3{T_y2BnUAw=L&|#NDWtR>EwAX*<_BZ zfOqe+pQ2WGtl+L|_?D0fn1|>IvCi+e!1gBxKw@ZfNb*MSWQGORgg}vP7o09Nd{j6&dBvSC+^%54M=KlBUv0DfOjIhqHHD>x*x(; zz08^!rSYA02s`iDBhf*QO1{NUdBSUx7DkW`uoqbG<|5wQbOhE7`##2Q{NrV6yIWVL6?Riu0ilU{wHFMgcD57&BZ6%Un zmK19d`kSDqPAs@5KrapytuQU4ve|JvdGh==ULV&wQN!JuIOqrWlSPnW^@e7=Uvl+@ zE(jc!J<(0k5L0@@)fZhty`D^6T)~F{yw3v+-3Tc~giBYqk7O~C1-x3R1?4BVi-G6~ zQzOx3@eOcQ+?fw{YTIxFK2XGo>(g^#+M?pVmE8|OW3X%V%vSJxn3*Q_FH?zr@lj3s z(U&S)_zJ&THXvOwZK6oIT<}1{m=MhNjtcl<@H^OA@K7w}_`k*&V){hH_ODJbo_IcL zySe}-jlyaJd%sMUm!rJ61Wuf4Qu{C+X#U_tF&S)~Rg%5{DB+HuYqrd!XvSHn1_8iGbOSueB{zRIH-)vrIH zH8vm1ug@uCIDujHU6v2G>vK%QOZ^Pl{}?2iS5UKGP8y@@h%=j<6ZOwp4Tym4+NsYu zNLpse$NGC){`7X9rOqVd(J|oOl`C%%f)@ieWa9wWPqDQzy%ePARibNC#ARIHCIK8e^ zF@^wB!5wWlpcA|gE?}hMk|OA|pq6!H?Fy2)JUi8%_-fv9ms3M9<|jvz^4!J1M zJ%QFO556v=f7{@+B25gtn4A=D$KB(2s2`>Eusa0*?{EPGBT zY=|}%pYE(*l3DJ!&cxQGkSv%5S(H$Vb5;~S$440$=5DS_P&By9x^!BjRkYUGC0dDQ zoKcpDX5us)knEXD(Q|{`{sY28({QXyDGtqHYb8-^hD~jK=G!Lmg#j8i(;zKh>`3Z` z6U(ekm-b593a>`c8#~W5C-|GU6|an;Q^7XDMQIgJot)G!H@4%+6WeYzwBZJ)6o>Nl zzkcHVJySO_b47Un2Sc+~PS1K!q118zl?i`dgnir^*st5KGBC9G(%#LtBo=6lU&l0J zP|>CiOWkEEz^=E2|5zH(pA}_s-2cE{fYgo-G{bDvo@#l08l5A54dfgkMfehWWjgBF zdi6440s$t#m03jS^FZ@k;8}nvC2fA5KZ2crxZA; zhmi*5a&AEg;@Q6zHU8)S*Vt3wSUB9GduaZ}C1m{O+#52zBbAW*$`4CRlzIoTU#x8A z(A*2=L?vRcU-E!qTK5ER{!gR--=#Xt@Ay*1e$yY?7^xU`ibb#o$pb|2#iE`hjWVB0 z3G@L7{+m0|L$b#g3MoCz|9@S@(CdG70p~j=37|0MQo?{zBDY*JwEC8ciofN&of#gQ zh!K**p*G>PA~qmO)R)p0Qt;^=p2{)q2b9UBQaR9R7{T#mhj34et{NSK#v+4e19nNP zJ3EUg{6?+~gFX$ag7Kl!&>z4-B0x#gA@;7X$~`Okl<^y zfS6xB@q69UyOu;EaQsxR^E`z~~;cwz0zAIq4kxaSE%?P4afJb~`0cgrifphBsHUK@CiGG20 z(M-zm)jNt@fzpeFXFBxekAR)J@2lvS`Lv_;XJAvHo|lsMW>_jP7T3U8!!Rw~1#{{y zVu{6JYj~g17dNFiUwDAJ(4^=Co7gUwO^O_Xf05V;-@IF_^Xh~#K!2CI{xKL96h3NU ztx%UQE&->VqkjW?MBC-~eL8@cMmaL~*@Rhz%KqpvJ-9b&=PnA@L`16Q00_XC!=rd^ zwin29#-Gq=;b?#uAQaB}6C-NzD@J1)^w3orJS^i)ovXWF0Q>m?WGnt8^#a;^p(T%+DG*ukma#%!?W(%Fp+l;lGCFD%8wJR-E@v+=qtuyO%|+A=-(R0n#??^kb8H(z1j z$Ag=M@ceU4WLg^D6_AcIv*x!lH=4-xbVvprvE$Fjyh!k_TT1kc41x^_bI?L~b#XS% ztTPP2Z#E?u=nzh0XsjgeMGvO`d22#3bD9-Pla7pKL)QnE+T~N;wFjuTVNgVIHYQlo z|ALutzvah{gy+NX_4iq5Au~QlKdUEJWH28H)O}&qc~D1aNki9E=W1!%l<`}3T(;LO zqio5@x;S{7kxdITGvQOEz2RNAGPjz@Wpqfzpi@xMs^L}B)TRRk4{Qi2r37;t8DBdI zR0ks=m{h^nV&EB+%Wk!Mb9B`NNLJG0Q>6yh!zxZMUui-(7I&|6>l3Nj8xybx3($=F z#q5Vd)XUH>(y%uqpvemYSaosNsPqvaqus)rFJ=Hf-%>A;g@&zif1f>OU&k+t_JXn~ z)`EPTEyi0EY7`<=Gv&u-FYdIEOI_-Qp2tNFsm@p{Mzlv*HBrl&M9QuKRpp~9yEK0K zys^vYdwTW~T#de5H{_ZJIxI(Dr_n#(no;>=z>T~LQGoap9A|!r2qd!BwY!q86a`II zXWaDFP`|b^Ifcc_F%=+2(NEg+^y}!)x8H?bHdjWh#Y@F_bpP>bZ&%O`1ZAOdpC+-Y zhv^~y85umtLSILEoXqCiATry%L~pYP-C!Q^Nj3=n$!L3IF8|-2h|6M5!4QGx8`)J{ zuaSf-ec@Fv!gEsicx$%D=`kC+TI1hU$e-=tAF@VcdUI`$Act&2wWVotdp7142A}(T@8nVZrOLW$#!h-kb z7+++yK^O6pgJ84qdWItg&t{P-(gQ(zq*__9?WQYK`JigICo5|-hiZuQINCE!7QDPT z|3i()C%7y1V~xnKM>+=^S1n>?r|`$;;b13yWD=oU*(7r42=2}LDc*zrY96uesDU5E zLiLdzPqX>lDx%f)A7TP?Bg2^AhlQIU(wUFZ{ba~`4j?W9} z4+-XAdwQOdoZQI_{9xccduH*|;ErcW>eVe{7hyJz@4rq_0hi1Nz%_4U14Dl^9Zp<* zU-%yjivRHwTM6^8%QVA+&D{kYm{$xxAow;}gKCxyzjuM(&mq2Lzhzvg0f-2gXpl{3 z9E-UU-|}t+aJiO%6>yj+y^V4vV`d!=wKlxW{dnlFdsrU5h77+WSj!3fp3a27>ibpUi9V7OwL4Nd z6~jKY@$2vIMi4lIkq&)~{+Oy34ce}lpZR`UXq(YD5DDuzgT3o}DY=mG(i7RnI0UjD zNkmFG3|#A@K4(JaY7Cl^E!W!=A;@Y-9|iH?8J$EExTl*}?}6G0#rVZ0GH!=p-^9)n zCzGV9!g@i49l6@|5fmFRadI=B449(s`Z&#OA!^yKlTfZk5|kMdbEBR52jJW`K}gy@ zeUIeoKr3^xHGy%RDnnlsYt7{Dqy|qIKYPuVh@e%!79QA1{`rGcu+fS&cGRh6cL2nMAD9KN^jhkK(QBaQ zYi3k%?Y}NOzEU{0joTl_+0n;R`D}ZdUK3izTcEzR zOr?#g>t)qB-NarWU+VK)5Z%Bm3k;qwPUm^?1wRekxc+O7OM7w)w&J)!3dU)8p?{ab zmzUfkT-;Zb(gHL^_p)OKN70FrZkI6+-GD;`Fxn@E6@eTvpVf;3(xeeRX#-(BRN zmaEHB60jzX|7Xvf_0F?m zdg#j|+IZSYl?7=(V zVA0w1!5me_yjXS%eZoZiTv_q*n?J~+KFS>;5k?eSoG5YlWBZtJ?Cvea#0Bd5!m3Np z$FfzDFWCvzmyecpH2*c_{A8vn@#OZFez%8DqJs8~@lBJmRvr&ueVmL18H}g=Lh#Qx z?H2dt;Ikse`S)OS4~@c!hJIm4|MscwAJcP1*D_gko`g(q9LaDewQz z9D+8Bw;_R9ZU|noZ|a_j3Vc-v?Tg(p(%&coU8&o@8ZRXp(7}WwG$qjmA)&vl?sZQM ze$!kU=BKGfH3=7OsO^Q?zAPr`@+SJbQ(!t+^;)36RjdU=38u)E_fP+P!NjUSa-E<$ zFC9G7^yY|}Tp?bNSf?JDqcENp{g%&wM$2qzZ%k)YV7=V7=L)>$7KFbOr`J)l3W5J1mRS_spt% zGxUv{8o$2#&?%WP4Z|KNzq9C`&m}RmEB(aw_hd^3ajAZv zEN`q1%aBO6A5h!H7q3_y`Y}f+5ln0rSju@(P2~7AEURnaSHT3?%F$zWTO+RNy9TT( z?3s9H7xRhDpf^>V5~XWmKm7RE`lkt0??RzlcJ8&N6VI@9yOQVFmiGg9YZD8d7s6=U zPNYD`t2>dSxjkx0p;kPr z5Z|y%=dUk1K3goeYv?nJR6CaFquavw>>}fSkOp6R8IrN6s67)1%4I(DzX`P)hf1}( zt)K-CJc?pzRW?&?4-5b?*82HVEm(HduXa5r5z`PT*jz6LeGZtka*WzA8fe1Q+@f2ngc{>_%3w>;cWJyE z4{KGzqp$i)(LwI*@D5?1`udos=vtJiKQWgXl~~DEOJ2Ip`8;qOxv&`>)2S4v3$Dgs zpf-F8GM9S-93Xy2>JzZX5>>U}A${2gx_i$3#ryJM`eY5Ni3mNnJbp^oXJM*fh39tr zp+U%`dzHELIysa4eof$B1X(^`drL)|Uvz%O>_-oX2p{=h%oZB~yAiu-xHp*)PI;~g zu32~pG%}ZITlg6TNIva!!Giv|qlY79>733{`^G!Pm85o3{a2>!{uIm9$jer|xo$!_WnB5r z0UQAsA$)xHj8JaZCB;%e#B2BHHoF_<$;y9)_|3LNfGYnE^e^)|_8_#7Q{VNyV-ofo z$_P%ZM;Bikn*RlryZ~W}%mnl(w2_9Uxr)%lx2XG- z_gMTRx2w>wR=7$fKi{Fx&U3*$DnEEANc`&T>or}LzeK#m3JABZuX)dp>$N{=J>N*u zD}f4ksdrjL$@~G(%1xlwq2AXX;5QAlJ7O+pf;&9Sw}6E2$WV}t=Xhr_7wWo+!eQ79fB7^o@u!Z3#khPU>Z>ITikBfzwf0RmjWSO+)! zL+?9SfG!O`zUrH|usKSDiG*^U0F9!HD^aHGH6DVr3p3xaOX4tEsG4`%bm@)B&BDNA zyqa`3!jQn()Y)fm%<`NrHQd-q(i4VveHQ;|g%uYLa(7xAO}5i@iTt2uY>#I%j&sdy zRKDD1aA*O(!6F;S)Labcl13G9+Y3;s3 zpoR8lf|{UFi{wU`4OA7;Di=e}x@x&3d$Ik?GQu(GG1&XPgFRz@-(|VX_nVX*MtB>+ zP1)(Tatnt7VJcja4WA!~)k;zC_IftBZ-jziJx#F34|poT&NRBCCkuenNyc{DeSIx} zg~X87s5Ld+3A_*{0(X;gIyW5K%0y!ShpjgchFIs(D*d(K2nCHcgwRjGCsIW_vHM?{nPy`ToAY z-|zd!bGrWlJY^X`sO@#zS7u~>A0Lw4abEj+V=_PudH#nl8 zs^4>}xX zw2!$xy}ntJL?ibaA3R#x>0q6tv>3QcC(j1e!vz&#Z?V!j3u$hs-t}eVx5iRgZyt+=>ujE>#|2v~SkgUuFjC zHBKbO868Et;$2|SzUYkUpaFz(s}${OqQZq5XNb8U-Zd%dj<{D6Vigo^~KN*v(M8P~7Nz9_Z*tx35Gw)yzp8lOU8 zA>*H%E#In;nv-z%13b&N?yzlc$51A=;Kmy$51lZb?By+ZmWICrulRr;IA`HIpVZ?C zf+Bb-th)_`QA_o@D#4tkV|z3X+^ z@Mw(?sxm;VQEA$3(;#4X%%Yl&`(Xa1g0`_-|5(P%;6olHnBznqteCfT`2)!D&+}+MhQC|?A?YVP>#j%gb(;|Mh7{u zu8P1##aqDc`ghsiTKhsHF1%08e)hmGdYNT0v^{)$G@WXRd7a$3Xas{*0~h);L2*22U!p{KYx?lalgDQ zN1r`AeSekcGOundCw0kb@muZuWv^fEm?oc8WIC0TnQq?f`E{O!{?PumL+TIPh#>B$x|o1%M>v zu;+}M_w>Jz1o6F+iVv?K16%>_J_)?S88|S{ZPC_z&-nb0?M(_Vune#c_&~!8OkY93 zb7Pp(hUk%~5-h5KX~6Fp^v9p<=DZeF8z}CQ(oIa`CE-$oeXJNuG8lyBqYdTK@Qek| ze=o^sEBH>M#=zc7l;an;pR;tAW|z=R=06{oNY|gXqaE2h^vAax_=})j=y4Aj7gp*c zANym!l@IJ_6_yD0>L0B1DV7|6_(l6D=cjoli4G+`E2r^eKaIHhWb8qx$NsYV)jZ=t z&L|h&{4|qfb`&c%f0E*G^l;+(t)oTacS_gs<@78kyN}NF0o~w>hs@!7TIL%YH4nVkWT%`$x!yaM6=&g4*Kjb zTxH}QW38*T?f}UPgs${%((#Yb6^736n%b^ygyw9GcA`IX&J2*aJA+B4j3hnV$ZvYt z9DElF%sVjbCClj)mcn*!zY%M-FYCN~uo(FsA7V-OLIK+)C}0~O-T91W);Ye5?3z9j z_~G*u~_16QAPE_{Ss1lMiP~ zm-yhmh9@BP9ghvJpk`3!(>j18!oXQuD450T0efr>Zd4lF2=xk!C$(op^=QCCw}v;K z_lj>fCHZVlS;jj?KW8S~a-=zILW<9qc|Sf$Jk9v)>J9h6_snb46Z=C;cWONzEiE3_ zM0w~n(Bie}$)KOkes;0G19GDp``!pU2s}sF<6BGnRI{f>sNu^|eeNB1) z9{Wn;@6x{7H?C17dEK)}99DXJ7!E`dvVd!14^|_%nqQT>c{}sj8AVk1t5Jxy2ueK2 zb!Y1_MaYW4bS1Lb(1jdkH#%yw-|GAx(N6Lfc$T^w^@--1ZepCa z(n@a`(*a#WyFY&Z$ux*)nq(1Vc%7aQoj$SxF;e+Drr7W5LhL<=mQVfLwPEvtqo+5A z->VqAqNVlX440O$E*m^KWyP`i)bhluOv8|3i?Sgqs~f%t1q+h?;{lB#mNg{!aKPp$ zA1v%begi^8LGyxl7yoVC_4b?1RLtWKY-wregD0iro@aN1hcYSq79SdoPr_>Oa}(5v z*opAs1w@#u(pT?5+H{=bd}X3?%%!s)O>0tX>MPH`_eL{IA7SAuy$wQcHnD6F+vt&s zSge|y-|&S67g2a2}wdX1O}#u(jdW(IT5gV2|D7kv+`Oy#z;U#$;m%h{*Y6; zS$A%IALL8F%sNN@unHs{e6wEqC7N0(M>425E)-bb#wD)_W{OTP<=NUH&vMrt>#kh! zE^Z*uHp${%;Yq7*L#1f<+&dO}%Rd7c+_v<)l@9Tm#dL7^pg1dQfC>pb;CNmxUfv}d zYl_VH3O-4&HS|m5myuTBPuVEI;(Uhuw2kmzO`T^4}Ow`%@JB_(fSEX#I zX||-NB_Z2~rR0^7sW&LJ1^R2}7OOy_@q`BwjXJTzvo+rW`%U#w8nRwW?gY?!4e?$I zCTcPYu7!o51?ZN}o$?y7KW{Yt$%l6PE+!hou8v|4KdzO4$3okVQbF{nLhOI~UC8`l z?YNQj<~OC!1Zo`GoyPx~^&(@#i-!qbJGwk{_Obg~1s^yUNMS&6r83u| zp_-@%M!?!#Ay;P3nzt{AW>B!8K;6186Qy_Gu0~M>d{c;r87--|IJrsmUC<$!b%DAO zdLSxl3Pf1Cw(JKzM;@Pk+@ZAD(693w#m8q~6TK0cGf^o-vM*RN$k`h(;wHM&{zKEH z@XtOQnALU^aho==qP)93)A%6YQRb%MhDIMq!eKFEk@m5 zysL7(mI8rTieq_HPiYoqot+t<;o^;Mx@XxhI}%yg53aqNys)m2@0YF}{1o68{vUmY z#`1@L6k@!xSql;y9yp*SHF{E@$snyhqNxD{f$xr;vm#hV8qk*=KXrM%VWfe9^giRK z3*VZCUl<#NowEqg+rQ>)^d%Ekqq6Y#_0Qo4cgl6EhfY?uJ3+g5x-6Y?UznUD#@{VvZ@s5K_iySl^w2e9=v|;mfA`IF zeKh}slA+7GaGNjn72fR@tl`(JQG&NL-lD)n)15*BD^wl**-#kMzPKqBr7~8-tGMM?_SZmwwQWRO#e!(Y1jPl*tBe& z6TXW9N(YKb$AUY?>e(BR{ND>yTHlsrdx4uSYq{+}!?VsazJr<^{m;on42Y?la>2)Bl}S{aA9I#u^~&x{c!P&tr|4B&Q5KhP ze^F9M(BHO}56UElv2o8)^>{48lx^&frYXg;_i=OCD(Qyq4J34i1~UtIf9}uLeQkqU=cB#QV9X{1e z=73(?3%ZFzdjD4^yYQm0K?NzE{8FOUYc2mS_vyEYV?LbByI6!-v?-gYf2-?)e2$T_ z3rmHQb`b~7k;}D2kq>U29qhnuXXQ&0}}jg6%E^Hb&PS z?FdjDVCT%v9Zh9awzIACd6MrY`@eh?O0mUXJ|>yXnoe}>YLMy5D~^ZH)yWBqk@<#Z z9R_F})KT;3{AsS|wdYp6<4=3X->CJ0Sa+Dri~41z;ceEIAw)~$+9gZj)5RLcNd5nb z*&jEKXQC!}1z2(Tm99(NYc_jgM8bU!6W@5~!O348!I}#P?$K@dn^50pY)&ijnf)%J zfs4u`8nio6SfuV*Ppi0fnnt{8^SLt5^3s2INBflad z71Phx-@7yJkM3)1x#_u=)vDUy{OA}B=kWw^!4nN{Yq~T%r{D`;D=%9TgS2~yR64un z@Ea&_+q`+qBc>1o#mH*R$-pmY=Q=zVz~#!|epbXe_Fx$uKxUX|fF??kRF=H&Pf&<^ z#N9;>+J5mtke2xUT^`&cJ~seix0YUBwURW7tT?~|r4Jt46Xw|?8&u#>;kRl_S=*Tj z7YTzwanspp>Aj4X_j?&1ys@c?GOcx1ug^V+6Q4Y(Cm0*NF)kHPn`?Lx0Avb#J6u6D zz%S&IkvYA5;r(9zr{jdw`xr4b;HAO&&Fd5#=l*&Idu*lW{IlQ#AUPl*28{CZ91)&O z)0SXGF5#nLH$Q`cKx@)dE{VQ3yoCW8YU9Z*#iNJMB_p85;27N{uO`bSE-Y*nAheJ? z1c`POZq%+Z@NdS;14HqyOtvX_*{lRkX2E{OK2}vxKTLTi}8P$O(Gqy^1h1>^vKY)A2NCeImE zWZzz%??&zOsf4<)fdHjA&HjR3Z`dnb^7)M#I-OmkwTH%!t81kAHVnC7F87V+L2!H? zC>jP44`^6R5iuaz3AckzfrAtkZ_z#x>CT0`XXYcn{O-08fIXxy|4I zhS*#^pqSc5G=|LWk$OT>(mlR2{EF=T7idlO5NtS6zj-Nbza30(E*><4E{37{ z(gEFFnl|Z?!XNPgz*WgH=jnSl8Rh(^jjp`M;G}WZ0||kZ668ckDUoaT%QZf58Ti4! z+zy_)6vOA0zKQyc%}Q@pcuZRGX9f4wcy^ySOL$MjvgNtN=fXyFxj&5sx#m6jboaiR9=V}hh6Z>m_a0!NIGU$;=VR6VK?1t(RlQL%#wQ^dfpv+% zb3mk39Yo#T<3F`UvoVxcMbZm#qf^6KL;%4WWm}~*s9643YMwx8?*i+kolrQlE0=M{QfG~R)jiWXo9`ZfLCoj z7>W3-Xyb_j(oG-#%+r69D}4b!=gzgSaQ`h_oxZzM&?LKg^Wj`XOzna0Fh2TxOH|-e zq5iPoY|hgp?FWCQ^iWG(xKcyggB|~#w<6k7J4m0ht4L>6XcVp>Ho0z3Q9BzYK3#*( z%k*NR!{c1q>mxU^8MTt3lZpjqPvT>2`(>2wnS#3pTXw#d=Gh5wHouXyr?uPbj^sUQ z+ZgmK8=pQ`EgmWDbGWw*i(=)Nek(29G}l#c3qdF_C^~OrOERx7GcMi|q;sbl^Pjv2 zA68-1nt&iDx`gX`;U`SoZgcQQA4)(q?oP30eG0kCr&rk}Z6_la$N6E80NSA}iv|`B zSj9c5&toU^Ck_e^L<+X%tr%MZwwwg+1mIuiS>Z*G91}Dk_R@7{geo<%X?1weR#cBCF8_6jHA&dbQ zR)C`?)m@xUi3`K9Widm#+x)!-noj4p)v3@aZ^EKmGc8ZCiWeAhgBQq?`q`KcdNdU? z1aj)=4JNZ)P2@ze*iGh1of<`lxtLmxD=+W5z;9&I2`1d|m(=~<4tc|(NN>yHWw>%o z$oz>&G;T!viuD7XI*y_s22ctlWu+Q3qsUQug0Ho&Hzq>p0KINzc6)-Xxj_xCRm_!f5QzfHjA^VFmr79P;WuHvZMCZ3H{ErC4dm z2AG322yDECE+8yBV3v9OHJHCp6D*;iAN#NU$ndt${m&Yp(ZosfW2(koTxVf1d7h*$_h5x423#E#tAU+iIoz2UA|o-{sadroM{w z2NlAjtRkGa{<;?5__8k`tTBHP_3JqDICH_2J-X**>8DZxg!D@Nb21wOiqumdMvw#I zb2%q(6v%`px#RHts|3oU2X4P$ztc^oH7~|RYqArMHW!_wSH^X+LwcWcg-{|p)~?TX z^vj94->g$J_wS5QDL?~K?9FJ%Gwto*Uso-L;fS=DQ5-osR8kB%JciG2VNlOy_z<1Z5G`^i(Df>0;0h{OYD6w@N*B!H=Xyc)`B}qWN8VQU~ zGks-ZsAF4@V~4M37*&5$0yp*)FSj9iBOdP$_Ert|>R{Z%C4a=_jh3|lqG@%a^wl$C zm2#rtnyU8ejM%iWv$*6%EFXWQQ99(VNOW$@sG58bG%plnYe(Bml?+pVo%e1;3qI!E zuy8}0?2>P1nqDhSYb3ane8}8AD=Ow;Ygs$3K0yJ15WK;}wJ5_G#LmgGxCpIku@q3&O8*(86YAo@u6RNn%DXjc>fxvq1u&iT}a!3$Z{r*?#orxokDQY~-Wz zs~<|5tQzv57g`SMMg{hFK=k$S=MJ+^SGM8NovNV}gY%FNb&EbehZTZfaePtg0(*M)Vr=8}1kP{3Rg#2d$ z3)JP3x9dQ`jmQ9S?Falq-BtSLIeWu4QBomMH4i5Iv$|XcE z_$!ASQh^X2?l1pN8nwQWe;otgMhpVRUG}}I7V)@%KDt_88FWWSKf0E5@E2@W9{rLi z`y(={r8omY1jZtsR`Vl8fiqj)snN`R)MMDBxmtaUN8lo|~VcBBggH_rA( zN(B(Tuu2fciqY5Gaev)M_dbs2|NcVYvdS)5@=ZM9yT*vWfy*scrTr!jQ&pW{;E%+` zd>8Iv$r{E+_9&nC%39UJ_xo5Uo9OKpjm*{@MuYZiF@SJBEa8PRrb4iG%AUFxQT1qJ zxZ3OuZQ_Lmj((?V(`YVBbj@mwr8lSRom{R2^GAt|PGTk8f01sUJ8)fc}6@*FFf@IEH z<<&PYMk#_AbddN%N`8%yH%1^}{F*3_6AD9Hy44E#aR#0yF1AfyhRYr5i$#C`BEP^T z$7cVtjdAPIhgiGh8uS-as}{_G$2(UcV~)VlCWZ2N|5lLxAMRf@Px*~g{aTxgO}jiG zZVig&^5$jh++7$MrJ;8s*i%_0@#E0+Hr0Um4utI7cWV2xB3Ab)W>6Qfy}Q8Jk{9t) zBqW?`6H82a^qLb&xy200?}Da(cOM|l85^%V{Co_~^zqp`9~>l%u8OGREa7%t$Uo(R zB~-LaYL-9P{;S6;WGYYXu`$7)LH=ehlDjN3UVG`|gfTUc#ewPU*SlU%zTPyeeewbJ z`X+G8PW(P^98?;pll8roHsrWnvoSYMSExx^*Q8e;F5CGYJ3IE@(r0rABJkHwh7K!| zKUx&NO}D6T-q^y-?v9Z=3^jt?58E1%K4O>*)mypw;cFYwTh(z^QZ z+x>{}#!NcrbMMj*OqQ=E>}R9FSM4hAP~{k}X0KCv_sO9*JQx|$YcuOVZC2+#3;L1N zarO!ab)8dx-hcS>fTmT%(+Os&<*dNj-aH>z8GHC}y?es*1w5_~4AdU*e1ZRz1y^&3 zL<+ebJM^H%_%Fp9^8b7sK>P?MbR0e|kN;yn4Bhm+4ej8^wPlnLb9;)YN)wWCX3q(IIC0uK*%rVk$2mgy5 zKsqSAk@RbHIHm^0bHIWX?nO7Ep(fAJkZtEd#78gGn0)TH`g4c&Na{o^0(}ZJ&HNlV z$#^pcVQ7idI#_8Qq$TJVNoj3YMQO{lSFWuI)vK^Z!2)>uG3GtNXJ3+yDIe2pC1zW{ z{?y;kPY!}K( zMXM2D@RBUKV4`*6ceuLFuP_qO2>Q?gVJ0s5jS+tCD?h$)qJRvwLaE0RuQF-ch)aOsIQ8g8SWl>xWxM zYv9;F0sf#=EaZIZUHaYvD$p4RshKpKkgqwg^raQEcvhQo`g>DnGMDk_uL{~ev%(n= zC}JIvd5f`Ytj4SjJA7z}c;Xes4#{u}s2vX6s#K5RnOMmfDg}H)X+xx)sM0mTqbR-$ z8dyTQF?O|xb(zpkd81uMVTs*?qu%KjKe*p>7M9?Q6a0;y>yk0(Gm83EPu>_S(?Cq% zT0FgK51#%h;C1FF30i()AQ2D-FoD*8b4}%IY1aq**X^$N`NoD0w@t{X&!EfV!IG*1 zaim(5%FpDXty!zzz<=@56QU{{IZ}je3Lh9iQr2z5RU1=Dur1x=qfj1VoFJghfZm|e zpvM?s`nuRk37){C)1cTOWpVTjaxIJIY{`onlybx4c|0}eOdl9a&lC2vd3q_cN|md# z?^lX5;>g{eatCYXjr?9ff~J?N;`hO_zu*XbSP++`_oiKNa5jJGh z$^SQEV2~`qHEh9+I{5#MsRNA)3&{Q`VTPq4Y2k~3TX@>`r-w`A%irRQm7E(9q%)qj zOr7Uj)s<1c)cwl~`Qg|G+4234_a@pbJ>5nN<}4};NMnf&zBdkahSo50x z!;-JK{W&m|c#(eOOn_`Wc>a&@^18g&Ue!zoTFqCOSn=ZDDqfpY_}_0p*5<>(izEY* zd07;Dqe;%+6rgadfktIeVDAU!nQa5I^Gwl^JJ^!>;uZ8V=3N~UU(Lg~v}1T)1Rs^& z)=UT)(l}nuUAdzraHq+V7D5|@-_Zx9OVIEUsm`C~uyAk-toEt0?Iv+*?*xl>(48o7 zmZ|QTSfj%-!Rt>;wQ&b&4+z{ZHtO?93F>Mwb zsV?Q*_C9E};BaB#;d`bEhYVC2y32*OT>;MC69%CN>^xk$bL*dS^%jbiWD`p*9*?VC zLDGS3qlZePK2*HG2q`l6dQq=tfb91YFBx7A2Pr`zmKF!SC#yiiGZB))l^|IRfrF#~ z0maIbL!8sWW`p!qM4CT8ueXJRMnXUO{`=#oAQu)Yfc5z^g3pF&0K_a5Q7m{NDa}?X ziD^(W!<2%&`kJe*sagb3zz?dJ-EF3q?oR%`gVh)UCU2I#h#JZ;J2U3OjB3}LJ*;kx z7W%Sn^b>`}07>h`lUV)GDqssthgieI^qc8w#!}F6ng&77&#(GDfYN>wUla|jdWI=v zF>aJc=NxhxB9m702|vKb>awipJc#U;O6y*WIx0l`*;?pj3HA+_+#(YsaeBgK^Uu7U zAG1*r;DRLQ^*hSG+a^DG@gcvk)1=AfK)UGPcFJO+P26d%E}&{C92X`Bt0aI_r1*b} z@*1lNJmGFFs^m!OByD*QY_v}bOF^T#o&^H;b?lPqicW?qvGNx*?Q})dKbjvL!(9hu zK|h}|w4|VoWr{pX*a8WorX*m!7PNo5zOOLMxdpzGf@f1&!46UXJfPdl*shBA@ZyY z&BbhsEQAv6&n!28HlM}YPdj#+I)&}%>A#xuUWt#lq>IK`p7iudGp(!=RnfaZ$F*9e z*B<#ERGj~hAlo8cbB#%Yc?M#HFRtVkz^r zPj@A0Z&i6gUyT2%2--GAEBg5D!6CP2D-s|xn|1DMuYT-tk23;1cYC$Z1LeiAGk5Wp zmntZM1hsS>0PDq~emePkD`Si#f1fQ7-u0gJCTa~L z2G86Pf3b(Mg|E54u`7L?W@Pj9bbqCQ$(%8(RGqK}KS$MCLe%0%H;H(wYf<}1< zhFQjiCu3DIx!aCJ))mFFQ1HuW}))Gd%uc3Fd#cT^VMk>PVF~Ph19HXjzgY!~E$5+rQGi=X*llaQRfSYxqr{spPc zPfeF|P=nwQSr07Ro0+Y6nm5db&>y>RT3uW8n7{$friJ0Hzovqad@UGRI^TYTne0&I zsFEvGJKL$Bnxoe+KxGVgSsMIq5e;=3?Ar54*sjKr`OW!+$tb=gu_q*`#_Y?MmMTMN z8!S(8;&L_kYhx5-`Comkjk0ij){z%|w0R!cAaI>-_c-QIxwvve&>MD4V`)dtoDQMd zt0~r^@eTk2ojIr(zS@WI)gFDi7Jz7;j4`=e` zQI|<_tqKReuJSNgc=DTG(J*lz_8!ate0noA3&V3z*q{`oMrcHli7t}>V(&Vp=aiUt z%+K4X1!f4dgX&519-mFq=jU$MHZ>`(M|IStQ3~`=b1~#y$LHAReDEQr{@Nr79yoQ3 zaD#kfOlzMhAG(52sx++YjfO0z$9e07XrF=8qjgJnwa2qNY{3ZeRXlz#Db#Defrr(t zU&2;H!f>0CUv(ZUgV|KDE=Dl27>vP=gB>Nyk$G#9?C0sbVV z>6U<%j*P-gJ_z8(QsVGiuwDn84+0SsCD^bWiSHOiU$=p_!@el9D;W2=)sNQv-|9?m zhBc3`tHf^pG?1r|v`HoR5$m4gfGvbR=!QKz(5BRht zi8Ky-IvguF5MLs|BmuG%C4gI2SYN=-$eZFs zcBk8dL3UDZhkWU$GuwuY5mY&Um09`=MOW@iVuo4qBgE9QTd(G`YpS2M&SWN|)e(XF zbJ#3Re82QiUrqmOEZwm`FutOHy5hB5b)y4L11qgbcM{$sz6rbSL?=g8e{xB5ZyY60 z$oD?J(ZBX+8Lgq?e55wlD81_^*QL5LmdQ1Rc>IMpDJx^y)T2R#tslddY&1z^|*NqTJ?JUGaG8O4z3N%vKmSWqaWl-bZ(R zz(~h#X)Y|8SYh*HXn6|8H$Kwy&ykRtrA#OSF4FU#K5E>cA=et?09W}A887tVnb_sx z>0crYSq2n=Y27Hm2vr&k*GfX$)PefuJ;;r2#;(eL|(aATXrqxxk-B|PmGGHHz-u{pQ z4Qtn>tU2aX4whKm4gK?xi8kWQ`pK2onm@2RaOk3el-9yNs53pJ+8F2gIuILTPl7Vb z8g^9);r+YhrDl^KZNAX917nspj%DH7gCYW=8m_RKhZK8)?r2;wwUj^Q`r}FD&g?P% zfW7Dk9IU40J~MeH_roGIRT*u|!)es?J3>1kWEH z5ovFzEb!;WSQJepXs05N!{^hs!QuZ>iUV;P&q{`~9_5YH6yuRu_7dgGZe8%Wnt!*a1YC9F=qm68acD2Ljv`85pPn%aiMuioSAKV~8M$YQ>3&=7&! zU&1;)TwW|h<69h*%8em9cqjsCcZhKYKVgp72h_Hh^uCPgWm^Mlio)MW`N{_;8)E{3 zM-29!9ve_nBDHm!!SekHu5Zh1on~yLAigeKA_ooWeULsS$W3@CHH_U?UM_wws_Yl( zO-6LN(g_0);^peiyN=hid9LipU)1J6n4}gQ_c%rR8f#nC%R`mqmeXVbw(Z`@J!9wj zt?}-{V%zHnO)L6s119Sl2J*p*#wn98F?t+Jon+1JA3HY1xh3G-LT!ZR4J%dQYR;c! z=I?I!=GA9m2+ERS5mGp{iV_gex!yq(BEEzoD;lIcJhd|G7 zjPYgoLbEud3Q^HCgFv!Po1TtgRK4F1CCawb_sKwelZ>_3aFBu1x20-XF z39^oA5%_!~I!sqW>09F|UL-{1Y_jBjJjI*%l^FN_2x~jSToCSrVP%R&f$J^u8GHDO z7p!E(&zMPvAE04A!>urAr40P(K=Cy(Fw7mH*z0Fa|FkRM>Lgp^dnKx{-HO1wDI|1E zu->cZ385)~`wK1-H%i?arLHFoMSA!uiiB%#PqB8MC7}uAwo9cdtn59*lORj8Tsw?) z+$k`@K+(1N^BkvMWSAke{xbMQ%Y>SEeaK%^`ZLhX9_dho98!fmr;kf%ePNQpW9Z(v z0@-G}cHr8xbmYNk|AB{o*Ui~l8XH%GyC0>G344p5ncqEA_gSnX^NZ4 zw3Sv)HInGMWjv>wLP_*sXZ#xy_?pRWWxK1AraRtKQKpP?UDteEArS>q5psNAkxkz2z-a z-dSJ;RMJS=@e|)Ui4W+TXOhSiyon7u;x}o*9cfz=9;z4$>9b8d10@ltAQ^aQ8HIG5 zk$BZ^bWbvhO(tw~CYLQ0g{e^BuI+_ZtNev`Nj=zf2`KvvjwKU@Mb-V@P(f}4yC8J2 zD5;QpO_#K$iUT~Z1~o`fDaW5Xac zYP24P;12!(A$)4+1T@eu=oaS}wHEHk7zKB5Rh*5&z!H@FYG;x;a zuA6})KY(kiw$YH=)@Cq>JPdt|U)4}kQ+M&YazE+Bq?{-tY!X=S^PMtAKW5jc6&%<> zKwmr{9?u{@31;bNv6n>-W}+Z?!%IzFYd5xQBoWa}tr;t**Jdul<295Hl5nAALA*~~ zWQE-@NZZetAx(P-Upwfen;M6w_m;*2|LRpeZ^Ou=LP=5y#B$Fm_tmB7=prjNjjg)< zNYX;ke8Lw>3go6l>^hx;jD>FI*h_GcUgXoxMVFR*%iW)WA74GvQSDn7WPn5VDFcqy zh2LI?Cz7pFzRka+4&AK&p&~Hm4K2hT;_RMLkC^))PBsp;%V*|6n5tzgkUbK%;#9V0zqZ-3_`Eqg)=}l1)Z`VBe0;u%t;!8px*8(( z;N1=3Ze64}E59{Lqj9STfB0on$dbi}Q+J=28&kn%cDuI#HR3UmVYfdOg6VNiDNr`AM zDbZJmlEtz6V6Sj;Hzw(rNt}6sE_-<{ zoT+-0A85>?{GR_?@g$p%B85Sl6Lc#?4PUV80ApNP*C zt9BXrL;COw^!O8JA1^1(GfI!{mww!_Wk2tAKs)B?_~sTY&u^ zF-4;&IQkL$K+rA$!=dLQ8boHOZc zNy5nY`LNM#W??v-vg^0#b+>qbF62L3jgmg7$wP-jcs`+&$KlUBuKAa!8}{Vjs0nrJ z!#`U;`#m0*qwU)ND%&jI%KS3;BG^!4-&KI%X7-fOB+#kpD7KT=@?#?`0C6Z;`GEob z1SZG>_UK{;Oi645cO!xYS?5NZ|0zIU*-qbbGbNta% zv;LVH+{NmHyyVrM&I(rcE9V<&?3#~r&$U}n+$T9?hVQoZII9z!|C1?`89ja#s~y6} z=n*8I!R895uIaNZLM=Gt58sxcQOf|dg-)mTkbI!Ti*+Gvryv3UKF#A+D6Aa_IFh3t z^ZUE40~`Q52q?_@UegJuHo(OwgvNchpLIp-B#sSYVQXAHAo7~}CKiJtrkfq(C6-Um zMR+b8UWA%)Cg9xGCfJkA+lgUY#81qdM+}X3Qj&`=H}TWBSW@$(qAty1(2JDGI-($0 zvI?{htTZlp{s04;k*#}#2Qz2d!RQ?y#jdHazR^%LE!B9%_E(|{-~6(lhiWc^vmosm zYVr8Q$Bl7K(+K$}E+~8)P=Tmt^=o1rt{F4D;m%@|aA%6p3zleMs^*?88-_KWe&T53 z0q^!P)=l^j6U^jBFY8*T=6{4AutdTYhpmA6r3Y)Q3o5tsR3miw?SXV#(7fhEAGQC8Vhle>E=tpUWEBXm%dGt``M#SRWV zX6&dS_p@0>te7$S2rw&2?n70c9F{^}gr???&rF`(paS!Q7m;u9=AF(kjnM?NBXYU| zC(6mTJ4T%ykFTHE_~uh@G2#>!3ts9vV4b6X3~4HTd~(2a2EOE@{6|0_E;W+ANlbt8 zvIsI%wz?||rX&6rUEQRihqUZKGVof{s`tGP=l`b6A>^CIIYpe@pQTG2jki4EM;oQ{ zRpQC@!WluZxn*u*-Fqh*e*k^{zPH67!rGB}EFJQ&6{Yqx{p$tN`I@vCj*aWZ zF8#vix?3vBeuPL8(TIHUCs_{OWkJ*pt7NxpZMKy!MW`=hvva&z(0=le&!MOdtX23B zu3@lcDL4nq7i8z?wlyWJPTGEM^FCWR@?Z)ocwiz57vtt|P{^T8>wu z7S;FnIm};%nlIo@U13oB?>%L7_GW+{G5<$mG99vDr2Off-3#XBsW;e{mOd3^h)ccJF4rv| zo}uW;`yzdq%%<~AW0AhrJq!uu?%lve-ck6YSkjb7aU71g|?VHbTD2J!dHlQeHBo< z4852a8_9}BnDCd1+%oWENw-Zpv;s3;6t*AOqG?!f)Bq`anDoLaAduum3}H?5L4nu! z*T%8X%1ppQ&X`7G_HfEltd4Z>U%`plmK24(P$nJ`NgIPU-+QE?+MDhTb@ zk>YPWp%j!2BAZ59+{Y8zIQCndW8o*ys)FUbU(}zITM4n55c@2!r6n44qIlLUxwPfhrg9$LD(@XNnQfzqeswKdUnC?uJ zCvo8SL(MK0!=oNK#J-URve`xv`$+D=V;6X78;y@3gZIIi3{=i4- zo{)~(#74`rb=-GCuZlJ&y}q;`1S!v6a_Lbg?CiMQqA7jVV`{!_1# zbX(-~L`@RKn*WZK{s}j*IhvgvKsqdUyfSl~d#m2f?5U*3;STstLu3NNq~nDDfPBY3 zZZeticloO~lhylsbhD_`uj2^{!X1vbY2I~epYmwyUg=o@9}8{FO6M01zSG&BKw@ex z82=V8MaHWw7ws3@j~cVH-S5}WUogB(pv`L%IqwsrvtLi4&EH*gB8c`Cw@NjXv@2-PhC{%^BXhS&Nx(n5IDxoBPNzNzsrDDI4m}uBlDw{(z42-1mb;tW+*F z?f~0Rax2)zKF~rs=^LtNUt3db;+*O@ltv5Dw_*z}->9I*a z$rpP?*C20D=ojp_yQc=geVN=jY0(zFPKuS z4o$PUSqtIpkgp*@F-VWk*DM)m!SmY+Aj+P{ADN8q3o}lx?QfC0%7?aGmJpvqG<2AW zynL`A*US;Qaz))HsDQm*P8q3Qe9H0kGgK)bl>>Vmw;xdH#MV~FD6(9Q?M)m7bBzt$WC zK-!s&5U1oot3$nwYr&L7SAC8cTbcVb+Q3{{6mW9^o zH=onn(?3EE2yGK1ky1A;dNUZ5M2)HW|d_cHLgQX6z{D#Yx0VU+;7KHiG% zf$Sv3P@{vU_3Q1Am<&R=5(X(m_rYbA#>arblJ-dX&_A=Xhu#1ESNLW?XJss;AjR|O zKOh|BJ|8ooNHIWQ@MVJJ`s}j}%6@m!yiFvzDU~{;-Y$@URLld500lI3iZ#RHdqdS= z1Dhj&Bd|su&|_rsjzj^-G5QgvBD-}}N~K2UvS+GeEpqZBpQsw3J;xoq8*BI|N3YDi z&j-98n<&#c;GrLy=!9i*LIz7jU_TiMTAW*;-Wb1{hQ?XRZQjk3bO;Y7ij2n+SjtNf zo~G~hJ5xQ#mBsni@WxM6qeQfIX&C=0jP3~hbav{a!q`eATi$zAGp|rN-!;Ftm@oJvl zTg^dKGCPf}cVGhrwXj7J-CuSxm@E%$tpfOOed98f<5h&V^*<832B3Rx|4)do$~V55;fUcU4gx(ll8F`E>l6PnAKN6-({t6u_-Vlz>W2I z;qUA&quTpiYP1+|Y10C@s@&>Hlb=YN@LL8b|w0MY|m+^|jtf~mUM9$``p+V++ZUINu;Gm2Eg zq5TLvyS4UX=Ie@7fTH7@l)Uwn%s63xRua?7x!u1{s^?)Xf#OdFwmf^*i9`rh~ z;ky61BlFvs2y~2qF=b@D3$G~i^K+rfN}QpYb2K?vBP&shbX1y%6*&Ze%wfh|MaQDd zb()N$$+gt0l_3Mix+HffD+Sr(zSb5W#)ZV#zUdFwo4ufTc=~54Q@j}6AaQyc_VTOp zR92>7HDj5>d)4g&BhEd4%!jfF*}WQLp0Qo!%lrH$&rQvL$J_U_;{6Hi4Q~%f^wY~c zH2ErrKVpcrd&o0v*Df{ac}Hv0@f$HMQ=_Q5Ke`;`*whUC(t8EF5*;OMk{b-;Bir>aX@=e%)&dHRSum%< zT|Yx|06865Qqpme;2y2xFs3sAWmgMNK$%~zieXi~qM}b8VK%{-1LwTHeEI<+yvxIt zK{hv04nL=4=^u4I$12Y5DU-Y_gYi6W6r%+40uf90w$Xv6iu*l7>mA51}hHZz^Vpiurls2h}6{$;|)Px}li10sV# zGIYodY!uj1;KToXxNKOJ;es&Sn8LXK2VW0Wi~m-HulU8B$BWPOrZbWXhFzsAP$E#d z{}1klz`M9^OAKnQ9zw;w?qBmDY^fz|=^y{vhQU9`7{iwSb70P|cxtGI82$72T_n}O zaZlgh96;)H39quqn3*N2M5^PhFC8-d_`@J240Vu@c#Sm0>p1lFpL^C0|3=I*^1AW& zZ*%|IrvtsUot!^?gA!*yJ`jO^N0$vBxk605)%N^?GBq$=ZuFD)zV#)S$bY84sR?$V zH+Wc;u(MWff4Q>ZckAwkCE7mW5DocX@}k}j#~!vs7`E=*w_sl?ous%nc1l<)y6H9_-Ry0C*GoZP&Bz&OZLNj65E&>pZBFL zP&Wq^yfjLw>+RZ@=s+xGMU`w{OPMaf+P5wdRV*Q47W3JfM)P)6?qRl7hOMf53cA&ih@wNF2C`aCN zV52RdiP0Ncc~e1Ixy`yzfFIv&SYJ^R4mUB7)1-_^Zc(8Rl-?qInNrt5y`NfP9uCKOG6MP%DiDp>nXWY&uHta3FX)) z6LUhXCn>v2EVy|@qur>R0)T^z1R4;hc%)gVzIfK+@}W4^EldD2Qd0|YV0RbmVhdYo zHsnuZZgVh1gCCFdF>Y3wZPEtf5l|39vyYLP==!^~{zX>uYEXDys*r++dSdr#tT$i{ zfWyy@XH^NX@e>7*vkcETXiktn5=1J6SnhM8J;ykrJ6>dSNG7IlWpiinko5@VR$Ibp zR2*C3j~Z8(JPO;itF7eeEp`UW<_6Je*QJz&ZcHSKv3P0e`fW|RzKX+C!&XDeP2Y4&~~=iD4SZI^dRF|)_^sOBgW#$OJEBoJa+;=q z0-()u>_1H@Jezc;Rd_ip>K%;ENqTZAG{+op{l0WOuk0Z;zV>TlR3PLYQ{b2ABMjgJ zBYa$I1m>h|;DF^@|B5nhW}0D8$rU9kgboj17j=A&S#@XS{O)7r$jLAu@6&5DhGeHMD#sDuel-C8Q~RyA*#QdH88a zv9{!>)+y0Q8<>?TO~gQ0+FC@PFt>iDW(``VdeLsl*9J@|Zh_g2CG!`I|JyYetiiU9 ze9ZvlsBHcGW|rIwnu0mBzd`~NfT!%TB?#&CRRS-M_zjwNg2_nXGo&HA0!3q$1u4br){sHp7D|7)wr;O^MOt+b6fdq?vYMV%q zrp56Aeq)FDgOP`c9429H4Pwr})s}z;AyHMLm&>$6D|@Q2SCW<7&?c`uSgFx(zWVXK>t6BR_tKz(jXKoPcT>~dlZgQvU zXr_Vr)V;4@qThNt6fcWXqUPn&($_Y93ixp;aj64&>=H?!#;BlUOc;|FsF59%)&;;j zUH`L8f1j7C!FYN_b6`^-x~HNf!@Qn!&PLrn3nYi?&~$&yifZ8GmHA@^It<`x?bPC; zjxz$g#-op0NCbz#b|<_%GcCexq^b^2&-bYT^ubKAr}KUFtL%0D zXp(lMK=^*|mNuwjt@AqxMihl#X=u9D(Q_7|HmAioC+75o?r`@?XjQmx{FDtuu3O@k zz=}y%h*Qt!uA8Ps@3lpfk|#5}|D0nTmpFsH{*#~n85-^00B)COJAw_lZDW%T@>S*o zsJixZ$mLqFz~IS6`(`4mrB$7>%bbW;R%q z<0e_(Z5MNGt=GIP4A1GZOpUEfaj%*Dtq&*?{`_`j(M}q?(X!sagX|jzg5ql*yRm=u zORfJ|)ZXW(I4GB}6lQA>yg(=#en_@DR~nu*twujFL4fM~J_0SF6zht2iNsPsO-a?v zDxV;=+4&@mk3zkIvxFF?KkOM z;&fOc>sp{&s1L)>+mqQSoTNgP!XTD&yg-1YwW!U3E|s6UD8=9u>ixCmV$~Djoz^m6 zc04P2BDyBk2wdv!8xwuAk#Eg|Z(UpUV_wyW!4E#pHLjL&r`{o^4J^v{4Qi}tiFkW@ zO6Y?bAV(k9IXIG$JQ~@~_O-t!8kZHUwooz0&Z@q0rh&~0U+S-RkK(_7A~3)=FrlRe z_|opaO|{1G7D6%O$s3u^@}B0Nnmc#PkNm0i?2FX$qwHRb~LF0-|Rb}hG#0w3lcjR=*sJ}FjWbddrfB}zA6d4BpL zCi<4g@$`$Arq6!&Dd129NK$?i;m`8@YMFuWnLM+$K4A~WJVX*;`?Lo8=VAs)#>xU& zVNmzwqqj$I(4Iaysyu=j+15z4n|wN}@Ij3ufZ}6zNTxkNB(_I8DmjY84-nrnk!xK# zR^Lsez??Ks@#*pkg*S@SuO99sJR_1`zy)J2_184PEyIIP~ zX<6Ir$0&)@4NMX0q08mz5^&^(ndeOJ;3Z&X)!Z}{~1;K27JdVG}9ke<`s?QRFbD4`yS%*UAP zI=UiOeXvlkyi-if#`gyf+2y)kBO3iT-jQ<|NRR*t5kwthYV`=8 z`WYhwiMnGBfBrc$q6k}&NxvqRAO6ZtUmSD2-#O-1`1bGZx%_P}9y0q?B96u?jdgOq zNxvAM)gN(c%$Q5 zL*WHJKCV@{`SD-Q^di%e988zp!n~SPT1u?iP1oozcEYXU=Jkn~sVtgcQOa7;0^!?c zIvFy**4@8R!sh(nY@MBtV_T!K^BPKw`c)=aXA$fNC;Es>@7D$~ryD4EK1|hU^EA$3 zLq4Q2sMK$9gB?YmTG&7&IWv$q`aAE3@*9)lj6%F<^DE?gqMr&uwXQ3BsBr$qua8;1 zb;IgEgWgpMy{;Ci$mH*3rDER9u7{<5f;c^i-B}qfuloQrP8(~&?52=+>BWT_deM8e z$+j5i%(W;}7DY!#8JWdauK$p}=xRgJKo*P^vHq%XCsW?xyMf+KlDZbNPqBqC9Ci~LdrG2`$F$WOOK1h#ul5NCsgV&N`~6R@r;?U!Cjuo?F_{%?I+IsdzM;|?+zzxIZn zRXx4WU-IcUG25=1>P}uXDL7L!Acen_RuPq2phj8F+~@hJ(j7sh{!+ z3disB@$gIh$Kt+sXW-#>QHxYCFIiYtA&MBDu*UmxwP89X2)m7hpN9SshX_kzI9 z{dtEY*WCJ1tK$9+JND1+{M$~`1zl$ryj2d4W?T376iOIvLe0Y2i3aNY7tKSKe zQV@8rI`+F4)4I=F_>~;cb;)N@-_Yozq(xd zy_hjSfl}E~BZjB1c1y;l&11%2n*M&s zmp0G$y@&Z0ZXZ!L2LaM)wQ}TqoXC;qV3HqO7kk6W7Dx{BYiqI7M9EI=cSiFFx4X2i6MVHc70-~G2PL^a+oE+} zO#32p!ON#Fz!TkD^4N@}J$&r06sm?CQdE}^b!47XqAR^Nxk#W+ ziF>h@9IP*V0cpmMpJ(5_{+q&%BV^xMgkA1edWBG#56TGRsrAOBtg&u67oQUX$!X!6NT zv~kH#`>~hKJa3#d9i!CqLnPLsg`pr|xnZ8UMEh^;cosh6i)oVV8X6 zf53TE5_XS9t<_>31*t;TlnMzqiU>PdgK_%?S+VXY=1_btl?${s7I`@+W zT@=N=jP#Gd>PP2(nn5o7(q>@c|6a5Oi#|%0^{fHCeETQI@w3BE$J#oQMzi8j$G)f& zt?a``SFAs}z-lj;HBX)R_!4z=TVtn!?ob$f+YRQfRiulnDSWV8) zUDZG%wU>WquY&h;j4{-_x{?tPANBJxzSI5FUQOz@@(=NmtO&t?mcaW;W{L(lLrNkO zs3Cm`Mn0y6-7di;Z3)N~XEIoQv8~lpD;pDaz$1)2sag11#_|w}1bv#FDP_iXEbjv| zmbkx_xto4;NKbk;+eA<5u-E#APlz%;CD2+L$M^gB4a=$MXU1kRDXW0FxZI!f^BV`R z_9kS9Ak=A018pr;j8g`nmly^4!C*4k9}m+AgNvI zxG8V6;Sts05lUYu6YHB~a65wgy< zJ~yc)66CU>RM<*nsQw8EW9ky_o=8Qu=doL$l>`acd2(Y7r35L`#N#ZiLZbA03V=Ck zz?*nQbvQjWOUNp3$ z9_FFIG(LY|7p=zyvcATsW=Typz}mdOgW zmj`jP2zm3iZc7mEF{ptHzTb29H*n}^j0A4P(Bi%;X)Q2q9)2z-ZQkA4x-t>(&mb%- zoUybr{HjUbG|AbJj{4OYM#G!OM9NsuBM7A$O4JfhQ!)}xg@Q%du4tg=_jnv&e5Rd4 z(nFeH3U3Vy$$twrGA50t1vAT;J5`O`41mRpaA*NSQjjZTb*FQgKHlWxN?wKg)iibs zyM^v~@tB0V4|HWS>Xn=o`LTRZ<*Op+l&vyK#VW?fyT8D^v`pZ{2H!!V&>Q;&@`4q0 znuXf3 zBKd%Q8yJ44fpBcI4E&>(8frD^luSTQlLo}8%RxyGZzZ1orOcqP>-!1D_NUqksu8zn zI&svM zWKb2ZmR~#E&XayCS4&(NhB`0@BmsBkAFg@@6$swbWv-5JkDWiKo$+Jsk}Iu(sR;tw#SJ-S}Sj{X5OG80Xwnyh9>euaZ$qFg1%}1%KiyKPX*rF zL&#HK80%>TeOk&CS%ooC_^Oo{l8PH`5n4^);lTKhM#kpT3*Qe$KeE$s_8;Ct$Y2v& zr*ofHAub3GAma|+EV_iX0-2wH_3~zgsiMi-_l@a!nxRSR)fECThFrNQVXZ{qswk5<1Rxg69C`_4)s0EH(7eI4tIudTsjB7uF>z$|kVOYb z-=i$+n={%92za%`_6&$q@Ehpzt8_@(cS7Yi zOaS>?0YLEhPJtf6s{^2$>Ky9!lsXl?9^+S?y4yjl#TdR^CZVB`TqJ_38yO01%O5nF z)`9f;4Kup?!+}y8_-PSnj;F}&zSpu_0K;h*Pl8K?Wf_9fe&mc5W{&veO3H4AJuw;S z$??Rx?52FmmFS9QY4IQH?hfnAL-xDrCir#VCT@y6Z-r}F`oXd9P{Yt zUMJgrG)DO ze8DN_fS1Lsns92{e%LbSVO}ryewd2y*u!u~==Ce_)hwAEF5y*V^UHy+Z51pjL9Ht1 z<4wHjj#AJgXyMLLWkKv&4R1O$*j5`@OHUE5ke@}@tlsn-1sMCi_3YR42i?rd)&oqIVEP{+G8 zpa~qqSD!&Gsstu-*?AO&@!wsezKZhia(NTjjltkRt^?6(8KBiYx*B|;Oqmp18)n4* zjo32@QqCBn;@HxRCUqGA(kYc%@5Cez^VJ&=%u@p9KzgZyPoi;{4NkRe9wiZIrXfbLft!6ZA*W&}QsRGI1CYlr;eKs^K!MdFZg!fOS z@U-Lzha~1s^BFTONcK2$1F~0N{O57UI zR3M-!t(PR&_X7pzESg*`051Pe;nI4_=kGm(!#@Z8Ri+ib^lPGnXv6nnVsGww&h%mi zIu~E>VQzUhC;%(X-A^eM1x%xG4CsO&yiKEK+1!!Prp<|D#^+1>NB&iy6226d(UV9M z`?>H)siTWE1w=o-&*Jsb1w4Q3p6;}ZuVELmIjG@_tsvaU+Dgn|+`#|@hX5ycKoE$U zHy!N(8EZfI#R8%DZbxB)xAgF_i@H{r^g}4Zv|ddZ5w9_!N{Kyh+5p;#O=23o;cF1%KB4<%QSE%%Mt$tH{B!K&u1Bhf+A%U3x zmDU2b*=u)sX@ExE!Lvf;k!-Ipd^MhZuPA4TKmxC~3!;=hpD*DrvZTx?iv4v|l7F9n zmqhL7>KL*fDfDVL;(r@T#h!vOJE&jA_BvdZgZV#OOQ^Hpjldhv{#n6SWz`hZwPWH3 zHrP-@^Vv514?erMQuPEU^Od7a7C2>>vMzXuQzeU_Z9i*%z=cSMZC4dsrx7U1-$4Ov zaI;G(LgR;)E5Tdhg6<9Ox852w-(d??`}CQ0u2ownuPS^0NNG9iF3x3YuiDK<{Vy0V zbNQCu$^$V`A*Ah*D*^L#pL4QjM{!3XFJiI2fU{=%7S)sU95P7b$$29&+Go!U%6Y%@ zlYJ#5qmtV-1+0_;;6^V!D7$oh5iS?rs2|w762mT+D_Er8B`n(cE(1}UY6H0IfZA5s)AJk4zgYox^@bo(gs%IK#(_ce#<8PhPyMZc(%#|d(X4# zm+~}O(^toxI{%Par3p>Pn3r!K!id25xh8jV#Gl1;pNr(=R$Tw_g0`QRX$BCA#H}Fm zG@^C89$B(}_ALhP!<_CHq(yuT2j8<{<&A2u(vn(>6M!}B5s z*6F1AuJEf;0jRL;OksJv!9+n zM4Z0B%*L_jOkRfT(80Cz$Od1CiaD#Vj9kAIAi)ixMfNSaD9lXM5aQVF8U_1)+zgA` z9j@Vem~z0TXE{xUrQLfreZKsy|JTJ}r~SRlml2NnR*W_VucOFI*&C~2ou#IdK~<0ZmG4n`u#rzbcoM_aB9`jM*DE56h1BEJOwL_*r=w5>6%`x!j#r++V$5X04FQpcyRF^-dAUKbx8Q!1zEX zsZh-vzSPf)%#tS&{?Wi?P^n#dwW7w2jA?$G57*|cBqz2}nOC`ue$4g+JV69&DQUmx z`l#k;304px2~=oxa(;-E2RZ+LOe+umpqYYgBZf%ic8qNv0lA1RzD~57xX6*!L529n8G_EnVcW(345H^++H- zR1k7JmK{OhD{`qmw)-zPfmD0aB?K4@iYrys;qDT>!_HF;v&)w`WE%}qV)sF|Mc_ru z~}Rmqi( zm}KJ8fyCL#c(L?w{~uo7H=o5Em`kVq%BI1WLiUAW#f^hYC1e23R~6x3Qp|SbDJT8l zUwB6C!z131yFk>ET>Xu%ig-rpe?g(A2c@k>l{j>tVl@b z5kJY##t~|ViH-97yHduU$%tdN-^%hIsa#p?uIjebSqDOTOB^Q&TC;Qnz}rcZ4Dsvo zgau?>{AA~7teP`(9%0%j4_oWArfhz7@6SEUoyy=8n+7abXG$vVwq3*pIA{teWn z_8)=rp0jjARbXtglCXM7;j6p74uKOY{GV>jpf%yH(~_7~IJHW*vlovr1^Lc*uaSYL zabBeJ-*MK`$xeam4OB7hsuENC5NC^CvTjHTSR}53%I8WAQBh>$F%X@JdV$78J2bk1 zCpA7x5c_-e_Wv^A#C}^du&)%Gs`KA?Q?X?5lktxp&)5e6;1n}6M1)lxqa2c!^b)8d-k$t~u79$PuF}gtC=x7(u(G#>W@X-Y(vY zdihvCg;Z(_4Y$_KwDcbz42Fb^HKHmpDK?4rrNZde)IDL_xTay^%`i{3v_ z(aLK|=B6Ga75gW#$CjR)s+wAOvNv%p=(e66#5+#A*&OfTXV@0yFZ=Lz9y8<2D<*O6 zh92&go2#P8z}+N&=tPYYwTTeP5Pctu!5CTzzqM(=Z z7|$4-G2*$#lpW#BRB~1YXA(Ob>?GTM$PG)pR$(+}m_oTROiDVRl}Y@LI{PiXX(xO{ z`YC+c_R?N*t$J3cNN|$MT{ukHuV{NKS8@(w$^x1Xs5OTth}{5I1^1Q~>CU<8Oha4- zk)Y8!p@v|sGqh12i6OT5Duf%kr+XS|THUEc8Y5ILFIl@?%kl2+FT-&_|iJ^3E=DN8z0%6D1$&0!#^}zfKpl zXJd!AM!nK1ASN_GDK-k@K-kVmSbTli*(dmhu3Zj+BF87lg!^q_B!BC+USHGPc9bmX_A8eOWsa zW{lWl-$kDKTc|SE6~ARNGf>ALDkAA^jMkk}yJ-ldHy{$Cw{muI~Lr>g1Gjp^d zvsI(zd6@RhGSbdFbgnU`Zf#cTQrth4-CM(}4i+uHbGN!ROxW}K2>WgzW-i0 z=-ENBVr>5VV{IIFzukDGDucOUhhG+4)^7^6)_KYTPiL+^QdeN`NdQ+F~8BWJgE%i~s%Z&xmMA5*Lwgd9_*Bm^{v>|Fb4P)Ws*H6WP>-E&bY_yK=cswJ zcTN@cI9&~BSFu|XFI+-j#SvWL#J*4nSG5(foz4(X@S{iEpkH)#tGuh!2tD2@u_G#2 z2W0r@WagXoWnD61HL+-UwK+u#hwv?vtz0`Js^dlka(B}%a_n+b;Kp1$vOJAxu)F0! zm2Hj)K5)7^V8g=2whJ4t-?0`*XCEbzAvh)p1QKEFL@g&LfF-45uT_#T;}gF;NO~W3fD%cp3Cgtw{@<{PAT=|3)eUuB-j{4Ijne@s zSXBcbSRJ-*fJDbwpB>knv%<+sng$-vpK?BxORcVlWD=+uWZ&*9thHChik{8=4v?M? z<&uvQdf=x@|IuAU)mxRo?oH5>dEPT)67=SwuinmEq1;3A0cpAv!QGK%IRv|;*C*8p zgJ3Zmha=lxP`2GWcu*T6%Xb~oLWskDN)B_!Cs3FNNCLqdCt_8&r~W{}f3sYpc5N4B zKzTlu`$lbakLwO4?{x_G*Sup)92f`JB9p5@_5~UCzv?kM-%tfeLQwi6)UlvAJB%U$ z;L6>AFcX2z@~fF32g^Nj4f4mJe7gqIxjY2GayqrJXP2px1bB(^=Ul?G*GOHP^qg}3jIJgM2327Gc812s>{hQC$jDlMD4b?>}5L?WE$7lEhm zT75Q#T&vL{Pg+!#CnkYbZ4gdX%Z(kOdLkgarD}79B)(mTEtIqq;6nA4%h-Q~Ez<&` zAV_1Ef}?>(BI0ASO8n1A2pZV)RgSvlS*T$0KSeKyu3@|U)UZA8(1x0!wRB>=aI!)c zL&F4JTLgQruk@=`>$M&iI`t2Pla@ne?X}LX}a6E=_)_M*R%sr*xxG zv*I4dQ_6FlC%>k1SHrv{&h2XvtnWr!d^f&%Ck;&vGnhx+KnK3X1mX3J?TYwtt?;*a zy#{O*<36sz>s*9dlOqp2Br^arn+$x=_f1aQG}63bN-Tx@=JubZEcr)XVIO7S@0SOd zA4X%lB2KE7JVXSjVcZqwZbEHO4X@CzagMOvvYHEN)lV(}E(#Ca78hQzd8-Td!(BvSS+FfBtISDGShQ?xz5z;O7pn-IEu-mzhzw-{!q6 zev|L2_OWOIn$xg&dVI|ApxyzM65|>@e0CB22o6@i%&+$3)QS#4HSy7)F<9LVPs>#Z z7R~ku>H!JtIXhIu_V}p@yvOwd0%a>$n*u4@b4Q@Y1#JNvN>QvvU6P09jf#Mae_4BNm&y8iQ4S7oCGizl+}F`i}n4d2`w? z5OKxmo7b8WG#0tNhgpk9ZRergQVDRDF$V$^%!{?;eb1Svs$C2b#d&{S@qnZB&hP(8$0nlX;lIdZM6Oh-FfCwb&zy zm&LetGwZZ?kAitfhZ)Nmg9?T*?`HV@L)Bp^IJ3E%F#=a1-~l2#EDwKV_4!>4*SK6a zp^w&aJ4BX|=o_D_p^UBn+;2JN#aqew!rd9jpul1nDRA7+i4$8-^^kEv6}CTPe1qMj_NVpq3$h2I)9_p%IA3CI4>##6WN zD`{YnKojd4jHP$E%!sBhK(@L-)8LfCmm?6}rsjd^1@afY##??XKrZV@0T3-juX-zn z>(3Pwv2TK?llYB~-PG+xt5uLRWzr#GBKqEAaGe~cV2Fl}6EHbvg@AR*b|s6l!_%u< zo<_qAbQaph+tCl`GZhb#90d6nuTA^qVx^9 z3~)Ywd8tC5JK@Eg6&RE{IqMOnLIwjnXC20BCsHAyVAvGqE{yy+say_x8#d`TD)|Hq zv2_)M4V8G}1BlEkh*SsQ&E5iQ7T6aDP}7nb2Z_&HMb_qjmO-T<6%{z}Xk)I<P%rrC04j|NKiIc<{S$JNgFCG;_k`dy^rGK#I|B5gQk z+@JD3LksYdZR206`Pspv!{*xS*^3h@+}~N?vnhIbd#LmiYFt%^-`i0{oDYj<`Jm&y zMkY-U&WB6nxA3}GjNb)z0Msb(wgJ@HllFJHz4I*=#IFA=3$0|_fk`o>IEpzqOl!9_ zXq1rHfFaF+?vFVd6TdoQ2hN;C4MmB`&;7;!taT=` zthR!Ho7a85cVmM4&NCa zUuFLgN}w}*G$eSP|2=d+6!4e6k=cF0vEje^8`dYJ(7HGy!0u%iEyi|~j4lpwIGcAV zX=z|%p9r#^?Bss6`C~MiYjWkfW7|(2-9Bq>R^Qf?m+Wc*ODI7q`ztaesMQ58-ozZ@ zwXycJq%a@7XzhW3*d3ZU?CAXSU zG866z8Ma0HxEJY4J3!dpIboc!19s2Az# zdc~xkccI$$ZD9VhL6XysHCMlW=RepVJWKt}(ynzcW_3%~Oux(xLS5*cvKRQOn>lnh zYIRU1_VaQ~_|k|-MdImhRnNnDj`P~;B_g9L6xGvdbb8r|=xt6qckC)47uMs!Yj7%r z0W78GmKq=;2VfJL6a=+HSG5V2BP*(`$;X3ilOyYzlzuCu+LW<4u?qBUt`7=1eH)~q zw?(sW#JAm`-gWdM2a#W(w}j1+M44RAKK}y|F%nualFaq}WdeIoN7dWe> zix!hxMo*%T9_r=nm{gydZ#`1lkUx09B?N(GukcU!^mji z%D~UBJGz5sJZWj5ZZ1_EBU2s}at|FnynGUqNu2(oieC%R4d3CbQ{2%;Mnwa?V9i;3l80Lsdrk^x+Tt_x2{c)uA`qA0<5^ATuTvobG4MP2yPSkhP z>|#AykoX+$n@l;g@_yqH>GF_k$%lo6w_@D?9M3{g`11yv86F9VeD2fE>Qoc4>#Y`eET$!Az7Z>P{5b7|0qRBwM9Ei$sD%~reSsELklxYSCo+Ko=Zie)yBba*!!+v3Hlf5OCheU$}>IXmh&n>rn=jpK@AvW2V zyY^a4nj<#XR%Mq*J#155=JP49VPW91;2PZOitT>A(z_kFG=}Kx2&_|~5P3ur@`MBI znoecLpIf)Dzce0uP8#oJYB{q&oQf}1d|^557R8`P3G601PsMnQCYgbUdiU$m_~-&z z1|W`r8y;|uVJp0bKlaq0>4Z(TRlTrlWCWvox;eVAEPV#q{~PAR+e<(f_efZema{)B z;A91g+$Xcax?P;d0%2}FQtowZPU>(u@*tlqHYQn(~u5Y8CJN^(rLxk4v{ zz0Q!%GHfxUPA%jU8=wsHSw*YNicPerC(dLU@Jl9qR{c;CpH+~MwrsarrcKxsX^AyP zNsY_stY5P7&no7uSuso7z-22bZM^kA%*ilfKAif}hlSkiJz@VIjFG<%MjD%bKy2Er zRx#sX^!|1lo?5xM+8h+RJ)&U@huJW&w1nZM>U&`o^Jr{R6YWK9`1QpoMl$DV7}e{! zDN^be%#r`rN$A!|tLk;9ID27Ji?{^8WlFl4 z6?;~FL)DTQ|E^2Po<;LX(&|g2=ixWl3JK|t=fRq&olT41CBIJRIp*t)H+@p3?qMPRd;oLxDARfo|8=uq zS<{~;o8Fa^=3g2EHAQy4NP#TJA0)p&1mkE<&ydG#;exC?QX&(YNSQ7k1Pwy^e2@yCH zE%1{C(XCX(dqgs{Zt;Iq36W)nXbmg^ui1d}u&buzYwVpJA!Lp15OeSA<7(Z~cct<$ zxTMRG;o(#RLZhwtKy{uT{)V(^ta&)h>%RR4Uu6zEn&EdlZxwkgRcObdgAEecljfeqfA`iSBv7YBvUd% zUvSM{P)h=gv5)7#z~dspXb|nf<6-cW8J*7aJ(;CC-dDX)>07#pm#}@7Z1rM#gV9fj zI1a2(Yi$Y^KO1}yHH@V?l8Cql^)3Jh3K9cIIiWsyzbgW!zx-6E$L8|8@@EFrEk zXFfB-R%M{|$=`=ewsJ!{BHqxzJEN@*^$O4;iu9=!uv-)|jz=U`BiAcm%7*$86`0bG zRq0&xF^{QL#M8&IvDS}9D7;Jub*KX$6k4mNjw?yn{^REv0y(*~zwaK9`proC@ksWB zbleG@>^^~{XT29BJi`)9$+h~pXv-q4EkF72#3c>bw4;~~^A&GO-b#-b2D=WMhIl1= zs$}pWyY!MrG>FAShCWte_f0sv+fTf)k%{wWGXrc@CT{FqR>4u2o1}%~8(Z{K+_7Zxc>$k-pM`L!=;n4%D-^|Zf`C>)S_ZCY7oyI?)7t>P@ z^@_<&65F_hEgo-{$`+$bVw;RY=gc#_!_7Q4!GiqZZ2SP(ufI%ytv5s?`rRFeu$p6U zpEc?fv!F#_!{ae$O~V{3Ob$F>DIwQ#b$2=^WuZF2(dmW8wjp}Fw7#wU${UT_h>an% z$D!V(TFUl=rDh7p#?~OGYj*1UckK(h#ky-+@SyNvhiiDQ4uv=Xcf*cR_~S>VXXKr^ zku}1i(r*uw2$!SMlU>*bL;k!Vr!ra1+U-^{o=^btdY2RQ_t|f>wm=fus#RrG=Fs%t z%YEh8Iwax?R4Aa@77rg?ZXlnr0i+_$gDIEsxjjb*qj(ZcUu;mv!lxJN2KHc?{+J## z7&cD`^7g}2>N?UCzZ_EAtfaxx%siG*<+c4nD9~0C7!oc~W^gaOWFqHneZCAE)zy3! zT~2tZM^;%eB_243m9o4*n7JQaPKx(c9>GJ)&1>KP2h?hO~1xy`o#@ zexIw8-ksB;OT+0?UkHwWht&U^)T}+!*@<3gZlVj5?vQNAZFYLwA`E&ciOsT-7lZNN zI<^0_(qxtsJ?4EYz=!S*&-q+KfQ)?C{Z8Jad?l#JSU@dst)uPXHW()$ z9{Q;APK;zMekJM@tiMKF(J*&3p?@`9Z+B@jpE;sYX3#ES{vWp91FnfP{vWSWr4B^v zKtV_yb<`>@KxLdt6%`>>S{G`xsE8QjW+o@4f)+7uRFpUnoJ2)HWgLit3&T)?L^%*8 zV1P@=zTEhKLfh~6_xrv6uU9c?a(B7)Joh~B&wE@4vHg$+1UTQeq?!9u05kC*E31^* zg3Xj2X@)7ir{=7+lu^_%IAkp~m!uBXi)F5?O4_4=4cV?h_W3G!FZk>t{~9b2YE-;2b`NJO_w=vs|Z~W@jQ~AHE^>95nI|8l4Xs zV|uA`d#*R-4@tWh%&ZdeM1oCGdP!xjV(U+v-2{5?0$^1yDqmD4=y@ z^+dQo+m!YXWRj*`l;K-cyp!n#CS^ZyuyfZ`wX#J>eqTkVigP=};(Iy^JzK38Z+K|$ zbrws#rXsGYk0f`sk>y=6GQQ$;Zh$@p>ySLOU*3qCrE6hm+6Aq<(#=Jn?1B)(!nO}C#);H zuPbv48@G4hmw#bGyDz8FlOi9$I^9ccU71=eL6@Bg9)QCLcE3#nd*c%=nb^QS`b6_U zq+&DK+1mKtxH^|v&=m!&!!t|Dqy}uhhT#n**gJ{FbtDZ%E$mi@(*Av=4ETDB5$uih zNBWp=ISoGkfMq&SYpS_j;m^ntuh{Jtv;2W%bGigy1AhHr)E{UucL2|5p2d7Inr?6P zI+ZJd@v%BmblIT2XV~LsF`qGL4;!+bVf&<;Nci&mvu38|frOZ_9WCO3=Mva{oOx|5 z1-`LGE&uw)cmv#xwjYSNsZN_%ARF57zIUW`G+f}(mzZ?Wc(N~H9MDM5(`nCL3%{fO zL+i2Zap38!N7eeZZPAzaPLAIDF{nVsN7$+akz+^ZJJFOJ$)pbDMT0iJMAVWiaX|0t zf)2}nz7e~S$Z)M@mDskEqw{6pUDnt!ik$X`lMUDjXwV3lCNU&gwIR;*& za`EvoeiHN-%VA9$a#?2{f7*vVRjriV)4l)Q%zpSpJJFX*b!Pcc0`=7}c|$-YqG2N7 zMX+?kX?G1#8*c;-l{BaT zil{5QA4E`A?bPwnr1OX(ZX!22l3iBM?GNI*Nc483U}6J)KQfW*uVzl$sXHeXKq1WL zpmC>70p4cs5Xl{*4jj@@!waU`gGk7XLh{r_3)IY1&juV|MB52ogH@zYUAV|KhwlpQ zCLP)hiUlgR_$sc{80wyYvgRcU~sWC|3R~lr*1KJbT z8yIF;xv!qFajIwTT+C&kCgh@MW(Rh+2aevaG2ri~I`1}9rs5BUrx#I1LN4ai~#$X*s6b<+IQuiYr z9a0<5w!Jv#VUNT!O-$#9T*~eBV*}7@%V?@hFC8=c0Ee1$BE<9~RM&dOl29@Jfi%B> zw1;Hq>FqbyfdKw#9o8pVTVB^7Oy7x4O2U!r!ZOoWF;Uqn`8c%`Nm6v~Q2^C?s;UTT zuQPhDV@H8Xs`4K7J9e}#9cz&vU#sHzBj_laa%xoqci*ELj0ctYQUtXJh1UH8M%M1O=up4c{+70QtuKtr`(y6}RsKQ8IdLSInYj7jU2{XAIJ~3!laJ3Qtfn zDR=dcpW9Gj#=ATn;R(ei<+KhcN#3dZ^1bK|&$snYrG(k{lw%5gBn2~^aYavz=!qhS z<~TG}k-w^4_BIzw0`CRN@r{A8U6RNCY9Yno-gimD_9=~=Yht#%Ehjc=S4I-VuaQ{c zlLPkIPzZDAtHjc~rA5-=fn@j(;?K%fX2C&?XIJnjhIPiY=lB+Us{$WYZ9tiQKR99e zK>MbamGaq@J1qD3lft91amn{^gPh(M7ysa++3ocjg>>=TW95=e{Jdg$>>K2GYD13j z`I^;U4(8?$qAiM-YvczSbn1D*tI@w@Eb)Smmh+mS-g`gIK(zfrH_TinW6uKowh9JD zR;KJimbCzC4TTe62eQ4{tC z)>^r(C`7h|Q(-U+0bKmwr1pQ1{4^>6VEV-@Ti6D~Rh9!=`4>W$z@k7R26ucmnC=5@ zdfF8hxyFK^hCRcu!IjEt5-qA-O7i)*6o`I?BSKLm1(dQSQ>}lc`sQIa;^KM_Rv|&6$o@|a#&;{5Rjp` zfxsf~BmuApn#v$>hWh{GnHK=OYdAM>aQCLtimHE2h4#P+g_Zs*fWTg?)UiCJ?8oz! ztbMDM@%`gJv~9>wu#%v=gZ(6a5)cJU{b!e~1o3uR=CmpnK7>pE9~ayGf36^F3k6+E zzw4lU1RjkYjlzk&3YP#1e8j(3Q0Gv+3O@Pff1Qiqpm3-f#bbwB{$$v*3=7#f))Q{s ztkGfKV-chW>e%s*cQ77S8`GxC`V%~YG7em)4`2JagJ2gFo&Bs=6-=>)4b%>M_dSnx zhr5wZwOMfk1j8qI%@LLgEL!;S0VJ#x*PE*XR2|rvMqMiH_{Y_6zR1lvn`m0zvbRGT zs`>awy2$QUjOMq$h$oGT{>>I26?3Tv=^T!s7YwSJum$|u4BYCfXRm5Tt9?X+rD7gf zs1>tD=1-VL$aE!x{laA{*?=*7;FB)U$Q{Z20V1 zyIIJ!A3Ym&voTAmHU`QY1Eax!_gV#X0Ei`NQ6l|J2fDi1GzubdxQ|Z$@9FnP@Aae; zIM3@dU)o<2wP^LmtuPsF!(Z{0XrPS^Yi&0N9 zG+%=!pXRlNP zElDyr#BBGo3o3o$?)9}(Gx40!`EKt(F+bj<^#*raZXQ)B_(^XmT6d$(|7X zxl!FIUgp#6G4_@z|3}jjh+Jy!6>I{0@>o}KDTc5 z5*0lkW+qPaf^n9BIrtPQx z2YC3 z{$FP7?wVhJUA8`iGC571x*iL-r7IyW*|#|vAZW{MoFr7cEOLoY#$o>H(uE&Pl2kT* z-|yp;v_E&0a=oxAs7u*zF=e*DxtJygB|-JA)0ktQKqu!*5tivo$W8p~72}O$L1ezDNFQECnzP?7qz0@Bmro>~Zu^gpVD4fhz=~2LffmmeRy{w4yRmby|0v`K^&R28w?_LlG-i`|o~0omkxx zwtiT@=kMO{URWI(dv#Gv!Xc=LyfMCvp}Zrt^24ZXCYjRu1@Dj#McV}{9clNk{YYXd z2xh~D&qp%*e_*6dpWxp1&M`+KZ$i;;Ms-QL_hed^;SzT+(ymg>zDg{Iz#_8rwxTTFyjRG&+-QbTgn7L4(4o`_;Un0P;GK{>&;w* zI~o{?f*$9_vd#7+NaCk_V9HUu+bWjSwTWrK%9^O*s|TY27TG(Wkf^^op~Fu|taQDr zkjHat#4i(>x#5^4V5@-%Y)FISMQy6{Dexe+WZU*@%qry1MA%Mzeha@6o~I^+!E zR1$>7^~KO>dA4$ zjAsr}$L{dr&7Jnqrtm|u#Sgdoe5?8_iR>OKP08g(`|Z0D{3@}(Pc4ovSE`LGkS-&j z2)#hLkM3w`i^ydCceJu5w<8S1F?Yt>TM*Ead{dY>`#GEh@Wr^z%xk>(9-3;uJKmKt zXL4~_m;LCeugBPuMxadIXKm*({?}+AYmFusW9+<@R?3#NEi?eaPe_0%kk9gg60>-D zB>LwQOE$niks~9*MrP_*7+*^+vBbd1qKGo^7kNZZb1V@omC$9BHj9~w;>!IHd81LV zj%v-k_y{cFILoW~dK7Pz?|eiezlJR_-CIkQU^=U|KqkBr4Iq=P}KJv>h)lm8N9`hEq&i2*RUy6tm}dy<`Pa{Dr)X?_&* zCl8vNUZj67eX)lLA1QZGEhyT~`>i8s-)hln$&?j$Ua=IH%nBpQdy00HC-rKWv~a4X zxFz;j-E(~F54d)p(7;PU?1ctmIPdqiTx&{2zr#B`@%M}JTvf!I7foR+-p>qm9DRmN zgv`c}hQf--hVqs_d^B&yJfmIztRmg&l=oyXtQxoO!*R{*@W2#RuVxaX&!3p|1YE9U z!?F?(-jgPa+Y^({HNzdP-7;rJ5jvuY^rY*%vclNxWCF=BF-KjB&^|fl7(ubom)w4O zqtKDQ1}?x4dnGdypBRnQJ`fZzp{Wbm)1Oo|t*%$yv9Fai`F0<7mu8~LCs{8I+^y9UXS;?xOVA#!0P5CiWYJu-YSrHQHL9%)-8H1j0#eD>FV z0;PPad(E>JtXA68Wyyp)|AWj#BZ?y1^K>DZRz>(!6kVNZDLl1>H=$zv*8bWbOD(;Y zWaFnrqG63X!S>>|oKL!hjns%9f!H>iKrHW*&N3ko54s@YJ!`W#?d&OhmhezNxVXLw zpK;K8SzVBLeC%*6>B&^Xlf<}HgZIqNlvHN-DxJI59RE#OX5Z51n0?6Qsb}WozI<}F z_tZB-5~`FwM;4Y>L*pX>hJ+w?PO4@5`*3dG0NI98Ded^&QI{sv8v^+7+ zWX#KyfKxef67qp@o@5PEC*3u)7~&5qo9$OdQ-hX>krNxKT5m6A+(Aw1f(_KYIcJbg z`M?o$^N2FRf~hXHQ<+f*H|oyVH*;4EM_)=ub(u5QM1Lm+HK6Yw?WkWbvwhE{f1iZO zmgF+aS|@hUjIFb!i`a?1-&;BQARuKoLi2_RpH*DyNkV4(%Hy{IlmV0t9=ZR{9RJn5 z{wrNgX0~nnpAN#hIs)GtVRiVPHLRTU35jM9;QJ*9(2&<v=hC#*DO0V1-r^T)h2$wPIUNMQUy9@$(Cp; zQ1=WHc3*-CmBuWxwU_7aPM;Z~!4T=KgWPth=dc;&n8!Hio`b{EkRxSXp>)EWGu`%L zH?KVm%*7S@M-IBMT6<GounN_W$|z#ysFr*L%q3UziJWej>*n16+8M~Wox;`R$?tHUI(0{xkw@A+ z$LVR1s^n&3ro@|Ccuu^K6!zgSjqBHJpXl;KEQk!bR#MaDd~s^V!&O^Oe&5Hlk+KCJ zw+O3^V3~1=M_meUj47?bHvIm+fe+b%B|_hwd94I4zuHSg5&@nAMwRW0iGI3Sg9b%k zU(}_|gy@$+zG9hH@ES2|2X3bwn;y$0ON4YyhBO--EwO=Wvx6Ov&%7K{f{=c!OULzuAJ?H=*nzU2PAd_EWsB&PZVw4C zW7n8dDkv_1warsNPmepr&=y-D?0VW|0BG*D6IYRYWt9Ky#6KAc zbH0oV`I!!QWh#fE*?a_CyW}vW z(_2pg7%_#mDS-+tgR_8Neq@TDfP;$C!i&k?fEe-&3Kbp$h z=fc7|;6Z?b=?A!J;ZUjqyB{cmp-Yjl9qc7mFK-+U;Ys>F^#^vItks$~0<>rLoajxf5{j{cHl_56WF-h`fXz3M9@}7wXP)y;ej)71pf;r# z&S;8gIry&emLQ97F!R9so3h4%gRBMI*$DQ0J32TZ=zMdc3*P<{LA~jQy$^{X0}8f^ zXG*Ysno`%Xc%vsw!4^Kci=Um&MHV_Xg3TP5mH3{#G z9pGM@lXps%W-UQ8O#Ec-Aq*z6yr;^;+~F)yf1$%wo_j-NUu*iPi)bBQ`~%4hGC4)9 z(59L4AU|CB(J1mG%|GgYB7MaeXaXqBW^b zCd@F=9rd9{-k`lpO*TIlGX40eUyak|utNvUNs?usdxJ`@X(h!34T2htrzk*$jfLmW zQk3;O<-!i9sR~eRX~LJhF-X!S2aH_y{2%_z2=b9H!mhR!d042Z#X$DKVQX#@d-F}) z=hr1kVEy%T8;b;DXnR`;rl@Y`EGsy|X{u?*LL)8i9u{tRaI@`PqyuJ2?ebG@DeOt$ z*GpIrEdLeV!`>HzAj;t`U2Vqmulw#D*=hpZ2YDf}K7-raT`P|=KLcF5uY@T)u+81x&L<) z|H3-^QST3V$q_DJR8-{Pa#YImJw@EMB!`+bT=9m z9j}+Z*liFb=wU$?ZD-?_U4G)j;eeDeRoK~2sdh>+Cn)RpsJ(pS-h zkL#_)D~2J@?*iLk!$n+Zv|<96bc#qx;Y*qSnvj+Z54#j_*HjWCos>qI+s$X-C3g(nh9NMDpneTx5#H_eKR!Mf*4|lkivk zY~vVvQB<)CoiU-AH)f=YvyjiE24cKG(fL)y`^Zs3X5(=mcIP%Nwx9IMQniydyZRmO9NUD0)Ist659kGWAHj-vbWvF8pa3p!tZ|Jh}! zMMlrDx_|E;kEV_1{2qE#-I>=`2;(sEs>Zyx5!kgyz1ffNi|eq!H(~8d*P3bZi(dfe0!=CB> zTKlJL&;3z1Hx&h9;Ed3Kj1%5?sL_u9HI@B9$Y&4aYNunDaymmt+}|eWNd+hKEtUra z-(137{3wsDh1}cS5gB6kpoj&*B?am8SkP)Wab>q-*{ zQP{sel?-AjeOPUOQE+|e_Mfr3tI9XhjXI+=jNen&L}UOq@HftRo#oQf>5<(`uEl3W z*Ky<=aH^U%CkqKI*N>+hPo$a#gKtqL{Q~;xUF^(ju3g#4LK>i!7x=OJ8^8}PUH4uP zX6}^9eUh`Z-LLHY4y`Nf6st*5EA59E9EQ1+nT$Ub;Bz;c_L7*nP{uD{#M=~NT@13` zPh|Ii>1ZAQ$F7%6^gLvtw#(_n%DA;DK&4wbe4(p}{@4`Zq5z>AA52;aBIrvJ@Mext z*-uRenu%pRm^P<}Y>cCf zcge&!O1mgy zN4TxNdl)$=*inu`!yI*A{Jym-O>;x^sCu^{{9$5mlZqa-WPHY#h>6X|upKj!|ztQQg2AINNu< z(&mBXc`}RE_{1{Qh;7=;^FDzuZ$`;3B(;@34d0V&K_Rr5H=oaptVujxvnJ>V$O2Hw zo|j-5G<{Z%yIylg_f_I;yE6)f7mHrkrQHl^7I)Y~f~Y^b{X*FjKVBwa-PmG_w%lO5 zEERp|>E6+y(rwmCUJij2nGM^tGF|z?%ljeiLh7o`kRkpSUAZyw*Hkp$v*=Q}RGxXR z6jGOtiFCFI3MskVKYe^%TXJbLJp$Qq&6zF(++}!MxP_=D@Y(K7 z7u;xQ@vjwh2B+ zTIIvBBiTaySF7Peu6pJJN-;z>IB{HyNp4Zvqz&}`W+XakoA{EGb!K^0ixiC*nY@Gg z_}gN7*nnp|YdSslp13{BMXKnVbYycwOZn!*;-WxwVIbqyK@`bxjvwD=Ivutn<-;n& zQfl^xD-rA!d{u*62b$YbnYED~*Ha(o3l6c(5IpN0>wM*}oD^R+?>l)4cGwz1v0Vnx zacZBpsQiytvv2YU?xBiIQdF!LkM{Dz&J~2#_muO*XxT3M;GAJb?=Ks>UKMO_sGFi5 zQD3rIs|b+q3%FG)t6ICbERqWOs~k6`z8uLe{<~aom3)I@z}~shfkRmEfJSbOq0)@i zCNS!}DszVH4t`{}lg^BN)tkfZb>Ojp;r(~djatvQzeuU}*5^U!f>i36w@^X_fv$#j zgI0r%&Y37G@n~K-oPI1Fqqdk&Ua#QV(ibL&{_-njhUk+n{mKQPqP$U|xFnVQ@^nFX z-)C2jeMytP%RGJ@4?KMlS4!sdUp_ajm)@UvR;$v5wwg_Or+k=|QVcm=|1-FeE(NJv z2sXIMbEW8@5mEJ zeSi!T&>cF>Y~Q9GZzW*|VgZ;0fynZ6_)Y{}1=4qjEI$bEfkZDs#P!r^crQ3MR;AM_ zgHkb#Q>T(h(rF!jO~thE-Wu1CE0d$6a?G|sIuu&W%|P`lRw-Q}B>An!2brrF77j{9 z+hAcM-O($Tn}_{XPX$|l;jBSx)dB*ti!h+0rw7m?2J#qqDC}3*aY%99rbVppIrU-$ zL3`zxe}}cQ@q4(8ci6qnLm@*lX{x7G0$?qb0AE?KAWVXtum509u$Z+F*Xj1QMGNo{ zPZ`l^)XJBqQcj(jM?jFhEEUng{_x;HzvG_YW0-M`inxZXxePh+(03_YQ*)=w}4LFUB3ZeEbkNYat2(GwejSfpBDa2#yX8p``yTm*I}F#lumXZQxc6UC^`;sx@I+8Hi_wTbR`0 z%?Kpa{e~Vv`{kIEdY75-YeU9RS^q4jaVi^bY2bvkTLga`L2LYazT-6GebJB&N7(O$ z%nS}_{mPDLBJwvL0X+_Ek{wrOQqT|Q>h~$|g?t~fHT4}I(gP*f#d<2udJ%qy_wn_V z2;RG*9&vOqbgmF}A6nEV5=F$(;BDJAScWg)Gfx*GjU^s`$q8M)Km3Tgjwp(=MeoEB zCGi)W#y!NG-M03r1TzF0*N@C-_CBlP=f zT9P#HYp$&RJz(KX=T}lrSrArLUM&~2=q<*$%%xZcOq5i~0h`lKW)e0@Oz}OsH z*lw}D_fRvL@PdGA)IY9r;1W+hW}%F?>CR^dcK;vidiAQNL>q~Axu2s}@j zi-HZKeO2xZngI#`0g=-w^)8I#g_GuZAB)?p6tH}E!Frdspp_a3cyHnC?F!%7uCu+! zIF8&y%>yW?{T4ef6zgqyh*pZ1tuT9x3+QsH+4_Yw(SyNokYSzxb$7y)X$9<#GS4r$ zo-q1buV8wU-lloKdu*}*Y@!D{frduE&x;!iflW3^S11g7DWrRl7UY+XX;SvPZr}r1 zf@~Bp)5t#i^x_&B7yyiK8*gfrT(KJTX*|C_0#zrms@q1Mm>YgzI_Cg5)us5%o8i^k zoD9b3gO1=}WuOIW;x!4|6T+e;Y$3QJ0>RN>ZNs3B|T8i~42@E?b@)H@$51m|! zh+)QmhaT>2JEE=%XZKxufz3mXi|9NPf$QZ1&tj)9#v`jXQp2bfvus%(OzT-c+Z2>@ z=bS4#fN{F^1${+Oh8}6?(IR8&wqTBoU7(>hFG=COLDBg_YRa(Q^~}4z&E=*$cL`nq zL4oNC+Za(k4@X}m6rqrKOOAX0sR&)iSc2c?U7bJSRehn6`&N~(t5+NNiN$Al(jf|6!@Hko!ky7u= zwyR^Xi$a16Aixq(FTBkKswUZ6)+2|70AV;Q!PPPu7@#j!dqo;s6(Fi2x;*n10Ov&G=I2N}~HG!1ff4EsgR(xl+#o`Z!Z zeAR$y76GaTHrRd0J|W0{DYKn1U|?ChCSZ=7%dC(p`&@!&|Vjp|saEi5wjBuSk$fR-+Ng zWy#DkU`GO%9178ktVB}IFG!z6UNg|lb#J7a#A<8Wwbi?|956E|@%91x4M6nVKs$t1 zz+&`Dh-f#3&nHk__*@=a_IWW|w%tap1@tCnFzcJdIO?>E5TsIK)F~ICNA=1bN-e$~ zW&V64!&jrAZTrwxAZVmZu->|}O-WE>l~93C9MJwD<5XwSG=|A!&W~P+)=MW+WM&O_ z8#soK01NeIi9Y;qX9|kR5%BZ=2(L*9fOo&GzU0sB{?q>xB=WiG1~1phcOjS_Oq5P+ zHre$#8mIA?1X;!F`)!~mgH;t=tUz+{Xl*$4anNv>w6O(GicK1-H_%;Hd$E_EnEXTm z_pY+m!ZhG|ovCtS)fr{d*mq3Fh=d_GhC$co~8X2F@SM5s#AEh<6g?1r20G zHkE#JxsU|Mj1f*Q&&T{?;k`3kKtL^kyI>!Am_Uz^CViM!LYAPFnA2aDO8xCYn)u19AnEJ?nektd-J9fN?I$ z>`>V8IT7_|oa)me`7Bs#%vUf{())8OQiIE`cVz0cvuQ7AR;?5q==?Gf4_Z9LCy1?` z0yy4>K(9C7CTzHyEF!USY-55$3(Qpm_&DoXDy$(>XvW!76PyPoQP0;L4qu%Y;aon zhy+_m{oxd$7kkJql6ls**|jMG-KcJmTql|=oiV6gUgj(@DjHc}4BZh)2x^Rs;du<& zlwf2;LV|Osz_=1Vmb^7GH{j!D`1nU5!E2FV7HJb^jDYX(S|fAuc?{c_5M|$&C7$z90=?_6DBKC{`l363xV>6a}gotQ1&W~bqs+)|t`odkxLMtBgD`e7snEpU- zFXEfZhuG5fqf0Br0BpqS!jq6)&(#}}MBzKwkaSCIU4(nF=;mFn=UrrF9bVMKpmf@R z{Z@xm#nEdvVvl<4hmVXy4TL<7ww=)4-n$NM?Ok{93DY*9efdV$9S3L!!GXdRbt%qu z#1Mnt?k-ybe;W?ciF-G&8~a-9u^t9YdRIK=E^7i4@lGU8)H$&|2A&PzRgLS$4^-cXVAb}3A=0Y?v>ii;vevBRcY%3Cy@2h3dFGCCpI4+^z(o`}y z?LkEjHW&&G1wv2W=}r#&k-3DyQ}PUU^yzF6y^PuQM&OIEQKVS`Rf{+gW6)_4XizpZ z1udWW1z|&>bEx4qviX(Vmzx>KHt87iRk6tV1&5wRr&FJ#n*18>OEV3OEo(&x`l(~0 zhHmE7c-XDPh1O;}vIflCW%*EnT#c1YfzCQvh-5+|~#`lx^erMKT@IG1G&)ESJg!E;`!be9`Y) zsG^ipKUsV5<1ctA*Uo6EBg$)iL3zS>n1T-_wz0O*lK!y_`j;8S1q5>p+3g9w5S^5B z)ha>&dM)rSA^_q9W_}7RVCDDw{o|AVRWPO~Mw;%-w)E3mE1jdeO|L-DJ9x>3v(e6d;lOd4m6iB81 zFPo-JSOjWPP&s8+q;J~aeIT-b+>^3_Ob(BG39KFZ>-_WsA~+16ZnAkGo4B0(f3*d~ z_~`$CZGrVf!KwnaedXFJ76vqUrB#i90J-JA6Ag!B6;f0oi$D_6eH^LXhdS$j4;79h z1;#?z=%KCit$``55M~6vEL#Hy@UPH<3&-Ec$?#z}Hr+Btbyv?m<79=#vJ?p~8h6k9{3BsplSh|})~(JHrh_d{U!z=0nz+|1kS%27nbTj!rWVm&0&87}3O9sq z`fX=~p(bTnbu+3KXu=m|aa5}?pT$b{3eJX*X(fXn(vTe1Wn}2Nc@g;;7Y>il(xDb3BmJ!Rqkqc|XX^@Nl4_QU2vUd#vL7#W~wm+v|&7rrs=g zsyns?x}rVB?^!Ep+sEuC%EPH!a(O_i>jdQ%l!LgQ!M&a!H2xlZYC-U4 zJM*A>1aI&v``K#w$<#=&Fndq_j|u!iF3JydW24U)*pte>Ptayk=P|H;$iBJaR&4Kv#i*8- zt^GJ1BVXKJt2C`sKeX$_79OyqePVbMJF&w(0%gJ5wC}i+I$t-gPI|LL&RsO7M&`fy z`BPP9x_b>kI+(vjQ=WavJqh0b_F>Xd-s|ji_ii9ZQX_)&IY5Md&ypAds?N09Qu_R5 z7DQ!b>QuP?#*jhYF6U3I3hi|{vODY1rb_zCU-DBHdfG8-UD8C&v`vaqeOSX%)gRB6 z*qIprzrrmlYm#1xk(=KG7u?ux>ew=%NZzFqSG@MU)mQbX?NFLkM{*jm2bb#Ys7uaV4>0^R&rpw6yf2S#)#UP^>v-sjo6-`h&@e zdT}ebWof;ejHcE`BTK*9cK&pQ3p@}O?$MUh!|!mbjA+ptyM}}2q^2F)Cz+lUurm6r z=_IW;xD0B z_jQP*dtZ#me*7lOd&Im{jw*NJtFK?d+ep^v{CB~R7u|zYip$4;Xm0MZ9muk?-*yUu z=P-%0dTFt>u61)gMth)6`?@U4uddX6L{){h?~fE2!(k}rTxg786V#`}_=|Cy0JQl{ zObR(bJ(Kk?F;P0^P?6=;B)RMMtE{LrsI4qIhW@_(=MY;FH+GTu=7=@`zotxj=USdU zB4b`A8Lr_qZrz&Xv#rz9^5EzDLt>J8H!i2h(XjlKh3R z1f&D1*s2cY-yM&&6dMy5thU%#mPXav;7&1J5QAwSvpdG|S+j(-d3hlXCFMJ1Kjy4< zbUe<9GZ8uCPhNWGI(`lvgxvs){`@`Wz0+1bMCJ5ODWaooO5-C!Fo@#KW!bkahk+qA4pg%I zrKD3O>rZ{JL+9Vr4Fta;?p^ zHdkTwNI)#|W3jA63x~tXK>o#Vcik}D81}P7V-nH4kR46*?|og9i!J`A?U~)(gGX=x zWgrerqWo5A9OW3d1N*VGbS)Ls*M83dTY?2Zjwe+!3lADSCKkZhjp@{B1y`-65`s)g z<2me=L2C&@BHBV1v*qVsW_4)oEpAJH?h3D;)lv>&j1FEXW-!}tld#7OW-+*|!xpY~ zyB#2b$h1!MZ&4Z;s3wR+i6Umtutdq&hcFyv_7~KCD>B<1-iD2;cq&+QYijYq+ETX! zlN*0z&*A9sZ*}s44e>XrmEUb4!*>oyDK|@NxF%nA9PM=#3H!c*iTWa_{~uS_v~H_xf5ih9B=nC0~DGZYb6IL!_HEneQ_$X<}Yr&CNn6(2jiI|UowdP@cP=OJS-d$%5 zf-6&H9eaag=XyW^fErZ=m=>S_aC9)u=PgEH5s%95S^iuEg^0w&z65erGSh&xqTQY! z9vQPuKv=VBRUQ&$wJP1|U(!@lXlih)asYV5qWmaUR*Qk}>LWiSY#k@+J<=*k2YgJ4 zrsJ%-Ch62(I=o5AYm! z{~et$Vcz9_ucklpMhCXNb9%n37us_ZH1xw*hG`5s9qu~R?hSpvkO@Kqs!Gv> z>NXjG>YzW10@Xgu*m`V&DWw%D1W=|A+%=HO=8v$yb&Ky2Fb|##Ztw7w6HQrddrKbr z{NPnG0|$BYG^oN-`*jxK7mTZqpgzcP4U0S>mwd{n&(~&_Mp`3K!Cv&iaeW&ek65gJ zujAP2pfK%t7`qpsXCpy9E`Yc8FpSrWkNI4-&W8S*?*M`1zi~XwS^!?e-XKdzF@piY zty^`Cg2p!!*0ySVVM+zl3)Z%t4tWbJp6F(r{A=ZEgk@k(qJl#0ufKJbFkPf`B-hI2l5Thd<~lGfNqvI-qq z0&XH9C9^mxV$Ubx=O-dZCINh}uR(1jZfw810iG0kRq(@%KXGZ8rgs*0ktqU7j%aF^ zmY~jenFR}3154#O~fWMR)g^|thWoz_Jq_Io-WrkiiS+E)k60ZY*@ zV%|zi$)2ZV>9f^Poq^k5HvSNFr8PVo=5^4Hez+Rki?I49z58F*O2d@T%k}=z4pY(j z8;e$)rUUO@U5|J$9_5mPWzI$gLLI9tN}`IT07H-`A#V{y3NG7uZIP< zVkK4Fx|77+v;zpM*!khBWyJi%$h59rrDkV-@Cg5cj_@58PhITyv62&1XU)HJeyi3Z z3^~yzNwGKS55Iivuiq&0263st2<{PB18XowPuJ?A&rSY&Vy*Mu+2V^oH4kQbV`mBk z4I1HmJVhJ(#7VdSPw~7l?AEq(t_s)h;->3H49!U{;=LwDc1=UN5T2{zkKQq+EU^@o+@htI10n7o93@_hK*(krjS zpETb;+j68?u0M8eigXrJ$6JKv7x;*J}(qc5d6>?Qed#pWdPZ2P%e=7gp;aj4uG49o&vpZS&W{y$*aK+lYWdj;? zcvS3LiosazHqsDaaOZWZ^TB4Y{&ECzjbNt|>z2l`o#z+(WY0udz4;g;1MK2-H8Rb) zN{iG)w;>^|?Afy~fBJjzIrO;exb*%<$AR1gvxLVMKJpOCek-vES=YBlY=2Tw4~t3% z(|k7c>upN99_K7eWs6TUsjb+;xl<&X}5p{avP&)8qw|bSttLUqy;+zwlVP z7p5)R)gc{JiPxEMqX$$d4?Zaq^AaA(8Ee4XzQB>}m(Q6m`aAx#v4z0z|6$L}G#~Ch>h_yqvzyrXOA%$XLdPJdpIcfkibp@> z+T2D)5(bYU53#tm18KZPe8xULqTFST5$va;_wd`*z${@FcEwA?H!7rB`#I6xL!F;~ z-?dLTq6Wtk=blQ#I_0M%k-66^1Y1bY;1etR@V_iYTE1YTz1Zt8QJTR|?xdCTKU!`G zjA$Wav|qYjrcSr4-!yB|bHX@e2FZThI@OAcmEWkyHQ0YVDq$?XkDX^u-N{UKEN8)I zx2A8oX@t+nPqHYtlSOPkzNn`OJ>tW<>YT4C>4+8kL}8Y}MfHC#}-j{dVgela!NU^ru%dKkS<=re?IOar;F0jD`1NG6Ufem5*Bn zdm*Cw3XYH-WY*B5cfa09J1eFsQZDzaYySOrsm1MDn$<_a`(e3$?*5)GVe~}T?cOK9 z`Ey!{UUonT|0x`F7XhGjK?xqt9)DJ?G;WhMXD_Ems78kkaz3Q+(D6|HrS+f2b20Rq ztqPPZEncOu9`%{GLdK3Ydru+z2CJ_h2@?GI+m@T5rD9ZT{UanaL^n8m*k2LVp&2Ng zaswOE{hm+Vt)Vgga$@`xy=Psw`44FCLZX%r%l6+I92~p+peVt07U?F z2on|C>jxkg%Y~D&o)f!sq2R9P0~C2j~fIm+sZj|yGLvOPzeIxk-zMgr|+D6@A&Ds<1M$B zI8**VUOPdjUD$)_n?-9|-<*r>980~p#<$Yk`hz1N{oC#(h_hHG^jyQut?I(=)Lhxb zH4;=ZIFeeUd0s9STs4$pR{n%t3hPKBDID%U|9qF-+_};NOY{clx%5mUw5u?wgq=y> z!0veFgjvNut+ zR!W%7>eeJ*3x@&Xue4aKA4R?~soy%E9NTr%kw2xM-S6qp;AhmzZ8&VtOMVi4V2jAx zCG#GBD*9-CmEZm4!4oiVQRt=*pFTw&QJ-+KitdqI-PAE@*Rk>56Ut}j83)kqONz`4 z%URV(ThJs`iMRS{BkoP@@80nKUf{~5V;|!ltxx9`qLU;Y-9ZV;8ixf+IrFs2e$E-2 zW$*Kz*^D$9d0V$`!qM9He-eLnEl`h_kf7HrXsmuwd3U^0iRYdvbT0MrAkgPR$ea_loRi zdYQkTp9;d_FTLhAD6}3$@FBBU@!<}C9|2qbz(5ya93ur-}?h@kxD8c3}m5oLjY`{y1}ok3ZD~& z&f=!LkPm_J`9P`&zU$*j+@x-Dyj+QF<_oB!n)Mkltr69E6`7zvmwmN#kj{rX!EDI>8{6Xpp^>Ra z;brq^l--voD*RNBMtPzlZyoLi9F z96lBqBQ@$3fYS;0g7eE71O^}Lr7{K%@hj$sQ|Scig;Inng-r@IYQ%~lS5pfK9C~Q5 zdxPXsf`n!nDq3Q7@#kCx1w-27Nymwr3pQvUfBTgF0YE-TxOp{@%D?)7@PHF+2VeCT z*Sam7k2wP-W*H2Zhw?6P36rVFs6<2)5XR_zc}N4)hV5 zZfNKd0hZv+3Q~K%YzBmG=Trni={L{WLL#zBn&5HO;8}?FvEgu*n zK&A((mrQAM$9ivZI;YOTrpNNVQP%*d8uSl>gbs1NZmx4m)-}Og+KGa+@>H3v>OEzbL^N2g zlw3ICE^g>D`#>2@>0dIXJD2VbfSkwjB`orsZfaE6^F$C$(i10;pPD`QPYN4cLi}j_ zSR)PtMF->}5Mau>EnBrNIu)j1D}VLREC;!gaQVd&sTD*POLLb%`5IS}OC`_sLl=M) z0+Zhw4)*7>l~0GxDoK|JWs21VfhUnYPHeL|7#&3s?(Hj#DdA{iG_h2bGQC_-g<{>W zRha!Nm3DeLk`B3VQhRuq-id|k=TJ^VgoUc1(uw-h2N(UGLUr(`kvLbS760U3*R32s z=&M4q! z%}H=Lae+*ScO0teGM>RFVoHln)8gQEE7-8kBN}x|9WMa>ThE(MWVQ7eYQpP48OsE_ z3%tMcz-9)PFSudUV%NXirVlbMT5I;qjJG^*uaZxNOW=`sus1PD6DKr;D?+eM#@bd8Xx~La2z}Ob+B2> zZjpuNVvr&5HM&KUG1Q&tpWMv4k|MayMtlg!6 ze|eA#%{m2stBg1eJU^Kfen_gz0ba0F1hPmb*u=axUBk+gKu65sz@s}#eo4oh{d z>{iJAo5d>a0b?A~SIS)HUB=~|G;+{OySDo?{K!7eyxKFS#Cz1b{mJ+N)6>01lVa#^ zY{>$8*|!^P4^uC)9A5q{{3A5>q}S-)l-1ZA;wU(doZuB6edVATYdw08CXX~|C5G!v zIfx6=ju243v<9PIJ|&dkc6+meFh9=|uM37xPQdN*3)&f}no+{>sXcg-ptW(;JEd-3 zrW$XUgM&0qt%-bD;g5>x)!)3?9w{%rs_lZ=YIOkA%TrV{eZ$cqj*@ZFom>kq=(X+x z0cM8j@E#UnS3pc;RIUIA6#W4#!EEb17V7jvt`vZ|hmPAf@LZcVJA#qy0d~EzPXMh* z?>nSApI|E727W`R0s02K5(Dd0HZ&Awa?s2IZAy;_`4#mYAVGEXf;S!d4BfiLDEPH~ zfej&X!{K+s$;94?AO#P`2@EWSpmK43D8aKoV`~u9U!&&k#ebL#5m$sV(5x>3gdr2q zvC-^UG==R9LNAD@V2XsrMwjb7!@ly8v?DYmsAZ9|t77V1}X>gLzw!Aav>6Jh*rRGQ#IUrYSm zc&+anvr@N&Y(2vKlwvnVYY4*Ps(5hzy-=2A&1T<6P`ZW!~r>%Hx zf5vd4bAvVVGkwP)^fdp3M%3tJ$&1hv2Y)8P3MueM2k#%Z)~j_I965pYn&-B%~&%DO6}aY zfn7t_!cL|HylJUm+Ib47ml=Dsz3?Hw&ISRa;I;5Of0C2@x~Q#U-9nT#Z|a|KOsw(**Kf;bZS-_S^%w73uyLD*n`)dZW| zE`9OgKNLpLgtq-72BIJs){uuU>337iZV22`UYQgX2xyFGl0pED@dAyMjnyS_L29Ig z;8=ix`wz#0&I`bqzXzWEA2QB=z!!$_ykJnKR)evHTzP5Kk3uNOxzXT}_h2gsUIGOE z2^xHV4<{Fl7lMCW7t1vNtJVs*hel(({^QwLN}Zb`Hx0IRTade~fyZ7X)(WD&bR$~- z1FdMRaHjpUJ)Y}^wlcqr(#X35dW4+KMUk9Ad|JL*;7&6N(Q19OMGS@S361`Q_ZyCV za7h;NwE_?1Y0k;#yKRP6xg_^76x=z^#_Dru z9dkV*J`pDj(%7Y2hP@oZtYU6>KT|TGURPMqPd)Un*{$(6G$yb6FIpC_oya-fM1Q5* zF8?+)$#>Y#SPIE@lV9u3WlH@p0298HiEZax{0zVR*!>djZHjXF?{CTCm(LjBIt~8; z6dk8-Kc!Hip4$GgI;E#5>?>|_XaG@PPrS)*2q~$YXBi(fhj)nCI1eTciWGD{?s>HU z(=Vn%O0wipRv%he6wu3Vk7tY4vOjGq`(A8@=H9(7uS0_P(WVH}KKvJ-yiN{jn!%^qKV3SX z`6wRs1icUb`16sa+R>UbiwA&?>v_xUyt_%$Xziuob8{cU?q2>G8*F8Og$j(0+xhKm zL$1 z`{fOduA1#+bT{$%*#fQI)HAuFilliSm{Wsg9ojR*I z@2djYn&{6@kHjId=BiY-2b_7O@>k5M%HhXk2JEOd?SGvsnCmbp$mdYo^9NcQB@Nl( zp(A}Rs2QujLk~T?r--?G-6h}+iM1uWgX@5B$ zEFK8mne>iZQkk;gMdg9w!iJTPTha7Y6{>jZW?X+9h&>iZq|atHrD!zUMdN(a!>msn zZiX<<3UYP3@hM{EGqbqRKW1^F8=_QioTEM-JaGKJcVS>&vC6L1i#nxMi?7Zk$8b3n zAG>U9i7*FLnREI?%azUJcNWhpCLhw>ATN|YN+$Cu0hWp_?|IQ3z0 z67LQZCmnvmR01z!3-tj1dl>(Hv~(+`&36!N5s5rntBOe*RoS z_G;vb`{V&@{9P}ze~lKTG*T?=Arx(}O;albb%{+Y^D!rb-$GbfMg8{z2J6cDmFdg< zoR3umrtWdk^Rw%i*ruvpl0&D1qKBRxdc(C#4|T3zQY5w#UAM7m3>gy|WlU0VTv|a8 zEG7>2hFyoWkV+?+aLY|5Yo9u4Mu;{2Ha^dHZxg_v^F($#a~|NuoIp_8cWB)bY4s}0 zys2S^cL+q*3jw39ppA{iL&2HVVA9K6Pkpyp)+}El+T=P%fdmE9bGJRX{~Anbl)lMVopGH zv}%{=w6kIjBNSiypz4VF@sV+Ivyz`{scP<=-hhrpFihiXV!?9ktW3FwlDlw|$DYbv zCvMd^L%}Bu{NDE#d&5m4oc)5X_Y~M|>2xS`u+*q~xUZiBx9>ZDSPL9NyA5^75CV_x z5s5X7%I6JYutC(if1WcaEtIhLu{s^H7-RxnXb+njI5Js+E6zdVm|s$&G6jf@&uoV7 z&Me|5$OpWN;*rQ!hfZY`z3ht$2B-RyQeiJ;h@oq*V_&%mk=Yzr`o<3r0s=P1hM7J zaER^0tSQU`@r$VmCJ81&&*H_*KlhLe0ZYeofS zl%PhJY{ipUXN1gyA(Y`CvtmnR@c)K9a`FUiK$@YnmGh|mCE_j6PVEoH%rGUO)>rlL zpFZ!mSJ|z(K8PR2A_x098Bd8P-IniguEdWrDGg5_dr-~G#bC2%Q1!e&YL z5j;hWi-jD=tsh)zA6UWvHK?xC{0kY}a{D#*cewh4G+^l0gC5@BVT9fJM!`BW&jIkgop(*uXjH27KDY;5&%eF5m=VUL_q!qlCqEli& zN4j23sO$|}S%ckQxsA)1S}2{K#iKHXnRAxEk>(mhfe&`41^~Y@2e_2jq@$)INR!_Q zonS_H=(xV&H-{KQ+K)6|phh65P=dLQ>o7<-frQ+P@&=W1EgjIfL;AtHDHDTl$nDkm z0OaYEi5cRaRtxRMmo>4RgRR>BLw_MIoNIzWaeFT1oxSopcdF@)kkA~d;!jcUA{}DZ z!+!x5gtn&5SUh_Ni*<^;eT06$`ig|@vVuB@#l5l>&qOtTb58=8;3V1eQqax!LHhVb zidGkf(p>Epm|xYaFu~Bu8y=3b7iWjFV{OH&BY{5P5Wa+S`ND=)VbggbCF@Sl z(=8FySHW9dxZZ__jUVB{L%QWk#uO(n546A`qnfi;MfhN8x}K!nREC~x*^scrQa$Iw zpuNZ9eiW>H9bn~)J}~EO`$VOd_Xjp+XWMv^(I|FX6;HlEJXY=Oa`}r)Sh-|XNY)Y+ z(`QwNh(FhaScP;pbZ4Jyt8 z0Z=nxMgK)jvZZY5@iyq_p65@cb5wT0HBrJFOgI81uytG|B|pI~9fQXPk9{ZrX#@cV zv^^n^Nk_E-I}0I7>6?Y~HR^Fft=)m$AU9Zk;BnuvduUgQQV)L65vYuA#ih4c;kZi(x>_SGQWx7YxH zg7lX+@V(Bk>u*4qfZ$(Ib#b)$^Geh(uTSG3W7Nzy_LK!NZ|aafK?9b#7VQyW<{$oA zi}*whDq)4FRtBN|7n$Zn;}pK5I)A=r2oO!X{UnSHjtyXGijiD2(}t68=({?MyHCGT zkC%zTTsEbKN{1v3xmt#yV840|EG_UcLB7+A?SF9#33jL`@JB^;spBEO04W7%fPt%B z8=;G-VL>3tjW33u(hY%F!kfhi(Yx;bP&hqG_!Q{|+Z8&Fz!O0<(=g5mUI~;d2XOgC z{-n*6W|<4-{D*{ZSyfG;h=%IpzuMUvfBBkLzS5OobyIHdnTYEw%Jj-SJo4#xRqxbK zY?g_d>t)gl)Q77SUqfvI!?y;N4gYdT?~C6oQP{{HtzG&e_VCyEg%b6ie2(DSaePTf zB`vdvN07p0mw572t*q82i^6XI0Q9%~#FR#oNS6Tl^pnS4$Xwth`hFt*uM^)^ex=J{ z83V!=HSBa3wAWMb=`JUxqHtKsYv+I!ZK-DcFK^V7-}9JU5V#`W1RKxXR}6%$ss3)i zfTpt+qL`oQrP87C#(CBJ+4Z8=ecsY4rkX+&Qgj z0}p0o3A;bh3C0Dsih&wjbfQjc#@>OZE1j4ja7We~fd&d&f%R{t%Fo#Pt(Psd;k9yc zHk*Q}LJ(Lg8#E3fvkb>n2x7W5{@KchB=MqtLaFaO!9~ZnG>aPT_>60)LD5_++N?qB zN*TQ{;{_!c5aAQiSbnoYN6~d6>>gN?);++ECrM>bF-~BS)ykt*6Jo@)98Q)_U|Cb4 zjPFsA7lDT70P4-WnGm--3~$D`)6{BUSK%V~P2U+L_Y+!hD^U=muZAnk6Qf>$9^;Nu zdLZ2RXmAKF56ui_#~f%6+N6n*D|MexZ1e5r+~xs$Uv;Rf^(hr|@Dk>2vs})9T5x?$ zOIH{fOLqxYz#ZhgAJq?dE&*0uG@Cm*P5V=&4L-SIXh1x61-0-k^aZR0T>ws;Tj0bA z1rB1+1v1gtE|3U9K@DeWbnycYEP4N)?=cO3+C`d^SiYBZzqRAL-@#*&u-{AiG3g6a z!Sxw`Sp~H|V!V)glMNK!yNVin!qV1^ras}OIeQ|IzQbI7i0)h=#>z3zl~L#(Q#j(a z=}VdWV&T?*mB%&}YbiCKv}3=dy2V%2YP%meC5yB9?}ih;jk*%t%HhP(&Jc*XJHD6R z*!|`A!{0becwnjkI$d3;)#_sOF#G!lo zv;7(>o}6fTkKB((ytIQAl0|oFY;0M#u5L+0Upl)t6Q-{p;U*c!H1xYQ;$xbG-M?>G z6sp5zt>}j#Ju!2~p?plx(ktG!DMddA6Ml{P)2HMp=8d?DNVi6w3ztL1HsU2YoNemc z&)<7&qu;Y}DNCwSIUAtU^VJR7W#6`-KR~(1)d)aew!*NV0zAMqg7jSXwCOYct`$c(th->?kPr$kl0Bdy(R01+#(CXw&tniTLYnBYjLl;`8 zh=k!P`Kfd4lAX0f(tS61C0pqS-O+0b`L57CMDj6b3{w6TG7eX;YOUo9+8u^zH{1BSvJO!De&d zi3CRL?|C9u^$GcP9gtyr7Huc2reqy_>GG;E&h*Xcie6#|de%c6 zovCR(WT6Ec5#5QUB<>9t%P})-9x@|{pscVrFgJkH$i-Whopw|@EfZtA)E*`ZPI;`` zSEfpy)H#xxUF5hcd8+m^m}-CHz~N@WGL7A%1?P)r4K-IXskr6h(T?*L;C2t_S_WVp z-CjSr_ei`XMlh$6N!Dswxp(~~QrMc)j)%f!{iUuVPa!!U5Q1In*L$jMk-rrD)}(pr z(4b`7m?;C;RM6NH?YicWv!%9@8Lc6i81|=zI$uwF=K1Qh2TIjqqq(uv>Q_?BnF_Ir zvG>>@ZY*zakiZaAuuU6s=MjjWW$Nch_6o8@CKbZgJz*lykX;}g@R&;(q1{Bjw*LWlRw)ybFl4*I_7CxhpgsC2c7?r@c8 zlNP3uzjQvqZuyX>UI!2N_0x;NJbiHaI3aVdF}C!zYTg-1=)wuUhGE8NR6Qa7m`Ckd zRY0fsMW(M*NAzOQbv}66I3cYan-he&4HM>0FBeZbE8+bVgMt>UfY-Zz4COpwFYaSH zsNzp6#~udbrZXaiqh3L;@++0$^l~)I7OV}%XxV6ED!)|4oK}uH3=`5?h6$4v#n3Zs zN&awS>N9*XsZ@ncA8ohUc-Qb4imewTXyZ>a1_ST7nEk^dRgaISD0cl60|DyW@q((- zF|gCMiZM3FU~ZN=J)Ukm%r{goCVqPP_0poH!-N-0ZP~eozT15IK6u5*(<1U{uT-q% zZO8A}nlCcv7_{Xz4-?)jRqgf(3msNYdp^8;Lj(v`!cVW7$sOY?mKP$~wk5ex48PNu z7B%#Exa&jP+UezQhsB`oK6uyA&SAdUwrsFE*L3@}%pCu&0pjy@6!lQ>M{afLW;2;>BMH?6X_sj$a)_*i>j}B0k#p{2R0)Z(O zokCFmk186DM)!>%C}kE!waRpsrg&Jx4*ZiY)VXaf!EGyJChh?_It{Ms|Nlr_l;)q} zppySdF!JHsm%uB5*DHWC@+WKqoAzVCkDP%9D4j-2Qugo|D|ieD^awnr12YF!FwA;1FTd9i)DRXCct=?seRd+7j$T*DP2a%{ZO;+uT>;-Hq+!3&N)lhi zT3ud3FpM>1@+t3MqboF8n?F(CUj8JSw3a*P_}fCZfl6U`amEYy`QKOd!5#)|0KZy- zEe;az4(-2@jZD8L_TTY(9NBX@LakZH*If9Hr2nandd^wvOn#8c%?GdS zXi(K$%|-Rap;zwG#f7Zd(ppE>=i(|}z|Pp@U+AWL26;U?^nC5Azp8?r3wqA{-;(3) z&2h)>Ze~MK&(Z1R_wQ3(;*oVd5>v`#;Om0ZeI}=uu}&Aq-wH42=5-6G#kaBYk6o3r zTn$+ERm-P!b0Lj~z>a{=XEU%9e~WKQv}DyHmbivHXG!lioSZ0^q>Lu3 zu%va`tAGc;?5X`>v<6d(2Fz1*U(SyLFxsyalVXj+sSf?edxM4cn@H_iSihs;W2%yy zPyb9V4KTh*RXl|xo}Wt>vgsz3m>R8SI66O95h%59$5S3yd*7 z&e}Q*{LP>P#r%A(DDbB}va96qZ{{RkSLx8ZJ;PPGcu# zDJjxk*Mcdc3NP}g*f2=kAM_S|y}#WXtTsdn@y-|_Cbs%E zg5Ly!{3V<7AvBo1>$bqA$h2O3>iHH8Fl@tA%q)%8f*UW0Yn*k%x%QBiwk1i_+`{j! zh&hl=7^hW8n>MF#P7upNTG$Vq-)|?a`-MRYjmiwRPK!At5xYJetWe`5Hp6J7L6oFJkRS2*OvANhK4)Ztj@Zk$;yq;K;HC9*ztZRYd7 zYdqxn8e3m=^;1Kzr!2}>SILH(JKX(Tt>}$?`z95eIqRw?0^ZeY0>iNSql(VQ#pF)b z%;!WvBfqe?gbfV_c{w(hy$bZP>G{MHw$ouoNrlL(=Lyo!PYmQ?>kxZ3PWxuv>(TP( zlVdX+TWLWqxq5*USgVL*AG?_LMQB=KZnbmJLna}l789y zVKw9NL0)uMZ%+-?3Fqb|c{tbH|US7%tzg>GMh*c?G@^sykR{?1UtoL$VaQ2lXYi->k@6Q;}U zI6@}qoAG2*T!Xp(&REW=qufpv!!13=TVA2{k2s!V+m`5K&bHBLq3YyG>zEs*Z;`GC zWy2IUTfVsJs~^!9_Q8pNp3(R(-9kHpaCoO3XL@y1pY3N=fPD;+J58aSCKgjB+c%RJ zK0jd3A*fw5FbpmGvNU2zPYf%^muKzXepQgbH$e5qYmru41!wCQrh_lN`%BWPKC40{ z|LZUpGLF1kzruNSw2H;Ni zwRF4x8HwM*7-WMFzH&x+A)r*2#DM5wds@YRs@dhc3kpplBuU-I)Fs$R)Wc*IN_4Sg z9Yg^894Fr;qx{pxx2b)v#x5%&`=MJRC7*+>Jx(+&F81$uODnV`=STRQykn@_>YxI6 z_y4BOn2E)u#Y8onOAE;a{d&^ywN87(;m9TGM2P>Z1tZO!++PoKHd#x-hPf^-{{qb zSUkWZRZF<>W9?SpFd{qJhnqx}NOtpK1G{q3mE(_JWA{F}1dG#3l%{K1o3`vK;fYrg zmjK`7v~&UGbmbFbJgA$P8I2Cfql*eV7ToI9R*)7$VmK|skdLp9x0(py8oXlMHwZ5< z%<1Ij&Q8H5=nYB46kJJf3-v@eL@{B-B>2~;nw3;d2q(j_fnOuWPvaqBEJ^%k4X(3F zi>I(k{JW*YmyGI;DPeEYYWioN#9Z%0qs$}Ha@q8Z{+p+qt)$2GuW=)yFZxrn-*y(t z|5CH=)F>zXOkaxb)8zHiU|RECF5UbwXE||;ydAi8IsKmD(kPp^heigdoB$?yIzZKb z|0d_pC$msCa5;m?<^F(cwUMvhWSUtD3Gb`8e27GOwV*$Ot3?N{Acgl%jh4{DsY^S%@b zHWBXc#3%<@y1aHm7wlI0sT;V9hvjO<3A{X|Lm|dUQZLLB*(f? zw<_*~4%x157^(jJfWjA0NkhFtd%4}a3dZmIuC5$O9vae8O*SkEgbY^IE3(=hDxX{`}I({y=H9 zA#ra?YqM#9$T%<3a4^tc%`M|7`O4PqVW@}0R)owozABwG@B6J@Rez5t7tSud_-cLd z7k#30PLoTjj*vPmeS~yP`g1si4Gxcud8y&bo(OiM9V_R$NK#1g zaY}4cU(ltc3VAPQih%juc%#`cO%Psw^HjOo`Lw~wA+0LqX}qO34YSNwJGs;7zOm&p zpRk((@R$@~7x@)S^3~xUwA&9kyOBjleqV`hq@#akaV zk!PdOlLSxZ;(=sA#3 zhC5A5yXiuAYu?;4i~|_6^>=fTLll26)@Ha0CM<4b@8%q+27vwLqqh``(`&f(OJrI} zi#A5UI@&~DG;MVLP~fV>Pam;>yPY;GsKkS!^tvf)*eAmcW-aWKLEz!SCKl8kri^2i zPIE$RXmlw4{C=NXET&rMQrOe5%NmMEL}jOA3%JOsFWSE853bIL4#Sgo`W=vjPvFLL zw#er)nu?FrIUlrfzSKE>#B6)fH0S4IwGa(oog$-I^`jPWeCD|3bYeTyoys7enjWiP;PiZE+<ve-FAs!|`Pwz8Bg( z)tET%&lu9UYgN)$gWz8?Q9#OW;HIAV`S?M4a`Yf_6^pY_q@ zLR~c}LXk+f9Y`7f@jp9f5{C8NN^C2oH3JUjUzF1bTWx;&qIdd#6k!H0qagIYGn{St z)Tr?#VjW{RFKjx`fjD*l3AKe+QGVZfGId01_Xb+$a z=Mpj_xNrbtjll8)`(*4Z`tTKc-Mo$2K?&^VQmAvMDWa}+RHK)zU+s1sK=1wFLyIkx zCBFL|2&;HmJmU=^K-^O!c`5e;5uRWwS zn&htxYb5t?eJE8n%tTAN!ab0LKu6{`eW*{)4>_bcyc@YuhF)@Rrt%@JFCG799M@^3 zch@!z*yGF}-sv5AvhQnH zY+$9iA%pJh1Z752ucneJ$9o_CD3hsT?+`D3pfiwNGTRm8R_yGrM6B+eg_f5CGb%#< zsQo@m(bp^U-FFU9wjWjxO8LLllH+pizt|S#i|9h-3l9{FQ+dR{v#C1V*<*>u_VIs0 zW9rA{9S@c+xf>Ro5Z=9k$!p6@}9d#~H_ z6Wbbqv}YUf)j2fPj42OU57;r*MA=i0ptV=T1Zwt$9+BSByL-axoUfk5aSu3+5Tmuh zac^F8U$5My#cRM#0`?!pzDXzP!Le zd1t(rJ?<`{V1f<-dpR`mKp!Fds%oA&(kfI*f*$!Rmp>(9nn=%Pg_p)Ih6iQ<)U;0< z1&c;*d9oMW;sSzoR)&tHHQB6P0f%9f=1kxdi7fGo+_g(&TnU5{JP`T`{K6N>1(I^0 zOt3kz3j2A#labRh$;eq}Hy?|i%cpbZPHL0GuCij0cXd!-Qq^G+|KfEB|oN`w^@0{;|;8MFPPl0CGnu9SauC&}`Iccad=(hY?h>QuqZgar8 zY_o3`8d@q!!cDd(%8yT>EBW*KIwi;FniJuJ%Ix|svof{+nA)GqmaORiX+qg8XHN_^ z{F@>qFoW002Pd+f7o%p~+uKA z(>zdM*cB25-OLLe2S=HsVbqAcO3;U?11teO940(YzV|BS1<&rI8zicrY4NC+L}fUJ z@B&i7`$5HGXZFwIebqq#oJ$`J3sEt<_q=aHHz2FSsoHwy-4*zBI04Z(In-248rekp zsBrGpg7Q;$Zb_sVWippXMOD40)Qok`15^&jJy*AmyOiK|+ksr51C|B?*8)L-&^GKd z_hL!;NNLdAJ*v>jX`II;xO}}$JET>9K>^T2+E8|Dj7TReRi*{oXCWC-{|U}gDI^R7 zsXt)<0GC=2ECc^ac6Q|WQqKQ(mts6T$_WlVAeGgS8>+G)I}FF5VgC%4;4gbY69jax zAd|B2AtB?e?9mzI0>D)Y0^AeWw!(3N2Ah`9|Ky$d-=5U}`>3VxD0m7fJgNb;7OI{b zsv6&HN2H7@KfhKbI?+Qx8%iOP9l3+^)3!C-$A|D+_3M`F7g4&Zv=;5RVaybf)}xrm z7O#D_1oaDx5q$c)r>^3aQb&4u0j`M2VP1-i)bDpNHhYjS!kG<}>;%J(Z+EZ5WBh8lmEh~Gcm2Y{3}bPc2?#4^UCc&+~Gcp@^3$A&yn z0*S_x=-~qzTGQke05YUFbDycWvrV%q*@cv=gX%*==&O_k*HtO9CrKa_z55{)1r=P= zKk%|Ax;S;)lf?VyNxM~Teln*9g+(W})GP7=Wll4L7%@85tiCza(0m$)9JHTg9=7j9 zOUyKFoU&-%Sj_$0J9iddO;b^jV-)rfG)iz zXYRP)v$RxeKTAItop?acaf4=1pw(6C`VQhRM@!y28}qP5=KyXR%yvEl$%%e20BnGJ z{%D>kJh&FVI&)Ui#58PFyE-Z&xMX=S$vQ8r)h)Uy^gF@qB^N{k6P>jiccV+~Mms;m z=C^C&C$z1i@(-|v>&X1Q(LTE;7qI+yd)yZ+e28Vdy?PQ#B*haR3avIY^lQG1*Qn^- zLCdDFB#fP@dZubu)NK|H;-j%{dwJPowir~n@bcg&b}0s~?A4aCfHlYm?=UCTbIeZ7 z#uC_ZM-lX*!uRCb`Tt5|nflY=QRq96!Hz!bm=Hpz>&(1@v zBapO!)1^;)DqOOQV|dKr!n>ux2Yqn!z7$hq^o#Xg-1~?AGrZhrc+8&hLfW%YG21Rx zr0iWBf1fibu$oZjGVk$ zCT*RT74v^d2h@X8Lz#X;VG|^NkfqXak^TG-B8lyLO8bI_Wl*|_{xs7U zKzc0R)3+iWQ2NO#j%kZLUiC~7mbdAV+I`#242xr2Y)v6vo_6eO9t-4WM`tlh!T5Uu znOym4|9zVYV&a_Hu~LjW@Wze$LdA!S4e&eKK+oc^Dzv2FH*cJIy@=%h)xZ?J{0OH$ z@uZuA4L9qRH@x!P&`?YM%YE~}8z!{*$O$I>flD8(a+x_*0w$;dQxCQGj3 zUxj4vR0}dwFXWK0ut=V1zolw{l_Zc z6n~-;n{(hP+vRpQfM=(|(W#~ghXh|nHTUpg?Jl5=W9=fZ4<%4Gt}d+SArSk5qBY%Q zA50wqy5-@SZ0avEQG?ecr47(=A>as7;H9E;ZN(ya+kU8%xErV+A)B*D>9FPatSVBnDA_JZDXk z;HtDIy_)IUN!Ezx35goG)0)4-|G5)84C#>$^WRX0w8}?-@AXR6=HYFAp2xwx-@5~i z54W_?QYi&?0&NIKupmwOYzgffD9oNEgFh7Jgl!sJ=O7pUZwGnfTxRL5%kM1wt0uEr zX4P_eoT!zvTrkYNN7=;KQy9%G9HCPVoMi`O?JKr3vq$hJ{!H&H1+f;#?CB7@q zG-w#-oomiDhJDxU*wgS!AHS!p(WBo&uGzjRh4Tw*FF|DOv}xkn&q(ADu~)|u?1e|9 zdKl+P*YvS9N!3F-3|Y6r>oA=Y!g>JyRbS2NYc_vZ-wGVQuMza$%fPQ!P~A@;IWpOs zFqH=+CgI^DUK{~@nVPj{RlmjEbv*I0Rp}z5KT^lrKrBrgdtYI%DZXh>vsSWp2o4;UV>LvV- z2B&cBtn68@9EI8c6;n-x%5;THS2aUjQ&91TslPv~L)`qyPo`R81Sc)CfI@7fAV$IBdp57$f7Y$w!AmBuN`n#LZLm+bj9}>Yn0< z*WV;Q;YP*hO{Q*kNMD>*;hT;~ai_uI%ejAlXH?(4m_f}8Q$f2U&k>!Szr%Pp`%3em zlo5Aau$#Nxd~Y?i$fQiHHGLPF^B}Ji`|#@oBCx;cwVeO!ISGGE$jvDcSS#Hh;`5%9 zt`v^iQEy|3czo0BByP&Hf*Lto2VGr`_y%b^nSS}%oodFV-L(xDj z5tz?|;4?M4Us@<)q6Try30{sLoelH7zTE?}ambrT%4rJmk@lCsPDvcc+~D)dT2nxh z=UcS~-J-Ds4gks5GgroL)|isWi7%LQrywD`OzM07nxPi`^UL9piXiy*waDcs!;Z?% z-dg^EmgxP5_q3@CLzOc0wo+7^S{xDu(KFIfKwThv28>4q?ducKN(^b*jk&8*}Sma||U=)cQ zOdFYYg9!+RyM(czr9vM6nN1qMmB&9B9GHy6S;tVmWx>?`2ubcwF-T4LaB`{b8$Z(S zflYsz>IrIaIUWHw_N*38g)RFv_iSJ;o%49&=yJUXpRj$ja{B#XeE#oGuoxeF;Cxy9 z)EGh4(C6_Hd0er&SiWsh3j9ePs7m*rJmE% zxO(LBh#x>@DSuLk=EdUo+eY>VP5dUa`6Jkst}P;2!r`9{R_cD|<-ZPv+G9dV=%hBxN?@nU*=- z)#R*%3(kQp6+>Lg#Py)})LVkD^)6u#S2&UW5fU+c$*V^qUgSiE4?758u{{?TU}yI< z1>b)Z%Nh0Dn2>UQajFz=OxB#l<4TM&h3KaYVSvB(#doE%0qORZLg6O^2OQm4Acz2hY$WY-9=VL9SdorjqB>*4%B^!lAwgiJ|z&|*B1=I2om*pwf)I4 zwcIM&e=qJZ&Z2zkvQIJkcIt5UWB~O`#TBs2 z{{_s^kOWJDW#&J75X$MnhWh_!$^jzMzx#PQ#W$p-V`{N)#ESxjMXsB>pNNdhShx%3z2$f_X%f!S+G3FgGRUD zGBvg#A4Gr4V!6?}dLDs2>&BnW;%juYrNrG6XEv0Sbjsz>)q}j3MQp#MIb3oOx$c)y ziN@M`5pb8pUdu8Mr*a#jGMZ>PtYVo)wc&0J%Fv_-`c(-V1KYU`Nf}LOE=zq<3ldX1 zv;9MC=n>~T9Q!Jj1xO;d8o#lTD-$*8&_U5(A?n4>HRA7bXi2Bw_Gj$8u6_51C)RL) zSp>`OA&q*NdI<~nX>|K8mu&kZ1u`!ZyU%Y=OSvqSbZFb=6hU`kUu8E)7qHl>dFg{} zgSfAKQvSviJ-(r3M|v-1S=s|2psWXK^Jk!dO6W@~iDvs}v@nVx$3)F_0}$byH~$6- zzjiAaTaHr()!n)h8vl7?gwysyjOlrIgFu9pymB}A>omFZh_vv=akM7?`NLY(3$Q~5 z0{m8@RVOn7Tb}JEMvtJXdV6(c?a@8eyY7{(8ufWx-RH1)9?01E8D}uzd!qOL`k9=} zd@!)-T65IlNWDxwoDrU5lc*$=Pi+p2Vw0{%q&7E7*faQ}4Sqhjr%maRh0+Zv(39wb^VJRK z(CY6D?>YD?B1N7-xoefIcpC0S_O?SW=^g6_xE?~*S=gQ_M7 z;T#%N4MS^V0wcavawo^h#p%mYQE1GTJ&z1ah3IC-uw7KprW91{G`JDg=|NTavWwq( zBeCd4=&Y#e9~|6W#EppB;eZDwgk^~0qACO){?0AuEA$_lnaq0M*v`pWq54Iw+?XPu zuCEB|ZuHsa1`21}pl*GB`SBoOt~$EYp%~r=Rv&NE?yyFj1+toL(fMBAI2U#-*DYK( z;10X{&8UO11zI)cJW~l2{Dl04N6O&OW!$s*3-50>YoHqT_HXD=tSA<&Zzo1XBrPl! zTx(DLsW?8oSh**{@0;)_XOO+2Ki(7Xu&dONJW?9+VOk$yn8j;Q?Ttz`7upM zwSR=u)-Mh-K0E6M(B-ro+n5@ukK;yTm=4{Kf@q2RfOMCPiaJGzm>Z23)Q*mA?FLn? zH28Kfa5Z;fqZ`@`PeU0B)YXgGK9UzOhP}a0V!I@-{I>mr7ub)O`JAM2rX>yFKf^w- zp}hKBB(fICSi}~GdT@K>SNVjA%d?y+wFNLxNC5CQDY$CG= z?i&qLAa?*U*;htdz)btD@3P(}a6pNb;7hK@VF^u{G!9H~B2r!VQe($yz2Lf$e?`>b zh|5CWmXa;g3U+NCv1k53Y=fM)@e7($|BYAh=#ldao-LV0FMD$zb_#)Th@s_R)F|kF z_+BTs$;6O)47Ddr33585h#D}SJhZzIYg72xl(Ui6JA=`spn?8O(E?!}$P{TPR15ohyT946?URMDqJUZeq8q0Md&oBSg} z62FKAR_L)Llv!K8gCGvC!Rrdh9B@j+fUI(BkT%kCkeD+K4U;kQR|f^MsVRATElrDN1ydEP6x7F#vw^M1 zSB26BJcgNSg4l+~-Omi?QGx!Zi9E_%tEB4oR$)bE3;!x54fZhL1fi~&x`{UGxl#>(x8=}zk6INuEd>0#nepIc<|Z-#Z6pezoj zL69ye?EkVq=h3O}!0Bv0BN!h+WOpd1&cL)VywNj&y@AggS-m*Zmi?VS&0EE?j!E4c z(?PFL_ZV(8zFBIEFC*+CI0t7eSbUT&K>vQUw)gxac#Z}$%{46NOMgVRAgS5hv8zF> z-1cRO`Qd4&?m3>AIapZ`k+;DZ^ifQrcKWp*{-3+n1lKSE4696Lkzp9)m$W)-+ZIhwHw5c$Olu@D| zTz5ZE>`eY^>ia)zy?I=Wd;dRft>ci6V@XAGoDjznl2E$rSxSeFH4H*BGWJS!T?ko9 z_K+G&>UJz6)S%^(R8pA|4MkU(G}Tly(@f2BE$`oJocq4NpU>~{`GW_|bj@7XT=QO@ zD=6wHnDU4I+CZKBLE!y2`%(exivO2=Np|fOzQ}AwAm+g0`5#J~g5$$GXk2-I2q+ML z1GPG=L4frHnE|0B9L=Kk@CtKiJ_(`u0A>DDJaF#>xZ=$cSzq||{r?eMsC0cnQeb9|bKFRaP0!wh^V8?8e%f=78#z;39RkUs zuEwC*+8xKKQoCrx9^Ej(wpmP8GD@xDS0z{VqH;$=EkGB+Il$UQP#T5 z_tf0(kKb$~k>Cv?x)xf47vTmS7DX+lnJI*QgB64aZBiX*bn+mM%*^?tDeQP`s6OuZ zPoQ&tbnlQJvI)>%#{#$YG%+B3P~Dws>kdJxRqfMq(31sT$OqPZ@X_%8{n2#X>&Vwf zL>SRMor^r`o6#Q6Hn-r)a53Mnq3!<7r-8YTH`epIodV>@>#cu$jcKT+=6^(Jg{w*f zJ_~&(L3CWU@4zdN#g%E9l-_ixmHmqed-idf$hp@ZNsY!rG!7_Jne zo7d;-NzeQ(Bq!btYxW0&Yv3+gImTno-V^2|ZXRp*O~5*oJQ@Gcn1@@$=ifowbg4Pg6V$;l;r+v%=nmPjsaY_fdXNgJuB zA_!qq@0}lb!j~XVt06 zyc;`t`p?q6+qF?(y~h^O1|QJ6@?oW=vu}};6`pvwIL-#t6Gq_TvO2s*-=;GlWu z=9$!BY}VO4DBAGkKJq-^n(+m|Adtjx9wiR;FBbT7oL0!$qMe`}u{lRM^Xoc)Fni}S6e_Hb?j zL>4H*dM`B{s4VgQ+xD*xS+lgcnVM-@70yNiYBQ{Y(*BVEImdD2sa@43D_CCFsFi&8 znbwXKZM5};CRk?uf-PmDLX#q+*)l5Ebd3+p)=V;*VRoA6hXn^RnRluM%5?HctDFV{ z!JS~%(_uI5yMsp(mOL`f>>+Zkb%Kc{f{6Z2ANEjX>u#|;`!-1=EW30FEQ2uTbzG;= zgMV3Db`K_QOu)S)jmB%>IJh{c>!jVpVCbgs{2|Z~dMd^s|nJ_vu1hdxu1j)?;$J zi7bo2CB7i7i1fy=$6*J{{dVq{u#l>x(Ar~q#h5H|W*s~46wM#o|-F|8d z$mU=JB{O29LY5#Z_5a9_20;c1jM=}1%WgEb5S9OX=l%cla8a<2{?Ye>ZiU_Xk3OEy z@u#armevN@r)t7%$ErCdJob-$e4XBXRI_V;R zd#0(9l6NERs~gBDT}i@`ITMwqjg+{$$*-bE=i8S%37>a1kW{v8qoeqaDZ`R31~c^B zZLycCnCXdA93m=8OhUfXcsAXr4P9$WV5{CY+j!{BqdQ9kQCtLbLiL z-}IsTkaIH0hk}qwwdJ{S(XOVb3CAIl$rnmIm1WdbUBeU>orR^wL|&8jh{6|A>@ z<^U~Mri&02=M>p#$<6}>Q8iJbh8Q<^Yg$eL69~k1i-(0}@s+a8 ze1&zD(KTOYgmC+Kvr$*{EsdK3x`deM%`Oii;LL{r6{%L7Dl$aIV9qgEp_8Ydo97{k?!sf2bv!ir&do#r0hXN7n`9C8k#4>1yEn@SSC)KzBa! z*C~oue3-Sjn45jjV`9WTPR_fSc!IroPND?`U*J z6aArwI+L)?rrlZ74w{IyBxVklTB^1NC&-H9e|}Za)PS~T5rc9~fp=N##-l^-ueWT= za@>wmA(477?aB>Q4Slq0M;0#PM+e5T1{&{vIN@sF#;^reTv17V_s6%2e3dW$wgnPq z7jql$4%zX8Mf-9Ndui@Mxra8;p2$Zt<>6@eYtjm)#YrmAV7TU=ypYZyB zBBPp)CV73>Ah;F4?patRxsn!%We*=cu*MLLcYk~r8>zaQah&LFtq9AwekqJi*GxXx zAp*e2ExJLxdx2HbU=OmOYG+7I$ZsFW`Ok3E6}#&Ro;U9OHPaL7#23@XH%f)e_D2)g z$rOb3SzIgwv`BHnjycJNo~^!RG)`wdD)6Lx6OE}^IBvaN9e4%57J#KeJ#`bq?;ykf^#ZuPFsl{Xaa zKixRHK$BVSPP`Y6Rb4r-)f4N~URs?{r)b^Xr{i?TccTAch1_t|j&UA###bAZ_GVG8 zM)W�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 z%0D=FHq^*d)K6^!fu}S1S(B3hCRn5(a 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�t+&JUB1qeF^(LA&B>zzyacW-b zRwgW`M7e2^og2q0mwS$T{MgX-!A;b6R>FU4UoUiJ$7QLK);mAxnX99d?>yvB_KcML ztxf5=;f9KgQfWR5zeOJC98o#7No6*ts{T^68o;TgCiXbE@b-SsT#8i$4ty2DdQ z@gMGF9CoOR=}v9&)DI+-;Wh& z-9A=FjGi=qFHGDE$uj^*vE5!-Co}dIm9^mGo1tbO;z+3@$+#b!LP#xZHV5^CCzT&H#oi8^emv%g8W;9Z?x2|XJbBFrM<)QNrAcan#!ei--&|{>imV~i(x^>g8duuY z1G(pFjIOg2BbNkoJ{78k3%C1SX@;d^-c#Pd0DRPVaN>5akj|@tdF|oK6BVAxBD91~ z^PVk*E&{I<-W}dWO|(v%Iyx7ELj3+r;47q7bXWe7R7l%US{pj{4_#j!k^ETgcChjM zeGkv+=7NdG*Un%29Bz&G?I<`0wpqran@mI@wG5(1v(s|5X|pa4cr#siW+W(1tfytK z6AcTFdAL1YnkG~D`X$iosusjUS(S@*9N}Fng3oZ&JGLVw#aaE)*5l`^(II5l^7_Jm zB6dNw-hFy`$pyNm>Aub9Ze!_mMNy1gwy;N=Uj;;~?ly__E3fRHTsIZ>waX)Q0YGCI ziM*-YA43aOP*Zi&BTuZS`jiw3XSP<)HAlYAXG*(I`8H>F1ZV$q$vA+PN2D9mFy|#o z@{F2p#pjssksWp0m_)uM@BNc0FA1x670kg*i$cY6i`(6q^}p^!?}ej)89i>pUGBPm z0)C24ss$bF89hHG6kWC$HDioAEtlT1!tMFH8R_eOgtH18O@U#d>||q^xP8ZE8J~x_ z=*fP+=90%F0+aaAQn53Ndh%jT#57~jDW{#Eeb+ieTZGg_EV@?3$bYo@##EuzWE#{$ zmJH#Rci(GpANAmie)!^VT;zmAZunt9Dle0^-7W3yk|Vc$trT=< zyaqd*(9H^a&sXVPBl{Feg6G)L}09~z`~#9P5PyVFXc_pnleWhGL_(N8ngY$q)^h_;qfj@@5O?1 zPOQP$tsqxMPwvQKg*xfz4^(cKRK?JAW1bZ*YzDplR6%?9ar#Yyb>2?634!I`pM-LS1L!~*(5XNS*EpBTiVvwsWHvP_y0u& z#CQe#>yp?dgPdR3sgs=77&yimGRSHXRDdsQu)W$ScFiGkOA>!>iwl?2wlKmlnF3+(`aKqeqvPII* z!)oV^QZejxGrAHl4K8irr|!l-VZMroO)%rCAbS8MnG-RqF~FdT@XI-(IR>ElirT8a zjmA448myNOnVK@~N4bcGqi(S~*aO{Y8Ki%gnVQ7<)T=n&S8+Kn!(zR`oGzz~tx&6l z>gwW8xR>zyQ%^?8+9Kz{sV^+~f{3_%5vqL=IcK=2yQS2Q0xt`PyY<4rQs(GoM|HWZ zNop8C9=3Zyl_*u#H>VKq_>Cs_bq{UA5_g|rJ_egi`!|nk2UU(ye9q5;*2z{ai+Fy6 zQt};dlVeO_Izb7f0*bgyBsg*Xvu2DZ$8a}~O8Eh5^(~G18mGEP*yyydg$5lYs2%~>A^Fwp6Tl8)3fHYmKv718(~Bwu4r*RSpkR$V zDjXH99mkcVUaIc|-Hlcs)UmkNcr}E{|Hyva)fSjgi$>(WfQ85eC|Qpspd*Rq73%f} z0}O8O{{&qajBl^zEdLz@OiYnd&QF7pBM|gTJzh;7t;07dR_rMwQ%d>t-rm=aICImN zIT~p5=<8HnxQaSm$Av88k(LV&2Zi&iuX*eOc>)q#-(3wZ&Z2zo+7wEyX zVVehk7jJAo4QJqU=9k1j1VeIkA5Un6T0GPo_j)C%1)-?RVaWC|9 zesA`hCQK(muJgtdUdQR7xJ><(dZ1$GS5+!9sl;m4?rI^j8!77)RC#;_!Q-2?-#!~% zkJW^O&iLdE5Y zWCOmUQyXin_I*}Whe=Z@-#y`}d+{~Z+(A<|)fxV!@ZlxRr405#M>xM=@0|{#cr

JF>6DX`Dt|vqeme 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®k_(LV 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%0AMio2ANWr2NN^=s13m__ z`MCID@K{iDivHk6@Obd+;0fS2z!SkAfhU1Gz=7be!BfEJ!PCIQ(YqGZTFn{Yap0LC zYk8bAm@5tj2Z2MtA>hT}+2AGMxuDi!hJt!0e;9ZRcpk{QQEmj-3Z4(L&XeQ3oZ@}p zh2Z_*tHGt&R9t2(jX)S&-)E~Mk;57lS zE<+1v_bq(+eY-BlYs>g+9j8CK)S`#R@-?}hoJb|RY7Fb21!nj4Q(bykn{$|!C$+i$ zxn8;sUd26)tL1Jcyvph=U?1>S@OW^h5{XkI-%>8GWKe{PqpN5RG8Oc{sACGjNh z@iTopqA`J-)$(klK7g`FfhBiUlpckN;&%+ZM4NZaOLW`jl&{}8{v=!P7_1#2R zs2-XDErwP=k3&yEyP>KtP|l$-&`f9{v>aLsZHBf(FF-Y4q&!2Dp}CM2M^{1Xp)Jr( zsOn49IcN+t9a;>nfYw7>pql5~2M zw7D$ttv^9+mI8MF9L}k3iLg33W5$Zk;gO7H!hFYMxHD#Wfl}gf2RM%frKM zJaOYaxc?7hyZg*`(+Zv8^(D8*Y7DmC0V%wNIW_Fv`pbUyz{u`ezvo$ld%yJI!25XO zNnjd}b=8G_&q#OojVQkr$I{g|RMZJBMgHF-g!!tai}#1)bg^Ea+XgATg|T$~wKQEL z>W1S8Cx4l*%s)BDTj^%KIky$MkZ|8COLrRY;L~mGhcDB4SH2OMi`$R$sPAe&Mu0N> z`JmbY=Ge3!m(YHUh0?WUt?T$a&L`!g2lv!Y$z4XgexT+^8uyLiT5ZP_;FVxK*jxW` zdPdnh_gK<4iHEmy-q~DXVqLEzu6SM#isv*?JZ}KS)ARd?<7e$x|BDHLQ<`SbX0<^} zq1Dg^=xOK`_rJpeDl6svzvj^9X3#g^XMOV_?Elr4n!5!V?=Tta|3iaPN&j!{)=1h& zxmeDv$azmJC%m{{i5zPuylv8R#pAk1+wR&4>Zq&VlfeGybQRcxRzuHc^!zp+XLviL z`=^u)8)sbW`1rk6b=>!9$quV}-j96*R;O)DB3`?wzx$y6EM^Ra>Y*9XEAH>l0&)Fc z9g-i{nPpYE>OssMU3DrO|4k>n!kT|P{;PD1B{}6|ENh>%mL{h$wz;>V->b^>>rQ=E z`urH_95;rV8)Wo00pLFp=E6fLV@r@>^;)9dj*QC=fef`v8dLc^N!td7PRSaP#wi-V zFqWbnN}oR|p0{Q8x)$>%cYf*RE?()gWpAJCXK53Nr#!pL#Y>+RYV6|EoKM=gxc!_Q z;@KEx3h`;a-B_jvYn9snsptJ_KdqhHb{YY2wNNK*+EQpWv>w_5?SNi@`hHWPUU6~# z-xSOd&;OpKTwb~@yZ$dEyuzA)T>lR=KdZETP&qDdAME{+p`l*I?bnaczrpm^*y75C zvp5${pSGz7`u$Q{9wMpGu zF6KD#s-u35f~G(%&=P1h^osl2vViKpy`#jQG3QjC%>A4)Jtr>H^^4{=&TF2fZ~uhP zdAYijtO-#-6yM^+Z9=@36MeVWujL%*d%lVPytdZ)y#E!x1^iNHI>+ltw#F3e5U(e> z@BRiEQy0wdY@SybmV6n@Hy61$%(Mb0ay54@8aAcSKCii>10!_EX7QQVoLBuK9+~YT z$13^{`E_({U90>Y^^mwh(OKD+1|5CZ+)`*KEq6E1(ie{Xx=`z3N#o17ckbR?#U>Y^;a7H+caUB>}Eyo5z22>cbY zK5eqXIrtRA}vcr8z2Qh)cJXvEjQpBnq~9ZF`Z zeho0bKP%W-x(q<*4rnmE{~Yu_gE%r{9A|+uTT@~;l^}TK7TM_Jcgc259 zEAKWA|9%)3jiyi}jRkLRUQ?KNd!fDKvfFRFO=Ie=m6OuEGubtvF^*+(K5z9UU64JZ zLfLk9WK$SOecKWZ?xEb&o9yglyY=n<=sleHifiGm?CdTrJIVJPm7fxo`txkGFuQR< zOJ}gCUn|xaBo5Qq(vtWO3gsyF@37Cer&;54Y(U4M=y)CcJ{8iWa;P#D$Dil2v%Bl* z%rW3&Wy$*3?ZKwU;AieG^7DjetSpUdFHrIQ(ce}hRgy+lRE{h!mxYG;VG|1en!G&Q zLp#kKItOR@UzBri+rdDrV)shzCc_X-p6*iP-(>9eM<>Rj@T+2~wi znTieSmDD-QBb~u4_gW9`|MS>ti^<-PXa$tL`VxORr1%y`8?jO;b9vHi|Md{8*O zbES4O-4}<3VxWWt_ZxIS^9P}Pq5G7^_QrXI&i3YeOQbv9b#C=UcqqQbv3eQnJ}W&? zJsDGU&E}=~ZF=twddK63z36?p>0Q=Gk>kmCnY$*pw0*U{v8j(YlIp6t-y(N{$;Dpv zz729Uq`TjtwEA!I_69-PuVwCc$eU*JCe3f|Y;J5JZ>;jWe9^hqn~1A;7S`I+UnOPA zo%L{0+!w3sD)WD}{6}!#%4F*A>u~wE=vAiIAb%tBcN6bFgRW{Tm5ew(%?NtmkbzWiDH9LH&EFWj9}<*+8Nw5c5~3Fpf#J!{$)cfG!p=D(G@wfzu+JJW;v z|9kRdYtT36+r|23_Z{lS_C-mq_%yyi`a0pE_!h_7#yv^C9GbS#+Vbfdh~sKJxc_`7 zqx$!yI=e3{MC!V7v<_YCh_AR7-t_(TA=cMy-1jK2Xsqua(6{FgL!0DnJf*#P9%cXT zwBQp>Wp4)hZVNhF9MhR~3fHbm!mMcg+Vyf#+8$Xw)tSt4vCe-)=MzeG*32t0v2?8= z-V#XhEUfAJn?tOt^_6>rlFd$I|L;%edSR)q`}xwdx3SKw-UJ`xQMcXJ(mJcL zrK8dHm0i#0()w?8X-!C3Fd-6oHiqrqTWY&$^p^AIBsm@GK9SmpuecW8^7^-l%}Q<3 zb$v_ArOg}b!+_|sPE-Hy&*=NHQhgImRVH;tbq(X3O72I?jsv{e#tYbbqhp@1wr>uju+U z({)k@PokTdOt!S#-Z<+{g_b?{qGvDSDxQTkU4NhG`r^7GFDn?L`~Tefet&pXG1$SaX;xf2+q#u`>Ow9&0L;6@Mi6C0|pPEPvHw`2&$ZeUvX# zi*#S(Z<#2KpZX_b@DNVzQ5a zFcG=Ia&n|wFMSO`is{eld{8jrj)@oVS2=~1fLIa z*wXP$Q^jetvCX=Ze9D%2aQ}Od#!p%r*^|nrhT00VnrAl`n#Q^*PH1nyE?+IfE3pJZN9xPvft>-=G=ChK3FzcgW3^lLMpb+^Te%#{Ij>bdk!al zs_&tBhrW|kY&)=>tEJ)(VT6S?P~x#Vd_y{iI7hu`lcyxP!r zftsp53eqLHv*UVj%34o%woSV4MDhIdm2@AS+7wq%z<(jW+SJv7-}^zGeWSCS^gVT@ zyFvcjl-BeeFO7GktK5eIkF|k^?X~?d*Gj`j5}xX5^`lylh3nbiQ{X&MI^F|r z;o7HH-=ehVP$K#lq9%hK=H;nTB&;<|HkK37~ot}E-)h|!MB68pwI6*($)yggFZ}}CgZEVt%2Xu zxR>U)Un9>>!&&hAm)y5p8fFsTuTSTbweD)}H9&F-t2)TLs;=Dfu4=KK>$5?X+jGDh zK=$1fdvX$>&Q^1GrI@ZaVNEpACoSrLH#l6vx+z8@pOmqQw49MPHXRC`G z-v#i|d!TwB^tdFS{JL=3ZpHaD#>JbIg!OB=*?U;7bYbVZurpxd*H-gxomIN2$>;1h z=QtOw*q2||f-IM~GvVYabtBPLpPRT=-p=NF1$YP79{`otv^VZrWqLmM zX&c;GZBK&jTz?r{0PXD|;f zg6DusK*hTs913=VzAaKcqiasef?p@ildImvWnqQW$)BgDdh<@MPY2)S?oUBC)q_hR zU*1)Q{5od#**G5v{MLZt_d$0(KJZC-_;tl>9*+ke9}he};jU#X>5}sB>wVcgJ{NdA z8F*}R*Yzbl7NVbDd&|3ZI4<2@*B1T2eJ$`{|ENpLH^57||4r~RQ2DF+`5#=XUh0gq zIpBA}o}7>7_1y}3%lFPbL_VoMNz>rhv9i2=)b4w~hqWR~`k< z2U$ER7Qth{r6BKP6_w&rE|S5#}-4t%RrsCHx^VI zb{?oRzb**()t@Nbh2VMMAXl!HM}FNZ@7A!m#E*A?^#eE9$)n9YEcd`ru19dKJUbs8 z16~B)2EH0>1TO>qdqn3WXC!q==T(j4x6ZlpXS41koL_&+yR|4Tb4Nql^aH1Jz0@bw zgKD?NgR=Pqa6G89ysieX0+)a~(`y;1Grbt2vs8n6MZ2X6rX349$$ z9m(AU{u;am{4J=nzr5Y_o`c$O^${Ag?F0vcDvN3}Hh{9{I?`E_@69N+4?VpUf8P&DQ=)K@5a51R*sI$VZ2>!CK!ru%Qxvz5O-?_RS zoQyS88mxW2#_6l}GaZ}wbD5QXzlM^Ix#RS|72eW)8K^vdyOX7|sxjmFF8v$HlebRpconERxf&b+t^<|MkAhc%kAqXdkAtrTmCo0JpXPcd_!)2> z_-|kvxDi|oD%=~vFLM0=xcRW$gR8(TT>lIBb#NW{4e(#VZ-T0`I*W@jcJ902m%#6V zDxW%Q>!;ukz~{j2;9tRKLB?CTAAuKwJHRR6kHI^^pMdm{?yRl%fj{H=W8i;+p9232 zl0D%-M#<$Tk;XR(jYMx_dI3Bafwz~c$x(@;OfUg064PFlZhV%54 zXTRebfbZL&ThL4GN&y<~%F1&5{JcN!)&LYX9^aarKf&h={PuyW8-E7Jf;tyW?REZe zUpCmgSDedrHFz)B6MQSEbHD)P-UF$PxD#vzb?(Rgkka3lj34R<>*x4+x)Sfms$_o4 zVpLJ}>v`@?gvRakwrcW0$&qy2c|BE9^?YhB_lU~v9Ij`9N?Q+X(gQ7e=&c3ZUP$$; zc95>9uL#}n&0KB=^a9lPY3AP0C};{a7b-%lp!LvJXg4%~0y`X<0d+#Fp!LuW=mlut zw;2CIGogjhYG?zr6WRyWG1(do&447y|7o*UHU%xmcZNUt}dq&<_427hj%m%;=N3J9x%!& z94)jVhdN&UT9d=Ro-5}sm{(|T?CkEI9!t}WIseYs<{(SsJ##l9Yp%&k_O7>t^9wqL zO$x&GosTkA$d9h?RW)5K4~GQ99%G7tj6JGbO_vJxVVjKS;iYkiFAsS}q23)13=h9q zVR2*4Vc@acI}g-YPi?Zz0qeN$^Ep=FTPCI41k6^hy3clBv_r{2o0(${3|%8-70R;uhy`pIO^%+WHCQ(+d%zz8rlU_eV;K9 zGzxmfz5EtXU9i5RE|kIANbL964|6Z$Qs-6n{`YpmDXjTdTKDbUtgQCHz28+{-$R50 zwH2ygmAvPq`BV9OPWDW7Ww4Rv^X9f;qesm~yi`_bFU+4+xUSvR)zCI|r)`kUlLMMK6?Oe4?5&VyUM5;jNU|1wW+8K znLRhC!r(sd!TsNkJ?}7ii8x^!=^O@?!NT^{4)jfDYnl&xhKK z*spZY!f=<5Taa5suGUHa5Oh;qGAMaB1nw}DTBGeOPY8bO|4vBJt) z_hD||ad8;f#5K=DSPA9%5;z;YADjce7bHzZzFDE?b4Avx-5HWPmyY}??gUxyF8&In z?h$GX3GSM;PgXK13!wZ@2bG@lz;>=L0XxAfz`Mbz;5{H`+-u)Su@ihf$QkkK z$BJ(U-vF)x#fP)k-Sr1SY+n30Smf^u;C+P`>dE&G;;&v1U%CiQGB{Ct0&cYV9~_k~vJ2kxENkL+=KsEz<1X3WB zrTjTDT-So{;l5J#UXVKP!d(F>9Ca$Un)_!ybDe@8d8FXH9l z4mY$N-mP)%g+2Y8R&}Wk@;uXWl;_@nAop_0%LrOUD- zaxS(Z-%6=IiAwCsM`}a&?zjS1VndskZw~VMd$I0+1M-HxSRSv0+H1j;$+UbMs!ENE z%i;~l98)6m%K1%%sU&S?%T+;6oVFX0GoeI|tvUF2p(>GQ>8h%B$;xSLZSJ+myV>MX z9>cN86{XAMv;;Y$O$az0In9Sy&ekADa~gB6L(cy(Ij$_aWzdS!WA$rHC(kt|Eo;vnlJFVg+zJ4w~QDv{+&-ocdbof&Dm6*;}X9JfseFK2RZpODygw;|`$ zLo8=~hMbwmx!@4X8K{XCE>2G)awZ;PIZHC+untsx%ORGtJ44Pag?Lwk z%EQSnzRpum*QjT5-_LjQ$vjBukxk{M5J&dE9+dsH<|$s&xIP8E0hBFn1pPY?KUym6cvU?$3Vj>;v$S zoz{RVXaC3X)N|7`z2f1=^w~Vt1s)#_JU-@loC1$?OZ4z#_3Zc1Kjq^1XAesI26ufj zJkBfO;m6_GJT?U$UjW79i|$(W?(z~Ietey$)$lH^yZ;_|d<{Gi?=9|H<@e$e9)9ec zt;g2D<2#`A_-?`@Eeo=#9~Woy_)*}oBk=g~et7sXZ#Iwr3Os%hcs#cs9)3KV&0}xi z@!P=Tcl+Vt$Ew*p{t|fnHSnN8F6!Bb_7=zG)Q>~6dGvB|Xx~8D^oafN@MFyEKJA#m z<5=)Gc=S(rl;(>cKW6JOF!0d3@0ma{2h~5F9Wli_~ zNB5I=1LE&G=o<#{Hy>i2@i!dyyMH*mV^IDbQ0TIqgRJ*%l?|FGJLs>A&G zXw+Tz%;&1`uFx0_!f@w#aR1+ljR$c!gfqWC3w3P!9NtZu-+A4F&g*7RZJa-+5Pi2s zcArb&zVH$si>vgA$Ja~u`IVeqCV{Cx`;ZFvBwwlV&!)Qa?vdZCqOzelwpOV9PjY8_ zaQ{~l<_1d}kB|K!Q@-rf6P|a7U3d#)dGg89G$h{&?YfTM{^dGOR%41A=E41c7dpN% z(a}z&?A{t}xg70Hm1B&axJQw*&g4uiENp1KVo@i%ER~%u_ zu6&l9@2s*`=AWGJY_?4O+0WLzu+W5TDP{YgWB=QoM&3`^8T)n2ZJym3;>nD$U+e7I z9R)m<7VS@4Pg)uY^UaXn<4KE5633avwM#o5k3+BF`X^C%&C}!Xw{xxhH|oxMb9w$W zh&fJk8FTL@f6nK{a90mq)-<%rR0ktxPmptp2?19j=aLLLvc+`5Z-f-y!pL@t-Y2OO z%vsT^>vf^DzS=Xakt#emn{(^;d(iE*v2NiM>3MBD?8IL>?p2zIt9TYxWld#*G8328 zr0vmOV7w!L`uoECIh}LWx~IH{Q{eYOXA<_#poh}0JV|-`bBd+QGQz$9X*|^$!rPwZ zIQ-p>EekkU+C(|q9g1?aH`uT*^3A;$8!k5+^3L3pb{;NK!f%2U-on`a>xc4Y zJMGK&ab#DeJ@#|wANxm&E*)JfpQUBM`uq){0>t|N3;M5$^mj+o1$j!t3+TUuc#31; z{(q#wo-?;c+8@-IpR!)m zd^>6?_0Z4SXMXI`{#w4)kYr>C6Y6*`@PY40U$XRkStt zvu^Yz@L@=6Ew#yevwpmhPsT9RGx2nezTd6Uo$F-0g?LxGcrEz)K0cp}4^(w#x>#;q zvPk>p_Ot8R!iB^?8GJQJy42Pb)h1|dbTBv?)HzUE@AYR_^aW3WO4reRzn)L}d-60{ z104eoU5^D-gvL3Z+NXFTdf({u-pPI6AE*0XRVcPWaubQ8>#ITR?Dnx^XSaV{`d-id zL7>*fu!-N#4w65`G2m;#@c}1;uj6_ycrz%Q-2%1-)Sz2@7J=fs1iTIGN$Ks0<$6*w z^iAQDSPPY_;kVXWd-FbLf7Y$F54$(NwDxvl2y=o3TKPH8-Pf5kI=`_FJjU616@I=iN!Nf?9$0U5uAO*C z@e3OisTXdaJoUltlUH4kT?T*)@gD+WBWLe>!B>TFBLY&U+&=f7lqSCy`c&F7anahe z&UreGGJhJYi)VA{igc_=%D!*2)3fB_vQK`veXkFKde=hvq53`?^6g}HytjpTZ%^X+ z?=O;;&?e=>&T>CqQMr&?L3owhcYw0(N{~A5)?QTxWfPTz_i%qG_+C(HUk&zT*4LA_ z8+wyM?E{zVP3~z=u-3cwa@`9$LK%&l4%PgGH3Fy}>V%d-YoLwLR%kcW>!-}=q0vwS z)CMhu)khb zSNW?C6^|{D;#t^u4d6g?{dnH~QttxWd}e0SFTZ%c-u?Igt6nr$H+vL=J=8aw`x^GR z*zCcKr`#T08;kk5sch@V@P0q&&LB_yqB+j`s~&IiD%f*cE@R?hp0mai=Dv=MYbuiA z&(}8@YU}DCUk1`=7fRNEAZ#3MPd`=+tX=fB%)9ZAf=E5_kgF$b-+=w-ug=8B;(427 zKUceocp5)V27BuHspr@go&_1Z^osl2vOrw_$AtPaI8t#T>nJ^Dhc(f%`u_sq6xRIX`X4`|iJtEq@VQSM zuVF6V;c4Q#TgW)jJ3v`u$oLsj`LiF@;Y#`p)tT}>!`gy1!G7`hc@g#-T4ulQv^TQ9 zbhT$Jdgdc{h6nfmUc!tw8I#z`zVN!)@~A|PrKK&%sf*;i9yxPUIeb>PvmzOmmTf_X z*1F9tM#eIe;op53+lgl-X)!rtG|0onHhTkd9y2*^Uc*5lggF>FYlEEFW^Y8!*G!I^ zFH|na@}{pUEiSg(n~?J>lT*PtjaJS~Mq7}fbp>-pWb~b5&na69jqL|#FV0PJE=~uX zQuW|O1|M|fW29R5sw7`5Eu(vQIa;4HcRzCKQ#oym8d@uoVP$MhkP+MKACNK2WT=dd zYhBRY_r)wIAe z5Z%9Iy7OG7((^w}maP-mdp~{!(aU`ZSjH6l(b@5s6nJP(rhL$P{F$KE06b4$ipAU31H{|+HR&35%zH}UeLdKpu;MK} zr*SSZXZVx;x?M+-O z?S+J=MrnF}to_No65hVQ$WHqmfw$J}mDlB>jAwpQb(5k2$kT``bXJ`R$<3_p`{K zQ(WGNhi}ibdAu|5SQ&Ucn(#OW9{yWKGvVRe;e675(+nqj_g4oV?+0b44}$84*Mha+ zW8e_*BcRnE|NQ89r>CBgsXdaezD>>6_2a}>9e)B;deFG({q}^$=b_T#^Z@ALfe1Fa|Wo_&)JIzjf5scP0(U!1+)&@3~h(@LVf>} zwMS?aGzDsc7DFqbbGOc&`C>fJtaN@?O?t}bcQ*D~7VHz2f1QbTVV@Od zpMw}v$j;LF#;{Ltz+sL(btHBFMVQql>t#Gs+;p+AZ87L_LaIvc7wGaK(?#PO9qEXF zcg8g)$I74WA3Qyh^Bi)XG&y1GX(ci&5A7_~I1hIt<3}cgJe=6r!LFpHg4C!)mZfLC z8h%`j2lxL5*3+LeSz$fB5*gO^`ns2Q^-u!hzJ~U^sAuT(ac;a;3;J&g)h1)0I{bb4 zO`lDxm}?DBj!_eF{CGrRefdk*BIB?Zy0HFyb%piiBYig@4tp74`|(DXrNifOUVBuW zi_>uxVS8~`V>`Wf~6 z`VNTPUPwATq5%qS6tt6e{spM!zvv5~dZ-AkgdT^Uf_6YJK>dF~7^oilTXIz>WBaH& zgJQ=-3T~pj{?jdC&ad;Is2|gq#IzJt;r$V(-6_9M!cXm-@?G}!ywmse;xaNkukQ}t zk=XvE@m?|I!wl@WZf6lt+pq9I}?q|>a z*APtMEzHX?2B@?zSK7+^a%*qAzIms+QX026%pcu6g#OOWb<~dbq}8!+uO)4P1`9Zq z$5oWY4gUknqikgT6-}9QM+X#qtD3W-crc)PnJZiWU(GFrHUGc$yti~tc8PKQBHDZR zZPNLPvUGN*U6Y+uPEE$+LBTj8h3f5>%hK*$ghH+WEm*YFg=sz~(mv64G zSTw%5UEeLQBt0f;X@;!tBI}HDSYao;?M>4wHrXHzG8 zuw%p4awc-m=U+OfSJ~FwQtn*BtGd1lRR2bk=H~L}IX(|Dj<^n*lJILFjL)k)&xyS2 z0Z5MA1;iT&YRoejWM5rzB*?g+I2P0zSx;7qdK24!11^0pybgb#N9jHk6&D+Gy~f4$ z-{@9YZ{zH+=!TrpNgw%323B%Ipr>h%c0&80n&-F&jfNVaHfSld7J9|~{aPSy{}+cg z>xRf2e_(G|?eh>x_f*1-wS#)bci+l-bDMh71|9|*#Oste&wGmp!#pmv4(~+ z7_T{fn=);kFj%A8EYi&JB0bL$?)$AU&SXil3ba@Ihu`peMk|M zH!IL{E)_>SES|kn)|fnhb^EB3cWmXax>n}z-sKw+_-==96M@d)`ZGZvdrvWq$1|vf zzOD3QrRZDXtVsY1hqLn5Ar$7n|R!&wJ^1Fr-Qvg^mpwX?TTyX z&H{V5cO$gEq&6x&V`d`Zy$$ouo?PZse@5#E?p)%k>CqVTDDXT`_JWY5_d)ayPOEF< ztgUKLV~f++Zy@c{Xs7|23l*Vt(97whzs>(SkHWdQ{?DsopTt)}|F8NVy$7hcoKNEF zy@lycy^rf_`8)n`{eS6q0y6sh8# zO_tvWVzO*pHA)LRxc(m8|GSX&oXM)7oi-U}^X)+f_DWnkGX82ZnCpkfBd$#zO?d4U zQ+NwwHpgCCQo+6W-Ihx1U^>>Tvf?x*GS`8Q7k@R>ZPs;7$AgixF31UqaH2YqGs)yk zJ2Y~ps8PqARf`&K~D?!a_MPhV^y^`Vrd}K&yQ< z$9I^j`#u%w^SHUqElr$Hk7p&eusOkcb!xb{KEED0H<=vT4c9TG-?Qdi#x9KWsE-;q zjb>a_;BDR;8Ev+(1E@f+Fdv-9uXgU;&fNm@!zSKzzRj%;`u@l4Fhzqn++Yvx|6=sJ z)AXw^6xzabW7RL6cQBAR3U6U--1?0unW~RnAG4PBbEeydpc_Raac@AkM@%=qi!i_7 zKd4bj9+{llP$@#U>SVnUIqxz#8n^lBT192S`cgXsT6_M?y$Lz*HaQ2;mzs=SAuYjl zPD~LQ>kpxf$$h-`TDLHFA2L372xM5EtPe6+r%2rW$k=N#{C68$mDWX@Kl=Ge_WY5#G4sdtJJxc`jF=hqg(KH|CXJr=&rU=K#<;u$~B z@nhq>8z&PiR|VNzdmeF=Ci=JH`5$frAH7=}w#x)$7zAsMqv>(Pj*+=eUE^IFMuMP*3A7c}n_`Wo|uC90C{eD>S z^8I1<_vxP`Y(Jiwsa`9eeV>-6Bzac_SlRmmVO6g;gBllo1yr7W74&P}+FRd0Da%Tq z@4vF&sbt)7pUU!og!ooI8o1~Cq`aOlI>*pEc?P+S@Y3TMPbt#BV)UxERv;?K)$*CV5VJ{Ha93ZGtwFxb4thsPBJM?x4|71JnjBg;qi9p)Jr( zXdl%7m+a|+>YjKCgwIV*l%RHpXa7n(5LphWypOWciQazRlfIfBJ{c zSs~SaEKw~uUZm1N(sV_6fyt29%n^jb&at*B|Pcg3v`%{$%MFPA4DXxXL zG~B))8+3g<<=53z4irc2<8a95b>8JWmyFNS_PT~T+n4L(K>y6|Q5R3`nb$9$q%&^M z7#kJYd!_dpT|1_=dX1M(2M2<*G4SipSV!OC)%R*IfbLG}v|c2VLw>G_da(pr1#N;} zaoHA7{k6Ho;~~hDDClPP`1HOkltKTz>6$|4+}5UXjV&#Nvo>HczZK8IoPBBS>bBe5`Gp-9bbCzy-mrJ{im*psXW+`+=)wK}GWyCO4xPJb~i)%(>I>uqzxno!rz5%b`_g5J-S>P>6w?b|{+^}J2t zEsW_oZNGXp9<-htGW7f^dJew4q&y^g_9y%jNP1cr)3af}dNv)jo=qCK;9`3|g`Q2N zdb0BD?YR*hhZ9HPEzF>tFRwT3SI-f{C8O)@re71XGMnVRDjY7>_5Y&l`}d>kT=dlQ z1%n#? zek-1Z)wo~`*DK5JTiZ1wS^wkR$-=xg+rVNUF;zR;^|scJQ9l~S2NVHU=e#cIyVG&m z(|1H%9Rz#xoI&lyUgBvE`e7=joPLj?9L@Y+T$Yso*4~c^<0-YV=6+4zbR8c|ab9Kn zKVKk_!kT|P?~C_c#P4Mu=)KT5-v89|e{9W2HhdoYy`jv0-C6IK{e3;~XGHc=A;!@c zChj+cd56iU;Jt!!87)CZZ6bko85vKSjB(vR`^99~ILP*Z=sBFZ-y-ALL`Hfb$idjl z_J71}+V7ClW0H+wTf2SsOLwFOV9VZbp~N!%Zh)oik&vtMcmy8=>J^LOn(_m)E{t8WbPY+d4$QTsnD z&1%=?cemX)-OWxTwWxqQ%Y*y>M|A(7>CTL$(z9Po){S8fx+%!2jb!}^Szj|*FXMaK zri<+t9j!qvPV1)T_?ANTb1$WfPNNy-8;wfpnSIx0V~~A<2?qa+?CPsRJq>|o@N)?fw4942+F z+1+(O`F?YcB2^-PYN!XBgZ$8SI34oHfBymHt8tvvF<#%Lnbv%7p+Y^Z9MUm~Y1 znm=o9d+U74WK(5j!up7vL7&qjoAgAVle?jhw3*u4+9?*5mG!c3%MW4>*+gl3P-F`=5R`GeG6>Wf)vG|(t9S-|Hfu0i2Rnm# zEirKM8Cny$_H&Z#=i3*T|qo` z53JP{`-9S%XG7YXQq=f=Jg8^WnuE*fY^nGexSx0Alks)T`>MeEYVcU%innBFO^fG8 zZV!#;UB{JppOElYS@!ddbl*X|UN<%Ho(4+a8$i$NeE6K@*0_{*KbJ_?8Djlz3Oux@ zMm(gS%GWJip9$WY@FWLuy~#UEyY%yOh&1i7el$zYt_4tOo&)MEvOc_tqWwWCU*h5C z2iZJY1CO@Aqdnm<93K9inwjwMC3Y&9o+akT=;`;yo_`ak<$c6aTHX)JW@{Xe zv#`aP@bLSMWM4mi&1)^%xwvdS7I=IZRM}q#YV7|}@O@}%9dv(yzB7y$mfXJ+R_Xd0D7$ZQa%G!z@0ob` z@mgw|IPbm{czhd_ZN3BgdZ+jO{TY6;haYog+vEFz$1{P)c2M^CAt-x13#L44;d?qZ z@%#Ja@5fW=nE)E=$WC%UC9b-%ouF)L?TP&T7%1D0yIj1q{QB`p_L)pJ9qpJie>YHRa*Q3hB4xV>_~b=y?1ARQvEp(3gQtiO$Lk-`}TpjCuTpIO_NQ3es2R z@~r3fWQUR3mY%s|lltuY@a!_ti#RG1y}_fvKA^X~&SV^rtP4*WgD383XyI>Yf1owc z2Iy&MC$tZ$*~^*-GzOXuwLwdv)zAiL8?*=N^;_1ApwUnRv>aLsZH0D21AoUeD5wcq z46TDULwljVzh~bOGy_@&t%0^eyP<&?b|f@c28K34+o1j!dMGp*YJ!$RtD&c$SKQyH z1*%B4t;uf6dmDTrG6lt^`jnwzFS*;ZuGfvz=ROOGqwp3ceg+Wl?W%9=Y!q9~8B~9H zZlIwh&dnJvtQ(HwO8(L*%YQ`hSHDu`@7_&TpQrfho3s2c;J$sQGWF;AQzP>S{Iq5{ z3hX3JZvZa}>DHcfnI?|Y-g=J<-xrTINU~>y@RFhSI1WFnwPnG)`Tm)_=0&1P_K=Bh z`5rRMzg{vd?kNxMKUKT>Y0E#I3huMd>Ao4gwGOZF7RL79)0T$(p{?ljw$UE5rwRW6 z;d{{NatR-Ao09PDKKu~EZh@u|?zj+M`NJ*EYZCt6HvYw8<-v3UJO!OfxQn8AO5Tg( z`B|#j)UZ4AF_m$}vw5eT+jtl9%+WVhuME26CKT9Br2JH=PR~K;i-JW+@hq&;D;_Kh zh4dcW9NBcWJRhjaf;-ZK`~N3&?M>lR{^X)F+bXfi^RS?g5A{3m>blq-1MSog9A=@< z^>fvJ;0Ufy1U1*ucvRP#4^aPHUp*4MJot|Vb$u;(5qJ~$YH)72e-|h|OTmk||Bs;f zy(8RT2Qo$|J^{W4)LE4}OXM`|62aB58m=+*;P3^-WBA<%3ED$gm&`X$=Zy}PHtkL$s^3}~XH3lLL#nVCQdnP!QYiV%1h#{;QN<-7wkbXgHiIj{8Q}ZC7VtyhJWy?NEBIOP zwcuAkcwisxi`M*ADN(uf^A`VG>jnP4-(z_qb{fty%s8l?-)BR5w?f}t)w>b;eF8Sq z_ecG_0v$rxPrsd|vN2NvaQC1C`JKBLR2f(dUIiBU!%prznVBHzEZzw|2mb)IPTdV{(dd6g9h>isOFE1*`P7dOlTpr z0{Y+Xsz{(c^BW+e;ZF46{vXNu*Cn6249q$vUv|rVjp}b!;yV$7&jtK&fLDm;cmex{{(@~)uv)cgr zTRGbP#2t&A=S)s`tW!x^%x+79j46o(=2FNQa!q))>CahA&c~=kmf4N7sGW=Lb{w)6 znk?DPN$NPL{Ap0d$1yZa-0{eHe=Mhhcj>LnS$Z}GIdQo@0Xg3=Iq74kiqd1{pfe&%7o+j`9&~z~@Cs}G8rQ1Hnw2jZ*OtuV)C83Imz*J03(s{>J>lLN zam zr^3BDCd8 zZfsdl;G&Xwmg#NpJnam6`;oVo@M-pNe$ezDJt5wxqb;WzMpsnsEnn=s2&L29Y1nGB z$t)3BnXDVbbLj1w9N;i*;%brAXG$moSL=Vf8HlAb4#r^A<=rN~@ zdK`*8FU!mew{cQsCmW4o1dalaW;~qq-owhap%+X*E4w2ztbQ{Sfpx zk(cJ&bf61*gdy5N>ERA7#2#_ma5j2e*+o5~AzVdzTpQYms-s-Cgq0ir`yBM>cqu*7 zNnu5MhpbPsy+bR44so447adl0Q3qcqE8jb0`dAxLTjT9;x(D}vDEd6n4Sg!zJ7l`p z{+N|Pm)JJ1LYHrwE=qj5KPIg)XkAI$^gQt*B@W zBv8+HuK|5p&qKe#@Yh=G3D5v1r-d+nPMy9FsIk*bNDf=O^xg={hBtxO&#ixIV0a7H z=Yx&lwczcbmv=exv@b^T20%lh6Ow1cer}y@AJ!n9OmuVhnGbqi;_;eG8(ELutUg+=`o-y=c z1%Ghp)y!^6o1b&0c8kl*zapm>VIBu%uO~puU*)aZM)C0T$!s2<4LtrW@c3N9LwmdY zyP~p#p9kjMoRCXw=k|2zXYNaZ$Cp9b`2T{mH*WvTc<}37Qx9|B1n&Z$2DPTQ6D2w_I^@c zM|F97B`ABy)_Tr3fosh#d4(*bO(j*fPWP&+&iHYDwtg%FIo>P>IQ%dOEN-{_SU9_kbOhe)p>Sp7ZZIt)uS)8!AHQbr zEqi0&@g`9E-RF3`cyE~>cV_GH=D_1E;8E~c=6GlfpgmouCeH%bj&(`Qu?H--?vJ_L zCTJV98>;#fZ4WdYnhZ5Ti=h?JI%qSr19}1KzmK(as2-XDbwbOa)zAiL3$zp32lf9m zVWE0x2Gj|yfYw2qq3uxaFUW>QLX)AT&}wKav>U4XEA2nD5LymB4ef$znK_Pvra*I{ z)zAiL57aB4&y9hmL(8Bw&`xL{H0m(oKntN)+~1D{sz~bjVg9`&WW66jdK>(Ly(GnR z!d{Y${a>`>`tE_-=&k54$1`Ae)>rvAeXelZ&~h(*4%kb78^HGFFo)38(YaRl8p)(4 zUDz{@*#CCKIy1EUHSkLIaA{6c{;b*Zpk5D6a1%Ya|Id*JAF(_r+rzaKqw72&g|{%K zH&H^mO7|Sux_;`<93@)U@7i45pKtREbknl{(|=vi|Hw%H-Gup#>0jY~B$K0Yisp&F zOy*tLlc;!}$asqwx$(lO;OU+XqYj1FH;F`gAK`p_HEuXJ>Gx9m z=99cp-5Kpd`n^v_@S8b;+v5WV#;SgAlg>!(om&d;b0PnZfySQRCfR#d#sr=A60R5Y zDGhFM8VfI{jb00Fg0?|>puUHz_I2OI^?z-Mt}&Fk2dX#+o_Kcgk3EIM>6xH(Gww^z7Kd6sI`pApyu4yf@gz_KHd7m6c8QVe!5FR z=|2Iyk^BD4r;FMDsCi5+q&em|P&J%=sTX$yeKHZX4f5fAkZf{%d`=?E61E2&nKD=H=-B5B9rXmGsf7AN%X0mj^qk%$xf@ zc6y)LNe@JVox0Qh$kuURs{Ph-p-XkYpCQa+CP(>E!MXk>$DX;(2m<1K{{eD7Vsa`t z*S}oGrXZugONIZ(xpvi096}j&p^sD>WA2B@_{t%au{6lgoYLI0$oS?Vlwo_ov_4|) zN62{g5Xi8)zEl+-H`s&wzXKV+HyLH$&DcY_wP#G>EsVV@@Rg_!n}vUO`z|XhrrVyN zTU;K0jBcl{5A9He-_0nOV|%S8L^k*da?Ub2(Ki~@kMBjV4J@Q6yoIr`_E!@dl#aFK zucBY(@AgS)JRrV9;JF@Bevb*VZG4c%W31JBr~96Z?Avu4`>{=V+Lx<=!;Sag{{NJ; zw^-WUgG|5iN;+x}*bL$*yoFKP6p`_VLt0FomFo6*Y0Pl2I*#lq?%v-17i%c!_=M>g zJ$ROmE0iYUOaLs*%cY~eE3zi&c&sT1{tO-eU^-4HbRNw2H!RW_3FCXAd9oyPlVRJZgGtJX#0&@j>=FyXH*x{;tZ6 z??+j$;FT=?bt1 zD-7}4r|++_ziTm(rAp~`HSts)G@dR0u7za#{wRAaJq;d8x5l>mmOw1q_c8gL^*!o} z#82*)AbTe9H0Nz}@sFiCq~9Sxznt$wvY&m=A&%1B45~uk32MIC;&|!%BKn4J%1^R= zUy#l-Vmr1GPxiRW;j4(7ez(E5<*EHO)R8Q?yIpv{*1m*m-`1wjdDOq#9HK~A+8_7c z2=jb5H_#mae(tMG5Z}!qbUiZoj{zUzT5Z`05>JfNpKC=Q;{{J(m)pAm2`_R9AA6ptF-$zD9>Ba-o-ZlAaQ&09+dRJMxlMk{x-wogjJb* z0;~Z)0m{~&0ww3uAak|cXTX`@XF$n{>N>yWw7$B;{c`#4 z+N1%rE$R)3pJ7fHNjaPG5 zYrpF2hC;Pa+7EBT&*w=#$xpS3TNDX5impfc&?mU($CrVpbFH=51b7C6x5p7FTg3_ufeI{pTKD#&+^?~D1Bqfx3d@1&nzMhI*(=< z_)$>5NAUZfL4C((Vz@Vod#m`JejDeiP{Ne1#k7ShpmosZzoT}Mr2k#GDpG0fzn}jPR_7=f`-U>`R{))qw#I9;_ihM-okXX{g2<@oLZRO!r5)SX^^(jm*unDIeWg4 z`g8t5dutotr(HB@{_IvMuC`A4#$jeR7h0M^0JSlPx{a?3ZG3FImDuk0rM8=9wi|f4hu-k|?YPIcJo|MHNuzEJ}A<#W|{ z(CIiYtqHjoAJY0i84rcGFme4qRPTUiKK~Cdjc58zn>DvEuaS1(rJw)5)cEv_`2F(2 z!p>n+3v(8$K zKhBRolOK1-`B7hJ>zv!Y=bXw@>3UJv_t6yEu2{}r2y=fd=lTV$orQ688`}>~md=ln zi)+zek@b%zOKWQ3ddYz@%Pf$yIriew?{Lndp=f)0vA7suYE=`k7WR7i2>d2s&^N5;P;GFsboQ*$w$ z|IWAAU0Cy1Unc)q$$W)=y0xv1L!M{RTX%bIVD`3k*MU96-M2mdm*!u&>R*_C%G+@Z z+W7){r*96r_rAQzvv*&fRwskIKa^kn?t#4DWyrgxFz@z4yGivnszu*b@KAhfX@4(&iOuq--*e*}^;Kp5?%4wUq4V#(AAim1#9#e%R{W8{U+Y5zxD&rNWm-n@DE1(Y&<{zRsD#EdRAIJA2CbyC{$@=q+Djc{*5AMGj{)J2$ zUHdz=vALsgWqW&TyR*|)bX-atg|{#&BeHSfCCaE6r~a&wHqS5ESbPxiB`fwXESyEB zMHhMvJ!#_{ynLFwmR4Wqt$td2(4>NnWB#AGo}~5rme%X$hh0I)z4C5a1z)Z26N zRXhu8<#%?HX3kt{oZr;K<{afqC3;%B`c%-fF42GtIF;tMQrKPlwFgYuOoHG(BjAoE?s>xAbehB2SnBiQUo<7JKV{()pt)Y=W zm88eMpD{TMfS!ud(-%1tOpfg1f<>5rY?bZu*AeRBt2!fd^VL*mswRH5qt_=tza zQyo%UGbbreFK*}6eq{NN;J%f|)IZ&?X>DNaH_LZ>*Yb&2H`tI~lhLa`dc78YO(8vY zc3&K~6J-ILjf$v2d23 zgOYTRC*gd|uIpIZ4w{ZldiaNnbvz2DA1KwazA&qKUSo^b@hS8hPCUi2aP}OyIo1*X zO7%DH$C5m#aS=>&N{{%ATDovh^6xc#k@+;ONAvpEVg)k3#`;Qvkv#zqX*? zYT_%dg;%*#6Ld#nix<~lifXxkvd2U5RdmYYmyFY7mMs4ZxUcwHQ_k`q8T@PZ<9}iB zSH;PSuQhS;m&vmHSvPV1$L`0U^=@akz9_g5C0LKo{XE#&%6ZC{cXAgrx2T;~Ig-5< zZxzD7iM{_4;;BtjJ&xn~efhqbQ020AFAme#-rl$<4dVDOMyDDQum1hJH>Tq?wa0PX z4!>lO=%siQiKq3d{xq7>N9j>JeV};75U(MM*P{#ZHiUR9qIe8l4=8U>h_^M0*Ru=p zhG2J>zUgWDdUYY*%nzqMFqcs-9QDdmZ!u z;eQ`=85Zh!9Dl+5d5xXa#ipq*W^^#+!R)i*cxlWYEf4Phu`qta>%zDsvd>txCxnpx zyU=|maTU+P%06lr=ti9#%J;vS{j&U((ehV2l;wYZ@K<}2<$po&SG$tsKQj2M{mAmS zenIU-mcR82D!*C&ujanmU?B2m?kJn-P?~UtTG#7u_IQR@!<`%8!Tsku=BzxfJKi98#tEj!VP$jw$E3hsF1JzOqtT4#In z{5h^1cB0&L;wg@WvvM}?CCZ`7S(d+*LzS~Ee=CP7XIcJM4pq*w{H+|SoMri2IaE2z z^0#uR{w2%*)!bM5)sK|M40}<>|phId`oL%r?1O1(RDZ5P!-3*nH}0n?U3xbm%l`0`CD03UC#2ivZ%V8 z{qiNf3u(Ja#sAfE~ownUzcs|W@9aaai@B4|4*U}pVAoW@}!QN3hk|K zoKjcIvjj+C&EMLYyOOfYbAh&w<`y>obiIC+wlm3^&*@Gb?fXvL$uPatbhG+pPj{mC z7&q0j=0kkNweVJt+7n$%*Lv%+sU4ZWW}v7%x<3F ztS^opT)SiAh;3(xQ!aO#2lsyX6zckeO1Wk_8bsDlRF5=Y@J zjPg{`8NbANn)D~It7wihHS8@JaF$mtp1;+?^g+|H{9KPo`altzd)yPmVG|oW?6>a| zr=$N)Nc@b4rGaiUq=7kU^bE4=X((-5ZVYMIk&%YeVfx;#r9n@pl!$8=Xj=e!s~!x5 z=Q>E~Fg`DLI@S()abBE3IzH9CbWCaOXm*=5m5!aHp%cDJhw*v2((ybpROJ0$Gxp>8 zMA&+hR1mBPMQ^iaEKIxHe=Ee*fv z;P)G4^S!@}uir0}9rmqJ*wM)I`+c(CMO#i-+2>*KSnv^0-zJT}*(n}=zfL~c=cBRV za7gYQfyX=Px?aWgyB!a`uTum0Z#*hL{GOX^omUe_XZ^_*^gChiOFr30b1wIJ{^Q(- z2&;MATJQ|;!{Au(Bj5z^qafoNcP8Ru@Dp6W8C(yp06zsj3T^=5<=z2U7p@7T`9$%% z;OD>}f}aO}27UpQetKtMZ@AtEeu?|Xk+EL}&j1zfTu|XI2LGMw>%p&qw}6t%*=o-J z9`GAnF9N>>7QwCH+k*ci;riVmIu#!Sw}BhL?}Ivf)GH1x`00)EO zr@4Xj84LcD>w56#;8ox*P~X1l!`lbFIZdOF`}Wh>IpxPuoLzb}PlJ!5H#k2xhSaM3 z4&&ZKyf1bhcoE;Nn&<8h%w5mh1GljhcM0zuG`M?5)5{;rTMp;BQ%%&jo|?hy3did> zBpi$U&IIY{c@{a8JP%ozxO1c>|3egp317+uSgR~(|L;bt4#cs>zUy1 zK%G6(llM4!@&=*3Hz{rXzK%R4*1H~nviQ*Tf_j{wgE`+z-oFVLT1G5}1!{j7TB_iJRo zBY7-w`|NTg^R{H@Sz1qx|IzvZBV; zI%`q+_*U>VkhZS)|JXYhI4i4i|L=`3Fam;th>AGih$x7FsHlishMOWxGAb%212f9V zFf+~!2u8UzGRjMsq*!FAWTaT6R9?t~MTUw=#xd)7jEoA65{-<^>i_+%wVrpsd$Ylr zJ$O!?zw0y4{Pz2<%k!+Yo^`*x$AY(lzWnHXlJ4f!S){bA%TWry)~>s(@PIiNS|Vk^ zaCef^-#b8!t?vYjz~!Ly;Vag!gJU^!ya~L-3jK z{9>^GHORZv>)^BCJK_EA@SG&wX>(HS6La>g8T$Bvn|Xgc_!IEd@Lu!FdRDvhQ*c6f zK0nyc1b@!^y6{{do<9cu7wU!@jrUu@-+;dYX**Nf!R_Gd;12Lj@Q047T zXP-Un&7HolXzge*G4pHYN#g1asuT5j-z7~?!2R32lUu*eoxZ~%+wCY?V7XQO>erh& z!_99QwN=&b7vB{pTvY>q0$YQB20Md)0lR^JrEMq&85^gr0y!U%`Vz>Qf{@4Rt6m7{ z?qz+SUH1%sCyJN&`}N#pv?d(q&z^V3pS|UdKl^7LfA(yq&c-k0C8aRfkLcW! z?9cOgpmc3AI2|kn?*cyp{t%?jP0>$HTmT+IoGt>@4owAX!HdB!ftP?=z{|jYfFA`( zzr^KWIt|i!+Lk_2+l0Oet8cB|1dae##ojH6y;Ipr>$URAuiYf0wIB7b7eO*J;n@SM z1Wy951l7A%zMK`FOTa4L&jqgn?+@?40m|Lu;2hq!|pmUo;Q9iB^j;7#PjBA!c*SRUb(z!1eG^)LFLUgp!9PAsJx*)b9wV|@N%9%0WJft z1AhQASaEv#Nw70%{weTe@J6s2{4_{^Cb1Z#olV>XQl}+o7gOkb;ubKSH@ZW_^s_9M z4_^uSurBs)W$c~u=Dw&d7>Ha)mHRqJ^RO~f(_;6F@(WMp)$NY=K*Bu9)z!;+cV_T+ zLvX9MKzS{*4EIXAyFiugFM&sZUk24m-VI8RSAZJ3(Z;7r!Ij_?@T;KmdKGv*_;oNH z_e+suEb-7-OlS4guh*U6-{N^_6gQ1Ez87Rve#mryB)iN*gsJ@d2B`XW4Oj#|3=RUN zS1RFpJ_B3}jt0LCN@l&E49eZ5;A1>r2GTD<)-q&L-?l$#Ig+iIuFjp?3pd^E-pAAf&~!sxe;FrE%!{3wL+Ohy<(UEYo- zj59(Q6ZtKpJXF{+KgN&B$!1V)e*$V8w8e!r0eO}|>fihEhvdI8glFwqE8dxo{TzSF zmtQ#lY9B{AIppu|efXna=ls0}`uiIEH(2EFJNxkWM)3Fh$luw~y`UpP!jDf9-?rQp z164zdpykk`&}L`{)SAJ35i}GkgQ}qvvGif_6b2IwTWApovg5vL^d8i;6Zh~yCD1}>DYO~d z4)s+<_o4Z>NCA~`Ti@*-vaK{G`3u~4{LTx0emjxl``>bF_RTr_9Y0^4{)Ah@0KY7D z9!FQIX~)y&t64y~T4MDK>s7yv)_OA6Wwq9m&)p76hwO9MmM$7w%Y4Fv`@flV8M}GU zbm@WHMUdQ@eN$v^&YGk0MDetBK>Fy;wDaKp{{%N1Ouo^zb7rsrC5wFc*gC4l>N0IT zxc^tNr+Jg{(f3*>ROGdP+Tvuqb_ZSo9Ix5%`stp$)NJP!FU#L)YG5%8!y@w{>Gz+; z%S9_c9vb6TL%xjU{;t^xbQ3ie>kn%FjJ}ea2OR*aFLDw%93-Ny??I22zJTVr$3ka8 zCC~}bkx@TrKJLB#B_q9+en=LXA%r2Gr-JI6vA4$Y7z$42`E+nPNFOLAKlB4q9|!51 z!&`TQS3uXf(+U+y`8k%VLYO1bqqlzWbOEN+J+M!5cg+VfR~ zS$VAfspp@*(=y(F9u@Az97A3!-<9WW5=Wt{XS=dud0(J{hLIjjBR}i@jq}t+q>2CH z`QJaNaYzam!kuK;tJm(?&dJ|)NN&wOp8w6c`=yNgRm3d&K9%_M)H&76u%`P1dr%_zYAUa!N}5-x_mW?6kK50xom+4Ds62_=&8e!HtE1zV z$8oz_FG@4YZ)QGOyr+fE`vVd%nB~O#!0Y1mmaatg`Ldlj>wXuxH#b)1J{!e5v&>q) zrR~#ukS$H(cC)K$DkO^RlqPXItSaa8t~Yk5b%xzl<@3s?%&f1fYb)5!>H6mP|6BR6bm#1+GuL}?|CtvpSZnEi zUhTZfNxq_%oYRqUJ0$n!MsiA@SicGSmOI_k_UUwQy8OBIW>Jv;keK|;=N6oj3VOp% z%^-dg%Vq9#+7bA4i1GOfe8w4{(#p!&fl<@Sey{RJ2AbP9vjRR-QXxJn|5)V1 z!}b~XU!k~;v7g=%Oo($suRy_VXhgV;tD>Ynu(StM_k3ab_cNYI!-Y5RK?Bnsz zWp8~Q)qlC{t*@hcE|&@+*rr_W%gyHUoF+Kl8)lw_CWd{{AXRL;O!fN zj=BCcTaO!ESIEh#g@DfZdl|RpPHC(FZrw*3D;sm!D~+2TkKDSlBg8{`V1{+Af@eP& zk4M=2j{~Loc>FvH$&b0SczkXz@o1@>yF$emFVpuE=&6h1a@x@lFXv8VT#rBbF?W(v zWp>G4myKs;brSakt7&QTHPWHyr$Rco zvmp~IxG=1WJA~`~4Vd}03&wM5XV2@KX_i{^EI8SCI$gh@#>LZaQdr>gpc;9L@h`vT z-qPr{edK}iD3^Ua57PFTd62KJS>I>r!9Jq%B}6c+?H0V25#MyVo<{tp<45kzjm7cv z?-R#d_7+F!VJ`c4-I>c?b*IYd66BhOT$l3v%8gz>tgoB)$6m_3#@o5;lWB+e1nc9$ z{eOV8yJT_D&oSkV7tN|-*ictKv(n4C3>kH|i~N{7rJp?C9;F|98Djn{edG4w9IR9M ze09Lip)Km-MAzQ^$UI1(DT{~G`O#df+gLw$W+OKe`nXId9;Nt|KXWTtrAkYqxMcQ& zl~=k`NO!+1$KCCLhowQ2Z8E{E_2B-q z_oQHD;GGEiK4*@*iqgqgihNrk`7w7&6UmyZzcP^bvRB|~`^s?S z1p2wX$i4-+H!*mYdvjy;`<*e_-3>*!kzTdK{YL0Gp1&NzwfMyS%*5WxPW-*K6~jpb zm7TbqOM2< zk1E(;={2Dt;x2o|zcqduA^9iZ+^>V= z-rRgpGFpBwJHiVWm+=u~d@V!93z&i9OnSKAbQdyK;7@+c-3KM7rRA_Ay`1sl5J45c>$UL8LB)9qdpyW2) zEz?E`Ogz26i`;!^2wl4r>nBYrpXAba4KfztPkzkZ2PLP?Gd>#RjJH9LBIiPrlW*Cg zwoPoKGwVZ3i{hRxDQE-I<}rAD%Xnm*qHh_mC4pC{G#x|sz7{-Uys}QaH?8lH87~_% zgikQCR-ZOcz-vP`ujoX2esO!7;Hx3Oj?KRCz)pOphu>#2{7@frBv=TJ0_ldb^TvM* zaSYgx=ds{ma2)9O=xDF5&Uos4r@m{`)9pJD&ux%j2Tn%o$V%6jA(?XtLo%EPGW1N8 zf>NjR!D3K*ko$n>v)iM55vV$kwZGKVV1F_AQJzsT-Q|(G8Y~AX-ugC!J2$OxzQFU9 zJl_q@0>28*26g7a@3+=DVxRf#NtO1ABI0#Cu9)9t?@=Lkg^7CJ`--qVyP4Xv&%*ZI zcSbq=nr|{%J3axwt%K4cmy0W%nbc{#p9hlW`c|LYcSI$b`V7z4f@FVUA$TA72~d0P zt_S;qH-IOCi@-C$Pl0EHp9Uv_4C&mNZMxy9kMc~{CN&czJyLZbVW;MTOTZhz+rUqQ zq)+O0@D6YpxD4dnVd5_E9#Cm`ANVDnzYQ)29}Dj}=a(Q|Q*VND&sipi+UI`{&s|A_ zd%+@*IHisSN&ggQ8{8Rq#>txRacAMa1=1%=d>dQ`eiwWSd<=XZd>kyKH(E&Accj+q z#1|8EA3{g=Wp`xvRwwea3wqdvojXm(lY;xfXmM{+UGrsQScj6PYdvZ;`^AP4@@crc z3F;TzKN$G;0VPYnAcxMNr}v5b_1>gg`&D>E!|mPD@27}QNAUZg-*0xg+uKF{hILr> zGV@zT<#N9J<-WJ=_K81(zari}3rh0mz<%H+Q2O;_a0>VWsCHp9_)+jh(0`kB4*Gu> zq;oL(Jq7B@@7~~{P8MzV_G_a_w@!+8cbE2i`hocwVX6F5u2YAAzW`~9+`0ZD@V|Lh zS@BkzLfwL8nc6#P5S z=xySk;1|II*wXfOunp+Xp6lGN&OshVy!35Ak$&r(w9W(RY;grNjo;nKyBQ%L2L~+X zegCMeuP1E3X360^e#;yLX5KAsN^q-mk!b}f z44I+Mtv~0kv#I895q9M%&tsJwV&Xbq68wz^J7G5gl#ZVRjt8m#+?nV?%$YpbM$H1HvsZ!CiHX_Z17HoPy{?k6J+<Ocu09CJ_3x0uT$xGeu&imX2Ud}V; z>QXB}>i(3%S_Q5FSA*-ohrlO6_IIWHc_p3oSLsiHDmQxW4)#Qz{?LhzI?;}HWH#V! z+)-DB^)1eF$RkE+x?Vpp-y`fv;Ck>v@F{RA_yce{xB*l>@ieG>{t;LWJ_FW+>_191 zg3p7hM}7=01YZKBbFYBk1Gj=NfvweoSKUy&uF z$uy9((|1s{Z`#Y!4t?{YJuqQYl>;--jJO*407K2ZL$ALcu**};11$aF8 zTd*IfZ`10$St03MsNLF_4qzemhIC8qluTjbYq(P%P3_n)NOj(ic&G2&YCmib$hXO= zhy40ilA6;Sk|?V820FeIT|O@1yuLI8kRTs(>()(6l^dS1xx=TZ*J*|u1gTBJaRY!*TwIj|; zDf2K2zasqp2;u#l=L^8C;Dz98;8buscro|}cqzCOoCc~aeiVEcoDQ}kQD%S~3v=gL zJA#s*BT(X#q8)SRTaO6u)la>W_ZNV(!B2to@m&A17QBUL z0q22V1I6d-AaP5r0T+M|gC7GQ1s8&kgP#DY7udx=}Yx4|XgyWnl$d*EGQYtmR}KD&YJ-ANqUQQcT_2G-jnvURKL+YP8{K0dQwVS0 z2OZ5jy+7XR{d(;DIvM8`O)GW{aO}hBKa-T8(JBD|D5oZj<0}9$6tb~lYa#&{ayoA&nRBfn&0xQc)kuQ zUcU#=0pA2?f^UJ!qd$Rl;5)4nH{1rk%k$l!!dU_SgXiyn$paYQh4*UT+wlB-uD9N%uF@2yh*#IId(uGG0^j}Evg{65~vOWOr@;GNE$5sSny;}Qk)J-AI|_sgL1F-e+18x=0s5Wr}vfMSf0NCP5`Bk=Yo%b6G4AJSWli5 z2kD;1!+oejj)i?fG2~spuYd^=W@EiuLq=l&@AY5S9dJJ-3A7Z8t>f5Z<%G=9Jgrw#Nor%ZyhatQlfhuo`uUeMpTzI-K(8|CUBKiE>e(vyo62kjw zR(L<#M|ge?K6iNk9m4x%R(QX5;pu*xlU$q%nb}i$nGX3m^>lfOm&+aa)AJv}Zs40> zFYql;?ZVrjYQ#T*(m}PSx(mDnCbzqXE7@7!GK)Nty8MFr42yKOSL!G;DjvpEUO@*qVMbHZ9QD_Ua18PSn zw+I>mO@$hvo1ss zb4Uu)Go=gVq~LGg_Bxk+{-60K$_IC62K(lm|J&R7|0#8qGpls4kM-vGc|VS@*VWdr zSH@orKp#AP7SQenh@ThK_t@X>Okh0x?DK>t?AK*(fM>%d3+~UdCBrwl;36Qs9@qes1FMc+>bn1>vTqa6EoDc1&8bh9=1QA zOqD98s|WX=dc2^>c$8FD){VJ(E*k{s9UpM;I%F!skKCJ^ZebtQvl>zc(+K+XYTf#o zv)_37k&9oNu~i%YG2=WiL^(>@&VW*=A3BcMrV! zkMa-1{HMQnp!Z5w-PgGYCNp`yHN>ws{-m#IzSz&=8<6R(PxZKjX77@Cn7(@!SoczQ#xE{oxw}E#b2*@QDf^oc;=* z6O2#DH+@jBC46oU3Fb$*E;@;K;WH_V&jPHZ)7z12Dt_eN+(@V8lkypf%ighJ!-rme zd3Ehfs+qxg*Bf?5z$)c<{!Zoolldm+FjHi=_p(8kuBe>mlQvdYRfmRPfFc*n-$EV8STOS=iG9^L&i&brSAx0qkO27Z1|CTbE7&*r z@fh-Gs6VsvLzDc~kldRaYa@Of#bnG%>y^mY89#Dw zZayd(t>5-uka2EIMkX2xK4vmbtSzs=PC7jvw;Lh3HG9*A7os%G)M@Ldr0v}|&+<-N zlY6;3FPJVK-2WtU?=-pHemXC=Iy$o;xix!B*C~*tvhW$1E z_E7uoU*7p>_0h`E(T>-vt&#r%lmDW64hxmlDq@mf-+r&dkKCIZlm91~@<-p=lfU=y zSB*c-MO_)fHXTU&+q3*Py$;Ci=b4_i>m`O8@K+9l62e zIj-A3oSM z8Bs5B2_!$}?t_xkbk{91z%QQv%rh3eZgTE_-BtekPAGiy>3`lIbaz^4eBx=$+-Sj@ zO_4oa7_Ho;-=vEtdg??iEw8FKcTFgt!w0BZ$tP|Pgt!e0lN0g&dVwaE~DzGt6ffbpBU}U#MIqm&)Y`@}e*DN>-EagDRJn z|8|bf(-dJ|`C@Z#n}S@YIEnnfZpd|*$ptUhZ@1KlePgu)ewRV=YwlGC zPUPKEs1NUt4&m5Xp1GjVyL9JXT2%L0+J>!i?runn#$m)^qQxPqlbWBliqB@^vZ)9A zY6#rIw02@k6dyP4jmC}E#-{DrCmH3SUz-_1m>Z#ignLPl)z%Q={;aKVy*b=UkMnIW zEX|hr?S&bA=kBE0vLHvInQ1n%v9Z2thP%=)FMTw*2Kp^a8SM+}{snjEDc9)g@`i>m z0h&+wy&{y~O*!N`0=ZV?E0?YDwm>#Zvx+d086O87iEQ`gEnCgJ%6d-QqiZcmvqTXA zVB&p+9>}#SPr3MLclq4v#xe8!H4-h7ZF!LsEkm}WknMq%$!4`=Ub1~O=-R+ud&<@m z*;eN%+n9}X{AM!qsB6Z34lOs1*5eLBTuDnh2U{|ho%J+Uju z6xaD)$nI&9@qrpb-9B?j3eBA!RY2mpFyoUGJgY&_);r;hO?L&MHyq5R=8*JK#cRlhP z&yG&tBkRoG$wESIpV+|K&I!0?4wzP3d8)MXYyRx*(r-*Wtv*4xl0U_tnut$1KKhoz ztSAiSzhA%CPFQb*VVI};B}re;Pj3C1ds>I$ZkM?5i=w@Je%(Cx-od+YtNrnchr;!1 z-^r+R7!UVe7j8f2R(jyqrjsExeEXs>WR#}Ti`DLUwDt`6?*_}>uP5i0oh3}pT#b$7 z@$0}zG{c*?JaXHXowbs^4DxHV$!L97+axGQ&U_!Y(wPn5A>a?eL&2xPGr^6Z&de9G zCtGJ6+9#d?{eH;l*!y);zPrG08I@7-l-Yz|h0Q#$3;P97VQ&T%_KTqO^QT}Yj}7oB zCT;w8kEKU`T{9W2iN^KlRs4(3R#4NHuetEX5r)pop6Sw|n)iO)k$sK)mQfj-t{<4+ z;-?+>yAamvpwdJ6r7(B$Tm-%a9tZvj^x^j;O?vZ2``ERQTIX}U+~`|aOH8_TMY&-a zG_goOFn=cu$^B1IJd#O&PNEgqhvzonNnin=Xji%A%tC59*dA1TIOCLR06F87@@Iz! z5MQ0Aoq!CA`*5%qr0>M*T#EmeuyoX~6(-%fA&;(~Asv*_ncfbd&h)nB+ivnJU6Q?D z<73|^zh&ZjcdTf+vG#gQvJKbPi7E;;pmZk5(ofYP@sonPh!LFpZ5Sctps#n3qfeK$^f zt^K~~>Dc@AlJqy*<7Ipc!+ilKYm&o6E-ub!dq?@Pa zF+-QXfP2OH4p5T^cY;dSyIeT>cB!T7i7vmkVdv*_lWuO8N7t^rtRI-W@u&KYJ1tze zD?sV=Jz#I}UQoKMbIvD&E5Q-qSHW{Z&Lp}sAv*tjG0)QVOF=!)03QIa2Ok7K72e+h z${p>VJ0~q2C}c;a|K_8<_oy@66`wR{9I=;nj>q?JF8#T<5u;*p5Jx)Cp%&pCg+oSfp}=i$=4HFyNL&H2^+4d+HWrF8LgYw7-H zoS(j(+%_@N@l#y={8joqMLe#pT6uo0!A`hs1FB!p4)kXxRF~=OSx*<o5;LC$SD5B+>cZnwj--1_;4+%k-FZhJ>E_&I^x;hvur zt{ zv>DnCmGvYX=w)ap)Q$^FilAXo8MGdH8JbmuOi<@u^dF&h&=#noH|JTPrO;}qMt8wL2c!p%2Z!R|=?3xAoFg$i9!pqQE$z;1nu$XXW;e=@UMFtyq4C zVj=hDra5PTa-HFczq9Xxz27;Wy?tx08*9vp3Vkq#`rQci3~SHv_p>V(*t8P8aKGLi zx1U#DJ-0G)p|MMT-x*b3FZ;}orN7Rl$jtWO|5KgbZt1UOT%Y`It$q<{zZgGqZ*CMf z^}`26an9U(*e9e(+Md3--@7)l{z}#w-3(;<+eLAAq>)?c5)X+Qw{z(et%LcqC~&y!B)#U(zrrk~>aFpNE1U!1;Q>S)~1e5E8;4-lQw(ww`4peHziXWY2E zYl^_jc>k=qEHe8M$pa027chvusyfP=c@H9{A`)Z8u zU7w14NFjrI)J{J7^=|Ax1XN#(*|wB=QT%pyHk}4e=J|B6ZFH}I?hezp$VKYg+V2tJ z_ZZioQUBHFMKa2xc>i?_VRpvNSnwE-{%5K!y}CkXb~KM^eSwMUBw{qatERnK1TBZw zLYtuN(1)h!DWE#s_F%3L-Za-_<^{h0`LnabJZRSUKh>v~TeELY-Jfs$sd^{7{xtcg zg{=28!afF@k^dhiKkN2-tM%&*Al()>UuyQMpJabgGTmO}TR$n?;`P(AP`5L$9hslt zrtgT5wrnuGP;Cshl5aY)Rp3YN&5i0^m6@rLe6DUER6G#Fd)X^Lv+M`Up0e)hUm#}B z97>GmQg}{>r{@1EgIo$z$(jyR=l3dS&JMy_TM)Oesk~+ii))ICtJj-exBEKR(oS{m zbja&h(&-wHZf>efKQN3B+*q5r!IU!ZAh0XQnAFw1yi4`r`4F%THC-EbpNHGG3D$r;^`(i^{;yDJ7Y)InZX2NJFuQy&kW$$O1?RUfPVJ`W_%-5n^ZztwK2{#K%^ z-qyH!C|C!|pUUbPJo`IGx*(tCY&CbR7E1HTrzJY_yFK-7d)gb_-KzNt8O^Kg0!iz{ zsNs4O)?b($hS?&)hD+$WqwE#_4CYpmo({@l_t&UQz}h;op^$4Z`6mE zQQ0>0C~i(M9{$^@u3cD&JUX{8w`Om3Fm-?nPcy}wM~&JAwI|$1nJC4d>Jjs2A6s`r4Dw6x%BJBU-f<)>T#P}mOr2ON!Rz6ukiXrK+?suJ`hW5M+rIjA z`|2mY-@LH%o9oyuGUwY@RG(mP^AGAX$uJ&^%&$nlpGE0ctKpbSzY^T)j#Ifcd(At` zzC$#=XFpwSU0r3x6o%Y$%4OH|zLlRRRsPA3o$;_cpW=P1*Kkw#X2|0!btY)>X74ZqIDFOPeyvUzYfsx!Tf0k{nw#~Y7ucR@b!u(LW9Qh3aH zA&>R@H}E*uc#N9MrAC%wK97r#YassQ$K0t8EpgdL74NINdzRFz|*?vAnXg zHFi(a?-j{leoHzo+i7)7eeKN3h6bOK=>-?XX_ovjDI>q;Ug@P^nDf|cdMeJj?3JGR z#>ezx1@g$K&u->-#OITL&Wz8P`Hg%&vw3IaE$xg~N&^PWXFa(8+u`+vY+jrhlcmyZ zCGt(gpZu6R8^>+lOPa~wEBG6azoYQ?n-IRukEZ>l=MR;RElta5noPiKij}d~iQm!h zWTxfhI(O%Si{Bz-?2AA7F?UwR4odD_C!|Wb?4=X(uWZd_ulic{%8Fd}jIW%%>epQM zLxR1cn#&$Nb@5sUgJK+=OS~qA_*?p?{jmm8KBH1|eX>)s#qBcYb`hwE@NUA*9U(kh z=ZyQQ3ukbxF0p)VY2I#BgfYyYM&=Fj_V<6u%-e9DCDF9HdSFuX2Ubq3ja#b$IOeY& z-2dOhs}&s{+k}iM{K}uXRbDFq_Pg%0e#vETx}^DmT=vqXeA9KT zor?+m_p>BqFgu9r-?HM$@wQ{5@a=AE6ebRHFWPt=43<{l63{~zEzlmv{Y zb7^@a2dC`psAsG?W(cx(Ck**FKT2<q^68?O`?@IU=6W&EZCh5Fn z%kaM!oo|{BX0~%yS9g_SV!rOd{r@9r^Yg5<(bZrL*eX3rk##F1KjzN#kErZZ|8m(& z|MJx@D@!A^FoAi-gZuv`@wnmLtUUH<=rUJv=}!DR;8*_4t>rBlu-CY#Z~ z+edw$h;JEubtjYZ{Fxx5<#`T&3$p9EmgM>RgCw1+gZ&Tw?Qg>4cp&r6W? zX8chHC(NDFNjl0k%zI5Im62TbmQG5?T=v#}sr}1kZ|#@bzg+g#eyRP-WpC}*LgKYJ zD_+)qrTwuVhf~}H<@7XPUA1}RMV%B<=J@L^(*NT3Li(RqUKdaM4airDAEk-8v9#xE z>%FGEc%SsW&IR_OHIJ-GjG6NfMDB@T;`zdL^9-rQImSkK8B z2OC4A?K!K^!uu<&ZFn0w#zTHiAidW^`ldY~GAFt@Xult&3(qI51qVW6}IT?+uxf);bHIMatPRS6 z0bT;m23gxlT@QW~yag-=zX;9*9|Uom`YuSJO>F?L0DlBt3H~0e0{;Nc0X08V3;q+- z`UU&360~(Gu4i}W1KFPxP$0sq(~lpMZY(Lc>OXB)rHc6k zGUywe*Mp~mH-M*si$L~WyEB7Rz)$mB11<*nev`&nDZZDaK6Z-lB_&9|)NSCc;OD_5 zp!R{>2J)Sx#O)y8M@lROSAchb_k(wWUjy#~`3{fHYos=U%fVlRUk0~GWxEb6G{sepx{2BOD@MZ8n!B@eTz+Zwd zgKvO82UULBQ)*dzSXB^>6_5ppBbL@O+vjd&%zPm+3imv zG&(V=gXiI3Z$Q;EzXK`td#c{P-<%I5af;CT^)idENz{2>un+dg;4h4M_9p z_QL!ftmj#BT?0}lxq7Y@NO?=N2GQF@TM+$Av;&_54+LKU+k>xy%$2$CzfrfPdLaWH zwp1}l-zIeuNZXnk1@c*o)D<9gUP^lj{(}2EL5?Z7?+A0mzi5Y;2Ge}p!9lT(1njjX(=7>VO>ZaD(8wS4PZ$>`qp@{+-YtP-`ry7Z$iBK%KaeFOcQ%YRDm9Vkf#9X! zAn+zo=Pw@w2Y{4$cMfwScpA@YJ5C4v`91AN@@1zZWuOx^Wk*`vblkoe$ykOzKlV+p zv$x^hcu3|f!t4YN2TuT{2a!>%g}3XncCz6H712sq{JpJM{z7^_ud|kGnV@OSzOe z5K=nIe3CG`gExXFgP#FauSjps0&n42x_v9S5L^P%4km5_X=f6*gZ~BUyrxexr4>C? zjMwF*pxPUiQ+=ClS+rl;k4e&fUYcB2f6MQ3!jm3<85{_H#f3kWIO-eKhr2NJ-j4}b zzvZ_~yqqfz9eKABzp_*Riu%*->C)zYnPpH31$in|2Q7k@L+hX|&~_+60q+X+hsHzG zp+(SgXdSc#+6lEgk@G~*2xvMqA6f>jfnI@jK|QDphCrpzENC&b0$K-cfp$QxsbG7k zlKs%MI0af0g00PvMa~=-3-xRUVHLj%`ubWrpGwzZ_*o4(Kf&DxC8w>$mq?*8Mee` zhS$~HVQ73WIj##~T<^lrS^2Xv!tnZ&JB%Ac7@rPdFqR=M{@dE|xOg2%h8c;>yNGTH zVcZI;FZwwbhR!C8j^t2(*5^+$%C~rb_BQ;e52d*TRf1mt)nB;-RNwPXunprX-|x|w zs@R2X?ffD!#wd@5(56m>>Y%02YG^aG9qK^ERSb=Qrb5-whvwfu1ym(iJJA@TqrSMA zWBKOLYYf<3ZV$7TxpETM-|CY?gXOL{ZPOSUCbdl}>&1`{J3S5+AL*|Qb5E($nZq+( z?RL$%e#A_#tkIKH#bI1Xx-jw{XLI_}dW z>C#4Q<2p|Dn>vDBlvWAZ4mF3 zZs)w;`E2#^!ujm}$k+OSKQPnj$F_jGr?3)y%)L|J-=DKt6OyI390hYW{#UIG@eB9+ z@(q`Uy4r^F8P$~o{7?Vg5tWbWgdzXt$Ks35srkiZp10p0@##gVsuNW&D?ICW4kaCA zj`ZOEk0L(LT6~5LpL6-;W2@NoQN3W$$t_OTY&oQ}%735tNv8)AB0hhjIfi3-_Xl)W zb6{_RW#C(&@<{d?d1{HKhS zC7(y>bvCjtYFjKkbL-PAeYa9Bx7H3l9U3UX2+G=2s18~Vt%bHg|1PFAf?D0UB?w&{ z6aEqO>32+Qx)=@PBRAm^g~|1!%NrV1|DPV!1uO6;zvfw9kj^Uqtv{i&#WJURaQ~m=-0gx% zq5N}y23x4=nD%XurS$=a;7@+cUA*7#=5C|!ChYOOJoe4+`5pH@v3E8ntgo(DRae$C z0-aaI=3ViR`?WLR?>ASxuW^XAOCOE3OI0=6x>{ZxjeP5UA1t5wtu6+y)2A*J;SN36dXkXKBV7 zY8Y#9*4sSdF5fg!-KMtRm)~Sm{x#214asQispk_xrJ4HA5@G<)hl3}9>gVgd=H3VK zJQzF~Z0q)OjOIx?rMposbiWJTJyvH#eKoJY>AF>_R_t8*JExQuXSncmx0K(@HJx`} zr?~SlxYc}US@=yi&dEIr?83VeuopN6lzd}B!emuga_Sy!-5;tsSl!p!m*?)0d|o$_ zkDrNeqNa zp;^!(XgTyKv>Dm~wZup@&k5sWn;TI*Wrq2Qg3-w2xae%4?w^}f*?96PqZn6eI53Cp z_f<2hs;k^V3TqQO<3Zt=-{!Ol`>LaJ)%n@?g*2%R_#ZeIYUyfgg(^R0SobMVUb}SF zcdOqgU7J(?D9=Bt7x%g0Yk_-fChOg!Gy z9|ad1U&Z?a;5#DJ?eX|hPZg9KU&XhioX;S$+I%iwDjZ*4Q&H^~vs)71M+4t@e5n@; zW*J|_cR%vAbv?cxW+Ifx1F@KFgZ5|IjxP6EVOe4PsimP z*)VEBqwl9m&i?pW4#|(XGdVj%?fIT_hxzEE$+=7oA?8ya-2WlSc?1kyz2k=S4JDN` ztLBtf`}Ev`j1~BkA9H7NcHE1cvR8Py?9q{C^h^9+3rla)z4@UarwGdobBP6CiN^yA zrSo!RFTs6^XR|l?56YB(k2&cq`)E#D{#BLbvR5CX>H3sAey@c1^(HJcOsW(dO@g|7 z8eLu6P?=v{Y`U;JR7#tT0Z3Uc7->AD3;L+#MN?+hawJD-xfQuK;7@+couvhRKz08x znK~dwSiBU`FtzI{W^%ePdpN2vV4pC;ch|Z9U9#tgwoxpCFNv= zHb`RL_Tc_AmM=J%43El5)I<03zK5*U_>&)VXY$g|%b7M!*AqYXvT|VSGddqA!~W99 zFzzlmfCP%gBY(<2HE(HuoCygT z(HlE84{^Kd%9<-1XPsA7Gq+((O@&Xh&IhswAJV?bbA!w_R*m~@WRqD9ZcJw~?8135 z)5Ex3wr(gc;;A#B;|cH0z*Byy<}&2vaK8JbC$A%&YI=TUmTSweM?-#1RG`5y)+jg! z1#$URTB|v4r_3$U-(u=PnXVq(fA**r+!68N-WFqoZ9cp#PB#Z$8cUgB+*R;^@lrja zmJiF8@YzJ!lW8CNkot|@6nrnvCmiNeJ}*J8W%!YMbEAAF`!zR$n#g3M!oUzVgaS%?Bv{ zJ*bPzh<|UMhmwlYTZIW^_{mlF3ZBv?G;xrlJWYn5uPQ4oFt&X2f4&kvJkgZ8L@JZ z@t$fVe4gFKZy06&6=(?V&mz$!yLhR5#QpiU$JgW1Vfh<@jJM$K>fldvy(%{u{#el* zJGZ);k6YJsfpHzyPA-+7xVxFyn_Q-=`L-1{|2vGdlj-BZ{U1SI9{^*;GokG8iWhR+ zr+`(+}XMsx7(Yp#@)nqwGp1Lz;g%U4G(geuEzbCu1Y7Rt8u#-Svt9$ zFdGT8AMTcfFin@^{<3vOX&}EZDyVc<-K}t`XQOmf{`&x@R9#C9 zT9W@!8x-P!nnq>}@%USi!_`YAwR71kl~;NhpKUq#jD^oZymxx0`fox_{b%NOG_ z5yg^;$7dXTdS&rBbx6zjtj)oPF-XCXIG@meZHb;0g@uGrOkLb2z-OHC(VjgDmb?51 z+kALg+AYq(>l}DpYP?*Z%FlY`!^h@(7HdHXbCn1GpS=LJ#%I7xZ91T?IN;!$k*N&# za%=Wh$6yu8#-9Ct=~OQJLA;lL^?7pHqkhg_{hM6&C-c7PZE5DX@ooGTLw?O9_uUk% zO><_?fA4f4Zv7fU?mMhmJ58yL5O!pSatP-ijfbE6&&`9h#Qh1;x|g4?&&^|Y;34ct zE7+eELgV4*+jH}1%;Mqa$aC|U8+ZugJQROF$DR8w?uA_8ps~$$_-n&%Fk6$W=AECn zPHGO!8Ku*7|I^*;pf>n3_>%&C7CZ{P3G55r44wqipG=(!-U_zie74`4cmk;VCUi!2 zNW@cXlYV|W{k>G_km4ZodBR|*>CSPeZd%H7TetqG@BR4iPfq8(pF3vX6Tf97r~Uql z^W*N*a&q6xv%93}jc@LE?hYbc-5;*+_4EaGZ^kVy@031%?l&3D9mmt>o6f(# zA42K#Fwfe9`UrR;_-&9nDDfTe67VswEwiU-e&@jNQb^wi{=DNkA9sGfmd$wlmQlZ3 zvdH{5VW@0v1(lZDK-!_i8{i~x2e<%y6TB9D3*?+n_-1nNgg;AP3?2(z2Vb4{=@#V= zb#ubcx2E@tw&tC9$-GN=O6&JPsv-9s$!Ukx`6e( z*F6JDhwfksJOcbQsCx#`(?k#Oi(pT1IoJzCKipaWH6VAgxcgm>1s~)2IPfV@XZkmS zd|oN_EXc86;$6gfW!*8L^UFHBEYe*R!^7{BNb8}{;n0cDSV;F1C=c|kdn$C7#u@w` z4eD8UY$!~Hb+Xe9?otSItV#C_d$-=xE~MokWGUj^DPVu_R8YF2djw7a&jcC!yR-ij z!QnhhXGVY*fuq1H!O>t9$b6~Wi#!q3m~j$#7dRPQ0hWT4Eq8AJL9mQxbl;uZe;mA! z=XKyE;LpI1g1T>{BRyfA_4es8ihTsbp(B|K84C_|zdI%Bv6r3hIf&bz$n)uuoA$JL zZxi+!(!kH{CZl=b-n`ctQ<(~QOSg4?{{pZIoB_@T71wI84x9sC1J;0_1Z%-hfeoPa zXC8Pvcn$akkiB9~e?AUU@3=Gg_kby$l_ocU)B}k{;FI8u;19u1gFgWmgFgjt2DgH@ zfUki|K+1CB^WZM+TeNCub192a^6rLCT9Gp|c%!Ca+Y# zbmDd;x$lS$ccLZi$jGi^q6m`yU*f`v?_2Tn!0GSd#_RHjk(d5O;t}vza4jg^*8UpR zvESkOT=2V~zu!vV>nY-m?ySgccloS<|} zZIqwiO`l6?#k*oi<|*eVk@&vD!|?0BS-cuYel9i{&Eu-QT_MkyAK_kg+Oyzn@Hwy= z{4uCH`~~o1;EUi5;1=*R;D3Tkz?VSPVLt=E4E`6m68vvaI`}I1F!)PQI=B`55AfIE z^WZk{$KY?lm%!hFDzC4DTfsNL*TLU|v@?l6fbW2R1Y4t1Z-Uavw?OIS+h8~F&)~`6 zZjibq@mH_}{2O>4_#Q}IlK2NW1#H!dG6^04&IH?lluu0trYN88o63z~A&t`g7gAk+FuJX}JYKJN;aU1$3R(H;67v_oN9hC?hQCY1ei!rZ zLZ~n0r~*0^8WK?Lh27gEcaoz&)DJovIuX)4J=;A_UQYi`ZBttI_Jr%7FL(8+`ci)W zH%Te>rVXGvROUFB2DF3VK|G%b9s!;N_5x3K_QjNe;m~BtVsEh6g-snC=4ILA#&4M( z(6sQI^E|GPaR%6q_xg79f#7gZWppGco~i>ngY2VE^#n(QDp%vcVc>XhBzO)u5u60h z0@(+Yx*Gflm;x^ZZvv-+Uk5J%SA&;=-v#yE=pTWXgD-&PpvuQg@QEAPIu$^y@AS0KPQ@u=2hc)d5x2ceUG5h^<$vw+=Za( zwof?wBEstdX)oXrP-mBy$}>N2$$mh7%Nz;OH*n^Y_*MUY5m*S`2zCM&gX%MLPn@f7 zZvhYGc}c6p4FkZXJWJQ^0F`%lf)|0@7w7KJ`Z73!XYP%2eU|$`wbv`b&x5PLyTJ#* zd%y?5Rp3M5)8IEi)pcvYSHXwD--2twzk|wCwYTioO(ls7-=s~o1D^zyhlR9%d*-F` z?L0{Lja>rjS?!VT2)Yc?J!xYg<>4Su`I##pm3KO$?%R*`$l>P=leEU(D4*7b-#U5jxRJX)&R*%E_Hz;B=NZ|@sQ@t235|JVwh_L{xv&HH z8?Y##KS!9m&+xAEj~j=o8~lBn^5^IL za{FV#6TZv|I+VZOE{)}{S2xWS=Jr<*{I$*D&(F!__SYf!>lpd#AMx{ZZ0UZLbW!z& z%ptg!wsdj+j*rHLlGD$Z<@R@2;Md*Zk;Lyf$4~j==eLs4yjZ+0JAtnEA-L%Wo&=)D zPDkh~x_-XOMjP%lYeQXYgtKVhvHB@8ox#?0poc&cp@q;=XdSc#dJpQ#Kx-IO1}%h^ zLaU(l&=zP1)b7+|q6iuWl|gmTVrV(E7TO4Hg)~U(4h?}OLbIS0v>aLsZHBf(8aQ`{ z214VZ3TPp;3|a$ihPFexG_E@|3@U>fp_`#q(0b?J)tff&S`i|ucFN2=CNuA@3Ulyz>?5U*LN_*jeq?h9SoNG4+TntSjEDB- zUdWP&zxt_J^VQkBhJ~z)^O_H@$Kt%k)XZc%1S{yxn;XyOwJPxHXpsWxR}}ovcxmtN ze&W?t6%8gHuWRA;qVZB1PHALQbGbg0*rGIa4J^Fk@uHtp@T&1ryjsXhZKT>1uV?A= z73x2!zLdFxxm?xz%)_|88gp3GXX=mjranubweWgG`F6g%-l`pwp~n@$5oh(c)-lDHY#RA{b1fx9W_f2i^8|rrHAt&FK5!p%wxv7!{_Lqw&xw=GuH>d9URN^Qcz=Q zjnl3NHBMU%YMk~GsQ#AbA37%1Fg7>`d;}~39|B8pk?wnac8Gg)d>5nFYySszTlr<} z|4uIk&uMc$(@?*2{c7HECQ>$*&#U+?w`L!|$7ghHbk>*rOP}$Ly&o{HvWDvhXHtU~ zIlVYMTCb&w8h+*FmsizPHBPLZSzbNR<#9e|ZlyQbXKrmhdupgcLUW2scTax7p@)V3 zj@r>Y*65XH(n;G3vLWyZ%J2BlpD#Gf_)wva;hSBR_2pXDZk8?^uM5K&KIV9wQCn$- zdH;gG#w*8J>P-q{a7b!cw2X>s~U_*?6CU zcFc|MyMl~^v}VNE@iO`hM`rXHe10djPz)()YQw6}i#u9){e&!URVwTtGKxdp=S z8}%=In&)2sKE}E28I2`yBRp-RjG`P1GA(q1{mDv$zKe zDuJd!%b+#T1}JV+{;fQ`94x*Xb8s>Bf2$`#dDzSSPjYW=tge3~D$A~}-{Y)JmVI>A zM&+hSDsOAOy(?b^SQ;h8dHQeO}orIc3COXl{L)H0?g8{vkmX)+>~cT~LSN^pBxZs2cjeYU1U8M~Gy+ z?HJiMQ84?W(En3=7(SR~eSnqtk$ZE~oO9msv)udo25^(h5^_-2Cln_c;ojQ*vXG_m zxQ-&O_3^k~SYAE1vU%;X(o6DM8~AA8qd9&vqj9sq_~g+B8V}QTpZ2-i8QKNfFTa1N z7y*3za=Y#C-1=`MjmNE*F}+_&>8UnXhB?NR=8XqAKkge^DW(0%Jhx#M((j4!`)hXb zUUkLpQT)TGoGqeEEr-@Zo1ksbZsoUCl@9qZldK?k6YsbE03A}>w*l08jq3J7*8BAB3mMa=Srgo&p95jD zM}KYj_|P;f1(g5R|63fAk1`#ZHuSHqSsMC(WwmyMBN_vi;79JwO}zfkzL#TP_jNdZSwr8(G`MmNeGwZAB8q3^COogreO4A8Q{nTFvSroRiBks3+M#K2p zx$gL6G&hxHuY=F-_6Mc4?+?6>e!#@;w6#34dD(VS9E{bK`dvtR&G}%80#jkakoOZ8H zT^lc4e7&kYa{j>N4E2F&Z&~d*S-I}#veqK=Fv3ze=GSy4F85rY$b9<5r*cc>=i9K( zsBdJ3_2z;Xn<0O5+TiT;Tcr*hM*Ek{u+ClZi)QdwzV9L)jfACe%Oy4S2`L=&tNKbIu85U4&MdpDj`TiX*{zRobC5k==J@7h!BHlAtdEe7ZW^Cm zfls^*q>?Y_zn}R`D^#jvuBEbfqhRQM=CdL2Imokf|JfT-P_m!-^w&lrOq@?w_?*9= z`7F)B=TP`e-_LyB%fY7`d}{VHp9)Q|W~Cc@aS9ghXFi*9@L{h{!Dsg~pCO^(Fn=AH z!{M`RKl520_{8h7BjEF`{lv%mK>C)v%n%Rm|B>){#`yU2wBatR((3Y=&D-~2ZKLti z_seDC>DL2(f8WpitiIb8_{GcZQSj?_XVk}wI^Qj+S0@GraXvlaQ@o$~tPKph_+)hd zkA~0S{miFFXo!xD@hO7OnElMhzAYcBamTF}e6HHhe0GHR#QF4wPs4uZvsnXC%w1uu zso%%IXJHOL>TB#ouI2cVdvjxBqvEKqk+}vUdxlh+yWeA6Hi-AuS4rEuJEb&)uhMz) zeETYP@8zPvwM>xL}J)jM|I!tNk*KM4`cvB+Gt51HjGpE|+nx|N4`M#lwyf5ubP8Cq5gA%WC|}pSiWM z;L2EhuA;(-RE+t*ZXr%_Hw`oVd)0jz@2~OYrZs$4LA|l>&PGP1iPBDUSaJ8_<)+_a z^NcM?o6>GDz{JZ=f6``TkRg%&{%56?o~H53tjjDf*5}}NBK*$zfcOnOY|r=&fZvo4 zh~J99FFt>B68xs^XMWb6bq}5FwmzEf|3LUvcF_0is%!=(Py4qU!om+*Fi&Z|6GvM>cqHz@z6Ch@wJzx)lr#gWos?d!`_d0op=gq z)#gi~k7zqxgJL(0SEimtym}}l-8TpP5B{GDuY>l&OFCA8eEsn^7Psck^5p)# zwzNc7s>9-1ydF3ce)oJp{Dv0!d^|Osoe91PUhu#^_(?bGkh3*@<=TimTmq_!xfDDW)V`6E zz{_|(h#J(NQC6>8{?liM{JMJXGdhj<)meVYq4B+67faano2`3Mjskl_I-{*K z+j=g>UC$^^!wAQ(Kj+@V^F?@Q>K+wv=Tg7yc%Dce=zR1@m!9*n_v^$-w`RpNP7+(dId$duh0U&j)+iUuD@GPDm07rnULEXXSdFgzzzgxiHJJ5w^e?NfI z*01-b&z!a5o#p4Z2uJzyhzoBd{zgRmOZ^&c`o1!?4c#G`N1gk#Bc1VUqRFToiu3p$ zZk6Z%;rx6A9;ZhB{F-FaCeNr-)3R;Ay>#el=kEgirT3EiwLs2zVJ{Q+_Z;puEPLMh ztH(_X4yFDSx ztzV}}M(Yppbl?a!@?IL{n_p{5=Xc!g@R(bbS-)Pwd24>lXwE_9Kt}gp^#R$_mFf$Q zb$+j=9O;fYzlT&|_%)EUZ1FJ8#gCS_baz%qP-__c}L zZn-Zf!>wOm$bF`8j&plKlx}{FAQ^U<`~JR_nQNTeiIH1B&z~eMyosmr_0Fxozd&*G zbM?91>b@)83#0a=h(P>YI_-i2#Heg?+|HRhaI3Vv6BJ+ExO-o|1j^l)!5VM{sQUh1 zkUC#?f4RFq?gt;{nX}2MAAsBml-dHW27d#71AGTu1Ga^yyK@R$%k%Nzcfd11_AsZ& z*Tm!CG;keAS|*+Z8^DcVTQt?{$71W`=d3=zW#T&bJp4;}r+c2x2Y=<{=}w!aJLLTL+vLyBp(k}mf-~_xgzkP) zUB4ad4C;=jqd?v9bTs%D*p`w~NE@kk)5q2K3+7|*=f9I~E}X}VcI+MeO5VSK;`vvw z1Nb*kb@+SWk>CNG9XtkPub}I{uu%`5+37kO{`x+h%9C%$q;r1$JGahtcHxvoy1d~o zU&rRs<)fTiub&Fn&pYQ1x36s#Lolg{?_sk?zd4Kb;ptJ&}o}E)A>`{`T17v zuj99j^1=E5aQb=;uFk$8nkq=iDgm{M==3w^up0r$ui4ykl;+bF;$rbB4M56Dj9* zd=zd4oh!AGZCy+<>n)vAZ5!@xRowg>UG8t&E_ZIz?Vg`s%k5V82({(@CDmKXYd_zW zJFmYR^7;wqM|thjM0xG!mAJ!$-!k#M);&FnlkVwJ`~L#SGVz^{79;1v~>( zUXKNJUysk{apdzb@>utaPNeLA0$b&EQ6#sY*GcC|yl?a?!jU|$x$yc$eO<}z=U$R- z9!6ot<=*Ms`@3=^x9-Z3+{Z}f8(x%->!GfNe~o5cqFoC$AV4wa{VejpjmF~rk`y$G(ZVhtaEIz#FGNyq${ zJhyDDUEzK}q`Q7Rolbw6kEox@93^gjS(ASF@ooC83kWWtMhJ$^v9}Nx$kt-z`&I6@; zlR>pD%F{N~HElQntjH+6lFzgV-M`fo4Iv+;ADR2HFU1g?2-oxp=cLGy<9m)j^A) z70{#5W@tCmnU3ZVXd+Y%ErM1;>!4SlT~OC?@PsBp70@DRIkXPi0_}o2jK>XB0#!f@ zp_R}&=oM%e)O7-GpovfgvA%%~m8t*7-uuAiS(X3eJT}-YV9f8BcR&G~y>=ihambMAAW$DKi%VuKOSu>|kmo%mjRPAY9ol=m|7QtZI%Jtktj ztoSaD|N9UB_Z~R9T73GFvQ_pvYQ2{x{C&nHtJd6DysG5G_#Iix8Y@|Z?fq>>LAm|J zY>6dyXNyk`?O*bDd63lGcigA%UJ=*yg_YkP!w>o%;|CLcc_;uUA^FY4Ey;A z_nWD!#wt>HI{f$dY>Bm!ltPGY7bfQ-ltGRhgriZ?@uyCu(Na0on3y=PQ zaMQ2u-9|V)&Xy~k)s5dDzte%21S_m-d40m{l|LNko{QnNAN9s}M0?kpH+e@sHV1Lf zF4WtNr)pfxD_*T5+xzvt!tpWtv<$>C6t>%D-^{kyb3W{h)jRsr##o@)CEH)i1|A8V z2TTOc2Xf6Y6>|xjd)fW*C&2!2zte0N`(yb2Kg-wbzdehPegZHbXzyQPwUFQO$jk1v z|DnLAEaY9Q^IheY5?xKAR4_)05ZA%(e=I z+R$I-O~}`D-lu^k?|mL0yStTZtljXlI>9$e-ZKsVJ^-En1n5Q3o1phVldfTSjB(cZ)g#S3+NyL0r{oKC)Mn^BlH=q{9bcCh93+XJ4i|4li|L*P=|95)s z8*u+UGD}ykgHq!CZ2!(K_|y6BnSq>PTQk3;_~zAX*5ebT_0Sn%|GjOHKg@pP9QUZL zF3*FyL8m>@m(IuM^d)QYOS)#rf-5juBG@o1AU;wYo!i)LmhH2Bkj=t6+k33vy5~-` zWt?kEySL5PmizN=#`*+p5x*hCI?{Xm{pK#jNpQTz@QwT4JeF$go$Cq%tO1Xyd-1S7 zxfSwELwt+t!p;9>_~Q&WX6a}{rE_x$tS94L*2~q!t&IC_b7?!A-0mH8lnoF(SYL#m zPeAUaPVRXtgUfGS97OM0SG;;TR369G)sXWgkfn2R-TVQ%RjhhA}GeC9tO<5QB+)}`*Lg^bTQ z8BLEaC|>VfFM;{&SjL{Kk5w_`P~aE=?*XqLI9?j#>vPH~ilMt~96SyA&P6&)& zV{bnAt+e2})z;*AFTM}o9%GD{zMK;^54UrdU~aYo^RQslYV4z|#tb|N*XpQZ_+NmK z8}J`zj2zFj1Gp>Fd;GF}2D1Iw$)*lJmh!v)KFcP*c>Fx>1CNh4tKZ;U$a4IcbMfkO zj4Zr=+Q+ibMBF);JqPji_j0e?D^OZ1`T9_aGZ4qh>tuOQvYcX!^wdF?&pKIh*XQ8} z&P$w`9ZR`G{n#e^c!C7)-}}Mq8OIBnIk!BBsWiv(F1X)L~r<8+?i)~)t_Nqy|& z+4W0I#=Yk(g7@!dA>Rp)s$KYf)}mqzfpY!Qw&|j|kntsurE_u3{|@-Q2s#1&>5noG zCqLFcq2^!fWk~t=-L^!wf15RU%Y0?nj4~`1f4l$CH>^BeIu7MthIE$3#dB-m?}p^` z>~zNTS$Gi7t%3In58Z)g<)4Fm?RUMeMEq;T-`W3gI3%1nI3>l)}MQQb!WEKpQe1xt)7iIkh*g^ z<-oKwi-NihnF`2u1J-)T_s?KD51@c{uG#1~*G5-nhv)=$WTOF^oZY=tB z$-$7_wfhrCQ0UtT-oKxR>@%F~i-V>3WlNJi+ibVVX}>jo2hv#@7tgi(w$bfAYQM_b zeXnq@UDM%jV+!C4$63gVb*9C&TPwDadEPg>CU&9M_JWJ{jHm$Lh}H_lMcob_KUSx^H7U zviz?}{v##3!4}AW%;V~x*jIJqdf)hr*6XgGHh3*K`t0l%z$ex5SrX=BZE3$TZog@M z66A4lTs?hIf8RIxBGh&tbzV(5~_4UAH zviNj}6UHcbm4$h&t@OIUQfof1AK1ac6-Z}kT)YF-cdov-`TB+5jy(;Y%fQp@*v}-J z>r4JLW7Bh^>&A^=Y{PnwhOzheL#Ug7hU=yR>ew3}V`&37hkaOlY}~tNEBH+My0e$- zmzw%6SdCxW=JtZu4)#6YT9Bo4aoxC^@2kh#(#Jl}c71Z88DTugH}o_@#NlMHJpNUmd3@ieqtF+49RzJ_LAJ0@FyfEOit+eGUUA7$*H@<$I@P|UrezV z6nOkRz5*Vf@bSSa6}+BwyrieISFJiAJ}-!mzf4~PpKW12HlH&# zW8&lL&c0!@$L8Jcc?5iZ5av_7!W$dbT$;N?)3tNt{_kiq;vG)flyZWi2D23x=R<6|DNzIK3 zZL8Anzjoc4wOBV*>MCR}Z|m2Q;=tR>!?wmog?sxJ?rT}=^V8yOJINm>xB)xa*lu4W zepi*0uXH>QWPRxR$YeX5h9{HY{rf2T$eLE){00l1_1LRksf#hJJ$9ol-oT4eOXuRc z@v`k-^pOuC{$Amsb(W<^urJ)+8HCt+c6Jtcz79fnh}tL_UEc}ki*+|<0+!c-)X|mt zJ%z2RBkKe1c?@;*h^wQ}?Ybiz=Ui6Un+W?w1w%F5SnS<3l4Zs5lt8M~b36`N zzP>-Q*fdEU$_~?5dp?XZ&O+XnuglBLUtS2cr}sYJtJ8fe!|1inYL#JvO&sxPtJwRy z1!egD`^pgd{Sfy%A*bhBJ(SrVt&s7pgCnE8WgoMQ>ojKOp7{Q@eiAaivoA7+4=DWWk#hj^aVO_4$?2ct zeG_v2?O@93?S+hO?A)gM++>nd`OkwYr}hTGYAj>O)#;q+@9&>&kahf%ve6;? z6G30@YunFTv$hi33S*Je)#)zD>2LdQLC#4BQ%)Q4^VVRkKejsku-gBD6xOM4Y8>@# z$a>7dmNj?1&9bjpy{d9db?f@T+>_tmU!R7&i3d|&YWy+D>DFG4OHP?jPv~~Yne61` zJ3#%a#@O1>{Z`$KQ&=bdHTg5(HP`WqFfP3L!|7CXW9jRT_rv1t@9Wd(1|JHxYKQuKPQy&YJKb7S_g5dr8UGT5m z2mYFNjfwwa>5j+6->*BK1OL1KEq`yivi{#@@X^e8X_IOHi_}ilsa@_lG<&eTTK>o8&V?Fri!QTV_FYY6MdwDpPb_kU}0{`d1 z|11BNe`xx8K>TOVWcmH|{{r|w_HX%zrlw=!f4RoP)8g-+KX-xuGyjTzcwU0ju-?>T zOftB!FgJ~L;Md3BhYZi}qYS=j#hB!9>+_c-hks1|0CN0rKjg?=zoZhc7uKy=?HwZ? zlRR$k;=0pWFIwVwju#=%OZy>@Nwav(8e6U&kSx0-3%2k=&vwW%_&!-i@1tCVmrvLN z^LA3a<2O7~F(z4De;GH6B78C=NmSGiA?!Pm#--=xv6BiKDr%Co!uz; zUXCE&tB~(=W0Y?RPCG4M$#1^KBA4r5E6#a;z5N_=Jup_eP8|NxA@y0TT|h6y!TwCbcMip_*@IL_eIwM@j5VS8Sq44G0>)Z%Yjz? zL147^?dVzfM(`xiaX2b|5-0`VSDq5$KL>I7ol_w6t(47=G#&B288vxsQU13A$4A8@ zj|W0|EI>HFK?>jhG!A~2w>_APAWc+M1<>AS0rE9t81Qp78w^_D=pjkUdX%Jfou8fQQ5VZQzl>r-74! z&jRheY6sAyc@Ahx+fLvG!0!R`fmR0eA>BJ?cQjd>PDZ^YfKEmkjsczzJRQWI^+P!EJrY`iiylBDn1}y4?kr0$dEVZM3Dpbl_D$^0rZ8_tO*Y4od4&v5=GZ zPaYMjQ+{g^@V>jSH2ylh4*A)B#Pz^Qz-2&_s~Bi~+~l%8Zf>jN<-j!H3gCtEH(g@! zZUC0R|7PH=z_mc!eFk|?f?Vf0Zd1 z5H$@t*q%vVo0|@v0=eQLo0DM12)# zbru_yAH}gVb+7s}`(=9RD$tRLH^o&4*W52Jgjdlv~yTz&?Zs8n+}-{GCS$~k4GKY{SfBw^vYHEn`71b zD9`f;P*Z#Y0QLx+A@+El>WypbUp#LgzJn?nel`~Ec@1%`AN~Sp_4P|&0`ONr(-^-6 zQf|A`_BhazP+M4^;#qmzLxjKWu|3mm_6MG~kk<0Hx|;y}1Kbuq2s9mL_W{~C!x=QM z&WC_j=kEgNSvb<=0C&T^5cn6M*~z~GuK^AKZv@(%e`|o)(C}onKV#8*?5^5a&t?__ z?cTy^76i1qHa%_SvAc6G4V4LcRp;abp>y^&KIU5msBI@I>F5XLj=;d_t|fuEJ#p0!A4?O5iepD`*O&z(n3SE+O#_R@vt112ZWkw=~r ze-!aeAAJmH`l#AVZ~9^yWDnn)%(LME`0)tYx(A2#;yfUIVRY+NV9{fUs=(@{{K zX~sQwCNLh$cZyX2o+prx^_5njjnQuct;irs z_0bc}u4Y(cnIPfLl6Tog@E70z_d>Z&Numkv0;Pb$r0e=Xz`!0Kcy}+LV zUj@Dfd=21_%0CF?nUhe76ONX#lXJ+F=zJfy<80(fqMh+@4$_~ ze*iHzjCv1ClGTqyWDr<*MI?FGw?&eZvn>vp94k%e*laD{sf47nKoih zV84mJ5p#j4LxH~onhx9roCr7UbyOS>_BrZsAnbG0B;a)PgQI}3HBpm+)Csm%VRqwU z=$qrQwwMgGwTRt~pCURAI0bYRXd31cM+2wJeG1Ux{i`^62tQNtP6S5EXQsj}9}7Qk zFZWq{xzF9peKy<|fGnR3(3PMwAuF}n5ng_FzrW@E5Xw9yG*)bU@@#h?bUxfaRxxHa z+7QBT%5IDYT3sI{x6MKD+pOMP)xyobS-8z5>>g3$bAoL0ByWB*6BhV*gkp{Y{r)b{ zB;*3aWoc+Sf6$l<*=KkwOIy6}D*&jp9?G_`tR4P*ZSajo9)+a)M>_#QUXw>+yG=HX9w zffpb8%ERMA?PB@z{A@U#U$%LOABVN6)uHit3kt^W3Xa9!_V{_sM_iN5(9%ptpLOYY zwlvJcpDxdn3F~2=D-+LNhWYu+bd?vM^9tj^vyYL> zbRFVanTotLCy%N(o<$7H=I2q2_;IiouJ7?IV8E*{WH+ks-Q>mPefTCj&*4Ru{Z>zo z6TEzF?!&Wi;or>guW!~Nu9>3sK=ZHg_+XzBXm)4=kaIb^m(JD&wjP)pYBQdF3(q6` zZT2zc1qNO}w7%%tn&;NS_2N&5JGQ(w`-GQnber+aS$H1dug`nD_-BObljp-C$Hg5n zkcoS1*1kN;6?q=D8F6j?Rqv%q8`Zu%gB7{Wwjh2S<^`^Oc}^;FTzq#Mifi)lEK_88 zz9M-Z_T&loH%rGeNa23ruUCANhBABKWC2HyZ=M|rr}Nho_ZZkS3H&H?Y|KXJ-+Zj+awxs{bQ2v!y~ufp@{3+&vY)| zS4WoN@V#W<`{c;=aFi#*tdP8X&l@@J6fbVLE%^R5a@?f7;__W+cv0Br_60eTViI%qd&LS7(h8fY%)YEU`oUeF_;ZJ^gd zyFrt%Nk0QL7j!jfE$D90R?yR+*Ff)pCR~C1KyyG#LFJ%(K@WqT1-%a14Vr{asu`g9 zpzA;zK=*+j2fYA#1N1l0q`WzDhJ&QdIYo$^g3uaXwqWD1I-6r2f72a8T16` zMbPV@-Jpp}@Xii2A9NjP1L!`` zRSaGmM)O*VEAYHu8{MCC9gf#|D%ax?c-;tI_l)K>&n_!pqLWGo!f&b!s=sW@!SBJ* z{H|JAQXX8t78mWHp2xz^ee?1_1b*0Cjrsa$eoIPjUhSPKT3tSh^_X~Hpt{BWjrZ6Z z$UQ;u-Zq*yeg<@YaQUj@b?$cr4y3$yi>K{rxCeX4F|Ul~i6dUigX`DhR1oe`^X?Mh z5wtOt*Nu_g;_Yu+>|4jYHJW$Ms^Ec-k!7X;@c7G#z44flgUHK`k%_jb#bfU_-BSWy z6HBCDIQFy4%h#3MSW#|W7PDmh1~O!P4P@zD+~aj$z(+#otMNYHmk`(>MW@>|MnorhSA?rLRs~wV@zh-%bb(c`D z8Jj+M7d&iVjW!{??)0zMX5ux4t!>YU;`$ToILzIT!J21klz$FSogewV@NA@UdmGb{ z7j<^zxS3wu?9d#ZIyZ7$ydOutIia}JmyzSn^Wx46#ig!`9Cv{i_wrC&>L$!}AiF(g z9;SGI@wbD+ zJlJOgQPaE}M(42}X>2`?X@R$odmAtoy^QY!v!iw+YyxPK6emE!|d-#dYBa`nwPQ--5778M4OyYfRL^`aK`h zUACu0dBgi_HnlMwW6!D5U3kw2ot5P2E7z}nV=w6OSedUzo3Hv`-0ogM@Q=0QnQH$x z_&r)3xw}Q83#pUI!9B~&{;C*2lXHJ?{W=O|7cx+@;&Ryr*Fn{=a;NsyJmecE>%9A ze+Ca&CWsPxtc=zdZNHKA7VzrOB3R#oZuA~|XJ&83{(`;;TN?FOpzS~Y4LA?D2Y3b0 z;@Nqdf5L5NLCg(+ZnbkQ_8#2c6}b0n+*LLH*5_IF$a`)sAJ_lgUehF`y9<5)LC{m6 zH~t?O2Po42FCQEKd+UE^zpX+NF=0FFt=@~$qYor1v17R07+WG_UvSAnOT<9qvo6{zYvJtD0&>kDdf5W(#xYDm}yrBQ9 z{;~FV>xkDRs=Z@z&qerNChtMDzpWz{2X6}E_Uq-r#liJ!R^1j{$2FSevl;0vt&6`u z{o!!mZz|K0Zg%ZzR{=z5*ZtW)v3_E5yScCM;GVuPB<85U=$h=*Buh5>6zuXJK`_P6+x_;rBHETmf zKA?7fU3~pz#(AQcc*obu9IEGo$9Jg;>Mt+OFU8Dse65}HO1!PyJap>dx`R{Rm&DLt z-YdZOEXUW%dl30L-7(iDAba)eMc{k6<7?%;ykgZV?>4RjE34!Alz95fnh%}@j;EFN zAn|nlcxLST%ZYPlF>4)9E9d;+O~v>foV|*AK>he(@%5J#=h|X!cYLj^{{g;J4}E`m zmxAy8j<1!M*9v>P>3AIxYTU8tDp${&#n)fn0`T49_*!}Y1AHgifowefaeF2BKIQmY zc`?s(7deLti!=vP-n+!tUtXL;jQNh^YvnzNeBHaBcf{8}2frG8Uv+#{UN^5DOBvmG zU15h}@%VWag4a8H@xm`tE-w#H_s3MPj^}IQDOKU|zXm)H{gUjC>h)mobagu47IJv} zedt>7Jks%0otA6QaV&M}cs(Ir{_^2WYD}Wz<;r&eyxe+yvK@rPQ$X=r<4 zfw8xN>-UdHW`Et>2${d;WXA6@I=04dEbZWUO|}mX@c7$%Ie0zsAK>ME+yGw3cpUl9 z3h?^we}LE9Dwn?wgW%PB5P3O0{P2-1i{HNCTzkx~BJlEcGjE)~13A|sy`^>W|I_`< zjrEB-sNiq=n<4jzlRKnX#@5FipK|f>x5Y~E8NXFJo^|A@540x3n(4`M&}G74V-9|BIE+(bAVK zzB(*HxW)e);x9vd>l&9TzP<0VZBu{z1#PPmamH$c-$mLvAny4FLUT#mE}I3iX94!i zZ9bF>GM~2TJ*p`sxZO;`*V|gx89*coCZ(ZW$W%pTJ zgS@6=jyEB6{(*aqk-t?a^3w6_g7M~lVPxLLh->=6+LT-k92YykSy2-i<)x{bgV*+M2xW zet~eEa~~-(Z_Is1@#fx7WZuvt9&e0MkM|QmfA$ynhX}`w}AcbM8Mx=DiE) z;`9y70_4LzgUG!9fVjr{ZJ_b~BhYyN2^fn}Pu_NK6U%M-kb41whzR z-vn{p9l7p~@#2T?z~j0(GLI?ZVHk%ufG0%po7_jhmuukgU1$^G_aMlg6A<6Fp_9FI z_UcbExgaeB zE(Y0Ix$8lTK$n8f1!Z{ejcsfooz}}Zn+CT%w%(Wqe|s{JugQB3(8`esv~zgp0Z#?u zoV#~-NEYxSxGw-+4!jU}4R9{-CSW#j9q=OHM}hNz_WHu}vx^qU+|KBy3M zg~;5Ofbu|>f$ZLq>4%ZO`r@i6d6V3U{D%5LSp(96TxforyK zIsEPS1kzahwR&mK4b_#U8^6`&ykR;0>Ar*b)_%`=>1Kw~SvyTqIveBmj02f2v}YUQ zo6O$>n#|7wO%K1|<&!Ph!(-Ok;k2!k!{oHbU$-xM=~!R)A?)0(j62&R;yDy_m-iR$ z0YO~j{S)Bfz#iZvpq;-mS$+n$$f&hK-)lXgT~#0@5ew3 zL3e;QgPsMw0(uWL8G~*PXesCp&}PunpqD|rK@%|;XM+}k%0c&no(8=PdJi?%l!X=fBfw~ zRaG?2S1#O56!SwY#=IbVPjXT5`rz5Kb5<{3{q07-+P}2 z^Skk(SLE|vzO!1kpRxaEsAArChRThNdsR37cSyLeDdzY7y0Poo@r&@fhJ3&FyR4o~ zX2IH_aMTM<7e-Y4gx>7r;cyFyvJWY+(Q*J0mduT_W2cS%7eH)eBJ(ydsjBc z3-?)hkIj$VgS)O`j&QuJYzK+gT$`BS@s|tyV`e&D)~8vIUcvTfk8baBJuY6RbKHYF zyJF6AyuxjEz`Sr5f%o{!g?qtb&Ud`5TwWdWhi4C@Tz83=zg#~DuZtY7PDtNhSZIa@kFBNLgFDn>?s7aXURAMv<=FbTn9S?8Ie~JC-c<6_w$I=fRzxyKa!(DSR z+uzSGd)>O?N|S9Y{M?@ZICX9}XSV!yfZrSM=jS_#F*crVpZyW>ywRBH!9990lk21h zy*kbDex$@~-vq=j2U&a<$9)468`@_d{S6GV8&kcwc9^1pnC1io;*P(V+eXRgetlx> zW76sCDJY0NIRx+DH^A>JqxeyYTA_u2JRp zPM6IOt|}?TC-<=p5wY>f2a9?F>bQT*(%;MnTX_1(F)u*T!(vlDz$M)4`Y#O)@m zYF3PCT)Hwn5`ow6z$&%&!-PEp9SjN{_^}De7F&tHQVs_1KedCbK61Y zvrT;bHVAhm$9!tcd}akqWjY(~?9YrN*$);Fynk^QbIe0y=EHN4j*qjco5jaJFaIm} zyfunX=nAJXjUhKL8Fv&5fcPS=f8T z)YHxpdGFuO2J(HCy<6pds?!n9J)y|&H!nmQcSokR6Zdn%?`LfJ>)uIRgt+FO2Q*cJ zxwQ9g>0%&%BVsA|+V|bzcjDZyiOlGcB#+&;s0dFo1XOy3JKH}OGZ86Zs$5No} z#})u%agO4!sE>fRz3U9~=AKGq-bF|khg!9Io(1BbNaXjr*CVbi!wjviPQ>{ZOJ{Y< z{f)>xZt~)X@3rOrL}VT}i-)1fWn7HMT_El?1h5y!$EM;N^!IASw`K5Jp!t^pt#7Ue z+IyvP;7Py=;HkjdfM)_R=ktC;1Nm%>#=AdzM-z*8^87~Mev8S@4;h8;;I?|=o&@%< z@wYvPfUF+u`55xDDd$G~Z{H%jyLGH>xz7;({ho2~bN%X*h;L=61)8nB2bc`}l$Vd) zO?oP1OAO^_>A0s5?x+57ali80to-V|eC%$R@NcPE9^5C0oX3O8<4elpAukW>+u=OW z2cx+5$9o<8ZBI1F%4^TpyfnB|7l^fB)T2Oai^qT%yHSsO;dX8(31q*g63*M&m+SX{ zx0Z(!Jv)3C!&69W@7%u)Oa(p-wDx@lX#M0nKwHyx051c67q}3(4QStp+dcA!VR`$0 zT;TOPD+AZ>0lcB(<8QMcdin5t%n1noG2AnOKk@vhqb&Bj9^vxbg)pwW1EF=h^;g%A zUqw1|zXr5&{StTza0k%JXYW@|1O6IrYdiCwE1VDf4cy})sr`;hEY327-#4C&-aQ+= z=ZsMQv3|_8a^!ct1IWv!=D+vy441*ualIQk-H_5@+(MSo>9}qU|8Aat-24UcZ9M(e zOBcSA%F4<0XZYSGe?R{x;@h~vhPZbwCIGbYYG)nX*t0yiwv3#|1f;P%VwK0CULMvT zFCLW#*Nl<#IMPdl{;E6@Jh%1d@IBJYz=P{Syi3I2_84CqL-r&okK=)d!fj__Y|L1@ zPXQ*wZS8-e7th9_z3aUIKK7;g)uUwPdN2@LhxqI4R4+Zx$V^7snW6l`zhh)|#6bmd9M>k^KRAaE%r@k4u%uWy)jW z2js!^SL8f!rK~4Mf%3RAl*fWmb;`9>KahjPiIEX!_y1K%3t@2Qb8U@B}Rctp(i;+6sCa^cv_L(1hE;6Ep|36tos}H|Sx| zv!K^N?|>$508h|d(AA)F(7m8XK-)mCgLZ=^;Skyk(0tH!pben=K#zl70KEbF8)))} zVQ)YSK+8aPfHs4k0{!>-zpn;tj_KZ6Zk2d84%~AqCN{r)TWjsT?*F?Qku0tY_n-N| z5`9ef_E|64`yLz2@4Pi5`9xmNor2?;roT?b9BuD=`(~ex06Zq^OX!Dh{I@T9^5 z`@6jstZBXHNTER~&VOb1sQu^Q!>%RER|ZRq?ev#T&-ZI@r*~ZV{MU4(WxkQ`GQ~_2 zXRH^5?)02vh5(PX;os1HQ$F%ved1Nf0sdp{@7}kUD=&Zhe+KPeah^N>hxWfDxEkN_ zF3$^=uUxZ&-C%#-Wi{hIQPT}JrmYV!@5p_?)@kS9yu7o`m)imxkM)6BX#cDK+XuY* zIFNs={oVfY!^+6?sC({*{{Ms1|4Y{_!PVTWZ$_ZKi?_7bfh@j@^PjW<)?dgc^8Vje z^cR~Gy8g1;r}x*QuiX9L{(>4D{rnTpv9V_iMU~>amdO~8U!<;2p1?8Rf(=g7v<1i0 zy%QT;=1vio{EhCm=ZS^)6HAkb&DRo#)0n=ilkVF4hz%d2f65o=PTNI{#iGObRL*61 zJvJiD-T8O=Z(mGz_Z(seHZ&}J(|Zh${s*z=&&1R}5L4bFHvgPhdk3-oC1ToX%%^dL z?sVnTj&*_MpME2;>$T}pT5VRUC-L`+K|+F40Umms-DzE5}8dSc#@jMw~Ix>LJ| zDVvGI#}l)zV7!dW>CTu#%*IBNek;+Vcq`3H_;c-0Z~FU%os$LTMVCnuSh441iEu-Rx>HJk3?kI|iX z3EkBnQM!|efis8$YTs5UA4^{;%oYwLGJSG1vF%Tc7q^kvFL^S`>F(_%)?+SV`K74+ zE7eaMZenOBtM3s}7TeEO$m6JyV&f35f=71Dpl0{U-P|Jn}aW$6o*Z_5h0d(L6J zoR8DphfOAnS9c5DBc~9ztRxO%uoc_-Zi%4cXb-JJ`F8P&u}=oiZ;rAGePa58to z>vZ>CN=&|i7>!K^3m+L#xW;d9F4Hv#M`kd*L+w<&RN-ppe(8rTpJ2Rt)%)9hLB=*}2VEd4w&zLhwj{?Lbw8cUx6TWeT4g*Y^ke9F|`wRj<7;fb4w z$sZ%u9!aeKBQft{V%EdNz69n|D*KZv{>4u)JZ>9t@YBSS$;9G!h^gv_ac|LGw~UyJ z&0CWv`2=E@^n8xS*I*;#1t$;-)K1l9boWV~V%d>`4*DmlUOO`AuF|;LbU)qkmy=%{ zUfdY}-fM|NieHmXchdR99fvc1T_@e8vX_Hf=q}ntOjZ9Wc|iWyz_R>XRIgA2o_pj} z`uB-X^K|+TNiU@-d}jmwU9KE~kI2>|vbjU83r3Kz6Qv598US)#{}b z`*Mb`a>KvpSjad;Ur6klpK2 z|L>`%fAvYk%0rl6@i*yC6LvgFcaQYc&Z%_QzDgW8kC=Y})90&w(=q2Yxq~STAG(q5 zEZMEXjr1>+-D;BE8c{pNDqZp{#;bpwh~FXg@(rBJ{1QH{e9oXdZ3f*XD~YYnuF6go z$WAq!$@mR3iTQDiUm^Qad?($BtB89R5YshYa^^E#tT0#eg)MI~UhNX%;9bO&<;1wl zh{M+tcWfo5YJS-(``dUr^DkC@`N}Uoi~hk+Fx~bQ#CF-0jvaK5s9$c9T?sbOzeDxY zdKlep-yrVkCT8AEY`K8gH`1=)_wXAG-*X|c zR`#TBE8X!IGoQLrx+_0LjJ}!vz4Pg=kzFZ~eaQYi{S(w*H>v$fTIt`U`AEiJ=pr93m#+qP3o5ok}F+ur9Q#%swqt0 zehslCp8lCDi8V8ch03SzY`RNTUyZUmb<>%?;ys4feV^E>bybDzN}R@T=L-z)_$;yH z1Y*+_%%?k#?%^1^(=;C_l|Jp&cr8%9mq_pIIEC>8(o>tRWIjd0fke71Wk=#qrMp7m z4YDVxlbBDt>`9sINk=l{H=?&$f2;c#-SwX%c3eXLPd zXg`YXboIXq>Aytj(**VZGFRVwn1B0jVx0O<%0#-GwSGw5NO!&LOP=QKWp~g&Pxhtl zCb~1vCw8V0cUBYgFQa^^POen?XPiq+);uwHDdX*wU8(&o!&5cRQx%^7CHkibdt}Gb z@1%c?`fcs4bZ6ueJ4%TC(kI69$Eu!dlJCiiD-=Z`s0@Sf(EyN8B!K5S9sZgnhD? zEy5<%bEUB99oAQ+Fi%)JNdJPjiJgBS?)g2jN4Qh{D)x8u-?5X}Dy$I}3ioK7_XwNS zZ>xm)eN4aUHDb!k#F3xKEgX@a?G`o)D})2xj9(-S2;-lle~f32`cm@bShXS^NjiLJsKVWBWh7!dZ#J~a!IghOS_r%Sj+SSk#x z6~EPrS4s>D6WsXJcqV#De9-j$1fBJJhdpE~9^f^wf~#Y!~j4 zK5Ub|%GbWch~`Jpawlk9CuyAa{+#*dsNbh`(;ZO%i@S~P=uTp~^m6(q6fa1uSVehL zcF?_D?X-O%-Eq>x9g?GZ2K{TUW4fU9Yn$vy>xPRWO%j`cB zqwglxOHU8}itefli1FD9SANk~(p~lu%F*cTvM^g1FYKSsc&)-}VW0M2n}wCaTw$Vc zK=Yb*VXd%Gm?|96JS^uz^6St%C06~UPj;+m1LaQ>?zx@rZef@8zHJ7fpqa~Pg^46$nw z!*l*fce47yo)6J~=Tr1gmpzNuc+VAfT*2@m?bl?YH`w@U*+c*Oe<*x6F=rRCQuUYq zQMyZ%u75h+t@jcKjwGf@zP5|$Zc;zQ@b&oBe43c4@zy<=?r4p(<_G95!`mw2m_F@(VpEdxzg+ogJg0WjKmI=ACh4_S%}?@% z=wI{&Vz=ri=Zkdr#uA$jWxkzriNOJDeVX&UdDGw9CvAEqxTrF%&IJ4Ne&jMM2KyhQ1R!&--T2y29c zmomQr)l;=_$Cv5fm_ketzgF=}(D+T0zHPda@oJ^F8l=yMlIfqX{@$kkn^sEy!Osyh zW>a2d&;BjB^FKm&y4DSK=g?jI9b%y{RXFkt{hKx3Ta2%>c^EUn6C34;wE9CFhw{decK_d6&47Sg@bo9pLSu5 zFkhG?9QY*TwF#?*dBQ~DPTB8PVU;jfm>|s8d^wQGat5R~bG3eI*ZQe+7Q;(($-k)dy%QL|r-qoZiuo33zEQ7s3FI-nyMZ{Y zbytS^MfFtrSG-0n);uBk*L3G;o>21;-DOJGp#E5*{x|Y0!#ABmIcjesM*oWbebPJG z}32h!)=z$+b!Koxhmz5+!H;cj>N@y=<4gES9|-xR~Lk z4-@NtPE1w1WJ%8_N{=QFGdzBPSh0&3t@i4Dj_xh8uNkthnQzg*M{?Fn&LYX#B)glY ze6uQ84_WFz-On?9+xLi->UT}36swmC)lcfFbPuUNW;{sufb>+6=4;uq+s&^sJX8H8 zM|v(Odz5!P!y9F{Yh}0VXVJgtTf~6oIa{QkN;O}o(mqz*AuLb-2;&caQR#&V*U+7E zHnHM3;-&;*-4VnFmA?cN8!LCZ#>f5vsh zoGXc4npbR}&-~-1PxidW@M!VvQ-5w1-vP~A2ICm7U-ON@m+9W|D6#V@Vut1yiIsGh zNzPu4yQW{zze;u#(Y*FgTR^!wK1}zf0Nu%0$XfrX$)kV&3S#UOVvXjb+qIs{ucrT= zLSl#PbNn5251d4-)4ZZk?U3*%`ft(xU9-xY`%(GdOw3qD>_4A!m1!Q{_!9k-t|r#V zPG$d{?%vahiHhH#dDafi7vf~UlJ8=?LD{{eTj|bLeg&y?H)y|aOETR7)l1f`lq>j4 z`j=i$Om*Y_<8*J*ytHkQ?h%zM;T5|3pCJa)nP2~dbT@A$RtN{;8Qvv5TOzx^NBXh# zb;jQ_Tj?$%w%tJ7DLv4scIcNr-}!BZ56N!U{EF_R3yAe!A_g^ncI=@$PVaL{H9u`U zp8i7`2hExfwa7jeuBH4#zh=Br*`fSwx(6R3MynkH@pN|xyZY(wZ6r4J5wq74vs^zt zo9-6%gZ$^{9@wP#M-jW#9tAmc2fsob+(v9rKh66c-KlAmzfj|(^=I@?izP;@-BM#2 zuR`{s>{W)BJxd(^3$fq@V!Z0DPyHtGTKeyNkC?ifSS7vOe+S(is^=25YlHOri0nYD z+~N~|Li}6?z%K$srbeT+r>Xk{I_V{(=1vJVwk&_6}%qb}uBnMnW2 zn<;Li(!=Z+e#4`&VM3>`UkUbjNBQl7B7TsVZNF4gG3k0@KzcMw_9RdCWaLbScdDOf$zAz%`ft)ad{Fa%Ig7J$a z_x5+`ZhBJrsQ=dA$oO@t$L=Q>o_-~<_c&t9iHw&oz29^(-9s~oebV=p|783c>A}n! z=-xA%@%pc(d&h~y%tPp3BKt6uPX8?RkK$!?mwcC4ruD+WM!Jin|I;pIKCK_2e}VM> z@ELTcX7&MvD}Rlzz)HH4)Lv}`%zwwn=)dVv#aDmHoWSrT%}=r~Wq9$Q ziM4YW-mHDH#2e`!ETMnLEp+#sL3eNg-6L8r)JYE)%PzF8VR*6lbg4gAwbOs7kJz`H z*e1Q*u6~lCaS^NjS2m9EN;`;yM^TQQ(htqTq_-KKqjf{zlXO>=GJc-)fAwto_e=k$ zH_)A_c4h`bj_!V~Q#wx| z-^4ij*T~MKOD{F8XL!8yXX%-Ym-TgG;D3ni-y!xXev8KQcIlsJ>4%0x8LwJ)CS7)B z(CO<;hFATAn3zaR`vEb(oS1zSxeC~H$B~S zSIORt%xC_sClk9?Gdyh%v0L+oe6?Gq>MiGfhUaQt-@T6M8zfi0l zYaG?dE_TZ5{Z?n}ge<(Dh{ z7I%;0-NbbD>TeytrvHu$h_M$DQ`8Pk-=;e#OcCz<7X6ci)mmTYsNMTN#qiW4iFN(N zeA&UcFVmf)ejNBY-APTvwo{2|&OS6NzU)}D`f<1Faj2c)&Dq41=ZJZmh{bOIR`#z! z{V4HbhHv=_F;;q_bsOEuvVX-Iw?i7ARkDMzT7RZJ!}vSJzex5k>2&%xFDK?LXZ^=3 zeE3AAn@nsKcE&PZw(M!)F$~X2A~wrj6`n$OrtE+0kLXU=KupoPCi80Mw|xrz_p}hZ zXDgoew~`YXZ_~AsvzXx-L1Jbbu}$`;Q}(AMll~3TXK~7}U*mRI`n2&r#v3}HID8oS z6dgi$`&o2XEvCD^i0%^U`!wnM)RP!q{U)(exl`MFkYS7 zrTTmHFHyYWg$%F0O!>)OFMHLXbwFYs)0JvJrtMI=xBq}RP)_WXy^UMK{Bn<=f6}AG zLD|jfGKS{}yKiE6mgZTTzDV~b&5w(OZMV_CQ~OHkT6bh0OaC18x2hZI9+aN!O((xD z^^f=}hSyz5|H?{YwCXYCXADnJe=pljceeE3PSr<32K`f~5i>Mi3N&vWkzMNA$?z1- z2XcGq?)eU}0eS!%#0@nM~I2>td}f}-+HxQoAgk9G~=aed<|$G)2DTF^B)*qEj?FrA>CU( zPi!q`{x#!>dwxOxlrm!OR~1isD_`@|>bL2ibA{roztv0sWlpAl@lT0`ns=uN+v@0F zE$sa;-HpQ3Qz%cB>`caOboXd}ldJus?O$WM{xo8dtDj5hECTgW-SRHoBdv<3 zc~YDBcBx+lr9YaFWFhZf6nlpmxvY8*J)p*JLLgl^fF?L z>}jFKLGcmvPgcL!Bm2`+xSMg5o0(768oFbTCbr0~^k}|OB)ihMo8i&2C-urV_+|PR|D8B| z9P_P_y=eRn{WDem;6LbYlm73^Q2Lcj*EW~#*qfD3{U}A@l?u;RzirdF>z17uR{u=Q zWPSr*U_RTW_xGGdchY)>S4r;=o8+eo>5f~+cze`u8dB+QQ9tX{erLSOU-h8! z7v@|;cfr|0>Aw!?xlZ+uHtCC^k27A{QN(~SPx&>Br~iQLP@(Kl=1=H9yq1_blek^> zC3Z61)zaew8W&ZcrGM`#VoND8HkR1)8nI0Fq*3-HLH1B*~uSe2f0Y;#;rs1|)x_>Z$Zr#tTUQ7u-rd#TU^(`gvlH>|~q9L;AJ! zZ(Gjzow7eA8iza1Wq4jLvFu003XP*Kr&q^H{ofYQD1l5V}Y5iP5qr zBSUm|wG!)OCw9I`_x2mezhDw^@SF5cnMHS{_@$}+Gp=TM(Z`5|pCgWFoaa78cXg1M zwvhRBYa9)!e^hGxG)VupsQo)MZiY`_`azAGA@zs6%jutT8L>B+m~jUAv};^6e}Vo@ z(%4KO%Yh z7SJ8Igjl3{tCwCLnoIvI_49byg(lgBEk9#;?K8x9*@y0L)7^UoF;nw{SYhon`q!(y z3p78dK2GxXGCb)o#J+Z7%VuJ{>|D3%Yw+jv@A)LLDTBC2^R%>A=uT4quTs7_Gw7e# zKrGOHai;ol^)$-U_&*FE*8F-{b|wB*`uE&QZ0jK=d|lX0jQb6VR+Ubh|%974(UB)?wxcO9!2aqlGrFL6J`tJ)Xy4J z|2?uZX|gY+8b|$2%xBMO#QG_$r|lXy-O?A?YPV=%^K*=!|7l{8>Z`V%?gC+NGV@DU zzRkNB9^FUmtYCPV>`=et>X1GvkUgrDJ*xZ@)AeaTsQ*-^Z#kO&_1hFKJ=8itcdzVI zlk{?q>}B8m3{RK6tdFHTD19~X65VB|k+D$p6Zny?EW781L9Mo zd47Q~HIDf<*D&75WyBWA(exv_b2bo%Ww!>dWV$Yud(#w#XUJ~Vo=kT;w1(-8P58%f zK<&_wNq6uY#GDk#F`ZcVPx^PNTqTFm9sLF3;B~}Q*{{;|bl0grN2|XNe24yl4=J72 zMVX7~?zoQpGT&8t*|7rY!NhYJ-X*)%F1yyIe!2atOjj=~7G`RGU2zQ4XG!kjt0l*c z#P~X5(+R{1_2Uxh8^T=xP1+=em3Q3R6P~QUUW>Pe~a|v;9nWPSMhVC_ba9M`+mmo z{AY;S()*jF_cvWZ|J)$+-LjMJ*k_5szYrUw7c##~_i!HLcWj|M`8CCpULR2XZdW^` zsoh4TkGh0AwGL{q{wQ$Ngl zfawaQ|Jy%KcZJ4(wy;S3DN}Oqkv`3mKCO`+-6TDlB|X}%eiNHUd5V6|{Ogv{9Vh+N zcRSs+(r3NWpM7fQ+7YG;9#0I2-^f&^OO)QL_%Op;wVtUFmfb}E9ATsSea9E+pCD|% zhVFjZ`HBR(`+h_m*g#B_ev7|`{D+RA|FFhqqvY<8K1`H8YR_l9f^&&!(u*n5H+`k_ z?|zS1I-NMIaaI^0zl^`pzv(x``djGVqx>7^(LdpH#JXb{-Zqu)tj)yjClfQJH_MjL z-E+O-OaJr)>7U<9EIWmmqIMphNq3U`1J}|$GLBe(7BNTTph|jmNP3}H^2bYG_e=hi z6PYes`)kH)6qX7zh0(&EUol>X`eUuIK$t8Xl%8)F)(G>3Ny35c z%&$#YEzA=p3U|uRv~8JC+b@4`=+eW@7vdV(@ih zmBw>!0ppjdy{m6$c%AfmaU$JWj}em|Chq(Su{oERc|Eaf88Pv4V%vqpX3aBlH7*CG zZyIE82Bp{A|IGM#vit47r@LM2xp>Xv>W1kbY$tA)9o(++6>Xz`^C84R+3ActrTY@G z^l+9x^**_^FF0^0-Fb@N^fkJ(mJ>5)5p$%68XD5C)H0k33&EI>JPlELJ4&@V6KW%wi`L1UAjI%bT|HlSflmI&acuPCwowkNjY~&uNKSx z=g6+-$(~o9!*qooVf@%NbZ^nTDdkwYd%i#%kbQ1ae~&$p{++TnCBopz%rEXGhPP|n z=1-x2eIYSr3d7qTCpI5L{~;(B(=Vl3H&m+Mcb!ZB;ja^ieoIVRO>C6i?!AugRE_5h z?Nh`ZN&oJN!g6Bu7Gj^;E&T<$Q#3Ame?xa>Iun}q!zqPzBNh8G@13~GH+sQ#5EY`%r@gG$%DgziesCvv9I z9k@yPs(+;H=bCb^G9{+k4>6a zR{xFR)tSWp8e*s3f0gFY-TW=$mKb8m+r;7Zly8sT6SPV{$Nz!h$}T`p0Trm8|~T(nSBD^mmEcC0}}cXeYxH)qjUnj{_P{J2lR>OFxvTpJfUMiC}KzDmLv2qE3cN-J54wuKwNmK{iBH=%_P;@YjG1qdwMV9N#)lHfL1 zx)-F5kYwqKhy*9dqEABK?RL}p7e{Z;tzwansex$hguGTBhOi=$z z<@=U?pLm?(v6 zw^`2Ohxz+>4S#=m4}Twio4?yN54@{+V8bGow^niK{Zqs(lih!$`y|_CUw<`3{bv;C zU;7jO{ZHzzzf}F65q_=K)h}t>*ZwW>??1)gcVzE>t2q7sKGx?M#p%COoPPbs#DAbT z{qsiRUefRW71S@%{Q05!VRVeR2QN_nk?Ql7@Sjy&f8t+L|6w10-_q|7ALZY#$xeR$ zY5x8CpYeB-e!r{u{;sc672kipgXRCF^7*Xd`+b_%U(z~azvBCcUnc(7yO{qwvhTts zrhi7i|Io?5f1%$E`h8HpA3jI@yZZghf6M&d`mgx=K|O!}TGt_4^!vkMrvKq@@^{N0 zFrU5-{=HrKJfYwJM)vZ-TgvZl{ywvnzaME|@ZAFcUUZVb3zY8@%J*Tl`yao?@_wax z{KH-R`!BRkdh>Dq{avj;es!Js-S>6=zPpdV55C6Vk7Tc}e2stqRP*3JDW3j==7W!Z zpZdR>;qT~uEa%-QP`F3|6<{)qZ__1mZ4)%u;M z-(S8-+&lU$=y#=l|LG9*f34rQ^qbS~XY~7z-zV;`^!r2ozM|i!^!pFrBX0Fy^YVK;E^*3MO-+!n$_JQKq7R8DEtEqo* zC4V=`Z(o0s{lDR#nEu@x{Qc;E;qMz7mtQFk|MVZ2{*ROV-K%xoYW@C`;>TOMKKYBU z68DPcy?3{>yw5CV`Y-zVyKIoZ@2b6fCzLL~{I&cj_aONT-k`o9yZ_+-;@{hafAa z#cTY1{kO>9px@E^ng00y%=9mQR{H-{zdz;g2b=l3MSi^OS@IVD=S*Lu_0=!c55H1B zy`lSXi?tqkP3yE*G%x;KcJY_bFu&3Nk@@}O4*tHWd1SBJ`_gu%|NVXZ-LKzy_ww%# zH6OjHd2Y4lxz`kzUsJq#N%zH9Yd!s-kCW!TKi9nX3zh$l;>eZ{Sk5n0zc>B|{=M>l z=kL$k_`6p9`hnJ!4{v7s{zmiLJk4*v(ERr2vd_KC$^WV5t!FOq?{_qBJ@^X$Ubd`$ z<^3O9+P!ez`=5U5$zR>GXzjP|dTM-p{o1By$A8vSd;HCZYkuqbr?=fd|L)7{H+^f~ zJxv`4yN^$0?&_{Tp7~C5!@L(iy|DZK@6FH5zi*=Pf%SK9u3h(j=KaaqPqkmzb?D8d zwc`sG)IapSr_bE=o8SKS_-}peiTfUEAFnw+y`#P3%S(@6ZfIGw{f+Fpr|M3zmQC{s*SN|CxF1YqNJfU$dxv{Hf!xiM90& zLvO6C9e)_S|Kj<=y>HBG%6$J1KC!U2{YdT8|8^oXRNK%rKDj9K;9JiheEP9_GIhT( zkvV$TN16I{;|rfSKAvfRx#8}^Prg)p|2+%mJ$P^ZW4(9H$M@x*zHc(K?y)b9XU4}* zzC8WKyBhxd4?Z^W{+stc-CXlzX5E4XcYUp)VeO)qb}h+_&l}s-Uf=YmPyhD|URv0n*Y7-AD;d2uI~5m`rgI|?_E~Eaq(SuWtP_5)%oQ7 ztIgZS+Z(>suxQ;&uMHjg_xIP`_sQQr@Z^q;c?}QFYi(@EbT$2#?R871TOMmi9VZ_9 zPTktS{r<6yjhUL}CF2h*Z4bQBrzx!`$>TdjZ z_qQBeyQFr({PDxP>ZaTOO~W7Ge|Oz$4=*^^eekYb4fFr%#}6D|@U^Z*(|>l)bm670 zwY7~{CG+1l{GeMihau-7w;)AaP#l6Bg`9+(ft-WX;##sDavX93as#pu^L0IBDWnO~ z2008l2Dt*c4yl`u?)ukkV(in$dU#49v|cY~FDMAiGjzT6OCn2?%CpSZeAO|1^Ax9v`A*Uf{A(tRcAJ1euArp|pkW-Lp$azRj zEy{s(K#GuY$RWs4$Ry+pWC_+SjgS^dJLCZ5Amj+-IAq~Ns6V6=G66XTnSz{x+=A46 z0%bsULXJW%LfY$4cgR7=5y%P1!iSL$q#rT{IR=@AoQKRnu0R?dL7zZQLM}sUA4T0D z2Oy^*mmpUm^_VM{LYg3LkbcN{$PAX)J{NE75RQjksss~WEyfFG6Sh=L|%|y$Qj7|r!Yp4Mo0_f0OSbd1mrB_0^|~8>C>nq zqzy6#nSe|~&O>G(*CDqc+22AvAx9yTkc*JZkZX|n%hBhMC6La~z#kw}kSmZ|kcJiL zN60wj5ab->BIFw6CS?9^qmGaxkQ0#8kh74hkQCh zG~_Jg667kR?HRNi(hoTXnSz{xoQGV2bYM-}1t~%fL5@NuAtxa>Axp5vX@s;u+95|E zHy|0T6}CYRLykdCL8c++Av2KckPfWJ#vz9w7a@79Uxy$EAO|6*A!i{?zl%CT4nvMX zrXc4bGmtBg>yVCi)DyB3atLx1auRY5auISF(!LgXLKd!r4?&hf+8~D^#~@RX>yTTJ zuJyp_n}FMbs3)Wz(gx{-?1D@|PC;fM*CDqc4PQnXkPb)} zWGAEuIRrThxdxfP6XikLAw!S@kmHckkh745ub@vL+aS}B^N=f$>yTTJy5C1RkPb*M zWE^q`aujkIat+e*D)NVHhU6hbkgJdzkfvQ|2c#3S4RRPV1vv$ohRi^2L27a+2U3KL zL(V|XK`uhBLFRX(9gr5tX2=dm9x?>E3b_Gk>OonMPRJDG6r?VXK7w>WdLf4(MBYQu7DM50Zs+L3$xaA(N0Zkc*JUub|D41CS$-6Ohx8 z3y@2YtB@OzrheEYWDGI^ISe@knTDK)%s_VTMH!GHWE^r7G6^{eIS082xdyojnLmI& zha7~QgLE>#Hpn)}F31$*6l5B59dZj&w;yeQbU=C`$U(>n$XUn*$R)^CNYgjaKFBUeKjawXJmflL@>>`W$Qj5* z$YsdHJjgS^dJLDkb2;>ChG~@LI%z{gA_uDaa|v45a2DYz(p-QiO~{ z&OpvVu0fW37j1#GKsG~$Ag3W`Ay*;w-$Qd&^kYkW($PDBPyTTJy0=jl zy{3-ecvJ27=nSh*!%s{R~Zb54P4C4s-kLBM(nPrQtE%PDwWmfbQ z2Zu9{WS)xBnp&IiuXR-h=_&TpnGLUv=K4pB8{2%#`9j2@PMmxu^JG-U%1m2FVWcqJm+SBQTHyr{KiB>0tGSZ$R3j@WJLtRsAtqow6fB!fBJ$B!3{~uM<|9|p-1U+EB-3^CyzZ*|&W@|AwTwFgm zFj5>IEr|=n$li9R_IV@azMT7NYHLgoexv1#hWS((ZF3;DL~ zjf)fNw|00qw;$u+zCgWr%_%Rtpp^Gw_a78`B7dM>Jj6OLZz|<=4G#_#hKu`O$n8z* zNxgV2sbAOMW96;y9~?=sOcQo>+HVH}c5Oc2l^ZrE^|mlw_|~-Ft_1wcg}sCO3Zf(& z>cm--meF;u)dyv;n-e_Kh0mt=(~jRZ_?5yy+P_Q}9x>BnQ$tPCzb}m9!q3~lbm0*r zy|8 zao{h`X<1mk9O}e@uQ=z}931MzfzLQ+{)5%ap-!C0Z~EupP$v%j#>=@l2ZuUw;5*J~ z`&jk5Q6~=k$2pU8aHtapKIEK*AFo~xb>c++Q%pGwfp}4p`zm$fME-L*<-ADkXa{Y0ei4ixlm43ubakmzS!%{QpTk6D#Y{l-q z&daRN_4kbSW3jpw3*Cf6ojB3@v>2Gaw6&2GdskMB1A-_5kGA1P8GU7s5%Zo(oZH_(Gv?6yo@$baR^$R;*p+#f}M54?;kiy}jzbEp#s zb@H~K4jeQ>k<;-^7e2Cs9k8KCGf@Gkr*o(iCz@}k183{3GMFwrY{2bw7uH&jX14YY zj`rub`Xy3X{fH44vkr2$uyzg9BJ|Y}-GS+8y=cVbGk{fx&q+Tvu%xdAX3w zzc|ppA5BZzM!k55AI>|O@O%jsic5IZi<57mwbT)Qg9)_wvk!zUQ`w zE;ZYOIw_C(z{}<^2C?l8Rt?q%jVGcaT(bPWn_t6 zwF>Qb>_y~Jj%8Y?`>IuFlw-57(Q+))goSUq?O5Gj&(JkH_7CLt_VsKj6nh6zbV>bR zSG#jqdw9EtP>yp+LhM3x^mbDp%52S{Km3~f8tmJ79fjSw(f*Q4i-b>{_*jd$4=zQe zoexh;@JtsTbBg0P!*(j+nJzqHiQ`+argl6`Cdr@a!bfZNC5ZKv@JtsziXlr8=U=Z7 zKbaoz*(~hD>tkcIi1X0%BZC7;eV88bO}nG|TfZ+t%*o{gJi#+v_$UtU!gwsQIEV|p zeYmPYaS4YyanOdBqkWa(%+~!Q#lqed>j(S$aRt?f>%$e#6$TK3dRA--dqRE1{T5en zEi>FEFqayiTTyw>Xjpb;-#q%f%9=!d{@;}aD@j8}(l+KB+Sa-_aq%;(j)Q>uq zg_z>~&>J{m0vd_&OecN~I@Iy!tKgX~e2Ayqb8Nx@Je!%FKhuSe;>D3Fc%};!$CvK+Ll73;j@KKx?LmYZGv%a^lKaahDwBMO7Jk}a+ zPnQF}%?Uo$CH0~{@UpA0e(?U^jQCZl9Hy(BXnk^u_#{|(yl1-bQT|!PJLEqL&vfCV zcsEl8&vfCtQyZ4R@^!h@CtjII{HS221l%NEBL?gvNR83l}F@DmUnHH*k8*S z)KoxDUdO3`pB?*|9`bK0Ab;-%9F0f*m1943mNO4gx>8w;Q`m z5uWM7m#qW8S)nf9WL;XjqxDcP^803{EzE$p((!2{sT1{~jBFNm;(mK^HV?g>wuO4} z@@ZSz(e`iRUJ52$6qn+e9`LQ*QQYiD+rNo*L2+~#(Imw)U3iR{+s1`}-!N9_87&sH zDs-EtPMm11HHKJjbt;zOnJzryr?>rbz<1%62X-&9vd0y6No=HEJj7C8w;qE*eKWIp zFqgM2!{Pq@xWq2s$0bHw*o>EHw)l;3?XqPsKiXedH;M>bD81M94UKOuvde?$?{8!_ z4cL2My&ssyGHh+{eRmLj_YLa@T>TFY?D@UI{)iKF;&i8+8T3Wqd|@~@gze>cjHnX_ zwiEY5;LPrZq>k1PNqb;F&b9TgacMs)l$T=(ml%}`8}s&^!CdnV`JGqS`-D1iqF8ni z^TszStb3Ur@YyW-BaQ?06@0IrW3#e3vTbZgWa=}pp^?ItTwl6IW_rkbWpiZPmoNsx zZ-N1hS#Nv&sS_u%?H%aH`pkxXxH(bcZ%h{+wjI~MP@(<>)_-*??8W1f+2o2Uaef8y z%~{mn@zcWRhIZ_=4JofX(?eaFv#7g|btC#`MMi#xi+sC^9vRAEg`0AT5jXPDQ|PM| zwudp;zptl*-qH=3iAQK)Gy;vFCP5UZL0>Iu_Dv9X(ZgxVHoxH zQ5QJb=4fn+fg?)PA52#nm``jXH4< zL%gg!_VdUI9WG+p57dj7Py6sD_NiCceI&cg4Aiwn>~(fywn)k(MqI=X@Be=6Bdbj3 z%qo`{aS=znzE>6*mwOhr+h?~VaqXFuNj-V?4ksVC{3lYL_m0~Yb>bkdcv%+$CmM$^ z+NteRFCP5U+jrz)D{Iq8;%8~sB=salT-dU6YaTIfTe!eUXyJk_?N?#~H`^T9&4Iuz zqelKfy~>1-d*56Oyvpl9>coM6JI7+yi{{^$-8K#mZ^BkU(l+V>r=fRB}3kB(S&Uf zL$~2kFCNCp+iz==k=RG0vZxaW{p@4A866Yq=r^?4a;zWDb%Q43%94)TgU#JrYvC-RCgV^YtV1*w0qrM?V zT*OG<7ra@{ePM7Qq9@}>ocOSPFMFz{tZeV&sBB`yjpF7}#Aml1+XIW&1JsFwxas3R zff(&=Enj<5Cr&=C;|avfk<5mHk;?bZh5KbzQMWZ>#D)L4-(Cq^?9jTAgbY$1_2R(?-Of(dS($#nq@11d zi4z}w=-2h*i0wY^YX|ZkpgQ`(G?W|0Qa`CXvC0Gf=(akJc$>zy5^Bl~7;&SuOI>}% z^26|YpAjQ&{lD z7q7?i<2{i};K%9({{y6_kkxA8ix1%H-V8)mp|*!{L>P#E4E zHc`DVh!HnhgV=qCpJiSc-P=vZNMt9}kyD7)AZM@^G){ki==)h`Xs8!2x&~N|HQ>(> ztA_evR4)|1YBh|@qh37NviDyD)_*_46I`PMJtccPOcx$8+wljh;F&Hw;<5MN5Y~#Y z`(Zl*!^VV-b947(tcVd8@zBd!j%)g#*>#Oh^>}|XU3mDI+t7u8-!{0uH#fX?Wcxs0 zkL^&Tvv)t^9#lCssUtDs!p}UOoWmYMhy{E4_F*d)2XP8p3j-s4#Xf8q z;lzF1PGXfuw7#(SHDC+|*JE$0-*SlROr1FJGxt-NeddpnIELdt$t6+gz7cVOpS6W^ zd_8)!!u9A;#ja*l!pFe^+|jUayaCsj`;$IlI_uU9yLbGB1Ru746Fk$2w{^GUi-?WP zp9@(ZXQm4ut+(qD+lXI3Ivh?5r(;Z=IFX%S4xHKdu$V49?A-gO6LIXQ?fpgPAebgB zY&;%|f%N`|Uwv^PqOr8G7|?vOCW;f5zTfOT+4M-;LtQAdH9i}$9DTMQ<5zwbjp+fO z&4x8c`n<}wtK7r;w(9f@+V6I4`^Vq*a}Kw;hes^SdEs1pai;C^p?^g}#NK8!OL;UI_gJnG?gL_K+SU&!lc>Eq~k z-UlePRq6t#HNKBFBo0rDrDZT(c*F;{?S<&aaa$vm-Ctn3@Myo=o$c|Am-!{rghjg@ zYjylm8J1}QySgdrSM${`nT=IA4?>+d$lvRJF>q#|S7EyF-6`JAT79X)Gf_+z9&@+P z4OZ7DLR?wf-#_?OoAhii&8DrAv3r8{xzbik&b<-1@XlAObBPJ%uIz!odB5dR&nL?I zjcLT%IdjLJtAJ&iu&^h`E{E-w=gTx<5sw^eZSO9t1JeR__3Fq@51|g-Rqi=aCl2yo zp>@$T>e7uhqnTZ>@V=h(Vmm~r-C_0VK0>_mK^%yEQE%`LobfA5|dxx=x*ig^xYK)WDvxxToZb__3pOK?ZoVaa>@ui$J*31t&amw2E zNR|6lkH}7&qPg=b+V)6=`yWgX`LDEh9C$2iK)H`tf7_W3+eF`zv(S?G1NG#sjM{JK zbRMa4o`E`XB6~fuz&NGP=rK*$X#TV@eXPouKBh6XGwMEn*tw3!?r=;J7iy@kE04KY3B z-D1~uK3Vn)^5Z~k6)cA=UbUJMC0`SzqJPDnQ)0=d*b^!_Rh6$ z;o3Q(CLHQi9%8Ng$8q?_w=#&8iSMWPxu_E-pSGAPN4A< zE6iyZLtddit5-&TVs=sq&vfB2$ezF1$M00}tKX4dtwMd=uNsm6@7$qZ5zBsF1%Gf` zXoD^MPD!kMCh2GD#EJGG&d=g>Cmia;iPk>WwoO&qwn=SkMc;YbrUL%X&W#bvGF#!l zu|0gff<1hl<+a)x*Zcky%KJL*N$4^$X%Evw-mTA|-#qUu`rzwj&*(5sSk%M&_zmQAsOEX>g$Uf|BRKV}IQ(S5PFkSfQ z8s?Jl)}b+;>B8sIF=$7JTK@h7e9WOvobI#@Q_d;$^zFqXPrg24y6}iuNt-c;hB5|6 z?f7MauMO$K=TrQc@Cd^z(bWl_>B5J6I0lzf{3^Igf@iw$(Y1HyJ**G%Z-u!ec%~EI zigkn6|D^C+*KrWMy-XKAiih>spR)FD#b!s`UZx8l#lvyO>tQg@pXtI!K6zF6?dl-M zGhKKz%_-%7e4ZV(-Gb}$ni`UKJo$c$$gnzKL09rsU6SsfNxz5`*FWt z0>9js84k}Si;|QHeo_cOv)?U29QkH*&ff+<-p6-K@F|!o zeB#814SJjHe0);xaNr^7uB5Mt5f^shT=RRD?Q6){Tw=t9ZF;>=1+I|A^9o@H0(5+g3+ zy3fmp0@upr?X0kyi-Si=!=pGutn!HVN$10_S^n+wAXa%G{(Ju&2ziwF$>zbqp`;q# z2gHew`M~)%k~$>5Qjt%b`0#DN9_dHypxt#1+X1zGa8vo~NK%QYFNjw@@ORJWYRJcY z_RjJlUin16pT}N2>tk2>cCnb&!ux_4apC)J5B45ojz@JaG2+7i-5xe$PrtO>wId^N zg?>8?g#$Y1g2WGrWghnIi|27RWyg~h!Y>N z!1<>F-|B!^FbAJF@evO^)-T6>1D3xIJN>2SmZ=j5F~B)T0>{dn&7n@5Xf1gwDaT?~ zcmyNqU+Tnxzk4~oxG%x+oz0<69Qe80ggwi@&(@TfOTz=-er_Q;XGM&-@NZwccH(@` zzOuC|(}a!oIPIKIIhJX{!e_lswYWF3FFtGLb&G6_7;)jRKEK)fulFVQwNs+|2KC~> zKb?0Y@RG(SMCVa2UgVFM9x|h0K25lIKZ~6(No|oBa$8`F-hVeRkB^r1AJc@5)<`=r z|Bhl$Sucf3Y=P;*!{)pXZEtV%HseZ+xUfC%ix$kaf$P&{+1Wzs#e@AhZ!++bI`RS~ z>Idq@i)`=$ItXnG&vb{YrzFIteMpSButE3damuKm>s z$=DJjZe*+H0ypXBgy?mpUOd>U*VW!c*8K|6OCaY}Y4(Y&O6#EB1|^nSGW?3dWN^=8DQUc6`xIJKyx z+;mSr;u0fnq6jd8reF83-H~2;e|*(e$F}1fWb}}tsSKA(r=WqLPz19a6?q^UZ z4*J|VlYwLJrqbK5qIOUx4*J?-(P6~gP)>MF%SdrcuGrICflr+HQJ;4peg=L84t3&0 z@z2`)r@miqRvevb0xYpf;sQV0gTC=KnWg`k^Ha-;a*6Jb1g!EvyM1kIdHgh-(F%{_ z;z;X0ocvHDbWAI@bK;qg?Ze0U{5;c!I9%mmMTL93Ki8h3y^q@SnLvGRn-BWkZH#!; z2XWTN)9U%h@jd1jhwY^+Rtum~K5^uCM>b^X&)c&-molA_k`LxgM zULDJwd!K+f@nIa^=Qji2%AT7~ocNe?oNxOVEI*l!D_-vrN4~wA&-qK?gR8_I9BAGIw*IjOUH8s*j&LrathR>|U1QqG}DB|B1e5&UaNx1*`6}wgi`HNn?EM%I#SZiSRoZ{li39udI5ZVF zShtzw+0~i7RkW-;V#I|VdJG-IwFlbCclO-oEE}=PBdiN}ALe?Yt;PNQ z;RtXtj>H6Rvz^y;?zO-T^DJz~-W5HYOANVocGI~#5wA+ioxKN0jJVM?+xfta%bm?7 zM%*Y)+I?!4yB@F6!b4?|Z&N2u6esPzWn-AnXLG0%CyJAGh)InV&igQ3c-X1OyjpZ} zV}2a(MF{H6<&SILdkqz4TeSr5cl%I!Ydcd#A!X~^fmjb@CFt%+Fq|}C( zE5 zL%RP{M~GI%;;$!Qy+M(g=oxSM&fPD4P$91S~51&ix-Xg<-jYQ+nFXT#@zec z?CpqMqgObmL!CHzt1siTy?^IOg>yPg7ars9_&V5NB|OuGk8HsD<42*tx(4lZ{~(Ol zZGgJKS~F0W;aX|HtN#@6|hVb7JcgNy&SNxVZ3n- z)k^Blbm5`#dW@rgeuVj}fTI@PPNoTqzVvop30OXB6kgsM>NSa zxd5gUAMXcVuYzZ~@R(cNzU|#4KZ^If*NyJR6-d$+>czvn;`OrYAnX6~bM;IQ_-uF7 zPk`gIYT->fN#0Bg*cSVyg6Ca>F?hk=8&P()kmi2ls2!HZxs#%;8?fX4nAhwt288$2ZV;8Ptgb zJM%T!>A-12bbd8#!ddOYLK6MsTw($@8^23pIc$ODrPO$As8^Y=Rk!VUC_xU_6}(bxfXm;rY_Ej>M>r@KLv)lYwi^OQ~@ksaKh>bLTCA-LY*rb8GJc zLchd3>cz{aZJSPbrPs<#7e0(7=b}c~>C<7IS&C=6@UUwix~CByVTg{_>`jN4v;xFkR*3(|TRReoWe)G=HWGk2vG~ zX5S}gy+ViUj!4R*UiCtI+?J*S&&MgnGhOAtm%W@b*n0`}!ev~&II$7xLjEnQFow=) zK>eJf%jkqdoj4c|uhZ3pljhGfVr>k3tS2!qGyfNHLp;SZU3kP($9JH?#G}t~so?#~ zbm619_(Z_(!Cbs)1bBbFSi+-TJj5Pvx6QR1EmnY}ZM=j-oj7nbuiKTtu_y4coiUiU zh3Udadoc&$=NoO$)fy6w1=EF(Vr(P)HQ>wk6`3wPY^zn*oaX}`58D@Ud~9%cafQ7P zZp9}1uRVTmr%zVk64w7eX&-sY54QHK@;e0o-p^%;M!_I}>bjQW`Rz{{>ipSkT?`hp7nw1EE9WZxBb8!_xx zGHrMQ&eqnm@0or@dn0QQ+v5CRtC0U|#I~+Pe|vmd0)Kstd!{^xoZO^BkwXYiaA3E8 zVncgcS4MN!(U6DPvAx7(_E|gX#f$o{20r{6udhp(ULN)0p-(&(j|Col&5GlZj6Aw2 zsVDW~mGw)mLciqLFRNQHM&9q8Xj87r^QP2={8zU`eR%}+%IW=HdK6CQ2Eu9KlJ~n1 zt31$`e!n||0ne2_vzor4C7i-5eP)$-cANYy-hYTJu-d_C;r6`Kpo@JtszvOTNI;}z=iIP0?VndlnB_DjpLObhw0wD&c5 z8>cE@nI>%HD+^KQ@_d;lY*b%6Ur~-_ny`_tT&#d)ny|UFzFF9RdA>{&wmZez`HFHZ z(}abuct2QNDaSHR*nAo*j|Xf=p)llk25emUZ3*hcfvXE&`#w$hdObhYw2xRe}L1EuOa!8 zEa6Zm4t&VVIYUl(zYj_aZ{GECs1qkz`!!-sf^wpF0;P4MP8_WLyqqI}<33Wl*G8Q< zuzkMB2`o+=ctY98)^6_W{#|hfnx; zo(_1sH&BXay72G|$B!+v{KJXplK9PZ;o%#;POx_uhqjw(R=AHsy?F2w@8>$4&3|0q z7;%gCwooTdG`EZgj-%7DWV-P18E?y#DtM*~ANh-&(+_Q_&<^UviTvey;LN_iz;xp6 z8wOsd9ko`*Y&_G2kFJxZtKgX~Jp9D-Z(LM4f2Io$AMv&6`GEH`3-sgg4Gp=p8G(-r zvC1R5UYdBw%1jB4XS(pw^%6o^WfN!yP$$OmKf%#%X**wHFVWau;Oa&~{ zghjnQU%T!t&zEV!M)TW51uWBqg-^R}+cokAJWEn3R#PVq{MtDam^U_5iHX#S6U}$m z0>{45kd6`4gpKCANp$Xpvh^O*goRIgT{LM;X~WF-`$J3hIYdnNN#6L7asoXzOWE;#)hyzUW#YB@R2W{40wyhrFfyavRGWFuY zA3Yu-L}Zqi#aX5WY;!Ao%gg8uSX_G~x5i5E$5AgHjNR8tw!g95>V`*BaXab7-N`MY zv|YrIYtM2z*Xpu3%o|}15PkbD zP$v%h-p8s7v7hCB2`b;Rf+Zr96M8 z3m@6k80MqJnW#dMO;INfY|6(jgE@wMTRO)uUHHhJCIjBat`yI7;UgdJ#GJ91>*}Pv zOcOSr*5yjTT0Gj=H;h-;dwZEKd^DdP#C*ZJZ^k1jsZB6l_%N27ukHP*iz|FzkLkq6 z_Yf{r!82X>$PcoJ$!aSsG_4QQg^&DTCg3?g#(1U+AI+!sOx|M5r{P_ zYw>t-g|$7?g^%XRg^1IY@JtszS|iruT4S;HK6y2lwwXF{BAY%PIEc5pAoVe3y6}-r zH{g0>G4@97DIC2-i39uha%Se>P$v$2z&WSus+U8ZIPe4K zj6GbPL!CJA1?TK|q&kN>aiV!)$D?y_f=--hUdYy0=TIk3;7}(H{K(sLdU5q~ zs1qmhr7?V)q1u>ICr;!`W4|#6C+Nh1FL~X@mdwEkI&mUD8pF36s@5&&#DO1qIaz#1 zp&Exeao|JFsmFH`s&S|jC-R^AhB-JvM~=Pg$IF?SgF~G-k^h{2qIx;hi4*zH(I=~O zs1qmhpB`oiI&mWZIX4G~I&mWZX?d!8In;?0 z`Oon=IMj&~`Om_qtCvF^Id*O3{xdcQhdOa0|G6>;hdOa0|LOXz>UE<|oXCI9%)y~f zoXCF~msc-`I&mWZIWh-_I&mWZ$$X}IIn;?0`A`2G9O}f0{AXqk4t3&0{?oCddfliK zC-R?@b8x5=C-R>qzg@i?>cols=inS1>cols=f)fy>colsXBTWd%s&<44t3&0{&Ri~ z4t3;YfqPc_Ls|I6Vt-a9-L4v0u_^s%_6jV+^%p*SpRVu7Ri4P__m$__YI*A5L!9^A z`(mX9`&yLwt6cc#=T+`W{Qu%v=YzsV+otFn;ByygmzBI^P1do@SLH>%x&ywB>%?%M z&Q4v$=f|iM2fpfiL1zOe-J=f2Ht_C$ESr<^h!HpP*(sF0xXS)Eb>c)mTZ^)*ai|jq zKI_+mV}WBWvU;ZVV!H6~SKohIf;uiP+oNZiu<%pIo(b5}y?>?&8~JAg+5y|d_f2$K zEb1fb#EJa#&>S4<#DRad%5H83PWcAy?a!%^r~Kf%?o;FF%h`5VnxC0jrE_ZJDo^i z!##A~uCu%8(YO*PK77S(@<`y@eq-P!b!58mk#EjNo}UVPu6&qiBr1ctz-eyA*n1s^ z5>D9%yYOBXsFE^?6F-{kt|a_$JRs~`c+8?soM^7=nrG#=g$+nM!G|U!~z#4-dfDb-l%|Ony?s0Z-ce% z%hrEpi5AN3*X~>JQ!XWa@MWFTYKrWv26ph}jJ=0(+n~1L5)O5t%+>L;xga8^vrAtt>nEluZ`f4ao-u2WoglWOr1(@^VK}*wlhn=HJ;wI5u8H^)=(~i^ zTf`|D9QRe?Liw$>R&sm18S|@s*E(RtMa*=6=tnz4*(|rBQF-~qDi6d^FTWA~kknsq za4Uq5b*6PEMqI>CKRaq?xhiwbFw$=DIuNgX5R`mxaThvwc0OtO)Qg9}4v^eo}v?3y(2!yxG^o;e2qYPJ(B;@E8-v?}8l=Uz$JDg^%XdB^bkpt9QcT?;e=qaZC!gS&D5gzv}-@~^t za`-&^Kve&!kS=^=Q~kJS`5yeEXLNW3$w|L6U3koGKGyaQX4qgwo1%`Kc<*@|?km2R zF$yXZ`7=#e_=vY0*`%@mZ?WwqBasIKK#n-d$ca?TWhB?y}s0o2mkVNH$Rf{(mFdk^&jHI zhhzELs;NHZN8c1L8CPP&h3|Q+nUDKh@QJ~&B#hd~bmHSZ>yrVG*p!BkWE`mz2Y%;c zzXbQgLVT*gp-vq5oO2Eajuy&1NS~BLojC9}@Bf3ihnB{{v@q{~>cxZ4Iq&9ec+`s* ztut=n-W+TiuZPE(s;KXnEc+xm%W=j?l%>c)Q@`cB7bVYI$cxXUxvkon+#l$yjoCN88qv3Bp!7Z8#E1*u@;G)FYYx6b;(}jmW zdEd8S&G7@9nz}#Ja9IR_{kZ^GhO(|e>$*6`9X#2D5eK|wi|8mI+^eP z#OlQB?BL>F26ch6CKuVm5%_oD7~1wnBA=j6oX8&R{X&7WwGTIj!^>>~)61e>JlKPe zkG+rSCz!+erVzYXEWCrAk;u8khzpx=ZXONziCyz)J&tZ4DGrZ@S1~!47;z)Jn7IQk zG2%uscQbrBv~`Yhi4hkz;&qS*M(dp-eB1h}(wQ#m#EI5Bm&!Qo*)+ycFCOBq z*RvD;{S*1k3xh>3vc!If5f?Goxn}}*lYLR$-W1pOwF2Ml5yw_y#6>*zb&EZh{u9k- zbMc82KcCKNJK^uvM|#23{xFl`Z8B~T)Qbnh_C1dC;}GHn%D$sKh-Du3T#@(PF8KFPGHI0JP9vSr+dz!C@LT5|$2G<6xWtGH|Mh;i zYX{VQpch{WsnmKen>g{|$Ih?8^}?O-i4z~b?E7(N=H@521-%}`E1$@(r*KUXd^25a z+XY#P-4Y`%{Mv2c*dlS$1v7SrL-aTPNNm5vDv#)z=ITSU@<=j>`NWAIt*uUdViq5D zpx1iai4hmR?&CjRXIyLUY}a!xG2+7Cef+jPqH?(tyWPG|)W09^G+@z*{}3lWeBRfR zHIIg}5y!D|Eu>#Q@N%ga5B~1F)3@PKFJ9#5jrAq<^(i{3C-vgN&%M0-V&mZ+D%&}W zN4g#zB z%RKCx=-!T#A&<({h<$=MwIhlxlQ??_yB@JO(hT?I3j+$y9EP-f;>1U6@iowe2K8fw zJ#*^BK^$>T+Y{9})QJs;V($$iDY+Fs_b)Qg8$;q5Da(#kE_vq{F0I&q>k!IGuMX)7U>-~S{gaI<;XhL?9Z za7(C3dDN*q#1!Y;nu9}~I8i*AT4r_RwJGjy;2W!Sako+G#f#!e{io9YNZ(qQ+7|WV zMeBx%z}t$mkj0HSYQO)bQ7m}uJ2W;99KxiX#3~Q?nEOZPr>$)Ghkw!zH&^Tp>4o7C zO%pzGo>#7fHF*+d-W8 z7;EQmyZg@g#EBop{&RQ8Cr zZ=VgA$0B0H#hl>dW%qDy$0bJGXg=t;r;Pih!th{JCiUV)*NLZY!=qljXiiv)YrV9t zxb6yXyAI7v+DVMKi0?@|?|^$DV8o5$d^@fa|5b*Y8n8-i%nsoL59xIt_2T8zGVK}g zw7%Fe;2Vjz4UeYx=ZFy(1LpNLU)>w-qk~uFJHo^S?&{sqb%{Njx|iP)sLCZqT-cJ^ zpq*z?x%!?=Pj6vwF6m$D#e*IBJ)AszcW>D@Pnaew?8dR@h%Nc%3Dbmyt@wOn_b>Ni zzQSRXlIOOVE<9|+@%Ao*N_eIV54&*uHgsYoJky1TEja#66+F|0&!_mM@Gr~1xUH`k zf0LZ)!eiXM|IOC|zN0V_UPj670Fh-16JPx*SbJU_N48^hznoywp*SLggCOT#NU`6@J(wl zzHS#?@PFdNc@=$4%JQTAQ7<0G*m*XmlgIC*;MV*e6rJ#>7Z2m>Jc|(zgjiLXN4DU&;ga^uE6Vrr^#_%YyC4I#-VWTl@K_?>LlJ7AwP1q>r9Szv< zWuT-_m?kV@nD@!8fc5?#)^>W@m(+`gSmwNb#D)iWjtOrSrJu!PK)rZ~Y0jHTdEv81 z<@Zvl7cZZ#k2?`_((=f1JE2aTLOQS6+%8TitI|F?G2$Y|`JC8@n3a|nGt<5yhFm*8 z=xwz3iium|L0(_##e+Y%|JZw9(lXO>m@Yj0z^@sKDSp;_%BT}3x@K5{{a}?bi$k3_ zuz&9h`xccrQAdhG;oYRlE{{XIaD}5J>I&t71-gk9~ z`<42R>B2|r$F)&nU60q z;=X9O}e@UwPe5&%vQi9Qc-V8Xl=$4t3&0`*sKC z;7}(H{K?C?J_m<7ao|VJv1j<@53~A!I&t7b&Y7NrL!CI0AK5;AwQ{Hv2Y%$`9G-(i zojC9x=h*uIs+B_>IXTQv&e^rNI)^%O;5*JaHwTA0aiaOD3HKJN)r~rFqWS6Q931Mz ziTo#n`w-R2p-!C0e|qQOP$y30KNsfUP$y30KUv(Xs8%=X#EJap_#7PS#EJZ;2KOSW zl|!94k^cc++b7~F_b>c++v*eT2%b`x3$bTm0;7}({a z3a_qB<~Zuaf&citeLdxrY})#~O}%*VA-~4nwam)$_jz)AD?A{moh~dHlCp_a9`Grj zUuQxdDZ$HRy72HP$G3mV%B=8=Mo16%Y!k-Hui@sS4)<5MUcR5t8a1^>dG`kF9z26m zx{hNy>tf$BkMsUog}lF}=a_7blhk`&CiAr_@6S%~(fX$TF2iI0M>CuE3)4egTAzV^ z#dWEvP?s9Db2WU}>tgMx3D@?_-1BBS+qoM4>-Y-^zO-MME_|W1E}JXVWi#v2l0{v- z-jm3?9LuzjZ%Y>SaBL0wupG-YVWT?qSHLn&Si}v_cRuQ{twMdbslN6_Esqyx1J-P0 z!&nc#0BzfB-hb3F|9ljenoyT*p})7_zG-d`vP(GBkz;2h{hox?X?x(z{X7(L;=?z+ zP3^Fs?PYCZny}p|cCrGNX~IUfQ**cF3%gvO!v=5K4yFsAPy1^q;I|Luu?s6o(st^^ zL0%q@E(MPEt&-ikv@GhyLqB^wTC%|EX7>z}Cr5E_m3QFFzZFMp$Rpbt<#F_Oc?2Kj zo))pp!_JEP*wx*mKB`a+3~SPU;@A$m7v}Bg#hwG&!5h)sj`3cwTabwMX&%I?4yc=7 zpI#1mRLUad5~K3L_3{tbct0kG5u&{Ut3qqi24Yn{;*s~kLhMZhJE@dKRDa@B2k^ZP z=bVq%VdB&QzN~~3dQmOnJ|I?kVE*(vjAOrIJMO8D4EFD{=NH565d7LX^7y?E#EFmI zbvwKn_%J6wLupUy;AI-_@6?Nj`PBQq7keJtaZb%o7JAWforw__e(QCNI`fbo z@k(<@$__a3F`s(bC$KN!{IIi@Qj>ZUBQEAYFMB8UC7hdl|GWa9IPozbdfBzu|8~B; z!6Tw3WfLQAE*)<>E9czGyY;Ev601BA$GrTTwP_xFgI-#Lq~8KYT*NgW>#0R4H)W+| zQZF9jo0r-7P~fG{CnR5gO}WH~8^yUBfxF3`^61Ok=l;5LJzt4@gL?50qrA-aIxEv+ zaDUiwvO^s@#*y?hF@d`}zJGHqa2Xe(qXG$!dhrkw+%`HNN&6={T81q4;j~lg6U2!R zfA;>Jj`+Tj8v6tF;zd4uy*@2>YwzG_f8K*?VOt@3k0^2C!-u`EF5+5uyRExse}+D3 zGcn>uetZ(wuSxvyN|&9NAx2#Iv9Fny;`-9&-|}znGCkn4Ys%J=_uBojX#8z%zt`7q z(VE%TY4`Hp3^p!PJ7aptyJ0v`4fy%5O#fjV(epJ$`99rya$K0T*;NADQ2 zGagC3;p4t0ITzAP@4YZh<-?b~|E%o~nvIuzSD5L<7hs>>#yaHvVCWN_e+1v#NS!#a zN$1$T?1U3;o1`4-#DP6}8?5}TW$P-Y1#F8wyW~F8i2S!={=qkz3wSXwj>O>Ha>4Il zrezT)el%{!0>6~xZK6&bjGLcPwlgYQc`t_rrIQH0TFOK6XhPCA#4Dd%+BcnOl=2CO zbz=^7;$Y0&#~ZPB+L~z#6}Bq{TPa|OlCr1|ysW+7+sE40Q7S83V0asuu5u8oykmWyQ7;Cw@Myr;XRY%(VH3N3EJoar>xeJ>zd(Tl#bKyTPyEiD0iM(^-yv>&73;Ca@~-*)aC>colWk1K(b z)~)B2|xzXtXn`nwFzbm0+4ydCxqa@DKkUJ28MM+|X0m`U*! z@0Cz59%6=<(}8Oal~Z!Bgz3V=KRo`PNb$4ws;CnOe&U>ZT$`v2wcg6-^%!;Hz+ap* zJ_m<7ao{)3xjF}jI&t7X&av-GR;wFzcoNXczdqT!J$qZ_>6OQ;M%8JIn;>*zj4m=931MzfzLRn5!XM}%Armi_>FT8&%vQi zoM;ZV>#=I(P$v%j$IID;Yp`k@>coNXIOp6P9O}f0{HF=mYt_o3PMpYp5YjR~<~#e7 z7f87OP!~9B>>GN%rs&0d^J86;`f1@8M~g4+4)5uhy$?pb@`>VB2j-U_+jGoo!|Qnx zzh%1cQQW#pd~!wQ^<=v6QNMR#j`(q=voN-8&_7k2ltG<1QNLeDqko(U@NI*j#_Is; z#EJTS2jX=#4t3(7-#w<@NI1GG4bjy`5bBAv5Y|MS@SPd0bdly| zQXhCLd(iLBvo(1Gzn4^zN4KRr7Jcs6s}-ouka ze0B}+p0}m1E~^LA0=9WK?9#CpD`1%>Y%axSQRnh}nI>%17gpY6g*r^~nsLn<_>$M5 z1NoL?nHKV0W7nc?b5j8up6hrKW|E90(}hQ!9bXGSoy30ENZGfem@Yi(?f7EA&;E84 z(}l-4I{s3?@4=qCU5cdjVY=`b8^?Db4op_~78lcnhtGK5oCx^RYj36ri%xKCEjoR& z?AugKBi7E2c|D56@}+kpX}y^)Jmz)BUlP9jyHZRS9&@_m+YwVHdCgn$T`8sukNMnv zZYsf>ujcYE4)pKG@FG91pQslvS_j)c^`xFniSbMqKAO)j1bmhKhM*G%bBxEJHpDHq zC4Hp=>eZzjdAwtaO?Nu;W`@qnZ8)cFZ+`^5=Xv0bLwjzOaDalZWsJn!uf>u zzINwJ$NJ3*WBn$vt@iwv+r>5HSB_;`s7q@ezTwy|jPaXg`)^DWHd^DJ3Ru2RYu*0R z?-@}iPIPV9fbn=!@8DXue`}!!Pj$rYrCvPvh1bjaXlaG^E@gXH+C1a&U>x-_Z29;x zJ>;ET37hhGV0k~O_@SF3CHpVb2j0rKubNQKlVx>cny~0AzmIbyV7cFH$KrAQ&D$^0 z1B@Pjh*ciwJ8zfOqchZ#o3D;%dce1|=2QGGlu0}<5gpHT;Sv8m|8oIv?~N_RGhKMh z0dBYUuFp=y!|<&pPDzQ~Qb&&66ZCPM37pcsPo@bQ%>!-l!%nlsvb>otd^8VS4tV%r z8J_9F!`8jMwtv?d_QXTzN$SpY;UjxL8StF1RYby}PMl~C*oL{r`pCWyX`J{Qk<^J3 zUDMqP9IhkE%b`x3D4rk3e9~#}YO)v0j*#W!O`SN1=RST5G1q`&-{B6~@z`%`M_Zza9}pMHZS9F-v7Mpua?#=h z&vfD8(;jQ;5cewKnJ#>^M{p*>ij%0ek zXLA^%xStP)HI8O3Tit|M%6MV@e3<>5%|-Ta>2H1@?J?J8(RxH$DWidf}=nBe<#?U)NI*DK`VlVsvk#4DeCn$Psy`6L?y zULWF>4}w=xAIzC^)F;^h@O;_>UirY6JfG>g^GP-yJRjmiK5OjkL#wXi?0M@s>a)i- z7)Cbs;nhG}aoQ-2rQ|6;_^sFL+}!!GeTV~IFXELCeA@G|Z>HX^Uba&6e27;*@ORJ0 z&OyzQk1cS+0?G3sUilyvG^?LFF&|gXCp`$@pTG9J$WdO16Q5IF=kFvh_WaiU13kUN zg9CQbD`_kF$`|qES>?ME^ZIS;X!%;M{5*1!C%MWqiaA$9o}b5TygPlPRy2Opi-(xw z^Y{_072Ya&pUdoLD2Wjl@yF-m`PlboTuk>p(q2w&hdA*Oi#%@IobnLYL*XUsJ|0XD z_@>=ad_0T!;~~Vy@^`*7U3k>bcvC7Jg%M&y!5@T zsAkgt)QN)_=<}e}`RxjG=G&ZK*Vs2J9J>VVD917_^>*2u$uweDMtc%h z0@gz%Kf2+4N}V|IniO;4+hJ}4ek5&YS4bB=x?VdS(v$Fz_DhV1UwdCJL0`VDy#v4L z>2;z`Wx$7>b1-ns0RjWHO6x_PIMJMbJ>isIM=@RaXindO0eic`J}c9OhkyB)O$U7G zJ}c9Ng`GOq-gEGF+1iC^!bWSlgT&5SyD(jN*rxl;b>YkRS(z?;cZ$D?`HB9GDXs-;#}d z<3zv*bjiDgm@a%YPu8Igzh`GI!gu7;{FyF1Y(K6~dzJm}cJ|S#e6*%pj{MuhJY2dz z&h(J~s(dtG+CDq;4@JMwpYyjRF{;iLLkKFfk1hDj^&6Q&3J%H6Q%WDJl$@f~c2jIw_M3J4Kd=v&V9aWfWNRE;_~4Yo{dKiz78QyeAv79!$sKpvdqi5zLCO);bHrd za>}7j9N4}4)-=}E%Q7zxDB|N0(GC0T?JHgu_2R)ky-#|v7G72sJDDadY}4yy?{{ar zWvp-!A!$~hJ|*7vq&U{B4Z?Wazh?sOk&KGwL)lKF1afUS@5 z+F-r{5sx_yezo-7E5s`w_>+%a7uJ-^!rlXi{RP|_Va-eDE#kzF{A(%Jd>A{_d+mrH z2=pwg7#HVveWE%a#U$+{PJE1q+x5A?pH+Oqqh9rf zuRG7)VUyYes;$HO-mlb)w<@*0qmRVAaCAK>i#lxUP|<@py<(!Qi#Jovi%;tsqQ1o3Zpum_KXqf7B>&!lbCi4*z! zF1)WJ?Z=J%gSj-OP$y0_M=otJ&ZZH)Vl^p)>B7U`-9D!S-p9D)F@}UojJU8b=gvIA zvYf>aQ)QcDTciAEv(^G+Gj}Ml{ z5vB_d|8CXw!H%U?&OiTKr`*6ouz8d;QaMSAqhm@Kh%Y~G(Usb;J(+0dN+r;jub?q!F8j%aUeVG zTVljTjPQA(9hGa=I@)d`aHgMquAeyZqkg^~_{N%j_JKNa(9gbBzPcc3V|e+Xw~y(< zBR)8O7uI3TnJqX?^g>~*n6`=O!sk8_U=}~ld)vF@Gv~j|6st|J2^}9XS(o_ ztzQp#Yjau`rV$&zqs#U_IX1J`A=HTz+4~Z#yPQ+L4xvsQ*rVIc60Ez(nf+c~>cqhu z>oIg3Yb@Cs!h*kTCT$b-;$fckvO2L&5-$n7K8DnZ6RoAMryQRml5wF<9L%q7*Eg|V zYUWyUlfA;wzFROHu9VU`5+g4B$hrO4|56>d54>iVSpIR6{YkmRh#SqdJ8KiJX6Lj# z>colG*GCr_XG5+Sy+z6UggSBHJKq1h9!ko=&UErW9 zn0r~&i4)DS_Fh17W<765oj9;*FQ*=BF!)`r*wZ_!AE*-tzT}*Xb8x5=2ma)o`Sn%~ z9?~xi*&DmVg_gI6I&$pYUGB3d0w=`Dl6RvsU3mDEnI>!$`|W((x+?pa)QJ<> z>5jXN<7<6hgnGYFCl2h?*9vyOb{(Ge!3%T-a{V605s>l4ZiJ1*&WRHrHtKvk|5Sw^ z-u&(56DL0G)8oX+z^{DHl{#@?o9_4Z_gI;>qAp$UGhO(|KF0%IZ7chZ6?NjkKD`XP z7rf4{=McV%a8_>z(}jm!`rLFF>zQ?#HYbGG8s1Tb@o_FOft$7WdHg@@y$gI4)%nLg zt0vCgG-5(Q3U>MWq(2ZKt9WTkt5&quQfsZPw$f@Vt^Vu#d*(dP%P?|Clgewi~f zQWyGQ>=D{BqR~2PINL;-79SV;a+D6)YsBU{hmVZ8k{Gwtba8**T<7q}bkXl&%wp0x zTfe!^;n5mO`1OAH@TQx@+g#`Hk$N@>$-M_)u5)mj^>Ed~?9;P+LQ);uM^%mb2`+)Z2I?nIQF>Z9{cX%IK@;kiJQ7o<^U44_& z>YLjoTps0Oyxx;x{9!-Q=7^tj_WfV>(|^n(Y*URt>?hi~8#z7ceOdpj=_wU0(uW$K z*jKc(L7HM5|G(_3zjaE==p5f4_A}DH(^%j12ig0k%ykZr_WfqggRw*Zm*eGkjp3uQ z5q2*_``mpe+$M72aul=t@nES_?+b;eO#x=MK(BzEyGv_ zeOzD*bDtXA`;vi;j0{DtkIz{SeO;RKzSF-Rw5f|0<3Xm@PI?%orFe4fl8(+c|NFS| zb)&X+v|xBAfUlZTxec+M$_Njd{ zdRRaDEYaTw^Px|yKX|WZ7>ctzKZ51{^&6bZ?1EA<;S62_;IN5qjWCXTk&}qbnCF@nu#CnW0o|$ z$Pa6tXN22<-{v}pkBs+MAq@|;?cMSj%bkhO->{WwAkPKnqk_nrj>u{jr3lwIBGCH4iq|I4t^LSz9T> zde8!|W(l5g4mOBLIWUZ6BK>L;5(4_oeQYBowI+y%3B$6;XBjKd8c!fwx4bjc+Sn1z zL&I4Pc`kmg&yq7Ai4{K$V;SVT*t&f8h^tNsz# zBxHv6anU_|xDfbe!uYbuGPEyJmg)Kx@-F=FL3h~#kR^YGDa*+!luMC+%Px=93+x~`1=)CjN z&8Yk>D@u{_p|6G;xdakX;z~Z<7=2d#)b`r?j!sG|v}mEc31{TzLUUBU#2ZTk5`P0u zT}y^OAmcAfquI_%>k>}uGPKLZGQLHaD_eleh#xPEXu?*5d(v#AmkAMGz z#+j#NI^*RvC|B((Xby&#PRwm?X^!5rFyVbYC1v%Yp4mv7KK}iH{PdXctOtFZlrw6> zj6YP==;2&{5Lw-!_63@7ERQ-S@-vZc#t*l=3CHqCCy{^7m#1+TZ9SRUyeM;0b8F+I z`qsvltb0%<9Lq=Aloay7*mujDa4e6q5{$`w`RumyQU96=8;^`9i;x+8)L7445kji z#xRzN%pKNaY-VImX=|sA!4W%#u?$*UNvoL{OZB1o0Il!(JC{P=3}YG8Gm&}J$Y39R zC?xHVVJw3>C1WCbH;wU)b~=YP%ykZrIwaxgeYYlj_8OSE&f!sK#HXzobFqHE>4?VN zFqVOBky(Rrmyt1d6rwVQu}q}zTe*+OOwF{;?`#rDiNE1Sj>b+Bp9zCW4sAUPNO*Id z!=tXqm}J-x4nGw=Bz-`G_7u(N%$m2EFf5BYBmMJsU)JAIJ{iNq^Ow-u{Uc?;aF&bI z8`@*j$E$1YSkj&`d-K9I5yMyp^+wW=_Sl#-Otmf1?~n2s%b@;9TC5CYaGyS2hU?~C zHRd{pM;(&zZ$-mbB!ckfI){(Uxu*>kpR&u2xz6Du^=7jlp7!qL?!PdMWl(R#CtAzq z@`myprjxnO;ZbKK{3<_u?z`{Ibw7MEdVd&ArFX1qSIsp)Y*{7JNAjS_4@><8-VM<~ zU;HAwCQS`vnMnKcLLgJu+R)aR)vp-FGLdwefPV2fOXP;34>Y#AmNT5?(9Vb)rO{O~#zS?ZK^>wH*fZRhOV*VCMn=G!YNM;(>&@V+0G(j~i$ zn(G`sQa5R=vOBdOUEJ$1jAam~<2g=Se3{^$MN3P@f3J03-$*gCtTWR0(U@g-RW8jn z4jZYr6!(;6Zj$2kD@R$8Jb2X)pWocXg!OGE>Dz%)7uF-rsjRt4GRS+wSO#sn2Sv zoxY5}H$(=NVlJ>}!mup-6WJD&nM$+nY?U=(SQZsl>hoGgo9i4tGCoRT{N7c3&2jrnS`j!&dlU#xf=h z%c8D{>>#Ysb|-7XuxwF|~%yt&TdQC}qdG|Wr7N(XbD!$<1H zW=nW;-Grz6hN8a+bC|C5o9i4tQZHytxvTKzI){(ciyfBm<~oN*y^ytw7Y333$sM!; z6MUnQhB!3+ML#8ZX~MBQ>WSp#Rr^@vBeEt8%c9OmU-3~_vJpAMSq^na3dxo=Iq)*$~jhx{uhq@(xZW-dXXE@8DUWwcr z`;lB^t)5dx(#3F=L!A=2nftrt3}-piEs=Yo8#%*S4uwhN5<}hg3}-piH7Tp>wOn;; zTkDENZA&_`$K)oQk*BpUv3u|^w_U?o4s}rEXwK(KSHoEjby4I#>PF6RmP4Hsx#tdW z+cTWyP!~mRC-yv5(%O(e6AG$DP=^g?xkx>1#C{}~oZ&1NsfUetwj)w6W-V%=J27FK zVK~c0>fsCB$QjOZk$Sie`;J`p3}-piLusQ{W3NwE{so?fzM3#B8|mk;INq(S3B$6H zer|CdvL+16M*6w2MPxU3{lQ%K!zasNOZpWIgT1{idqws(bGMQV@?7Q=2gfKp<`lH- zq}Is|^KF!5kl$kC4PS=VMzi;qnCl!K`5f5Tm27mqzvN(_u?+H9WGEiv{JEXKR*AP< zgn49`FB4Cqo{7v>_%+U7=g5^YjAc;AWR5p>7m~?dGdI^bEb5hnUDriebB)7B>JmNY zG7j%`&onHYp25wo_WIU_6_Gd?&T>dwi9;VmZXEVG(k=Sd`Pf1qkui*ABI&zlk=m%AXF0Yhi}54C;^gw%M2AwC(V}84|Q9hOrFljg%Go7ND_{ z{XGkFox?}UFMR{hgr^16Fwf0(4j-u>6ELr#bk^_BH`h6QW7sy*JB7mV^1M-K$8eVO z+c5KtMGEthar8{n5-b`<^2A){@aUr?tv2}KXR=JA*yyt&TdBmL0?%u&Yim>oNKP&%`p(K4LnP*)^Q z^gfkwv`!W#TVTsDmO-5nnYEZ7AWp4~ndPU>Q~nvoGLbgv1&q~62KyA`(-VOm!&oL# zZ&qXcJr4Jqy814JVJs7=H=8g<&y)i9Ppy^-?ViE;8cYA;n>%ykZrIwRp<^~2+> zP%6B+&f!sCB)u-eSQzEA%Wp^+#xkfgA~Ox+V2Vdq-wiR0Wl(QKX2`z29exVOI49#n z!&nA&M`TvA%;FUkz9Z{935Kx@>W#?UHpJLj((0!GRf8Ze4PzP99T~s$*^gu-b!Mk8!)2fv z4z4w?WThuCt`Db*pE!6unI9?kIV2ev8tcCWBUbcreL+s5g>UrE~ zG{ntxP_B($V~^euAog|^z+U)-Y8XGGm+hgQ5_`7|?=F7fQ+V#ulHJxBy=)I{o!Co_ zD3m?(pq!LVqnGWWtvs8{%R7a$$9-Curbaj0L^~@s*B)N5IOcq>#OP+5Xs5;Igpq}^ zNu@RW`8T7RZK9o@D`{I$n_a(q{2kv0+eV)u@xAScLdBOKN{h4wMmO6;pK~C`H+3Z0 zH2WdUoxZRv7{)T_Z{!~4Mqj3@d#-+e;a3_d!zL{2K;I+xSjLR9#MN)Zi}{Js&=(V) z^`O5IJsY~wBL!UiG2vMc`WDeMdbHCY={AD4&V*+@=r=^qhVJy3E+Nok!m}Rq2^E|# zqmOd><2S!ueJ91pu|BlPgKS(O+W#o)L+BYfjOdjp@FDQVb$Ao7+Xsbof z=6v+v!*!y^gl9cygGEpB7^go$cO`mEc-DiqRrG9j>j}Cc(PP519<-NboPWtNHh;pt zN57lg$gnQ7gOYcT=A$cY;)1j?a;y(++<2+;$L8UiDPdi{>pbPlvtG1c$FtrS^3~hL zyUvX)>qPq`I_DH;`IMc zeyA6bv7+5aN>fZ8+LqCSeqq~YKvqn z(ZRaW{z-mq&R2K!;>9g1X0%1e$3~WQM%uy@>Um!NVy8Y_34AnitPgFWr0a9}>f<^9 zC$rwGW8{rqdLB>o&PF?um!Bp%rML$E8hO@>bd)rG>yzpA6IIHrk!78Tx0HcSv{iZe zN@+kEQ_byWYgL%OMhEMLkD|LD+OAKeJ9t_x)NORIZuoi%w=uVUBHc?CFNW(KW}z4F zKE|8t8vHLj25D~eu^s46vz@VMFY}KB+nIr{nKm?K?N2g#SU+@%{ue%#eniIC9;TDg z!}`${%UVqz)PrNxTD`gEhb=2deK?Tg+T@2d&u_|0>7@J^W@IW*)(@4oJ|Z&{d#cS{ ztcYJeXE~JR5iCc0D39UyT-IVMO+7xtOpn(gc#tP149lX-ip`A?*~sht0y)E34&_nC zt3|tnHfJ=?Z}m$-YxE6)p=}eEb)ejd-?v3{;8qy6Z?x3o9eKXzl2#@R%c3la{Xx5i z_EFU7ZNtb#tl4(9FOkTL4ilDjpo~Z!(YF&M-Q>vvkui*AB5P1P9WsWoOk@qJ5rstT z1g|%U;?2otX(;UzHG!v0Ld&3W(-#$$f*7q-&Kw3uqJGTq}&NcSROObw( z4&+~ze~&467J?su3cp8S!uWRL^vs#azKVKL<=@M*%bGAOi@G7@Y8uM5u}g!g?03r> z#xkf2BD2|-p`mcDjA1N;^b{Y9P!^3HT3DpD#N20nOc<6$*%#S0zAV|Z%bGAOi#i~6 zuOAXE+irD7M`qF7mKAAwexwu09<(1OEbBl%ijI}Oj;MXR4ilDjAb(|Eu`}>vT01>d zx-=8y6;^EJsi)8v6Q1>;zK9;$Luv9lKRqTq>p|U-eIYx1Jyh=kKc=>|Ee>3fw#9^F z`G!!wX?O9%EpNiHd}AoT-Ipi(CpY`eq4_36j(ro3;%cHJ~ zdd>iB5T61Eb6_qxv%=N>@PpWCTV0C z%b<>n%p}|!4(*u--$ceRmO;IiK5LUNlfB2oT;s5)!_ub?!+qo`9?M13&Rpm4kv{lQ zKfLU<3fnq!ox`J!ivE$f=Uf%+%?iVt>n413Ou8y7e0bws;%qp}p-xIVO&COWB6|QM zb-*x|K|K_i`yDcdu}q||9k!3%j$tel>1!`{$QZ^lk-m0^mI;$0D5E9}%c5RMn$tee zs&JoZ5Z+wp@Tf-;e$c*Mhd0+bd}MsNJUe{gndFh-EElOeV}_8OiS!&fUW1L{b5L!= za$&--Y-EhNE)Q7~hGkKQB!27mBfF=z%7=%F} zoZ-G)lD-EQl}q^Jznc1vOhv+f`V7Ods9eH~8_OC{M?|g&V?QHD%L#Z-C{LzD&T!ve z8Ld@_+-hIWU(W1O&Ty8C)D;h7KVvWV+gFCMOr);Rb1w;he3~m`7|Woph=1DxJ0@QA zXlS&JF`VU4Uqp_c_cpe=mNT5?P-mn*Z}jD;ef53xZ+1%>8pbk_IoZL;%t*YlWDH{& z)E8-AukvNG+gEdq!$#&0@AzTUE%Y%j@x@%@uqZ#GcN)fX3H7|TxyE5pA0&-7`CXpbGjPaCB#xRyay%Cwq9WsWo4C<7~yyK8DjAbJAX(q;EHs1_0 zGW1Rh#-Is#q#qk9Elbp;OT&`n zw)Ldf#JSOHif#!)<#=jMio87zD#) zyJUPG@#KMFva+l!UP>!q=5X8ky*EbLnzgXanr}gwG=s@Ry0o;esv_kZa@+Z>m!yc` z*o+_gbyB9Ydpl-?QJG9u*3=}bNj#`iU6=XgIr--OYLqWW|LAfU#E0J;P?xT%Dvg(+ z1vQ5|PQUTCa=2AEQ=B&DS03kQmV5D%szjFU~&^0+YsS+}h>ym!a|jy3q9U$;8S zH^nDhKB%j$O{6MnxFWgj91y!4^F%u6UL)CA`B!_K0vjF0ro{~|cvW%KsG4M*ugh)o z-`+;9Ph^m6KJI990~4@`XiCc)T=vrO%5+ttTDm{C?W??l*>*p+z1UG610x;9=56t^ zxEz2vrCx0+ULH@^U}%*`+%NaGu>Iw1f7o1m9S_WO6q`HCoxv5armCjAqLSXWkdNJ+ zUJufjg1`Bja1+nq`8nhY&hCMrr&acQXC>HV&^gZ+~}!rPHo`I47X1ZHU!$t$Z( zCs4Yp^NMqy*k~@>wDv=Bp5^GD0z)0e(a)Czm%Z8~;#^XOsg!@XEXVCJ6Mk`Bdk~L|12N4}^n_u^KVjYBzA#8KdOZIj>u+dR$T6TIzQE<_#PL-6^ z)t2YeE?(?yWxMoFA&Tp2N4w~M2q<_@zxfu!6j|AzN9O2#EqG^qNxZbSE}pLTBZPn4 zasPt1iPL*6$~pP4+)=O0$B6I}<0gzcO3?w7m;`p)*y??Bg7KyVV=S_<^VjzAj2Y9FO9MejV0eud5L|#bc}S&NzJ4qP=5$<9X+mcy)<*va%8{ zYvaQmzbgZ~TiEV$M}5h*I}eLQGcqmn$Zo<*rpro7E7PVkfG)S)?*(=xz9o)vahBbh z%)GYtj2KROiITE(d1X4CSA2i!y))PZT#5A>O6RqXF@v#d23vLMcxf7)Ih*Mwe!Ius z=Qe)`jF6oT-R37PGgVjARwfg*oQm!=92leLgXvhqHdZ_O)EWE^Xn$?JnD4s=x4nb= zf9a~~RI;|xIN-MbCvPgpk=lET<3>k2&*PQOdfZNE4>#qc>#CE9IBht=;kNe`Z#CN+ z&GBt=jFrirKO7HjB}&UG(iM4)SN`s;V_R>*FN)hXN4?J)i-q>mRki7g@~T>jS~qd~ zr8i5(ZTWBP?F`v7gQCzFTC|GFWH2P@#@^pNdUl_Vo%o?&`#IW9vM1$->U<|{;Op?x ziONL0ERDq?9PYgP*t`EoKbSXXh_N@To4iAcN%Z@mUEv><4v+V+A(Jhx_!K5up@XMSa8*gSCv+$ODkk* z-i_`5@z!wpy$XiOcGA(01XenV!#9)VjQ%jnuP#qirt&FYKk$ZN?TC&R9tSONvCjn~ z_W6wSU@cg{52naF?%rVwZCs(^!Sp0@ShTOPy*Xh4d>@uDz0cqHu`|E9MfZLry?AxH zrm~WA!tKWe{+cPdB7UrM^!Y)mcNBN;M}t=puSuli>3qiJyTtn7d1E?Wz=AWC#m(LH zC$zttdyI(!9xL~TX9I-jxPVX+BxlLf~x zE+hRMa|?=_*rfXk$y$^}o~F6u_Id9eta;KQ^XqMnxcTFlI{Nk!z1X_LtEj82t4h}8 zSw8OeX7hOMQ7#`lM%(X`C|kv2{VAG10Zz;*^HO#3l5}lpwePz-j(f(&a-T+p690RX z9DQ1jT`n{<1D*%NbtR=W6%{pRzye)v+Xu#)xHQi>*w~)sm}8i6A`F@tlvkZDE3YW2 zlclL{Y#kD#wMRN0#Si^D%+anWTg7ALbxX2QgO?i8sYJTGwwly-V}G4Td)w()3FE$f zNBz&SA9<}3nJ)Lx7NpZMwd%(9M;?7!i;l5px{BJeL|I;Q^1pbS zRXiVetgRbc{GxEIw_;@(%M4ilE6Zn0uxo7R2oo>bTR~~M#WChKw)kdPI#pI%Ras|x z!0z(yC*ERXCg}4wDsqh9BDQ#lQC5Qvq^6R4N4Kr_ zyzPANyNKg8$8lfZ*pktcS6y3^EG;X^XYRMbE246w z=Sb@u`?&2|S&>XvnP#V(I=MZtC1bhmj(Wki{9#B#Q)W?pIOZuUslozz+H`{M_+8_T z;dXThkHfb*=6^Xh{aX%Rs-(OQx3bL=uG`*YULPL!zsh~aYDYck+MfUYOANWvb%~N1 z+^|HZ;Bebr?a%2coXoG1j($4FEUj6gou}(6GL(+H4CyArj z?5e&dsw!*BD@*dLuYd4LxO~yGT@?3epQH|PYg~~kOJXNdwI3n;<1Smj%bBaZ);+C)mf?|qg{P!R@te=v$-w! zW@SbO6tsW7L%Zmuu>e{Xug-5Ad|Oa|mC1NjU1=TPA$F(5 z^InqM=4nU>N{fDuxnh_3lXa1wd9Fw#$}2H=%qu_c%89?{7^h~LllzTX7mW|a@;J1g zB$(3Hlm{J_J58SR=sg2;jO8?0>sSZRGF_Zn(OSQ#xxpX#p@=MPrahPOL}?;fp4a-> zp|N+2X|Dxm%8!jNj^Zo1`{}Z6`%hs}LBPtLS67k1+J9|6Yo0&!#O55fd6i?$vkRM% z7QD7P5l@xpSMK}8CSeRj$K#yNNyi#^wq0IX^BZulqO7VK+)(7m6cU> z!OdBBxxUvc!rY9GH&DK*Y;AR{h2^HVc_#oiXCVIOp>-sFm z8c)tVz{76gvbtn`>mPk%(*_x*=zB<%zjIt=+n=!d1psbx10}ixUxvhs?c-HtC3U5# zeAXym@wRh%kKz5((_CW)o!XfO&Ol*k=ria)QPph{wA6CuXWs$l@vB>5w-Q`LK=g;7q|t4aWFlwfsG|~RlLo# z8~d*X^U48;IK{mr@3AMx8N<-*sbxiJX+<(w#-l)YzTe}`;yr!(G)+D?;4OV&YaG7u7 zGQY*K-jw5m>}#tnFHe=m^XwJ8xh9)rZD^q!PgT-k0o#l-?fC2f0@zXSaCt?K3)>IL(ueH4U3hJn+%d;tz`E z;awa4o|keDv!7(Vl0JFpAMUt6?mfqO{{;K7*0Git`Z0NGFeDALf*#MpExdT1Yb$%i zW>aCqA!D*hdD)(dmZhd`No%9Erss|}%FymtRpL$oo`^9v-RbfVZ#kCW^Wn+M!^dTEYt8}sUWKTW!oQl(5*R-~&_@qEVLyT#~z#B|)oZPnJi(rso_ zJKm!(qkdjy21X+p?9Hn!#f+$e-d1Z4cbe?*RjD$nP~zUV)jO`b|wp73}3GqhoO!DyeBeCa|*ZjGXGa9JgGX0jLVGL1;4PN2Z0N@}p3rz+1r>dQfW zkhCA|n16H~@7%Pn^s34#Q?*rTo&~wnen4!SNs1sXl6j5C-Dy!zm9I99)mi$gfH~ZL zJe0GRwlS}{h}(}wJn36kQ(Kwe^Dd8i%egL2;<`A^F(0$!2Mr+EDZ0^ER*AQcl&5&K z=uU$Vyo>n#G_nS;Ezfc(A9v$XGquYVc)dlsgl9!=yYG7?9PjnWDyo0O@+t%JAeG+; zc!|1FJky!Zb6or{?>1iVXyNtR9eK5TVN)k@EyET*?99Oq;e5*3&EEZLZ2VSUW3Mjk z7Khiu?Vr>Eq$^T*K3OKj?zI1r_c*tGiQP@wuXXIv2+JHq^JEd3K!r)eacM%Y>>*E35Mw zZ-31j#`dJ0UFlfg>cUG!=cJin)L4B6bAS6^aY&rq{u-aPC}s7#bqSE0G`4Z7p_D{n}V@$3D4 zj6E-}G!5_FnK-5siF7hm&IQM9^RGF5#OA!(DP=Ra1k+eCk-(Nh3}*9)`%O9bw?^kR zZ|c^M3a_-XELB-1TXnk0^9OS7pHIlM&y@bc&x73bsQ2pNMopCr-@5VRn>p#Rt}uRN zyktcUmOU!-+wb;{NAD}8V>GYrjdnag5Y}`0B9`g(aR+Y0A2Z`**!{T-RwW zmFnHvyymHRF>{lt0jV;)YbTk`v;BU{Tg-blHp4F2YsxE*c<+BhrlqC6HPg1F!x&D~ zR#(^528-qHy0^`v?|ISj+%UGASNjq!qZp&x@*-c~xM@-r119QQiI z@@?99lm2+(5Dx>V@@j8~#ugiM!F}D;d98Cq?B%9CwY1nIR8pDWo`#}e9Z2@S?fj&1 z&h;UIN?utL$Ll~ie(wB#(Cb4L4Tr3gt;{R`o#{Y}PRY6wJXpuAz1xSEy^&n+a2E(!prb$HV&^IVyVh z@EAM_N$1MustW|AT}CI-ljo+ z%R#@-0OPKPUgI7d#LjlGdN3?;_=lEjcE~Muuw@Q*G1$QtdtU|{Wnn)A8)0F;2cvZp zI&>V4LF9n_L$fk4Dl>FwHVcf4cMhuu+m|yy%XLDi+NjKt`xaQUg&m4HC(Q-u&^pfs zqqc?)&7K4^tBJX6PZT7$>K|HeU$A{G>_{+t2EI$VS};k^XqBPlm=dw4*>s28Sq`~+ zhg_3GZZQ~=#y_+#7l27WtJ#BK`&s0k1ewU zSmN+97(f1+)n`#M{t=9a(jHIQeJ#ZH8ydDNnhgcRRNFr^8x1Dygl5NqA?v%8s|J&} z@6KW9M82F3CheGJXM%|@nl*umFPgQ1i7%R63Wlur50R%o$d{WVIyL)>gRKWcb@2~r zo9PeIxe08zPr|-O*o$CNp3#j22gz-V*poJo0ucKxSR?&`L$g}Uo5Xj`rhtimnoS2w z7?n9XKMz)IVNZd<9skfeUjvhT&};{o&Cd_OcnXr^%kBq+>8N!M1hdH<>W~}dkgIUW zod{-2&xv5X%$^g6nP3wvX|@LJdCFuQI)3xhjN&l|p_Qv2$#%G!x4Nz;* zxd_abf0uxjTjVx@Ra)5FV86DoClLXTdQSYFaG&PtkUQ4F${jk#JLJ+1 zc8Y_Y;jnie7?RXKbo@T+V7EHhcOC2{2m6PE?OSB`vlPtMmbW|D!w&YogOv}r+gl1| zOV2e9_7Iqi&vZWg1dR59(V^MZhuh2i4Pdr@Y=c8?BbcpDKTdKyxY53BIU-z3z!W4n z$n_V%r0>w|cVLocntklhx#yALJY36_fyp&FlSAaoI0u{LU^5)-TrlZZw7ta+b{UxT z?^^B#uo2`m4$U5R$ovZ`en9R8}+YcFprm4#~RDf|ak+r@^^)KmQ$2-_qFj;SvwuFq6&NINq z(H}T8y9w;)2Ia81M~7{XmRkvS49iKKp+CvqePEL;>^(3EFK3a9L7}9h)EQv|z{avp z%_f1#yiv2Wz$C3TI|pn&>y$hedp`m@*}?{n3FDyU4gq_Z<-{k^xfN`Sg{?i-^Uk-h z{wQRUR$Av!FzFwpjTL+4VCS+<=|6?t1h&w^{sV@t#Xq#%;m3I%x;g)lIX?YC`JM*r z>yvQ)FYIKnt1awTU=u8C|B|p=YkMVNw_D_X2_|Jw%N5zL1%oe|Q!TMWt?gSG*Wqe0LDPAKIsM8!l z&DzR6?>DSdv#AxhM`w}SR2hyVv5XNM6#Q8*iGyap1nbA4HG2gNQ&s=a>;o`Kf6ewv zdfrHjTq&5%UKJRse3$m-gW2NH3MOeijOFP>abF9D|NTR=tpH8Tu>27mBu86iIH~zN zd{ zhHkY>whsmjXtKLxHDE(6>@2V%3tQokTMZ`u$(htp8QkDtkAq2ntL6Rxwy(vPonUnq zHVy;6=@xc9m`&~lhuo3lJ+IZGa}Aiy-kV@kEOI3$+SvsT_5_&Cm$C_VwhpY#;>*Bl zd%Da7v&HW&Fq^m@Tbu0Gn)y`zsE)ktw^*RxteUAG+*5 z1Yqksz6&2i=mZj^)3<487p zCpy?k4tA!4H8@xsm@R%w!E9-Eu|w_(hujw&a%&vyRtLKs%-Y|A+2ZhBht9{rFr?_R zuKWwkmVdjY?e_KpyVs)gJ7BiH;~6kp9{mCg%gtT-xdZF~3+q2IT({9}!AP(JEpp=> zY!;Y|^|j7=ut64`=Y#dNu;mVR37E{o4rX~eQ6IhrOwv=cyTN4qqS?0`?8grF3ot2z zTIY5LdlyX7Ov~*AlW~t`11E)ZL(L8c+lA9Zvm?MBrUb&F**0`IV+_h+eb7<$wXi+G zq>gEw`#RV`U_Z6!d<*Po3mbfr-IoI#tOyKA>L1$A`C#YU(q*dMmtC;%B;!`CGY+ZWGbgY9LpcN>_koZSglW|4ad>^KYC{giO-t9>~fOv;4J zk4X(B@iAa~uujd&!7!}#56#-aqzr1d0!-TLLs_0qWbYxc!F)}#C&0#9n0IPer?uQb zFlo;;I}A+nNb;CWkS|qWl1G}Q!6bf~oeZ`&`>EME5xF7`LnpE~7fkY@h%WL$Y=J}W z{D{3G5yF||E^+9*GNN<1lDiH}%86$8g2g$!X1|H(9HDf+0VeU&>>Y>Pdtj2DS}r!t zuCqVb>FmSd%9nG&WL%)xf(RR_7807~YTIcl+xmz9VZZKJM)H=ThcAPPn zWAD!no&N;8j5{Q)bNLL<$O}4%jG*+-qPvEa~~PS>YP4j^E2*Qdczl9oTIad!Iea^ZsCA zbI%UfQMAqrz-0WQ*$rUxxbSNB!8ur4w8ZbYb3N~S7GM4h7PrV9fL-!VaDr_77U;F%EV-7={%7q2)dgCSzyKzUpA#cCep;NxyOg+ocmF|BDXxs)PL= zY!}w0b^gJ@{s?xyMQ&C@*f(mO889iknk@pGZPEF3MD9oqLnn&+FTkX|*6cT6l4ep5 zMedD=PR-r{8$KzcHs*5deGTj-3tO5A$3$A^RbVNW z8_j1rQJOsmCf}dY?4x;MpL&#%+hcy1o|^3gCi#%fZuJhyV&V4?$(N(DSZI(~Ihdqb zwoZ&M!A5a#%^JaEJg?ao9Xh`PChOi>?s>4J#onGxwz#A11e5Zjb&do($fEN^ht886 z>`btMtW)M*^e3g~JTMtUYqs3Mu5qy2ER0?FztjJv!2hMd{|{4u+M5R~Z3D5#!DLLW z+oBi1_T@Cw?2ite|8mF;Xb#(2t#cHZ%xN{N1uL@n(f}rH?J*pNP87d(Fqz|Pb_1C7 z37UO1qH~PW`3*4XV>SD(gZ(68Ps{z%A@`a??rpFs?BB7<&+-M~yiT*Tz@D|pja=w? zpRuq@!QQm6`7Po7Ty1X^Se-@g7hwBPX5r9suP+McJ;f%7|1Smq7udR8%|$JD3kJsb za(K;Z+dc2E7FODUIg!PecRIs_LmpZ!QVTwf5y%u-{tj-Mh^5{%z5@ zetB3Qw9Y5MWPDM=@^m6IzXH3!VsF|7;WIK?=S^VyurAHkgN?MXEnu?#s^wk-i?f`J z6X{QKZ=VZ2?=B1b4%jbw!ldP{#sGe}Mebg(ITp6ZC1H8dIyZq`YLP2n8K$+Cn+P_* zA~yp}*37hAJ=g||Tz@$7mWBNdEEY3R>-_s=c-GD$_sr+QXSB6k#pQN;hh7ohGtzQ# zuy0!Iy$&YthSPFqUls1L(QGByMvKmpt39vN68H7j;Q2(0+^lQEXSlSz>%qz`a!-JL z-omD=@@To+KeWzUz$RPR>kf9z7wkGO06W8?bE|_Ld7WMEA~0Lr9|Ys-7tHU-JSG3b zVEb5nc>=7jg*^*)AhR+)(}{Hc0coGa?U0-Akh|0& zcb!9SgG26HV3O84%^n5Y+mfEofE6*5wweB`mGLq(QF`?+<($+ zj6*IC*3aVS2@bg$hujpf<1IQb2a~p3`?(ryghlQlFk8Aj?O@x%5*D39Zos`L3tI|y ztcBeHR%c;vfk~Or@%yKP^|>*uV_I$>upt(EM>trOgPjaE#-eit*nSpvorB%sV4EH6 zrw;bIgM9!dVpTuj z+B1m84;bDod-6I?P<0QtdyCoZ;HJQ zVA8&5wh3%Mi`>&-w^-QRFNSkpt@Bc_8jIYI!3J8`FTo^Tw9Z$+q)*lCeXxBjI(NG{ zOfxNa2$;>6F<`bdOFCEzOxn5%_K8kZmZm${90zN4u!|h*8V6eoCVS2*l%EfRNjcN( zX|M!`*X)15Y&!Sp1)yY@)@N>Mz@Unc`qG9Bek2txh+BNgJvC zTnIMQ;^$=!b_=W>Z#LM07P+Nhhg;Y!4xL{Ivz3>7 z!6Y5!OeUx}ZwEWwVy_$<3M3yYISidhZY-F@PqP%5_@dd#U=sJF(m5aOAik#AWnkiq zW>-7p);r|xbI3jEko&1a?k$JhyAHWMzG9ExK47+V8RL+PJLFDr$er$xTkMcq=8(J5 zA$N;IZj(dqdk(o@f!WI04hP%gt6{m;{0w&`L%`O3xv0IfF9@Gwg0ZiI!%{GGBo%G_119BKvp;~zTt@ry&xlUV zhTZ9TPq7c0{T9rYe{X^nS>$%dO%jnC%VFq5@!Jbb%9&>SIphuolX|D+W`Z5Zb~O7O znBCo)^U{WTu&YwBhZ^4GM((y*M|F3`Po^WrYW>dkWd}=n|!7c-{`FRuADE2|e;SsQm zg&l?)t#J#R4tBnU{TQs)!gjwetee`G(O^q0a$f~oVPQk>5AW4!okxL58=~1%u*DXg zkAfi!{X@$&d?W00G&>*cI*Z)LV75FO^nl&ZI9SS}a~YVdqiA0~?_gg9+ux$|KCr$P z_7K?K7WTM9?kTY47P%9@iT#qh7^vgW_F(wTie?+YcDLw!08IKLE%zjtt^NENSbvMo zmmG4xb+A7=bnbA-?F6&s!^aM}z7N^sFbK@1b0`>RL-4#0B?Yxv2Y}hqY&h6qmNc6H zW-DiBfZ2Tc44AE)Ep)IIV7B^j6__o4*ErZJht6BUZ0T}`gWc!Q`3RV;4E`9*mS)d@ z+2Z#c*ls+@fPE7+A5xg`(V?JaY#6%KYGn5|A<>R?wobY2Z+i{CX4ovR%> zZ*;IV4tBGHt#z<3gGs)h$oWAhir3e{qzr0yPei9?_c?Sv1U7{2Xt^iBqbZfbTqm@R&5!E9yeE(hBLCjE-G_Xya2miYY~ z>_7|qlSAjb4!Qo1*zxFYia>G#mJ+y&Z*K)rHlfFZ<55R1`{0D3S=ew3``hM7+X?7u)^x>La2`1%PvuD7h>}j^=V_`d} z*=b-CEq<;Av!&-cFd3g|o%cB89(2e(;*k51gFORg%ZFb$&b)@tICB{2cg$@S7Hztp~e;!)tcb<6(KxtOe{d7P+UvBz{`%Suh!U zYxWA*xfY$tABOMW)^hb=6&ATKft^8#fJ4ju~=7YLXO-W4!L{529p6CTIZu+M;MgDeg{@%VFx~8*Et4E z+B$7-0+=m+6CHBrfJxh`bvA>IwfK1_nDo|L+}Exz>siCyQR z4iHiP%|Sbf!bIv%zd}UkEnJhy`O6 z`jd3s2-eraZUK{iO#68&*Z~%~O<*!E&~o1gtF*|y4<>DhmfQR3aL%P!DVWTCHM(AFTdkt)og&p}!n4Twb7&?*8W5L81&C0>Vo@V30 zhOsWq&Hy`vnaq>uPqNnm7Pqjw!2U#maA>*fp9|$qHbMM=sM zKMV6#vqQk9u^r78fk``|*`;8oS$z5B&%<=la_@rmWqYUanNFnYpJ3w4sfwkyhVLlR z>a?vlqe6W*;;=?ib-WWSa7`I>Js7B?5J&Fx@dL+n6z0lSe{Ol z?=!(9k2E_6YygMXY(CiT%%mTrKS}2zFeww7Edi5$TC;1xWDKU+IxrbeX!aej6&7Dg zUJm;zEqA-!r!8|q-A!1iXHr}LRk0<~SN!|1|2u>Ir4t2DgMEgt zX?u5o4Q3`~ivA?IZ-K31rsb;N2-{@MYQY*Ua(9DC8Jxvo=tTCu2`24}X5R)I$l=f8 zGo488Ct$<)nr6QNleR#!_rZo+hHa0O zHwsERPX&|qTGnrbHG++zKX9C9PX50ncddgxq27`CJB9RpTmVJCsz#B2_q z=|q0M2DXu}&EYehh+X$5&-*H0o5N>15gYSo&pUyy&EYehh|LGPj<418nNGz10rn-n zrrD~u!~0{J-3KQ5K9}X`L^_`UE8}aL{Sz!{Va4x+&-7}!bHMsp{$nUKEfI}ujoW&;@1%-ZGy1hN0_t;!rlh! zOMl>)XHNdVr1S4!QU>QMw&!0$In4%xE#&Z;eHKjGdCk^&HRe>F5(K!ojFAK|n+5Ef~Y?MXrA+RHu$+(IBq&#{FOxgm? z`oA0Ik!FLyByTl43T%YM-brBc4KOXYc8BM^-Ny)O_PKwA;}^}o2zHId-eLd5o(zg8 z4lVcg2Vq&#Y?qyQuagnWk^2yAoP{MJ^mPk+8SEYlyX@bd_q2tb^dZK=mN=aCkv;#e z1(R|40@h6@QgtiX7`~?C{uJ2x%%mRDpCp(3pRj*#;V{BZ29rKOv(v%)a(K;VgB@pK z*MgmCVXuSjZDBjW_OP&jJLLNPC+y?2pXFdh7M-Vqm0H;6!KPZ+FTn;fTf}ENQCj~F z?2z5eMeWOfc8vw&PtE#cQ3}P$KQ!BQw^-1=Xf_CJibd{hFe#r}?(p4X!Q4W#aZeH*O8!rlQp$in*ejd>?pSQ<>qwbTm=N^v*^ zOv<%pr$^-4S+~f225crNz@gcL{bE5Mr`Z-TXGg#cH%+YyB|1j=aE(um-k(&iJ z*}}dKHr2xZ0w!&aws+3^GjfhEphKVIOd&Yk(&c1^-lZp9M~+2&XGf6 z!Mmh8ST~(0_=jLpAGFTn_lpJN7tPKB+se8$J8FNVi^Z2ELu1~17P+Qjv0zs;Vq zEnqU1(sC=n-rdC*)U4^Cm?v$qW-o%-biNM8Ds$@J8xHm+*!31)mK+)j_Sb1&)`AVU zq}g}D4rJEJXF5^xKMyADnP$HRE24lnH2V-t+E2~)KP=`QY{YWp%D_rF-?dyrQOsLo zk^2DbSquBo@L2HeVXd=qMA*J)wg&7o7M*_sllg;|8*_NftGC4A3nRlk(sCQYq<_%t zI}Y|3n9a|Fj)-~NExvqsWGqp)*%!cMO-}2) z6HMl6nmy`Z&x1)FTf%nfMDA^Ou)lx};P6`RUkM-nP4*S*KCD@eHBc`*IMpJ4)&&l?Qv|_=PczqN++t*gTbVY zT&CCoU{a?wJHo+A!S-ccS}x^~o92*f06W8?^SfZSI6Mv}{jK(83)l>c&V!2WaVQ2G zYLTl0lQdh-Vdz9@eOg3LvnDW^kF8L0mx87Fnr2UdO|-DRj|<1i7bu+xunO*TG+R&- z3-%pqb_bZunKgR|td8wmsO){U3s^me*X)!NFqa_(I4(0M|6jV)G&WqH(Ck4lX?HdIE||<^G@dEj*)PFrENn=1ELfk{aw8n91Wd*uUr@eG29vqu zb&7o->|?&B*`qbF;C_H+Pl8E((Cn9BQg$`_6WGU8F>q-1Rw}GVn*9Sz#@E*yasOXZ zbwFLrE8=Tft_n>0fYls^P9%34STSGIa+iSF;&&~WEq=FyB`rE%0h4w@+xsJ!#P0@{ zrxW?PXWAaWW56VSH!8VWFkAf22a`EPjxS&vSeItkPYl~~&29#hafoKmg4xpS^@z@! zR2=@~U^~EMOsnNS29tErZ0MxW7tM;nhO-ZvoeEaWY>o2svtUyHG`ksWv_GHqPS9U0_F8*s~6uZ-dF0LHoJ;lrSGOI|M9Yv3DAn zEq>>Nm0IL(2a~aewznQ^e~a8B4tuXS?Cp6{*p_R12Y}gpIS5S3pq3j8HrC?jaxh!m z?*X&L?+0LVzv_#un@%zO^qU%vcQrd6Ov?PtN^XXOwSY-I(sEx0lQOT_55Z)tq1oGD zQg$^PeR4R?(rh`HP3P@kV>n(~?q^`OID7;W*FpN~0o{sc_suG*K$XJD>vNtcCZhJJpTeWDWuZ+Ea2VEb`+Eq7f+?p6*%C(`*v zunzV`*87C@J1d;aXf_z^L<)#Qv(vyNt-oS|`2UibSzuB=HJbw_Wl*zrFsYlGT>&P2 zxMtsW$UO}vZKRfa4{UGtU9;HPb~X^q7We(Zq)uy{Bf$1xdtc=i6Y`leyo*k|UXnPaEWKBS` ztHBPo=)4nbp@j|lOxWjWomF6`S>&z(>u+H zookURJ2xD=X}Qb5Z1(N}OImdP4ovF1)>(9(ot+0J^II*q2CRhbt>ZJDC|#ZadxNiO zxeaqdxvz5=I+5HqFq_XsxOSo0kzmqZ zYjy(IDaMr?U#@oOycta9e_H1=VA6+cw%fe0Ox(eC=|ssf2JAq-rdb+ngoQPM$=ZyT zTLpHAMeZJl&SxDu-*xC5Fh876YhOlz*?dWX9cJ;f!J+eF2fGDK`W)@cj~#NafysDR z%e@aKey(SK=|uUrZ&O(RG@ArAgu`n#8*Gw=tp_{K!k%}qU7GE3r4BX+>>!K13&HMV zb|;_dL~%cIL1<62)4^nJq1nY?GAGgOelWRzpjp|%u)WsocrYnvnw<$&#lCB{8cfCv zn%(AL8^EM3*K*q7sQW4tBUjF71#z z1x(UY>s$yXeZOW`g2`A)vu}dQxJR?c!DQV=vzNi-{()xmTEq5Jvz1^n=F{vNu=_3P zQqdOPN7r&Uf!TC^#lh|dn`W{10a)C^j$Rz|WQ|Mv@&hngi_>hz`C+-%>^uis2zHOf zmm%%py>5pUAw`Z3K~!Q}ptW*34TX|eZpuu2Qt24-tt-UpL;s*6gM;kaUbfR+h0ocWSP0KC0 zAk06h+ah;0SSibC_6V4aX*K%?*aa53whP0tl$N^!tiMI>IxuNNwA}q*((Y>ZZ7><1 z-OIY^MCtM(*nGaG<;GqVj-fT112&H3Wc)*alFqMyO=PC!-T;&Q(`*Nrj6*a#>a$@z z(yRh(uEpM3Fq!9Qxo?0;pQ_oDVCPwM9&xcf%~pX)-IV^5)KI!?aIh!9R#@zfyCmjK zx3KHMWPbY%4nrrh_XJoOU(@WLU=zrp?;q-mwVD2?^Ls+~URWy}2>bgWUi+di+7EFb zihJn?VD5Yn%HttuHxBcPyy2KHAC7tP5$JbDVH|oC=7Ptd&pQ_LjpMKuQi}2t#~i*K zWup?~_bR-T?*!bt9EbI>6TJyuHP*Xo@gDO!jI}3Xel{7;QJ#doktbul;8ct^PD44J zf&E{nV?WcG-Yh)HbvE80H54_>NMer;{{j=Yr#`UtzH|( zGUwxYq7LkPS%Q5I%kW*A6=*{*^e*x~i?;g`Z>4uB_Qib;>)Kaf4s@k=m3KAvmR^gs z^Dkgu%JtrAynX0KywPF}Mua!xZ4zs-yY$Q6tymxa3f3{c=B@L-j%R7^@YdrE*>~Y9 zLK`rWyBD*!`@L@<2mbHB-b#UqDC38ta+F{(cn~TO{d9F~LPh@&U{5s4yJAu{4V~R{ zeee$1U9l$*ldV6Y;n`e-_k^Hg&qRZ<3+hSb?w)r!!bE@eK!d+8#>RyfbV3s&$p#NTYPYiTl487~& zbDtydJUVRdh48ZxhJNlq+~y%p@-qnWeje#hKjj$c(a#p>S%9CjVdDhkMICH^2p_%$ z+vmdHAqe|A>~!^WD15pF<-zu|AN);I9%13x_VZPgg(>*?3&POP^Uz5@3y~k+K|Bvf z+MbW}`#XHqKU0tw&m+%2Kw91gEHKO>=8~`-%c+JiW6SDcFoWoLb+RscBo%+BiKkuO-va+1%EeLjKOj<#c^RXIuM< z9=Yyk8)Z~mD~is^NZyv&Q>L}IEk>HJNM$-2+M5@{NRMpHXlTkTs`pEy`E_EZHPc?- zQ?*orXJp!&QPwV~r*x@X-jG>Lzx2r4FzHh(TI&}zH}p=z2c@`UcB;O!enzGLGpFXu3gg6*|w;* zJ>wUP0Q5+GZn{nmF3oMBMyazM^|5C*bVc#&V~ldSP_eiN}>!;OsHuXqN zkbYEW{h~^WdnYAL$I-$qXo209h=et4dZxayhlw2KT-X57wVu_sP-|_Qq(&jN&gg8% zV55*4x%w7TWvbclNByq4=e0p{-*0SY*VdyFH&%Bd9p*0S%uLL5_H=ZStv{8SSHGl% zIt#zOnV#urYrz1iMS2lfv^zQwJuq7Mt#eYOwVeC zY0${G`eqDGdgL6JR~oRI%0NB_7ki{SXCPIO+|SM~E?-#}F|6%rYsOs$4=j6>3SsWk zIHn>|*V=$#YtJ$*E4qGHlx}NZR8MucKv@?ZsH$NZhTF?~Hj2-6U#^5*QUPWqqSUl> zRIz2I5OyX#%33bq1sYjK9V|@CMj8vywFgD2WA@~ZHVpqWGn*F`XkHuEj*~Gy>v^vk z%#%-@y8zSA$&EeA;LtnMHr6beH?OBvx646u&64Jpo;C`hvy-O=Q`Q2N&FrdF*WTXN zUbhr8@ap#YJ?qLsr>WoRdH#p`rqnO3pW&|u^jxdy4*b=k0@Np?%@oic70;ls7r?2U z&bkmqGP~GNbL5ZP(4h3f?6XHn88(%LS(eF;IWNulLqGIEOPhOI*G&=f_4O#)MvtE< zJ<>zT2XC4i(bu-lFFe{NyC;* z61J_i=Pg-wI@H!L%CyvCSSkafQ*fa}s%Jrl>y*?5AIpVH427#wISpWe8UoYbhk00- zev^{5Fy$;K-UZ05NPk%XZDCC~xw)eu)6!DknrU0o(eui{iD+ig1!`yX@D7>O(OKWx z*|T9%Sc?i%D#Ik5+T77uxJ6bP#Nl2ER+xL#_5~%|zuS;K-RSY%fH3Yg&5h0N<|b8r zOStIMBiAXXq>;_E<30&>h&|8zAVmsOOv5yg>0HliQ>ZhXUKgTd1yMJ*o@P?%3a<4i zuL3O{{#|96G6t7>q};TD(ACk|zJ%_4_DEac6K<0S6C2690QSg4n15mSTF861IUNn% zcVWB+0>5vI5X78D`tiTymkgUnhcU}TUq0O{sS{pE^FTg#9Fja#!`yQnP4>f3SNRRYH zijvvA5nSkz+Uykd`!N5`STAIkzj#D?QMY>Jb9PVLV^vhw3ouyCP04BP&5N)(W@&+L zy63FS%iN7p!28d;|9KbNz_9C5{-IxR&}LV2EW;*H`Q5Pp7yrAaxHNXrF%O+g@!4&+ z!S{^&{I)6g|LvsxFFs_q@ij+dpB);ig_B$7wRy*3_e-Y3JFcU>;kYLMe)im!wuXh~ z!o22|OviE9c-9!%c-Af(&laGmpS_GXoK4qhbwSm3$}YTuYAtNyHiY}}Ox^_-sJaxw@jzjRUqU1kgUh{Or@`Ma z)PQWItth=|3F~=S9qR0D6P+}s?`0#IPTaH#Y|Q07Wd$w)3o|R0(*6C#7~Tc8dZ7fg z(>h~s8o;Cl^VSTe^98rkLR)VeWDn;ee-Gz^#eA#1F>4QJA#%qzw_q{v{wkctb~83E zgu;%jKE2UwnQ52tYX$;no(TLdRlL3H`}XwMZ0OcdquTm zG4|O+mV^qGooI9T)=Oc#dQ*4&em=vyKSWWklz&>z3{O4^Er!cBYpwh*N^@(@8G%9v?lk;c(w;({s;H;EQb zEe#CA`#goyYkJ^96*ZH#{#d85D*Ya@ur)2x)fTpWj3_Q_B1k_`Sgro_sZc6A%-z_+ z*IHIg9fbL{;Eh<01%IMc;DibN_qERrcOe#{O6Nqu420x4j$Vrkndvpr)V;b5k?7S@>iv=Fi<>a0CkZDJCHP7btP9ZUOg?hh`bYgEl?tjqZ z?`Gdz;iJ>wKlmK1an27Od@j5xjtOqn_R8pON$~O&s!0_I?191r$lq>Qh`5C6c?cRt z2X9~T-|R9ke6vfhSX>sq1fsC|n_GgGweV{MVZycGuEtz?Db9Z}>HdqRI{kfz9oTn> z_n4S{hlS0ixzT;v;aIp(1BNi8(6Z5xmoE5QwhJ4La17OJ1zPTC^->JNwC}YT(8_Wz zc~7bfy1W<`oIrIi6r1pVWkJ)021kV*n1sn;#tCzSr=@$V9u+h}LibznOiZs8aJ;6W zsh9j-6n#9Zmu!UnN-r5OWv7>vhwGq$fp+XHeFHyuQK2_==fAH#;e+pwePPanw|aYT z>AU~ePQm+B2gW!3r|)ZcxuJiI$6Flnl16U=-b{%XB6@q^&4;Jrd??*e!^Bfq$OBTIz@XzTu{~YqC;fxn7;{CJunj79CiI-7& zS76I4RCur9BE50GrRdee*WMoOHw;cb$5xuaJFCl}&;Al^0!*S$0Gw#Ry$Ka0S{I5*%8lxds? zAv~qQ4#aZ~&P{mJ<4HJA8s*_FvxqCgAB*!3U~C-DWITgY9Entga}oS)!ubu@feLRt z{I16NcSm`6FRkZ&4!jxXf5M+dIDZyz&pZ+5r(k~~&W|D85H;WD-ErOxf8&LgUJSer z=VBz`&4lY-3G5+C-mysR5}Xf$f7s~k{SfIn zALk#8#uwvo{t}co;(P$?A`84y_+5c>fA|B}z2o4=bevy;^HXs?9L{y%TmiWToR^~9 zO~aYq`kKPIV^`!c&aXgE66YTj;jO7SzXv@taefx%^$eVwP_B?w-m5XsfBW)rI8)iZ z8~#J3cNd&#!}*KI#}=HY1NwOZzZc{0U!j~Fhw~MPUn$O=@E^##0>%?Kf3`o$3eK-0 z5)*Kqh4M5O=W$4!lX2dL9|Z9}Li$g^`TvgpFQ>p!C|$^C@5o|PD$g5-3ph5N>UkIa zKkeOxw-?3V0O0#7C7^V7H_}o{cXxLqEl3E`-AXFm-Q6JFEh!+4bV>6*dw>2Dp5s0D zIkPb{yWjcles*R#+;L^pwEUlcXB%`DiGn+SKlgpDJER+gkmDlK7R!Ai{Ikz;kf*~Z zBDv^MH;i@pvxpceZ7V5qHMCw=mU(yvYCRFs)n2V-fL{w4(ew z)EieF!Ba9gW?glyuzo`tH>gj(+|t}aPLS`gJPV{@M7tnge*4zQ(?QgpAyVg7cT^Fu zrS+g}aJ-;QAL$P1fPdE0I=`fzfWhY);hc*y#=hVf&mB9Z^^_uG7`8aKn)Y>Yy;pSH zx+3%j<$|(7`p*7@wog*#mGUjEck^_)r2e4I8oEK!I-e!#U1DDr$DSf8=g96Jl4nFI zZKYio1a0p)xr-_nr1C~q{vAO*WizT<9aAhHmOnW5^SC~f<%YHgpEbx=Q#*A2r)?|R z7DhdfZJ#60ZlB?fdt$h)E*GZjwOi!7^_6NO;xXNcyCWqykLVrnhB@F8ESgx2Y zB;>SxRmsQ}XF2QkB3AF2zf=RE4ufQB@pF->Sn zGn&(a;QDAqYrdroZD~h)g6pXxo%oK<_zl_OJh!rq?d)JDyZDXZ^X_3U``FI`4swXY z9N{R(IL--9a*ETO;Vi#%j`LjLBA2*K&?~*dRjv{IP4es9;3l`Y%^mJ?kH5Ij10M2- z$2{RF&v?!YUh+4uc+DH$@{ad>;3Gk!d`cL?5{~dh;4>l;iO77;7epZ{(TGkAViJqk z#33&6h))6%l8D44At}j7P6|?ziqxbbxZl!|o(yCp6PfvvpqH1GY-A?~Imt!vxA$|C zhrHw?xW>Qc8wya6LKLP5MJYycN>Gwgl%@=2DMxuKP?1VhrV3T5Ms;dXlUmfK4s{u- zxrZ^F5sYLMqZz|ke&T1wF`fxbWD=A4g?V;z9<|QBb2}WJPh@}7pDMVq4P?Ta6rvxP_MQO@VmU5Iw z*D7>mP)Qn$AgWN6Y6y{`qsyAoTGXZvbqPib^=Uvu8qt_0G^H8MX+cX`(VA~*LtEO> zo(^=R6W`I9E__c{y3w5;{6J57@gu$ILtpyQp8*VH5Q7=QX11`EZER-;JK4o=>}C&p z*~fkkaF9bB<_JeQ#&J$?l2e@K3}^YBbDZY_7rDe`{@@B%xyGMd=LR>q#cl3zmwWuh zeID?TM?B^UPkF|3UhtB?dBtnq@RoPH=K~)J`9HsW!l#5GEa3=G1U@4okqG)$!CX7R zeDG0-N;IMqgP6o3HgSkcJmQmp;JKcN#3Ugp$w*ELQj&_)q#@`t1Y?5qWFUCfXCgDf zNHhys$wqc^kds_|MQ-wtmwe#VAfN-%3eJQJON8CHT+D<*7i> z->F1ps!$bE#)nj=1~sWgZR${$deo-@4QWJUn$VPHG^YhEX+>*H=^4_7wwP8jq&*$z zi0KVO=YQ`kHQir`DfmK6VHesb>Mk{nT8M5-NKblUnyirC^r0{P=+6KKGKj$pVJO2G z&Im>_iqVW=EI;ux;~38bCKB|&Ci4rwGKHy3V>&aK$t-3whq=sSJ_}gLA{MiRr7UAP zD_F@YR>(8$u53lH+$I2KK65fgB;>8M>xtcj&p*OoZ>WR zILq&x<2)C*$R#fG2UobtHU8u}H@L|yZgYpb+~Y6q^MHpu;xSKn$}^txf|vZwD_--4 zx4h#$ANWYfC+>T~5SDO+Czw0yGa?d+U|jGyUl4_;L?b#eh)FDB6Ng}26OZ^LAR&oJ zOcIikjO3&s7}upDHEBpoI?|JYjASA+Uy_BaWFtE{$Vo1~A~$)+OFr`RHNo550u-bW zg(*T&icy>r1ml5Hl%@=2DMxuKP?1VhrV3T5Ms;dXlUmfK4t1$VeHze^Ml_}gO=(7R zTF{bKwB}pd(3WpZJ+^jAsH9nZ#s%;a8?Gm1#_81~Zw(Z00bRdCX@43t7Zsmavp%EN2BP zS;cDBu$FbKX9FAA#Addzm2GTi2RqrtZ|r6dd)dc+4seh|9Oei|ImU5LaFSD;<_u@~ zopYS$0vEZ&W&Yp_SGmTYT;~Qixy5bnaF=`h#eE*|kVib`2~T;(b6)V0zj?)L-td-p zyypWS3Hj7>pHKLdFoY!>;fcU!L?jZC`J69^LNIQRMs#8j%vBYO*u)_&@rX|X5|W6- zBq1ruNKOh;l8V%%AsDZxBRv_&NG3A#C0WQyHnJ1EJIF~cz9Khy$V)!*^EKa4fPxgF zFhwXzF^W@yl9Zw}WhhHI%2R=gRH8Cfs7f`eQ-k2WL@jDlhu}R^J?hhdhBTrvO=wCp zn$v=ow4ycN(uTIQqdgtyNGF0f`JL&)_jIKj-RZ#(^rRO*(wjc?r62tnz(58um>~>h z7{eLCNJcT5F^uIWer6ownZQIQF_~ZZl_^YR8q=A9OMv(Il@tnahwyJfMJ{ofKe)nGuJI?=xxr0tahp5b~-sYydx(vhAF1n>MZk(nJiKtT#o zm?9LV7{w_;NlHD$$5e3}OQ3Jl%*WysX#?4QJE@Kr5e?#K}~8=n>y5`9`$KJLmJVTCN!lP&1peP zTG5(sX+vAu(Vh-;q!ZuKnJ#=!SGv)i9{fO0dhsK@=|f-o(VqbfWDtWH!cc}WoDqy< z6r&l#SbpMX#xb4=Ok@(1`GsGZ!c?X)of*tz7PFbdT;?&K1uSF{i&?@_ma&`_tYj6d zS;Jb^v7QZVWD}eD@8{pu0$swnmg!12y3>On=t(bvd3Sr$hraZqKLhyh=f4*CuLb_S GE%5(d>P^D{ literal 0 HcmV?d00001 diff --git a/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net20/Newtonsoft.Json.Net20.xml b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net20/Newtonsoft.Json.Net20.xml new file mode 100644 index 0000000..bc8a9f3 --- /dev/null +++ b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net20/Newtonsoft.Json.Net20.xml @@ -0,0 +1,6520 @@ + + + + Newtonsoft.Json.Net20 + + + + + Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Gets the type of the current Json token. + + + + + Gets the text value of the current Json token. + + + + + Gets The Common Language Runtime (CLR) type for the current Json token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token. + + The to read the token from. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Indicates how the output is formatted. + + + + + Initializes a new instance of the class. + + The stream. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor then fall back to single paramatized constructor. + + + + + Allow Json.NET to use a non-public default constructor. + + + + + Converts a binary value to and from a base 64 string value. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Create a custom object + + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + Converts an to and from its name string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + A cached representation of the Enum string representation to respect per Enum field name. + + The type of the Enum. + A map of enum field name to either the field name, or the configured enum member name (). + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + Type of the property. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Represents an abstract JSON token. + + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + The that matches the object path or a null reference if no matching token is found. + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + A flag to indicate whether an error should be thrown if no token is found. + The that matches the object path. + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + Specifies reference handling options for the . + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets or sets a value that indicates whether to preserve object reference data. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Specifies default value handling options for the . + + + + + Include default values when serializing and deserializing objects. + + + + + Ignore default values when serializing and deserializing objects. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current Json token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current Json token. + + + + + + Gets The Common Language Runtime (CLR) type for the current Json token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Specifies the member serialization options for the . + + + + + All members are serialized by default. Members can be excluded using the . + + + + + Only members must be marked with the are serialized. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Specifies whether a DateTime object represents a local time, a Coordinated Universal Time (UTC), or is not specified as either local time or UTC. + + + + + The time represented is local time. + + + + + The time represented is UTC. + + + + + The time represented is not specified as either local time or Coordinated Universal Time (UTC). + + + + + Preserves the DateTimeKind field of a date when a DateTime object is converted to a string and the string is then converted back to a DateTime object. + + + + + Converts XML to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attibute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Represents a collection of . + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the Json string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + + + Serializes the XML node to a JSON string. + + The node to serialize. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XmlNode. + + + + Deserializes the XmlNode from a JSON string. + + The JSON string. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XmlNode + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance using the specified . + + The settings to be applied to the . + A new instance using the specified . + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a JSON constructor. + + + + + Represents a token that can contain other tokens. + + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + 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. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the properties for this instance of a component. + + + A that represents the properties for this component instance. + + + + + Returns the properties for this instance of a component using the attribute array as a filter. + + An array of type that is used as a filter. + + A that represents the filtered properties for this component instance. + + + + + Returns a collection of custom attributes for this instance of a component. + + + An containing the attributes for this object. + + + + + Returns the class name of this instance of a component. + + + The class name of the object, or null if the class does not have a name. + + + + + Returns the name of this instance of a component. + + + The name of the object, or null if the object does not have a name. + + + + + Returns a type converter for this instance of a component. + + + A that is the converter for this object, or null if there is no for this object. + + + + + Returns the default event for this instance of a component. + + + An that represents the default event for this object, or null if this object does not have events. + + + + + Returns the default property for this instance of a component. + + + A that represents the default property for this object, or null if this object does not have properties. + + + + + Returns an editor of the specified type for this instance of a component. + + A that represents the editor for this object. + + An of the specified type that is the editor for this object, or null if the editor cannot be found. + + + + + Returns the events for this instance of a component using the specified attribute array as a filter. + + An array of type that is used as a filter. + + An that represents the filtered events for this component instance. + + + + + Returns the events for this instance of a component. + + + An that represents the events for this component instance. + + + + + Returns an object that contains the property described by the specified property descriptor. + + A that represents the property whose owner is to be found. + + An that represents the owner of the specified property. + + + + + Occurs when a property value changes. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + Represents a JSON array. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + 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. + + + + 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. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified id. + + The id. + A for the specified id. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation event. + + The JsonSchemaException associated with the validation event. + + + + Gets the text description corresponding to the validation event. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Resolves the default for the contract. + + Type of the object. + + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + Get and set values for a using dynamic methods. + + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides information surrounding an error. + + + + + Gets or sets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether [default creator non public]. + + true if the default object creator is non-public; otherwise, false. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the ISerializable object constructor. + + The ISerializable object constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets the name of the property. + + The name of the property. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets the member converter. + + The member converter. + + + + Gets the default value. + + The default value. + + + + Gets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets the property null value handling. + + The null value handling. + + + + Gets the property default value handling. + + The default value handling. + + + + Gets the property reference loop handling. + + The reference loop handling. + + + + Gets the property object creation handling. + + The object creation handling. + + + + Gets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the identity. + + The identity. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets a collection of options. + + A collection of options. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the extend . + + The extended . + + + + Gets or sets the format. + + The format. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Represents a method that constructs an object. + + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Always include the .NET type name when serializing. + + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The converted type. + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted type. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted type. + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert or cast the value to. + The value to convert. + The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert or cast the value to. + The value to convert. + The culture to use when converting. + The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert the value to. + The value to convert. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Parses the specified enum member name, returning it's value. + + Name of the enum member. + + + + + Parses the specified enum member name, returning it's value. + + Name of the enum member. + If set to true ignore case. + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Gets the maximum valid value of an Enum type. Flags enums are ORed. + + The type of the returned value. Must be assignable from the enum's underlying value type. + The enum type to get the maximum value for. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An interger. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Determines whether the collection is null, empty or its contents are uninitialized values. + + The list. + + true if the collection is null or empty or its contents are uninitialized values; otherwise, false. + + + + + Makes a slice of the specified list in between the start and end indexes. + + The list. + The start index. + The end index. + A slice of the list. + + + + Makes a slice of the specified list in between the start and end indexes, + getting every so many items based upon the step. + + The list. + The start index. + The end index. + The step. + A slice of the list. + + + + Group the collection using a function which returns the key. + + The source collection to group. + The key selector. + A Dictionary with each key relating to a list of objects in a list grouped under it. + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Tests whether the list's items are their unitialized value. + + The list. + Whether the list's items are their unitialized value + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Determines whether the string contains white space. + + The string to test for white space. + + true if the string contains white space; otherwise, false. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Ensures the target string ends with the specified string. + + The target. + The value. + The target string with the value string at the end. + + + + Perform an action if the string is not null or empty. + + The value. + The action to perform. + + + + Indents the specified string. + + The string to indent. + The number of characters to indent by. + + + + + Indents the specified string. + + The string to indent. + The number of characters to indent by. + The indent character. + + + + + Numbers the lines. + + The string to number. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + diff --git a/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net35/Newtonsoft.Json.Net35.dll b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net35/Newtonsoft.Json.Net35.dll new file mode 100644 index 0000000000000000000000000000000000000000..541ecfcb0cdf22826fa4d34ea6ef81dc246e45cf GIT binary patch literal 325632 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

{)X_SUZ{+)(+i={LQ)J4}R;6mmXuS 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 literal 0 HcmV?d00001 diff --git a/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net35/Newtonsoft.Json.Net35.pdb b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net35/Newtonsoft.Json.Net35.pdb new file mode 100644 index 0000000000000000000000000000000000000000..53158e0480eb6e06fb331920ae5545e1a75744d0 GIT binary patch literal 898560 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

=n`~ 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 + + + Newtonsoft.Json.Net35 + + + +

+ Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Gets the type of the current Json token. + + + + + Gets the text value of the current Json token. + + + + + Gets The Common Language Runtime (CLR) type for the current Json token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A . + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token. + + The to read the token from. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Indicates how the output is formatted. + + + + + Initializes a new instance of the class. + + The stream. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Converts a binary value to and from a base 64 string value. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Create a custom object + + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an Entity Framework EntityKey to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + Converts an to and from its name string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + A cached representation of the Enum string representation to respect per Enum field name. + + The type of the Enum. + A map of enum field name to either the field name, or the configured enum member name (). + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor then fall back to single paramatized constructor. + + + + + Allow Json.NET to use a non-public default constructor. + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Represents an abstract JSON token. + + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + The that matches the object path or a null reference if no matching token is found. + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + A flag to indicate whether an error should be thrown if no token is found. + The that matches the object path. + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether [default creator non public]. + + true if the default object creator is non-public; otherwise, false. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the ISerializable object constructor. + + The ISerializable object constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Get and set values for a using dynamic methods. + + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + Type of the property. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + Specifies reference handling options for the . + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets or sets a value that indicates whether to preserve object reference data. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Specifies default value handling options for the . + + + + + Include default values when serializing and deserializing objects. + + + + + Ignore default values when serializing and deserializing objects. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current Json token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current Json token. + + + + + + Gets The Common Language Runtime (CLR) type for the current Json token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Specifies the member serialization options for the . + + + + + All members are serialized by default. Members can be excluded using the . + + + + + Only members must be marked with the are serialized. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Specifies whether a DateTime object represents a local time, a Coordinated Universal Time (UTC), or is not specified as either local time or UTC. + + + + + The time represented is local time. + + + + + The time represented is UTC. + + + + + The time represented is not specified as either local time or Coordinated Universal Time (UTC). + + + + + Preserves the DateTimeKind field of a date when a DateTime object is converted to a string and the string is then converted back to a DateTime object. + + + + + Converts XML to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attibute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Represents a collection of . + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the Json string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + + + Serializes the XML node to a JSON string. + + The node to serialize. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XmlNode. + + + + Deserializes the XmlNode from a JSON string. + + The JSON string. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XmlNode + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to convert to JSON. + Indicates how the output is formatted. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XNode. + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XNode + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance using the specified . + + The settings to be applied to the . + A new instance using the specified . + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a JSON constructor. + + + + + Represents a token that can contain other tokens. + + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + 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. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the properties for this instance of a component. + + + A that represents the properties for this component instance. + + + + + Returns the properties for this instance of a component using the attribute array as a filter. + + An array of type that is used as a filter. + + A that represents the filtered properties for this component instance. + + + + + Returns a collection of custom attributes for this instance of a component. + + + An containing the attributes for this object. + + + + + Returns the class name of this instance of a component. + + + The class name of the object, or null if the class does not have a name. + + + + + Returns the name of this instance of a component. + + + The name of the object, or null if the object does not have a name. + + + + + Returns a type converter for this instance of a component. + + + A that is the converter for this object, or null if there is no for this object. + + + + + Returns the default event for this instance of a component. + + + An that represents the default event for this object, or null if this object does not have events. + + + + + Returns the default property for this instance of a component. + + + A that represents the default property for this object, or null if this object does not have properties. + + + + + Returns an editor of the specified type for this instance of a component. + + A that represents the editor for this object. + + An of the specified type that is the editor for this object, or null if the editor cannot be found. + + + + + Returns the events for this instance of a component using the specified attribute array as a filter. + + An array of type that is used as a filter. + + An that represents the filtered events for this component instance. + + + + + Returns the events for this instance of a component. + + + An that represents the events for this component instance. + + + + + Returns an object that contains the property described by the specified property descriptor. + + A that represents the property whose owner is to be found. + + An that represents the owner of the specified property. + + + + + Occurs when a property value changes. + + + + + Occurs when a property value is changing. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + Represents a JSON array. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + 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. + + + + 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. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified id. + + The id. + A for the specified id. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation event. + + The JsonSchemaException associated with the validation event. + + + + Gets the text description corresponding to the validation event. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Resolves the default for the contract. + + Type of the object. + + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + Provides information surrounding an error. + + + + + Gets or sets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Maps a JSON property to a .NET member. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets the name of the property. + + The name of the property. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets the member converter. + + The member converter. + + + + Gets the default value. + + The default value. + + + + Gets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets the property null value handling. + + The null value handling. + + + + Gets the property default value handling. + + The default value handling. + + + + Gets the property reference loop handling. + + The reference loop handling. + + + + Gets the property object creation handling. + + The object creation handling. + + + + Gets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the identity. + + The identity. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets a collection of options. + + A collection of options. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the extend . + + The extended . + + + + Gets or sets the format. + + The format. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Represents a method that constructs an object. + + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Always include the .NET type name when serializing. + + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The converted type. + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted type. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted type. + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert or cast the value to. + The value to convert. + The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert or cast the value to. + The value to convert. + The culture to use when converting. + The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert the value to. + The value to convert. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Parses the specified enum member name, returning it's value. + + Name of the enum member. + + + + + Parses the specified enum member name, returning it's value. + + Name of the enum member. + If set to true ignore case. + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Gets the maximum valid value of an Enum type. Flags enums are ORed. + + The type of the returned value. Must be assignable from the enum's underlying value type. + The enum type to get the maximum value for. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An interger. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Determines whether the collection is null, empty or its contents are uninitialized values. + + The list. + + true if the collection is null or empty or its contents are uninitialized values; otherwise, false. + + + + + Makes a slice of the specified list in between the start and end indexes. + + The list. + The start index. + The end index. + A slice of the list. + + + + Makes a slice of the specified list in between the start and end indexes, + getting every so many items based upon the step. + + The list. + The start index. + The end index. + The step. + A slice of the list. + + + + Group the collection using a function which returns the key. + + The source collection to group. + The key selector. + A Dictionary with each key relating to a list of objects in a list grouped under it. + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Tests whether the list's items are their unitialized value. + + The list. + Whether the list's items are their unitialized value + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Determines whether the string contains white space. + + The string to test for white space. + + true if the string contains white space; otherwise, false. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Ensures the target string ends with the specified string. + + The target. + The value. + The target string with the value string at the end. + + + + Perform an action if the string is not null or empty. + + The value. + The action to perform. + + + + Indents the specified string. + + The string to indent. + The number of characters to indent by. + + + + + Indents the specified string. + + The string to indent. + The number of characters to indent by. + The indent character. + + + + + Numbers the lines. + + The string to number. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + diff --git a/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net40/Newtonsoft.Json.dll b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net40/Newtonsoft.Json.dll new file mode 100644 index 0000000000000000000000000000000000000000..282f3b3e8b435f498e1edc01e0a7c395d6d45daf GIT binary patch literal 348160 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%0D^Jo`Pr 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 dnaM&{vXPw}s@+R6X` literal 0 HcmV?d00001 diff --git a/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net40/Newtonsoft.Json.xml b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net40/Newtonsoft.Json.xml new file mode 100644 index 0000000..d5b03b1 --- /dev/null +++ b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net40/Newtonsoft.Json.xml @@ -0,0 +1,6862 @@ + + + + Newtonsoft.Json + + + +

+ Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Gets the type of the current Json token. + + + + + Gets the text value of the current Json token. + + + + + Gets The Common Language Runtime (CLR) type for the current Json token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A . + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token. + + The to read the token from. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Indicates how the output is formatted. + + + + + Initializes a new instance of the class. + + The stream. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Converts a binary value to and from a base 64 string value. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Create a custom object + + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an Entity Framework EntityKey to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an ExpandoObject to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + Converts an to and from its name string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + A cached representation of the Enum string representation to respect per Enum field name. + + The type of the Enum. + A map of enum field name to either the field name, or the configured enum member name (). + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor then fall back to single paramatized constructor. + + + + + Allow Json.NET to use a non-public default constructor. + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Represents an abstract JSON token. + + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + The that matches the object path or a null reference if no matching token is found. + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + A flag to indicate whether an error should be thrown if no token is found. + The that matches the object path. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether [default creator non public]. + + true if the default object creator is non-public; otherwise, false. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the ISerializable object constructor. + + The ISerializable object constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Get and set values for a using dynamic methods. + + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + Type of the property. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + Specifies reference handling options for the . + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets or sets a value that indicates whether to preserve object reference data. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Specifies default value handling options for the . + + + + + Include default values when serializing and deserializing objects. + + + + + Ignore default values when serializing and deserializing objects. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current Json token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current Json token. + + + + + + Gets The Common Language Runtime (CLR) type for the current Json token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Specifies the member serialization options for the . + + + + + All members are serialized by default. Members can be excluded using the . + + + + + Only members must be marked with the are serialized. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Specifies whether a DateTime object represents a local time, a Coordinated Universal Time (UTC), or is not specified as either local time or UTC. + + + + + The time represented is local time. + + + + + The time represented is UTC. + + + + + The time represented is not specified as either local time or Coordinated Universal Time (UTC). + + + + + Preserves the DateTimeKind field of a date when a DateTime object is converted to a string and the string is then converted back to a DateTime object. + + + + + Converts XML to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attibute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Represents a collection of . + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the Json string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + + + Serializes the XML node to a JSON string. + + The node to serialize. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XmlNode. + + + + Deserializes the XmlNode from a JSON string. + + The JSON string. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XmlNode + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to convert to JSON. + Indicates how the output is formatted. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XNode. + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XNode + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance using the specified . + + The settings to be applied to the . + A new instance using the specified . + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a JSON constructor. + + + + + Represents a token that can contain other tokens. + + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + 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. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the properties for this instance of a component. + + + A that represents the properties for this component instance. + + + + + Returns the properties for this instance of a component using the attribute array as a filter. + + An array of type that is used as a filter. + + A that represents the filtered properties for this component instance. + + + + + Returns a collection of custom attributes for this instance of a component. + + + An containing the attributes for this object. + + + + + Returns the class name of this instance of a component. + + + The class name of the object, or null if the class does not have a name. + + + + + Returns the name of this instance of a component. + + + The name of the object, or null if the object does not have a name. + + + + + Returns a type converter for this instance of a component. + + + A that is the converter for this object, or null if there is no for this object. + + + + + Returns the default event for this instance of a component. + + + An that represents the default event for this object, or null if this object does not have events. + + + + + Returns the default property for this instance of a component. + + + A that represents the default property for this object, or null if this object does not have properties. + + + + + Returns an editor of the specified type for this instance of a component. + + A that represents the editor for this object. + + An of the specified type that is the editor for this object, or null if the editor cannot be found. + + + + + Returns the events for this instance of a component using the specified attribute array as a filter. + + An array of type that is used as a filter. + + An that represents the filtered events for this component instance. + + + + + Returns the events for this instance of a component. + + + An that represents the events for this component instance. + + + + + Returns an object that contains the property described by the specified property descriptor. + + A that represents the property whose owner is to be found. + + An that represents the owner of the specified property. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Occurs when a property value changes. + + + + + Occurs when a property value is changing. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + Represents a JSON array. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + 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. + + + + 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. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified id. + + The id. + A for the specified id. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation event. + + The JsonSchemaException associated with the validation event. + + + + Gets the text description corresponding to the validation event. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Resolves the default for the contract. + + Type of the object. + + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + Provides information surrounding an error. + + + + + Gets or sets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Maps a JSON property to a .NET member. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets the name of the property. + + The name of the property. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets the member converter. + + The member converter. + + + + Gets the default value. + + The default value. + + + + Gets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets the property null value handling. + + The null value handling. + + + + Gets the property default value handling. + + The default value handling. + + + + Gets the property reference loop handling. + + The reference loop handling. + + + + Gets the property object creation handling. + + The object creation handling. + + + + Gets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the identity. + + The identity. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets a collection of options. + + A collection of options. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the extend . + + The extended . + + + + Gets or sets the format. + + The format. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Serializes the dynamic. + + The writer. + The value. + The contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + + + + + Represents a method that constructs an object. + + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Always include the .NET type name when serializing. + + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The converted type. + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted type. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted type. + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert or cast the value to. + The value to convert. + The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert or cast the value to. + The value to convert. + The culture to use when converting. + The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert the value to. + The value to convert. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Parses the specified enum member name, returning it's value. + + Name of the enum member. + + + + + Parses the specified enum member name, returning it's value. + + Name of the enum member. + If set to true ignore case. + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Gets the maximum valid value of an Enum type. Flags enums are ORed. + + The type of the returned value. Must be assignable from the enum's underlying value type. + The enum type to get the maximum value for. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An interger. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Determines whether the collection is null, empty or its contents are uninitialized values. + + The list. + + true if the collection is null or empty or its contents are uninitialized values; otherwise, false. + + + + + Makes a slice of the specified list in between the start and end indexes. + + The list. + The start index. + The end index. + A slice of the list. + + + + Makes a slice of the specified list in between the start and end indexes, + getting every so many items based upon the step. + + The list. + The start index. + The end index. + The step. + A slice of the list. + + + + Group the collection using a function which returns the key. + + The source collection to group. + The key selector. + A Dictionary with each key relating to a list of objects in a list grouped under it. + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Tests whether the list's items are their unitialized value. + + The list. + Whether the list's items are their unitialized value + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Determines whether the string contains white space. + + The string to test for white space. + + true if the string contains white space; otherwise, false. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Ensures the target string ends with the specified string. + + The target. + The value. + The target string with the value string at the end. + + + + Perform an action if the string is not null or empty. + + The value. + The action to perform. + + + + Indents the specified string. + + The string to indent. + The number of characters to indent by. + + + + + Indents the specified string. + + The string to indent. + The number of characters to indent by. + The indent character. + + + + + Numbers the lines. + + The string to number. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + diff --git a/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl3-wp/Newtonsoft.Json.WindowsPhone.dll b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl3-wp/Newtonsoft.Json.WindowsPhone.dll new file mode 100644 index 0000000000000000000000000000000000000000..23b462c3c5c5482a3d47530d596ea7ce0e84917d GIT binary patch literal 295936 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 OztN8Q|G@u46!>2>{86?5 literal 0 HcmV?d00001 diff --git a/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl3-wp/Newtonsoft.Json.WindowsPhone.pdb b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl3-wp/Newtonsoft.Json.WindowsPhone.pdb new file mode 100644 index 0000000000000000000000000000000000000000..4e1f6d6df7ae8b9a39263c2b49786a2a473f64bb GIT binary patch literal 810496 zcmeF42Y3}l`?pUh3B5}%p;u|rL0aftx=IVl0Rkb3DKtTYprRs86i`$IL{wB%R1^y~ zMC^)!ii+3(6%i597vZ~qyE`X)VtmD9xxW8-!(7}vIXlnHJX3dOcF&ytaWTn>DTxzO zBcqx`HEbB!e@KtW){UDsEn28zw;?`U9_yd4Nx09qsj@Eke2w}0y!+oMf$e9`yWCs? zZT=UUae8j9!JOs2@UCWIRvRcmLlC&KVQ0?dL*`A_r}OTAxdih5FK6z2-u|%!mN#w| zmfG;K{$XhTa^b{MIJ)pkE#@z`${r2bL>_9uiy4) zt#1zd!pqO?_wbA_TPzRF(#U;QdsY7**1h`6ic4#3`t_AsPyBFIzB;+DBttXDUe$lC zt1cUyr&iuM5gW&?`MUcpLqoGPa-Y>+)&C=T28@_}Cjas?Wq*32M8)JLxvwNcGsj-l z|BX`z9C@a1Slqw{^=?>jPw66|SsJ;|YOm`5`P1`ym)ZS$e5aBXO5grymydH_Nrq;Q zy{iA%UWb+zer3`H;|D)>T~gKkzlCOL zSCXNbW3TEzb(()n=}V^M9q@U?iUUh(r-f!|(%^Z7G|J!?<`RvZxzDY$dT6yyRnLBHQW@+R;tG%lK`qN|Io;PM~%@Q&9f3)bx z>ML?zNrq;Qy{iAbb$*$)?fYhf9^Y~4%ue(BEe*}m$bD9ORsTij9e!cgq!m+2e)iP8 zmvvbhmW>J zpD0uLqOMCCw90)Y8Jaovs{X4!vVT&Wd|i@bPt|>Q)B6uU8k(h%`>gh={y*FJ^7osb z|N5c_iZ!{bL6Jh+a$iY?W{$n8|CANg>uxMFy>P3Qt=^0&dPmRDEREb}wO93j=jIK& z>kiM8R=vockq>UTBO&*dWN7BttNOpL%4Y}myfE#j)%8+#m#*{G`TKu}GzYKhzw+7} zhWA{(b;Ua`)oZu*+M7NLk?iMsGrg++x_z!JT{*4X!du%sIp*PmXC~zOf(?-Z@T&e7 z7kKT~ZF`DD?t19UA75VoN#PL5ey%sutNL%-^wZ;4mHGV4#zjlsD$pR}qFi6FAyNQd z)qm}2r3WRBDDmf^a?jK`v*zjZ_y1g0|M#x>x!kMG%Rc;TqwpuYUsP&ih-5$4o9R{m zkAG~*#P&aT`K|766~BEYCj9*UKSWxVSM|Sb%+X2jm&sEs?t+S!_P^uS`$HuAx!z2# z>VNH9YhNw+(VaWrt6!qko-03JmFo*OL<+#G`oI2>O1?3xH{~fGd-;sfEqAO4k?iMs zGrg++GijX$^eMgg)S`zs>?nF*?&w@!upv?aUe*8m2|vwTeaG@H!)|;dPqXI|4u(kf zbG?~f)qmly^Zxo`_!TE^oL8;cJ$DY|)adgr6iUFW`d?o2^@pCmtpAw4@4T8&_t=!{ zLm}_yZRAWpkIw)5qGP@}3lG1%ZgY$24KBOz_vz=$HZ)4WtNOowN242-zA(4S^Yf7^&S`+xj%2ESM`7VmI2>>v1an+W%^dEe4to|HRnq3Dm$x=Ux34Uz2UdNaMM|FYL??J)La)r*_wIoYM)oLRT$`hpFS0`RK-*QUK*|E+Ej zyX*d^(SpLq*3Ju&?B{wjy{iAtV+Su77ujpTtQq$`-sV85y1Bk!L!`>nz#! z*q6WUuby{P@dBOB|3YXktN+TACv2|}ePgG`dfi>R%sbr@LnQmT-b}ChfB3AP(T685 z?OS3(^qCIVd{8Ub7i@?WfLHaue&O4<{8I0^GdqqCow&Bpv*&;RC70Fz16Q>U+p#n4 z=U(#$uRHkK`UN49{akORSN;F07rNcvq~e#YT0WROV)l_^hjV?whDZT;RsX~CbY9lu zrqy>Bo7n7?L8Eu@Ymw(&D3pL#^}pxvPjz3oZpY5sE6%9eeB*1kghJlW+vwf-|maw)AN??ohR2jbY#r3*j!(*AyNQd)&GLG z%a#A6$#*|rwQxtpxFQknhDi2vy_sIs|H*p2Zn^cj)V3=>ueEH#xX)5^eZhuE0eDsa zzxSSd=+--3qc86w%w^=5ii|7l|*56#Pe^qc)j&o#Vn;@xX= zeZhuE0eDsa->uqGW5bG8`Fe4Uq!ys{VIe`pZ=_=S*r>YtNCRZRWN<|NZ}5R{tGOblq5^X~*gh{&dZm{ol=R z9wOP#^=5k2|3Ch--KZg7HM?or=;K2xFFCX{*B5Mv6o6Otzu>u~QWf_dD8Fjqg1cHj zcYgjKBGvEN`ES>Z+S0!3rfsQLb}O=b_8Sj143+%nc00Z5|1TU*%D;O?=c-A!Pj0^8 z;khs7_HqrC{CidZkB#2-)Pe6GeX-Duy*|JG&SH0lO8#@ZonF=do)6kSQ~Ta;AN(ob ztV>s}{rS7xUap~%f3NDlN|z4bjwxKBLX{`ljGDhLe{!hgKeyZIRs9dR?aLi~Z!TD~ z)5@Y>4V$s+p4?upp^|^E>i*;(M51JzbnYxi+vsN_Gl+v!#PpDyyocc)*U zGHJn?j~`z8Y}xa_{}3V#%d7e?Qssg<2Zvt!z=`Q!o;d!={lA4s_H(_NUe*6A`3G)m zx^&)s)!zQP+5T@jpMU==L|T?t^jZv7yjevRwIrU{Hov`M}8~5IZs50WIxxN=~exI z*Qe8auU^;cbji@oc zX%Bq3_u!JqA}6AEP5SJ|5XpY7H`A;BA78f8gHe~Jt-bumF#}3`wDq%GU$7xk0AAJq zTkCf8EB|QA)aY04dZ25k&1XU+`?=msuj>EA1K*^7Hm>!jg&(T9{iS6q{>=3S8zKeZ zRsC;DFH!&QpC%UTw!g}4gQhikC`7WK>&^74{vYkXeCg>|D@^(Lt$SZx_SSQobA7>v zNC9|N|8r08P2Je>R?X0URttk^C**|Y4 zB@hOAKo4#5L4ME=xM&l%02G8mP#B6rF(?itKwtFMm;FnFD*Xb`;h*K8JXC;+PzfqS z6{rf;AQGxW4X6qF(TLhm2lN9%Iz&bf5_OogUMOz_7eZrb0!^VA=*vbIK?`UJt)Mlu zfws^N+CvAp7&<~H=nP$;D?~vz=nnev%AU{*dP5)R3;m!!=*w+`;1U=NLtrQjgW)g& zM#80V8C(vdU^I*Y{W$hGh=%bH13EC#4-;S_OoBL=3{yZqs5})CAQ6(_3ebyoDUb?j zFb$@|444VC;7XVcbKokt8q#4dTm$o9K3oge!S%2JZh#x%CRhkJ!y;G=OJFH1gIi!Z z+zPkB3RnrN;C8qJR>Pfe7u*eN;2u~D>tH?H3mf1**a-K-1Mnbhf`{N?cmy`Xqwp9! z4qM;}coLq1t?)EF1KZ$Pcn+S2?eHSJ1TVuY@G9(p*I*~S4!htDcoW`&x8WUl7v6*S z;RDzWAHqkl2lm3p@Ckeh``|P99KL}4@Fg68ui$I=2EK*w;2<1=!|*-)06)SJ_z8}} z&u|QWf#dKioPgipB>WD4z<=Nr{0XPw45-70K_18p`5-@pLj)9nf=~zwLlGzn#h^Hp zfRa!ON<$gA0Lnr+C=V5&B29jXaOyu6|{yn&=%T3d*}ccLr3TYouLbKg(&C--Ju8cgkI1a`aoak2mN6H41_^& z2@HlIFbsyn2p9>M!ewwdjDpcH2FAiTh=%bH1F_(T2`~{RK^#nmDG(1+ApsI039f)- zNP$#HgK01wX249C1y{msm;+bA)sPNz;To6+*TQvhJuHA5;6}I!7Q)T22o}QCT{9qxeDa3|aacf(p(2kYTp*Z}vzMz|jyfCpg{JOmHJBd{4Bg~#A= z*aA<$lkgO5g{R>e*apwSbMQR80Nde3cnMyHSKw9H0k6SMcpY}Z8}KH)1#iPU@GiUu z@52YM8$N`OU=QqtkKq&e6!yVq@Hu<|`{7GC0AIn^@C|$m-@!pR1c%{!_yK-|pWrC` z49DOXI1azU3HS|8!td}0{0C0KpKuz^fNttxkO%TYKFAN@5CH|CAQXbaPy~uXF(?it zpd^%n(ohC2fU-~y%0mUH2$i5RRDr5c4I-gB)PR~$3u;3hs0;O=J~V)a&h!y32;*1|ei5BI_bxDPhM{qO)h2%F#`co-gm z&G0BZ29LuQcmke;r(i2Q4bQ+fcov?6=ivp|4llw>@G`stufh&^4R*rounXRRH{mUK z8{UC;;XQaCK7ifuA$$aTU@v?OpTMWE4?cta@Fg68ui$I=2EK*w;2``6N8l$o3O~a! z_yvx`uW$l>gOl((`~m-gQ}8F8hBKf^dwvLq2q*vrp%4^?B2W~HL2)PnC7~3QhB9yg zl!bCo9x6aZs05Xv3RHz^5DC?x2GoRFP#fw%U8o23p#e06MsOiCh9=Mynn8282wFf( zXa%jI4YY-J&>lL##n2HtL1*X!T_Fm(L3ii@J)sx$hCa|2`aypf00UtVTmpk(2n>Z` zFdRm}NVpU(gUewQjD|5V7REs|jE5MA1wTxHi7*M`U@}aBc$f+akO)a|1tdcXq(T}@ zgXu5>X2LAE5@y33xC*X@beId*z&w}_*TQvhJuHA5;6}I!7Q)T22o}QCT{9qxeDa3|aacf%UE2iC$mSP%EY2DlG4!u{|7JP4cMA$S-bfz9wJJO+=$ z7I*@lgr{IDJPpslHh31EgXiG|*bXnkOYkzh0#z&nfH&bScpKh8Hq?Q-P!H-u184}1;6i8&O`s_> zgXVA%w1Ae-3R*)OXbbJ2J#>JJp(AvH&d>$ALKJj^?$85zLNDkIeV{M&gZ?l82Erh? z1O~$p7z)E+IE;Xia4B2{m%}I+4P#&|jDu(x4>1r6ewY9gVG_i_WS9c+FclIY5t85v zNQM+hg*2E3(_se8gjsMU%!WB|6iIO&%yKX0&IsD;U#z(UV&F(2fPM5;dOWe-h{W{ZFmRXh4jbQeuAU$GaQ3o z;5hsWC*U_Y3BSW1@EOIK zL1`!h7eHAk2j!sxRD?=U8LB{4s0NWx9cn;Ls0Fp54%CHuP#+pVLudpSLStwGO`#by zhl`*Ew1igB8rncxXb0_~16&Lpp%Zk5F3=UCpc{0D9?%ndL2u{-eW4%phXF7U2EipT z7>2-57zV>(1dN1B;WD@!M!{$p17l$vM8kN9fmrav1egeuAPy$O6o`kZkN}C01Xn;Z zq(Ca9!8Di-Ghimnf-7M*%z>-mYDkB~PQw}Sh116&59Eb>kRQS!0t!GuC@Gv|Ao8eJ-3?7Fq@B};w zPr+7r8lHh|@GLwB&%+C_9bSZ&;AMCPUWFa-8tjDEVHdmsZ^B#fHoOBL!bh+N_QJ>T z3499s;4}Cf_QRKO0KS5+;T!lCzJr5s2oA&d@B{n^N8l$o3O~a!_yvx`uW$l>gOl(( z`~m-gQ}8F8hBM%cpg)7Y@sJntL4F8_2q*vrp%4^?B2W~HL2)PnC7~3QhB9ygl!bCo z9x6aZs05Xv3RHz^5DC?x2GoRFP#fw%U8o23p#e06MsOiCh9=Mynn8282wFf(Xa%jI z4YY-J&>lL##n2HtL1*X!T_Fm(L3ii@J)sx$hCa|2`aypf00UtVTmpk(2n>Z`FdRm} zNVpV6!Dtu*V__Ub!+3}VKTLp$FbU#dGE9MZmh!y32;*1|ei5BI_bxDPhM{qO)h2%F#`co-gm&G0BZ29LuQcmke;r(i2Q z4bQ+fcov?6=ivp|4llw>@G`stJK#0g39rL0cmv*qx8QAf2i}GE;C=W2cEgA85$u7z z@G*P>pTa))3_gc1U_X2b2jDCC8oq&V;X618hu|=L4?n<RW zXFw0u!yuo+AoJ>P$PeKV0R^BS6oSG~1d2j2C=Ml{B$R^EPzEl5vQQ4nLj|Y^m7p?I zfvQjqBB46efSOPXYC|2U3-zErG=PTC2rh)i&;*)7GiVMMK@0ev{Io>2f-2AO8Je01Sjda0v{CAutq%!EhJ>BjHlG3@(RJFd9lT?q3XJ_nHBhy_1PfQc{(;$SjNfq0lIN!SErA|$~TkPIo13Tf~zI`6^z@B!?GX# zFmcq7jw(-$j!W<-duJg5POavs zmpi3q&w#wLC@>e!QBB%5d0LZpl-|{(J^k{|M0>{NoqdCn6O(9Z9(LFyCr0mV^kDI% z&fvkiNqxb#ru&Q-f0E{=Iqng*S={G>;>&)&7~)Tki;j<*WzC$uGc&~r#TF%)XUF{WDTM>Kmy<OlqRFb(`%SHQOp?l$m17 zp>6im*@N;5Ov61WGc6AN$|9@vwV z5lv3Y$INHFu*jLndQe7#qo;ddP;wxaoRm<`xBTs9o%8+vej0oGSoUddIb zsY%hvff-zEwkCrv`}|J4F~RZXxcoerM7XT?%7j54D2%-ZhLczdHuat`+*f{JyNWiK~bcCa%d_QGPVxviCu>9rmf zvbF}S)sgA19^MUP_c=2899i2fE=K#1yq|N9?2Zj2aE@}I`N27|T@#seWVO8#J4bfg ztFv=t`Jm*usd1@s)ATUWx@UXbH#f6axtLRwBDIexFj*lo|lHL{y4{$y%p z#!QbJP(~K0l0fX|t`L4X5@?CFfu)WijH6NY>h%E-@`GW0oD8t-Y7vDqt<*q+qSu=@#x3vez?)rN*&S z6vz9^8iiW5=+0XXIkh@15T^#6RxMbex#G;RopG^o$@b769iK5>%hBlLve+Ga#$3&b zJ*T#3+_hBhIeXTUVROclu@mWva(aUY4iq%lV$IEV4&y*_ZRZTa}m{U%);y ze8gt!hLweZCc>Qd?~Ip{WwnVlr)Flnhb+@gtU0x{A8(a+O-xIO&6pH)<4Zjgx!i+Y z-NfXaO_noCIi48DE1`_JL9CO|grJ0SoTIoD-b3;7J`hig-i`tNdFbh7+n7pxUbc$< zaVatW`1t4qe_~pSr-r&C_R`{W-F(k=tIe?A%i_+k+RL&YVy$|*rcL0PhDTE^d#y9x z9c50(0ozJ1OVc*e%aR;ANsH_u(G&bb7;1C&(uwS{?~tihtSQ9Gm#G4==CnMS6Id_4 zB_?=TrpyeSSaV*kLwKM&HQK8;#8T|oJbFjWvCZ0yvLg286+6dBYXirM)|)r&{$g!^ zmc{Wo>g#{8bgC=L?6u9Tt?Zf>7oXF8fvk-k9~84kHrrqB@n(zIZm}7S!Ty3zrno({ z+uH^qYn>Q9veApJ#mr^u#Xh1PXU2f)(Gy-f+Kds^qvyMJv>79px3%tVjh~awe@^;6 zo5m@r(Fv($As3siRqS5|Dz=M*qV=dJ_4M=Ax#*m}O8ggVCuWM)BWt~R$tH8pKL_vC zs8bD{nZ#Q`)_!>o-_#D?gV${!mAIWXfE{-``&gL3At~=SQkkgAH8M@B7TE%2{aeb|hzXRp-2`2AtsrqbRGbklE??NNVTFe3diCA~}Bw@=)Hx zK&~ux5eLSNY{|J$1v!HaHuAUI4W<0n!@qHBsADywp^%sI8Qz5R>0m2mT%Pu{x+G_} zK^lJ#uSLF~NNvtP%ggy%aDsMqc|H5Qvf1@H_YHLJRUA6u?J27Zi33)ap*+fBGbE9B z{U*e9bvQo`zQ#}PB=ywG`P;q{{J+kj|F#C_d)4H8vkN#=3rcgo*mlydO1dX#pS`j5 zz(t%l)`BzkT5&!bbv(2SXYIjB%IgxY8Fz|&4szPixK5m}2aP$4Oy~C+SE3SUiNO}) z3wO%9c_Gf{g6*VVjQr?)>m(RTejkKxw4ECvE4Q^HJq0DZl9sUTJ-22?n_*PLzj71MegMLu)1+f%H!lt^ z9`Gc~^IPXaQ)>t~k@$(~%(|BogUy1r?m2@?pN>_ev zUENEJ?zWzvJt$q>W27rTx32C-Mz>1y2R2Dp_bKVh&#kL|V05cZZ}ysW)jy;wKew*N z1EYKQ$zqG8t8qfQ@^kBITrs+1o*!6Tx*Bh!D?hic#yO*Vpvy+995nt(SAK3?jgvS93M# z%FnHON$2oA-Y41L^9%BwhKrb#)&P=$7h|PrAClOILnw zUCrr??p;k*{w!V1@uVw1x31Dx*8`!-20#SMx6E%FnH< zd%e*eb@^dSS91XA%FnH%JboZRR> z*)Z)E>FQj3>B`Tot2vv|O&P!Hd+BOUCtdlubv36jx|jEQEJC`PYe-jqZr$TtGrFaQ zAM7dJ4Io|lxpg(SGrAEGqph~1xuA6A=hoGH#^~ld(&%Z$t9g!e<>%JbeB0>Wa81jO z($zd%y7F`DYA$AUk6iTqm(tZ7O}g@P>kj3b(S2t5;Wg5w8CbgVbL(pEYIK*~>$Bq3 zoL2G5&#kL_7Z>B`Tot2w*TtvRIXd(vGK zZtKd=t*f=6(VcUm$!h6p&8T?g=hoGF(da%tB*GeZw2qXn{M@=)#~Iy5(XU#4Nb5T3 z%FnH<`JvG*yJX~O*`Rr&bmiyP)f&s_E?o3sIq7QcC0+Tsb+z6!x^uODGbO#K*{#WU0tt?&nxpg(~HoBdsOqwQL&BvuHKew*t z+(x(O<)^K&M00WJ%FnH2_8Kew*dK}NSs!U}7A(E3Qa@^kBIZ@}m--mzwv;?~PFSAK3?t^18`leT-Ud8+mWq$@wSuJ%5RZu6VAo>9Eo1Cg%$+`3x#8{MzB z?L91A?FUF#er{c@e~oT~KbPGpU9F3yD?hhxTx5pskYU?~OE(|aq$@wSuJ$iXywyKF zW%YUOYe-jqZe8tx7~LO}Yo1cP+8dFs{M@=)s~X+#<#VmMoYu6`m7iNz>wKfTWp8XP z#jEwdbmiyP)!v8Ey{q#LR(sH%h;-%W*45sC(cM+MS2M+{Jp<{=&#kNdAEWz4sR5Iv zt9>Eq%FnH_V!(v_cE_e|#u-A2dScb4u0T$8T++`8I3G4YP*vtz!c zOIwt#{M@?Q>oK~GqLNNZS9?g(m7iNzdof0LPSo@j($yY~bmiyP)t-gXP0aJdG3jbA zL%Q;F>uL|t=;pa=veoCcw`||Zl5Gw?Qcp~es0}SoilW!A1P|BA&YTM zy7F`DYR}QcTm9pTR+(upQo8bU>&9W5(QVQ7;zhDSdydkTpIcY^rAD{n5A&`0gZ5FS zD?hic_6&{ggbiudd`EkU(v_cES9?iDci__%uaFJeW0J1?+`8HyGP%zQ(==lon@oJ3b{GDM8rqp5^WNsjso#?~{JM ze6M#pyyNjpKkEH#?Sgr>J-B6@bo=|d`I;m1g^BUj?`#Yud>&u8^;`7}7d|_#FrP^y zFW0zLT5c4>dIA0#%TE;)M~*}0_to}AKz`yl&NcaKZ7Qd~<;vLN{Qub~0eAf$bi$i* z)yJ;+eBskycIw|cd?UqI)|a=W!mR=68vjDRS|x`KnVFL6pX#fc@pt2luLh(vww?>d z#rR6O{Pnd?q6xaD!@+b-ZKvx$wYNO9H+0nwB;_RY<+0l!ZOm$et(m)W2Ag&?6bUVFqO7R8Ae8a@!$i97!_Pe9NOR2QBo9PKf1;(-Voqj0uq_ zs$ZEf?lGaPtIxZ}gnt|>in+q|9+>qwVU0JLewL!K-aEA3aO5|T6h~%%XW+5?>~X7c z&-ldgykTe`ib+1QJN~GRW*&b`Iq!GMxhOiuJx@75ZpxX1AOEhL|IJvWx|99p{@#so zQm(2ktp8s?XS+!^8~69jX>4@TaF4CqN#k>qMvwTklu7??%rI#*ciL$Q4TLzBKmqq6 zX&g3bSg&z)Pl&}gJLP5W6SJLkSVjljOQchhgsm#H(%~d3{aQ*k(=ubPej8lQoz}~w zRXHfFA)LOU<864c*gB^#d-*fvI8vQIQ<|@kX5FAPIg$*WoRp(}!&%Oqw^vE0dFFI@ z!7YtDZg$dY=d_I$x;f(9_plwLb#YKyRykUyjz~8r>FKv~<=pALMtTGPnx1_Q1iCp% zuS~d=oKN#(<93o>bWnPHL)SX2StmSYFFiA6%y80U{t`k34J7s73bH4~X3+}plgLLjO=?wNyO`OJ$D%eS7D=m|!Elyg+ z0;R@#3Z(V8NsBx=%{@oy=r{f3hS|dU|1Hva(Up#Ma2`I{DLa!N{WhGOS-0u$w@IgL zJ@;5RAT2&Vd+C@uI_jk3Zr|^aPMx51hH=Q#1P3r;QIyr}J(W`T3M|#(JDi8|UWZF1LN8ljdztxyj>n3OF|fcYZ!6oi!e(laxg|Uy#m|9;dU{NymLp-A_7idX$d2r*?A^ zXzXg&Uy{zgpmgl%X>S%yIl0$ua?+~qO6ve=6>8ufd#qo9%2qnZh_@El`wJO+Wg6Ga zzFKSc#)|ryS^H{Dxo)qk!^|+kn%<5B;cJ7ghB3*a>|S5wYhi`!#Wj0f92QtFYZ;?G zY&o{;(=~1Fg4E`DS7a4r6w=os4V+=K+m1ej)9s-zGQw9b5N;^f z>~(EeV7;p)hwPJMj~{)WZ6P(R3`eRTjzrc$US|1M#+I^BhW)~tfw)zU_F6V9ur_m- z<9I7~VAdZg-PffcqY`K}Sjv*NJVW?9Fv*okAQ6UQv zUN2>B(~&3;PjSn+ z!##z*+U8a(T%$m^C0u*aNpF|};WXu&Z~etHP4o-!H+y4No8FFW#OD{07a@=QbUM8S z@>M=}cRu$(?&5QQ*rJ-5})ek zBcz6K=2paC-e;auslO`@d(Dz{eQ@8h;^4kw)yIA-jw-~_AW%Nzh{IlsWV8{bt31ga zw8HQ^^hlN4VPt8f%B2kQ2R^IK{AlT^A1I#`IIf_tNgy5BYOh7Y7$t1yZqL73;d!SS zsj=m^Kz#KBamXfnoe>sTf4IjfCZ1MZ@`AZ#V_u{lRq(7Zy&f_@GJ<+3Nbikc#El>p zJ@YeVX|FA^wy&ramS^8c*;m~9tT^ff;*fpzx*^PWA%Dxc?JG|h-3KZl%ONWvwNF|Z zsWw*y8R4t$vM(cUm7l#<2=gg@Id}Qhw!+dLkgAuu)@RvQFJPbIu-5@u$I--zqp1@| zv%iVMp5td7M_VTjzSCvd(LNAIa9P{)_pHl0%88>JQhDwEH*wf=^Q_|-;KVV|iDS^; z#9`07!|1uTbC>BzCyq;zYDbp^;%F08ruLjVYdgj}al{~%m)JlY!R2Akm$QyzsuM?o z6G!6T#9_~cv#yuvP8>6kY9BKLaRj#yd!C!M9dn&Hu0bj<^8#@Mw^Mr#n{^xuoj7iG z;^5t6+I(<7QaiQhr&*7UE1Wo1A~iOy3dE6-mvLOT=bmBAkZk83*VYoIFqhXObsxGH zskzlgWNqaANcG_dkP*Jt^rNcu%Z|wUV81J%aibU5^Ug4OuI=3S*vAR4be=?N+)B)x{%!&NU>s17KFU(|`<{i}a1;s}J7GU);3yAmU=YNDowYV<**5M!hSdf+FNc4y&x85!%El;Z^G9=q4>%}3($V*BuIzVpgqrb;UMIr zu(UVX1_nVqoOl2CN`U4;AGF{9sYe@?(|Bqe%}lj!?;APK2hFoy<`)571$95`{ipXo z{@XLx|MtB1zr8E+PtSn$EVR`>y-PwyR3;jSCFN+&%x5#6qpEMqX}(|_y5TA}%PSkt zI91N>G&EkwxznJFhS%Ym<&}-+E+!4Lr$18T4X%VOtpBO(@aFtwrC~kaw4WaQn>_)O zj(H}xQ3Z&58xP~S6yB8&nbI+5{95l5SYsrL3TJey`XWnetR|e6BDj3Ms3EnQ)@q95 zll)b8nfzPIznSB&`(q}5E4=cp@R|c>^0&fk%^`oy4>S2&;afQV<^RUNrQ=`WZ~R+1 z{!TmkOa5BpufDgEdW)pN-OlGVfGzaHNJ~G%F5a29AE#PjHdBU`2{R7e?VvEqi=;aY zC+}KM4!LZ#d9_KCrtT|RvoUWBq^Tz44sX(wJ*sZEpMIKS2GDcsMla2nj)Hf9xWkQ1&fnMKzsYc=VA z3b%l8P0(xa3a8uPKZV;)xN7K4afK^*7U7nVnH$l&$rVoP!mQF${b=sv_DhY6nUcaa z)z2%~(2w{!^7&pTKD8H(NA55>pmk`Ro-*6@WWp{aY)!6x6fJ;k)~Dd+Fx*|Z|Y0=(R|bGhi%bZ3TiuTs5sd*%oV4`KX*8Hoa$6=zpUa+ zBF^#X&2+`7d8<2|iPN;@?2M;oKbOg_<-WCr^*`+@T=PNFWHFx{m&yTg`t^E!RGn04z8Op0>BTsON zlq<;w9GAjRICl7=qT^%IbS~+TxLLIL?4)Jh0gF_}#JTV9Tnhgq%d|$srB3SSPneiG zNnup3Nf`D6D7*<{>WyX?s5c!`Zd+^jgR`^Qj+c0X-kY7T4vg!d%5xlJNO(A7h1Kpd zm5=PKMWzN3PGO9m>{LG{tB#$2y@#tWXYvoahpW$K!mL1^Jn{<;PGPFgQS?D! zOngcU(}VmnkKbws{b-+^(R;@gC&>hbbH}M}5M*PfIy$>P7W{6yS%V#P`k3rC?m6DU z?n+@>eXMbe^(Bn#q;ZT0dpVJY5t~`(sm*9#M~=B~y4nJBSZmLoxoW!RtLUcZr{p7; z(YW`ho7#TFmi2Qj_E4=o7UnZ-6J$KsQn)(scj0O};c8_HCp*>06;5M-ocfI7ldFfm z+E;y~#*hY9cBxCVmDjaM)(Yv1kTa1hkc@Td_c;FR zkm>w;6gd~U19>g-1LXC{-N+k}`;ZHfhmkiUe@8At=BKU~BTFHdB1Lf$EvA zo6pMEFbn0guy0wQFP5P_+4IpbYi_D^FMtAEm%E>`EQovnspkNjkkye7BkLnKBikY$ zMGitfjvR@60-20_5=pzT+7#`=w~fy?AfH7pajq{zKF??B&G!QG8RT~4TgVrY?;)lC zp(8&=?%?w`$k&kev)Go5F&8j3uS5PCL2Lf5itGxqP|q7{GiJ$p)p=WphSt!C(r-RaKK z(;w`4Sy*6R*Al%2T$dxS)>!x%($D8Fko0fgekA?cDp&fo^?4@p0N3fKzORtVZQXv$h^p| z$Z%vIWCU^~lDN~8kp+=FFYy&d-ijox^c6_P^K_nl_!!UA??9GCu0xhbK8mb>d>+X- zpS}ZG75O@{I`Tba4W!24n#gaFwU8QvvE3Sb^$f8fb<_ZvG1gR~CtgVIHEz_RuU3W& zp)pjU_0_ffigI@^%J@>0ySmz*Ei;cf6$sM>>VbRADTjW2i^7Z$hN7flk6(R|{*QI|m4;@Ban#KVIPp0}GV%LAOX6R+N{+klk zjyKGD)}kcceS4@?|MqxY-noBf)fS$m9qc>b7F2xMa#_`XX;(~RssGrl>tEA>9M!)a zZKguYH#??!~gp_Va)Ka|x*a&E7+-qu$UJ>;d*3nkPBq ze>T1!x}5N4%pXU*c3ff3n|I8sxJF;MTzBeRpL-%pB6}e#Bl{q0BDIcffb55iVAWmF znq#*|YTjMJ7s1`Zw2?erQN-zf(TMiZ`FtC($|LiC?)rb%@r-aO6{7M=4R_{KnV$c% zuBOcS?xW-XZ=V0V&wp^A_0aL3p3gH#$mSBjQrr4J^Y^Sxd)B;OPHn)r!sMqyru_Vy zdzi{Y?b)QU(n*7+(bCBZXTMu!`kc;AmD3zgQO=EF+R zUi&L>-u>Sy0re&GKFEH@H1^>Fj`z62x3S@6HS_*_J9dD5FpKu%6?O?o-{|PsjsidQ zU!LtKuB`kupH$!Kb2ei@n7w}=k35NtLjH*yh?L$~r1mb-oX-fx3w`fH?{Dhecg3V@>fzRYh_wc@^X}Z=xvsJ? zYcR#j$G|;R=RV7ofPM7k<4~js``vKfg=Pt;4^MX9|6Ai^!F|8v?BVc~{lWdib#{w6 z^5>ujjF)R`QIk;E71lRG$_$^Ked$HvatQUB&%Tc5PmSCSq3dO01}JwIuJ&Xr!+ z$EHSh&wMg=ntctsyfW^)?mngawf2aOu5Ek9z1^)#pGUW8p#SO2M>+LBJ&)D1)n}m$ z8)4aXs(-WpW6HOfE3yxmzu$VjQ~w>hB*a)h5tyR=A8Q~n_W=zY3TJe)I~UB!`<;Jx zzR-Vr*VMj0{KI*6+*njjWk6C+Z7}n^)7(clJMC0!7UTAl&^l9&fnxl3>u1%4>^1cj z>D=(#^|c$F9VQ)}*A?SWh}Ew~sm8d${+s@1(lhTJEp*az=j%%h+HKNvC8vC6CoPk= zQ%+hcXX8F3Z@-zeIyh&X#QCkPHAg8s>6tpyd-ifIY+?O>fV`bH>18CBt#r(KLGSO& zxx4IFq|0uhjvqO_i_>XgP#=LygS3Saa;9JPi%wp3x zJv4h!eys_o3X2xQ^97h zQFiQSJlST_>0lDlK9i=IT(}wqfB!%_|GCMj zJ5CCl=1)$Q&cCa_DBjsfVEyE0?v)y-!3j?zM_Wpto*g6Rd@|$S^29+s9cJW=3dy!=ZhWNOu1x)%XlAAacY|3_TzB4iT+gm zJfPjj&c5vIwX_)veT!)NA-iwUj zT?T!}-2PsDPo(`$jq+#TzcSv%ahDtKtq`_dz-Id%l<^$Qt$PsN+OD%q?0ZPoZRJ~Z z)gBebuE$nCi$v$P1BrH^#C7IhoITM@D;w#gX%ndRJx78cGqV|~cV!}2{TAdMs)Fok73Q6mg3LJVzi&k9eJlCZhBo|NlX-SEWG6ny2FlwW zzp`#4^{q7Qwx>2?k3V6)NdA^%Y8H5hmgfuU8uwcwb-fi*^ZM4vGRU^b2;Ohe^Qj{2 z(A%~)46Nt%8%1&(p%DS~9&#+qhUKsY-URENU>13ipfjC@LOkgAu~x$tcoV*cQ&5J= zXat>MB*epfSPfg?P52t}m0;f#T0lRDh1swibdJv}un$f`31*&+;Jo|aDgn()%v?!x z4>|228+V*J@?(pfxm*_e|4ArH-{_eAfBJ>fT7u_FnvdG5~s{xJe*e_vfi<6=Wd z20I@6d&}MAfpdiQ_ixx;cd>KrzwGPh#1<lY_K#CqbPb6o71OFe3_iuFc)#@@c2|FhfM z*Kgv<(baw3sJT&)3TvENv^>xM_dizx?*6~t$(`m9#{I%88u!pxt-fV_uTVchZm(Gs zmN_H$SKj4vblm&CXWiEcul}w0XQDiG)ERo3Kj}9v?0I%KWCJJ@ zn9tc|8y2Wcw|zscI9dgC?eYl=l$%?ZXQ<5IDhB3fNlt@|#Fnj8=(})G6F64Nci;b~^FQ40|Cnb!|Lr##&gN{7 zv$~gKvwN)3ygl<+W6C3+)449PO2YoH80B$|DG&Q~XltA)Ljk=D(l!2O-)K^xXwBzC(KF*vhCgSh@v|!GN7@t8SobEVuPt`cR2VM#++k8;Ci$mE+w+jKAHVEzMfK|* zzv?m9k~^eC99JBjCjxm+oI0M9x8)@p3s6SKLHb6=%mL$q^Br_XhoaBQzZus}xnI&u;Hwfqvp%6SiRt(U!KxIF@3ZHfZk~Xspv1 zr?D_!#s)NEgB??kFV7LTld0GS2#}S2MbEU42*n zwH<$zXD>cS_*$|mzK~Cv<7tf?$sVjmca72ZSQ;6q!>~a8D_*s2xdFt(?Zx{3;1J{` zeAaq?Fmf((7;+_Y1o9E&NaPOWrO2O=%xTj(Pfv4(^ox+Aku)pc7-Te3<1cl_vje^t zh#Zfcjf_R!f}DWdhMa_a8A;mdZy={2KSEAL9z-T0BPb1<;YcwEbng(O9flyqRH$Z^ ziOz&9Xz32-S`Gfzck`McTUhmUoO~1j{Z67>dC&&Ya@Yi~z&j@)$qoZ+0{qxnpyfS$0+W>#Xo#D@SXVa4PYZJttYW*llZ|97hI_Sz2 zx9)_*`1r)>9O_{y`I8lw#$fiLe3P(6_1DI+*Nma=@J?DfrNauhop3sjt~%jvaKh>S zqOsK-ZmNIkc%`OsQ|T#OEa7UR_n9l4%J=WWnXs~TjT3grlXkmOn)&}B?7x}6s?91r zGglre!*HM3!umfiI@6u>eOBFO6sq#5?+r&1PGO9m>O_GV(=4gKt#cCm$<}FHR>5+u zhEsQ0=vj5FaMB@(tl|nB^dTM9MHcZ`>BZt_$}S5XtFForfzEvzgzjBVew7aui93v| zZA8bU+HFf^D6&)breEpoKsn|s0mpOV@S#sRV@h|ey!cWXzAAT}W2kcnrEhdhzj`fD z?pD8Q=05XF>x@kPLFa{N%+BN=bmo`#X|nP+^NB)#?`~?{w=w#IzqVO5A=I0 z&kM=3erHGXy%?ul6h=jsVH4*&GDs*Ml@pT)pPt?8JFH1g7}KVL!UX*ikR5glVIv8f zPF!=GusVA~ZOt8)`)HugD@+n$v@ids%SN>$cNnWba82qu86)mz$0J0W`_`yqQHBS=-}sLI*jv8lpyl-4}^NrCG8 zUDx_t6rG}!RZ(Vi!T$PAdmYEG24O}MkG`Lyc$@L}RLD4YoUfNTV{BMpj4nsovQw@< zHmOVpA}Mc;W$D$CmmpP_gORdUWl#B9XW&x~);u%{sre`Qv;4`Qb)Lllq~@O*7d8JR z4r{&{hxGG#I&vuTMx^GOHzV;&Ux(Cua|4ofTKc2N1mt$4=AHYHNl2Y_V$U@-$Jczn z20kj!4xsY^)Qa@ZWNZG81f7d85kFH-dTw+%;dHib3uIsD9cY*7l#M+;h6Tpfs>GM- zlo@R-UH6x1Ncw`6_cG4s%E%d9SJ}-()<<56Y>J$X)R=b_vOO}Le=57VNb+r+u|a-) z*YWute?_iD{(-y$nGc&)cj3sp`CJgW z2H6$47TFW2d<;QKF9vxZpZ&;_63mCy zum%3FxqKL8_B&!7 zvi55%|7z}$IW3*%Ag8@XrTSu4%S*=biEInyBwxI{ zW;u7hdXrXnla}(8!?cc(LI<$hbk@JkKpUAGfe!h!?mO6!o}c@i`*%b%+SqM2%=sRo z-AA0EKy!t3op+)1q-(ditltM2Z0TmaJ7Tw)taV3Nx(%#&HD23wp7DN;icsmvjYL=V zCRvo3Mk8hy#vZ%=vQC5ZSkZ43NW(7wtkW3dq#>#EJQ|Z{GcI0J&@w}F6yKYSef!}g zl;K9y2ztRdm<`KeGwg(epb1(eoOkE81o9ER8UGJDN$H+u+)u34R(&2k{%ifAaBD!i z#{b{!|75lQ@4n{#PH=Yi^<`h?y&koF^%>jVjQ7dheWs-Iy;zzcecnDZ?l@tT&*4tT z(%)@poBjR=+Na9Ntks|8Z@E6Uu>QZ6@pn0sY3ufu#q-|VGWVi6m_ku~rXC8j39qn5Uwa3tgN}jn3Vuc; z|NMXB-;C>8^CMj0t$hNL?;h{h?^2VvDff&tjE-&BB||ZUJ@i zmZ^)u{*=V{Y5pGkDy{uX$hOT}u(=jt70&3Ic3U`550p_dKQcSR-m^Hnc};NJG}1Mo?W>F*PrRLmDR9u-ECq0eL52Z0wTJ=+3@eg6q)qd;PYFoV6)u|LMC4TW1+thxn7@qT@LU zwr6r;T9Q9jYZ&^T?2aU#>4aBUqpy0@o?@4P-NF6d`{Mr>&NJ;H_8XsO`mrA%O2CO)PK~> zGy7}oGyUDzI-9as$Mro<+BFD^Nq-5exUKBsr?BzZJcF<|@cA28SS|;JofuRDw(Y7u zw{6pPM7r|}@QQmQk))!eajZ52R~S-u>0a*+=eI{ynWn5+cI6|S&VaAS=gv-8m4CrZ zVO9R7EZj0XeaQ6J?MeiG4avK(WzS2TXjn%4kFxO z(wNJ@sk&7-L{OUUdz8ZMCtN?mU5MVDPB?Qfb*JaPPpDo^n)3Pb%y?Rao0r^v>wo*dn`sMOF;;o@WqLR673|x~AhaJZqhs!aQGs^Ab9HBq zrZQ7JZok;X7`^~x{Vaf0rplk&KRGcm)fqypaydzwt4Xs3dNGb&Di^9WC|oR`O<5|; zZo*XN+8HN|8E@QaIejxwp4sVF=AOOPDa#|IY1|^pvIYrSWyyD)&4_P(WfvvYdkMnn z%o~L>x~8ph*=lpFOoD#1M)^EDTZ8M}i~%d14HLZ^VccSDEz!+Y?-|oJ%g$#pM&C71 z7^5dU)yE0uwlna)lDQ{k`17uYxy5QkbiTW+aZ{$a^_;pHloIjP!87CM%FI$K2F ziI|Aa5R??3>{B~&hegEEEAjojT@uhkZ{A)Q##{zUu> zXosK5-0gQ(_X7q@*_c18uz~wQTPuHi$=`AE*BITgJ?wf=ShW#%y3s*aXVhhO>cq?k z*En_3kF<YY=$FH|{><2?89PfVH`-vem{w}tiC z`!zMLutr~Po}pFG0G+lFJTA#!bJVQ-n{nNY2O0iZj|Zkbx%DQ*CB&s@R$z*THmkZ* zd&)}BG&;3weRpX;7VG&>m!84(?hYI1zZ#o}SMjS&W~t*0;);KB3Etr%e!UNy;>2&p z2Y1*BamgvE&PyK(r|(GZg$TmUcG(r4DNT)8*2aKq?1{*vqcx1_kczt(@$QDn=$&@r z)|jLDsoSPFKAW-1Ezhp47tgEx;>_#pm8H3e)AKsxcpoqP>0Wl(`=YF4fqN&Uq$a1u zSko@6e^#cw#u8THjIJq1vOsR+g4>+(I+Ad;2=_9+yPP!4yd)zW&jg)EH;R)Y*E4J< zPTEGsqn5zD#OY6J2+q&*XxFv)e?+RzefsAm>6%(C8O-#0Wv+ge%=iNGIb$=P3F%JAC zY~cP9Yt^@&ODx1T^||qV?D{tC&>hy?^VCMlqrU(e5oV1OM)^^3y2Je4Jt-&c#oU`Z zlqE4-lr60PZ=(*!_I3Je?-Z4xH3S95U$nB*MopTVoiqa-kob17Z?x8=*})oM1Iby3 z_An@CCr#5FqJ;W%Ii|X1qN{ zjPt?XOAia|!x!Wl+mM!{(We*SFMh8iUBfc(_oY`t@*8>9`yAzv_4!-@$u_8u-!n;9 zJE)AL3;U`d?eDA)@I~-U&^{ZmCh}tE@9IAD?vtLA+WY5WfihN~(=!yg8pI`AY9cj6 zHL&8Y%=;Jm?c{#e^F#9H>~)7(``!wtXQX=PN3IEBbkA>w)HrIr2ZC(DXHBvA{T1u` z_x%2f_5M~{WHqigM=GBeBby-kT^9R0LrAuUtawRj+4Cq;@jT;v-i7ST=LmYa-p`TKJ357}cb+b?WCU+)+3%0nK&zdl zQ_6bRq#AFfbhSR0vGk|%zDXb6P*HC5yG0ExY3hJ6!`Y(_v-Ydysd7@?$PLWvyGDNx z!Jcl&p~&IL;g)?-*ihejAEugBA6xLV_mVSyZ-r^J^&NDC?{dNoLykdCM22)iI42q++^3oM9=2*_VWeiK{_ejB_Qd;zQlwO^+t z`*Hj|62ti471Fo+{UPm#(!LzOM@rxGw`AX$>P9i-=b_VKcbeB{Do--E684nTJ<+LU0|=>%a%W z_ko`P?*rv-4ftv79|0c*l^>r2zYyL(3O<5edCuM8?w*y$!L8Vz1iu4*5&Ryg@RUDK zVgGq}{;Pn$2fxDeH$cTxgK@c6|M(f~h3t@PMT;rZ!tL+Vc?+Y-H|?#ufd6N(#yE%_ zasBA4&UEhD@?LsEXEi9_W&C*#+LtvY*j1Ob-%xd{n7v)6x#z7JWnaMV?k=vpbf=y3 zIc#-?v$ev!W;&V|RUOfuZW+a$E@tZM#JvW54!i?=9$W=(1D^%I14<@xzXSYt>@NlT zFN6Iz;0~Vu7340lm7GzL`XP3$^~rsIQ2w>Y@+a8YPnG&9$UctLizlRR|0MWx?3#y> zJC(neu>TkMU*P`m{5Rms*k1+rgRh0>e*k}r{Up++=j{Ua0$;&C7tJ*62Ve`3Gwf0)g8RT$;A>!O zu-OUhaRgg}-1C&_1hxZdGg9rr^TAWV;b2D){hR6pqR&#NfwMvOuV>IJsnfw*z#@=( zo9YI>59|Sc3hW7z4b)}nm&+jSshmmq8KuW)6xBe@jp$CB$-Er^T@vZs*3|Si^wLzm z+61@lQgiv=-T7;S%ML-`pN!7FkT&y7cDJ;lEVn^}dwwdf=Y{|C_^&&1r0aC|*Qxy1 z`*EP|z)}1zfl46Ng9~}5yKq$AF9I)s2J!!5huUMSGflj|+NhmYTRM8QbYVKR*TocB zf<-)+xd6Ge1P6lB^@BjQtwX_X;Dw+ha}mf`GIcSid5sa^bnp^TI%*1d9e6od30?s% z0jGf(knb$qK3VqgyStuLo8_F&1 z2h{y-x?4_n&t2}`zs~brlmkD;--T zya4UVDSTjJ-AZRq&kfT;DxBgPpT?QqO|yp>yuFNBHa5b*K0@!JELXAnVHR zJ!`h9=dm-Ub#}%@sqbOm0KNcz9{fJ|CGbDMuYo@V{defMQhsiPCPLbq-5ZH3<;a)z zs0C$Kd$wCp|A)BMRp}y?(aW8iR?f|h;r~FMmnJ+{dwCwTJiL?SRi32>{8>ioD_L8& zgLi&zHyzCnt8Q@ync!|vt?kc1^-A}EY8&N_CAHK`*r$Sf!5QGs!Fk}X zz$);+!KEPU@R^n1Z^4b=??Bbej^wB{@n?n`gaA*Qg_V(C8zly6VxvK9YFQRI)W1*)$02HynF0sjG>3l- z!KvU5unqWg@Jg_dFD(ku&t7j|OzhRCD@GrUfQFLu7eGBI4I?4p2xt;C4Q)Lc>;lE# zO~u}achXkKmNL?jcDEyYOgqx9>;Ea#NAK@^hbOys_7wQ_f`p}%0hL96_MBwp=OWY5 zd}h3@yq0vR9he2S2d@WJdT#*bPIB%FmSR`CPzI_-mxBwzdEg>&0ayoCfEn;6a3xp? zz8_o!-VauR9|Nnw$H5!H=fOHqb(_1SGrK_X{V}*4`$6zl@Xz21P~-R(u09ok-FYgx ztG{tN)IZ2U{|ChW4-Eg;IQg_-{G;zCWTboa-*ikd&-`3tI#nbG7{utt@%o=>mRhO% zcvOD%{fVFdOS`#1y+0jVAP*R&Lv79biML9~y`c2X2SBwQ9|R@8HK648Veq}+TJSbd z{%;3AhW#VpI#BYvAN&INAowi!3GgNGli;sG`TGs{8SH-rKMVd1{5;r#xaoaM@KNj? z!7qSkgO7u1Yn}v4z)j#d@F{RS_+@Yo_*HN@_zXy}$gewX@Em0PYfybTeN&?LS<+Bn zVXQuOiOS4R2&)VFUuDLXui#eyW%At?A{)6?y!?DyI*d5| zJwVd`GW!U(9r)j12k?N4^AO_fxfp&=({b; z|5;K#7?p)iOe+k8{uNC;|0{z4TEzr0mHF*?LwtQq>06(Y?1rDl%%$7620H@}$=}Qs z@TxIh;jD?q@UZf{%oSR{Ps4aHPAIt5cql#YEN-o2)w=S$3y0G4=Yi%<>saznf7w)7 zD%u-a>(^WB7tiGVJNrUB<8o&lQ}B6O}j=(S8R5H&}aN$w-NjAm!TL;OX zxqZ82WA$TX=)@E$(ZSq6TxVEZ<84`#lZ}&)l^g9(mg(ui{oV-AI^#L2x|-W~T#KWZ zl1&MIwm|Y@?rdMxMX_=d+mCW}O)25jG``(YKU)1I->xTr13E9Qx#DwOpId!v-!3PA zGglG5m#xH4GsXcnZk&KW--f1Ldx|wB6{0@8ObzZOGRBOquf7D-_~RC^g_|qW*y3{f z?p>mBf^QR(Z_|?9u5@nwIscM{Zw*|>= zKa}Uz>+a+`1DK~oR#!)9^Ex;CO|H5SogkS9o!e_8w_ZmkkHa=Nw|*R^eD=C4?ev(! zQWLH;%P>#m^6PUBHK#Ho;^B2p@?GxCBjIn9b1NQR2c)B+Oq>Vntd0kBOrUt&==`b7 z__~{&gHZFU@MJdQUhUE|pyoeWPooTJtwiepKJRAm+}E+}`Y|e7`*NIl&hcb^7}T8K zHn0o$ZBV23@45FnM^5vKBcUEp_B?kRQ)X~G31znc%0O$O$Dke1K8WI+>I4mirb2bl zz0hOOHs~PKyenf$s06BpRznX%TcF+0L8vW}>J3eRW<#r>_0VRhzDD)Y_P5x12_0gd zIlrmkAEUzfkCES^(z>fF>J~&}KaHp4-rO|g8{m^-(<6EH*-#;e1FCx44 zql4@?^tX=F<7!pS4|D-<7$@gZupwZb~fv6XP-WZI_h8DoB3Jo#H-}XBkLwpY{Jk+%uscerqi5 zPZ9UqEbe2gYM0cMkF6@Jjmqv8;x`F@@?-84cb#QAf#=c*UkLuY2f4@laeU3nXsm2H zST!HF$C3wjKkcEA4yKeM^EB!Bv!#Q5dwj}zdCk~G)pg4+uZb0<2KDPK@2%`EkP^Uz zDKYo|%kXV8CY0TY^QQ0>PnI<<8q$x<=f@h9Gn#ue^A-4YI%aU z8tY`A-{SYMQdD!EyZx`x9@YV_Ox7<=etcnavp%%l&1UVt()A2!`i`Y(lpC{4E$hpJ z@*0$HIc}834#-2_RLZZpKP}WF#!^vQD#KaA8V@L)@po>2eF(FmV;FDvzY7=-_(>PI^j@Ti|!A@tam&T}cBsrTms0dG;Zm z`yu%=w(8;QU!C(~Y%8b6r!puhk{X$Bz-Ma$AJsE`4?7e;a&K;|y`mk-%5=#bpZVc* zQTg41-+}m5m$YE4uLtt0`VjZaR~;^C*4iCQTW4jcH;t)`mRZbvlXP|u@d)2E_&B?B zNBo(!)x`G=NdC;Nl_AFW+4Le1)15ibsguWA7IuWV$LEK(689k%ch*Vl5Ld~$5AN4N za&K;=@09M1Q64pIs8M%&p?8CY!m8Am7}$n*6ix8T<6l%0K7%0ROy6PI$P#z&}_0&2c}l@%d%4*cK}7 ze8M*KJhFJwWZ}wJt~iu$dyvB#{K}uXwY1KTWRaWJoaeE$<~)z3HRt&;q}BS6_O0l0 zODOm)(mI7jYuC;(hMQlpluqlI(%SOrdmWydJMrW8v>U@?MK@;Wdnl$Esk%X+zfW+Wn~Pb+Ge1^M zyKyU4H+ER2KbTRtS3ZsgwLVb-wgt7vq8&I6dl5*#D$^a*`(6Rh2Pb0JUIOhw$?hxH z{#fk<>dmjdSMmD{*2~{$mF;vic2%6$Kr&Ynmf~_1sJP4oHNLtA)O^`>pxQshjVTp< zW05%ryaDVJ-b+q$Hw-KVEpGlknp0zO>_r?q#p2lB$xCtcV@&qM@Lwh#$4bIf92bF# z<6=;Xwi;BNYCy%Qj%}n9z@^wP1(A0~Wr;9v$E`cN6}PF|c<%2V)ZV+!$Z-Iu??7~C zqU_o)tNr;pYxZ;(#~JwZ73Wg}r+!%T8_QTx?()_0G0+p9{gB`&4gW6l`?>a1U z*n(33I`1SuKbB1M+?#kg`v`vN7N*v^FwTqSkC98tj|tOZ*R|hgFxv;=&XASAkK<4B zd=ONel$Y(nPhnSHZvZtV_7JE&n=MjBq}@-F=`P9me#&Cp`Eg-7rF6=qA(a)G$6Ofx z{6%CE#&2oYM(DlLN4_|tct|#z@zW7}22^=}7CaZ+0$v1u0~`&06Pye_$FO5I_+9J( zdF1PY_5-&-duY#OAvse>4E0PhR$TlzEBmchJTCu1SdzKo)D-+7_CoMSAS&NIM>VB> zj9q2#r(kDrC)fjg5mZ@`(LQQ@qa)+L+0Y%RgQ9#>`u%t*9gVk?Ps&dj#et!fyWdW6 z{1stKPX7&d0bd5C5B7uSfxo4gjRgOI9e|g~!{l%p&$6;8#*H8QB+tA5jc~LtRdQ3^ z^kb29*s+^iH=DRQU-lS*l2bEKa#9*3rxUR&?(7|NWlhgjR@kqcDFWMoy}{<-0I(hC z^H1L#Ny3t6d*tZ{lbqel9&vRa#jPm~~ zP;y{@fy)op-JQ<37F1inyh-K?ka-5TFO@N{+n0I+IFIM_sfm-~k{>VC9km1cHX=*5 zhPMX4z8{zlJJKohJX;0HsJu(Z&Lw=wq6}1g%fUY2Ja7oe{!bUr3UE61h2XVdHCO}Q z3%EZf-x&t2goZddO2_y7_A}7&K{tQ;(IHodifsk zH1NIPFz|h#bnk88RPc7tw`1+#t3B$%8mJThdpdjrcM5yUP<}AV)19cs15i^YHG4xN zp;=HJv=({{+65heTG4SWhDxAWP#ttH^f0sq+6x_mIux-61Wkg&tzK6W~e<*8C z4)#92_H$}%Z6~$|kaj$IZ{YayDvnc{i}p)?AKyE8w7Y}iYe-B!-K=!P<1(#$US-&7 zl*4Pb>+O( zm}4XEw&O?c&5gzs(t)&pYQiwN<9WSTxk!57pXYkt>RHj*vaMyDkTt%`e|ma z!p$lBLfL0dM@x8$6(aKC)Z zQLx^4`aN5h&RD##yo$FfV_S)527mHn?)3Z+&$X9JdGoE{UvtX}^m9?2L2t*xYK!}2 zP*I*AmGihCckU!%KkKg?~pUK+Ny`}&Lm`NVo?{%d6zw^@V^`}qwX5u*ufAVAQ z{#p7C;%6p)F2T>im`wgz`s$abe*MYPX5}cO0Se|O5AJssY3u*rp-%cdb*FsT`MGkW zJY1{v;a`5uz4VUWGmZ#)FIVrFUW&iZ*IUv*@%QL0jv?|FX4OA0lhfNTG`!Z|Rb2W0 zsNlhb^iI+7P>b0HR=3=xSL;-7LGo+vExq(t;^{qZ@h#He4MX2DGJGdh@Ipd-t-i~l z@@F7vJpjqCxi|TDjpCczF3DdVezbz=6ioa zQDzdat%l{@Whm{lM^El_Sajpzyxk5#A3D@7o{Y zy~aJ_-{A=FHGHu3ge-r)87%W>>#4ZKpO;m*_4d-5<<=ANbLJW^#@%_Hm35m1#(4+cB%J1ozybYa|Yb;4b9MP$Ct&jh}b ziHcR+FXw`mb7=nDa-OT~D$eq&^%v$WQYHI+9a9}>n&nzj!yx^IwNTFe}4}+g|2{d0{xYSsZvL{#t`u4ga&S ze>3n`extr}(q7JB*7Q?6?OKcJhTHYO@o85ZjY`PzTUk--`pj|v`rjBmXYKA=q3&M+ zFEgdo{o8*V^qk*M<&L(@mNK7at<7wQXGHrCx`^L!E#&8p)kT7FBxZk<(dO70d z&QqMEtW`OxByJt>BlqUU`fGIURi|K;KlrgKrBh_eO&i3Gb`8K`aL6eK$%j^2i{GG}+MyE#_!_&sltwQBtPA@X^ z;knItPS4(R;TYpec~U}LchiWB8$9eJ9(bIST3Er1zF5(z8kL)o(DJl6_Af z%-_XqQDc|4&!4!PCAH;amr*h4a^<*F`H8!mzqqchylPBNh+3moIf}arZM7;qdzmM2 zj~Y9c=KJ`mor}9I&tohdptdaTW@*p?^{>OZ`q0YHo{*Q<5WX4CG$< zS$0^CDnHxecOxXf=HBYaUyqWXDmF>)m7n!bPp(d~Z}s+^;!{!S!ToYJL%|0uJ-$CX zs;bN;&`P4-mK-ZxdzCK2Q5fdWbjMpqNtgU*-!qpR3)#w8^84shp9Z8qH$SazR(Dh^ z7{kZvCTCI<{Mpi#(mIi+|cNq6)y4L&*#7`&u z?2q|TeNFPC^4QoiX?3hv%rKf$F|&|7>3uNNvBS!w>k>HG=!}7bko=l^lj}dCe4)>v zJ2;~KGY#JpoIfYCE5!Lsi!fM8oabAd)j^^`QPbx-h!aZZF2s#w+#A0eAo(@-rWZaK z#W}a_ZLEx~U)TFIAJLs2-0vdddzZ!6%Doq@i|20Q_(o^9_MI|!R_0Ub@~rZrq=h_xj7U z+X<}*!peZ{G3y#8c9{o@4CmMsTorhSy_+#z8ch>8`Su}C_CxY-eym=nk04*YmmHGb zOQ%>l%D!h0K=~~ZfA9Pc4)1|j{BqarOpj&bPoF)^ z`M3tSHoHGR?uLGAox)ZBSN($cySdrA!L5mGY-B2(V4Pd^|Ko0J$`|nk9o=J_oeE65 z6Rze(;%?`yO!EzLZ3 zeE>f$0j zXYr{n^5fhWLzt5PiFsir%hcC_UBs!9Foxo1UkF3;YMB>CTpnt#)Mmuv9dEA`zxwOq z+`hcE=`*^)0JFw}`>m#)PyA!h#j!q!UP>O16{Xxh3HdR1${)SY_C44?QCf?-j;7)p z5ZByx!}@sJLtNwfaR~bHMT_fj>wx&8ss>^hacWHaU_5P~M@$W-hQjmZqwp*}MxL9x zOOh&sSu+ft`;WqN4o(}BPAdnUdU{?Tj4{2La`0Q@nJZdX4xT2S`{-cFkGWHsmabus zpDPbXnrldU-yeVSuezG_-t@ZkQ{H>0cTKOWUgo`bdV639Uv)0&{UDxe3<<>EvuC*c z<|P$1E2Mz z)W0@ULpfW1DCiqzL8j%(+wnh^vVAD<>}CwXT6nHEo^GnBd~8k4;u<+=3@@5Mw_fb` zZzZ4YLHTye@RU=wN?es93fh0;&dBoniPCOwk>a3y)w-8~z{^1C@=4$q!71Qo@N#e)I2C*W zoDTj7oB{3!74C1qE3v-@UIj8{aL;M8-1h;!z*#)^`z6mw>D&!}{;$qB)VaOqvR}6j z-`Xp@mi_-1^6Yd-dlx^+Go90`v+uQkupjt7=k_G_zP9ANM(^)_-aYSRsr37OM(Jq( zk?K-E=hA)K=k~15B~B{$B@ z%Ul@9DCPG9rK5d9;x_@3p`f`iYC-jLmw?^CrC<+m8JOL_IWxrXswjSb|4&-SUpNzw z-+S>Z9g3vfe(H=1OJ{xSj9`CuE8&NII_YSikNjvpPKI{erR_st5%!OOXMyX$^FVY+ zM*8$Ykn-sAoN`5uSzhaGOWiXtlzh_nCPlo}{%rppgUXxVFOxl&SbBSv9AO?N9LaVg zcry41$P|tHW}pas9Q*m8%3y!+N$k`Uo!jir+0^q(u|JJnW$z?+29EYfD?W0m@+SKk z?!SElBf0oJF6n5mOk6I{5MCSHd<{Gm+yWMZ-vAY#t>6goIgt94`WARS_#IGZylDSz zq5JMYd$uPK2kqa!foC&a-cG=+-*b|V%4}1fsa(rY4>M~2z7KW){~sv+J6-rXqg~-% z1^PQ<*ef6Qgs}gb|1$FTmiyU%{sEhi~RY@b4h|=B4!ASO#u>L2CAnUmn#gn#XYj`0m-p5s5+?f#*ip=8ukGo>+G(6 z==osmq}7#+Gr_UgyMg}hAeF(MJW-!l`?RI&&T;mWQWg9^JN(y~<=Xq+$)!X0Z}@#7 z>1bbx>fugB9)sQ`eC9Jj#rqua6tExI4b-;2hS!ywVxkesj1+lpyVun;dFGSgwcw+m_T;|=UJw2Xya9X#oDIGTD!kXgIoSUJYVSOoQr(_; z-QzJIduLF4=evL|zrdTYp9|`|tpVU7a5Pv2P6QW&lfYVV3P>DpzaAuxnR(!?U=_Fm zycv8ict3a>_z5rrei~c}eipm~+yveUYESNJa0mE)P}j%~6}EZ>>HGN-ycWC!Hmw z^Zj+t#HEnF)6uhWpzLd18J`VbzwaUK_CP2e8e7cJAI#^FiQ2u-gNn@;z;nSzz`h{m z#(iJ&IGByYc*0jbyC3x51WC90y$RWGH{gPwA8r-TUq(6V z+ey_U8Pz+rCo<3ANA_ny_2Iq_o(g^g>;|el_5inHm%fmFD7X##DDXR=m)(_wD_LE} zQ?+4L4%IiZHcYbc`vcNQ+Z(EcTaS_Lg|v?1Xz66Ec>A^cY&#r}_b&KK7C#214}S_u z|NSS}7Nkx({r5|-D|YH;Ms3)yLAAg8LEY=6cHiHNrnpbUu6t#^CtqP)b0JSH*Jzyc?Hrxc0zK8pmEc+6DsVJ-7dRPQ4eDHP-yhYTEYjcIX$KY& zy1sqv#{W~&thlMhq&^^fAw8ql!P(IKgI>p~9LdDngU=BERy?Df&9nwT4|W7Mf~xC}fXa`@ zK$TtJ?&y9fmHRePIc_eQ1U@@)FQdL5eOG5_zmZca^(F8`@Tm~)mqDfNtKbk&=}_P5 zS?rU*Z-6&~TfuqYcfgh4cJLlh?(YTv9lH`vzrg8^?}Lwp_fLTTfqhf3e+hgB`?tX# zgStCH-xm9JbR_@J;*H9&`q1ht4T6iJe_!0-uZ8${g`AQ{{7lw+O0DxJn2N~ zEtyd#_&)O(P;Ed7I2s%WUJ7ysoU3CK!JDvO2C8qV^ezV{b9dXvz^Od{OnClTa2oc< zLEXdnb?|C%D>xH;8N3#J4b(l0(({G%U0N`5@%IFcC0{GCUxEwutyQNrLeqbJ|5$}P z$!S2kkny1Pt5pX5I%GPfGAToGh}zB%!K;q)tnw(gex2~hZdV{{bL-dflD|9FU4V<| zEyykPFszfM-I^JXs73TKLxg7Iwk7sCU^}o3l>V6qo(Agv$Wb8QVL8284PJ-622}a0 z1DAqJz>kC61Lx$v4E!o~<;xaOcR)TL?B4~sAI{w|b{qHy?6-qygtHPnA6x|v0`CHc zfcJpIK;7TS_`%)Zcoq0T?DWsw{f+9|e;7M`tkhcYYoOyF?B536J&C0KW4x!mb@w>Z zjyiXzf*32N5GBX zdhijDx}JIzd>)j)7eM)Y5qtu>`sh!Bn*Y&v*@fsw-xpE6Q$PB8NV;@7b?0MXPp}Lr zsxEnLrn~X{JGprZH>cyLJ)}OhP$Xj)9si`tGG$&ZsQQJ2>4A@N z|8*ay*X#PWdm^)Do^M;%4;zlZLC_8O8HHw-rjpLpnFzjrta|R(dD783QCptvkVDK@ zNVmq8n?aRB-D9Z~Jqz{$bvLA1hHrp_z^&lr;PaqHA>RULg5Lpa!0n*)!uP=Ufd2vB z0qz9v1b+bD2mT23_at>9{$~(h%@L}9a0+!?GARoGHP%pDb_%3>;N)I)-uEF?kNp}_ za^3t-`1EFMV)gjtKl(O^EO&+?8tDhQy_Ru-x%F!{$@)QV=P(A6+r0$h*HF@KJw*Xa zL(~6uW;brz@$YBoO7$6Z&!xuYzW_fB?giD~+y`z2e+?>seh0n?>i)_-;H%(o!Goas zm9K+6K;38A8`M3P7lUttrQn}I#>lC^fsBD&nO_F#UQ5QlsdQ831;8fY2gCahflaZ0 zB-q!1&9QF?_Rj|U6X1zF|0>uLd>Pbzmm0sf2Kypl`J=z+_^K}J-pg4a3musoz*E8H zU?-6NjJxNukan(+c^_ZqRgQf>=J0yB)zz^!|N5cdG6OP()7r@DF8Hnk~tecvY!jK0;Q)kra2$G>gjo45!fH}a|(K@ zK7!`t`?-G58`w1-T5-1CxOt=03?j4u%0TO&P0&tgKh&JW6hXtG8PGCl4fGha4cZGG zg1S=K212u-I!J3+o1h)gK1fqxT8kVG&48+*)zHJx7HALj2Gq6}eMo2$R0ger)!2;rF6bcCyf^8BCP1s8_0VqUAk>F+mq5#)HPBA7NP zI5Znt2CaiOLA#&>P;*U0yleiYB+!)9+8*gv=r9?p*ZMz#HT*@qaIeB1x9oWiVSlnV zEzsH1dac4!+p93l-x*=u`Ls0Z#u>NA)2(mIo!&PAliv5|xx$?U?t_Vum_^}lm0t|jFE6ejm_>VIji z_O$vqh);$&}sQMm+`L_Jv^{ovLL4vh zQFXsviR1Wq9K&aBdZ~D_PN4Zq?fFTWJBufCE{XL=@0Ddq@B8!oSY=&u0)b%Sl*rg;`6`7G$o?8 z&(Srm*yH->4%+{|71sW{Q`$IO%uaLhjekSR@>=ebRb95S<-<-cFZ*fZy2kp}O-6gE zs?8jTtY`f%l($d8JLgyVZ@OM{X)>)mxZmYXQw0?-`1J(c{~Nzd(E5CPgCBEutbM*C z^}&+*g04@Q->18>uA-99Nww!$Wvwy&vI5eS-!C&Ae{YaeM<*fwa~AbviOH$&+_`mZ z%WX)#keuW7!pkzN!{WM;>70!2d^dgP`DXWy#`PW3P8sdl(0p1m=I3Q>tg3s&WZFV? z)TK4hMriB1^~%ZRU*SjfKl(;IB-q+^Stn4gYnYgEMSl1Ucl3}3e$xEf^V5(ruCZji zjQeoYQC}in#xJLR9>EFdR#xNVo86SpL+_T+kXy$F%74>qWg)0|`~L~_(%zp2{ojc3 z-+O{yvo>aD;1MrlpTy0p#)CG7<6#zz33rk-qar{Gn%JEUi-meZXVq426&ut9C%2-tH1B%pY0>X`}?d-(iW%<_j|yGID0Yu+Tv($NHOod ze3R=M<21sU;Mx=M^YY2ICvkowajX8ngCS^@Co`Yt{^GMIh5DkonNgLMi*M0g zfD`M=7uCA)zQTA6l0S2MtbM?wzMk5S5vns=c#LcGI2}K7EPXg^y%5KWq&{k zb4+e;V@mN+pGM`DCx`Xpti78Z>aNPOnT@2kpQV?PdVYEvqK_my#o6=``(mAm%a{GX z1w)NrBlK%N5A7w9Imv_jWp8o8CC8D+y@5wuZtRIEn0y>~*tpP_qqHkiN`ypbZN~ZN z5AE@`{;$uket6`W9Aj|;a8Rq{v3rvX(DXgq3GbYy`40_1vgp1J$irXdNdEiJ;^XwYm z^Nv=~@7qO(WVEYCeXVOj>5>H?D%$PSodPyvuU=v5PWo<>q04!z{WP{r%$Y z_d6*rtDu$G{Wqz^KjcF?%3J9y>0y~Ugdv`DL8(UaF{1^B`7Uhjty8~rBs4tgZ?5fu z1B}{}9q7ls&>^S;in$LoOA7j5#7LH=cREm)Wt698`m%QMBol+~6=O4&%sAakeLr7c z?Ld9*`-t}i?M{#QGg}uvp1N4&y*Nr!wvQk=SU-dM+$#@kZEQ`DTU?4M#az22L)m z4%=et*&oQ|Y5JJ+R-Mr|b!IvdulE_xT$V1s_#PoO5P$Mx?v!5&igFstw#%=a^Nqt; zC;omwald~3lwb0%bm#dWtoKrRdM}-q_kM`plZEbmi^JbX=i69$$ogmRAazCk%N?Yr zACdnm{=Xa2E%y>h-2FW4a=)H}*9Z4&u>U;fUgae2zKVn?9A#_Ha}uQID!=jPwb-pr z3hP&vTA$Dgf2W4BWOcBqgpKL!!T-n2$C=D?Sv{t-D(tUvY2tj%)J{n5&5hzHkMTZf z9rpUi&G$hqZZ-y75aQNOfd|9%f5B50w?@oS7?0NpPkja7R-|3KAr@_*t@?wZU+22= z8b_I5)*PwCUR@wzb`>DAUe+bGYN zxvA7j$#Xuu)E}+@i@}?~u^|2G%y@7ycm;SfNMBj<;rlA58{KykOR?XLeL1M|%{LX9 zhrkt}zN7YM)aV=g<-|{C!}J5yzrGAoob{cZ_JUjsKIG;>6c4Y%lKVIh5_az}ulp8m zy-rCx{eso)K{=>DnANy#58eZI1Mdayg?SWg4eB{WgYd~8Rf0w|0DAHd{A~}(T}lf>@NG{ z@cxE?st;hYV5r>J zuV3WrwymXF+4X#q*C_wQHvsL?(N=bC%~17gD&;lvZkd(%8*G&S*7qw5zT3n?d4f6A zhhGf&--y27qhX%b#xy%a*nML>p2W>l#)C0UW7q$Um!&6Z{eKg@erdcKvHqXW!`A=L zj-}^|@HliFc&J_shrIlg*Z*fw^b2vL{_IKMRiN+lX>K>W-`C4GOCyE;lVAAWRXoj(YqU zv<=z|9fI0kzTTg@4hE#Qh!sjkx~6R(tO$>Cm4Unn{&+16Ugj#lNtJK z`rHMaT<+&5hT>jpW@q8f+}IlAJ!$JRGxiI9y3?N)i}<@^z0*T^YJFDe7oUIGaS7e+ zFhbJUAeAY=J`hxAdl0DgaE&$NYvMjFX_qdXssA5^p?;^v!;H@}Jwc7>0m9I^X{SVb zVAE(l^?NsFQr9b?RnYo(>%AAu+wiM0ZsWgV6*P?PZ`S|al$ASIhxR{V{I?^xH#au^ zV-7&Y1#|dZqbtw3@7?&2;fI?m)VMg$zk5$vbn{{AXl{qjBA}m!xT!pgrqySEQ2KN? zFZUzT*7Ss7O^OLi<#iggj4&CGrOp5q{sPGB4L{Z#s>orcdT_u0NjN7HVVp9-bmXz7 z^d?Jb?i()oH$Nsb`rUDvMPp{YSJ+AKB{PLviGw{*ckF{gT#koKBpc09X?!YOVRnUW zeY)*ICS7=M<`>AM)MPSz#G)H-99O}0-<8XUNzV1y!xhH=`FUjgj}{-!T5={HpO=Ww zilq3=dHdq?IDdp4(chbffZ6b6BIm$3c}tJ=Yw7>~-Li;BDX+!F$1{ zz=uG&+X6B_o>94#{TIRhD)8NhO_OQ7NbL-1i_AKe6x%K&ebhmH7Oa0n)YWOil(9=YJ2ec1rO9R*&DuHG} z%b@=YrYVUq{r_-C(5P6#x-tG=^R*-E|7zUIy}2=6MiordWzriBnImY%SSqf6Z7ods zZKjww{=njR6#d&6zAA6hdp><>msau3@86ukvoBD0Y+g@pbQZddm02Ih`pwNffwGrr z3$3B7ZG^T$2aa>OQ~uj{d6O7odU-YFvqZP7Dr`kL z?hd{Kc;xyT7QV&_MLhdf2>(?4DamnvtR?06c?&<%x~~L3;?*qA54;BR$oXq%eN=hy zetdsOXUNIWtViZ!xanCC%FMXRCAC3j>N{i!Etl@``oyQ zgt~RJ_Mr4g2T0d~<+5n_W&86v1;hgL?%pk?w$GrSMdBC?B(FO;7wp}um(I2 zTn>_lnGDzuyd9)aXFdv2CNmF%wEXUTObTG;E7-P!$@f@(W11J4B~f&IY}Q0G5R0kd~k z=*+#L$lUPUVAr|BuIkX|84b0^u5*QThM~@6ZO4DD6>I%i`zPgIXNMQ_t~Yz~y;5&U zDhD8m&Pb^+rLlA|G1j_{&LG!0-!mY6Q{&HsrdYZ*WCm`0y-7#)Enc3ck%kty!Ci)Y zbaR6J!K<(%XLq-WkJCKDJ_pL4&qjWweA&;=Gg2i(%$%Nc<>-1Rr*m96l>D1RA5{Uu z6hTeN;7(9KXaY1Fs)O!@HbU>3ca{X25*^ctou~&gnyWF>pTf6tZ|MJ(mX+NYZXA-{ zmfxL_+?$(tAE0k+K5rT=U&W&G+~aoo`b)^em4A#F63*v|eaju+E1DP{@$h}chW9g+ zmi&H(jc->a$YlU>`QY9l7cSA`^biwGgW3zpS8=v|W;UPLiujnh05|LR243^|CW+0D zGji=HX z9WvFhHrUc<=UPowLx_p<8Vs-J_Qqry?rL?%?PRZEZ(rP?eS92zw)?x5`*?20g$BC!Ox3?NU zOgx}fou8~k;d?n@}X zzKJrnF=;iv%L3ncS}%cbf8(pPz72d2CZu;Hd`B4H9GyRD@#5+zxs9r`mfi*GykX+$ z9R=S@jjz%h>HTBpYv+va3w-1Cb~JpiHoi*lRCaQg*DR%p3vFF(l<3CfvGJa*4su?a z$H058@m89TGjFR)y8`ccx=Y|)ZM>CkeWj+43!>B>TiZV2#KY4&7M?4Nr_y_zcv`vI z8hFOjIS!uhH=glyj;gIiHCO7ZBJMXnrt&6@^58wNZZ#=EXk?*F!H=f=J@O{Ym zD!sIQc4>1gYmX_ty#vE|{hbKkCycMsdmQ=NIAKlT8&B`0@O{?!D!rpCs>^zEt2|TC4^Je2| z_gTjn9t*$OZGGb6X`Bwf`;A{zD6$M2!|!$2XntwsUX_9DeHBf3X1vd4UP<*&*qXVr zvzebVe}0^u?C+f5PuP}O$v(_P%AdmZW9H;D)XsN&21GnI?mcqch`WoMur)K81DU%s z9$yarOn0Q=>u34=TxaWWPMhN6$D7IVxzL5}!~5to(bNX1X6dlZK-S84I_ zW4vS@Bc1#HQJP;q3Xf5Nhp;s>L`t>s@Z+mw9^*osRXawoTw&$%5&d`Pv$Yx zxgQ+mhwpbM^SCDP5a!Fu_nVV>+~C|_6!Gx=++-d%1|CAK=U>dMl%>P>QImO;IrrIe z<@=V&Jjw$PVSc&t{ljD)H#zr1qICE^T{4e_frl_ZKYX7onMbvA@5{N$uJ1=B^SC+i z5NbbzYN5%>_k)soEOqX)XVCb*OfrvK0uNzaC#qcezDY8V6~VogUEjAz=JDRZL)hAB zU4O3RaCrEBLOSX{XgW)Bky(j*4ddH?hPf_UBz_Rx?Ds120Cx^WTzY6=qpu%1YD(w3~ zh5b?RNMS4OzMW6II*c`Ez5nC*RoWi})wlWt=+mxyv4^{Ip!oTAI~ztk?GJ@8J_DYD zTdi9utj}Wa0e&tDb09XY4Q2ORDs10ICx`t=2>a2zupbX$KM{pJG=x1MMYA96!`#~2 zJx*yoU@L1jyP<K)ISPq0H zLDkS|=rL#;bP#IJLf}AX5>yA>3q1|(fZl>S&`_2@v(#Wh>!2;rE=UbxC#VFP1+9YC zL))M|&>^TTncD{{fo4O?ptaCr&`xMS^cK|NV#*gZ5-NjMKLV$b`A zLwX1={yz6Ehxof=IXj}EYgCSJ{&~aUfQsX>eifJ1^zyk&YAWiMDgL15aUK5T$K2T-y{75xzNfi%p9^8i-yZzUz@O^$?hwBAH;HxJ zUs=Umoqkp74hD7$O4ZO)=wAY2QhlnZI*>&ArKNVzjT3@Azx8KIU&Hh_iD=(%CIt8U|{c(a!y_YmkdMl(kuVgo-E}5R&7I@tvCc(T9UMq}O z_E_*4i>KGsu-xk8+7*9mAo(-5CfAo@^(d};>MxhvdSr235Y|}e>P6-@;`#@RYosGX zL~*71vz>Sj#IO9BTkW@0AT48Yt;K$v1<#Z7e}?$`8#`71e*_66$3gC=a;lSt%GdMWO2kz2p_DnoISUON1Jwh>VtNoESa z74g!(%CkcF%2zcHasTDZe7?$G{qwh*`;N%!rj^0XA%AcFBv~Rs2*2YI$tl2h0p2)K6k+9nd8LA+U}vPT@u`xqW&Lk z8+^7JpQsL#-@1%ICwkye`F$^OY>NNuv739-IoCw>IJX_Fe|{(H;`L$Pes8Qk-${H= z|3`j(o>Wm==i@n?I4;1S{Fpn%6E&1-o<4G$BlVW|KBq2I-1FZ@-_9v~70o>V?mhc+ zUA+Th?{js5_5ZT|d0#cRa!Faa3Uf($U1AN%TRPW>N<}RqHEOXVDUGRSAk?TLG zp2yu)XqtE-us+-CDoYpK3=b~@006Q{QZ&Y zi|SR}U4DI0IaHmByD7si+3Y|z2awHn>`R(t>x$aaxO;BQ)b)$b&whG9`|jNgU-Z#TQ0d%QBm5Z zKjZ%M>tJJby|wMTLfO0wK4w-^Htz{>&>dOUs>fx~8-E)h`7^glufm{gIn@7rIo3bE zxq8FK2_riw)a;t1{=c92{@CK{Hlvh>UEPiAADC=51zsJ+B$#{P^@{PzJ2*&A8q*)K zv~|_QIVR5U-{9Aj$pxo6Ce}``E}vU5ucBO4pi#VD$KP4~dc7@Y}2XA=5zy=Rd@em*K4&1Y%uZmP?;RO&kX z&~&LE=e}D)hq(2d*`c67YfW{No^FR`-21dN3p1cPqFhy#G450{gc?!piIb2`lqbc)u6C9s7Rp4p85E ze+Vq(tE1erCUrhJIfZFOKG}JbtypWc8dnKHT{Et8_FECPlMbo-y|mrxU=Bg370lfpn)*>p;mKIb>9~J^`KveiG~kZUD~# zKMnQ=KLcI}eij@Jehwu6T%M>Oz7hLU@KI1Qe+)!EsV6`$51r9|9&r~ILHe#--@Hja zhUcOu$z4oKdqjL}~T&Ug>BKEuPk=952>yK-H74kVWT#o3Zx=zlNQ1n<9@h zl-txdz}etdQ03@3kTR5d9#lCZ?_C_ z!JmNRz!yQ4sQ(13z@LLk6XiFv0sIwM$lAZJujhl;rCO8wt#Ezkv?q3vk8z4bs$p!{svTj{1!YL{2h2ccmOP<7hZ@aD@2K;a=hvN+xk`HIFW8lr{{V-8bQd$jK*ss*+eP}T?z~a@2d;dc1kUAsTTtm| zqSAfKNPW$q52Tlf+bH6sdZq9C`avDBOE%K2(r40ZI#X5um3JK?x%hdc?ESWJxtvDW zbYD`ZgWbS0z}{dHsJhe*ETlE?{Bfu{3+HaHyY$(oR@=e?=~tNxtM^GmU- zRH~e{ci4-)Xfi67{u|tEJ}5*#r<2xqv(B8rZ@=(=2Jurpyb|mVUghFjLO3@@d8vHy z^E7FmdqdKqJ!IE9KYqW6-1@neWVbiQ+)79I`Hyroj}q4rWw>pHn|WXd(B%bq6L!_l zg`jl&B5*Lc7%TyA24{h_V4-WX&cY`7U4s1d{j0ut9SdC)rLk=jo8w4F-zO{VraYIq zg|Iq;%Rx!|J>Zq#3UChiK5zk;0i~~2f;WS!z!l(~-~-^@;Ck@=;1l4#fzN>VfxiIP zfcwA?gXo{sTJZPaN5MaVlEGhty(yXSah{_iQtQDk;3vUiQ0{tx4`HVcq#gz-!|wT| z;706}+0-Lo8Tcru^Lga23Va-Ub+D_>ei8ev!A{y;d`OFP56{$>c@K}&S3$x|Jp*n6 zw}9KhZ-6g>-vkT!>R0(v$UQ2B^lE&&syxv-E#sht{4WC4Z_vIP)fu(9J)u+h*9!@# zo^-{H@^mD1;avBuHQzk9(TUj@UtgvkR$uf@w2YnYqITNHLG^POG$Se(Dx-c*A|1_Z z#LH-tCjM@l6Tpjc+YB5D7J|~x%|Yp{6T$a@tw8!Nsn+1fLCRgGF!f&ID&2e<_#x8M zk$#if+PmF<)7Sd$($5#9qj?9FMSW*4a|&UpjCKU|yc4Ll<}^@!oi5-F;OSrmcm{YE zSOl&GyMxl9J;4{iv%nvM=YZ0oeZW1S%E&K+{Z+6p&!s#2HA$`PKwJi6r_D$W0nY-5 zfdj#dz~SI<5IyU{84r%cJ_{TL-T;mPsq?9^Aa&TeTLMnNPCZOr3f===22xMld+JGQ zGIr{Tv#$dcUzJJ4_gU}??9YMIz!yRG7Gw^BSAy9xnXjWO$QS8oodb6lq%wGh+l5Aw zovzmR_WBmSCFL?(9tXzCch(B;krCq7S#&)ad|rQyeV%yo1g$O z*O88sz*%4scs)2Aya5~m&IbJ+uuCalR}$ybp`KA+z>l}HXWPcZF2`>HVMvzE!3yl+ zH6K)&Tj;{>!at?03o^>yC8s#}@pbZfos03SFss26!5SAwv=n&L)H0ylO zB&ZTv1#N&fL%X4aP^&Sie;L!1l-hnE=@FUE9^7wt29w|WMOeoO`++pKCx7(aom+b! z-}B}6LLFsqSJK&@@$dWN`@#Gw=wy!asYE**{fvO4?F-XfTD{JmCtd0jDUC9!oB4aF zYz}HekeT(}+CjJ&;H+N?+@2F`1KALyTT@RDLJvh+*Flp2`L-@VId}Y=jXYns%Ns9&lIA6uN z{_~c8P0iA3`(Z|^BaM;%Gt-l_&Uh)5MdUiBa&awZk54YGo4X*+U-4f<+*=Wb{F@)8 zTVc_zI@EugZ`J?$$C&)VXZdq5is#{H zXsRgWy^q!_l>QZj+lp|DaaR-gTl%y94o`n$W$-$D)K+?3ki8p2B2oJy(-+mPy2SX% z%?0!aJ7FIHHe>FikeO8V#}JuoHx+kZkCMkb$SkA2t9Y-1eECj?St7NS**TFC+@6Ge zJa{TdTwU9GDJVXZz&_w)=7FvQufRSRq+j69IieoGOKsj6^g}ex(HKYfifjYB6Yo=^ zcuNkx%w^ltraUt_%qA?wtrS!_nggB!mN_08w`%@t8tCs1S;aeFHnMXG@w6>={(S#I z&t-25-VB}z)`C64bM@ra&lm#U!t-Gu^G1yM&f}l;xu%k?F7&v1yJwo~QJ%bktvNK% z5Bc2N;xV+j&{U`rS_N%@HbZ-%Lr{kj7tFgq??4HtT$;{pu0{bv{fx{=&Q`p=by!ac z_djSCL%7IQ*PIQNW9b})wF{De^JBW~w6y8m+_pyVrOT4uqaR$js!uzic(|tqU7q#l z)&!gmufGoSZO?_IQGTRHvOKc$nTlUAB=aO=Z0Rh<-x=Kl)e@ax_2MtS3b{JchcZ6{ zdZ!!ZnVpT$Dk1+zBb)n~1aYrI{%2R+W2InjwhZhhOv%yw9gi}AevZnPh5L4v0na13 z4D1MH;QOu&NLThxECZF~|GIa08BqS`-~STtbKOk-KQPkrU!5*()p-VEo=3z7{8uRw#`(TQ(cq!>UzN_?*1jXwtla$zsW(Aiw)|Px%&|M8zN(ov$ZzR}AitxW zO|STu5I*Zlnu|!8ACo6K`D7pF;o~RCGwHpJpH}0b1L1bZ-A6b0xQO3gp0~|=Zn6>{ zi@b{9H3~A+JcII0;hMflNwAnM9^7v`-% zq64m4hhCkn3wI8=uCx|IzPzVh*;gR22%%+pnOk2zvild0=GN!k(cPMEo~4OFOcC@J zdbtCYz7I4Ls)p7;8=>vc{}t1egxL6hMMzY;SmMs7{Qv4FRv)KxU|4of?I`!@uN(W# zk(Y+_z4Pz>^gOb6kj3+~fU#dM_J>(M#qa*yOJ1}ZAB*t2e;XtL<-hg+cLblO#X?{W zzu;FhLjKR^{D*|IUe%T;oYj#0n)}>-V3BLTu0BFLrgmY(Kbt$Ctr8!NqkPkmK5Sji z(lSy72-Dhw`+beH{LRv$bM_L_(vUJN*(lyNfBHt?8JFMdxH*x<1NTbuJHmO-*8XqB zq5PX4YyW2+MQ+Cu=SpNM6PME;h;y;US#ml;oR5WXQE2<)vO<0Z{f)0=6@90jd-kkk zrM}hyNdC=_$?BT7NmlDZoa3_kBXPdW;w)JmAi|b5WR_yI6xXt)VRte|b zN>1B}^GN*5uemolu_l<<|5p7!miX=u@r}#r&&2lui?8IA5Z}h|wC{A*791|4zrgcz z##1ty7(3ho=aSC>;yN3@l8?DH`Aj^{^0Bx!E%b4X%jd7eb*sfy^2v*9V`O7{U={>^ z0X%au`TNGN5oh99J7GL_gut~PZ6*zmU5(<=-t9#&9@ajY{TG?A-freZ<4JC&@f|1|CA~HI1L)>2-TD5A7#t z&5FIH!|UN>9!wp&bO>8J4t=A!T(1+8c?@;#FOPV5{gupvF|OkwY|VOl->|<9SpwYqiF@cA$HTw^AQmW;-uan6p^xuhPn?*pG+z4rCR2K&G2RWIEM4gm+f@Q$~;YyD|>+ZhD-j~qXa+p5jg*YQ@X1t zzVBdfPy*GsDIU)r4rn&C3R(|sgZ4m8ConFBN}yTLDrh~l9oh@ELRl3<6QJ49Drh~l z1=Z_J9wOU)dgP4Pct3hb)WHaeW=9? z%d7lJ0}W|!EnPO}yeEOzDe$^K&dZ$}acuINAccd8r-|vFg7t^-IrcQ|54_^*m>uEu znK-X-dXDPPB-}p@$-TKbE$naMap-sI+$?|KPW}6w=rO`HnOpzE#uH~rAi>Z#DEOwu zuMvHmd>(cmPu73z}0&T-D^fbiI&_pGHY_ z!oA$udy_GbBN^LS1jj1lO(AY1H!}303Z_PJD=*ic+{V-$%f|(wAKxqDK$``RtBuF> zg%uKjOF!`$h7{5}uMH>>kI;V09=gZu49yx$we zyS#3O)C+GKBOl|lCJ0~O8k(Uz7TlG7~-JmiYI^pZu6RO9QVG)6hNW zn(X^14bcH)_0RL%wAi?OYRK#gmkR$=Oj>?sX_;Q``xK+uSyFa+Rp@58G|eVGU2!MB z=HAl8tHds!QGM*UwiJxTMJ6GQ$@tYstBBDaUe%DeJ# z2L84~@@H<99)-c<#Prrbe{$=jm9>Y7lMH?D$n+wvw`Jo>m#-$Omx^bKch!*mn7g+t zo>q?PTKedXjbh2Sbj0&_7SHkM4$eQ)X^;9mATHO9xEYCm`8D?zUtT53Rqs{TlHRKv zHCFC6XM7-}hjJL1-lV4=&s`lq%9?TgbW3i2n{J$;jsb=~WMs~UukKKCd`l{7tC62x zHinP2QJVvw(<3hK4&j2!jE~Eu#__OmuOD+{$E1qC&2`-D#+3ft67)^V_sx^t-tF9; z8I5&)-#U4Z$7yCQIJZ9T z6Ns1ZM`rh@(fx_^(4)9TkGOL7MIc1AQZ}?|(bFc+TdX?;EC7*PNlf z3t!H=vozeef3u4N-zS5T|FfXJKlnO`E^%jSG;`lC_MjiG`;m3O@#)b#f#U7^hiSK0 z0c$EA@8=0e#pzq1;=2v(27Vj#VVy*H*?9++dO}|>?fQLK;pO{)`u{!WFO~XtQ1N^L zJP+IfjsyRnd*6*Pb)U1s);S#hd z-{Sun?1`OyCK-QUa~JZ&-??n_Fut#pR(s%#+B(Hardis5^H~7u`xu*t*+j+g{hGAv zk{L z21xx#6@ip{cc#V1!0y-|0E@v-gFV5GU@!0yus8T6@NAH>$%RSksG1??;rbr4*ylJyc^|fA*U;~V07ls5Yhe# z)e^PwI>Vw%ly53OzAu+fjdCt>>%|loUwQ| z^{KEDFZMU+59XQ>-gRI%>^FeDL7gvgHdqSw1LuHh1Ixf+U^#dpI3FAhYR~K#@FvjL zA)T>dGSjzHl7-|elzfEWaXKg4_en>3i}6S_XIM>`L$TiqisuT);}raNguLF8+78rs0PDQ5orqkAYW#59EdQ|FL&A09saM-hUn)84yrZR8Z6bM?^*BOGO-& z?+@im7!?b124;ZKVP>2e6cp{z$gIeysMw;SB1OfbqGHPu3tcMOsH~-yR@&I2vesPQ zUf*4Idw>6P&UN4Cd3e;BXK3HueLZkJ|GDq;ab4#+-=B9+?om*=lN;Y}$htlRk9qaU zC-B#wcb@_o>$!U&)b2gPv+9@4Nw}5Bs63@}?f1H{rBC1H7jJJq@BDICNC?BqwDjcL zY|1o$%fx#6D(+Qhaz@|X3G=1U{q1Ez)*$UNN%QLhA+79i3UWCf7qn?1qKy#p_&}wJ{ zv<=z~?T220dd;BjfW|;`pgL$3v=-V7?SS?|FG1aB;uflc>Y!E7251|!2RaD#nuQx^ z4zv`?LF=I{(EoI!@?hhYgCVl&*O>V?`h=Gb4Shn*`%PlJS5PJ82H8U`!oD%ji2H- zksJS)x2hY_squux&3N@u!eZjI%dj4Nhw)O}y2#7MNH$OUx1Oc@&BAM?@pAWgU)$E) z>#!66W8Hhx#d%kgtb}k4+exG2TembbY;7 zyx&28CZ~E`*qi?AV8(66!`EL~w;xZ@P*Q8$Co{;oPrs$->z?B4&FA8_7k-4gV`^e% zQo_U6A;o!+hjE{N+tAkm#p6L*x_AhClfvg@{JjCY;p@w4)|Fey&U|%dhyK9Ox6G-o zp`Vr0`>QF2>I0ACS$S*%I1AK%=sDnIp67#8!CS#;xL*m<#mU_d&Hz6S%Kb+0dY+#H z>4W9I2i^c`OziK1Ttxp+cMI|s(~G{d?pf=>3VToPW7WNkGCddx$M+__#5-SxvPt<< zUOOPim|Dlf-8=9=U!E89d^Wfg91J#q$nVzUr-M{)xp`nSs5smKz6Wdr*MpQ9ci$Fc zz}%xe6W`o6@NV#j;41L9V2=M9e-Vbe_wQ|BIT|ddBx-EkgZsgH;@jUVq&vFS@qPrP z{;K+wx`$TxFxEoX@vM6pZ-&yn6TS?k`-oN7sXWM>0KcA~bbnm9<>?U5N?+TDMS5j+ zlAs5bsI&14RY5h-3TOkg4cY@8gvvh-5KO@h__|r#R3tZ@=`%{tlH2+@uLORo7tM^t&Cgr zyTq$bg#;78{e308eiieY(Y&a((cfs^m3Zw5Or&cw%-eK381r&x%oVw|F2$>gev?cb zFXo22{UPQxzMT&iEnME-MP8eW@VXja`fjF6O689^wc0x4vPUU8w7!+@3o4A)HSl^l z=2gO;3Cn}VXGP!>r`0(495O!YYj=T<<@Eza_>70ozZ#$MEiLs;buL#Z-lgcy#$wf> z?-l2X3GkxerRk(>-qupPsQ!kzYX3^%r#=#WhEO*a-}k0F1f|z}K2YG+=h5QwzRkHEmB`@pS#h@y;a2yT zn!G-r6qn&WK?dtnJkZ1IO8vpj^aq}To`()Wz3BK2fyO}#pmt~-v<2D?9e~Q_(zk#{ zLo=W{Xce>`+6wJ~x@uJPti10HfoZPNOf`2j{B&42|2@5_eMWuL5`Fc{`T%QjDEH>3 zGkt)#?XHf-R;9Gvs(uUGZi^RnmNQf*iMfGzy<+j2R==XUnaE+=nX)e3sLeJ$%Aa8pncKl(j7-dIy-JQ{aXK2 z=dooj@!)>v6YqCgyk|Bv>18QtXgrn{;c+uOwkJGlm3&>|vAYP5H^JlA36HMFW4H=7 zCf3!P;c*(9d|fu3S$aII-QEy*oatG)-v#iPY&>YUTbox*zGHcT%F#Cy{`wd`i_e; z>f_h=Kcznx=72G(#n^| zY?Allw0aZasaa&^!o_U?sQU62Pp`Fk^=q0E- z2`~T}4NZe;pjFTt=D)87$`IY!zV5DJ;QJs^beP}iHj@g`Sry#>yaRV~Yxbq~{cPT* zSby;K=6_0^>rtIl*k4pzQHAs!j@U!kcZVKd0XF zKs(5Ld!d)00W|t=nEyXCpz?3yN|h@a^?%L$GaHTCSQv0+OLLgh{Reu(v~#EW^pm(t zMrFmu5Bma>nBPnAyF2DrUE2y<$F4KuI^$(++qh6UoM;gP{|K-9jaLb4uExXSqw%$j zl{fwUGCbBA560zuihJqA64nQdm&Hf-cFCOX!TtUVyfz!JFzV`x&g>lEz=+2ocszX+ zcvyYq^H%Y>&5_iDC$cJRZhgKe?pE#YiOfRCt;SbAU9%ZWZ<>%~?;!R$<+-as`ZrqB zrT<+?y{dcMyC?j7x)r~hQe!iHyV3Z0y{C8A#{8z@R`u;PP-8TW&9v83`xNzkLyMo+ zEBAfjMn>7m^3rVQ=jNmzZ+Br1$IWQ!>uRVGS_5r@wnKZM7ooBnsnem+&nmztbfmx$!-Oc_voC9{>Y6@k~u#t7Vuo2!gh3H3%Hk9~p1DG`sy z;4%9s@>mt>3;M5#c^n=KjfY=jacR0AdH5a_GbHR02=*Q6*L6kD`-6P34xT{1514!t z8|yoJhT8OO{oBY$%srm%>U7o3zD_E>CyBAMYlnnd!>h;)OxhD)zoh$E z;`U@1?llG_d^ZNAoHEwbd}F$9s5a2oAI0~Dj|yR23aW0q%!Q$|0)v@b_2U`Zt5E*4 zt}fs)qimzFWi;2>2UI(%e#m%Gah?GBy*m0xrAGpkz{e>AxSC z|7{gt7PCn?j%AvGAIUTe90bk*F95H1Vd)#QngdSHR#al=%T~HZOVLc)U7Am1@ZWKh zTVFnkyVabg%`3~T&*R1ONsV)RT9QwE{!G_xRUIk}nZdY~Ui`kLYuvj-{HpysZH#+l z2A1_f+IAgaSPyN3c0>E2SD;=u5gt?pRYOZ59rD=#ZG(102cW}HUjiEq&4B6@@EhiT ztOm-6nbn!k;<>)pn*X!?(VQVl z+S_G}pBmv^YTr_EF6>)cyJ&moO&3zcN$B7QrUSmQHgD0=`en6V51KPAqp-@oxltcM z^)=tn4KnA?fyrJn6tkx;rzWp({!)9_$C!@lsp0*e<=8IVH{kXasZU;|bVMfgTkf0b z(@uMxRj0)MSPyYJ?0BEW&&erI$dC2M2ZTNg?LcBq#?6ld?@an#IzAQR^~QHfGY290 zF?SZX#%!M6+;`2?t|)FAld4}votSwcgfD+$ocd#qu(i3RzO|htm7^2KT_KKVD8OJ& zA&w_=_)hAM;^=rv)(ZTrgXG8DX`NiomnCsbWpxRNUB}bI_j4>gEDx_!=EBhSC8jU3 z4vl1;-d?{R@3wOPQF{;JeoNy1GzW@ZY7B9{V7x?qrc4 zb0_^MIhqqay1F3A)3R3-i`mC@L26Il3H6_NPQx>EGVVO$t{|JGN$jVvJeXhI{W2N; z7tZ$iSbiy9kvwVs43t96XEO?29vIm?6lJ)QLUMc|z& zVH|F0u6{k!-WlJHWs~+#>7qWc41Gw~2UGuE)8<3LO7LP(>2wLGb!vaEeJXe<emWgL72$97!KJs$K~)Z8K#haPf~xn_?;8nfo{GM)>u1w1b^Yvx;G|6E zf#sn3%lCuVf*%0Y7yb;WzVMSE9bLBnIR8Ph&J;Lf(4KeV`T$0GmLNf?sV z*QeQ}E>r+)tFy96ohRAac`vgD_kF4 zP*S`fB;Puj$+zxVvajPk`7!fBPkZT6z{c&Ufb`pT>fuXHKCi{>M?ij?<|djLNCX$z}zF83(PJ zPdY)Hp&ig(=n&M4f;|Kp2hE3Cp!LvJXb*G{It;yG{^x3-jHo5we>ld+vyF0KhWxN@wdbEZrI%VCCeLYTPLq*VUubb3l?p(N-2+s zcXAJ@`aX1NGM8oZ#vkt6M5k0SRKE94g$^+P!O;Eejd zQqzT?(q|~BzJTVT)fcz~R5}wk*Cvew`|+%{N&WTFJP!sh2j30SKgiKvaP!COK;oFA zomUUceVb?;xQXZS;3MEfQ2p0Q;OD?8;FrOv;C662_%wJe_zXxH&Funbg5LqDGIBov z=YT%~=Yl^2=Yjjc8^Pa!wBqi*pf`bsdDeXHe}K1ueb7rSsI|vM;OSr;cs95MR5_#U z52ByqD*t z-~%A@IGMMBt>9|Ve=~d_WvoB_i*q62Sy7)`cki6adUz$&85|Pa7vlKv-tb1kugqv2 z<3##3z2SW#rQ$^9+I8kgca_WZcD#So%YD-+vfx6&-gWnN-TUG zkWK0aqMXdnKjh**){PmedGE_gHYv}l*QP-->br{5d%+9AwcsdF`Xvv#KIsXhau0Hj zbSEP@4uR@ZT_(pEVQl`QvkL)E6y!hWJAH?b3J?o<3;^F^75443JVc_JfIKQeJ zAuauP;7D;c`_82QYxVbv<&C)C$R~Ef9rC_kQc7P$^+I9(uyVjWvNIajnyEk!pDNHp zXZjt|qw=!N(e@2(>y^d;9Eh72j0d0E4eECK=DxGcen{@kjrwi!&T$)u`g`KM%Bri! z+XR1OySdpB zyqACF?*e<*PowR2_CRFMyi?QiWwtj`>7yv5{xg~7O?CCHjVsx};a#aur>qdWAqdwe zSD!0>udsDA*=t&BAbxH+cGFg`qETNLC5h9|PMB1nAGMJigB~TH%0cWuj|XQ5D1%o!fs?_hL3XmFaROebB*OREE)0FKXG>c1-Eqx#P?x_aTQw~m&BQutZC_Ncxto#$(EpDi9 ztZVc9o`TPkHJHKfF_Z8jAaM(1|=h8u?Lviv2hlc-Q$nl3(wbF30pB zFiczz3_+LQk929}qLehV_G(k$6X%h6ewrlE=;<0J+Lf0qe;nZlJ4@?Q z^l$b3Q>q{^8iSj;5S`o>_-D`w$DJFNEnntJs@zC7Pa)?+_?16%E8S3)Wf-@IKGl)+ zuhO}|{)j$9F?;nH1`|FI`SpP_3u;x?{2dm3tH)_9qb>!pt3UTa19506F z3sHI~{bPS|*^_SMZ#DijE*cc(50#FpSBm+QpT4-)BHX#S85#UYMzv?LAGQy)SVCC( zcf38wFY6l9RYHCYlJ2uqR?s+IhJJib_lwExaLD)L)AN0*yA+1ZWw_ONZ;bP!^*n#K znDpTL-C5TMms{yj;mK$YLH?LWaO;lD2j=v?oY}7O%tFUoJbb@7%Up>!v7D@r<*sM8 zNpc>5d_R`Gh9O@ob)8Jh2x$s{762W&xK#jT*(UJI2oD_jfX}v&KZYm z)xEmcZ2|GUhk3#g?p--EX1d=_Yrd9#zAsq(p1)eh%YVC0I`sXx;%)Xk!YcnN>%Gp}| zfgyFA9=-rd58FUV`{kgAukx%VQ|aN&pq>|kPl3z_yJzy9vwr|&-uiXoUvWg-wHD;t zE54J!-!i8|72)si5~lJs`QPR1zXdfy{sA}#{1G@0d>&NV{RCVFQpdP^{S^nw zhI=NjXMV=}zY5Qv0%gAye1Z4d!!z-9&%3~1@O~e706Yl(6ZpGee+ZQSW03hbyid!8 z?t`32ntuV*J`$CYtC)3D$z)69 zt$9TCDN30e>_(gl=LW5>Kj0WFF{-=FOhHFan2vO>@%Xk0D|MkDM*SkXLYae*{FpoI zyZ!K0&dJMP4So(lL-F@i2;bHKQ-A*az4~T2&BX7yv$&R5CH1kD?$V#dTYGM0-tNKu zPQ}foJ44>^@ecP!`FL00XDcK>=1%dJ=iaXpZ`msz#q3plJKImRc-VZVzOyJpo1U0y z#N(?4@d(#x+m+ZZ9kpLs6|4N3dy5bK2Ny4`CNKw^>>0556tnM2e5}m2r~qRodT_tf ziO-m4qjce|^3!%?ufo0Dn!Vm16n<8g zx2l4}yv2k2oe96+7(d3#FtbmmxxAxqzpuid{Fpn-BlII)Gw&C(?@Hdc^rHKy}2`+T7J(n`Wqcov4$BkxG!z`U=`@XrMM@jL)zFM!(@klyE{JL&r2 z-|tb;*wFXuvPr*C>RJuSoKF}O8@GQ-1%&=w?kte@*3Baf1FzzlI??U#9|=z9c@#Jg z91Y$IQZEpWzC)+IGuq=b57M{kbT7VS()R&0W_phsBRAs5_q(!5zfE$~Kr+|3@cce2 z$u)sz;;sIHo9~zmN{%U@#)tf!^Zbq9weWj0Q~}TTCp>-MD4X=LVxGi@F#LRyc;3jf zc-{n_2Qqec^H}h6ai^^>;3?iyA)PN+lkoKYnQYPzig`8=Mt8!#9qbFDms|z73{>8u zkh^{Nt>Ac`+d!|=%i(i5V@loCp?x1ZV||L_sWkU}kZjU_iPL-qVf4VwO0bXIf*PZ* z0@a_V59!kWt>BeB-w#d$-ww_O9|YeFz5~?v5qgjlHAdE0SZUl7(mpA_&r5rz(s>cz zKPi4k@xv~>^c#l0kCEP!l7*-8z03!2+nZdg@>2u(c0Zf+8&qCYu4LBZb|Cms@B;8- zAo)4-3GfQ=lOXxZ%?Bwyrc?i|Jbkmxe`8H~*0;@B*G}_DoYOq}7~$yoaZvi+0-g*q z58>wSJ`Yy#`~~oQ@Qa}T)}Hir1|-zH(y5LVH}UlCZPvBDJm&HIYr;_eVQwR*Jo^-Q zHu!Z=dG;Hi()4MNvh2Q3SxzbUa~e9=qV)6pl#b$=L(#td%qDHG!ffZg%(rne1KbT# zW-{LcrR(p5$`^aU1>g_CMc|J>x}ljLgLi^I0d4N)ojm`P=XZgB4{iYWfuvF9AHdIn zFM#OK&Dnel{70U5f(O9A1OEx!3;r6^9L_=TMew)apF!T`GRXdW@D%V5U|;Yhkfo{2 zA3>HMGXDaO1rLGR3;8Ed)Ih6Gi6Yf{=ghYKBfJ?gUWBjH8(&OS;?)sNasX!H>$r+yap@Z9;e~O z<)j>c3a>k;@Qw!+9&_rho#_P*=9xMFoa*+TnZEE)nU{`~mrhQ~qi-{d^EnOw;=?{w z$EQCiK4*aEfM1nq+MLx-SV zx8e?}f~uiLXbrRp+5zo_UV^&U&?kq+Ky#p_&_-xGbO`EIOWy!`!~A75puBG5!p6Yj zl!(=7tYZ(QVxXv!nBjcwO08oL@6;Idr^ovFB-MSDkPkDx2SnjpyYnPv>{NDhTmE}k z4JSrzPl>RnWtqTF35CuGw`(Ia~f0zCxoUy$K{~A9j-K!uUR(gNR zvAi1|_{|~RRaedhdxP^pe?Crq+wMtznBau*`C$WjVe1?DA!xAkP^|p-iGraK>Gtcz zVNX@n%-R-hTlB@hQ{|uUt|$3G<==-{eC=)%ZPH{`oUQynKF$lI^1q9;KJZ3*dxac@ z-?;qu%lZKON8w(;Aor0M^2@)*?((+>l3TOy%=%A!rf(J>og5sU&6~Ttshuy(4x8A# ztfir`zI9%G>zxh$GZysTIm1^t-*ZEILnAjpXvIZ!O(|05EIx#6-f`Fxo%1~0I@ z_XmE=dn_qB&DvpqI|htHuC8nhGn3? zZ&hLVG*7=P5Xbjc{7SwW@Dy+%cm}vA3A4$CMN%fR`m`#3Hfss~dg6a6cs6(&sPW0| z;23ZjSk4K)a&|CjkBH7_Nmgqk{-nV^W(ahc_Mr~~4S}kmMraMR3EBzmgAPM)7@vo& z|2HYrb03Hl^N-B&Uh((E>;J>JlUuXzO#L6P_1pQcS3BeLdUby6FFMyvTT$Wag5M-{ zLjKxpscnV&sD*8X)n{vu@ygrk!TtUc9qu+APHe4bZP|Y*vemCgOhfMr@Fzd!PO_^$ z`0cC6u6i(szxnu^hr0{*`82Zm^VDCucUOM4Tab9L~eeF(hD^V7hybQ)7<+6Lt{`L%Y}&Srm{aLpXR&8i?n#^2XEwVoyEhDAZ8 zPQP66iIMC&+pP213d8(Kx03yLucBMieKGqH_>;Zr!eaI#c`v^EV4(Bc@8|g)L0;SY zoBDHW>TT_<%XKH|_|_%M-RkZz!dH64?v~_7lGU!@3wNgPQgnT7SfkpZ2w|@D;C}xJ zU7zvuq#ahzKj=CwW$y0Q#e8H8ABuN|aMnNy$NXBnuSoRGnQ0#%dQA)Kzq`44dlyG z)|D$BNjcZw(4Vdi?+M-pFU1M{J#Yuu!n0)LZ#Vbc=4287JD};%UC;xG?xx|^=b?1Z zHCan(<;-39@6KN2{ z+72Cr{(msir?vkZLWEUL%&0>CM>3!4qr&sw^dr$NYX!kRZvR!5ug<*AJ=n+i{zo6e zI2IC@!gkeU^8)xeALo>xa+v(4K(>z6AAX;K;wCwbN1cnL%5!SEKpM?c#7=kn)unVzAD{ZZyz{i*u#IBNRX zpVv<|(Oc|qD*jYPsps&Qf48)cbNYRSxNK7&I)AK%=1#=_9FS>9S0DOyczp}+TqlQ( z0Zx`fOoe{xDBsXfXdE;j(%rSIq4m%k#%rJqu)eF#n9IcF|4!!ZF5u_)F|1R$cOH zby^=46wF``?)NVAJ<{|Y=G&!btqbcr5prwx>W9h`b`DjW#(PhF-S#?lFkzNueSN63 zj_X643+m-0^FJ$aGvDOXo?l*frp_(o(Z^T(?5;@7N_f;2@Q@BP@1uUT+?u_Oca|qQ zppT<#s@W;k@%a1xWT9;BLAE&lcO%<7O}21BLzm*O0)#oogZsS)9v>{=;o^@x`yjbB zdyD_0QQw*orlMbR{B3Wbeg9o+F=kdF+cuNUU2s<2EW1*4V0H|ax$JvELudum*~wZB8U*ZvOaz8_f5SBQQ5b>D8<*HYL%|7BfXJGlyw_MNb25T@?u9R-~URU~7o6UN~PBU!iBu`UE1gbqV}>+uhb zgQ}rMCFwm>_feb6DO*JAVpRY7l<{~QgJ!N$fv<5Vayr+RR|XE6tK_EW{jf3F0$ zW*_(aTwg1EcQc(WYD@0gjQesn{~N!v{#{r4Y;k{1Yl+QGoSpF3wY#>lly$;#;{0m; zxlKWTr$qWY8~u$c&|hcTO6foDlQAB3=7fmHIk=f}6nQij;ZXsP>Z8bGPZ1si;j!>2 z@))hk8xw|w?(aeHXgP{J))(P%EV3tjRa2zP=@V^HMTyM859$ zk$ZDveXkEEGP3u(eW|)$o$f1}d^UF89OMhxTHT7*62`P@Y-p-RN2+G(xUn~dG$e`r{X$D{bX*GUYaxgZla6)^pd^$1jXz}@Lu-n z#}u<48SK^nDQ3?cl$$%)k6e3@YY%em3$kln3G2uo`|)9@_o`mg@OTd+y_e48_X~r2 z70tZ&xK|#K`tsiEur7XNr!sbgo#Vs!vm0~G$Xkh?}-$+wpONANLpLwv zf_#~fzos-c*S6z8@#ux0HIV$6J4?&mNgktbAJRr?nfIOubX;yfUN^a|Tnq^nr1WFv zLge0?$lXX6z@KI-rTkf0Ul;fUH91xn!RLj9k6YtKOa8ECS9rNaEI7oxhQjOD`Mi=l z*t^1Ovnm7(Cby^?g#uUk5v&iVP%_C!_p z^x|EZNJ$?SIsfMA&`(89uaHz)$*Qwv75J4ub8E6vPEYc|9UWOMPd*i7jq~Is$ofZ< zRqaC1XDMlCd@514Ow4CEd|rw9giDvY!skHXGu5+mza!xDXXB%9?*=~7`4HT1h2-Ac zn9jeK=$v)%<*jU+^WXVaovQjFw&$BtPD>rnJH_jWJ!+INYsDa#k;p$~N60(ToR;K2 zi0m8iBlqS;^2*1-r?)GY5w3PjVY~$m=yPFOwxjwXV;x2!I zUtCT`5!atQla>>8o8oVhE6&do-x&-rsN{2Fa)h;!Ii5_v8)ZLD5>5uP&Ak(trR zoB3vt*X66W(97%GoTIfBHrAaJ1_dEIIChu9YlQJC;rr=@JYEVs&audVm%-!e0v^(N zHEy4REv0INH2`bNOeO_bM(cp1zu2ts?`zQ0nxX<|cr1b36F}%~5L}o1O=BSZb z@ci|5`SWu`>Dimu-$eY0{}kshox7JmKkrlA-wgKJ$lshI{`_1{aep@ke%i+r?+Xw= zKR=V6Nsi^b6@O|b7CL|D<>|%GxfJ)eH2Ax{h@5^NrTG4ZJMgEzH{%@SJU@@0pZmxr zb0)Ez>_xg?_3FLOU;2GEk$#^|9(5BC5_ch!C4gD!|W7w*43pznGp zPYiKu7D{(N$58yd_gcc~%}7*vaX+0FKmN}qa|eTY|GYXgm=EGsq4vt z`|$i%pyKoquphVqydL}nh@LVV!S{im1V0ac3jAwu6Zli`5%3q_fjht(!Dql)km8$b0C$3SfX{*V zfZqY%27VWO82ldiA&`Dp?&IM1!B2sEK+Wa;0Nf1z5PTeb9^3~01oZpnPj=~`Gr9ix z6tI7$C;I_=XWq>|x|_g@p?C03d+25aIv2bykp8Z~%?*L{?Uaj{v()nyf#i1}?`DEJ zA1yi?JDr;s>OB1vXsb)-YIN$y;8`~w=aGDyuJ`Oie&wm3gG$H!;6U&f;JM&0LH~_G zeP{4O@|)s!PLkjJc)IvHB1@t8P2Ku2ak{4n^|3nW%|hqaue~WB`!Q{Cw|tXfn!MX+_7LQsQlaps?KN!PXgI1;MTY91S@!Ez4iVYa3#+R!MnlR zK=O>+`?(5S&GWtBgW!GO!{A#%<@fu+zXBfsDHEC1AbCFXcJNW~L6E$ic?b9f@SULl zPEQ5*ern&SumT(k&H>K_bx(nC3OEqd*>Abi9Utai@4dTncD<^MEA9Q*HtYKDJm#f6 z`97yU%X>i$P2UGrfRuyW5O6)H^}QbOD`%gp@}|D)qp+1me%x9-?I}AsegDVY`mtwm zw@)~?XF9hvgzLwKSvOAPF{5--Tx33rTg^3p4wMX^2PNwlz-vItWNr%hCD7juG9LLW zk$ViNwdn4S59yzovO{fqHW~k^?O)1!nWynT82l!9IruGb4EQW4S)K!L0C$0J2EPq1 z0KW?=-|Pk#fqTFl_(Smh;E%u$fIk7Ldon)-e*yjs{6~;|J-JuFpM$CoUjR=q3R-)^|zw8>!3dTt$PQmgZ&KwbzhwPecwqM)1Kj*!#jNkQ(^ggJ%(fF z$C7EjJcf5lPnkad$B?3_pHK?*fj)xH5!M1*-nL zItfGj*Zp1(>EDlyQk}*6z1I1;GD!&lpvvNHpz@%;$L04oXkWMP!|-?ePQ#5KFJ!|Fv5bFsC*8>Gz`u0z z45&2!7B~QW)`hF|kv`SV`MvG(=llP~zrVUKg!l6h-V1r*T$b#Km?kC|wMo^Bsbe5r z7QGJI0_}kILN7vPOUTdAaA*>=0BV6Af;K?gpk2^@=rGiGDQ=-@Pz|&KS_f@`c0v20 z!%*J_+(FZzI%pNN5!w#zfeu32q~8x34o!n2Pb{sWnbBw9Va?8P9x{UE)O>kEAU#d3+wpY7WR5 z#n;A4a@(7BN^aFg`83XED)?I_Zuc*DZmEAk^-0Ep{=4OB?=Es-?B=~syY#%A-0py6 z#^Fb0b3E7=oB*mxn+Og8CxOz-WKi-<0Vjb|!8zbGa6UL4tOM1LQ2lZpxB{F3=D?ZY z8gMqK@rKTr^6SMbh%!$9)*d{TUFjB~GU{C9)n zrEjmFp0w8w^uRM_473G7cR~B1Lr||}rX@RMzCY|F`=oLt-oA z)uHYRMbO3NQSNQJ?(wMpkJo;2(F;FvZ*DrX2k^D_=f!&gyRtv9==qQ^A6@vJakWpS z>;he*>x04 zN0UwWu*<}GFdd2qjn|tq&)+j)`bq8Gx3f#ukI6kw12|0FH~1WK|8J8!oX3&en~=E|?&a3(Z9VDH zL~i26`3fClD&@S4>DAKD_5k*BQu?2*$ank`q5hoG+PrM`!rS;jXQ%pNg?yHF^I=bn z_}-2L9A z!nCu!n^Qu(1z#lYAF;S=d@!9ar14%dE=4}=-IRNCWBHhT7V4k;wCk#jTS6s2Rl)_s zcQd-}HyO3ZCz4Tn|5iY9Z*Kn5GWHGqwYWX{5;C5@CF-jL89OtcD@?CdflmOZjW5IJ z65|u;qAPq36p7DQ;4{YfOy>iED`qd20HyG;I&|9cE(-LS-!N}z;0+DDp#j=R>X~tA zJ=4bi!;j!NObxd40|1~_O8;`m5%bM@3AFn=hSL(99J$>rMe7*{w>y6L&I(1{a z#A8L^K@*&qufgMHKO*ed|^xuKT|ZpQXm< z)z9kmv+1-NV!HSz&yRhCW<>u1!OX*-ecrOVW$A-DP259Ow5P$a}ZR>&sP1 zJZ#T!d*Bi4{uy{YU_7SQw-@diE+wsP&eP8u72mtWd>(V2=OuHne$FJFOI5m6`Xpr5 z(C_tN{w{YMqjfu1tvNwI4^n*Y_G-3oD6Whxj_~K_Hj4Y38vI@B{GFZf(_E;ZuSoa3 zX;?2gWab1p=Yq<9^PGR}waAy*&o!ib#NxQ#gdfQ~-{C;~`fnRc7k;iF)se>O{UDiJ zoO{3iyqae}p3f%p0IC;O$RTD4Zk5j(z&_w@;F(|}C_ao&+;>WvLG6iX0c*ila4AU9 zL`Hr4cL4hUw7#ml#y$(`-kxCr`y^@W$LPi9ZSNzjUWA!*VP5O}TK@54>*90x?{e<_ zcY~+l-;aIMZ^V@GPU$7{LEI|79|kq3S`W%jd);)Wo8JfZKG1)^L;CY$(X1Pn^62VS z)88iiF}!qp-cALzN8|MHd^Wfl`@!LPSg;=pGQ`S_11WCst>E8phsmjl*$!$xMEmEi0JVRv2dfSGzHZOVF3_*3S7YbLap`^> zO}&VZ%+n#fXF_=24B_nrHBNmNOvC+_3)lAGRATSPXlc31@~$5w^SAiz9rib<%=mFu zy5Ar!2j9o7(o85nm7%T>4?k`y&O`g&Z2yCJ_`XkZ9={Dde&_t8_xH-5@6V(>V%h%W z+%xy&@XREwH~Rc?LT zR$O-WKp}g&-^{mB#bp@p+zw3Edxon}V)jAk3vGg)g7!i$LA_dNo1iMF8ft`ALmQxN&~E4ebQtP;2lG(SBxnKD4y}PU zLEE7{&;jT$)Rzi&DD)7t5!w#zfkx9goB`EAtDp@~M@$)xZ0&lj5)Gre*32E7k3Mxv!%4gRxsDeQ)bR@j6oBn$EDu zz1=I%eew;pjSY9#sy91qia!Za-|93Lhi`XK@U7{SZU}ury&E>Se#!F2+SbV{T3YMd z+6bi0&54$>cBD49aP7#_gY{cy)J~XbB|Ux+rH4{tR_(HS*(*KPkrrk6lOJ1 zM`ylJc|voH)@RfjfedYDV%l)?zau&4H7sjstWTwttX0UVZ_>)2xs|NlcxLa$Nj|Xr zxy=i)*Zb6-HTLC=jVrHTPLeKesINW%Gm4--f5#<#WAFI(8S z(y3Ma6usD8+wBeRZhvz)sh%A%jcrcU!46a1xN|Skd+boKgYVNkucusG-L6>Z+&8x5Thv$^;Pa$hHe&x^H>b<`4JBRmud4FFBL-nP?-jl33 zagL%eQ0$LJ-DKbUeUBIhb1(6Ezs1Mjp+S)CVg8iPG_{#2NuB2M!HCM?7~acXO;myXaM>##$X-=@f&FE& z9~tabr4`s;F8fiuSJ`?VxwbGE@5A%QLVN}jE{~BveS4Za0CcZ@lr+kR7KZM7xDr24 zhA`B}P##WsySW?Zek=ScaDOuPyCRI0WQVA{F-~Eh2)=_wY+#_S}Lsz>|I(}S}Lsz>|I(Z zEo~n_YMfG;UA2EbZqh4Prm)=XFkh`DMcNH|+!h!l*o&c>w**2)r|| zp}&pD*%$xvYwj(6aaneEP~fKH^y0Ms^d>IdYA9O!D7|&} z#GW9p`LQw*%X>8I9+Q20kbRCR8C;F*H64__JN{Qg@^5~WR}~yt#-V2Cx^hpml`Z>r z$0k)K7}YUm-j2*$Usq+?aJ9-0wSx^9l|_OZJS$6Af-{ zuC{gMb@eM<7fmW0zoKy=UqtD# zjd)DMzx8WiMZ;eI`@yJIzju%F{dGyM=k=QMj8JkVvfYi(Q^jUgm=H8SskQx^PykXu6gv zvyIiZ1(~%*XJ!pD54$26tA#O|4cUC#*&Tmc;FCXdYi$GPzk;l^udU53?5|lly=if? z!tc1ezN}i?Z}L`#g|i^G6Zt*JJL5IvEoH93=2B|v*ru<&aekAV|zVdf5dzDw^uNveUf?VhG{8*4* z<&Ve6ALX8BD-&JO-H{xGycgZ|7#s4|JSz{W?&^^55F|h5&dLDi?_%9K-3-T_ z>9&~t2<$ta=km+7<+;(?2!NU6!Tqi!9xE*#6Kma`dSABFxC~YN@hgAkRF)mDAzDdFa^FDO(?MN2|$?Edn z81&E!zw&2pJEDtr{B&ZM+{{oO@;3x0<3fY8&5F7phNv zw7HZrWphQt!-RL3c6B^&=bPoDjb{}VQW2)%6Xspwy(RFbTbP(ecwgB8-YSQs#M^Ye z(QgCEWR=N-`2f0ZGTz0b?egAMr&#A>Xz z;6~!aZt55WH8d>>?R=XHN98?sv!u0oc}snruPz8^EV8KY7Q11*Ty^yox86FjmXEsB zjc;mhTDh!wdE3nT_NC2rljxZ(;bP@Wy`1XT9pQJ(t+zHdFRE>9yWHvEC3LV99o&rD zZdE>iDvoMXV!wH^VW;}&5RH5telO&CXz+Ume%0Q@ewVqvjb9t?T>CL7Zw}4+Q@bl* zfKhv7W*uqX9Ase4ZZ?;Pwl>t&H-*uY*C~!A_aGEe-K?g zZ@QvhqcCLK?Y{C zn|_sENR7+Pd<0ofxjN{`uXBZ>?8|UFG9G~B$K08mzd6csT3fRw$jLNvVwTa)oo{kh z$0H=b8L^&GL8OppekjauRI=}PH%I!mbN#rXTx{B zyOa)YlPX+JiFEUE_&sU-d^-5OB8xhA$B2z(tuHr812N1z5AOF9@Y-R#=Cw37v`=}J z-9Em2tVTb52uERaLKt^3^nCZzK$j3(U{iq1~)b+Jz(MvdVB@%wGLWwaJntwI^RLVjhBb z;<*N%OW`?_=Tn268V6?!{AeCZ?zNGk4yxk0e{gT@e$3-&?OC$@B9ktFAtq!K_xC5! z?XpO>zN_!$+=PsM@FVx;M!J;88xmbc<3`%NQp>01;T=K7awnbtX`-%NXEJI$;%={* z)7o$+eO529>dacXE~U=2dU~Haq?ow;d5$J^zOb=j(S(MkI&Gq(-y&HQ#sK_pgf8QGO9;c}N#iiM0KbuOVWbwH z9!isrr%QfYYr2_pk)+ALTcMeB`Ge_3>5`5~l^%=azLfN^Hf(3;{H#|%!F-zZ_+Q2| zkEPdDHFB=SpZu6RYgcZH^c~M-kZpZA#_t;Z-pTW+<9vN%iS zCWN6psP-TZBhG_ZIsSd{w;8&I=N|{ZmZxIB)Drb8aHD!ac_+4WWBp{jK0;A<<=^Uo zj^~m5y(lje4&An}Prdk=A*w0P6kOuYLrlZ1-$R{#lT+!Vc2DLK+-mM;B*+x4yR*Fl zq@E)T-Kly$q`R8^y~PVqpx@`5P4-G_Ds_$&i<#v7v78I`=J{HXC3$XQ^=Fc1fa>?_ zED_5hnOQtnfV05~;9QU}REN8BIFwO$M(YOfdfwjzs(zmj@=kLfxwnAyHF7oJ0#KD6 z@AQez%&lM(D1I#ABH!QgG@5XX}+UeZdWoKAwaO3wdr)QzM@lN%X z4D#oCg2?ag_FWE+<(YUm9g-)V4(|q)56X$1zr*#sfTy^;QHdYFZ@Ku{l(#zn{#>5& zk>78eP4*#|@y_zmYTQaDbmz`zy#qXz=Xbg=B!ljJKNYM>c>BG?#d$yM{H478p5F96 z)0p=MaI5n7K~Q@75GYw_e~7=nCwnTqm4-D*neh8_vz$otCJygo!T%?~Q?T9$o&kQ! zg=cZmc}K5D6>h%|H=FFwJ%)Fckj$eYyvGv%Hzqppduo%)GNWSD&-vocXs+WfC#Ss3 zv-I!xw`S3#H?hoLCv559X;Ag+w?K6gcRHS4_x?U)UoVhH!rs!X+h@w7n`dg&ADHjp zPdeNUN(bKq856p5YBz#=c%Bdb0IUIj2vU~Z{qp(_vcF6Ili(zm?*2Z!OZYqI;v=2; zy`$;9zp>7KN_gV`_n`kC@S78z`MsRkWFJ|qvtKy(3!U4cSonRDS+|Fh;3#LAOocpP zeieB98dQn?4LBJ5El9nUc@dlo{sE+Z$-D&Cf~1G5TMmKL8=3zF-Uj|F*b1tyQJtda zd%?rt+rj?;*MKB)ZY^*ONZ!pH3w{`sKk}aQ_ZhG|?>B=zz{kPkL9g3d^m-e*{5YsH zmAc?0M7v@gQQJv zIw*Iv3C^AJTP5$Q>oezpZw3d0y5n7@2j3a!>CS)ZZpcdFbap}f^__x#kW$~`-4}Oh zyeoO{_Z1e;R~I>cU;Ww=#7zZ{hQSi*IA za4a~LXQnlYr^?gK&|8S#hrl`)_G;|?9=G(q%^ti{*_P3H!S3KhP;D^hAY59px6|=r zzn4oZ*7kE1*t6D}I~QaPE_WWtIsm-YX50WxMt|xDoDP58->>^Eb?11ylSTR2??=lf z``V7@on(}u-{9hTE2#WZ3#v|C1S&t&gO`De!JELPU=4U1s4~?E(%xlSK(CK}@E=TD zES+46T+QGWJYNZ_zF+3#+J+y$Uo4yKJyX9#i3 zR9fB-Djz-os!mu9s?K~6YzE%}O5TUSHgFACPEXR8*DH~8C9>TNjevA+xeqc=1{ELO z5#9&7%gH_*|9+2F+RuyY$aRD*9e>F2(D%~&CI0+=sN()U7W{o8@pqc@N7)N|kFstb z5sh4+JU|2FVjJU_&CxJ>A-8ZcCoC2!c=)PgerTd0e zZgkJ^2vGM6E8pmT;VZ#e;MJh+86F4D0cU}8L9eS($fof~e`=BQ9r||fD&DJKpzmOK zd-WA$_cH$XLVo{7*3H@Sh=14j)1R3d!dE=>y#vLg9vlcR2G0fcy#vK#DX4fffXZL` z?!id#c5pPf3{*UtLDdT_p!9tQI1OwCuLaw{`QUOejaOx!{Q2>#A})jT?Bn=V5|-b; zQM{jhkK>cxVeR)_6hDLiZrolT-FNNxNn|t9k4zTwHBBZXx7X1EO2-EvzfXZVEjhxd ze=gn2s18#Ybgpvp{{VOq_%={!{!UQ3QJ8DNHQ;(s{yq|(KLtL_`zOG);8Vf=8{j&g z_k$k-4}$XlM^OI%41R=XfHJ4HN_T~*?yQC$BFe zvt3*nGi3bQeAdm&$xi)`9r^?F33#awun{~P{1kW|_-Rn}@Lf3p*} zer>n-H(`E<+v(&9l}&}~*JRTW_ zwiE2b^9WF7c_erpsQP6Fcp1;L!OOw9;8@V>LEmP(1=_@0jpdXV&q~_(9lY~vh-upt zx3S|0M|p8PsJtb9-N1=F%iSb!C^!|A4yJ)4!D~U)E!Tl#z?q=xmRaBgP~lApD7okH zta+p(=l)Km-O-$%;Q;Eoe(e9UIXz#0D1Z3%yKLxn=9h)}gfIQS2~?Wi0#<;xI=?pGyW!0ew2nvE59C=reQhnY9N`#xRuTtz!O2~P;FDwv6=hF zfp_qJDtJ4nv}*_TZ7YpqWO_2Is=jNF%#}&HNj|?WRb0Ne5yphf^-ezZm;5?W)~y*S z%y^8p0=Lr5-Jo=H4_E=-2Mz)yulP|oTw31`s(&XQs{h{(=D-KRcY^Zwo`4?$-^Ft| z{UObhmQz!uX{`RT`sKGkYoLpH8pQ}$cYpaiw8Yo1%cNtixbArGv6{m>-No|&Zv8q* z)~%WFnAZnbj~q&ekAiVJe1d0{Z^cvNEj_D@>G>k?lRPU=e+HZkJ_4$JjG6l)zAuPEwl~V4ZQ?)UrzrVnglI{a?l27 z8}vN%BGl(j`t;BYs18~KZGv_}`=IVLeihIRs1AAv+6e80_CaM-ZUdl6&;n=;vG#_e#)0TQDRvu$$2cPmqa$}mX`Qi@JDpU13-5HY_37O~$3vvgU_Q>E{J8R< z<3z=s+k2pNlDx)ev>JAd+A1@jfX~GVpVoSIpXiJ#HF8pqC)1xgug5W8 zdtzIS{LIWuB0S=P%w<`>ufq7)9*2#AkLp}A8{sqB`1m_qX17jW*3wS7?+UM8>cC-Q zUY~^5#G}Z|_KVOSI-|DS%%|WrwUEWxlF71BT3Kd4o$sXMAr{THCc+O*g zO}$@dUyXdacS~-~Ui$;&X>+pA&FvpZ&INUR-8?_7O}^d7Igv8I_TYXuA>Z;M@>LR- z^|+T?v$y>Vtb+u#=F2C0wc*9=NAO@5F3gdL3~lB(=xCKg;2E zo=SJFeIVSIpeuP^5%_CQh^oTa@0~gu9sJbb{zXXjG zo9eZzx-C;C!(8pb{XT+jzh%1R-toD$O-n2;`o_o}Nbb#zbgTIHc@^DCZ#DSY4fVs_ zzDRFknEGQKCg|;GkZR?o+N8v?I=xNpb( zMLd5xN>k;RJombeAo%Hp`xZ!b`(qIgwF$AG+j+J!YS^* zOpktVzDqOZ*KNo+06%hXZmg{4ojD2$>}om>(L@C1dJpcGZ&7tSnavokE|FxD@8IH2 ze@{s@vK@lt-rQJTJuOb>=4CB>)wERsDqi}ofxa1_c#R2RTN=myl*XOYdwxI2#!2f# zyn0B0V4fsii!5H%tt;97Igf47jrApbgUISU<7an2oo~#*&#Jt<20!UVcW&w4C;2nC zR&Gv@^qIfka#YE6w2cY2Y4Q+5^_ZB?A@65Q-U8)xtPJF*h4ESy1_N(NI58%N*ORZp zOM2OkeADnJKjzNz8GCO+eR5>qRC%_T{RrN7ysYHM!}`{`UrA<;2lxAV;?c8bC@V7? znwC@HNPbOljlsR#n!UAY{qyBd+B7TYsXc3k^=%rmxG=X8=4isKB+Lr}Pb)*QADkbR zGPDm~GI5^%0`Yyb#W(MKmv41T$tSj7du>S7F`lja{UZDxD9SIr!blFK^Zm%XfH36W z{8*l$>M5FMO3f42*Lfv`dX1CT|7=6%ubRx$+oTwGw5$}}SpBjz3^-#xUxLs7N%^GH zDB&PmSNQD>{4R~+^=0^t=@s(&^tLnsy1>uUeqCSB=s?8pEAac6@$-2tjibJ0tKk0pHYDZKb#ylF_h0%-ZojRL+U%%8c zV0m-eX_6-0L#e;FlXjo)9rB7#JC%bZ)s$xIiI?s?Qkt1tOEcywi{%u{T))q!Sz5-El=J0n2Jw64bnoB%SlY1X^;OeO<*Asxr5!`*qV|?{(tql| zgK1Zno^d+DZ<2P4UD~ZBUWbTRBYb)?Ss`6m+Qoj;JMhvw+vHB}i@S5vEv}|ixm3Lo zyE~d`Z1baG`>;9#iTNsN{9K4v#;36^dTDOqV+moZ+38_8`D6DPc*C!`SNf{Ic=l_g zulm~s_IdZYGIT4nPwsP7_zZsv?OlC6O7F3!9WQD>I@qh*U%=n_S373?tJI!!rc%O+ zJw86|V!O0_`UdVo+(?zNn}+1GVY6GOG_0tvo5%g#xKaJqf)00~!!PoDJd;7n8zTur zc{mP(S$_B7v9xjH%6aAo+S@!|g@=%D4*ulF+$q1weMOQEZajCy z{c;8NZoH)SLiuqA;m#mj&25ef{H>g){wU|VR|q#<$%EG4ITYd_r|Z+if1$niYBcvs^iS;fM4@#@RM#{LC&4{l|OSUovRKTn6L9>3@Ur^NbNbx(AY?f z+_a<9`Dnu20Z9!jBAqKOV}D0;PPI=3fn&5jVdfch@M+V5Tgma?URK->Bi}wUh1{DP zi~FGbxaZ|J)y)O=Nq)0@mD=kLcz;G#Jcq+?FEofSwiM_k_H#7!@-jRsA-|Si{G853 zY=IaR_O%bktzW+`euj^EIkyK%e*9jc$!<@Nc=+|`;`^Kk7x(^~bXB^%7?NS4+r|5C@C2S$ zfrG(&!OOt6f{OP8;3V*E;1uvd5E(P?0M$u(2wV%k8{7y!3~mMA2W|)75B?4KLGU}E z_Cf6iKg{#b!u$OJ{|WpE?{%g|XLbA;Qtj2f5IU20XM#FEcP^y#(ca=o&`{`7+8{DI zMtd=bQNvWY_x)X-*};3iKAClEm2#(eZ_^)`N8qdUcofw8$3W@p32*=?xhcNxS$g^` z?}ve302ziUoZL0wm%ynYad-QqkrJ|t8$8kGI zSd!&8p!!6=1C@fmcRX~aP!Qg+rj~1<9;%{}jS~ z1ypMMD|iuj7`!;Ry9E3Xo~3ua9~W>sn9chA`wDL^&&TnsaxFf!0dE7TN6^hBlr09K zm>&GygB6pWP@j-DdovmxL4G|GJDmxU>6w|#(@1jl#Ys9=^WLu?W!;*K+#Lr=r!q_> zxxCBtgv+}O37zif(z`vUG+)S~Ja{?!y9iP};J-n+8UKFmC!4GrNlzOTFotytmo7RZ z+lS{fK;=2+px`GpCQ zzI1-GU#5~7>(g;(ZAvA6{kl&Uzushle&O$nT)1Oho>N}+>oDm)=3{uLFk~caUvM~n z^juEuuDmLHzjjjm{KTb>$57{1Y2(*4vTl8Y$Go%|i(AQgC8+#a1r7kO0+r&|fWDsS zN8HB{C)L;QbYZJ*^6L%hnJwkz)sT$N$f`b=3aY$L1C=(4S4DVMxxJS68gpLJ;P{K^pXDPp!|xYFDHm>D8|r6xS>FO**-5aN+7ao;#7fZkkz@^}oU<0W7`gYLkKy9e{4%#CuoE6ZYO%Q)SPhXsW3*jhDT0!w| z1I51`6#wO*_}>YN|6QQ?uLSe?Ymd74SLgAs!L6US&(d;xqk2>MQ06|u5&s-`7I;6X z*8Krc?bF*p<%PF{o}cl#F^`Y(n4f#kCgCD`?HzV zw}R_=UJrf*{0z7O{4%%^1c;yN_7(8H73vACqa3KN(%I+-Tz-=*eopzdW%&$YDz2MB z$?`ZTS)L5Ce356#@+DBRdgyf%cS(8 za{dfq4gz!@87f^-si-KqMMgzMMTNyJEWA-!k(avMqVD_q zuaCXgIqZSqFx=kvzAbppfA(I_TFFMbZHZ2c1K3BCiCg1-h; zAN>aO^|;!@cX_S=e-A1y{{YSgcY=-Jd!X`!!u=ultn}K&`;UTu2A>3XgP#Wf0p*nRt_RZK@4-&spFkGdX8#Km|9^v>dFFFj>Tr;CGiL8DZH%#}?MZdx z{XnogIMlsAA3T!hVea`NkO6ddJa`OP3HAW1oc%OVdw!`)jK9<&sS|mo?ns>sQfH)2 z0m<{JQt(Nz4@h25^#z{;`+=Var8oI3bvn=A2K$3M+(qDASrax~tFg25 zVrds!xqF1PM_TQk_DIWL?TzjZUIVI3P6AbrDbMtF&nlDG@_q<-9eBQbe+ekQ%fTCX zKOTHPXwOR~^i&C z+)$d9!y3s_eJ#^~U(!YUxI&Kr*(H|^|?m_>{*?5BKud;qO^PNx)bSJbJS_N%@wnKZMp7+q-f+jBNafrM8U{^(8leTy3TPd)71{-r z+=qWqIaCR?KntPO&_-wnq)ClZXc#mZYJ`?RtDsHL4yfb-{DHs=vMY4m?-n>#om*FV?6gu|?ceY~RJ zchU9kd|ear=W=xIg?qX6{D)fK^-f>a-!Kh$xw!|5Bw(f85!7yHq-kT~*rezFQPM(wdTKS1W+T9GN9Lge{0@%yH1 z&(%uYjJ(d{66yzCWKw%;=3r$GFS2sfFZAYz$UOBB$n^2L%E{Dt&YK@0b4Y^B_h*_K z#8XJTdU>VAR*L#d-uxJOV-Jx$?ZuH9V8Q%yhkeoe^W|}$cSAE5u9J)^S7o?c0?D1{ z_2r8BpjO+dgNd8+&Q{4V{og{@`}d*i!N^lGUywuEmxNdA{))(JG z`tgInq3{d_?fD}5UZgS4{iYu-zvYK*@6)F3mzSy*?daF^$8c-rPs|+G zF#N(lzP`#&eb3Q2c2SOhwoOi(_8Hb3|Crx1GT0mI!ysJg1QlG zO(&(7Z9~#g+akZDt4uX+^*jxf-_wm>I&)@Nq@Vn-?LvIETO=bCiJ5jH+pUXHJdXh^5fPVKWtqb zf9DSUnCJYs9aJTFN90GY9=6Vm=VU@Z?!wIpxXtokZ8>__dM`OX?!%4Z zl;NR?j|Yq&ItMdX4_lYT=Te1wd;~XoUI-oue$@EU13$`h^sx0)eBMdu$0N>*Q&1=i8=MTsK2Qtq0XLB48%ngjAF))5ymAS2j zb)yY4S_WR;+)zL8+Ll@_1=2N=)Kl^K9u>9KGwT~zcR9V8nXmZ$n7W2(9AI+0S&fOV zp_^d-A;*n^+ECA$S$h;os?a%vF38KDL-1=)x4XDkJMYbZBIw*O?kBM8vHrl$m{9sj zUoU688g7j05pQ^vY8P1|Bn&agt9 zHy`+YmwqlFEO(p@SoB>Vo`KU_*viyK8M%4D$Ju&ydNF5OFu$BTSo9+=gB7qNX0V=p zQl@SOwuR(3FRRXt!5JgO<}f1ZAye#3BQ+&Dg;K6EYO^of(T;CT1- zkj?{W?4gjAH8Pw`DlFrG=ht6L<;V{HF3x z{cz;2|65x4xjcq1c`N3 z8{=VsiHFOOJj295W-l#l?g-;znX5SZ;ntgu=<#K*hsw3v%dR}5iiW$6%@R4t4)joZwJrW~>pCBQ^AETBgz;C5ZYOx%l*XfL zo3v|5X}lfXCg4W=p65`-pVzT}*S&S@jE?=y?vcjzcMgGGYJbaCH1gf{ty=Q@L%M&+nU^oG?#yMb0O@ z9FyPe`5wdIT?UEQ+aIcU@cIqwZlZzp2C?aeeqZ2@(J&)2=Lx3ludMtPUmD~--%~nWlqIah=CnPX-#~O&+Y+0WR?-oewAx?9;h+qB0 zkpCw5RabgyTb!SKn6k3(SNs0dY8Mv+u=9pZmPJ?kxENL6Jg3Ruv}^V3i5pD<$&Kgp z;d(NP4|`AJ!Pe=$N~~6cy>j5u=r_;nHzs2bh~RzO;vqSY&v$Y(zW3%B$fyezX-5$~qodB@C#{RD+Ml%NiQ$GS&6s zE<~OW+X^SIuN7;4dm^uYzC2e$9gM6V$5Keun}>xbC>;OYmTF8=J3Q2&$A z|C9UBe+#%0y z@WuA+6h7BLm+Up8s?<%R1c2jpy^>Te_d{CD|){a<8eN$}_vJ6P zZ=djQ*2hCkn7+LU|6}_KKVe^nJGt?EKKvisPxzDU!}N{q+b4XBPc*?}4lOpP5x#f! z5xy;itqON? z(S4iK-}C*$^w$R&OjtkkMgOnvLw}u3vJH|O&*%03_q(q#gA{(x=fnT(e!`z*ABI24J`8_s-%jB_)rP;pg84n2@ISk+ z@Dpd-Ai42;KK#q}6aFOoF#JjOVfbVF_6h%H7yht+)}Qbn@#H?zA2-V&x$%5H{Quka z=ju|Fz^JYA<_z?ov=9At&PcY@y77Eo|4-~E{gUj%_ARz=pY&PX+lDHvpUxzFpWH|I z)(|#rWRe@t=fn5he!`bzALh>_`!IjT_U#k?meXwb!}k3w!hZ}IEiJ2r@xvOzJ{)&) zv|z7u(K z9tba6^$^I)I$12GiA*`Nil2$=xArPu?k?!ge+Xo)ce29tx)fQb9s*f|2HJ3iWqCNV&N>9LmO5EsxJDpr$RUu` z`5YUrP}XJ0y5tbZYDtha5?PlY0$JM_?I`QI)R{*qM8k&e9WL%)FM7?( znl!JOE6N52ds+sLi%)dte2o_OWR|xVwD#k6r%Ty+R+l3!nBS|><@5W{#hvdF>QtV; zwMYAa23}sN)vuT2E3EZn<;1~GNOHX_jYFisCtH~(Y5RJs+;vb*F030}Si`(~4Po8j z!jEq5 zLJQ`160&~mWsPoXm~HoeYb8}vJ*TCc^h3uTklcA*zyA4!DE;E~&vG*t{_PM`n5o}6 z|NYoAbaNAX!>(`Qc$KDjEnwTi*vi^z7sjxSVGmJJ2_K}*I6n?!LFwk#c)si8g!$`Q zF+x5%M6JEc?PQS3t zoQ!^Nd;P{YRM((S+wxs*edEh92lW`^K0}$mZ$QQlFJn@sg?chGu6{;?EDuIjos)Hf zkz#+|kE~)AC73+k4zeb?dUThQby6Vf1IQ}%vhwTEaoX+aLppG5HCLbcP!|$r-;S=m z*eY;hpvM&SxVUY4sJfOSSIwC{&D5hRE4vBX0{oSq-XEVAS44TSeaeat$NciW!*L_w zxc0!pVb3jTs5fPP9buS&zY2%<=TL>i=l7j199@F+_#okE@Zn(FT4s8S=@f{ikhJ%* z7QN33aZ8TP!&GF=ZAF&Sb{G0h!JXWAKEF2U#VBn#dk*_T>lfb^>~{Kv^-C4{E%5qj zkLt)ewk8)A5AUI)qTBA*PCjpfIo_<~j{;T6j{&Y%DCgP?$ zXC#VO!$P~)I6lj|gYyGmr<#=~JdT|rr?ab1?y4ZWFF0-X2=kaKf-3a~=7Y}NRPb<~ zt3b8Y)W7D8lWCypnwg+IpT8GjI3CiO-~FKDqp;XL!11{ks{49EGV^h-`wFC!;?C~l zO-E;;9L76^QRZPMa}mfVOLK>U&OEngGR9|D+daC;@v+#*# zO&PF8WoEAX`&szahgb$GKAr;={^!AyL7g9|HibTuK82h668eM7c^&|gmx-s7O&saG zPTiv+qx0gs^0z(v)t=d|@Y?;dar%d8`f2=9TD<~xqGs`DxQykU-2|qf+hQVZs4!-i`}=CHvNAdQ(=C&7+&QUooTQ9atT-p#%J0q zzm!I4C;#jotz`c=_R{#rv2ez}%bkBZw?57n{UiUBzIHEGnlp>73G>1flmX6A$uR~k#L-m)=gqQw03;sB8F4zaW9h6MY2_gJCw`d6Qsq>k1uZzk@ ziAht%tKEN;*11>4gz0oQ?iDtj{jPMH50--W8-H~tg!i*7$|H84QQSs_@%j3ds4WQnecJHabBLvb-Di```)r=Sc8^Tj zop7D2?{dQ%-veRyxWwleg*v=wc*~&Kio@>&ZC!{GeF7FIrOFAS)k;c z4el)`iyV8-y7H-Av!0ID^o03dXSOT7hk;7(3qhs##pZpO-u8|%`DfRVC;K$$#Qf~x#YBfl5;C4Ik$nO;9O90ZU>X)%!=gLHN$DM zei$b?`SCv7OV0hEm>AeCh1z!ZE_sihkdMh1leO3jJU9*~; z4xhoj;^(uVz<^XZ$$J^e9I@v{L`{Cv~ASNsfi z<$p{RKX$EVa{T-dchdVup!D7XO7FM8Qt&6B^xg{Q>aBb#z2o??YbKNB{0jGyvjdcz z-++?yTd)-5+$tmI_h7P|Q=}HSW znf8#OQz3m#jWWCudVf1FtfYF<^^G0vhXgj^t&yassZ|3>SPNzRW1W)mk99q*`e)aurBfC7Ez=S5V@$s58~^y`Zq9z>dw7;<%iRurq0wHkmfh+H{Enf?Ve0HzcCM9%>mpFYL4MU zU@!14P;#>1S)jk?=3bt4e`PVP*%8e7=`KLcKg;O8AV2S9zsDx$tB)E#;yAM3RFlKK z#PAL^{%%A@*-|@3ddWz%YYx`Azh8h?VOasHt$zvBTu$@(O_(&lXup%ja|z-6;x~}d4W4fqS(oE3zQ@Xb-%QQ}ZyEl0 zEM~t`Cf^_XGk6tmKXw_D?Si^J#2JjxaHtZhgBC!`ptaCu z=v}BIA4YmXL!k-KEGP>tfmT5qpsmm@sM{jS9#jrhLUqu5XeqQB+6Zlj_CP%z;mjqd z0-6G~KntPe&^l-fv=i$5D1Jia&}66)S_G|t)8=&pb9;oM2q%kxe zs)4f55@U68U|HDbUt4Er%vUjnG19IkXPi0_}pj@x8M@G#r`&wLpuY70`NUE3_Lb`8fJRHPCu!D>U?3 z-a)gVEVLY23vGdRLfw|315^%GLbISOv=~|mZGg5xd!Qblz%QrlzK36u>e%rcm;UC>*KhdIxV3$|bok=StE(jIN=9cxK;|=3(y0Ve-7d-b zXJ&hS`=<>$t}=;Vg+^gDRo^l}S0GdN!c z_n8`VL=ZOaJT3ZmJIY|L(U>s)xKFj{r|lr)J$zO>XY)aF8#I8T)}20ycn3i?-Qxb3 z)RP}FXTz)b7Ix=*(^;IZ=iS+Ok7b1J&V|1Scjtkfm|OS#fO6j1xQxHmg?)*OoxArL zc{(Fs?$ys49Qh%gZCoYmT*0RT={&}`&AoSVcy}x?{h<}lQFlT+ppxf#2bDvW&@3nm zErt$-QCairVN`Zy!hFpnnON zlr=GP%beP#OwEL*hQ>^jIpn_(nLd2u6Ur^~ibab;nPz2?F1sr%d|npc(Tq`E^ya(8 zsiG&nta4LHTrzFy)SATukW2V6qm!qTu5Ac*;yw$tP{VF>=X7c`@%wH z`};R`IoVT8i0u#a-9^2wRyUA-UqmWM`5E0OW8b`PWim5dG4`R zgyw=xyD%D5J{tq}041*xyc{ex_nDV64%ND!hp4MMM|#-2n0zPkHMl*SJ9~T_+q@IE z5n=emdqrx3;Z>Vt(>ksDri@XRP&*@Y6}%cRUkx4w%54|s0lLyEcHt}fF5W5MZaA7B zjKaF|d7hzdQ0L|J%b{|p5^97NK+B=E&?aaH)Z>%%XQ9bZBeWR$r}@7b104yLUvD~J z857gTg8A)AfAE~auHH2pDzpyUuDO?6)>;{U&lC3d3%TAv67g8O@P2k^j&nVECy zs+%}>wJFow%-w$Oj-UKBWv@J!XMch0 ziE?AFwk6Nr?DatnV-E!O++nYBT>8vZ`?*>pdu)|2+*E$egnX5{Ap%6PW*YH~ldkMYCKPpp8~)_ZAF2g)ziCrkAQ z<{WsHUnwhDB@W4I)|8W%%zApwKWK2GKDE-6zq6I#MPL<3-!Iz$YQEtP@KSIAI2_d4 zmg3aK=-w05_Z*>rK90YKyLUsQuqi%mU7402#)R=%fxpUs1NH~eF{=TM z`orkr`oq1Ebyh(A`TNvJrov_G#P}PC=_Bx7<~sb64wJ#d!5hG%!4H`CKArj!7CScB zgPpCv(xxusF?9^IQ-5HpaHlk=2FV|(=^$yAssWiNV&z&YtGaC_NLDp@L}{SsksxJ1 zYsx>UxStK)0`hnEHn0(#2R4COuo=7uoC7Ltl;<7-<=<1_?V$ZeIf{6xgsy=GQ8xQx zt2s^G<#|l1JMX$1JjbDbCYNB2=j)cf?WtVMg>3mxM|DSM-YI=$?lLm@;lIk~-Jr_B zy{N82nj{fSvV{jzu0mf&y%UlE52nOH~yR*jXg@G z9A-GQ@{`QNLtCL;P`4MTbD?sm5~_pdLrbC6&_-xGvDf#kGbEspWBLe*VgXZ34 z$UBkY8+OqgP~8JPbO zA-s!oVrGW+`O%kDo!@%@eSdd?s-K`R?ugpV+~`@fcZ%}Ro%fs9gxmIULVNiuJKrZMWc;D< zwl@B#b9q4ZtT!vk1GC<8dEm0z`kKlHCI11n^~y)K4`t_nH#s?)&+uk&=Ty-hUe3Vj z=HkV+_3iE6>3kWS17{3T`y;COH(NSk8X=sQ8|vRc<+>ub$RY0d5_%>O*- z{yvevU*K=uT^+AAuxS^s^H5&(^|#tGzxERSQa1kM`^%L~WsuD2@T%QbyVr@^1!WWu za%bZ-t^SuWp}RA1cRX*cyZem&E`Aj^9ZSt)N-&5ze=^hvErgasYoX214(Okz{bL}k z|9dK9U|KAg-+!mGJo7m14#C(nLq>A@p6l-0JCXdi-|eu-t>^dkTc5Nauk2m-s)#1p zhjnjkPahBAS7usfHPqM>4^%%(w~&W3D9SGxHg#%U!}RL9<{_r8Y+F5I`}7smL#nI% zx18-RUQTj|xYW;xm!C%Q5{-XMy{P!;1@9_IZakmjLvG8W_#nO-;;8gt3GHXl*2WwM zzNg%W#kcXA!;x`d{{A^(`SbBEjmI@d*IkEl+ZKPe9`-W*oYp!gOnr54wjp!3m+1t_ z?qKAww%i!iHQv09oQ`B{lXUGQr%{ClLnevLFOYLmf*j=q&a+OH<3{|RM|nZ&_Kotw z-ep5#lI&GBkomfl}^?$E7JV#K-N!Nk!9LF+{}gK#`F0! z*c6R9Xt!)W&eXX3e-Cs%(dX&t%q?}EFk#vGHM$-{gJbHtxa|03D5!4r@-{korADg# z`3>?a_90L4qxpa(klcA*A3v<$GG$7><(8#s1?N$(@10%bYi?QkE&ATMAAL8WtL|l1 znex0|U(PLPMc+)p`ucWxp*q%>TP>L1chUDHudlslRCV_VK6%ZoH#cqCv1Jy0C*xjj zJ-_OA)!%1EI`7@SNJwmt`|7$m8Phsgf7jt}CI0q@?+Z>3#f9=$=uUkySL98H(2q?E zY0G`N-|gbV6-lX@`W^96O2^9NZ{{LGnT5#m_3lzP2(`0sMpWwe$U5E28rK}%0IEE_ z2i<1jM*N;f@hz8EMP)uWzS~~jbNf(!-Hn-S#{aM$ypn$E6t80e<7Ho`_<2U#Z%;@4 ze~LmhARs{P4~<<10e02$w=-Va^_P5~>y8$srIQ&Yj2U^NI(jZcGg*3JzMHOKfb zke%zTAW>~UnRWRlf!TwIyJ7C{8Tg}Q!q4n+U@fSz=1pKfkoi!f*KBYA&zi%X0Nw&l z1U1fuM`a{i56%N02N_>yp9C3SXI}+B1ilX54SoT<7yJ%*ANWh~e()XeLGWGhBcL+m zLa+n42;}>rIqQe+ZR#9e@mHYI z@zHTyEiceN~MbEJBJ{|-_Xvc)OQ^=QA3&o_hlTX{#{g{}rK0;|Cl;Emv^@@u*=X=l zp6`yn57_>C@>-~~jQ-b0^F+2kohC%qC~GKR$*7J|e}?#_n5oXNd!q;Ox9#7?XIBIJgPC4AfaLw*J(9bmhgKU>($lzfX7XR6l+`N>kfkNdCUdntlAUd;H4r z-?rsx)2{QFQvD=-Wd0N0!QkJ(bHV>HZU-Y*XUO%8;@!5#aUKfu=_HyJ)p2$n^g8}x z{06C=z3v=6(O1^b3d#gj4o!htpe4{MXalqj+6|SwNZ$+^4o!htpheIMXg#zQ+6|RZ zAr62lpekrCv;;e zeqUkj^NPl}&#mD>)bG}VJ_e3xX=$pRHb=8MftnW5_cpGkp%nMb8^JA=5Ow)-5W;|NVVm?C1LZ zABo0U@mRkph!^$$3;9;p86EP!)%h`FnJO1dHw)%>73sBZU+D$cfsB=u{#JMU-EOIq zSsciG6`qZOOf6#~kF->CFm4zJg~;_`Em38R3B&pta(|E~*B&z-NBqIaoSz``b!7fL zPv(fGrs{dI$b*XCJx*pAzpIh?+dyVTbxXD4x2bx1OCYu&xqjb6s*{c1Q!SX^&mi}` zK(3A3&Z7_E=7r#sJ`*Qrg$mt=s%1@!&*=9Ry)S{Vr zytc=OovX=@kKHalG>-M=^TfyfL44%2qcABx#^Y{1BzK}wq4)c^z(CV zHELuq4$R+QK;PwozHwAftd(BYO!n+n%&V`ST|0dwT>^7YNVQ!D zR7g4V_1okwR+cMn=3y;zzZ1%h7ag%0IWx1mB{P~TwxMZWVPW=jcWa$&jd8rWpSiou zUUmUVci)}-a!*Yl5!^Wq^o3{Rr*XyXuB|l`chS$tb-cy`X+SxOA6)szc zrcHe+-Y{GXoVyQ$3fDqV;d%(v+{D8mX_a~e)I9EDu$Ua9`PnYW>B3x4S7yPwq)K^r zj0ur?Irm$BZA`0S`*%GEnm$&zbj{Ym(oZm$LpTjJD26-YfS%#+^M+ zP%>C!c&^W4sk(#4j4<|v&XY9IXg=M3Y< zriiKEH1Wkq-p{3AjXbZFxD*ad7LzAIKXc4pmS`Tf7I=;f09ne^)3YrUrM(O42 zsZGwJbHMNn>*c=3WUAsN<@WZft&%(PlxZ`({l3O-`x{584J%}Pq_WZ4_^84tZOZ{{ z#w;Z~Z~5>{%rrOD-I{UR%cJ$22hz?cex$p~x$>Tki#Y#=W%qQ7t;*z??7m5712(>??mN z4G;WmlFobOJ>RF|+-GBIESTRG;_{v_F3ldhNiFm>eg)Yi{DpfP5?tc^}qSijJI7X8l4 z(s?ZhDa+So+<|TkWhXMXA?r_GRsrV}`0#ici=B)Skp${jWSqg|wn_d8bDC#icOdmi zzKlUCpqS$=m|wc1MK?t<;_|4yjG8|XueU#uF^?QEJaqZTedp(0+w+bcH{|QK*y(n( z1UPd$y4@Y=mdV`A`-2JpZYLwmpLZhTF)xGrZ*&J(Au{~Ej!hW0yO8x-jx6e+rWP}e zC1nbc=fk$j$qU1lMc%*V$Rlh{S|PIhd`+3l6k*uzM%FiTWSOurz;AA8nq#&U6cj!$ zbBU7~hVLF^zLg`B@a0G>EKYqIc6JqJSa05o%wOcl%}z&8>5-$TYUhlGlaS zb6(FqPEWo+M&^F>ynum|d1dN{SkGSYZ-B(_dDM=Jm+?EZd0lyT0O81OlYClfU6zdNBAdS#5RSz@9OIhFxN%x-K<}Zr z5x?j0eJ+wBF|7)XYhOo}bTeuxFGS`+bbK||(NtPiOB=^^=(rV<8_##B^z?DL+UYqm z($b`H(YL*xCg0n7K>4=^{2FwN-}87KY4X}NE`8lt<|?VM5AqS>vV;UR`F6w{ZLyf$ zSeI$ZjHs(qPztFVeL30eZ4k_}C!XA-7if7~vEH2=k zdkfHW0B+^Z^Ga8BN0?7f%zOU(NNmsAp3JS8y5`C#%SZw75#GQb>fkv|O_}<<-ud>W(0b3;CmUSansSN1G7pos zwFr&dn8N!NzJ49*QahBh2st<9$k90?^$f`mu0B|iAnOri-JB!KEc%a5I4M-7uk(7k z$}SAwqsXkwk!iy>sj+&x8rDMUJRhIs$4F!DuCic$A4A@3FE1>U*eXxvDz}P{(5^mno1I+Yz3f${Li^ivKe*#)d)`j& zcPw{tL_Hpv#l+Ec1jc#$syS+b4kj&1dRXs6IgcytbL3o0-k!ngi<*LD`SLo~$qMt? z6UdsABWq&yZK!lGVcPEGxaz?K@JZy{nlH!gohd|?57YQ#_m00M$htpAmKAg`a#lMz z3|Aua6mlMJXF0u&v)+eto<`1-?JQ@0f}CfN^K3iIc{f4MQsjK9o#j*>zjwTS3^}i~ zvz)aFaz2in&$Y9hGUhd9!g}FZ_B?XlZf7|In3IqR7o6ywT2bN-2*r zBP^KTSCI4XrF*B3#s|Yu=v_$so=1IjImC$@Rpox`^nLs!dyNl#A3w={2=;C7p`Vs=Tg?AKqIj7JU)!4?I(;$_F)*4?As%Z8wrbyboS;o!nln0X}!n`GnO-lO6JM=4049Ivz#3X;rT3bKG@E3CXgU9 zZpy;^{W;_){o6C%CiFF4>yGxwtU=Dh3361IRH9ce+=$=vC=bdxuaB~x?A<1GXvJQ6 zQ2s8!-=28Tf=A1pY@fGdf1`EPwbSbCc@BlP7k=JsEuPDSeeur|{#oc_qQsOzK2FTG z6Oo1FQ9ma*pr4iHhMVT$3&?8Bk#+qnX1to+lwd(~HvaCVO!`og3JUpGpVc26sE%hBKTiS_{v^Ual7cTOsl3*Y>RJZ{>7W z=5po@){8&u<+wH5%3meuG#7sHdV8P0h^AKat@1#UeOPxU*{kl9|A)2W{#<9@u@(EF z&c0JC_UAeKqE_tBclO1t*k9o6l{b>~AIAGa%hr3iB?;Vm!{qgnkMJ3?JEup8cRpm- z(xuJ1Iv&j!Z?68pFo%`B82mW+K5!X$Dfm1%0(=1+2{Lvv=MFID$d2KezPdT9kv?u# z`?PfrWOqVqNq?UO^@sGgU3)IQ?Yg>Ty{Q|r-BYE}T2i|%E_p2}Wjm|*7j|bI^=Yg> zS9tY-)2?w#v$NS6@m0CM*TJuJ{R((A_*GEt=Xy}p)z`oQ;MYOrqYYrE)Jd!l)LG9u zPg|sWMo&!n^{Z9z*)?zJsJ|f@m5|Iv{NNK+>f2y%@H^nypw>ta1UKwHTuryL%;t}WhQeHiZsK{7uy?zuxAJeKDz=D9ci$80vG=_vCXcoojy8aF58=xNuE#rN-qdXi3rlRf32;$@e4)_#Hb zENz9!t_O?n2n}Wb6*nqhdyLzGIkN5Au4LJVv8G+Jbq!Fg% z%jt%n@1zC?hO21XT~QhMhR_cm3Kj(TzCM`5iL$&for# zUL`1R*BqtI`Xlk23Hh^~FUP<4^UPY~Y!!G7m;on&H-nX6BX}KnCpa1WFn9w(Ec) zucp*r0#zzj8ac;<-J|Yls4;{cuXmt z>huTZ4d=&KK((V^1)1_meGOFkeiQ5mZUB`dz5%N3`xdA+sVkawrHj~=w6fUS;dQ1B z8Vj#o%M`a)9eJm)$*A6-$eXiKq}TWG_bBj(AV9qKAYPA;@`2i9yY?tP=cE(wBuC~g z+$mnSf{NFlfhU98K!xiUpza6gnks{I?uyP48f$cw-*%l)+N>Gk5xKG7J8-M`{w*lK ze+Meg{s8s{{|MSR>4%?vA?>BR()dj|b?bW4(b^!n)tFA^zj3R0_$#RRQM{;a)_E-~ zcQNO+sNGI?uxIad097xFU-hq0`JBN<_9Czt90hg($AI#09N3lT>%s0|EqDaj08;Oo zJ0rw@2hYO0z+=D%z+=JXU{8=fWa#*3dK{JNohl=>b#9RM*1a#_(|zhXKTK!moWLHoLGY>1F#sy%z0QGB zK0Lh@oM_TPacI};xIOVaD+!dYG6T`i_t(U0*W4uYo|ngK*UTjImgn)>wJyoLBLm)@ z=wR2Mq@(pK>i2DjWX8d(@yvK|7^sP_!lELxBq3=k|evk&$+wb zxH}_~r?j@~LXy+uA^3g1P`ui;9r2y^VZHpMld%L;*?r2%Dkjf+KNLQ@W+Pe8PdGoG zGj99kxU*|8lKY7-8U9r2WrL^ZxU*|2lHIL#?mm;?&aRP2cK0Rc?#l`8?3#yUcVBnz zHYB*SYZ#K z29o9d*2#M}!JSqk4L#Z2iO$_g26NNFeiKg)Umy4tzB1!3x4d^KRUMw}?ri67V4gd* z^AF|8zfo+wXJ9dT)1rzmwfGJAu8xVz31~9J~+g3f>QP2cHCw0GEIz;ENy&yv_N%$AB8=^Z?g_ z$AQcbr;Z1|1D*i>96S-+2KEB~2%ZeS2c8NtmzgRBHGgy(cr4flWPUN#7d##82lfa1 zgBOBlfER&hftnv00P5U>f#8kcIUsXcsli|aI0R(wDK!+l8$1tWt|)Z@$ed7W82BK_ z{T|szz)L{pLQTD;QX6?y3S{Cm%z|K306<5hY7YtE?$y6CLmvmohJ3Tg~ek}Bpb6UDvy-u4@2 zavx=)2^({Y2ID+87I*f0WITW0k#`yo$b0~P<>wp0uHXkjjdH7uKe{_n^8u4{`mFYQ zW3nC@Wq8E$5D|ViUa$t581BF2s93osb{K? zIRsNCJDHwQeAeqtnqb3Bz<&2Dl#Ny7PiQPu1!bWn&>CnHv>n<5l`!D!50yie&@4!U z(8bV7Xd|>8>i8Pv1uBOsp+;x{v=Ukm?SN8DI+Q}gpb5|{Xg;(QS_5r@c0t{kl;{r) zho(R+&_ZZAv>w_Dr9Q*>A1a3`p%!Q%v>aLsZGm<|Jw8i$gT_NOP!?JOt%5c{JD?PU z>7LLaXgpK{X@I>1S`BT4c0j2$gb^AFO@L-W^P#2C8fX*rF4U1hc_}mus)XvG1<*2R zEwmZh33dJgX$O@}1tatLx z@xs6-k+;UnE8x78d>N(z!Qblx8JyWr^s7ild|nE3C#mr?IO6s8evcV#{88SE#)ihm zOpRT0p=1i}*kk5)B^}6`2F>A7PF#BUwJr1ojXA=C`F#qWOJ=$9=MF>6U{grCdpQ$S zSTX9)dGj=K#<#PaHBL?#o@bDAT|3JuRi_xE{;M}jkyF#oayB|SrCtd5G2}cF%W0{s zZDIA8trN@OUjm8W^Yn9TobL_t*Yt$5lH0yMCO0qnwP!2z@dGp1g8BV8y1p9dT9Ij< z-c;LY4%bv2z6o7ha3?pO&+9vXKl=K!dPBaN*#GeO&{Uye^ZB>MRaoPLusuuIei4LC zd$Pw-W)-fLglRZ##P4}dAstkf`OfRgdG5MGAMV)RtPkAlOzT3!;_Kke>gZy=<;sfw zUPf5nSDRPnbpugTeRUo73e#M|vkbR#=Xn*T67279B}}qcV3X{X=CVJ!75gF1{+L$m z&vo`aTCpGM?A1TWlYd^>ph1JqbN0vWZ9ho%=R12KaL?WB_6WZkrL|Af*nhsq%x$cz zonG7G?N!Bw_9}ZiM_c~Ny^O4;nPYcra2HtU?<)L#2Hv}!ztT&6meAkoyz|h-qw!P@PhDNZZQ2e!j#Z-A z^@B(4QOGmBq0Zd_E+%`*La0j>`TuF$e5}rfQQ=T=3jN5`&zWr+=w@4PRwHBzOcUYT z9Jo_^oam1CN|SeSHyL-A@ceVU+Jmx`an9TjyCnhAm01(nrCn73tyk9%p}>XK2y5PNA6d>r|FG|(oVZe0lk9z5NrBj&HEuy& zApaHDp?!aGRTf; z<8{0WQ%^|dTElPGPmkrRdBhgao|w$-de=4XB{L{jk^=TX`u4KbP)YhHQ;b?1~?wn-2PSIO+2HoIhR~_R}~XR zi@k`aGqKUPRIUFxHVV5PKc-WPSD7&Ex8a}GnfQ3JW59GYHVk?1F}wpKUOSFU_V=TP z_X@+SIJIN3`0VU3PM?BT?GtTzR{g)F;K|^}jUVR`7TrnL3z`-AXU9|NR4IHip?}XC zcd67T!Q-)e0XzjEE$)!`dKtHX8p+Yh#E-@g_d`9_q#r z>1Z4xKllb~jPf4Uow;MN6x@v83g-_&^@n~8jsxEUuLFMq-T?j#RNV3%C;M@58~AVF z+u*msUxMEScYwbJe*+$qws$J_1OLEtIrv9#6i6P;jsyP_91s2(oDS{=XMq0=Hi3Ty z=YV@a`c|pGfgcC|4t^G-0A#-a^8F~g5mflT2X^9_^^d7y@IA0A*r5aMA;@~ZR0+ts zJab2*zMsk6g&^OXvK64tn!gb|5xf=b1wII#46=sFtXcmQSjzLif~SG3`$_cye-6sO z?I2;#{sHU{b|($a1gpRSU?X@osClk)K)!98wdqfSa{rWjehwUhJ>PXTFPr^3cpkXT z+5Z|8|6f49i)A}dfG!440*Ui1-@DA3^)aCM#(`sae+@_)+{3q#)RjDc$l2coUd{6Z z;5Fb=?mg$Dr>^Ds4Nz;ziGA{*%JdLO<>74dlx|+ z*Pl*D{c@G%b&yO3H){GRKjwR`(z>^MR-HDB_v(u=482z|LD$HXj=L&lR^@Alr9KNBuv=gW^l(A>2>| z%{qUzn~(5(6!<830;u)!iYKj)mzG)||1aQD@E(x*Cad^b27Uy54tyAV8GH}u>-z{D@ zuJDvWG83o^6*o%nPUKseT~KGJgUzP8%Q)4a253A~11*4-LF=F`(7RB_b<}&%AZRR9 z1 zf%M^uz8K1zP^~jpui{#;f@JwIj?K@>cQHNQL1V`OQ5|aYWAb>D_33vPqvtcY=|tV^ z$9$?|Z5~UO@vMOm z^J>j|clsZ`&tc;{ohmgx<+iP_8eZBhQ2hw4d)N3vV+rjy@omUGYJf4rp!L+-+o0W0 zx3AI$LFG^-R0qw6mO*QvEznM=WW90z&!0ma1FHXhom}H&^$uj-#FnV*$yBC_E1*uU z%sanfqx1W)K*r7R%=I!ylJ z@>~aYGGi0%Ngk9_o~?dq)6ax8r>r&Nt~+bweBS?wi7fm5ra$?(9IAxsp#Qg-jws~Q zUt?{V6D*kDN2%2Mu)xw-x%Af@sN5;M;`R37dY}ER(Mehl6u$HKLA7?j^ZwTHgzJa$ z?~&GAX(8)(RM+RP-|>Bb914TaVtNs0p;f;P<~zu z%1`Ux%f>%ne|`Tf7%&Rc{Pm2zpjFTYXdAQ}`ltE75d$3whOhr?T#$|pg7!h$W}Pie zl>_5}-=9R@y*`>(pxo2l?z=w%c*Cd-#I)F`a-5}PXI3=ieBLqEgDP5ezu@#*Uc z>UL94P)1GpW{i~Wfjx8U)DxP|IS%R(mE|(*Y&;}?r@G4cW9J6NYr~Svt8(6*^A&uV z_I(nS>5{L}2Zzd`N~jK+5B<~p|1SoVUw!#s=7JxVnO_#Aiq5+{x&JpAe(`$yu>V(R zA4|nHzmMhhquDp6vjy|J9sSDl^gEDogTiO~NOoR|`EFy}@YVeN4m=g@C}X3Op|a@B ze<0(^c95a|i~3YHP2#$Nu2VGktA2|5FZ89ThvI#=a%bZ*dA@^s&CGXPYTV`S#kcX3 zyoY!U?v!S>-i!BEtM6jNoP2Njc<0XdVJ09~-*eTM>14iX>N|HIQ-At;uF`&vNtMF4 zlsat{v;o=*?SeYLnM##HL!o~f+gJ2wI&#K_G0Gd>+|iMF%x?wrzZLW9t7q3vAIT(~ zTh3M6P;b`|sV>}vE0aLZC^9}|M-sI;Qc`3f9-TyvCw{YV?#Z&fLEdb z1NP7^f1DSNC*2jmw79Wf6Eid1`a-R*4BpSFZ>gP~8JM^2BZp^Fh8vk`TjmX%kZGD- z+uTefG%L=+uy9}TUVbEwTiMrP7jn9|$lrf*ZA)!kZA)zi3H#dH(k~$l+B;KQmuVs_ zx7JRV4|ZHw$oTgN+_qLXGe2oeST|?MJCFLjQ$XKQc`vM+JG!yxaaNT1y&ImV+d+mO z@3LRsn6M9g4>DGH8H{&FR=^}J_dFHx~Q-<_*l zs(ro;K0TVWS02dW&CIBtQ`h2RKb}_#d8+H`BKv+W|Ah9VErqZ6pQwn>kd}LFGO2RIu z_OYZ~H}s&=eT}QcAMrxL`$_j(yxb(Q@F7Z174`74TM;c*#n&+0 zuZ85^yHUQB{gxoUW>+`eoCzl-n{NBT&2=W!kk%v?l%Xz^U0Nuye&<&x93PV zy6-~o7W|NV??!d9yb5)n9>;jp|7csCn48{S@6xVT*|4wiAbLOG_0DV0NbzV7Put|? z*2TUZUF76;v*OL~hmrfRmrGh#*gD9RkcOth@|Kr3%PlBaX$rd)`Vr(kO3r&p-j zD&q^kNteawITW{Y=XrhI`&N{v%(sQ}!**LuO`iP)vLDQQpC@DcdLm`Lh_ zyERT%)$IyK=)SeOUHRJkGl+1!hr7z}+Oq8X386pa­MwmdCC?f~4Z$IUIyjj!iJ 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

99IHt7$dOEp_1# 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%0DQGS?Vj;!bo`!erP+_*eWCHNamk!e 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 BXTbmf literal 0 HcmV?d00001 diff --git a/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl3-wp/Newtonsoft.Json.WindowsPhone.xml b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl3-wp/Newtonsoft.Json.WindowsPhone.xml new file mode 100644 index 0000000..65b7c6f --- /dev/null +++ b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl3-wp/Newtonsoft.Json.WindowsPhone.xml @@ -0,0 +1,6331 @@ + + + + Newtonsoft.Json.WindowsPhone + + + + + Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Gets the type of the current Json token. + + + + + Gets the text value of the current Json token. + + + + + Gets The Common Language Runtime (CLR) type for the current Json token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A . + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token. + + The to read the token from. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Indicates how the output is formatted. + + + + + Initializes a new instance of the class. + + The stream. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor then fall back to single paramatized constructor. + + + + + Allow Json.NET to use a non-public default constructor. + + + + + Converts a binary value to and from a base 64 string value. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Create a custom object + + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Specifies whether a DateTime object represents a local time, a Coordinated Universal Time (UTC), or is not specified as either local time or UTC. + + + + + The time represented is local time. + + + + + The time represented is UTC. + + + + + The time represented is not specified as either local time or Coordinated Universal Time (UTC). + + + + + Preserves the DateTimeKind field of a date when a DateTime object is converted to a string and the string is then converted back to a DateTime object. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + Converts an to and from its name string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + A cached representation of the Enum string representation to respect per Enum field name. + + The type of the Enum. + A map of enum field name to either the field name, or the configured enum member name (). + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Converts XML to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attibute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the Assembly class is used to load the assembly. + + + + + Specifies default value handling options for the . + + + + + Include default values when serializing and deserializing objects. + + + + + Ignore default values when serializing and deserializing objects. + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets or sets a value that indicates whether to preserve object reference data. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the Json string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to convert to JSON. + Indicates how the output is formatted. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XNode. + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XNode + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Represents a collection of . + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance using the specified . + + The settings to be applied to the . + A new instance using the specified . + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An interger. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current Json token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current Json token. + + + + + + Gets The Common Language Runtime (CLR) type for the current Json token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Represents a JSON array. + + + + + Represents a token that can contain other tokens. + + + + + Represents an abstract JSON token. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + The that matches the object path or a null reference if no matching token is found. + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + A flag to indicate whether an error should be thrown if no token is found. + The that matches the object path. + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + 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. + + + + 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. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + Represents a JSON constructor. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + 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. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Occurs when a property value changes. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Specifies the member serialization options for the . + + + + + All members are serialized by default. Members can be excluded using the . + + + + + Only members must be marked with the are serialized. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Specifies reference handling options for the . + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Allows users to control class loading and mandate what class to load. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Resolves the default for the contract. + + Type of the object. + + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + Provides information surrounding an error. + + + + + Gets or sets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether [default creator non public]. + + true if the default object creator is non-public; otherwise, false. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets the name of the property. + + The name of the property. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets the member converter. + + The member converter. + + + + Gets the default value. + + The default value. + + + + Gets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets the property null value handling. + + The null value handling. + + + + Gets the property default value handling. + + The default value handling. + + + + Gets the property reference loop handling. + + The reference loop handling. + + + + Gets the property object creation handling. + + The object creation handling. + + + + Gets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Represents a method that constructs an object. + + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Always include the .NET type name when serializing. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Determines whether the collection is null, empty or its contents are uninitialized values. + + The list. + + true if the collection is null or empty or its contents are uninitialized values; otherwise, false. + + + + + Makes a slice of the specified list in between the start and end indexes. + + The list. + The start index. + The end index. + A slice of the list. + + + + Makes a slice of the specified list in between the start and end indexes, + getting every so many items based upon the step. + + The list. + The start index. + The end index. + The step. + A slice of the list. + + + + Group the collection using a function which returns the key. + + The source collection to group. + The key selector. + A Dictionary with each key relating to a list of objects in a list grouped under it. + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The converted type. + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted type. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted type. + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert or cast the value to. + The value to convert. + The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert or cast the value to. + The value to convert. + The culture to use when converting. + The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert the value to. + The value to convert. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Parses the specified enum member name, returning it's value. + + Name of the enum member. + + + + + Parses the specified enum member name, returning it's value. + + Name of the enum member. + If set to true ignore case. + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Gets the maximum valid value of an Enum type. Flags enums are ORed. + + The type of the returned value. Must be assignable from the enum's underlying value type. + The enum type to get the maximum value for. + + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Tests whether the list's items are their unitialized value. + + The list. + Whether the list's items are their unitialized value + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the string contains white space. + + The string to test for white space. + + true if the string contains white space; otherwise, false. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Ensures the target string ends with the specified string. + + The target. + The value. + The target string with the value string at the end. + + + + Perform an action if the string is not null or empty. + + The value. + The action to perform. + + + + Indents the specified string. + + The string to indent. + The number of characters to indent by. + + + + + Indents the specified string. + + The string to indent. + The number of characters to indent by. + The indent character. + + + + + Numbers the lines. + + The string to number. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation event. + + The JsonSchemaException associated with the validation event. + + + + Gets the text description corresponding to the validation event. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the identity. + + The identity. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets a collection of options. + + A collection of options. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the extend . + + The extended . + + + + Gets or sets the format. + + The format. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified id. + + The id. + A for the specified id. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + diff --git a/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl4/Newtonsoft.Json.Silverlight.dll b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl4/Newtonsoft.Json.Silverlight.dll new file mode 100644 index 0000000000000000000000000000000000000000..7524eddea540ca015e193e709a1b1977569856d4 GIT binary patch literal 299520 zcmce<34mNxmB(HEUiGV`yOUIRr>d7El>`zVRn?V{M(iZW4g#a7$da%MhzcUlsY+aE zJH!n~42!#?fSM6R+;AQD755GI4I(q{&N!~)HX6R)|J?VgUUfPFXTI<2TwmzX$%=N${fT2Nq@CUHH znam^l{LItq?|fvE+kF{t)j(f9lereE0telDJN}jUKPF0#aemLy4Z!G^o5}QNGQdxG zVL#KJL4NT5T8x=ZFgqQ z*qV9O%^&*aH~+A4_nXE)x%AtME?9Bl`Ja1Y_11wyf4Sq2M?Up=JHCGKH@^Oi#`Y8L z{>~rX@vwEzxbe)_?s@2+|M?Y}+n)Tdxnqu;zVH3v{TKe~H+Q}Bs^8td>T5Uko&DOc z-}bBj_~zNqzT&3#(ZRp}=ocT~d(w{8t>No_^Obw=eAi?C94!Cohwr)RF)O@TSdgu) z_WU{XT<(RB$YhFMC4{?y=eH5F;vB`x);4&va--9LbY32%m*YG?93c8y+#GH#Gr2y< zd>Q%Z%VbJ^^k`rsBc+kb))R+e#VpX*@gRDc*Xf@%tsb4=>%jbaf^(Sy~z*oB>gl)`|#HvMNsP-ZNMlZRB``pyE9)k8*SdFExJ~ zEcFH*EZ-%qJd}^l2hm8meoCnvok`r0tcz938nYZ_!+v-cVd2^Q6vD>@5LAf?syKp5 zStF)U*)jwoBj{}qRED7Pf&>jg&`5urSHBh7a>_gTw znGxFkPjEq0TI`3HlB6;0%Ejvwcs0)W8`W`ovqkjD)FIwV>51!J0O~nG-1`oiT(%ND zku>Md(Z;h`i?)891^AE%S7`T2QI0Odzt&|GgR){ov3`1az{MP_AD{PTg=oE>uOr^_ z79Fx2uU$MtJ$MR+Cl_oP$Ol^o^X2vLcfoNZANDI-YLweEX84plJLOmEeUrt&-%^tv zJQ8NmYb1IQnThq_PvODOd8mL4Wyu@|7mnh23eS-|$HebX#l3Uh^F!hb_G8?cH{*%* z;KV?z_!ie2rNyTB1}j4aFK=4TwDcBxHBAN!f-OV2!j=Kzn)>(x>SHnLW3f{oxyqJ- zASZPeW3r7ro?ik{>qk-{!+hJ3QS*xbQnPl$+^r44u}+x z#xndQ87?8iB`(7lL$=g!nUaarL~WwBf`9%tr%=-RWTa5amkLvUxjtxhSt>+Nrrsl@ z6(u9pbBXyPWHAV-r*ib02B;bvDVm3o_9Db?&;n~O3VZ%^9XcQVJ0yEfMh zub{v?)m&=y=aj_t=jM5v>(Bib74+2bTeM^U`pc?=&4JcM0NPI>sCZoaxPk6j-IC#>8_+x=k%M3$cVZS0$c^JPf8%<6 zwKrj@nq#bEi?6H%*{oho_$BXW`_ z39EZjLnG_`3@tgqV?$-dOkyQ&lKSs)>sjT{`aDJQjE${tsdSG=A6%t+IFWo{PRTC@ z)uF8?(tIsjWr6r+>OrM8RvWLi7I{59N!3bFK}in|VFEM;2Ah1{z5_R|TewLaEM5LK8aDBY;yGVj1ec`Zy6&9y^Q zb;)$ot1gMNoKlw05HT>XhZw!LpJ~K2{Q2^XqgMC*Of=BjdXPKB=2yzmrqS&MS_!sGF|&}E%aG6+^oFCy(-Nm>$B!qvcO zeL^zceiSc7F9?sqg>GS-J32-$Mh)Z|)HrPdg@9&XVaakebs&bP9B0>_rEutwZ05Jn zOYzaYBA^(IZ9UNgw1P*q6s%}oHuJA|pzCW1U34ySnXE#`=uCP_1>F`fK0WMJOI~#_ zd?c8xz?E9-9?+yJDts2Cw5>mI(6Q;IWVR`rFmSvlv+-#V&MVCUP`V&1+b(pXmL z!OuLLzMd{UEa*F%=++QfLwl!LC<9-qf+4V7;k2) zi|TM5J4C793PM$4ql?o!fhyNBJ~Blz`}1aLUf4+V8!=YWfDXL`TRM=bJbj4@sgmy- z`)Xpl;L}~OAMF$Z-vLjfeTc@m#Xg%LnlAO4%?u#LBh;%u!u%kfx~b7J0L-A0Gc=vd zlX+<6ndkDT@xFs+F_k*Tb287_@&kJU?slFR#?Q* z)z-W*i#DJGGkzhd9Y1g1cGLI!2t3+N0Erog1s0N9UkHf51!{@++A+K62?7F5) zSa>RNN06EDMA=39y%3&bL@5n)Mh$B5Ff3DFHryXR4kYCez7$7-`r;UXml@tjKyOhB zcB!XGh#H8AvVM1j0?M)516Rf5qH78Rxv^>NKpV(s zDrUd5tQhR%DaZ^{<>*z?Jsjw0u{=;7%n#KUd9w{t71qd@m%XX5awquL(NmBv8$FwB z*NkM#>%UvbZyo7proCk#j`Gl8>TsI^Is|2=-?Ok3qX?r3xb88Dk7e7yrJzlH7HeLi zvNb#r5=L@8$%)>BARkN(tdxbO{Q{B|X(A3yKBDI5vpe*NT+#;LKn4YCT1IbS>p(0M+4Z;D~497@|Xiq*E0~ z*5+W2Y))!x6}8c+V8@GuG0j{*x7C=L-@3jZe?1q!VdpX4?jnJsI$wyc<3-{IzA4x#UO5P(?3JG&&P}<>${(1!Q_ORL3^!NaCt$v^@>k~W z6z5#vP@%l?*8&zQD}Qh9PBE~yDYl^abLzNdyE#^_7IMr30M+RL=An~;cB8jH!^j}R zfD`S)05aQdQ7G({<@OWt$kq}BSs6@%AbL4zvYr+sf?9FBc9KgG(aG7sev+KSEebr< zYrhiUoDh29nF7JY6L|BZR}tVRNG60t@aUg~geo>9=f_B1EhGw#k(}jR%7w1d%niA< z^6FLPPTn7`ca`5f1e}}z%)=tpn0lkY%gPXKHl9iC5& zKd3FL4v2(*NRpWc0GxKTm?vR90WjDFmdD7X5m(O=o-B{YQ(siZo~e2IL~XLRtk!xS3d~{KMSmQRSfAoC=O<%$;3zTA*J5#6 z(SD8i4=uDi{g$2Stvn~9n6xW4W2J2>z0(bdoBd&)Q(-Dw=H$54W_)vnT#vdHLTAfk zKp6SCNaU?Z}S+7Va;L`t|zsEo#ApwWj$zx4)q?Ch#GS(?f& zE!J0hzOxm+hy+utKcIe5*2Q|xc^P#E;XetP#+P5G?^-5YmWDa)Fv!mU2otP+5sJ*& zJWt_~LGih`G@Z=bc|OJS9iIDme#RqJ@h2Yj*K2uZ4(G><82tt_Cz$uy@@~ZIo0%fI z7SWf|{=&fC-5fz~cf*DkOC+;%@!6<)Yg?&Cd; zT7&v|p2mnl{fwAUTN#XQ7wFg+w2i{_Nd*Ppvl&UV2G;{XE3{46>SDH z`eIj)Bx4{Kgp@4M3Pc~BG_}2)*G)~vGp=0|ngK-pDu8jtUNAY!yGy^kIoUcd=*i8E zHL398RgVA0y<%X4?l_ADFjW_W>X-XP#R9fiP*XeeM3dPX=h^(ENlcrVQIZ$MMLv_b z%z%)5i_#la@s1}1v6US$6|VqPimJ}+a;FGzwS=QeV)B>M7#mfYR#B(2Mi)}!^tP9v zBg*T46Vv?=FoE#_ZIxd$ti(=ZC9UXuDDJ*=0x<pHz&Yn=flrT+PK5HJALKg!#m`2(1$;`>k`ws9-3g&x42za-o**1hG$ z9T$@#c(p6i%La1Q;`DK?tH|4Im(J9$F?MY1H$AYM!EdS;OJL4&YRq$?<4snYRk}%R zqvlyYJ?Kw1^IpV|E~t+=U`6vY^MAhl@iTKHBa_};nzzPB9^AH8xhqWnGhRwwxGTmauY4v6oa!UqR? z@Ew%kd)ET^-hDuP?-4#Kpa^^%AfFM$sx*Oo zRuF5w3FLEv+?>w+^MY6#P2y10xLGEUFADOybgC~2VilIe`LZBZ!?AYpx6_pR8bh9c zt30m${O!otq=2?CW}~cHtH02*{=-bzw-w`L&E+fLzG}5M>FWCezcJ#6?_ph!zVl-w zb$ut3zDkIsNFAFhuc)uwA%Nr~?=cicK2}_}5eisvN#`qZ@=Z8X+g2_pKmM!OJxqd8l;8F*>0}#8^IShoP&M9?HsdGx5Q|g>j=akwQ zUviu;!FmXCsq>|Lg*3+blCi#&pCD;o>GMjTS9;@r$yGp!8rXR;-M+T2GJDNNG~a-^ zoxS)GLV}9&!e`?4E+G3r=9Hq7GOM_^Fu2n=%nNA%{BGxWipjfTdb7M`qd@VRt+8Sv zsm;~}DgRp*^q=a5&lbWq$|wkFZkqCjR~zV@4(KRyf4*S;+|xzcwO%NJ_rf;6T7VQ8 zT7a~oqOUXu_QShf62?1OuzIudXp>klXP`}cF9YO$}d_zZh!?4mM!r2&??_iLeA ziq)SgdZS4s&##!N%8_{vQKSz&f7kQSH;j4=({27rETLB)G0^%&htb58RwU*PshC0_ z)d=`nfrlM}_xh_qpg$qGbs(ulVoPlj`^Hr4vjD%=ff0+oio+r3>m2ljy-@W8ptuI; z3Kv&oNcRI}}V zWrBnj-DX#MgSf+qcVZZIF3np>6AE|ubb6ddE*pN8bZgz5ojo7*Z1^;FMXOrHp&q1k zEZJmtlHnVz#fb{ddh4{_$kyd8g<`iMB;IRa$x@aVX8vDO=B>MWQ`47ZcNgNRkQiHJ zJEIr=C-`jtS)DRar={#Rbe322w~ykmv_F&!q9GzhKT=G1WiP5gH`hCvbX0F_ld6`W z``|_M3+W2w=#KY|yi}X99NpH<7lZaHKPEds)?L*w4Q4vEdyd0=gSLzLUt`$+PI z<|JRYu_haRlL*CN7elp4dj20Mjpei`>pN)l9x`^`+DUgSo@M1n-y&r##gt$8cTXX< z7TO&0@19AbPHRQuZi#d!jLLUt6xQWyAR}{#fi310E!g%>)kiuOp8my&pgSH-Hh<(i zW)`8V=}gb-OTfj_zZ7H05R=MqHYFq$nRBeHwbp0a!B?taVF&N07%yXqa;X)4|NrF;)j zU0rfvbx9MmwY?m3VfC2l{BWNgDPV@#&9-$Nwc~|FYA?LUc=WWa8v=t*5`|4@zxcfH zUXm~~T^QdU!?(8e{ayi3yAQ9VkUfo`cC4^2TqAmGg3KD ziAlTdtHk!vEGZ?{Y+bXYM;@KY#&9}yK&EzPz(g`75`+2h2b8GMA2ir9m+Q8->Em7b zEqH1LJM~q2j;W4&;e8~uy<|1Ex`^2^{NFn82SoAjimLWM55*5V@KfFDqluOm{!QFe zdwMc*vc4-PW3imX(m<(>gPvl2LtO7wSMNid;8E?4WQVhMq$G|u(E1bni%r00c{j^C z)ps))`qA^O5>P8z1d5U z4PQj#i9Sr_`!1>r$fpCMokX@anKe0@w!D4}enubBPb{B`x!qD5H|gDS(Fedi)Zs<~ z&l`M%(Y8TYD@GOf$p~C7>}GDqjE}uluYtJQEBxrEpS>`Pj<$3!B;5e%MvH9y{sq}o!U~ZZ zgF)*q)!%;rN`l5ZL7$x;#1KA7_Qg(E(7L65%qUs3S zn>FF^ASz)npBwh0-w}0fVa=4cHaFyjRf%G*5PpVsG2|EG&Qf~zZt~x#{H?G2e@V|) z3)4p+8lq+(9?6+#4tvq>MOS{!)F2v8{5AMskgtUQO-MWjTs}<+6ly#U!ngHP#@1gY z>1Pou)~vQ#(xahMnw6d5e-J|Lon8Y&H&I4!mi{H{4`-r360~Uua9L+U1zj_eV~gIO zfcM5~onG@2XfJ0fez;G{^vvjD$(DR zkj&~k7%^w3N~3!NR;Yva{lIq$WN@83u7^H9Yo>B*9iE|}Fq}1>HJYs(MtXZFHf2iZ z73r6hC%#nq19o&Vx-OPjE#ssZXT`3+?C7n`=;PuAkxwW`(E2%omJ74I+!NGFrZ=?5 z+hZr%-qGZ2qo+MSG8mWqSWf(U;M=qi3p3|MirNJe;LeGe@jMKHzn(W6c$x>m4GF+J z0B%eG=0ShBx$TiwU)K@H2>?yUi`u}8H?PbX>9z~XO%XJyVpLSr&LFvrg6pss@a&5d z|C=UBuom9PxOvih-c^Q98g9WT-E22VXZN8d%!2CubP z%=!%yQromRGwS*rh9T)!1|#X$iQZTG=X5CDbozCa{c1B>jc@7nfL}e)dD&f3^IH|+)$oUWl1NR@t9hxAZrSKF z()1my*V8&BN0S%B(?!`Us;hVHqNzcjSmX#ts}^H;c!*N661+OxqWEjEoQ6#e3srCZ znYYqh*HABF|I5U9&z8=L!N&6mnYU_&cC-!ebV+tn%VDVcx#$VX#x}_YB-)Rd;sOMlDc!>wo)X*O7YPrd+VPeB@NqG2KSN~gGb&{pLH7E~%Ip2n`l9xI1P|o0(U)*@^nHOt zGRfHT;lw{d@xyl!SX{Z2ciV-{TvOwy_My=rUW5D)Y&d@kH^zU88VCSM-6P{qLaVyuWYL$H9V)=NqF18$M2QD113e z#FUD()b zX=d$am!FSJok<@0YrPvHcdDCceMCNW8?DdFCk@v6hI}uV?`QJ8LcYJq$FfqkwP-26 zSK(Wg+4-J7{`b|d&F@r?rBTwW<+j}5$;ZrGCTg1@ln%(xS)j_=pP7aRWQzT%4Fb2J z4ZVRq2Nhczh;IVr2Id&{lcR${drD{+6{%eMTeK*1P@ZBU6itF897X5OzD8uox@jH) zdIxJE^CD+~o_6dvU7&uNI%jNu6UjAJTnD;%tO)PiSdq(figSw4>Dy7?q`5gxLrzH= zkh?U8D~%#_(wu5(Q1q71L%L~>NYXr1X%wN8<{vE0YvVLC-837MG^onroFa76Ji^kv zE>44fOlV^O>S%kI(kMbFjT&?H5`cMGum&uV-J+>a&Pt>;F=on+81T9qwB?i zYFGMGOYAC%))uvn<3OX(xCVZ^!3#VK#d`V)r@7_#>9F&+ye&KtXN zD)Zx57;&gvv*IqC1{O;f)6v&Msq<*3grt+KIH$ShN$x>w^)EW|HLk)x+$sdtVx=86C zZS?-3OXS9c$W2Pm&KgOkAAYQpuP2*w<}sFTu$&aGad5d*R>FkB4t0Qf`# zFb{xFCIIsQxGMpe2f(KifO!CXIsupmz-JPGc>sJi0hkBC=MsQ<0DL|HmOy^V1`HXWu=bSG%=PS(RVDMsSH+Lz-wYHsKdvq z4*l>)%3=0fgjJ?b@n#h_x}8*0g|a(HS3fj{z5^(iGIU~uCqouSN&(8zn+WCja&olU zMZ1=cmzCUZj9hCqLN^gH87wx+xz>7nJ5_IaPE7w)Wn_zW&W;o#R-?$F(HvyH=5ZuP zG>1PUR?!YXS68neVW)a?HFoyZo3#Kla|=Jb9kTgq=Q*!=-psXlz1eRs3iv-a=_-S~6l9HES@2y9_p=**H4D%2@Th z^@sC&$odMut2ZMu8NF^ss53L?5sSBVo8RNW=WS+mo0*}V3H*fhC4Mh%u9v@g;SA$b zfv;>H$8T$^-KX;i;x7Wu*f;ZRr7iH{$XgK^d0*%Fivv^(4)XCXr05`T??MJ0!n~24w{Qlo4ck7HwrMeL&K?Z%khle*BGy5Ld={&Zi>(H1l6 zXwhcG#(*XOwaNa>Dk^b+dUiKXx|Q8xFzT{#oN2#U?SpvI|Bu5(*OYv>BvYN*%OYWA z%vQ6OJ1f*9;Sv?%F5jEnFzS!*6Fiu^LPnHg{tB5+%%)ZxVm*yz^V4}BDxmZGGv6bx zvy|5|hiipfG%HpHf@-}IJ(ie*`K8m`Tr?HG?Z84*9Lg_kj*oFyM&4G|!k<9?P*Bbr zja<{@sKg*+$Gwx=3``k~Pp{$Z#BhHhJWIj3;hb4z3vJAisq1WNxe;o&V>w$(n+1;3jl|({y zbUU=4E!r!okg4@v>(fZSYjZ4ir=>RNX>dU-@v&v#qw&o%2e??tYaKb3G&0r#d#(-Y zX&$+r))6;s(abO-vqdzI&7=9_Aa*nhaY{?{Dv21C%XzZdrMWolxyzdJ@nuabk~^Vp zJw%qCxNwE(b@5G6&!tsYBNIqw?&rXEZctkhbZ>DA+}%xHYx8(gX7=Z#%iOCHdNo3< z5L9Mq{H-eU_`EXT1>*lpJr#B2CZu#+5oDFfWl-E7Lv4jCY(!oX-s&} zQi6~<2_pyd?_K&364bew_Iu*uD*y->v|Z4{|&}j^f96aL&kF`Uacr z-KA1m_tJxm+arHaUAg(i<{sKStbPiEfc1kxwb6VizGkgH6I9P{E)J@5y2#62jRd7! z5xAP9@-0q$;h!lAkZ=tl<(eO!i_}hS^jhPSNd?n*;tosgrrXyp*dXIxdr9A>huG?@ zblk=oUfql5*}Zt@#bsQ%{@_j-rzwk`gW^Yi%Ghkym#IWn6mE{{6eT7*CO6Lz^tVzi5CM>4Rwe-h}J<&4%p; zxH%i(I17ct!rUM`ALuZ%0^2Cwx|P&r*C9g>nPF;{(<8$~BtL-qI! zn&pM6N7iajTfZa6*!`iLD{&3wa02x(^|43(Ty>>8=UnB5X>SH=Y-Z;DcyiT4w%WCG zmjT%Y;5j^U^*n>;kl2rLjL4^KW+4;zw9Pr(nWx*!6V_LA)pK124It<9V9F!f6PhQ@ zFrvYCW%Gnwb(`B`EAjpxo?La-CHgO3LZW4OW>_rbct!X_q(m+9Z?TJNviG0!-Z<9_ ze}Vf|bj0>)R(1CBQh!=dy;LuM)XQaFYs-qHj$mxub{~Ymdae6O=xRjWQmRHIncW(R zJ0cOuK-!4&VpqgfPZ2SFK+wp3_$NS$nrNE)-MhQTjsSP#6`pSMPH8H4yOlx{ofS9w zt+aVm_*BuaPBr^ku$?Y+GfT0+?P-li+&Y2W)nII}N*9ZjB{x4yw8*BH+eq7V*tK|_ z4qHogJq{Tx7yW^Hfh*lCIs&<}`P-apMZf6JJvQ5*86|Cwo-K2c+FbR@)}yMKr&hxM zfeRb4;j@|E`YbP~#2RAbH9+ee{pmKmq+bgWu;SE@d$dU?ZE`j^-E{QtQc)>g(lf*M z#@*!E_8V~;z5r_G)ECzowsxt_O>sU~g;fF?g0vFV45Tm7>*N zo7{xOJf;|4qD)>$+Z`g4`cX0T@q%6}=$>#S*9u5z(c^7inn&iDINIi>Qm%a?e7cG} z9e-jINGTiNhvwFqR`!id_i5KqpLF26DUHSniBME)(_8Du2RQ7uh}oXZnHfc_Yd+cG zuGUP|r)#RW-a4t@6<6Au>x}%LN&)_kQS@Z0qFw)FlHm$QU+mkR4VT376lC4j$my!x zsgSiDjqAGN^Mja@Z?h!)BzT_ePi45Ldv>rrWy8O~!D9cEIxW+UOtq%D#KX&dbuefw z&NsL;-Gr9Aa}hEoqombXM9nN2iyXTC(9T%o4B&dGV|(P+SmaR*%bJJRPwfo0u%oPN zE~;6oT=#nM@qE@!O0Mm$sf96iI5eh7gf*=PLsI>b2kRWcI@t@t!}do zG)_-67IT|GWfue|_v^KO)~S^TGas|@Xz96`gm%G){|r0Wp9PLX#ReEfBF{3 z*1@a)KE|k>cJnx8$14`hXTm=nkaDB=$k z@dCfRZlLuX=xu+6hOgC0gA;zA!k^|dW?$l04`H{%x6-jJlvsNdON(RX0q}1Lz&yW* zj|gM;=0tnf?k%F&W;G`?SV0umtFAO87#NHMj3|l~Jpl&ndtg^VVu(d~qM}?7ANw^> z>qX>dn-&FsHrl{NZQam;e~od>bGrdAO#)m*-|cvG$Zk%;Y;5nTpI+!roe{tX^VFx~ z%wFF~7Xxmc4|r1t(0VIgcWHZkoe?9utKJKd&+icFyIOHf4jVG#8-dkL(UZgi>Dv<_ zV9ffhr<1NSz1c<4)|sL!lbyYG^?!~o<5}urxVkh%)=LB%ev0kN;cqzn$?Hn@dV~vg ztm67QcQ)Cy9?EVR^b1JCXNg2Ai-W2$&<|-wG4XNocT!Re>zrI(vk7Us zd698U!r<^>1gSsP9lW?VzCyL*ASW^A>skKRtypT&ExZjX(Uqt7kINW=5p1dXx zt}dJqhz)OY6tL+eVAyDEQ0w|&hlJKQ6FEf*O0H-B z0-dS-959ftMmCgR{7dIaAb;eMiu%H}@5q4EEC{lJoScGLs zq)S1sQ!ln|)eos99<5z{muKdC{G<>hi7q4&3jW`yM|VoE{f}Tqj2=cn)WScKpLvIn z<)b!loOj6PnBJ^%Zj4b_IP1YYsMyG{46z+gE(#R!4Ch8q6RJYJ$vwtc2DFxBg|U== zh&7=YK9iruP=FQlDtv~7*pJl|_H!IuC~$Bg-k`|Moy3@0mWztYV>B1#<#M{nJT9qy z_ole%cuZ@g&XYRcbr;mEkjyAjr7X^%<}!R1N2QdRGV(yFFWc0oE{NYO*UI!Lx6``d zax~ka)IlstT(*ngN@eR|D?8D9;5|vL7!|NuITl$8d0k10#)M55x{|!fX@0KHH)$VkgzblOwtju1-`bvJ+c8xIQAluXoT>!Tq1`vj+_r~fM;vt# zU4-_}=@i3bAk?+DtlfEVnevPEMq?5EL;IoP%VvIR{#7qYzJt-ZoRTK1R`0c+Ma|5q zDQdvlyqxg>j3A+MS{*H3aCc<VV{ZFM%GZ_QY4mzZ;vxm@-;*MQk9EEQ*1A98mz(fnNXnV9GCtwV zUN=&D;Ys}J9PqKMIA_c`73ZvQ zPW2e)YVAaX<)Ed{K3xGm>epylAzJt(3FX#Wn+w098(v)~{3+dV$m^!RB}Td&pc`d( z$~&oB4qQGJ^fBM}L?2&icq9ZN9Wq(!YfCOI-S#$H}-yDSiCO zwx8Vl9V#&W)wX@pmq=f7>Gct|@HC|_CG@{a=}XXGO6c!)tiz-nb}0*9sSrLwDTm{f zbXmhB8%~lPN#I&)y_)OBb9uln|y@iBlD9xH15k2wLba)k4to`l|{-=5?u21}L_f~w#`J0@kdLDwT zwe{8bpO4?^_gsbne_-wnVjbn66|0hz@45vA87j;QtlMU;NfE0#E!ov zG5GjU(0+kp2xM>>lIr?QO`So@KZ%6H4)a>=US)|fxb#~eei;XSZtZ9%T?dy0Es17T{OR|{N8W^GPO)_^qr5WDiZjvL- zF7d9_`zUVCdy>ycKL=JVqjTB$6vH^<%$^P9wXT3i!Es*49}@Qpab7a3CVAy`gcOu< zUe44S7x-eU4WDz6TPdS@K0iDWANB@&Sur0Dx%8Dx^>v}3t4oev^(IdBp4QdDx?huj za!qApt2?R9@qd9i8O}8lF$1%mLb0*wUGoa1YXAZ*BD;ifdEAW)t~`G9U&0s+2MO=Y zOgh5uOAE-Ca>MzAf%$Y^17R-%wJ(Xh3go4fabE69q9iZwhzS}O`H|dc7qv1{tZ!zt zb{$@Z2R6i=qRW2DJlqVfZVx}Qs2p2UAxqHWrmKV z)v1Gt{nvrB&TmCnsE9vM7|Ad*)Z)gEs^MLM91Ci4d_AOJafAd}5n|!`$~^it`E}{V6FGjI&IJ zN`rhp5)xx=FIjx-I*%2jcMA(wocm^d!V*)E|})GjSowZ z9$E*Hz30&N`E=4D4ZJsr5-e+EeVFWGvU>Gk+c@Vpl%KwY#JIDb2L} z>Pl;Fwa)tz_pWyN2xwzs3~m2OtF~EU)@HU-5A|B-H+yP~B{vss*PBs7Tu_^hJt;k@ z4}-{-J_g=rfY*&YbR{oV3rz%_>EeOn$bRuaab(qy#el6TZXLxu0NA(Z0OkR(7geg5 z_s8zv4f8qM@%xCU&*RlN882 ztGH7jgYWQ@z{?c)&k7XC;Nd9A=Zusi7?7K-?HBOghUd>9Dl}!a?rVR3gEOr%`C)Bj z;#)^p^tL0L){T?=_cvN+OkiQi3O5yY0NVf_iJhN zJ4y-R*lC0IEh1bXgX_D$b$xodt~*IWtP64OI{n-d87d6QqK;?Oc{n3k6#zZrnf>IM zlFL+qwm-~C=RoU&6wwq08rl6Z)s@0GKudHhKO8RPmv0!(z7e;&cY1)G%JO=A zdZpaH9iKj5_9oo9JNUu>X8GSDKav=}6%YNrZ+p3Bt(_=2-((5Mte@u`I@1@$?oV)8 zh{(*aP?7PLx}0W(I8_P`7y^ji#?Rc_`C)BPC}#$gh9go6yptch+;Z+6iZLsCHr)<( zPF>>N{&0Ma^~BcOHob+bV8h%y6?@F^Rf_k1PYGh|va-bSqnqHrrWEfY_T0ObWZaT) zB!Xj9yz6jwagO6?GTY11CeIlAM2vmU)p4pgiRrqJdf~qky?$Jrm7_d*B^l1WPv~a# z+c=0|c~WR66SQGWam)#!-SlIf@Ce^e3O=^V-rNu1<5r$yk*_S}(%*C8o}Qe0&7eiZ zjM_x|gE&{2et$G!vOsr5mJ zzFOuT?Xve+B0czI=Vt{)bnL=DH(BF0Y4o_3OH2m4ayln5tzFp>83}=weoYvlPhqYi z9k&%`6=h+G9)A{PtL|-oh{QLuAO}xpW40=Zf>4%!JH7_@S;LlAj;XjCIc?S-2)PS8N3b$T|ubAJ;$5Um%X<$ z6q#(~ylrx8Ui&LV+=WSjOFMRqs#`4DQpQgC4WLoYFfX=`#60jvwtITU%yT6B;Wacx zI8g8ydO5#2Q@;snEI>Dxc#Q!D8Jt4o{9wRduuAPE4kzarW=Fv7-lA6%+~lJ|0@X$> zL-Q&>&(V z$x7e+Gj6PJP&u8lqQqIac_Ru!Aj1!Ax#XgikLN zpF-Ljolv6?l*2plPOWWyx3_8NENMuC4w6qpe1+A=ons0YBKk@IN z85(f&d>H=id9GyQ=0g(b$%-U&@-68ae} z&&U5p$DkiSc=}<5@6Hw%7&mIr>&&N5LzdhbVOJk2+x6YN8R_gN?=^?@2-E?~CM1^dmeKi zIB%iaH}9{uzipZCSJy183JxTD_N5P4Y5Gg;xdb?`6S(aBssN(CK3rq<7(JI}lDs@Ata&9tiKe>Uvl)c1#fXIC{6dYoCBe?Pg5~ZZ+}^%>J6TKRmS$O>SY5W;$DdH`8bBg4V@V3sLH0b4<+YgJq|mXW>Wky0sZ0@c znGK%Z7#RM9dRDH^3w~^;~Oxs#o|lbxz%FlKwJ{==SWMpjU}*yPwyt z24p_`A1Wcnx1Y=1VQY+sz$n{bW_!nd+cO^iQsGZv)A#vQ(%e!R1GCOwmKE?y?^%Mm zon0Ix5zt;RBf>A`&$6HH2Eit#n5xrDK^5PX`l6)0rQ-?7Lh;smemVTD2-2CBCE$HE zc>VTUU>HWZZ1i?AaIXgj4jkT>~g+vo{w?AQF+e(dfD|grPO({M!#<3R( z4cq*qJrrzDo@Gq|Sc`(;9!FY=llI|ycAi?%FwAOasVfijcYWZP_A6U4`zPeE?N0l> zgQ@Z0Z&Ssp0LKm>*TVHzjhw) z-VQeL?rpfSO;cXSyZd9_-3eq)KgPR1iFeuqvx*fVx6Z93ti|<{fu7&-oEN*F#GUys zeqg0x=1N&&&s$gq0?QOW^A^Qr$x@NtL(R{3lm2bW}LM!Yr7?gm;52Gv1G+Ub&J0pvFU3p_qU^K`lgopwtZu2$bI*F zbgwUk6!$;*cKoLrLFX^jSX)1gV z^%~wd!X;RL9(Q>h#7E?IlkK4A z=klRev~p8&WbZY6qCJg>{-iaCw(yJTpgzp`mGM`0sS}$`A|BSdF1d(Z#q3c zky(E#m+v&IW^fmg_3rB;y~lYZ@-{s(QU= zX$>Q=!#|u^HLc;4^mNwNfYlHB6d@aqi4r=XMYu(;97H$5r>vC`0(CFG^f1ktJ0aIC zX}yX5uJs;%+K(p_L{jyfP@3#U8LF=-I67fB$GuqH2{_N=cdKqsD9YpGj$coIlfdQh zZ=D>HGSoANo#)1l>WA4Ml=&CY)L^5tYSwGo)ovzr)>Z1f_<)Xw$9=kU{OSMX{>%ag z;3Qo2Wv*NG83_gk34E)}IW4vNqb8p?l25PV=eqP)xJB0PBYFTuCUU0>IS1g1gXxDP3%9wTxhR%F zBbz&xT6ZSj~3tO9h zKrSy~PoK!nW*uDzb(!q~0vC`?@jUBv!aUZG@xermrDL9LVy+-f5Z_^`Hhev0Fd1cD z@M5vX)-|${*qeE6y-P5YSjhhom^KWwelFNoOp2pX(7Ax@RxXsk=!hg}U(sHgh;}X; zY>9phu9PVMFfGcoAJ_ga&a8T_lii-~pLwB#Mq{Ugpx@SI;zgGR$4Fmk+vx(TS$8s{;cqPqp9LlneSTt zQ67^VjS1uTbDYZOqs7}EMi*Z5leuKOpLrgOSJ4uvfd5Prb!!5>K(ZVSk}jjt~swg2U>qAN3~I)nvAw=@O^Enr< z*qgc4cy-iFGU9hTWcgyYThAKLbyvO`gE@~Ic5|jy;t%SM@G-g*hbhaeP_5VkY$$a; z?sDEghJ}7Y%m{0{|U4CZnF57ADDRtL1_|Z zo~XDCkobyC9JgR`3j;Hcm>+jDfYhf4+ZT{b2e0TAEEim5Q_2p^ESaD7eh74Ft%lWo z#re^PDb>uqofy%zR8IJ9Vc$2}dxPSDz^BFrRwJQJ_^Z%$$8n^N-T6&9>N@s;L7R)aK3+ChW8{8WAEV*q4 z+{IDdWL8}3LTbe^nN$7(-_3CJKZ)lU6?~HmNfeUl*HP;6HtB%vMPI~on;=Pf0&dQTAHr*$_IfY~fps{AX)!5i0S+Y!~j6?2_mP=zT9jl3{9czfp z#Fvw4GKL)?-&ZN$9=nkluM#uaNePV_AKtFG&SJ*URy~CX`uaWuxiEJXLQIe;{a~B; z;Or8|f{!r(I{MkDSU0TE2|0~9IV_#Gk(_;`f(<`hcVVO4pQn#Q_|bDniOP@ryQPd9 zyJI!>6ztPiZGRqdSxeu%sfUH?s=_B=Tuip6xbE4%RncvT8uu#?KLE~u|2uGIqoj>F z>?V&1=s>OXf7K+B*{W)h8Qmm;ZH6lI6vsRAtQ&D8&orI0i92WEA}c&!Nohc#bULk1 z8X0S$H3PqO^=3Hv6&)DxT^f^nOq!WHRJYrYadOXfe8LzQa@|d*ZzQCf!nwjq{kiX} znOwLe_9^rKopexp;B;f5$;@Q@eKobW1IfkM?8@*HE zsQdO^c-+v;w;HtZiFD38!GEB2u_d&3G zl(9?KJX;*C$MweP&yGH(T%!Y)AUvjmW!Z3E?(vo9--8|Jzj35SE9_;Qpa|= zQC#@w&tP9$5rb@4MOjs5=KAqDr1znW;&VtIK*S|;DNlWl1rLR>pzwYiI~8fgnfsui z6$`ANK(OAed~+Xg@#UCS^=8d0o?9vB{#6miENOhc$g*%KOkuyBkAb2Q-TFgLcK^

FDt^bxqz8JF>XK#G;!c4K9v*ws&r&$h_C;aW%29QP2Dps=ZlDGb>p1D-sUoW%#Iu z?$qKcqFl%Wq}h!4jlVF^59}p8QiwCx@#7hW;ILH=A!cJ?4BU5>hP?0&2q{D!Md1qU zw~023K+~)Y)SuM4jY8zRU$ct)kQgV{TM^ldQKAvloTYp&)5)6R9r0PdHg|q%T%tDae1kx$1#;;F8j^0OEeWoO;fT*8n zBe|Jr;9QIp@P=(u?QSr?aVLxkwyOsnDl}#ad22VtU{gTk>_#nGwnB(WjSpm9>)uN5 zXwEWNeO3}J9<1t;ATF;jV6ARLyEDLYx0el8%~~=#65RVC^3T~6ek2>10mfFwPQj}9 zSQDQ08?udB>mvzrH+qxJwG7iW_212fUxqVB!L9=5o+p?35xP@JUaTLRZES2UIw3AW zOq$Gmozw%p1jZJ>gup#3U|Al_oAfQaJ&T5Od&?YTopkGHL9OJ@D60!u%ySY9JCkP- ze*H0d$NL)CKU( zCPBzUdC65?t$%v3dHnyKj(SiLeA|NazoeO+Gams*Jgd<-QhPt%Pr17b`rhnE=w-F{ zj@QO}C%40iV6p#!=%x-0Xt2%=S!_*~wPISBa)b1r$F7_0}6vxB@SGi@I(pc8F zH5lgT*rp_UZi2j!ZR*{Umg2-bqgUMRn$()1Of#q2o*u(kDh?}{w$9HH-K?$1vmv1^ z!?6>_%elH-sG{fF_v=6A=m_ayYNB$bJ zot~UcFb_KT#2)2)fXP|fHuMQHU3i{$mfQBm7;h~FVHI|b)YEBwr57m1=nJQ(BAYgjZq zz42~jtXhmC$OTJa1pSPY>dfX`iHs8Ib5u` z+3m<`ALEd3B7M%VVlOx zYKEn`LU=g_t6J+K5_q=$(4v|5j4_5vLuD7VyEJ6od-!*9CA*RE zXWdffe}I;`L@X1Nu}qA_GBMy}Vk2!j<2Tr!)Xy|VA8a{GwJ4EDYE1qCyWPAxvA)b5 z=gm_Xu@5%e{7y8_pSgr#1m0uUuj04XJd)p|-M7EW;69d6*~Dj#bkR<1)`@URbLmVS zKtIJErl|G-NwU}b$h`N_dGAY8@3FvAI1^Y3X97#%CsH!jVw_hvwTz@-rqQ0re`rBVB_aFT2FOz$`zx@SrH)mbC z>8wjv&$@I6WnDU$W9de+E*;EKx{X-+7pQq_(@7JvmwsEChCL$;p_|8)^04Re{7y6< zUB4Xn*!3&;tu+tlH|C8d*(dXeH}#W%pV&N@-&2}P>NAXTOZ{6+NsBLf+uHMXPS4x9 zoj1+0G46g&3TU-AX^ZW6RydEwTi+o&jkjnLRg~F|GLkZFUe{>Y9sfO3UyeaDF~ir# z3=U()u1wTuToI^2V_@Dfyx}dQQBl8r&Sw%w9Fsue9BLuUiDSCUuMXmsYHB#IvLcq9V_0JOA>_sAgEC&mkTfwC_|Fy?y}~)K zl;hGim`pk(qBHy$M-bK&8(gmIpmrJ~`iYA#k_Pk3+!qnmqb}o_=6N*F+vDenv3oP_ z%pLs1n4DHrbBO*Q&dvl*uABQFaeeMjM|`e85clP|KewmG|Mz$5-tOBof#>_r=QCY( zPn|k-s_InLsj5>|1T{Hr_2tpMDe$xm+?@(^aWu?D_c_i~3Qjf2%=%oCykf8E$C*B3fozE$Gf288z zzJ-pW&I-%L^DTDx4H}d)m>nG63j+<_L-L)r<87j8UI+k-*GCbmBS19hh z+#Ky7b4*M-h;|{xNt&jcevW3dzQ$xnJy)B-5bbcnYov>C(`fTxbqs%yhhm80^wqc0 z9zO%mSu1u~DtBg6>;}<%lH*y&#Vb$E56xP+e|})ikwjtqbGj!dX)>q4+djAqIohKz zzrOYVO}_t||J8f&!Fai*Xzt>X^H#Gg1?1qBix@T6{2rX}baZ+{*t#tyPjRg0d04%Ej@PDt>xgs8Tq)kteiehlCbfsG?%>IE zPvfg|l+$AFssj2WBQSrY=sXKX8DJgPuHTk2+T+EE!KM z%W2(hN?FA`g_>f99PhHQ9lay-FVE?0JCqm-_L*GunVP40YEj>SZUS_0Q911Tl z6)*ONW3}dusZQ;f3%w<(Lda)sM4k5z$qG7w5W@dSe{i#$b_+%CZ0KDFJw`Rjh)yT| zO{l&*sFkbs=KPT!-`TsnLtDGJ4^B%sRHpb^1q}abN#sn(l4M;}ZDzCrnjJ82;zLTiLTZ!Uyk zTVW0>t|N|NS9lCl|hNov{tM!|fu6LUZ<1dAU9(t#^b3xzI_L z@hP?6W2+>$%+yzw6=#Y|k$IB^*;df}7W5tm)$~6FeY1lys-~fDanL*3p>K6i%|#cq z=-%s~uV_Kn!^3?JdNWX7P;9cc&4FLtPWWvO`kEH>97w!fP>dJQ-%9E1-S4n9qNg(Q zfP#f{9S4X#1K}#w-}-p7V5mPF z;T!omTZpH7V{)sxiS_#Q#?F#+P7KZaTO8OQH@NJ67;E)Lnc1@ZEMOhd&iM3pxWgZQ zc&ey}qx^Ois-1;=Zzfs}%e5036%Pek8t4lq&Lowkye$)if1wf*^jf|Vf?CNH8oS|k zbI>Xp#>2wu9>k0d?XqFOT+fU)oXyI9nbjMdtsOfCmq4g*9k~cYr@}9_*O)+wp)Jtnrn$2xRb(1%OJp4?ms$(0&g8`~?4mCcZ!u`f1^J zHLA)*A*$i@Wh>|Ll+K8}Y}cIF<>oPC?iQ6(g#+zK8%-LMp zZaqW;?3Ywdjfde;8>9Q-vS;uyiYjpMnR*^{0@c< zgqt(M_7(ktAu084(%1~15bU~fxg^o zdQT?l<=ov}g=k-(`_i3d`jPfELJ11UHV`MoFxP zu=^*!Zej0Ehqd$YE`oB=JNV_kkXB=K_D+s3CalmunWdIyK8!DFAVW7ozxWdBoNH3( zo9$pubRgu0bKyr3NS#iI_IBToCf^6xck2%8k=|VEBVy~s4mCsvxoBggY-IM=H|u)}{aSL$-!^1$Z??Vi;xD(8S6_T*z<};hg$2Z6aH}NZvx#}`!4Kukui9gbxn?zG{ z!W8W<{@5k6Ud6#idQ%@R1BS3?5{YXpCqLf&==LT@lMmhYAssrK!3;C=pW-7Ja6LM! zi`nYl_54xsyml@t6G82GmQ zV6ZLU7CS%3ORm3sF|B=*7agcvj@IWL9Vb4=64#=`wgTr(TL~9t2l0z8$-ekOM4fy* z$sh*#?@x$0+a4YGOc5v!ddUsqmUb}NY;p%t>g?L=juq?d(TYECcfPnbW$EC=fmTjj?c9A&JMeqHjt| zSH(VXTNs=bBiNb*$0d|56)E|B;;Lf)6< z1cB9iPxItCp$&k(P0j3#R{gTc{av6d@n z#0w1PlLRr!IVEvu;kiQ#NBzM*i0ijtzd4_WKW|eZd|Gt$b-TVkYhSK>Tq%4Gh#ww8 zCj0Vi=4+=#=VXtDrRWR7F4nqw3p-{VMs1f1m0WS`9;pRiO@fL$W*x4eqJo%M1<_;@ zRN67?2nC@u7sr@g1oj$CiILxhX zr`~&<7N}H(_A>LpZK$Ii(Xj;4dH3cb>wh%QGxd0cV;gzXta8zzl;pS)%8#CV8)1UIyc_| z98`~aqYf+MmOji4B+NzMqrChWg}SUnPXQP%arcSzh7;iJyYM#H&|GcHT2#6Qn;Njv z$V!k;Bwdd1Fkg(lvs%zUHlbUj3feKa!Zw6{f%^$9-8k4xlyM^>Plz*2r3}az<;WQh_60J3!a~b4$^lP;DEX0 zNfgC0r`Pyqv-e~xyaYx^bTSyV<(MB|1XF`+$K`mN_3Ku{nJ{Q~IEY>VV&0B&8u6?F ztgn-<*4d(~bVao(V(Q~HracADjLg`j&@SO#hTEB|UYgT;!dQ>jmee1WXt917Urgp6 zUu}*`)_oW9(W#(!7i%N+za;3f`K-nuUgyjX7NXO@!RLlEi&#YHP8VC8jl{Al;LOZL zlu~qtU?Yte;@@&H@Zn8*z3Ku!8*2$_tm9`~5qO3JpoxXDfLJI8oC&iWIjcJJ#uB2? z7%Fc|Sk9p`V_}guyi{Z#aAc4U5qE}!eV!E(FcB~qLQ_u+8N(}yh&|v{a1;Hhj{>8kpRpC;Kd2RJOHjt0OkR}MA*?V4}hx@fO#<1TTihdXd4_0*TiXGouHYA zc=ZHe9srF5U>*P)5`cLCV0YotHV=Sn5`cLCT$=#Q1AyBnTom&FxGn*h2f(HTU>*Qt z3BWu6HYWh{NM`9_on8{&O7^NOImz{#M#RBZ>15k-(V3LRGN;S5;@lF)k^8U4(Tq*$ z$o*I2yey6*_xa;gn)%V3uDZwz<@!ynD#?%3>^M)XGiy`OufO1UTBciP4#$W^)sN#y z-fl<=&OD@{vU?5g)2>f=gA$pfgK$HWw|RmH;W%Avbrwst`ig!`A_I4acY#`AAvxTH zC%h3919{;a`DS;@dF&yb@p0lMm~U3_GH)_W5*f7NQJSJfWs>lE5i^#JzxTu6cKGu* zqIq^yXU0ijy)3%CDqt)`XHl~(Dr^u^<7_@y^Ap3>C0=+BiF#vO`095efr{^ME82Lz z;W`@juy1#Ag{T~r5apu6(w${w)VaB60oe}O;w*8zqtcs4@tOyuU>Ef0I0uV6LRt0W zJOi2~ud;m$yg#F|9lM^y_hl6~<4tZ-Pr{6ju2Y(U-36`0n5HP}<3e@3w@NA8LWp)a zl%>kTRvkGSc1MlTC>jk$JyCIi&AvH0SNwZ6TIZdzp)!fbHs;E1z8w7w-qh>)(a-Uf za+9T`vPS0RT1j&+)MSu^Fi7g?)7VWS$lm$5c>tiWI)HfqygUJz$I0OBr2YN03^Gt9 zGWb&PoeUCLAF&9M$L81I-JO*gP7r!C+%54kN{a=)`&94w@NIHpNqqo+b*VRrF6a`N zom2wl&x6sf4r1{$`FjJrJ!|qujdw`ICc zDXSmz0C+_LFwaHw7U~7!;<5=?_#gnqu@DitHHl*$0Iy5{<^ixZ0hkBCZ3)0UJ5A>O zQ0Paix<^k~P1YjNjXc#Vvc>ugN0hkBC>k@!@0K7f{ zm^G7yI3vA?l-;%CHu85%Ibza|_YM;)A)l_z&Ez2SKj&uI~2qX<%kr z$vq+Y%(D2tB#Q0rNwJxSVsaztu_rW(Dg3bt^3}Wm1!`@U7hXcLjb8z5T#9d8U>7+2 zJ#TEAka{>7m2F%G%DBEAG`gJcEEnvZ5AEb-GzII(t3~UqKiLZEx2P(gz-%=ce3>(3 zv0tJJbESaIo*&`S>xA?eug9BjL~-<64D(%EA?5CPkOQGIbtaZm!ENCVYDE zlIbO4pKE;~^SbNY!Xo576@;+2g5I0{fKUqW!F13=Z9(r#2T_QrSky&}`u%M|52S+ zwaWSf`ofNY+?pMMT+|q{8(;wtevn{p6gjaemE%I7K}rVnSZE6Cx)he;w_zd2mPC(p zvAdk5)v#Cqg6L84F&(M54e8++Nz|)Qk_)AM+mJpkBn=%uk?h%cdTK`|^AqGasQ+wM zoRiqhITmI~NG_@nA-*23#wF78Sq)g`n?2a<(F5}vFJ$bi4lt$KOnQEQeuDtvFdxf? z>u*x#Ta#0?qg=9tYyFR-Gk6e-M;UkdM`rd{uWiyd5iLx9{zesOdUcHr9z} zgnj1HMkSmpQuJB0?SM<|y+#*+aeX4U2>nUWMovP_K^k z1hqNY>Oc^EiqL9L5PcLk8(qim%xuBW_i!kCfH>O9q=Ni>E`anrAf}t=GAl_J&5k>S z`;9mYiL-N#_)N^E``e=j+5UbPTj$%(rM>M!-0a4SB!-Ns*>F&#U8!)1?YhIu(9iPU z$Nx?Ie~Ev_8l4->EQVM}$;~s{!*>Jv6Nxu5Sh3?bdKd{yr zgo_*>17v#x>rNdZlciF%JE(Hp=~{I7D$*QGE@9o)CQPF!xGmf#z?C{8$aH#Um(I(y z!Q>-}sy~{uLnzN3$9OQq-QoKG(C$+0EZj_L@wS9@M*Du8!`$`LPfj)~Ob@#O7 z_m_fd5R@wW`PF^63r4lhMZ$7RoRGEV8E<%hf=0Tuvl`?}l^NV~CrspDu3puhNBu4L zGnrqg?&FTC6if3#to*0%;_NEapTNY_^;Y}bVHIJ$lfxe>j)e7h!EUN!?9&-Ji_AgNp(eWCnSx*D@JR{&~Tyt8{)MZ$hJQX79{!4a>UpOs<#HXkEzz-4EzKpC#Mnpf}r_3-8e! z(BWtR))siQTqN?_ck3(E|28EX<#L$={oBfA%R{-)U^;}~X0=7QBg_P9xs6U*NEz}>x2ubi3`ZFSc;AZdCzYkGaOe5=ZGad-ejjAX!D^AT<%rCZ;Xgl&|V ztwxz;jdu+s)6&vk?jN9p`cqtIZRFDl+3Mn+Y^~Gt%j~o-69una>d8j;Q{o2GSU8-u zp-^|ER(FZfJ9A;x(0j6enGX$(;Jpax=<6zXac7KQ?#hJ~f$MLY!qKeqEO9g|#gXmx zWioqo%s#GTw*pOHbDEP8i(g7IYP(L&m8L3flas)73uYg?*8kR?oNj7kfxvExFg*f0 z$oR_P&Qwn@?AA06CC&d*yLCldUEu}UZ~@uqB zn(IxPuQdGd#k3vvdxPTO=mqGjpwAvDI?v$fNxmCekMdJPYiY2H_ep#kscm_%w%mP8 zUYZn@TUNt1NISb`NQ8+Uwm~SKp8>+PzqN!nKl%@GmG8wE-sW6r(7EtRxEdVAo=pr5 zb&j^Mzb5QLZz0Ckj3|r@d%45bv+=p=+`z^!Kl(iQ;Z-2;P=PBA+fVJ_dSw*HEH*{q z9O|Plo3H9dX`(TFp$*bnDzx%q(J;2B&t|S5o!^p9;H=-4@C1t3>WQgo zzBD*Wx4soGblFVN z6w5tmnsHh-2N3n$GQecGX8uZ);GdwmWp~dO7SwcaO&!`iDp>g|WV!?oxRBDh~7< zPD=@o_Mlm9Ka~z8n=gjHAbz#v1-Wo{vRCnT%-z1vPV)LX&|C=&*AF=(bCt`mO(;@| z4riti(S3DcQmT8?xus0zg3R2_nLX9^WdXS8*O__pCo4_rbH5GN?^V>doy@wcwtL zn(olOu}{N|3+3S=D0pL^F^KZu;PE80xhC@m^4J(;LtOV$3Ym8Ygq_QdD{I_oCYm{y z;$}#4bLDL9pEr>C@Op`@+3^lhURzXN$&9PCy&TVYhkCdusJN^IYmS z7}dI3N`x-47!+G5C{67|@-;GO{YXD` z+n#^P6cX+9CEAf}*`Kdomrbo#dV#p_NEbb~4nerO!ntO*d;6sWyU(O$IZ!sNk(Xij z(H~u7gU@0Ahk{e%6cr$n3JZ}r`l z^sdO!YL3w$&JqM>7E?udMtOz^&q#@I+*N5!cyM&2-g8zg^zn>pW_hM!%;e^^zti8~ zOU3m~fkHI9o>w%vCNCDvM;PL=CMXjqo6gF96(Z6YBNtl)GWZ0m%Pw$KftwX5kio;F z*f;LWTE+CSury9+U%7H&xg1T%%S%lYC_OIz9*Tdx;tOPOE{WR$z-_u5En2<3y(SRq z8mhh6q!+-sK{zkvhnFa@xr=VZOA@D02({O8lBCQNO=WCBGNq@`6Qh?A93BHTlk&bI zS`oV!rohHpQMqWNLr^YG9UXW8!!prVIk?>CGEwR+8JApGR5Dijy1W<^1Dr}av)pN# zIFDs?nNkV?WAPDK?1RNV$KsS!)gdrFjn76u+Huve*M;03a8F zwVTF^*`ReJ43nvDnKhp9gjE69s{fRyxmdzEs{?63yQgr0%y%B@NI;9x&wL|#cT?d=*KM; zMO2(1s}b|@K#EYQ(W1QbBZOlH?K*0A2%(ryCVtRN~pEh<^__*L=qxV zm_52rOlFX$lfE*Aj&6}mu(g4?tsLJS>F5-7_`kI8WM&<$W*Uk)~0pT6bMp!0K^8d_`Eo%;VPg3OAd?2}PhHN=&81JHMu z*yL)vWo>PCX{k2kq&SvQTbwP`N?BWwwaaWGmXUH=l*%!DA0_6p8!tg%bsbyuC}DhG zt?wCHecK>!c&J0WSl~Vb%WF&Ihq<5^DrjETwvC|83VV@tU*A~4GalThdnMdLn{j0tZgztf-oj%<5E;zi%+*SU_>*IjmjYUvPzU=@(*eh%4egA^!I*Qw_7)lrG}Ub?Y_$l_3CPJ7T`D+rhE7 z@^x)%Y1Wz>K$(%`P@CQ19l*Jg(EmG?|wu1 zOU^Z|n0Bsd{ z^4O|7V7n;Xc#u6wr(_3{VQU^XGk!JfQn?zY5Whnx@MYAJ_;1I14G7ZHvzhbhV^BkP zLdR8@yT95MlWQGX-gM2SKdC@93McvOXK;Nlg^Mn;*tczf=Pg!m&~3OK3#%AJ`i}ST za1)h{@J(}&&L7EYrY~Q)8og0=Gn{ZV<$eExTRz>BgEiraB2tm>B>8qNm?Fn5_7Ldi z#IibOji*H|Ngl|@_C;JO9b^mE{+JiWW2~PKPaxFRpt!Zqsed=4{^e2s@=pD8^5DwI z{YI~bFSci2gR`^JrW$Si>HV1_|D0Lm#;gZ26H7WwPrTi?Ehbl3NuA1QBaE0jSruaU z5}YfW{=`)ucQ$f>lC1sJq`lkvyKCrK^>s(k*QMIJ%8lBg z*5kjAto*}d#TIL(3Z9D|SeV_(9m@+#$vcr3*NGx81t%}w?3N^S((&i3Cp)RrD)Dm) zl2&zEjWo}-`wV6VR1e|g$Tpa)U}KI^FxkV_GSJdm=d#xBgpIr`;?p_N-X(qAoQ$Uh zKne|u4j{vn17jRCEDv!pdD2m*epY6ztJRiI);ihBBH+Evvp`wvX(i!0pxa-t-g0}` z$LgrD%l(D6)WkMgB80`15N>CV%4yi(DblAKE7@w(_F3hkdrnuoQhDYr)KBRt_vV0v5oA9Ma;C8l^+hJR|et0BO zse`N>GIbFc&378Xvj}rXN8Q>;)}{_4OLZ|BH=nqUUE9RmeBvnie%e(&!vP&mU4}Ls(>dR)Mw?L=H^`Dh)=SQEC z*w|ebuak!+%1sEu&g1K+jag&uqbo5n2X`}3~( zF7D%=*zu-YEZv%U~F*e%b~`R=4*-RPZ+C;c7g zZ|qp?+UZl7FFoMeru39!DK_Z{T&(hX%37lO0yk~a8tcu?UNTtuJI<#?-&Q>!n9dhOZy-&xG!&W2uLczw{JpL~q8jCnFe|>{c+g?^UY5Dbe|w_PY+nP1Ey(@e5^cx}I|z!3=20 zUc`(UnY~nYO5;e<@LFkvuOx|1rSbFjG;AA2Y`8QENg7VKjMK=s_B)a^?)HX`yKO6p zjX$ngU~H?q=G<0(nYNK%%?(yPxGe%vU%U3M99bw@v(j-_hbjxF-e%SBFGM`d?s7#!prRf>t*+mMsg4#+wmR9$rDzjN$fzHuYgRpHc`d`vyF zYYS`dyvGirxJavh1gv{#A6|7IW$LlExO=u3tm~uBS*J}g!5AEWGUSR4A@j6$an%>8 zU(G}Ip+1>UATzEIR>XO6-)UNm{8l^b7pfY$je;uz z99j^)jgT12kKWD)*U~3p_s5^2fy(oMKABe>O2^f|!yn$})myJ1+TkG18=k;)s__mm z!xQm^Cuw%YeT@$)?g1W~ueRl-^}oUR`<(>2Z?cXl3LT_oaxYL!H^*knOm8=9?@zEcA01i}ELgRyYJNq0nUk42n&?LE%uZgk>!R%X>c(TD#er%%>PmR334r*J>@y!MCpGyo z(7GzK(T6^ck3+xF!!15A&bkIlF~+v7UIrK>Ww&Zqg0rc^A% zlpCKUTB-3Vep#^lG|oUi7oG+mT5AdHYzX5FavHJIUBXa3GH zB1+dg3CTE~yQ4?laqEy{xEUVQMGrhz{O+B_M@Mu-Q}Mr*N`F!uSygzcROxi4#Y#lV z$?!_bU?%m#iD5*k!wg?&Gn}Y$=LK_3Qz>r@G3K@#+v>Bm(H{}FOx*si2KG6a0(j#> zDH>v{p53>ptgYjn#m!2^oxD7wIA$L@=UXb&x{EtD!fADXGNbW~I_BGy6!D*@ASL-9Z7EI7~UE+g@hI zT~cQ3p{vXUYnGWlT$yR?7=Dg2Yx4SkD>M4Cot7D0SzDPgr^xiF%(%XnJgWY^aUqq1 zF*)_`Ce1enxN>U>e>vE!q+G#af22+{2yd3OB_B8O(OInZl!F~P_Ntuhbr-v)p1d_n zJ7h1*Vcv4KkdmA@X_bIU;Dkyu25wa2WRKmkn>yiJ|IHK`)IMg6W|?41(=CR_U8(8J zC=!`|$|Kd)`Ss(^k9)m=F326s*xtr^>==v=}2S?}e%twA8 z`ZgbSVU_ESvV+_`)Kf08LWVhaxp@1ft3Hm=@NoTN@y%G5JRz-3OU@m24$53U{nlME zyp{LR95wuDkEO2BXa%e+;#$X?u*NT z!1cKA7n_nr7sPDFRnF>w*z8Kxj*m&ycgS_2dQw~ib8;K@WB7}{3)FMh7;I4oj>yT^l!9hyMEy2Ce-p*SP`xsB@3s$H&Qv(-p$^wk(%r4DBy3z~y+YBM=s~?miUpr;Ai$A zUxTDQ$Xv{+27N9S>~aHR9K9)dl=sK!G!mVlm>CKked!--pf?+O1F@>nU71}puBF>Q zX-s3QK36aO#!HspPcK={!Yn=3;ft9i@!8%-ljQ+TnoMW#H)6psPfN%fPO*R#>0s%pSS!*&%X2vm!*#wD6)n>UQ`oQz?DF zg%MNg7aqqiEk$Oya+#ezn?f|xT)hC$p4tyuC^ie7hVa7_0-N+qt?94an+98Kj^Cck zAGOd^ys<0AYCtOMbD(5*R9oyM>ueBEw1yY5!BU9~FqP#LmTeIXU+ITGCRy%hvSR&- z{LxSO9bCscSokx1sy-L`bH32io`}n#vwjV|fV*)iM&2ZM41vrc!-; ze2L?vYQW7NoY8EZ`B}WEK+1rIJNgg(UH;4YBu`Aj@C$^IxrsJ-^g$XtA86}u5+pXrs;L( z7Yly)bqZu=hwteo&B^nVAv~S~^tT}HB#*nfvzDNZ&hRJ6u$v-?f;YKm^K%!!^?`j( z>kd$dsM&&5o`~Go{1B03%RS76_ftT%g^UaPld z&%P)b!QykE>_%HTdY&=IKsM@mtkfx6)gjsNxvX;GpX9IG+n|ua@HeWhz?q284B}fW zgJ`2TUsfL?8IyXaG9U^;eAdY-vhgm^HhFHv|L9gt#fj`4M66FiCuXB3Har*%{|FBh z@`uP^wZIbfZ^Z?tc*3t*m*}1%TM(pbw(Q-nI&VE9lH~2QpjF3Q+;7=x{0@4uv&Q74 zb#3ctR~-6#r52>FaE+sde^9hhMWZ#t8`as1@s3q|QG2NWZ80s3~&rJ1*~rp=CMinQ5nfW+C{ysGs;V=vsgI3oZ*U zf5k~Jyd-H{;Ehev-n}svW%ysQFbf|P-;v=_+`2g*crog z*$s&vCo`?=giYBAow5@?)Q6{(op{e>uA$r)64#SC8&*K-q)Hx-&czokQ$`b5tU{;p z5wa2e6CO>%z36zn!>!V*ueqpgv|}gAujTFhV)Aw;cR?}1O$jd2@ky>_A|vYiX?vN2 zC4(VbBNPnJ!?OLQS>N;iSFBgm+Xruh!$t>j8y-Jf#5Y1d_J!E}qFmi-DFD|O+Bbr! z&-l(lfm#<8ZYE(3vgk$fhL1sC>VP6}DWM$QYN<$k%CU7&%}0K$;kcCn-EtV=v zGUa30sKgF^{m!JULX`7T{XRYkWpZ0$JHCE@TWIK$nWU~+oXadyeZ}@@%w99OxPW+I zYIwG6%|1YUZ!2QiQGZON?1j9h8s1zrpde=lxEy^5m zi9KPSVM5fF&E6C%3sh=T5&BXH{qnm$>00upabs#3&uXD#n=rtan+2IL9_hrUEkM;< z$^jY_uCnINC9`=g5o^Ou#CLFb6Iyh$T=2J-i^+FjwgD;mPHJ{`i^cFFgm7XG0DHG& zE}q6bezpi?@bF?VB8x(&ybIu_7|wQicXPwQYNf3k2-+KeZyLR=2WW5n92d35uQVI; z`Puqy3MK9>Ok6azu}V}IY^4;j1YOdzO$LrD#kvpITf|uEL)d0^So93Sj;FTjK9(h2 zlJyhQ$f+5-RvVL3TW&TBX1*zMYQ|QXO_HkT=PkN)TMq1;vF^UL3?-~?_zoozM5*RO z&#Qg7osR4v3cYbJEP zj?4^%Yl+%-xGQiCV-iWtFLo9t5q0~EOk^`ltzQt`Xi*$_G49r<$e}mZgv)AeiQrEI zZ!DEh##Hd)a86M!laKotCWmkJ{E21Y1=jAu<#@g9cqpeQ7~c(785zcPO6v#RLjaS{ zkbuqKMtBRMLa<%!-2&SP{(IipQ&59s{RKn)5zh>k!b{YMYWS=Xjo@jl;Ae|K1`k%{?M(jQCa-BuaD1>|R zHS9thWMVJH;ISv1#%g~0!+nI4XxkU@S{mOx5oW*p@yk?H7)n1P{pCvk03b?VxG0K3 zgAI#Q@4Gl*qYpL=V@wF)f&9RX!X13@Hab-8pydpKP0)ixXh-f~9OEuLL~#=4D3?R| z_Qnq5*N+ZYn3c=P@D+-$BLImnp}~;wyn3z4kjh0t;gS5nib5PDDVL)Na48=xlvK*c z@a>Hq%da0Dr!dk?>SQ;ieLO&=Ekx25rdL0{Eo}vbC-6hs3dxNLlB9hi{^zKZlL+$0 zPPX3{@aspX@XNDrV+z3@Nx=T-Q~`~zuFM0t!{X~SfL#TDT$qJmT$lxK+-TJ=Y_iwq z6^vHFNQI}1Qej8#3|!-hya>4sX)S?HxE#2#4uH!|f3zMy1kOwdglFOFw_hGtRx_&= zuv8ElYurgeBY$TD;k_~YJ(piUI!`z%Yc!%vMR__Oh{{^H$e++Ca*I>HF_ovBQOk`9 zA-sSe3SQxDaAgCbyAbC&ivNWKaR~|Btel*5!Q+`$`{mnpB zF2bc;ga#WHr=Gne-G3Rzm=MBoeqcu7IZGwy;Bj3|5WF*%Cb;~WATGSN-y7`rrTqHQ zjr=D4i1bB<#d70i0L7ak!JF{8yFw9Q(P-4?H(8uRNg3jp;f)C`yonze71mBdZx*E; zxtHS@yX}1}1$YY~TtsZYxAN;pujDu3lc|Z$@Rb`|0g6wd!>2G|(4y7%Y%-`Zz%a&y z5Z=ZQtSP(=9+%<@OuT?NmBw|$NQhsEm_MbE~Z@U=wVrsV{~-v@UT{Mommi98QJHnKb6FQMaQ z7D5LK*b7M?z)&w2y^e&qr}yGz(VKBv)JKL2mT3n!YTd;`^cIj@gr01**n=V2dc_{R?emmi%Lu><)UN+< zicSL`0R zTU>%<#qd1&E?B;)gDFDga-B`(IyWV!EOP8dsx{=J=!R5I?K@fChP!t<@Bcq?@jOhs z$_n2}@-gF&lT}lcLox2EX)41^H4}!Nq_AE5gcrVx2&R^Ed@y{sa@6ap#0%fUSNL9j zSjkuU^oI}W;~2-9iyFO8pj87_+FPXR@@9#z7n$kAKEQAILBZxW9%CZF;)B+sH72d5 ze7yQ8>a=7A=TE*&i+10j&4x4h-oR9eUZ7FNAO0H@I`d;6!eP(lVVthQ#P?aj3om2- zQp*N~=8;D0OOA#9KF>{mrsywp^!r5r5l8>SMn8x?G9>{SE<@MLu!@q|S9CpVLs3>e zOfLE;_{eaWBGFJ`F?sqr!Ti-yF$qi0w%g8E$um0#!GNuL%9_zXtcG1s(GoHkf z=1j=-aiu`EXiq?xQ7g%;x(_P^*H8W!cmF9o-9*a9UZ-W=yj|1mdSvFto(S)a!9sVT z{^}PSzjMw0&-j4fd>g;{*{wY=!scKWluxo??+IY{d?@|xmM1B*Lj8d@in1euVxf&< zp^aie6bmuMtfQE96rZwMP@c1yy~%SI<4@Q{1x+Ze{^qNIaoO<_98UwXnLB4f6&!Es zZa9}BR$We|A?nXZL*mdz<1*Uc4qBTZeT>qx_Q!I;cF?F8wZA>#@c_y3n1DR(r8!~r zaga-m0oa!9vD$m|I6r#VqdC%a7rD;BkN#=YKOyR$tr=VcsvK=ER78?h6oM&w$_XN~heY{1{j=2a(6d zmk5vs_GMhuvajH@XtvTp_4^Nk(%VHNUi4K!1DC09(V3whbc%za*^1ArBOj*htU1Q- zO)jZFF5X*xh&5d`l+-@WjLeP!<--)9@N1;f>20;#D_)35mbyZg6)N3kp3bv;(IiM5 ziawfF{dIZOs*S&MV|R2U_6%G$vKZSr7rONh_{+Q9ZSCt?@tJKFgtQ7&d#L@eGXn5V z_1H^`YydH1sx+P;x$tUydh=Kh<%!X9!4Z+Xy0zl5%;{fOv&v)+X%$ddSCymzsC>>g zE2sBZGlxhHu?8z#ne3%|=C{gc;S3RAtXw3CZ~P~W&^fNYjd%rKRQx92T)y%xoK%WW zssx)^ZG4;1=sWyuKdsL_K~|qjTIp9Ntpa3=*`mVN?3lDwrB#WQr8a<%pn%FjgSljB zll7^&=)0tF;KdyLi|xD6S~GiGk~!@`is!NxUCWT2#tE?u(b`t@Jz`3}+#7iu?m{ot zj(u%jeSXBglN~&(SMb`#l{+`&j1ax(Z)A4jS(=k+{YxpP#*@(7B9OtujU>~VkDda` zNffLhqo?tr(?#2HyUCIx2ly^4iF0Rz|fdE>|e~oGcdqj zp5@^ONgkFp^B~ZKe$sj9u5dk^<$%qKzmxmu`%sBZ?Xce~R>=|VR4 zTJItn-4F0uE9}nmB(vIk+!uTa?|Gd`v;5}vbJBMZ#3Txp-D!DE5`6(LicTTHajOnw z^oJxfYm~#RokXyP{yFNlz){qAlP7QDoDxmzdYTPK?RppVz0AhUinqJE_c9;J9PlUS zXB+rOq(JqL{aEhl$>F$hf!Pc;C@;4B#9@U$m8-EW$TX;fBdCLHRpuO*AnX1`L zwxwSUoWks`g*WkGo^W9%<1S1+7|=2NR~q&2P{mjlZ?125o<{vg&U0D)7tV8j z{kP7uw*DvQIkEnC=Q*NYy2_&OU!UzfdjvzvN3a0M)|WZJ;$Ucz15_OVEAFA8-F4Rw zrYE08a5N37E-&c9pPx}yUHO6CJ3Xxh-bMQy==A8&8GuUkH>C~{d;vqrMtc3UneJHH3+u7Y$R;()ge868x8DaKaVE@mGMZIQpai!Ef!^ z&){T^Rr-Geru6@gn;X+_{j<&T*pd4OfW{7f((2nk`Hpw&H6V$W%2@7kqL~RC%?{k$ zn11WqQ#3sQ?KI)j2bfe_fIr3O@uHapCO&hxxiS5=(aZyA6!>ZK$&Nyi@0ezPR8nA* z&l5zm6Od?j;pWEl+m`ok0FLHJ;{eKe%a0k@M1OBSFt_%@9x(jY$sK zp79w3OR*1Uw&S7LThOiEm|WR@%k`tOB6xAp&Z3#hSldu~Vw522bvSO%Pq*fkhOe1Q zr_bRyW8-P5^v9v|i0edhdMdNpQejZpNh;1#ofml2@~(_|U^zq#$L8tbfapx)@B4~D zxtNhPtIAWd=msoYxx$iphkmGUV9#>c-g;gnteHJ=9MN{{bS_ z9DV0C`tNY`<%IL$sj+|`qyN9-4>j?x^!#<ik9x!6_kZ3kf7Ubp>@jK@~C%YA2U%XKeLicQ8sZU6hNuW+H5 z_BOtPQA2lz-6@wl!&nCI;FW+F?#FQ7!FP$toe8;^mb~FQbuD%l=ckf8WH_H$0pIUO zhJ)}@VD;a(kC3`=Ene%g$p#0O8;sP%)!7%V#cz@P*B4wJk8&KO-W85-(3Ft7zq^+C zZhAOS+HNX_%?))k$;^57gnh@OUh)Qmvq!G6T6n8cutyl2-@V7++i0LM|7OxXS!G@S zM_=ZuiC2OiEh1Ic^`!jFKGUw7=$wn{$b$?6=-DUOrL&3tNHZB)c((Mbq2lg5urhxg z?-LYX^>WH|>DBt>1m4ilxfeWf-V-*10LVTo~HM?i+tqjSYCfP4gdDttWFNPPL;o2EI58T=6`bu|b--!7Sz{8gQ+KG!EuOjpMVWi4sH+}FlX`s4($&^7`%nER(==_LIf-ud{W{{a_K@Z+K6J~# zRE06lG6hL#Qyf?wxcg*Q67D{Ec-pNGHX!t$JY1hbOHVE(k5s-G zso9i_JD*VfHea>YxZ}p7cDU=?-bsGeTYg$6SY7X8w-C4|j;ed+LUlHJ$$ZEw*o7jx zNhlw$mZ<|$C+lvLvNh{f->ICEv#zANoISMJyy*524Z#-HCCbvvY|$jXA?2CMlKP$P zWwo=#`uMFNKXX2OpJ{ymT(LCE_o5myQp(MCqtp->75?-5=Z0pE^i-C3x-PjR8ZlAY zaH0Gwoc{^=8J_9U{tUgkh`PgE#MXGpwoK-%Dd{CkDO`AStJ=T-$JM5GbUY)mgD1Cb z&*A}SoZU`?mzBB2I>mk$PkQ7Fusfr2xMSD1#o=Mk`1RdnzjOP!rTVoS+T>m0;4Vfh zS_92Bb|*iZ>Yqu_QU|T9o7AR%93wt)mCANFOvblep3G7E~)?VLxV_O!~WL*~A4GAfJR0rz2&Q;o0(an;YTiMU0!syH- zEf=jK-|je}OOIZ46p$p;Fj&>wgYS5#AE14Bne{uTy`*wPOgk6tX=Gy>J56P;DXHw8 zPUVQ!@~#)&A$e)7)9wQz>$LmgXcbqVa_!s6pO#h6Bk!iDm3TUhl8e@Ww=C!Ior(T_ z2C0809V#mBAWIzjbSpI0wv>k3r#qiC{Ec%uxFCu5Q0&?@M?Ys=Mf*dnI%qesIsUMd z1r!~?j}E1Xj+TR^<1XCuuFM&wg}a@0+WoopDN@maAg^r(yor9n(TWbTfY$rtY{_Um z#DpRoqcwYaYO2yWSZUpiNonA-A#o=~S>+ugA=ZB=f%>^L6M72mfpnmET|l1td1qri zr^M8$*wLV%Q6*iLQp-6<=Pl3)uiz9^3v_Q26dgjEjYIkA%uUeUxjmk@5#Bfq;1+=l z9*)D|#Lp6pw+rJ4VF+aKZ~_eOQ9cr=O^@=?QFys^^JtvG(LQ$5j=>jR4_>r8Ojd>+ zgu69nlvxivQ>Wc31ZWx+a^q2@FJR?5I*wS$mc={UcM{c{S7~j$5hc^H%ahLTvh3Z_>2MN<3hIrQ`9puJOl85Rp z-Uhj?*5rpLlEQ`|WR}_b2{De`G|ovWoNvcCa?>~`r*K{nEWX{SG+qxy4q#`aGsrkICH7V9U@CK5(>0p6 zTMe+#-%|F8zE%-57dVBy+@-vPZx%5WEiGqN_hXif|04W0SJs`>nlQ((!L@E)9e=Ll znsCji9Tusdj4JBZ6V?B}kanPbugXE}glPKPRp>4bRYw*V(=%T#!N?T&uMFs7k;+V- zhAttywS3;KipBT7T|)d-AMWM2-6BSRto&RbyPTLWQhRG1{HNB|!*%0Kezdg{zLgy2 z!k3W*gFtkaioohqWpEL3gQ11zR*z#_D7;T)QQ3>T=0#!R7fBU90Niap3uJKHxV8S1 z+g8GxAnuz6zI0|s?GsApU}{|HTz45uI@M&xdon&s7)Rsu!{&K<^1B}PjWoN6$eIaP!%i+4KFl)5OE9$UO5WNU!rQ0jSpBM3o z^}o&MFt8mbt|xvCc>KQ#nRdn9Bo4zieD} zM7W;=^xH2T&C{zsL@7Ifx73nY%B@V6M9zORBwO^o0hh9si`&~_^%2`9@#C+Zz21_g z97P?P0*4oqD=wxrUiS3{V(9xxR9B-4><0~M)wCAF!oqPYJ?9qXixuzsjBDdw+~=hh z*=$&Q@G{Lj)jI26=}qiT21=EF7B zTY$6jH5PHMfVqk{(8=YX(HBAXq89_%!ZvJ)G7$zNxFSo2h+ z#|CBQO3MSi9RloXbvM5-Z*X+6@$V|SgX#yG7rD|I&v5-wWj;$oPCJ8WySxOWdl&0HYzc4ZtT!`J9ooq6>>NLH^8Cy#@H4N-PvcmVWbt${ zXdm{o{dBT^Dp^03tlv!58#>EuV7#G?&ZX@_9(BN+f^&-IG{v&+jYSlsA6><- zH+D6@^TIb%5L(~dN#NXOpp{XOxeoVg_~y>dI+44J{&)ko7>sWaMQXiuKU;B3L4dA) zNg@aupf&<*T*FUz3j-8Y_6nTAm0Fp=Gwit=IIm5xFqjrzXWj)HAI{F4b!v31XW+i7 zK5W4C!7ovosc)&E;dKCYw$(m1@lkU1Ke&5O&KtD-3X?1@`g)6J#-`(AV7cKar;bwwj`NNT25@XUhKzm_+LZR-PMdIlCHn`R{b-x@MQ)Yw36ER;eba6#5Tf<6r zDGOG9_!k(D$xi?7kJqPCDVJ7UxG(SPH7TZ5@Bs^3O!T0uICo76h1?^?FX zL^M|68Vx`EntDk$QY@-J_Ad}n{JoO+&a%_3o0*B@qWV9k(ZKN9){I>Uwu^xwHG--{r(qR#9U?l_OR>YyB-VlR! zM+jQbz{;K&9>lQqUag7x-WKXHUTrF-mA`LyGj2r2W@MVTD94MSFGDZ}M?~#V#IgQN ziy8^+mX9S zW7EFeHWNNeN#({Yj%g11mh5QH_$b_K)jq60iRW#7n@q%F;28DEr{x4*OLM7#Z))IDjp<^k~c1YjQWg(1D{%zfFJm$((19e|oZ z7bHFpdr3()&no>`%tPcK2@&%E*pUFt1K^(tz&rrhq;!m!2S7&xFb@DsZ5@Vr0Qd>O zJOF|OU>*S31YjNjxddPy0Qm%99sq>|U>*R)1YjNjr37Fe0G$cIJOH{9fO!CPCjj#R z=t%(P0Wc#0nCF^!N-=bO_$w9dVAzSQupjzMlMczoD6;Vq$<|Cl=*VwYH&^K?L@&pK zG8gs&kBwKktG;zV3DV{Iy6()}KQn{$`p@@_+!P7cwQQETf!zEaC=!&1%^S+Fo!7tenq_W*EW={8rg(XAi|F z%Sb%pJt`;*bKdbK_HBa=k@zxzrK3))wmV@#>*BkCP+Ak zFq8xv-xxnLW5oBXD|lO%fFOD$_*G1d-1p#Z_p>S(U%YoaNrzQMugr1*rZUVwDv`qdNhv`d$!Sq!`^?cx%3JHlIQC5&?Szl+Owa zRa@)V`_nErTY2o`N3VtkFAn6R*WiIe8qjO;;k*tf93XCdkmRW;&q>5>w3G=~C2cgD znG0>^YGqvw7rh<|%XmkXmyuOh(Hr=tQl-Od-vtq2jeV&?c)+a`ti)QH0Zf1(x(f*F z11=`-NTtwt1Xf@9=x))ABjoiGDR)EoEPX8(1(#%q*Ns)Y!+;!IPnzDCBt<&kJw%ap zjuV5h3^IC~h329+6X;u2=~*hBuGklA{I}xm%tZmHwa#4QUOuBN9}YyPavu;6cN?yW zVe~e9#C$tW?c+R#5$qV)hlORPFz9uDq^fr*WJw`wDRkwcTsnokr63U9giFDjnnJdf zLN=WOTcvyOU|39!NkJ*{jhsM~mddhdQ-)TduX@~-YPDA}RK5>aDlI2&jdwOvbkgAfmaeOl#=DxS z$F(6jpUw$7QDayvu@<{oE{}ohj<>AsO{$*En9ZA*L*dvFqZ(L^cSC)PKn4%*fXRuu z3C4&p-iVBB5y;@-d&Ca5jFs@!`ni=*E)26`^;;8XRJeIWVN-G!9KEOHWiVv4KR-GE zy47R7F@?FW=wX3Ydt-_fv314Lp}egZUfp+$eRmTf+JaX$!@EPk?b*@IWo}S^Q*SA! zmQ?gXaQx^Ya!{jZQ0g)0eSp$w$BFNXa_dqI_av$pgO?llARukvQ3D?{6@09L4*|TD z+1I?bC}&&PVLJ_rEbNG#hK*a;QEg#P@sVz!@tAiAZ6_otHYr6?CJ@w8xCb9j4X7=S z^K>T^BbN2!a(AK8eE=#;d^hUsG7Z%Qgv{xhW%HPE_Cg@xsucL^2G;oJzGlJH4ljDCk-CO7tIOlmKA)uKM}kiy z=tp(H`+S_%9mn`~5+f$+_!Cz2ewrGmv#!SE^86=W9L2o#N5FAnn%e_L;6~lXLJKA zgyiKb@1O`zFf)x&0_X z;Tx1UjX>PpX;0OkR(ECHAY!14rO9spqi zFb{y;5`cLC3?~5d0H`DY^8mm)#_?eu0JQ{Q9snZ=z&rp}BmnaOpglMm<^g~;ivySk zz^Vjb9sn#hISlgv*dqa$2f&^Qz&rrnux|n|4}diZ zz&rr*PmB>?jPV6n|bF%N)45`cLCEEa(FqIuXd z+?UaAc*752VcJ(;E~$E)k8$B8x^Z~9n)52J@gdysdVLVz%Pb}SO^RQCdp4Fvzg|fM z({J1YrnXpLk&b?YMYs4v#K$&(`1>c3+%{L^2fUTcqM=KR9W0mfjV@}F_nXy6wN%U? zm3Gir5hw1{Kub^Soi8Vj+keuoqHefhHL^257`=q%g(1UBiRMnha@VOpeuRo)>@a?P zy_34|h@KIV z_!9pYcm2K)`*XuEk3?@Vd;%mEJr#tA&c}4MF$^Wtsvdoa7>@pV2CXz=r@a%goywSx z$b*g@F80qYRoS}G$lu)t-&5NEV#aAI245|u_KVXNWm`L8hu!DU*y^O`3;w z{X$yGw2W7*mj)~qIM|Q%5kkG<{o*aSho}W@RaSIOJ_qinJ`>$xBE1fb3s_jW;fJ8k zD$@AcKl(7a@m3)~yYc=YP`mM_AV|A$Y#glJcwG(AZXA1uYBvs)%V{^>Ih5D#unF)= z9=nEk1Xm3>cn)*ZfTQIwcMUi^4)f4}gD9}PGz3iH)~Y3?cg^Ee#790>!UgFgVksT z)2{3Y{7%5{clg2gr10HXxF;Xyi`cvHI|0An;Rmw`3@&&Kx<1wce#7857k(Syw;g^( z@T>h12oXJvPLV|*v)j;lqI^_q$Fqf+e|CfaplkFWbgh(bq588x{V7m?=Bq!HgXihJ z3xhg7+z#hKc9VZ=pfdEj(#`v~ChA;*yLR>bWp%X$<`5&yFms004R?*ZVMk=4T$|(MAMWy^-2F?DhfvU+j|AVfb z(#=(W=BPij>5s}t1hi1xB(0h;USYDwqFSvP&xG>?&KtPanb(;>xXv_zPN>Xv1~=b7 zH&EA^vL7l`v8&aEHz0D@+fU~Bus6)aQrff@Va;}f`qgp4d2M~MtM*Jhs`FI>=O|1+ z!FUGqO)C_`KZ7nIdpKa3ym;6H>%#NBto9%fW&8uGCl34c#e<-0P8kz*7%yCcd|iFr zYR`fq(Pl4R3tzZc+hEf`Yy+o-_JGkPv6=%2Z&x){jZm>rA-GkoRVGfVR#$ke<)44a zBEGE6_ToFJbTBF`Zw>0Y)-WC3W8?yxCAv+7%@TAC)kTdr<1X37P+qYWhHVFJnYuJz z`BvuATQ-zh`SvR|xfczUPqbTG4q*&Dutb)=frkmpudUD?p0U9*qDA;gr)PM94U zb+;F@{NFX|?Ef|XvPIOeY+9a)Q)7l5elan8xa(ifpce|~K^b+JYa%=={_lGIY#P36 z9Ss+=`(qKpxW>X(L!r!uG8}#!j=r=8v8e=9?=!4!j@d?3K3;6wFO1%x?R<`HCt}!0 z2vw%-z)`ro@Z_5n9`>Xz<;1_VnSU99%~DymW)Gy?s=f!GFLTAdhYpp-%Gtf2*Cys1 zb~30}0Kt`*o{6ujdor4#&}rjfK1N0IuipQmj=qc;cJ9Ta`@b3lbWK#w$Kmgse_PIV zVQUo|)+qO13$0AusuQDZ)obN{u8)#`TOTm~cX{D4KeIl*_%G|DZ<+dleV=SDo`cUD zs+&t-^(YrO;SR%rmB}cbWzmHYcsPu#Tw}bMe>6I(PAC(YPP&r+zrwJ>LM&a0%yXGi zfu(4v*8JVQEl>T@VY0|+sp&^h&x^oi3M8mChRowRQH30ONlDz@>DZp^2 z!3UoCx&rwK$UXyL9d-xYVGa$C0fM#LJrC|(wEJ^kFlwkF7!>8TyWk~IglmWaMc5<- zIe6$e4fQ(y#c3#Vq>DEPf=4y$M0h^efKC^Q)Z_sB!RYY`%qnh$_A&uUyg3M@%>D-Q zE8ct!+@-hSU_m$M>RglfygHjtZ4yJMaM@=e7(A{4_iotD{ZGYtiWdE&VIL}NWyJOK z=c!k95x$fS+@Y@KBmAS+;)wujO@?-sY7C{>15aa?J~Uruast-CF!w@QVquR25A=_I z597f$!&x}weF5ZMMi+r6JTvEO&5niH5ZXcs-?=BCy}_LJx-a|}+v;U)5#Ym#Fg1zC zgrZxOs^e^FI+x7Fb5MWCN8J?^z+FH+&$pQ6Dd-mz;oFrxzJLFDs#a{G-=n8I)oG zp_|HH9h{_A&A_T>3}Qzafz=z?XuD5X!{`kVwpxO%BC(Id+fmvVICWp(gucK*eL+~m zEb0sBUd<94YoonIKHlEmw7(|S9UQnn2j-k%b5X3jE#Uc`6wE+SYjS!$wZ4Yu-UTS* z=w(ngvGC$EI2FoV3VnQ>KK}aP);N7$7)&jL>}nOhGyorT%Yi=?ePEZi9ruxF$&sYa2UD%}OrB(Y5TxIPe`#@#HX6c||4)|Ungm`YH56s&NizQQF?~&7* zya&Ra>;*TaG+__#U^xo~oV<$eo-yMBJ`k?X3>vM}&Zl&GLpsT;uL|FL0CiPo_zjnvoMm)c`+q8(hg$hY}-Uzmr;@by~pqsO)Q5W%dc#__5UnwWvQICnbuAo=q{0Eh zMiSWfth!}~s&BBQrJ3xwz9w!t49 zoDD4vOb)nPf{}r%T8N0=scclrscQ2J><5PH_6yHL;@ZmFcx@j9*FZNHcyS?Ei0B;< z8opaS7%z-Jz+vE{DzK!A<5tQ*?{UKPx3exYVcw3Skx35vDDMv-(U{d*}vOR7&TTP2ul8;0mt+Hy)h*DjLH-I0qeF!uGh?u>c-bOvH!O zF!jsuy8=IGQVd!Wi-jM~;lly2@8PdE_(Pr0d_T_lV;%JcZUqq*fIAc17!RJ?De!~V z#-Mf?wpl10eS}t)?>-5>8Ze9Ge3Bo!uK=G5?ngoXL_SWBd*CkbG0EMPHStJ-&qVa_ zK%0IfM|hy+IFO!fm&YQ|egT$Nc8;{yL3+bSTkeB@geUq}Cs~(d3dzo%7~4Q{5BJ2h zrjmQTC&v68$@?H(p*WH}T$wk?NRp{u3GnTXHC}}vcYAFFdEEr9tpMrG-YD0xoHzR>uwywZTUrin?uMa_B^*O- z45t`K?yIn}f|Z@EfIj^zZS?YH>#MDR+>T93@bY9GURvbg$^HUqWpO@}pfqMTxDQA1 zO*1@}rz8WKqx)r&JxNX`xq;+ClGjMOr=VqV3LbUk7MNnWmToPr>=wyIspu{N3A>bA zq4w`q=wq}-ncW&|aBUjO*E3K%rYp*qdty1~^hEa@klw8CtM@(pS&iNmdb_e?{Sv%f z*~NaCZm0ezw+)y#0CGM6^DuoNhWce7#vk??%2<*+U&BYjTr z`(+ZA*!s!nU!3hyt4pv^$)q73(+QoWQBzo!+?d@ zo@bH#p8S6&Ic&+?xmGrF3EH?W#ZWOzu_PNUMgJb)Bxu*KF}hGpB4H*|`zj zUz41_36F6zNNB^GuxuM{MlElP^28P_^N6kJUvn$=UFWvm_wZ&>+wOZ{&xw61O4Yr_ zuw>|g)%C)`+5*|(y%xw0cxo5P1ODd%4Q8W(Ji&!eXH0`QEHI9WCCfQr=?gncVwnUT zOksg8307|v({Qk;!wC%1zg28xE4#$(^_U|$k7r5(l&cAlsi%Oc$m zKuK^N=uPx1=~}V@M1KLgFyO^?ZPkEW+YUjPk&Sgeqo zgZ)4>iFt8M{V9-zO=8}p3l*5&6io@5{7KhHQy7KoECve;99Lzcg#wRZCeUgqnGb+q z{u&7DZ!b^~Pz+c?SpzME>ueIyRnpCe??2^&?h%lk&4;fxp`}$~xVPb1aLjc%AWyao zo>WHNOQc)Ih7q*{S_rz~MBPcZ9G)k`aKnKj*g9D0Lz+gk9_IUy)&SYrdYIKh+D^2a z9U?jge}T41m;X z0=-MR+hA#D5qtxMyGP+F@NGnof$qbXh>uY?3B#$zQ0uoy=Wl6eg!0P#4p9h@9d!4I z5`cVx{*+jP4S+1rJ`4kMoeI&Hx>hsD(gNPbx$|Y)|X#r7lO&f?(HGM|Z zPSZuAPC!_m*MRKs#>~n_4wTYEi^Gak#lVuUZgs#gFoRd6oHYcp1H}?$0A=w$yrW@* zaFc-Q!#jM^DBJ=H*Nw(@uREjrr!pgRC`hsb7g zSU2(a;l;`psLhHn7Pqjiyf(BH2TLT~P9UuJ_CVA5Zr;Iy_1+t3AluD50y)@dpdg@h zvYZZN2kJtWt8Cap_VBJ0=XM*mxtB|5@;TUIf~eg=ZwJbXHZd#rUc z$kJiQSdQ|w7ObOkFnL{{9pigQ7fZU&`96xJ4iICX^G_(2Hd^b0m#LQ`P@jcoZ)usRG=cz*+J)SwLmEqljV2Z zNpu+~mwnHDi0%VTWmmW##p2v^0F7flB7|rT>3l>vqUA&(qJ|5$ z&&@yge;?o z28yNd>Kg~E1vk-lHbiVDU1QP>6+0+}&OjFShS)=~^l``Y;Y}cHOGSkkZi@Jfs2B!C zb~aCZMKlH$tL$uvI8Rg;mU`^$9dU)I6VV#+6VY&@_rz~R>xedsheX|BzR}M12w}tY zP801F22nOl*}(ZH+=%YMjkBE{fXQ>TYywTl&JGGcA{EOa5kPcc4eE+T5YcU-V_4mL(!B-mDwZFoG5Jr>K==hMDGzj6|IR%h@OeI zM86X;*`COMBZlL$BMiSCtkNbVA=5~wO2Uv`i7vs+vz=LFCXp(6tL#D4dJF1oGK)y1 zZkMl?v2>Gtq4$S}bGD+TyX;>^=kWr0%7JBcUUHDlYVG6Y&C_!Rd-;JJPI5fST$1@D zXM&7}8I6iOf*taL@h1D+s|Lu6UWp)=IAH9^ZaUD%aLxwl<}3gi;9LkY(zz65HRp1W zb)Bm~W;qifp25xy;NIySDliX;kUIBS4$_6BgJclNS?=gxk=$`4Ym%%_GKFLY$vz}s z1KA;GxKASFd5TXBkZ+NEo8-G7BiMeQe1UnG1*5yqz=yL_J`2Hp*=GsJ-+h*Y6uzrK zdi#cgj3(LK_YGc}+q-_tMS9Kyk`{k-dy_0rvO3B7B-@be4YCr<`z#SwHp)MdTiFDV zoSpFh1>*k^+z~7&;34EHC?EhjWmSel128{(0?_hQ0Oq82U<=T8AUT`lO~)@(h8<*j z&U=ANASYW$&T>b092^nWFUsBI|0&7CBu|h$N%9+#7fD_x`3uS4Nj@fN1Yta$Bz;H* zgN$bpK_ehnWox#Ya~$}@22BKM4Jlj8;~<|7ACy5PXSt)hBDv#8rjX1anHYlFn&j>S z5?dgSxROJ#+!~Nf3E60r*306MEk=6IN{}6Lnucx!%ZZ`2V01H=+#5pcSxPOdmm6eB z&q*R#n`Bdv5o~?ArC|SixlrL`AIu+|Txwsw{9drH2(r{Cru;teNdPI?r{xbqsN3Z+ zMHYrKfMn;eP*Ib;4epw3CCQV4=-y58UGmvO@+ineb|UOJ2oQtBB?x ze~4%g@?k_*kY15}Kvs?%0#c>hKMGTv8dVI}w2~-nEkBX09Qh1${-h4hz0pYg?NyCd}`V{ zXw1Wh(U^y;(U=FL3g#iE3QnFkuY$Q9Rt59FunOjXUlq*T)hd`P8H2g16oa{X zIi@Da&N1<}4mm?&65-q*4-(Juh4u(GFJ>vkwj^c+$Ti^4*DG0 zuD7S>+#vagWPta2h~bdeRR}vQ_6Eq@SnSQ_#9}2dY(@o~d*5ald)lyT(FAn723UTd%yjex!aV{SmQ zM~f$A^0^9XVU|0}I3JW5BpoD&RYRZ0fhZ@EdkeV_lRQasH^~zu$B|892&QW|A5w}a z-JC1DOH1ZRi|Q`vIVV7t`XrS1w58|t@$sZAn=08&|HUE2kcYc1Q2q@vp4Du*A3iGBuVthyo@KWj zZg;ZWmKVI^Sz$}8i_PGUU`JYFjeOerln-aWw8p-%!=m~vu`W=~TC@e^s1;jUMzHKQ z3!%&>faL6On?#N=JAEVA_ig-rqhL;RqY=eCLE@R)+!uO-wwTH+l55*yD&g(Wr$M_u zpdHx(<5@&+DrE`cMXOlXk{Th2<+J`L9c_4*inyIiB7L{O^!d{qXV( zt3PKSXJA;B+ix>4C-+FYzk=>cui#Onyn;un`fYV|SEHLl%tn>=AO}Tv1^HogACSYU z3<25q6*q`EpXB;ieEcI|>mZd+S1hXyU1xzdyxRfrzt!zB$S2)?0O^%^0Q}=K|MAC~ z8q)^P^w}Ustyl~4?&|$*oviAbQy}}Vx!Ja~{WPoQ9|&i0Aj+o>|3DQ3XH|OOS+>2W zPtbGAXV8`|wLp1|QqP4@3#v!G*%QZI56C|>D>*2FRn2Mw z@^-H|Arb6euYwTO8^p83SGRyq@vB%QPoc*9xS1iv~T~&XD=ld5?HKEN9su004UK?5g&yNj#O z_>3Qksq`N8HOSXSodY>))HRT5boA4xt?+8N@bnKs-W!4P;)o+4{YGAk#cNi%SFyxG z{IH!os20Ka=ttGi|Kh99+gp|D={aLZqnrvdf~^=`9pub0c+_RbU{j;8$9Q)P%1=q2 zBdNw_D~5jwdoydpNbLVE6O5tv2$W^Z0)5JPzSRgiuo@hW_81iDpe+@t)skHvCR zCDS4B7HG$h#B?i-rK{3d43#k!^RVAXUDMCQvEWg|H4(JwIYr~Jevgy9Lh>F-mp9SB zBFW|?yOA79atg^MBzKein&d5##&`@HNHT$BYm(hbzCkjd& zYkX)d-q)a2) zXPrSh*;_eSzt0M{Hs-AVVjNKn18HT+Q+#2Hc*kOt4W|@<&nJsf9$gG$33i&~MUpoc z?`&*^1+#q+!+(zF>=GC^vLBXU40o68BztTRWz#*s6tzEq#Mu75w$I@rKp@++4-fZDONUQc{`93mZyRL zzsoslEvxSO!m8~m*H#$nvOla_=LWl4S?7GXn`7svMzpcA4f#W1y>``fEURa07DAbC z$j6dTSo_>PnA}^*f8|cBr?)X^bG_?QU{Le3)0`KFiFtth)=0v#@!F?p> zJ@7B}IZ(!Zu8jK*xO?UOQO2h-y!7uypO^oKPiOF{I<;*4+2B)}RzA3EPAwbfJEqTz zxjJO}ubF}6wtWVc)&0Cqez0ag)fJ|Rlc%A3U@n%xl^L1f^XrV6rbM3zmbvMRD7c&0 zv=wUh&dgIj&?Yyd4?y{^he;L@;XbEN)|gnsOX{xt+zCxc?0)=Zj?mP?Bf@lilB^78W zQ7${}ya2RN(|PAr7`yzW=@Jp92I*O@LOx-1L;s2`H=N_k&?D!~G8Eu_59l|FC7;E5 zrvgRBV8AIX-unqqEYT4j?~TvXw62P}Tvi8kzHB+s6xJNV`7z&E)Gc7$z1@W$%hWUk z$e*1d%4KhQ`-lKmu^L)lCTqeL8Nz02!WJ3A7AT??8Om0ev`&;`=ZSLJN#Cs^oINHgW>|vZ zEVDZ1x|m@JhO^%^VF`w_@imkVOFoC2prulwnL3dEoa=%lc z`$p3_`3=y|n%4VW0D7uvr{DK5Kk8ctQ&8t-Wj2#2A8KX4sEi8uSL~7R|BZ-dOO?*{ zmj892)tcV+Z_A_E22Jn!pXF894oyY=7ep2IF_AitV%QO-V^INI#;~VE#WqX<_QBM} z^ltE%U?C-z`4C;@O#-}uLWnSDsXUfdR|K)N1!_X1VyVWO6JadjvKq@EQn6HHSt=aG zQjHBa30`8#W+;Mwsf5>H1w<;&8f>Z7jS4smy49Md1Y8g`*al7W19tH^wnNjpfFhue z6+wFOGM<%aoh`7IOk`&?`3BYlx~wT2bV=;GrdZG=u{(+&mc|mkB3F-Uh03fJ^Cil+ zje~HtSg58v2v>_$)O6Z$UDRgPG+lObqUEKS&d)?;~^u>Yh$ zU|DRzt5ZEzNIKOM)nh9(%?U!?7NUH%f~ZLAHWMAwy8T37Yu$;ULRpXfpmkS4SD)S1 zx<5fzpZ%$IF2Sk%WoEpLxz1OdP1q+lV@EVK4Bjf6Gh1U7u5<7cp2F@D9pNrO zE!gjx`a>)&*&mvQ6aA@a8qq_dJhlYFwPcT)V4TJLUC^a6qp6~;M4p;H2`-eW%%SNh zP%9Rp=^LQdtg1;DL>rc5Qju)S>YKD*wqwmrIwae(b|xK_9ax4*C9)&yWl|CE#0Hsk zN~W<9CY_a?*#wgg@^m)Mq>Hi(n`hD$nZcHtbX~r})|hl#c4eDP`a^bOdrW#HGubyL z8Af+@-y~0?2lHvB%IurqK%*y1Fe%c=VjWD1HF~k3Ce<`vW%EpGX!K@ROiDHSu(;-> zai$r4S&m6PjDGB-Ndt`jtXxW|-$jly&~ve zn(#N+Q=(!TaSmf{tufpYhAnv*OC&00n3v(KfhIgtN3d3!utkn!T{K~f9L0KT!t;GJ z8>I<*hS6+>COoG{v!$AFBrt~UBg$o+L)rqBXzCe~%Ez+rH4P4lkz?6!M0so^SiZ?R zw82~#Gdy#~vsX3YnKPaZ(}ZWoc(%x-3t|G>WKxlw$j+LyUru7bnsi9!u#mPYg>Qn7 z%3Kz2Qi+_*QcNo1d91rhr{oki!lbiuD$MJa#&VG7v-eE8D5tScOu8bcvu{kgE@!Y? zCf$}ZnZOqZ!O?yb{D+*yf=tTgvsnyLKARYl%jd9HG|diaEaze%_*ZN>5VFI7?a=hE z*z$SEK4XDNr$de#i`knhPX1lUNn;6{sL1|P$S%Hw~S0y%v9?=f=A(1+w9qeEk%N^`-8Qo51bX0l4 z^ma1XxCZ}<8K$>~If!yurO<1}M{J#@IG~T&Z<>;U_OSt-R5&b&{cN-%%F8Eg9FaP{ zPuOHdww>ztT?fEerVOKjNsnn0L`$Wp}7#p1a-0}oF*5$e7SL`H_viyqG%Xn`2HQT8PkM=D4 zmPn;=j$P9_EYEYy=M@Z>%O;k~wp?JLn)1tywOnGmG#v<;Z21m8?)*H3D=eBQm(43T z%W{pK*YtTvf#o`j?WQa-^&6}%kxKn0Yof^ZNx5D8CTpeXWVs@sG#w6e_7gj!32XWm zE6P;){Gr?i%U$-k`|}ijV-Y=&R0_YdZDd)%7S8XR{5vY(U$G^*{4Rb^0gUIHl|NgC z(uk5&EVc>dw~BkLo~9|~3*|l5Ow%mT{lVI3S_Ha3Sh}W_pu5j{Xxa+8`)q)w5=i|| zHdoW7@12vKV%n8DwKb- zYbK@gN9;CHA-fS)VtK^s^~AzJI&Jxf%_b^f55q2493_&!kb-@_dg;S=KOqz@!P*a9(0ko;8wB@1s)xFnqc-ivL8kfSn3|%UXd~=!?1q z?0R^iwIc6DRLK4e&$CwIgG^dxt;|Q7wANaM=a{q+J_EANq&?Q^+_xXbS;#CA2d(kE zyh+8@1RibDm)0bnVA5G@O}n)XH{1HDnkvK1d|QnE`cKHVg^E8q)txa7z&E^YWnn%YH9 z1UjavZ{$>$w)~E!iIKB_9&1`0Ip3unj~s}(&bMukTmlrQ=|tp8m-ake(~Zb?f%<6T zQJY*k@R^$Yqjmr-(S&_ZNB)T>?0Y)$5=~X3wu(;tjHY@~g|ZXBtf@`Zhc0RSx~8sC zp90-cM14_SR zOe&NaytYYqU0&ghiSoemflD{u&D5pxp1ik7g|a6fY|>qqEIx*)*nYi2L))u-o2I)! zz4>)bk1Mpc^?~JYJceSscg2oCp_-yAzGCakD`-lr*b}IsCM@}WyoDw#`F^~Qrk5-B zv-RhLHN8@CFwk^OBPtHJ4dC-MEvPsaXp<&v1q1mmP1p(s@{^i&RLrrx#?NaishAIR zUlX>vLHw~MY;}Wp;9zw`*y;xJa820i2J?EFuw}i@n`*+A^*YZgrHXTGL-+tqPbLQX{u9c9nfJ-?J8}w4do{^b*r=;=nRoM8{goyU&nkFvarx1 z8_*D>d^W7oLEA8%V$yNj2%biCSiV{5xNQ{A*Sgu2t{G$aJd;k^#`2XWU9i2$_nP#B zZ9G3hbXYE_^n-08zom7XD&4Z>@JA;7VVlg2Y|P7Hxu?<}wkf5(m;*CSd0 zB<$1pc&)o!$zh+tml5ULur_D%wVJRt;fW1RSevu>E=^dQv-o~ZSSz#nXPU59X7evK zVNK8BXEk9>&*9%|!kV7TZ)(Dtp38sJY%dFW zx+Xju7x5mN@N8Vf`)k6pv5;qL!n3iEkI~d6dVqZ~&(YK?x}j|`pP>oc;1XV-3ESWj zzFZOYJxlo$B6VF^%3a@}qXpeY`%>PJD3^U3bCAEy?`ygaw2Yq_ftI=KQOpkea&C-N z>Or8Q$%?)O-3C4; zPtlF4XY3pJK9erkH^G)qrTZOH*vc1bdII6L@!vGL#3Hqrsw|yEt2BiZJ=Ro}C@WuC zrVt&`)SIZ%G}IN-ir+S#NpyqbJ;FBLQ;{97W83%}n()fCjgKYDwY?jA%f5}jO_Xoj z8;iO%nvTX^5Zm}ins7aCJ3pie*WXue#vt*-2nQE?^c$yE_0F}(u8ZY zC;3;Ju$`Ucmxw;IVLLm?ztcKg_dUgLX~LD>Q~V(ju0}L*J;fb!FfY06yffAHYu-wc z&8XfUC__^Kkz<~+jH})ibUB*pR)5v?3|~)#?Q@y@hM!PmYg7HCah9Lflu>=4>skIl zQ}60SUC(j25v0_IR38a+M$???<6Y15tof)@YoF(NjwbB+&hu58u;)9^4`{+3^F05F zD3`6To(hyzs8aYCQaI0TixqtV^ez8e(|14@xc3sJy9IQS$7=cq=n~(yROwu6jC8%s z?=MpnTqBi#$4izgstmgCxcf?^0`^jkX|CV%+C;gm9_X&{W12eDnC*I%H(jN|^{KJY z^+%qjX&BHo-bYhzjb*Oa`97knd}a-pIpJ3n*>}}A3j`B*@b9YqDp3nM+5%R7(YOXT zd77r=Me`f{1RttH%Y54>aa+aDJWkWuxI+0ePu6rN?kxX>H`2u8FNj}wswUs~64zV2 zqo(lqvp`)nZHCpWTYP{bXa!e5_n0V`)r!C4`YV5xsDMpalx4lc`)b;;h*!SLuWNd; z=z~VT@jo;*Ec~p|@4U|%$~DB9%J1>PCc)ecA8FEEmp}MiqC)m5_*32&w8sbh-UQ=Vp0f!i}a zWj)5Z0OEYdjfwY(3Ykm@bQ9vZNn6~cIP$)-bWhmgW{7Jhed1;jz8{q8iruW@CQ%{t zO=#z46L(Ge%FQk&(GeA}yh8uRu40F#ML=%ix~BIE>oj&3yD9Yows%RbCLRLghqKBf zGU1Awr*LdQDzv?t;N|WmqKWchmD>*}jwsLewtomvJ*^v^5b5sFu^e{Ed4XmnM4LKX zIfwlrW_pDQup>nDRq3%=2{qiEV!V!X9mL`zR_pXOCnN)H(z-pM^A$Igj#`1QxTAFJ za6+NsD?&HoG32w8Kz<@~lcI0q8@l_8>6;aOmw>cwi=v;1P7)Q{BNI|VXKY1XvHg#P z4(wj%!2@rrwpNYlEbbOjO}uMro@kC+2C(8(}lt%ZY151*}ry0{1Wxx*fw6 zu!O|r?%|@XraFmh-6KRlO_ghGaE}zzG`Rv*5Gyq`OWfdINfc?iReghdv^b^dpXzJf zW5i#YIzpUPh5HUnuh5nS6f3e!+TmVJ>@w+N_v*rTXQ|~;_Znh=Nng6hiDM>Ra*r3$ zyGkv8aZeEIOnT^^D2&~uI>RGLWSZpW@sikOlD9`q;l8KTGRUKrm~K)Vf(OD*Wcr1F~FqZ9u34XlO}mI6rmrL zTIPE+5+h7n?%r6Gm^80~>*LpM;XH44Qks_{|w9})7 zxMR|%9xcTKlZri3h1{o77@T;NfSN0iDHwcdS;3*O`7f5U7Ry%foBi#y-9C-_7pdX)J~Z!@tdYG ziEBKw%)ajP#Irn0xb4UCylTIYc*QMC_!8x_$fTjJy+kO{0#+kwuV*hYf~b%+PCDq> zTjZLw*Rzk9t*K4YG0%RY=_gc2EInzeXMfRKQzqyJh(SbotXI-W&w*l=N#{IY6YmnK zalv45L=lY(28-L8a9l80cz=p1M(U-S*5DDMVNKe4wGC zy|(;3DboE7kwJ9BKJ6uMuQ$XzP455=6Q2>~*}i%y(tWu2Les^Ul7Y@DqTYLixMEU> z`v_6t0Ol-@-FzvPj}%!%M|fb(Ag_^P6;ZJbuN|YrHljQhTQl5ilyDw|V651Nee!4# ztqJ?&(IQR}^uk#{tq-AP9;;KcA<#e~*h2?>@@Vn+2oTiDlaIN$q6!cf>kP&5~333b9GkqU31z6=JuhTgi*OR*Fv*+3VLi%U6q|nikdB z1@yVL{Hsp1`)YBT2-cYsQ{C5yKeVoK-Su8;h3i*%L|1vwx~Y7f@YXc3Ze_1^B0|$D zuzXjD77{#0R3MwwzLLyVnLW zK-2nq8@)D)G1~H2y@6hv#bm9!Q|~O_DrRa5sJ{znj;74|B|uw=aIfE0pdCbNW_GLi z$fQGFTg73Mj(cqrB_zVq5G-Z$yG*BlHs7Pd-!dQxJI9mHiY|@0IwU5O!q8l)h%kbJSY+s}0 z4H(I__xeP5E8-`hogEM%ngXHq926Bb^@DbHSX9>(6_D(HMAXvs7PO_$L<3DfKwJ7u zv><{z9%xI&qNCE;XF*#!Cb}w}9oy0|(Orl0N{n_tCi)Q_7I-B&E`|`{?!~R*xEQ4= zFR)M^7n6uot$Z#fD;@QppNp9$-SzrhtTgF?*9q}~Nl(1K5FeUUD8CYCh*TY&6fUQ+ zlnx85qf^2`q{{k~7@>&D`m{Kv3CsG72sxv|;W3;QaYR_R(s5R7C&Jbf>NqDpBf`C? zn?28quZh$Z_Pn^DbWmeg+|G-8M8#}ugUVjt3g2%qg<_V|;4Hr&B8b$?>;;iTbi-cM zpsM477_6xT=%QFnq}uK!@qtMRj!R;PNyoh|i;qnzG`NGA9+QbIg5G8 zV?Q=XcKjgz()16|kK%74Rf5+9KS#Ny^XQs@?G^AZpWTgb=(r}5G&y`yfre@FZJ6bL zU98jLuw7pl_cdWz-w;jDV=UONFMIwZhH3(x<7css2uuDI$1M^4Em{`B2%?wcwn)*` zIB9_6SCM8?w&RX?pGej8Z^CwgQs7Ym9US*W0MS(*)o`rizNnpBo=`JQA}n zQeNmhdMs8DU9}HtvWq_!s}=D-o9uNw7W;|RdGtj1URKBOQot$46A?#rgpY1oD4&Sd ziWrV<)g*^%ifta^w8_z$ z+Bc7Oy328zhBZ&bZyRVTXkO3hlv6al)4ZkAPtMe|w|OULpe)dIrg@e#R4&oFTE@WX~OYR1DT@Oz?! zj}c+XKk#ZHzc%TKSE_Wqfhnl7v9+v7q}p{`*_sH?@XOA&@(Uu2^SZO0{E-Ob{MFe( z{$kdtzauJS-=}zb_m(#` z{R-4a{zg>59;Nts_myXURdKqssNmgSy52!jWj#Q86X6q8C47Jk)pXfWXbg};l_iZJ z21@teFq|sgL9#JX0Sj)C;5|r=AiBZFHmK+Qx|~9!u17=UR!w+4%9h2NaBe1BUM0$h znVKfv+48PQExd=y$3!>yjj(p!Z^$~oW9mn!CmJqW6J6!CTCDdPA*T`D;At(oc#o9t z6BRS}<~_VeNp=sz6|-B-Uh^I+H~xX7&f*Djr%9u|C&+y!6&e%eF(O=5pXfbF#@)wo zs^oKIZ6Z9{eD56DNK;OOmR^%(TOyT0o=i6>**#B=AyPB)Q>5chj8i?0G)1n{gfsF} zWZVO#!x{N0GKVOa^=}dFK1KelX=saGe5$;y$Tp7XvDVFMG0%Id9Pk&$lFJsi2=~gD zt2C_wnkKJliuX=-pDtVcjh5<8c!nIWi0*`E$ZeYNPI!jAMwD;c)gsb;hWtknoGT$f zp^q>Yb?h@`1tPV|Hd9v8gsW^bWpz!s$~IFrBEntOA?`C}e@(cndX`+REpY{ImfWQY zSKwyJ<3wr&Zniw7b+`gIN8TXHWrIW3de4=A66FDH^qwaZ{=s~zRkr!Ei6&fSn=jKe z;VRpF`I;tNcUmBGG~t@tLb=SO3u2MnZc>pflt)e4FBi+pCLNMX%uUnXmsbV@FltxY;B-;uAHbdax*<4n3JSIT)NU6HHgdXuip)pDOnx8)jn z+N3|^TKS7fxqO|(d_gH$Sj*ks@5;xdQ+qDolg1O&6|$Bsk9)r-okVJk`Mw!0z2zx* zf~5-S@@=PD?&2TFI86^*-t_)J*4E^o`YTW)O-ZS{;4P~yHFZrb0_vy;+F2^!D7%?d z1T>5&m*u41_ueF@YnqWNd^X8dM8zEQvRP(4#atiZt5TglTV&2NMSD}je74Fs#sT3O zztm`-ZE~Te`#{@a3J`TixL2!3wjJ^_t*g;0-e;#gqp4A=`aZklY@saES~d0AE%#}9 zy;U2ZJ@UM!+*av6d*yviOI!8yDUuGU!fk3bz~@7_&L}$6>J6Wdyyjzd+*)Na4dmd32+4?P?L(~l_T*eVG1W@Pg8fv z=akGQQui{a<#bJWpL1HSBEnwyhR+$Z)y-=2tIszkEpPLO55Bb+{}o$4X!EzvwJVLR+YHk~=?|0JO9dmYrV=UjxSWOtqRXIWvhWk-Y(S&i{kgJGP&-asjpQwQS z(k9CHCt1q_<1A))9{nu45Gl)BvK5gkms@g_scS56$$T9SubaQh-J0;&f0bVl;jzd1 z-jRP1;n*h8_pbEyq|&u@iLUE=PlgiZ+F(ZyP(`f^Xj{VnkkzyDW?j(OAm*`mLwF`53B3EnOTF^a}A86VM zx~Fo7rjqjGe4ojWG+ioR(|9HiYdYL6&zBh|G@WWU9q0^Ep6z?kapRJvKS9Th>)O(- z{ajyR{Hm#Z`-MOcG{u8X8c#Jf1D!Nnyi~2c0y@L+()1eW3?op}o1n88;hN@v&SF&2 zw6gs&U#k(XX-E5YKy@^I)_xavG2pw0(9ZI0SKAi>wbJwi;e_<}Z#uP=ishv)8KVvpg zu5EdzFc&{#2@$sWFc*KLwo}Ctk@nCxz_?G8%W9;-ljO!KZ`9?oR%yqLK;tG+zHLL= zGv6TNuBO9jcE2FwAyJ;~Qrbx#Y%qAw6@;_hOAB)eHta-sHe2VDJj8HnU3lj(mk=YA zNaZEeC{mUzBF)#YoRJA{Wx~{JcRp^EH>MHg+eCVGzcAx1rL#HHlYo|J9p)_DSfvSb z7H)i?h>kYGI9!GzjS_8%d!?g{Gn#O(bd+&f6Q)QB#INZrx#b~OjNtYge zF-B`moxAh_>a3}Mmy_^D@a~$%bP02*YV^~DXH~2*L=&D>vBqdkGrH{J)r?7+7Ii5C znyzUz=&Bp@G;IN0bz`Zfk3m<%Sgq+8=xP`nG=0-0&o|E4q3P!?(}6zL^rTA(k2el$ z^2{hS;*AnbxKlg9IHL)7Y9|<%HDRxjXk6EXy+)#OM^kd-AipHzfu?qmqkx`i>Ki%P z?Yl$H>&w6?AoszM4j5{O(uRcwN(sjDLVe5y2e_ z+?~}kCMq4Y9(ZEf$Tum>rJk{h=m=}xb+CVZ<9(%LX?J z=$h-_&{$5CXWP|vp?_mz9Z|0BaM!niHWT3(^KJho#!+qgb=TGYO^w@1$L@CB2oweH zH^VnvJnNduQ;de1oZWW&rx>${uJWvIfBUpD7HV4CZM|0;V>yw!`nEOJ5f$66!+!R* z#tu!myS<%pKojn#ZEt*`3HQ^sH!f1nsE1U2SdUe&*0i`!yUUF z4TmP&vD?uouW1MDWbR~C)r32lI~n+=mX1KTg`x-WQR~?+2ut)y5 zt)DR<6e*WA%RJ>hz{oL)1q?LS66LemkisD2oYsY8x(2*%+}G4O(*cxOPQ~(SW=KG` zaYWP5%&35&M!oV%Hzl)1z(`|^re&FR1I8HF!jx`nW~+b+M(uD#`#?9z7$2qRcxLB- zDaN;&E@v*2`NnUWe$MO_FwJOCL0R6b^T*wUMc5 zUH4A{)*3CUD&6+(Cj#Cx!mBCzwEH&!8;qptiq3WaK47!a8r~;{CI6)R?SSpZV@+`p ze+BF^b|opDy@v=aGR|u%*JHK(*a)Lo;2F5p*=_b4k(ws2p4#RUqoSrQs~5NV)cA?w zEMON_?`eC$c%aFD&9SxzjlVT@T=QMqL&hVOf-SknR_9^E?Cf;Xf!`Se>Z(}I^q3g< zqcL04#B$RDuNwdr+`tuBJL!eS<ykA(DBN;I)6bcCK@pap zH1*0V2#T~kG-+{Al*QH@Q!ixMS!;qSSVA@BXKfCuXsKt?@t|l+T#B-sopmcH*0M{} z64+2z-Qs{p`7o9xS>=M`EcG<4&Z-!kU|FtdLsqTeM9UGP0=6ToZE%vMUP~43=geWj zwJjqweUvpRIN5Sa(`Q-pg6moynzSOgz6BmUp!CjWZ4Pc|Niylf;6|2JnyzIP2RE^} zw^EkBWL*kwW=YcYIO|$)bITY_zP;YEwy+dw3Il3sd8jE4DAh8ewTh)tue-smEbq5b z^h&P>!L2Qq+A12<>q&4M%k6fG#&$PC+FBlVP?XopC#1b4uA`z^y~08|T3$9OHYClG zrfG4n1|eN62Q+Q&)iI>2<)lfyLozMlom4C*YK;r&Y1u@zS-`ffIn=%vwPd)WdwkNX zguiMTLzdVgmxjD*dC#PkA-ydJiHc!OafVkP%P*R69lfu`Ee%sB=07CA<<-}csHx`v zWA9C%qPVtx@l(}ZRo!R=6r;pOQ9v}{gg``58wCf%I3Z4`jpBgfj8lRNSK^SE2ug5_ zg5r!*g1H%tfrJ=MFww-An0QSSiP0PHjRP4pn!LUD*+3hw_vQP(`+w{I)_Sbf`*(hO z@3YTPr%s)!ZccUH;yzIuE*X9QH(6WA>Wrp7@r)YJCVodqX za*7tr41b}KqV-{hzsZ=QIhf&ZGNx)TGQ;0iq-w7+!(V7j)2>KHztEVWea|-hO~woj z{;3hmv*NEXW@>)S@K+eKw4stI_$!P#S~A=4cNcTDNzCwf7jv~$#Bzi-ZcmfB+F51| z$K~nsG<_JBaM_A|JzpD0EJySh_jZ%{+G%3&P4Bq!CJVHmhofhXm^1G4CQoa3h~!%Vg;?L-Z8w=LJyMCrL=+{Gr( zY3?=b+a{~DRyFL0CNF5I%<{(FfxQ5VYnaKlRx^*5QS!#Q+wwF!u^h2$oXxgTdxzLs zaWFB^_L5f4o=2f4wrG!x!F=-h(pD{i*fPu4<4!AEwKmLtAQmPWjK~WOwrVlNxt!whU3e%?b>x_apRw`71oS-$M|w(ht_s1)&<9Wv~7ph zr-sGac535@U4}6~+IyFl!z|Oj+I^4qx@6WX_GKP>wMw?(NZzaYJ22*D<%WHN_dYE{ zGV92wZ65ozeau>fB-r+AUog8BGTQrqW+cgcP@e6O7RC(EvBO#dvu`3&Y=^ZhX5pRZ z+FsUd<0v1UW5rrmW_XSjYYxd2_l_yHV$D2WmJrrxsqKh1jF>#fj%Z_xlLO zv(w`P-T$h+%Iuf%Yi+M-6_Qy4l8cqsv|pITC$9%v(_~qKd&fNUYg%t&71ngHy{=7T zwljII*X!CwW*;Tb@Onc#DH)w(N3~mQ!*lGI<~9LiR#@>IJEjE_yKKedcTBrP?aL7h z3)jXU(|VE(kLJg=x3yvHxo(2fR-z>{E0|EOlxP{u@EgVwZ8NhyWVsr!^^BPA2xO<3qrrWF%AE~+Nf@p(@RorIppg*vgm z&vC7sna4z%&k3#1WNB*-FHJb9IhnPY80_0mNr$|W=+;5~^9eV# zi{vS1ja$41!y{eQxSHW=?RTFaYu0C*#_COfs$sjv)^B=S`<|lU@q4W49qo56eg358 zO@GzkUz4HMdGNc7$D7{MCNulJSI4G8FJbm}OqZr6-AOD*Bu;MVXVw$vV7?rYG}#;2 zb!LmfrsBKM!?6RqkBPM&vQ=dl+e?fFk_tclvupxf+^%KkjQbzfC>9+Z@ zW^Gd@_%+h|ERd{g$}GRe`iL6#G_cefwhY+th0=3EO0J)`o?gSY0P}xJ+GeEe@q0|S z*RYp?Ihid;dCRYf?oOrWh<$sW9%0kxP?Q`|vL||^j~+&zIik+q=#fqJ;B<^Be}U3W z4`qhuUo$;YGU$mje$Dj3#PC_r7ke9e zVgK+8)Z-RYdE#73mEYrfJ~L;E$v;SkiooA-?Z=e*{;+W^Gkr>P|28%3TuM9twl1uj zKfb#S|Bh?Ul>YwhU09-j2mJ<>AivQJ(fyZT>Bj|@5TX||!xB2`p&8PKC4}lLYFIb_ zF#Q5EEFoNPpD8_^DT)41=(CB*@zP13NKB5GPStgJBz#IayjAY08qW<)I_cYL*aH6u z{Vigb;TM?m+&k+|W{o?gyLZvGzhHTn75oKeSKUuC_`Taw_ilPGX17Ap-Mi~ki5-Xg zm6h&M`buVa#p|K(V1}#89{Rh?a8=n;za*Ijf1Mel|IQ4rcrm(dscbD?i(~Y`%y3oN zOP@~cvK8CcOMiw~o|rIYg?}%72eTPdp7-yqf5mLUlr{c+^y|zrr>yhut4C*H33+18 zl+FIJdK$AlU~zh3jqR}ills{j+hPBKy7?KIZ{w8X{)2U2V)8h|Q_ol5eO5D^&&vH_ zb7uH6!TNgB*w6fj*RWkP{TDEKKkN!z|E3V6~Dfj%x z=}u-JPca1~>$YXGo;Rk{4Va`SGrQbush*jPfsM4 zBT}ZWZm>WXE2ZbtQ&;N?^})=tfjy;h>40bSE6jXS{}Qka zUR5pg`J}E2SfRhhEFyJdz;n9)Drt*I-5KzL9?9%U$d|3h*RWLqYxG0Ja>Qha@}hp7 zZO^7o4Op+|J};x>rydB{pohL7*_&Y7tj96?1lUV@GPCbew|Q^TZL6i{z0|h?w(6^x zHJo-lAYXsAhCLlnpr2+IIPFxxHa$06<_n+pSwNxgkt12mw2J||^i*cUf$h;hVK!yj z<$!&9^jhgTW!jGcMS5~BvK)~)O>cQX|BM*^dc&jTA>CQSyjvdD?=sss&9CJv`Wr9G zD7&YvZg51u!mM;!+m^5D_B?4jGp$R@*YxQ%tar;d_4PGuSj%JjSIjO?o7?go{TF7x zOk32lOs~66Mlq&`2OQT^iRB2t>C0N4)X%c5>-6lFALt(IWgB`=&u>|-FCdmDMo&N7 z@?+h$K}MN6y|m>SJ&st8m^b}Y%TINkdLl&vggY1y&dP-yidZ zZg2^k_eYQXQlG)>#QyqYztYc9%w?8c)6Xdv^oz`jr+=wl(7%(6)&+ml@6@m_)xYT; z8?k1~MCtTW<)Yr78P2<3>&e72#R-V=wZ4&<{O-l6?_tl&%`Ucd>aQ{Tbb4jWZ}bvk z@=EfJeu`M0XguR*uvIeio1p}LtNU+~{SprBvYyJU=L|jYJN+iJ!C+n)O8ZUEaGzz??hp=tgj8=g^=#y($+rS(81@?S?Mp$5#9{-YzvTcS#|5@L~ z>;SM|^kQbmp!D1NZDt=q%wKiO7Mbs(89f5;=?j=u&gdH`jLpn`p0TW@Vw5pcW(Ml2 z(SEDU=Q(p=pvkzx%zx(aK+Tw$FKyjtI&_Nx&8d0jXk~`8{C=8ja+6vvx{+*i`WvClvS!^e^*6dQ%LCh!MhvsvV0+SdlGz)x z)ZhU|0<#Zh1)B#LW0`#kwt>bZW|zS>(3r{WCfEiU3z+=|wn0WFGq>5W=a{jQS+m)& z=a{jESt!_s7#o@O1=|o~JF_vfZwJL2`g|JICzk>~gnZ#zkhwXWN2@8Q(Ee69R*W8$U4fOb7w?3$xR+1A|8xVy8SR zmuH6ngAH%!7~P%SEqJ8i$*kd=xo#tk$C$O9Q>=_KS}=>7^BS-qW>e-w2PYaGna!E= zB(O+k>2t0HjW(j0t(CjuOied2=QPk2Q*SQ_V#BysN=U zMisNa%)1#p&M@zlwpH_f3r;p1%;HDZZ!^(Y!E9uBi#91nC9{q5+O$bE?h?xsFVB0T z&2(cy5k;Z8%rNqZ;oXwG%?x9Ui*2T{Q!?5~bEa{CSf&Mc(wu4hm2F-fdbgQnyv??A z^9BPu!8SEvOq-hI4X()s+ldl;Sqem`p4aSerKUjhoU2y}PN+Lc?+Z^W}+e<`uSi z%J`LRIpW@dN5?&Fn8=nRtOp%>x-p#?&a}U`S!84r%M^9yr?@RKevvlO0$7Go{0hd* z6m92Q+GZN9iY4n0wk+cdX2a(yD&2Qdzg;7qn91(l)?6~KQ_sNEH$T+uE zMg_5DmTmJpwte2X%Iwg5_uh z8FQJX%o^JEC1Wu&3;YM(7GoJRFZd6dILTl0;> z%y4ckFkWYdb8CU|4l|rvw;3NW!?|^v@hLN$TelluF~hlayHUx^ZT3@Mg~l~z&1Q$2 z3ymL{g@SE|agSMFuAyIVo;?jZw@_&z{$IpD~`<<=L6Q zQkmiWS!AR!!}+twSj5a@!9jS3`ZLUY7UY@s8!s?>d_kSy14bURCl)jSwv`#qy9bS3 z%y8a4XdGhZ+xYpmhm6;l1vg#~tdv>$oOHLt#z|%?=L~Io*!YB5^nw<3UpBsEHgG`% zuuIGm7o0Y~VtmhR@`4n%SBxrVY0!pZ<1Vu$(1v0|dkv4#QcE7#ju;-qBo$Y#BeXD6t`nWBC{_%Pn+L1HcDoBZy~a6#IR<*?cO$y5?cyS3j^Dg7*5Xj zIe3;Dk#AxNnc~vIJX5LBu|%@l3uBdcj6TdPPa$(M^CI@zJJQpS*lA`V#6Ejh+IkT4 zDwAvsu`*`!iKV|MZCS+Pk4u*KRJz+c#?1GTtrgpzYS-=^<3tS$Z}+YtPM}TRlav{Y zh%K`eEn3l`%y@>`2a8?+_5w5fP1JivAv63<)O*H$Vwu!u$BiSBLGNzqaNM}U>P(9(e!(LZLxn%HPuCT|Lah6!7C1qAKA=i zX7&QGZ;eu7d1CvLS3)iuCz-vqru#yMtZm%JBp#kj;wWPB8I)wssYJLB_^zZ;D{ z#hT@a@Ql47-y8nS`T@IUL=(#s(=wbP|1fqlTbvPS`@#5x89tG?ZhR#f{LjeuAvcWQ znC;B?0ho4{N}%_F-7r>chvMM7>-Y0^^tfSMV1{q~xnWc?!|#@E80&YCr?u|7fNnR8 ze94p^>teySn;E{%>W1OFQ+h66R}QQVF+6X-RBsq@#4^QA$amA2%&g9OWY=Xrs>@BI z(=J&vtjkTq&J62v(+J*OTbG+gsAN=^n?@uvtjkR!ojtKGH;t9VWL<6=yNP9rU!n9{ zhGU;B5BFTTW$b2#rQb3RF~ibt8U97G^c5Rg)V*Z{OGc&NGCDHD(r+1I?1`n{GP)9z zrQb5r*%QmFGRl}?c~wR^Gc2#l=udk{RamjSDr2Z*R9=;l$PCM?GRCkcmRDs=BqqzN zGIp~kmiMD^of($*qwxzfEbm8S{(;)|{b($ajLQ4bSjG&?`_Wjzo><<;bMldm1-cLq4 zdt!M%8)eL}yq}G7W?0_OMq}D@MfT^vG$;z@Au_+s0L5vM#rcUx;Oj6`NtVePcmoZO`8^N|<3!+%Zlt!_w~<4Zp4J z`8$S>WK{Yc!=D+Je#dCZo>=-Fqb)I6`W@qt6=xLL+Fy;=Bop5Gf$qN=UEOMJca0dy z#8j}|HLkR(wcRtWOD04?%l`L_ulm;7em5>jCO+Gy`}}USjdQhil1zAQPa6EYk=(!5 zrdU!X6H#DOEbE`FwV5pWl8H>PnJhlTYHgaOm1LrD`&=*0Vjop&(=B}@6H1}(qgx8^ zvlX!|ps-xgEl(x7=F5^y^rL*v`)pU(HjeVGo9LQvt7Jm#_#MitKdIJcSRRv1c!ABZ z9CWc+EPrKN7qD3@ttZ#!vsyYxCY}PD)w0vY=4Ls-wnJcZvz%b|KCn8LH7T`G>RL8R zCLZ1SyH8z9z?53sBbGLjiBVvC#PYg}t)8WnZJA)JXBkf4{>#zhZgEH^PJqqb@`;Ph z!}2BD9@+J~kB4PKYHfL*mT8iSUSRXIG?-Rvt8Zx{nOFk0`j&n3YHbZHuSg~~@6ml4 zSZ*(NwJG!+<}%T8uluM57I$V{fi<*bNJeLPBg+c5rR>#x8d>t0tswSjMs3VSmZp-4 zqkEG^HL^@`u{E~LW?Kc=8e5LJ*t{*r*{1K?Gs@dipT5JCeb&VCm}DXtY)vecIo0Kj z_V%&dkqo|lgm0ZK>Kd|H78eC{Yi6lSOs>S6S!OcB-zYV+yv7Xwch1-Ho6JY8^|dr# zOHo8wk^g94OY05Q<;5z^Egd8i%7MjWn_IeWuC=wW#7HJuAD9-{!cv!>U&}W5Tf8I_ zW5MQc*}kj*Iq-gMl*cWv zN+wPo?2!DpW%38Lwjj$)$;7pTrO82-ZlBcJf-Suy6AcdSpAc*jLJ?&dC_f;1#zlS# zX;pj%(j>kn{ZBPg6?!J-lKy3+f0(RKo+wo=s|jiRACQle=D|3!ZYWg|3O**$mpsRi zOd&a)4(+xVXgl2^_TOitlO3q z*oP1Ho76l`wUX&Jly=ofeWXjxrN*@;F<>=|IP#I6C{=-aMf@>ctrN?%Utht1*HHJ+;20fBxsPU2guZmht^$b&6Lsh(6<9~nr zKjyl>EUc~RzQ~`u#KCm6^&;t|l;vI{&4Wk0wpI@xIq;9$e;8MfkOrkH8vY?|f;Y(H zIB8d-SA?tQpDFRb=OcSho@=sa{#{zmIj}yVo~b<(T{YF|NNTC9RquzS z^_TrD{iXiT%RlB)aT^4P=^Eh?C`A=bsI2f8(JG~D4Fk!i1Nq3jE6MXg`QW)3LAm}Y zRbl^w{(g;X>6rI^t7|lQWKpUj`VTP`u{IA|B<15PF)hc8EM1n;mvTKxr3|99)W=g= zO6iZXdNjI5kk=_WSK}=0Iz;cFQpYB^SbuQ|4aY*9*{>$_WY!po|nC< z3aOE2nVbz|dLDV=)kNj1$r93_R7Do0Uv!ZV)@LhOKn?`PZfu&V_nKxLQld^Q246&q(tXX)aUx7NuoxpuZwq$GL0zE?K3lEnR(}^y)gu z9*~|=x|S|A5B8GO$X2*oYg>1Jd>K<(We>a7S)R+TM-y9m|FL#GTjkh5S$$sDmRqfn zHJ3H4O;;ZUsgbpk{VX-IEwYAq-BG!p|Cm;UtnoeFc*B*OVZ@3=o zM<|z+@@n{C56Ei-%IY5Y^Zn_XOGd7arq)E0{qwMXlm0JKOXc;Y3Dp@TT(v=(M9?!T zuJP{ER&OFj-EX zUyyv5&x3kdZUy90#TAeyaSNnbD9ePn~vh zDP513w00zaJ4KU6S&oGMq#sIpnU?+hU>bd@=LEDW;@{`}qkr{mKbG>k9v9cNYu%=T zrz)_GCh-*I`ZHr7gL1t<{&=TcU2g63g#X02l2<+15C65aNyxfwa%quF?hRe6X+njL(C){!<#+E;-xd=vDY`5yvMyQ*!AI`IJ~5N7th-HF(~c#7Xcs zi%%%mgEQEFs?HC_`HV`uOcLkM>gORcEytMaQxw-H-qI@jL7w9>{)2Jk+#=^^X~iBh z35;MCKSNp*xZZYs&SMg_xn!-R#!P1r%rKBwAs<_gt>eG~|;I z*Lho}<(P3DMY4b7ngP=$v4HA^XNM-1Q7NcbsXwbng7n`4R%owFKSRA%6RL|2Hy!^shcHt~HU-Tt|ZZ20@nV`fWl9)dBU@$4KV=pr&rsV@$TOww~2( zJOiH9#}w;e=HB@CaV|ry>UPQFBFCXTLtWEy&b&sY;I&(UHGj2K#Vx8QS{1%KxJzk_ zbN_V*>!Sz*zQusK4$fSYSVWq74`{qd^EiFq5k=|VoW^?`neM#;(`Z$MylcZAQ^b>` zk#aBeh9Xd^0>2S9i4kP|qsA;olU_at8%OEsAXSd$nwF90kxx4L;F{JXmO|PrULd{n z!S8ES@iet@@3PvvGg*2*)W3Qy;abmpiXeTCQ2I@hWfTopU3=cMab(T=2AsD z<(2i9qfti2@mAe4m^O*?j)N zRj)=|?|uHg-Zh%5r=0z+QLS*+HHlxSZg`d{q8>e;L@8%xskwiauD248RFnHW@krgT z!N@I^kv(23H|X&2-bYSN)HcB z45#`(Xq^Q5hg%0cB$w2GKs_c~;W``7qg*Ke)ohG)Q)tzs3hB9wJeShdO^%{!O>GaL z27U`fXN`Q?AlLb>={)k0^Sq4gs=>%6E>S*7*hc;+RdM*fbnQ$i>vNQ>56bD!Vy#Z^ zsg<%mGM5~suGh!+AdXplOwptdN>!lV#CmzPl2VR0IZrw%7ru905mHLcpYeHc4#YA4 zKYOnGGu7la$zMsz7Ttq1oV(OBecf^YDdlu)JASzwfKZMfZHBuFkl*dvaG%5oqalt- zB$Hl_3Y-;HF_Sd%2+Db~R;pqNS^u5p{$H}mIFHjR0@JEkSrZ@AScgIv%@NYPbDsvs zkIZ|*MSsF2FMczq3RjIR_iONh*@o5$^1A;uMUYaCFu+z40hrQ8Dg>Xyno2q|4x#Zn{NyQ?Oq zDh^QI*GYpuFkk&4Z4zfla{(lrFL2#4iSKHB6uxJXdF4}RnZ8-$qY6x$gjj{`HAu=9 z@pCh3kxa`qp$GVwL{svVHFuo{unwwdMb_H%znVS#Xe`yPF{J9)2)>t^VJ8{yA$GsDJg7kZ4L{iPd>!AIfj`|8?3Vo~-GC z>hLL;CjNCqCV9#`L77)- zWLmBnK-c!}q9Y>p^12}N%Jj=MR#~D+)M{K~!d&X&`3a;=!ubbH_4Qgl=fOHuUo~V| zn5+5>l{J)lIf|r4j`LPWL*hfgH1NYHf^ zkHY6M_+UC4J^`YeXbPVe@OcbA9pDoNpN8;>5Z%Gn9c6I>As&ZM zTlj>)2YFx7TXcrcAovW0Pd5=OdWn8e&Tx^aj0Bb_Qk5~{Ns%fNM4HG_7D9Oop}d8V z|0yvNKK0>KsXPVxr$GM{=+ng*u~aTdVbC20-C@wZ47!&=_cG{S2Hne` zdj)i_fbJF0y#l&dKzBs^Q#k_ZBanU-?5~3TRj|Jbx>rHxE%w3x{x)jp5Ut%=vlNc>S|w7g5-ENn)n|{0hj(HY z!MmV8d$b7N0X@(CJmi|;b)M>W9{ORe?L5`$JVag(>5)+=TZGI7pIad_yhfPt|2~sQ zrhv>d%_6ywWG2a#By&h^AXz|i56QzMUkCY`QcCHQB+rmMPx=awzlYoa`K5XrWUQi? zQCdOfnLH`&DNy6B1bOrX*@4pd{zz|S%<3=Iy2_pjx(}wErmF(~BNWqLnQWwAs3foU z3~g?{+^kRi*5)Ov8-=zuFJIj(6n)-;Hyo{A9Z2bNlNZEa>5lr>loVzC>UN;e8CuP#=+6x<2bQ>j?(P`u4IR-aQmmAk8R$g{P#r=n%=4E0pJ zv(JS_K`Zi1!B9%95=^_g2P=52gK5{!Uvd@Ki(z}1W&6B$CGmlV~Xa5w|TB-278x|#xi;|b^ zfO;-(cuF0itZ8@-(wiHef%LxYN5e-buQdExjib`z;JxJ`;c?WKMA9UZCXqDQ8(*ry z3Z84;=EJ>5gr`!krc$q_Q96y%>6A{VbQYzvD7}i(t00C;0ru1f|BwP2{OqxQ{ z6q2TpG)1H-B25u#ib(@|P(!X_(i|ntQPLbGO(ba|DP2bCGD=5NI-1f}(OF?Qm&w^aOItOIEob@0Zu-{I{+f0XW)UmvH(hOWc*P{YXk6B%+^wsX=Zt9w>e(DMD?NGn))P0hvrOE0ANT)(eZ60Z) zsesw_Ojp#zD(Nb&OtMtGmaU@Eo(3a!rF$;vHp-*l@mH+u0-w=&9GM$yX2dY0q`s?`N`Y0|gd zz0C_={Jy&voe`B(hikHKq`}dC)7~1!;ji{871t+KbY`uh^ePqCDtEcuZ(r;jRbei0 zjEOQs4XYa0C0Sv<{^H^&FG|};`jZSM8EV4bh%{kuTow2pfU5%E6fg)zQLHjT%USO z^y}``i8lS7cd$o1l^bmm>yP$GWb3D7#l2mkOPP-l4e36+~l zC8klW(x_HxWKAP$8r3R|YLaF;x8A0vnSNORN{=+tH|y`!NuxTXnQ$kUG>V^2dDAIx z5}nJf&CNC}?U@UDn@0+1W>KFkq;!Qjb>n>R*5-d?M@P3d|Ck*Yy_v>yA&=@tIa{K$ zIIZQJ1D|?17o#^rv{-o4GrnP=0`{{DiHWE9SHW{gOoh4Srfo5pK1lNQm>UYNb8f&p zmP)`ns{8R6PgrLLy5sr&Ta354{ibH!JYmfV?+J%m*?Se4rgiu7D5AbCqR2(2N!{ys zc$*h?PwQ0-nySV}Np7IFl$mgxmzi*cms75@bS%oiXS8=bt#2=orhr;~8|plxcO_VV zwA~hXEl?Dc*C=Kx%}AAW?MpI0`BJ+GTnFy&T}kVZDvGm*;#8S%_1G8QA8+&-WRCAs zuMf;ceRjf%aX@y1J{=(4q)%(JZ;o%D6!3Yx&mfQ;`t$|;@IHN&1G(csu6POMI+EK# z9@c*I$m(;~g!AoPXp!!77izWAy#TIy1L~V${QPLMs<;o7qQ3gl!9H13+q$4%>0Z~2 zx$43dQ1^MAddABf-uJEgHZ$%!>kmFvjcp+F1B1P$%Is97K*lswQx zD3~ikd3ozWH9~nCq_??n;q2H_4Ubo;b_#rMYxstcWHau>9-&0!{}7u>^+^Lwf-OQ> zp5LTjBF&BIW?U_#n{l;}4y_pNt>}rNPxe#vkd8w^%2Gl)Cicss9$Q6mvOwksmQp`^ znih_IwqJy@A-`D31^tF5Hmkzo5dwYua^Y8h4>KWa;$3-ZY^Wi<3aFsk3hu7R=ad@3Q7Kdle zJ^!Q7uF>9QAa$Q|$XnGoLV2P9d#N|bg(|)e?W`Hkh#XqyTmYX~rIL>CHS(__d6#Np z*6{e&h0#*g*h|A)UeKQb-E10;2Y(HZwN1mj$O`k)q@GU(lV>Q&NRrW7SfjQB;vi11 z0r8YKp5nx5I6|T+P9?pC0M`b`;?AfqY+KZ*lI}h#>F&b}y_#Tq9j-Fv%Ik2IDOXaV zb*tT5o40J6HW1fH9lR4Y?5kvwsZefz?=+A*2BvB@M}&7er-K|lz02tSH%r5-Oc~t6 zj`q%iRzQyl9P?Qk%2ibJT#z=8%^HqaTp{-`p$6_KwY(``4^*@@APY4d$+^@IMPx08 z_U^BDl=`hq!F=-Sudu1X5CP6^(gd>x zcM=K(eN|&@>6hweDm{`kcrMo;5>2JVQMu(b(kd0azQ=2(DQ+g^G^rHVlAdo; zOwSgI>DfXtjrn4FwopvZC5q_@Lov<3mGsW7O7gEHYo);VZdFpQO7_90C6(gsupA|g zM(G*#*!GifR}#|kz!0lAwf)s0d*I5FXSxdY&w~|pLg=v}XVi1s-vjA{eT!1{dMhC> zwLOi~xMxv1wK0n{tH`>F)3`HHu8uQgYx5`BG4Y$pGZ$n&+=)bGC&m}*FO0X_3iXZS zBVZKaTBVF?dmdz-xs0B%l+l@922VmpdzVui%c)P!lPsq;mQ&9ZL1gs7qghV<15Z@o zxllR9EYk5DEYk5DJWFejLOr{%0P2A6Pb#Lm73%nQsH2en7;1%mRj%hwD6y66xaKL> z@oh?HA+7sdplBB;+Uu~sn&EXrozy*a=na^oB8FD!rzTvpRq1CZ*wh;W&%TxF$AvF= z!Av`OB3QEvhk(R4{g@3LGj$FBXIlH!HNM!8HS{*U1*b0P;oeZk_bJ_=_b65A`zQXz zr>=qfHhEF5DjnZHWP`jN{cM!iW|U>@8mcJxt{fXhxIu4Ss?zZdM>YfZb*j?w%|!l? zt7ND@Mf9=?2m7C3N>&as45-bu@njV$C`Q>_~xQe19ya~((xTi z(GV>#A)2B^Q#4Pt{Z0WI?2{V;-vd;Mpx9jy&VYvjdeF$Da7Es5k@njEV=( zp$YNi8E*tV1HGhf-r3y`(i9WlBNcDp4pNEWIU^yFJo~EO>}=jNk$v#(Qi%rcB$W(4 z%My~wC)o&p=GM^GYV%zJG%^~#c`Dh!eWg;t^QDAT@=PVqR60gc>d0MtK`;IB-Bj2o zYrr3OoJxaS?!`eH1@~0SEU)a|I`g}W7j_t&MS38ZY5OdCwEnV#CJxe zgJ)Ia^Gbu=jfX`jzPs_d-)48Qa$dPLvE#7w%7ER`!?GyaDg&=XRXV=e3P|+VCnkM|6mcE2tadEY#$N`ps_d;WyMDcLxl=tG^v{$0LHSrx9x1J+SJ4IRPbR zuhEsdx#=F%&a><&@Y21%&Go_oG@a?dLWGy63p#^s&E26x`9DnM7uSOjupQEHXYQde!Dxswt znv_|FPnqeD>8(w!(KiU!=o^G<^i=;ETsxM!U!!jjD(QMrNmqnQn*S>WzK>GTy6(Ga zSG1la`|i6p3fCw1My-O8u+kk@EcZtBg?B4j6GPz|4bQjDk9K@CaixB_S@VGAa1rRMEBnAqI31Jd56 zNyA`euD^wPi135a+;p9CU1@@O@9p~>Jl%>gT}2x2qR$fx;0pEk#Bxhw(J8-jOKQ=< z9$2nz>Nq|lp$|t7$LC;+;0ffq{do7$b^7%&SRb25bJH6TGeQ|Xz13K=6*Xph zcUE0U<7#~6$bq28xy4LxeDor{&5CD}Kk4zA`CrH46YTdvHb3y`*kJ3zvG8pI#CMJ@ zP$CY*!gHsd2k?Gp)`54`P^-tPKu09_B-lc&O;_zRM?*|_szCZ^*5FQYiL^q9w&Ff< zN#-{X;B%^X4@`F86U9FDV1xqBTzyt&6g#?W?Gl za;Z-?Q=CGIQ)Hzzj}_NE#a3LO7egi|mae56n zOLe$F(JoN5RrHjp+=_Q1RW#?MgUU@_#wrnH;EPIaR<*vgi@SHknr6iM1ym|4f`Y-G&=^yx#4|H9O>h! ztVHrpBz+?3lPR4{=~T*_=7xQn4xadAuV2pL5ovDN=UJ3Di#%6Rv{h8+T&i=f8`Vmu z{rxE~)&ZXUP+N+qEyWNSMuHojH4%z_s8~5lK4s*8RquT0pjz&RtLw9FefyrQe}QBr zS<6A@2WrA1ycG?;OK$?wL->I763sw17R^E0gr8y&4q;a;R+2%cDicA@R3?K=Q>K7i0M7@_B3+pdGDDdOGE13lvWP+jdtkSMJy4`z z4;)gk2Z|N!f!7r5fujocK#77qP^MrHoKUa_$`$N^N{Vm=BGePtl)sxT@KXqkX;v|& zMa7tPRgCFNdVkUfQ@TB+&r5P>m;j4b~0hCHX|r~1S5Np_dx7+~jsn@rIuT^Bbw0@U){P)Tt?z>DWIYQq()uk(yR`~r zwAIwUp6Fxs2N`FL0Xfi`05aY>3FL6=Jdlajl^`9~%^;JlJ3vmh7K2Q+z6Wxq^)$#d z>vtd*SgSy$TTLD6i45zbAhWD(K(4TM2D!@G4`jA=B*TDye6NU+*LUa`i6z`1FS1$iAJ)DuMMj81?Od3zy|8U6vQC)?}T;K7s8SIsppA*sANq<{;MMOUDVs8 z@2RR&P~VT^ys6m8?_FgqVMp~k=f6D({XXUVUol=%lF9zPl16w-c|OGseps(ez#;1H zj<``T@_fbu#u7$fRod;0rHtFnLUge->-;X`CBhz^{WR47(0M#z{Vq!hgS%{JJ|0FN zwr45e(t7)QZfCs22$L!4n*(CK{Fp~E@5#J^xnh-m%^9N@lNd7@eciYnj6DGxc*dv> z<{6BRy3#L$F`u!7v4RnPj70VGWwbLo7)uzPjG`X5Z;U+|$1^Tv%m>8dvz__7j84{H zVs2`}@fdqDj%UmO#5hZtZ)bd$(aH8p%uO~KFR7WtOh(05^5%?Dj7f}{j0KF%TS$MW zpTr7A;V-$un8aAZXb+I~Xuy52DswQ;V9aMMWP1s7Cu4M=%vZ_iXf4~H!B|qwAD8;l zAg&*y5-fRh#wf<5YHTCznT!RDrHmDfN?VS@7{!>xn8{ecSjt$zsI=q!j8Tk9jG5K; z_R=qdF`u!3v4pXd(aBiB2#*11zG%*9XN+QWFeWi(FlI95GZrwGGFC7uAsnAEiZO{X zld*uYl(B+Q>B#vRqZpGIGZ_mQ3juN5lrpbiR6=E(OvdJ6l1DKnF=jFrFqSgfJ4t^B zV+LbBV+o^^QA9|8Uq(BlgE50KpRs_kgwe?eKWdiOJ4QQW6r+PNi7|sQpRt6|$tb#T zJVraCgE50KpRt6|$=Ezn=8s~mU{tzFeRIYr#-wV5U!dc4DU-2)v6QibQL%Fz#wf-l z#!SWn#!|)#MkR{#Ge$8cF=jFrFqSe_FedfjdNLL;mNHf_Dm}Rz#wf-tKpcMs%*&YD zqj?@;%ml>#C}1pQtYB1Pq}>+~=kMmsqZpGIGuWQVynwNkv4T)e@4bFVRSNzWm2ENlI@K6AL=*`#Iq6|&r8f;%x5fNbTWz; zq@ORNozcOV!I;lj!f0R3Nj1I;O#(c&S zMkk}#$oU!Vj1I;O#(c&SMkk}##Q7QRj1I<(YTPXS@)^wq@;vn~lxW{6?GDCdK%5UU znCCN=Fgh6>MRI<0?3b9q=zBw5E zMh9a)V+o`9mE$ow7&9147@dsbF8eb&7&9147@dsb9{V#o7&9147@dsbH}+?AFlI28 zFgh8<@9fX$V9a1FVRSO)!~ZN(e=-V1a$iOVV+Lahqm$8BmHu|d3^&Q0jG_+5W9$~X zDRf)tzR+(&zYnbny&GzTJrd><);ugCY(Q9ISaR6xu=!!z!rlzK6m}!b9PSzZSa_T8 z`0#PzDd982Gs52suL!>v?)^mA6K_B9(G&l8;^q@~pD=au>C~=Mk4_1l)^{rGRNU!Q zrz@TAc5;ibMLZr688IZHGNOLxh|YxV_ki_`gd*9HLR<>YfRV0 zT~~L_?Yg7u8(l-XJ=JY#x2@fZyS>xxRJS_aZ+17^JKD$C^X-T1Kilg>)sOOt%I@)1 z56_-KJ%{#8>N&ILlAbU0{A-v!V|vB(k4cP4jme7H6mur#%NV^^-Ckb3Y`sEy zb?P;)*YsYCdhP3Vq1QLPuJpRzt8wp?-rIX0>HS{sZ+m~=`)=<}eMa}0-e+Z>HGN*{ zv#-yQK1chU=ySf$cYSPq7x%r^SB-5R8xh+*HYT=T?4a0Tv7=+h$EL>?#wz_<^b6`2 z)~{#3@%?i8?df-{->3bq^b>KGxJGdianW({abx3>*Der#~p!Mz7RIe6OO6@!lq{$_CNA%lmE9g;faFGF&N>=<%t$PYtA{G;){@!|2~ zK@C#+3)E#c#YfMLPIx(+)!?Aow8!zT{k zKKza0Zx444S4M=5=rLl}h>u1*K63uZwIfSLemC;w$lph{A2oPX#;C2MPLBG1lqu08 z(U#aMu}xy<#F2>;6Q4?4nYcEwAn{1zn~9}~A17W+tUtQ(=(=O3jkz@D&KPa%-g5mj^qW&8F*oc6q<43R$%FJJ z$YF*Y8ssowF9J7#dlPtwy22Au^+i45CEQ^j0uT6)_WGg;ux7w~fwchU2fwTE7tKW= z$W|f%_84dhdknM|?L@F>FWQI>z#<^k1yX%s=YioO6mF-(#aQtK><17jX26~XGoiMN zV84QAgaz18$jO#75YSU=!?1um$!cD1e6;g^+s(zk_9D0mdk)+Z8RB=5DNM?c&7!XIlBlQT!>>iQi$GW9(3(yoHWwUlpL`dWqfxn)a`(*L)X!I0jog@BaNrfQua?OKYA@27MF zeZ#<>AbkV-g6t4D0HkX!>FJucVc^r?BjdZ4D5J?ZuC+>TkW~}ewdRK{aEb~4HrQiw zB(!gX?L_L%wBG@Fn~@A{e-P4L+8+Vgqdi8ON^(sH?6I94P;;ci zZLq%8!Bhvw+an-@Lau>48(LKlN7NmV--g2J4I>Jze-FhvRFUR3$)FG&tZEqgSV%q+ zh7nv#e6cH9WnNd$m%6?RdS_Rx$>ZHH@wBN|6hg-N&Et=4mvQ7#*wqL9 zU0Zsr5BmG`r`q;E*FcE=lum9C>m|g|C$at?lKkXJ^cg(>HJ9}iu>NB(j{LhM`!@Ro zG?pP>fviu`e~1&(9ZB{iIgsR-A(ufvZ3ssDTTArGj>kCf5A|;d^T|+5|C8ho9qgcy zdU<|HO`~DMK_5g?o=wL`*dB#3Faq<+I#i6n_*Y5ZB>C$ItXrLtSbur;$vS6hEg)~M z+6Lr%S|^ZewVojJEl+}MJaPocRwSPoIS$g1quvAAd(?*@<=G+6J9*a2v&Qv2mFJy2 z6CZZ2$+KRbvs1?6(fm9K>nV?Nt8v&CInv}9a~)mM^S5!>cDL~;7mmlgKPA6p6XH&X zogjlk4uW)z_G>c6Y&qdo(8rRTIpIx6yGE9A-kfk5^raIprW{4@ar%x=?Wn_a-zn%5 z6!I7U`^%F0MUUc`cbzxB(y$KoJ=X;bkvI1xkcA{)p1Tv$$4DM0`O#eT{F>x-^0`OS zZQeofY%mY!gdaNm71G}GPzKF=2c&%-=2}+w1f)mK!&2l-ex$=kZP5QbNbh+l8_fF_ zWYE0pAe%lC(H2Jjd^{^%Xa27=9N{w;qFhKagQUD7)c5=ma!sLg`G40IjPUhbl&)=Q zFb|d(P%Af(LGy4X^qz-l*@|ZuVtv*w#P-S-&2HQftRv@Px$BzXS-g26<|-u5eI)lj zg_`|!{Na04IWncDz9)_oIp6+mF_!Do|3~n#yWIxqz5aL)c>c5=kEUz-hYeVY)c;r0 zd7H=d{#SWNb;ptOY|-%^7V)B@!kR1(qynoq6MPhq7SR!YTk0V~LBj6Pu&PsG6{msz zCshai&mb|M0h(zh_-&w=4pN1+o)!G-gY*zTnBBnoPmro;0Bb?mR}&<>qZ1;ju=aBY z*$8r|@XOi;AcMi8z*?^%q}zf8c4!Bw!m7_3(j7pm@YPKdkb{H|Xa$}$ApA1rkHC_;;Cz4Eo(o`{-#lNtD*FTv!&dr1+CtJz=?|JZBz=_upl?R9l`;s@t(75Q4N`_e z`f-xM$}rHhA=yqD0s6Ki+bg3$-+^S9G8*)uB&RE5Aw5S)0&5yb6@KG89?}azs^TeS z0;HcNxk#A=nsktgSOWVw!CPxdW++oZlL=B4e^I7EdMU|glo_DOBDqYN1^VS6;R_yR z4y2zW`Mfe0G^5oXBRti9KhUBMkkD!WAKq}%hxK~icS&*>*q_PXr=SY6>zo`2Xz&MZc?9uAj z*oxzX{2@?&ngD@7Ax?b9vFucmkE|10wk6xdPS~t=SMtUyt+KnaEmDfjS#D@KOM#X` z!<~yOg+hUHLkUpMaF(n5{1hnRZs32O_nrA>zGG!MG3{T=JKubB&pYqD*Bl@8hA#6Z zxHr_g=Vba_>XPrMVBlzgFCJxevmBS?FTt(k?t)v*eHHFg za$kr0)Z91WJ}vhxq;tT@ZZ+G4*pxk zeP8!__&?LV0q$Mhm&5%^_aM@I6>iS_XZJANT+e2>-9203_Vg6sKBnhNxEJ+oN6Ka5 zUeYsykc;7VnR?GI_z%JDGSfYy@K3?*GBZ6mG-?{+-q5oTAx&}HxR(o5NZi?;0|-A1 z7xbs+TKI1i_X#~kg!~Cy^tY!3|DTF`tf!2S=jrg@4!6s^v*#J`zeC(RdY*-lzZdu2J!&0{-`l`%gVDLdXZ;c9{?LyafIa!tF92>3JFaABKyY^Lt(n|3}6B zc+V>k@(FSOx#v{~|D?E|>iHXl-zn~Adj1ySpN89ovjne&|Fdwr%;$SxLxMUJ#U2nOXA+u^Jav61uo`h&&}|E2X4-Mujf{{Kkm65AwPkOJD+>r2KT2u z??A}iaC7EoJ$JzWbGSM4i=KDE|4VUy-SZC!`IWf8>3J{0|5M!G_Ph___rQher1t~x z|E`B_SMLWAk`uS5_rnP37Pq(eqX_SV3;NmnarjSz3;NmnN%$AT&6!JkKLz*CdOr>K zdA*;7`~2R|!F^fp7m((!dcOq!%f)?V?_Kb}s`smKU)}q4xNqX z#m(o}A*4^-)AH*PzDV5u{04+ChKsMm=P!r}75C|vN4d;$Io#C=5mN`yRI+za#D5&lTHz@PjG+;#a~a5v^h5q>$`ocZJY z9{300f}iI1!9NTa{4{?x{F~uor1A&g-wGG}C4Vja1#z#;7ZI{eT%71f_;zte@@0hY zfZJtu<*V@T6nA%i5+S4F?#b5>J|^zo{2_$zgPX%ynko3NhMP0{^9}e9h2p8NW{{pyA&;JG7m*roC@V^xIuktTJ$jiljMgC>*zd8SM#J&YCXm$P-@ZTct z?fF+B9Kal@hxF5;C7VgLMH^Kc({`GJ_mwzMNyYg>_`?dVdaKDwm74CQQ zx5NEG{%vsoJ^v24Kh56(_viU{!TnACAK?Br|6aJgr@asEX{UVv?ir_j5bjy0eHiYZ z(>@A!?`a>;^+FHohF*0Ww6oLAyW!$4-7b95793=EZjE_+&rY~+?b(sr0NSz$+Q~ol z=Hb4-w-@eLdKvz;-kos2(YqV&zxDRRj$ZFu3wH=cyNza3-&t_C^qmd&iay>DyshtC zxL5T(5bln?2f^Lh_h7iY`_6+q*7p#&d;1;+cYhym8os9QLb#9XdlcO3`W_8;yze5o zmA;GNPW18i;e≦a=azTZloI;7<3ggFDl=9&WR51Kf7so2 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%0ALTGAtg)1iO06SoinziiCGnY3Sk|2&l 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 literal 0 HcmV?d00001 diff --git a/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl4/Newtonsoft.Json.Silverlight.pdb b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl4/Newtonsoft.Json.Silverlight.pdb new file mode 100644 index 0000000000000000000000000000000000000000..81738bd366688f97219a1a13fc8356bcd5bcec39 GIT binary patch literal 816640 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%0Dj^h~@8<%W%{n7CmL(LrZKCT$Mea{$Y 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

TUveHGqd9I zv>N?rzE)w(pVF$a*Uyu*9@^Ist76Yba$n&!1~2y9`Wlsod9Joj;Z-<_g&!TBpLm$( z=ZEJf9p?F%@Vw_?o@*>5{wE*i`B?7T8beM##!d8Tl-I}Qg`;m@@7CaJoB8mD^_Eoj z)nAOmdz+Q-r+a~)I==@$@uaePGYs_|qrfJ!Pi6S zPF;{V>>bPL)i12i)Ts*^HaRQ&F2ZZg=vn-)4B^F_CNeL4Yc3f50{`xJ9Di*~3vW(0 ztg`*n@`Fjvi^J*7WZ;?jSHgQcbSBsD5ByaoWFF)AGb{7^43_p3Iv;@FyMEx)u67)= zkr&qX!kY~=Y+Ku$Zy&5}9<54=yT*h2?Sy?;@xx#X{XVP-&CRt@Y4vHItO`$fg*E@u zxysouj$kKLmWn->oshnP=sENE1r9%TvoudyoLR6WQ>P6w zdR~ftZJd{tQNvC0;C{>C^}~c$bB0l#dvii%;ZbCpP8j(&Kh~$)pXd~Q>ys1sQJCim zGnFvsaJ@IgYxO-2Q%sL-*JXbBF648$S5Er+zZl97ALyB!S;!V0S7VP#mz`wb zann7x-!AZ)ZM=M0b%RsszrY^vpl%puIS~1rWd~l*!8dZ zJF~f-jdQqCc-lBy=Ml?kKFQp1@Z4cM`Q)rMEaBBAr<>KtT1i-iGr!U)-Tc(A^7AC` z>@nHkV$Us4WM_*#AH{vMDY@tL)BG78CYo!fm6X`e@|Mh$mArpMw=B<}%1`WXQB!Mc zrg2hUj9S}PIg0&-_FNU7J-idYRh6jD}oJZdmYZVhgN=i zs$+w@!GrtlMqZBnk5GqaFK$}ippOXW=cww~RPu5Uq_F1S>d3E;ke||ZvFFOqwx=iG zCS4Z3Io7k6OF}ZQtSjaM%HD42@qOM2jdeE3HaY2$$*<_Kw4xh(cvd1-Yo_ndxlBl}ls8zyI#@lpa#yyw7s8NAEkJ@!Yw+=;i65Qklo zS(Vg9h1*5Av4k6qzq>*>n_rB>nXR=jI_s?uVfII1R9}mQQGT>NPx8y8)v=q!45xV) zbH|e>!(Iw??2t0)U#672Pax|M!Yi!#H@*Hg$rt(zN4b~S#*QX)_fx#2r<=fF4`g0q zGOL3`gQBL-br7f4E?9ye$vh8vpNACI{F`0KCNk%@y`}2d`XXA#k=y0L{Z=CH117JP zd#_q2XC-OWI*`JcKP&SG^W{w1BkPalo?|D%d#cv&ik}rL?|O&pAXE+C13^B;tF|Q$ z8{2s4RpEvp?-}^({hz+ z1Jzom!dn>WLAw3@5%OMoEcV>;Uc%&_=jUD9%Xof!d0pr)>qs#tQ7+FkS=y9EzRv9@T^or{aankkQKj<_M<}Dm zALhB0QHJ3~!<&7oJj`>mPbVDu+?|J}jFfx~or=aU6{f49$d4CZrSD-#BcceU_b#pIe%_oy<)t?pKJr zk$W%w#M=bvOYK#$u+~9UyU{?ngV2rm-56l75g)x8DKh8$7F0O6CTqnyj?da3z zw;R?!J`iM$?IW9O${sga$6JTfw;XC9#vx-V^Df4-P8~)ZrYmu2cz)&xJZtfJG(4X# z!m|TBKYIk8^GoDu<)G$FpS*{ngq}<}_?+>~SFI}tFCu4m!YPdTQ<+x3^Od9=9J+2* zewgQG*Sj3%x!HBur-JyM-8H+edRg$?jU~*ktIidBF1xNZ5FmQa-tx>H%j=snb-`5f zHDy1}P8awqHty&-h_xYfvn zMzY``S*#x$hqG~sh3SMW@5S%+A&kW{}{``v)*{Rslm*Y=H{kmJuijV%Y+*N`F(!5 zGisF2p*rh5kgUo+n?b*?R^Oz#9@6(}boS$D@ND*V zw-Q==%GdLr$c5a~Hw(4L^#k0~w+VIrp!S)L0N>>N9*;J==|mhC?qQxilk9Ewd(YCz zp0tkmQQpYSM;2W#09EcYPB!gZ)%SC1k~sW+vfQ^I<2Y^)aV!CqFH2n<+8?bw{#Uv< z&{4|o5zBq2Lj0yeauhTtM+>Na?s9MdxB@%_TnXm(`OXdUU6;t`_k^W+TgAIrzBdw9 zHWW>{efL=x*O|m|G4lEEixPj>yOmD%ekn`?B=-Qf-~!QH z{kM0eq!+*MDV^+}iuLjo@%6yZ=fPg!Hn1A}A}D#bgW~@skouJRGI$I4Rj{0zqkY=t z?)?<)?VpMa+UI{O_vX61or+(-4=J6L*-qS3y_Wk1@u>a#CfF1F7AXF^T>Sbjsp8eQ zJf^$&c&8%l6Jnn}|K$|!Rrk-o%cAsspYYQ255RixN8p{{OW=LrPr>(qKj#R9e+GZa z^;Ylz_!aOsAaS_&Ph=B*&-L%XSHM4j{{wb{KYZO8yMG3Gzd}Yo%X<;-osnrE^U+!D zx$O%2_mH%&U1wQc2i*u=4_(MIxXvFP4o(U8E&;2dbGfH)n#$jK&`g-i_)X<;1z;;oE_KdM8Eo)xV44%aiopll$F4y-y-No&u^4svK%sqc7K^K=xI* z`l0({xF)TxT$~P0;d%h*zl*CfIEXvy^J+i8Y~4_IeLN@EbPKDD$Mf!xKVz(qOGkfMc1AZsGo4}dp<9|!gB#*e^Tz#oIRg1-dkfxiY7-*3SAT>k~E z1KFtT-mN$hT*UP$px&`K6?FLp-p=*eU;{V`TnbJE8^LKH?^$Q3gDv1yATr)_3y6%_ zh2UKv->pxr2JZmh2tEwn4Za`Df*%6!1s?<73_c0I1$-7<3+@E}0o(=tBe)xU5d0DN zHgG@qUQl`aKJXRr{a{D({X<|mb-}-vGKMlT4q8mP*BR7fs0&YlW5e}$u7Az{+1TaA zaIYrd-8^edouF16r#f^3CkXeT{GEU`?m;VmLTWEK6dFeuSsmscX)!#np#kmw@^F1y zK%GOUc0gx{t1VJnsdx3>1buBpFSwR1lO)kg0F z{Tbf9kWYOS$v%xVoCbc{$!t1QzWRL@>16+fcq%@*{lq0%unkU^*oLgywFBTl@MX}y z@2mH@bPl%4;pr}&H=_W*MM{c*N7 z-63_4%15UTse7*hyL9mH0d@uFaow#$>dk6X84PA01y2G$2KEF$4)y`R1NH@<2eDh( z7r@hruNN|%!8Pqnsv0~EJQKw3r-p#CwdcSe`f9)<&jZcxhUov;=)daDB1nCE-9Lvs9GQ%D8j#=bTSzDS zAJk6GgXGu;nPs{ybs;za91p4#UkuIwF9oj!YryM4Y<0Fg^=9~}>^vP%a_ic^TP~h{ zPeJai%a|v2{+|B$xstfl@~U1917~nO3%nY<5xfS>fV08!)cx@AwZAL9(Q>R$Ikno( zpw!sSuj!}V`aZ#2-5SPyxw*vA3A_PRzu_iuG)UXx`qQ=Ge6AOPcY%^=HCWFz{rl7s z@KYddPxeb-6Sxy>0r!LQul9F2*S`ku1nGmNR)QUoLC-sbcX3@FuIY2B^OLOt?*-2U z*MJkj`@k9CT2N<%`#!7A-j^-c`R_}KUGLEj;Qz_#3hZ@{R4w$5=>BE2A?La46T;}M zf}F3QtW+=piu-BO?68;AJxnKS_%wSd*)2KAuloGf4mws}??iS_+Jhw_oXU}0+#Y-w z`MYzEwm4e>egy0dZU$A?KL#p4o&Z&LeH%2IGOTjnBPqvS(8U9R&o2DSsXs{n);ZdE z^pr|{8axjCOo;chpwjj^@B&cjQ2*;`uBU@v1aAYkgA2j0g7<dNTJ z+XvtNdi$U{qw@&#%|*=>NZ0B|RiWpH!CRo|{J$9K)&IH&x)G8ee}1n=)f0U$V>0B& z0!qJM`%Ne7$ZC(&X2?xIwhrJVP`aNCP6RIluK+pA(b>0Y;O$&r3El}RFIIsw$fI|I zGr9laaQ`uI7T2Eu=YU@TuLrk-bHSg0H-f(bZvxfE=5#ZHG)$pRHGr4mLt`J=Q;neY zU+*zD;$LNSRJxq;x}{b1->(xFKil{1@M^`Dyo^8j_3OBY_q&>MZhrkbYw_~~-bK7i z>8Z&tHZZJXrrnw*x3FN00icrLgGJRiIdya0Rv z90&d*coFzk@H+4zknvMWx}<-cdIw1VHpQ9f+0TQHf4Ke%DBYw;`@2E1Z~^!TxB`3(yc-n1d&2bt;77RsPH;205&Rg4 zolSild>McJAHaAg~TCY9Zrvhdp@i zpUKZ>@S|`36swyL5cloW&{-~AWlDXh52!3t=GA*qpL`4>p-Jw)|JJJPgU)D}#wf@0 zt#o~0eGBJ&=vKl^pjA~Xq4rL;#E(r>&;2@FI$6i7B;n!{D!>}2Y=bW#=mYs{y9#L1A(Qttz*&inqG>ha_IeA}WnTaIFfFYkT`pCOD9 zRX63=ugw*&^YVKmCl#4rzovG0zw;T3%I_W+`Zcb!TkjHQwT_H^oO_;lPvqYZu$Ahs z{X5s1H~A0n9pE1DJ>Xt&JNQ#j`ST0#1@M>Pi{P)ppMwWL_32**&j5c54gr4;UJU*L ztOfrFGKZ1+6UZEeEAuPCzi`dmL@M2hc^j|;_)vKMcCZuI?+n))z%E>G3fGT?>raBm zasP8*H}EH5cTn>y72t5{l)}+hcYIZsE4jWIWJ6WYmrV5qeH*xf{IxdG z_aS|I7}vw?u8#E}rz_}R`*!kj(6^DkUvfEhF~3haM_)n4^CrsKfTV9YkNbXYDa~E) z%78iH|5=35_1R!|P9j*BXmX9;zpPt>{Sx zG0#FTLILOY?o5T-HJ2O0~_gc_hV&}L{mvlBiYEOKsr+P5_i zgWafy`ewM5*=L4(KPtaZqW>4$kOw}*|ITlm|Eq%tD)Q!LqL&*n%C2aP=a7cW>N5>> zEqdR<@91L3fU+Jc+XsP2bY1=aI81;%9B(dd77ZrtVC1JoZ8_opgK<{Z{Nye&-IZFQl0QR%$;Kv*NIx1h?7!PNuB5~ zqlHs^W2q1G+E^#z{9ox}U|u4i;B4}L LG6FDaK+D2YBznZs;+?!|0{*m+BSNES~ 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±i{ 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 XG=Zkj44Oj=XbG+0zsvvoE%3hperCXG literal 0 HcmV?d00001 diff --git a/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl4/Newtonsoft.Json.Silverlight.xml b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl4/Newtonsoft.Json.Silverlight.xml new file mode 100644 index 0000000..785f476 --- /dev/null +++ b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl4/Newtonsoft.Json.Silverlight.xml @@ -0,0 +1,6361 @@ + + + + Newtonsoft.Json.Silverlight + + + +

+ Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Gets the type of the current Json token. + + + + + Gets the text value of the current Json token. + + + + + Gets The Common Language Runtime (CLR) type for the current Json token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A . + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token. + + The to read the token from. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Indicates how the output is formatted. + + + + + Initializes a new instance of the class. + + The stream. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor then fall back to single paramatized constructor. + + + + + Allow Json.NET to use a non-public default constructor. + + + + + Converts a binary value to and from a base 64 string value. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Create a custom object + + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an ExpandoObject to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Specifies whether a DateTime object represents a local time, a Coordinated Universal Time (UTC), or is not specified as either local time or UTC. + + + + + The time represented is local time. + + + + + The time represented is UTC. + + + + + The time represented is not specified as either local time or Coordinated Universal Time (UTC). + + + + + Preserves the DateTimeKind field of a date when a DateTime object is converted to a string and the string is then converted back to a DateTime object. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + Converts an to and from its name string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + A cached representation of the Enum string representation to respect per Enum field name. + + The type of the Enum. + A map of enum field name to either the field name, or the configured enum member name (). + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the Assembly class is used to load the assembly. + + + + + Specifies default value handling options for the . + + + + + Include default values when serializing and deserializing objects. + + + + + Ignore default values when serializing and deserializing objects. + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets or sets a value that indicates whether to preserve object reference data. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the Json string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Represents a collection of . + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance using the specified . + + The settings to be applied to the . + A new instance using the specified . + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An interger. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current Json token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current Json token. + + + + + + Gets The Common Language Runtime (CLR) type for the current Json token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Represents a JSON array. + + + + + Represents a token that can contain other tokens. + + + + + Represents an abstract JSON token. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + The that matches the object path or a null reference if no matching token is found. + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + A flag to indicate whether an error should be thrown if no token is found. + The that matches the object path. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + 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. + + + + 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. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + Represents a JSON constructor. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + 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. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Occurs when a property value changes. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Specifies the member serialization options for the . + + + + + All members are serialized by default. Members can be excluded using the . + + + + + Only members must be marked with the are serialized. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Specifies reference handling options for the . + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Allows users to control class loading and mandate what class to load. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Resolves the default for the contract. + + Type of the object. + + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + Provides information surrounding an error. + + + + + Gets or sets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether [default creator non public]. + + true if the default object creator is non-public; otherwise, false. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets the name of the property. + + The name of the property. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets the member converter. + + The member converter. + + + + Gets the default value. + + The default value. + + + + Gets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets the property null value handling. + + The null value handling. + + + + Gets the property default value handling. + + The default value handling. + + + + Gets the property reference loop handling. + + The reference loop handling. + + + + Gets the property object creation handling. + + The object creation handling. + + + + Gets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Serializes the dynamic. + + The writer. + The value. + The contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Represents a method that constructs an object. + + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Always include the .NET type name when serializing. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Determines whether the collection is null, empty or its contents are uninitialized values. + + The list. + + true if the collection is null or empty or its contents are uninitialized values; otherwise, false. + + + + + Makes a slice of the specified list in between the start and end indexes. + + The list. + The start index. + The end index. + A slice of the list. + + + + Makes a slice of the specified list in between the start and end indexes, + getting every so many items based upon the step. + + The list. + The start index. + The end index. + The step. + A slice of the list. + + + + Group the collection using a function which returns the key. + + The source collection to group. + The key selector. + A Dictionary with each key relating to a list of objects in a list grouped under it. + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The converted type. + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted type. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted type. + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert or cast the value to. + The value to convert. + The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert or cast the value to. + The value to convert. + The culture to use when converting. + The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert the value to. + The value to convert. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + + + + + Parses the specified enum member name, returning it's value. + + Name of the enum member. + + + + + Parses the specified enum member name, returning it's value. + + Name of the enum member. + If set to true ignore case. + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Gets the maximum valid value of an Enum type. Flags enums are ORed. + + The type of the returned value. Must be assignable from the enum's underlying value type. + The enum type to get the maximum value for. + + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Tests whether the list's items are their unitialized value. + + The list. + Whether the list's items are their unitialized value + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the string contains white space. + + The string to test for white space. + + true if the string contains white space; otherwise, false. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Ensures the target string ends with the specified string. + + The target. + The value. + The target string with the value string at the end. + + + + Perform an action if the string is not null or empty. + + The value. + The action to perform. + + + + Indents the specified string. + + The string to indent. + The number of characters to indent by. + + + + + Indents the specified string. + + The string to indent. + The number of characters to indent by. + The indent character. + + + + + Numbers the lines. + + The string to number. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation event. + + The JsonSchemaException associated with the validation event. + + + + Gets the text description corresponding to the validation event. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the identity. + + The identity. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets a collection of options. + + A collection of options. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the extend . + + The extended . + + + + Gets or sets the format. + + The format. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified id. + + The id. + A for the specified id. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + diff --git a/CharityPortal/packages/repositories.config b/CharityPortal/packages/repositories.config index 7c9b89e..e25feb0 100644 --- a/CharityPortal/packages/repositories.config +++ b/CharityPortal/packages/repositories.config @@ -1,4 +1,5 @@  + \ No newline at end of file diff --git a/CharityPortal/scaffolding.config b/CharityPortal/scaffolding.config new file mode 100644 index 0000000..6af3972 --- /dev/null +++ b/CharityPortal/scaffolding.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file From 4d28f497cf72bccc76aca8aee7f4b437a615bec7 Mon Sep 17 00:00:00 2001 From: Ivan Zlatev Date: Sat, 2 Jul 2011 21:32:04 +0100 Subject: [PATCH 14/31] Future proof the Map control to handle HTML content by using @Html.Raw() --- .../CharityPortal/Views/Visualization/MapControl.cshtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CharityPortal/CharityPortal/Views/Visualization/MapControl.cshtml b/CharityPortal/CharityPortal/Views/Visualization/MapControl.cshtml index 088508e..31fff54 100644 --- a/CharityPortal/CharityPortal/Views/Visualization/MapControl.cshtml +++ b/CharityPortal/CharityPortal/Views/Visualization/MapControl.cshtml @@ -19,7 +19,7 @@ }); @foreach (Marker marker in Model.Markers) { - @:addMarker(map, "@marker.Title", "@marker.Content", "@marker.Latitude", "@marker.Longitude"); + @:addMarker(map, "@marker.Title", "@Html.Raw(marker.Content)", "@marker.Latitude", "@marker.Longitude"); } } From 2bb72811ab86c19871c6086b34c665e340de6964 Mon Sep 17 00:00:00 2001 From: Steven Reid Date: Sun, 3 Jul 2011 10:26:11 +0100 Subject: [PATCH 15/31] Last nights work --- CharityPortal/CharityPortal.Data/App.Config | 2 +- .../CharityPortal.Data.csproj | 4 +- .../DataContext.Designer.cs | 82 +-- .../CharityPortal.Data/DataContext.edmx | 396 ++++++------ .../EditorLocalization.bg-BG.designer.cs | 0 .../EditorLocalization.bg-BG.resx | 213 ++++++ .../EditorLocalization.de-DE.designer.cs | 0 .../EditorLocalization.de-DE.resx | 213 ++++++ .../EditorLocalization.en-US.designer.cs | 0 .../EditorLocalization.en-US.resx | 213 ++++++ .../EditorLocalization.fr-FR.designer.cs | 0 .../EditorLocalization.fr-FR.resx | 207 ++++++ .../EditorLocalization.pl-PL.designer.cs | 0 .../EditorLocalization.pl-PL.resx | 213 ++++++ .../EditorLocalization.pt-BR.designer.cs | 0 .../EditorLocalization.pt-BR.resx | 207 ++++++ .../EditorLocalization.ru-RU.designer.cs | 0 .../EditorLocalization.ru-RU.resx | 207 ++++++ .../EditorLocalization.uk-UA.designer.cs | 0 .../EditorLocalization.uk-UA.resx | 207 ++++++ .../GridLocalization.bg-BG.designer.cs | 0 .../GridLocalization.bg-BG.resx | 255 ++++++++ .../GridLocalization.de-DE.designer.cs | 0 .../GridLocalization.de-DE.resx | 255 ++++++++ .../GridLocalization.en-US.designer.cs | 0 .../GridLocalization.en-US.resx | 255 ++++++++ .../GridLocalization.es-ES.designer.cs | 0 .../GridLocalization.es-ES.resx | 252 ++++++++ .../GridLocalization.fr-FR.designer.cs | 0 .../GridLocalization.fr-FR.resx | 255 ++++++++ .../GridLocalization.pl-PL.designer.cs | 0 .../GridLocalization.pl-PL.resx | 255 ++++++++ .../GridLocalization.pt-BR.designer.cs | 0 .../GridLocalization.pt-BR.resx | 252 ++++++++ .../GridLocalization.pt-PT.designer.cs | 0 .../GridLocalization.pt-PT.resx | 249 +++++++ .../GridLocalization.ru-RU.designer.cs | 0 .../GridLocalization.ru-RU.resx | 255 ++++++++ .../GridLocalization.uk-UA.designer.cs | 0 .../GridLocalization.uk-UA.resx | 255 ++++++++ .../UploadLocalization.bg-BG.designer.cs | 0 .../UploadLocalization.bg-BG.resx | 156 +++++ .../UploadLocalization.en-US.designer.cs | 0 .../UploadLocalization.en-US.resx | 156 +++++ .../CharityPortal/CharityPortal.csproj | 607 ++++++++++++++++++ .../Content/2011.1.315/Black/editor.png | Bin 0 -> 2873 bytes .../Content/2011.1.315/Black/imagebrowser.png | Bin 0 -> 4863 bytes .../Content/2011.1.315/Black/loading.gif | Bin 0 -> 1093 bytes .../2011.1.315/Black/slider-h-both.gif | Bin 0 -> 98 bytes .../2011.1.315/Black/slider-h-bottom.gif | Bin 0 -> 93 bytes .../Content/2011.1.315/Black/slider-h-top.gif | Bin 0 -> 93 bytes .../2011.1.315/Black/slider-hs-both.gif | Bin 0 -> 92 bytes .../2011.1.315/Black/slider-hs-bottom.gif | Bin 0 -> 90 bytes .../2011.1.315/Black/slider-hs-top.gif | Bin 0 -> 90 bytes .../2011.1.315/Black/slider-v-both.gif | Bin 0 -> 98 bytes .../2011.1.315/Black/slider-v-left.gif | Bin 0 -> 93 bytes .../2011.1.315/Black/slider-v-right.gif | Bin 0 -> 93 bytes .../2011.1.315/Black/slider-vs-both.gif | Bin 0 -> 92 bytes .../2011.1.315/Black/slider-vs-left.gif | Bin 0 -> 90 bytes .../2011.1.315/Black/slider-vs-right.gif | Bin 0 -> 90 bytes .../2011.1.315/Black/sprite-vertical.png | Bin 0 -> 222 bytes .../Content/2011.1.315/Black/sprite.png | Bin 0 -> 5723 bytes .../2011.1.315/Black/treeview-line.png | Bin 0 -> 322 bytes .../2011.1.315/Black/treeview-nodes-rtl.png | Bin 0 -> 177 bytes .../2011.1.315/Black/treeview-nodes.png | Bin 0 -> 261 bytes .../Content/2011.1.315/Default/editor.png | Bin 0 -> 2877 bytes .../2011.1.315/Default/imagebrowser.png | Bin 0 -> 4876 bytes .../Content/2011.1.315/Default/loading.gif | Bin 0 -> 1517 bytes .../2011.1.315/Default/slider-h-both.gif | Bin 0 -> 102 bytes .../2011.1.315/Default/slider-h-bottom.gif | Bin 0 -> 96 bytes .../2011.1.315/Default/slider-h-top.gif | Bin 0 -> 96 bytes .../2011.1.315/Default/slider-hs-both.gif | Bin 0 -> 92 bytes .../2011.1.315/Default/slider-hs-bottom.gif | Bin 0 -> 90 bytes .../2011.1.315/Default/slider-hs-top.gif | Bin 0 -> 90 bytes .../2011.1.315/Default/slider-v-both.gif | Bin 0 -> 102 bytes .../2011.1.315/Default/slider-v-left.gif | Bin 0 -> 96 bytes .../2011.1.315/Default/slider-v-right.gif | Bin 0 -> 96 bytes .../2011.1.315/Default/slider-vs-both.gif | Bin 0 -> 92 bytes .../2011.1.315/Default/slider-vs-left.gif | Bin 0 -> 90 bytes .../2011.1.315/Default/slider-vs-right.gif | Bin 0 -> 90 bytes .../2011.1.315/Default/sprite-vertical.png | Bin 0 -> 222 bytes .../Content/2011.1.315/Default/sprite.png | Bin 0 -> 6387 bytes .../2011.1.315/Default/treeview-line.png | Bin 0 -> 322 bytes .../2011.1.315/Default/treeview-nodes-rtl.png | Bin 0 -> 212 bytes .../2011.1.315/Default/treeview-nodes.png | Bin 0 -> 261 bytes .../Content/2011.1.315/Forest/editor.png | Bin 0 -> 2978 bytes .../2011.1.315/Forest/imagebrowser.png | Bin 0 -> 4935 bytes .../Content/2011.1.315/Forest/loading.gif | Bin 0 -> 1376 bytes .../2011.1.315/Forest/slider-h-both.gif | Bin 0 -> 98 bytes .../2011.1.315/Forest/slider-h-bottom.gif | Bin 0 -> 93 bytes .../2011.1.315/Forest/slider-h-top.gif | Bin 0 -> 93 bytes .../2011.1.315/Forest/slider-hs-both.gif | Bin 0 -> 92 bytes .../2011.1.315/Forest/slider-hs-bottom.gif | Bin 0 -> 90 bytes .../2011.1.315/Forest/slider-hs-top.gif | Bin 0 -> 90 bytes .../2011.1.315/Forest/slider-v-both.gif | Bin 0 -> 98 bytes .../2011.1.315/Forest/slider-v-left.gif | Bin 0 -> 93 bytes .../2011.1.315/Forest/slider-v-right.gif | Bin 0 -> 93 bytes .../2011.1.315/Forest/slider-vs-both.gif | Bin 0 -> 92 bytes .../2011.1.315/Forest/slider-vs-left.gif | Bin 0 -> 90 bytes .../2011.1.315/Forest/slider-vs-right.gif | Bin 0 -> 90 bytes .../2011.1.315/Forest/sprite-vertical.png | Bin 0 -> 240 bytes .../Content/2011.1.315/Forest/sprite.png | Bin 0 -> 5665 bytes .../2011.1.315/Forest/treeview-line.png | Bin 0 -> 322 bytes .../2011.1.315/Forest/treeview-nodes-rtl.png | Bin 0 -> 212 bytes .../2011.1.315/Forest/treeview-nodes.png | Bin 0 -> 261 bytes .../Content/2011.1.315/Hay/editor.png | Bin 0 -> 2912 bytes .../Content/2011.1.315/Hay/imagebrowser.png | Bin 0 -> 4927 bytes .../Content/2011.1.315/Hay/loading.gif | Bin 0 -> 1620 bytes .../Content/2011.1.315/Hay/slider-h-both.gif | Bin 0 -> 102 bytes .../2011.1.315/Hay/slider-h-bottom.gif | Bin 0 -> 96 bytes .../Content/2011.1.315/Hay/slider-h-top.gif | Bin 0 -> 96 bytes .../Content/2011.1.315/Hay/slider-hs-both.gif | Bin 0 -> 92 bytes .../2011.1.315/Hay/slider-hs-bottom.gif | Bin 0 -> 90 bytes .../Content/2011.1.315/Hay/slider-hs-top.gif | Bin 0 -> 90 bytes .../Content/2011.1.315/Hay/slider-v-both.gif | Bin 0 -> 102 bytes .../Content/2011.1.315/Hay/slider-v-left.gif | Bin 0 -> 96 bytes .../Content/2011.1.315/Hay/slider-v-right.gif | Bin 0 -> 96 bytes .../Content/2011.1.315/Hay/slider-vs-both.gif | Bin 0 -> 92 bytes .../Content/2011.1.315/Hay/slider-vs-left.gif | Bin 0 -> 90 bytes .../2011.1.315/Hay/slider-vs-right.gif | Bin 0 -> 90 bytes .../2011.1.315/Hay/sprite-vertical.png | Bin 0 -> 225 bytes .../Content/2011.1.315/Hay/sprite.png | Bin 0 -> 5358 bytes .../Content/2011.1.315/Hay/treeview-line.png | Bin 0 -> 322 bytes .../2011.1.315/Hay/treeview-nodes-rtl.png | Bin 0 -> 212 bytes .../Content/2011.1.315/Hay/treeview-nodes.png | Bin 0 -> 261 bytes .../Content/2011.1.315/Office2007/editor.png | Bin 0 -> 5132 bytes .../2011.1.315/Office2007/imagebrowser.png | Bin 0 -> 4933 bytes .../Content/2011.1.315/Office2007/loading.gif | Bin 0 -> 2080 bytes .../2011.1.315/Office2007/slider-h-both.gif | Bin 0 -> 47 bytes .../2011.1.315/Office2007/slider-h-bottom.gif | Bin 0 -> 47 bytes .../2011.1.315/Office2007/slider-h-top.gif | Bin 0 -> 47 bytes .../2011.1.315/Office2007/slider-hs-both.gif | Bin 0 -> 46 bytes .../Office2007/slider-hs-bottom.gif | Bin 0 -> 46 bytes .../2011.1.315/Office2007/slider-hs-top.gif | Bin 0 -> 46 bytes .../2011.1.315/Office2007/slider-v-both.gif | Bin 0 -> 47 bytes .../2011.1.315/Office2007/slider-v-left.gif | Bin 0 -> 47 bytes .../2011.1.315/Office2007/slider-v-right.gif | Bin 0 -> 47 bytes .../2011.1.315/Office2007/slider-vs-both.gif | Bin 0 -> 46 bytes .../2011.1.315/Office2007/slider-vs-left.gif | Bin 0 -> 46 bytes .../2011.1.315/Office2007/slider-vs-right.gif | Bin 0 -> 46 bytes .../2011.1.315/Office2007/sprite-vertical.png | Bin 0 -> 216 bytes .../Content/2011.1.315/Office2007/sprite.png | Bin 0 -> 5668 bytes .../2011.1.315/Office2007/treeview-line.png | Bin 0 -> 322 bytes .../Office2007/treeview-nodes-rtl.png | Bin 0 -> 212 bytes .../2011.1.315/Office2007/treeview-nodes.png | Bin 0 -> 261 bytes .../2011.1.315/Office2010Black/editor.png | Bin 0 -> 2797 bytes .../Office2010Black/imagebrowser.png | Bin 0 -> 3460 bytes .../2011.1.315/Office2010Black/loading.gif | Bin 0 -> 2080 bytes .../Office2010Black/slider-h-both.gif | Bin 0 -> 47 bytes .../Office2010Black/slider-h-bottom.gif | Bin 0 -> 47 bytes .../Office2010Black/slider-h-top.gif | Bin 0 -> 47 bytes .../Office2010Black/slider-hs-both.gif | Bin 0 -> 46 bytes .../Office2010Black/slider-hs-bottom.gif | Bin 0 -> 46 bytes .../Office2010Black/slider-hs-top.gif | Bin 0 -> 46 bytes .../Office2010Black/slider-v-both.gif | Bin 0 -> 47 bytes .../Office2010Black/slider-v-left.gif | Bin 0 -> 47 bytes .../Office2010Black/slider-v-right.gif | Bin 0 -> 47 bytes .../Office2010Black/slider-vs-both.gif | Bin 0 -> 46 bytes .../Office2010Black/slider-vs-left.gif | Bin 0 -> 46 bytes .../Office2010Black/slider-vs-right.gif | Bin 0 -> 46 bytes .../Office2010Black/sprite-vertical.png | Bin 0 -> 222 bytes .../2011.1.315/Office2010Black/sprite.png | Bin 0 -> 6091 bytes .../Office2010Black/treeview-line.png | Bin 0 -> 322 bytes .../Office2010Black/treeview-nodes-rtl.png | Bin 0 -> 212 bytes .../Office2010Black/treeview-nodes.png | Bin 0 -> 261 bytes .../Content/2011.1.315/Outlook/editor.png | Bin 0 -> 2969 bytes .../2011.1.315/Outlook/imagebrowser.png | Bin 0 -> 4969 bytes .../Content/2011.1.315/Outlook/loading.gif | Bin 0 -> 2080 bytes .../2011.1.315/Outlook/slider-h-both.gif | Bin 0 -> 47 bytes .../2011.1.315/Outlook/slider-h-bottom.gif | Bin 0 -> 47 bytes .../2011.1.315/Outlook/slider-h-top.gif | Bin 0 -> 47 bytes .../2011.1.315/Outlook/slider-hs-both.gif | Bin 0 -> 46 bytes .../2011.1.315/Outlook/slider-hs-bottom.gif | Bin 0 -> 46 bytes .../2011.1.315/Outlook/slider-hs-top.gif | Bin 0 -> 46 bytes .../2011.1.315/Outlook/slider-v-both.gif | Bin 0 -> 47 bytes .../2011.1.315/Outlook/slider-v-left.gif | Bin 0 -> 47 bytes .../2011.1.315/Outlook/slider-v-right.gif | Bin 0 -> 47 bytes .../2011.1.315/Outlook/slider-vs-both.gif | Bin 0 -> 46 bytes .../2011.1.315/Outlook/slider-vs-left.gif | Bin 0 -> 46 bytes .../2011.1.315/Outlook/slider-vs-right.gif | Bin 0 -> 46 bytes .../2011.1.315/Outlook/sprite-vertical.png | Bin 0 -> 239 bytes .../Content/2011.1.315/Outlook/sprite.png | Bin 0 -> 5086 bytes .../2011.1.315/Outlook/treeview-line.png | Bin 0 -> 322 bytes .../2011.1.315/Outlook/treeview-nodes-rtl.png | Bin 0 -> 212 bytes .../2011.1.315/Outlook/treeview-nodes.png | Bin 0 -> 261 bytes .../Content/2011.1.315/Simple/editor.png | Bin 0 -> 2927 bytes .../2011.1.315/Simple/imagebrowser.png | Bin 0 -> 4740 bytes .../Content/2011.1.315/Simple/loading.gif | Bin 0 -> 2080 bytes .../2011.1.315/Simple/slider-h-both.gif | Bin 0 -> 47 bytes .../2011.1.315/Simple/slider-h-bottom.gif | Bin 0 -> 47 bytes .../2011.1.315/Simple/slider-h-top.gif | Bin 0 -> 47 bytes .../2011.1.315/Simple/slider-hs-both.gif | Bin 0 -> 46 bytes .../2011.1.315/Simple/slider-hs-bottom.gif | Bin 0 -> 46 bytes .../2011.1.315/Simple/slider-hs-top.gif | Bin 0 -> 46 bytes .../2011.1.315/Simple/slider-v-both.gif | Bin 0 -> 47 bytes .../2011.1.315/Simple/slider-v-left.gif | Bin 0 -> 47 bytes .../2011.1.315/Simple/slider-v-right.gif | Bin 0 -> 47 bytes .../2011.1.315/Simple/slider-vs-both.gif | Bin 0 -> 46 bytes .../2011.1.315/Simple/slider-vs-left.gif | Bin 0 -> 46 bytes .../2011.1.315/Simple/slider-vs-right.gif | Bin 0 -> 46 bytes .../2011.1.315/Simple/sprite-vertical.png | Bin 0 -> 184 bytes .../Content/2011.1.315/Simple/sprite.png | Bin 0 -> 4275 bytes .../2011.1.315/Simple/treeview-line.png | Bin 0 -> 322 bytes .../2011.1.315/Simple/treeview-nodes-rtl.png | Bin 0 -> 212 bytes .../2011.1.315/Simple/treeview-nodes.png | Bin 0 -> 261 bytes .../Content/2011.1.315/Sitefinity/editor.png | Bin 0 -> 2806 bytes .../2011.1.315/Sitefinity/imagebrowser.png | Bin 0 -> 4740 bytes .../Content/2011.1.315/Sitefinity/loading.gif | Bin 0 -> 1282 bytes .../2011.1.315/Sitefinity/slider-h-both.gif | Bin 0 -> 102 bytes .../2011.1.315/Sitefinity/slider-h-bottom.gif | Bin 0 -> 96 bytes .../2011.1.315/Sitefinity/slider-h-top.gif | Bin 0 -> 96 bytes .../2011.1.315/Sitefinity/slider-hs-both.gif | Bin 0 -> 92 bytes .../Sitefinity/slider-hs-bottom.gif | Bin 0 -> 90 bytes .../2011.1.315/Sitefinity/slider-hs-top.gif | Bin 0 -> 90 bytes .../2011.1.315/Sitefinity/slider-v-both.gif | Bin 0 -> 102 bytes .../2011.1.315/Sitefinity/slider-v-left.gif | Bin 0 -> 96 bytes .../2011.1.315/Sitefinity/slider-v-right.gif | Bin 0 -> 96 bytes .../2011.1.315/Sitefinity/slider-vs-both.gif | Bin 0 -> 92 bytes .../2011.1.315/Sitefinity/slider-vs-left.gif | Bin 0 -> 90 bytes .../2011.1.315/Sitefinity/slider-vs-right.gif | Bin 0 -> 90 bytes .../2011.1.315/Sitefinity/sprite-vertical.png | Bin 0 -> 188 bytes .../Content/2011.1.315/Sitefinity/sprite.png | Bin 0 -> 4586 bytes .../2011.1.315/Sitefinity/treeview-line.png | Bin 0 -> 322 bytes .../Sitefinity/treeview-nodes-rtl.png | Bin 0 -> 212 bytes .../2011.1.315/Sitefinity/treeview-nodes.png | Bin 0 -> 261 bytes .../Content/2011.1.315/Sunset/editor.png | Bin 0 -> 2958 bytes .../2011.1.315/Sunset/imagebrowser.png | Bin 0 -> 4926 bytes .../Content/2011.1.315/Sunset/loading.gif | Bin 0 -> 1306 bytes .../2011.1.315/Sunset/slider-h-both.gif | Bin 0 -> 98 bytes .../2011.1.315/Sunset/slider-h-bottom.gif | Bin 0 -> 93 bytes .../2011.1.315/Sunset/slider-h-top.gif | Bin 0 -> 93 bytes .../2011.1.315/Sunset/slider-hs-both.gif | Bin 0 -> 92 bytes .../2011.1.315/Sunset/slider-hs-bottom.gif | Bin 0 -> 90 bytes .../2011.1.315/Sunset/slider-hs-top.gif | Bin 0 -> 90 bytes .../2011.1.315/Sunset/slider-v-both.gif | Bin 0 -> 98 bytes .../2011.1.315/Sunset/slider-v-left.gif | Bin 0 -> 93 bytes .../2011.1.315/Sunset/slider-v-right.gif | Bin 0 -> 93 bytes .../2011.1.315/Sunset/slider-vs-both.gif | Bin 0 -> 92 bytes .../2011.1.315/Sunset/slider-vs-left.gif | Bin 0 -> 90 bytes .../2011.1.315/Sunset/slider-vs-right.gif | Bin 0 -> 90 bytes .../2011.1.315/Sunset/sprite-vertical.png | Bin 0 -> 243 bytes .../Content/2011.1.315/Sunset/sprite.png | Bin 0 -> 4928 bytes .../2011.1.315/Sunset/treeview-line.png | Bin 0 -> 322 bytes .../2011.1.315/Sunset/treeview-nodes-rtl.png | Bin 0 -> 212 bytes .../2011.1.315/Sunset/treeview-nodes.png | Bin 0 -> 261 bytes .../Content/2011.1.315/Telerik/editor.png | Bin 0 -> 2842 bytes .../2011.1.315/Telerik/imagebrowser.png | Bin 0 -> 4839 bytes .../Content/2011.1.315/Telerik/loading.gif | Bin 0 -> 1202 bytes .../2011.1.315/Telerik/slider-h-both.gif | Bin 0 -> 102 bytes .../2011.1.315/Telerik/slider-h-bottom.gif | Bin 0 -> 96 bytes .../2011.1.315/Telerik/slider-h-top.gif | Bin 0 -> 96 bytes .../2011.1.315/Telerik/slider-hs-both.gif | Bin 0 -> 92 bytes .../2011.1.315/Telerik/slider-hs-bottom.gif | Bin 0 -> 90 bytes .../2011.1.315/Telerik/slider-hs-top.gif | Bin 0 -> 90 bytes .../2011.1.315/Telerik/slider-v-both.gif | Bin 0 -> 102 bytes .../2011.1.315/Telerik/slider-v-left.gif | Bin 0 -> 96 bytes .../2011.1.315/Telerik/slider-v-right.gif | Bin 0 -> 96 bytes .../2011.1.315/Telerik/slider-vs-both.gif | Bin 0 -> 92 bytes .../2011.1.315/Telerik/slider-vs-left.gif | Bin 0 -> 90 bytes .../2011.1.315/Telerik/slider-vs-right.gif | Bin 0 -> 90 bytes .../2011.1.315/Telerik/sprite-vertical.png | Bin 0 -> 219 bytes .../Content/2011.1.315/Telerik/sprite.png | Bin 0 -> 5518 bytes .../2011.1.315/Telerik/treeview-line.png | Bin 0 -> 322 bytes .../2011.1.315/Telerik/treeview-nodes-rtl.png | Bin 0 -> 212 bytes .../2011.1.315/Telerik/treeview-nodes.png | Bin 0 -> 261 bytes .../Content/2011.1.315/Vista/editor.png | Bin 0 -> 2906 bytes .../Content/2011.1.315/Vista/imagebrowser.png | Bin 0 -> 4903 bytes .../Content/2011.1.315/Vista/loading.gif | Bin 0 -> 2055 bytes .../2011.1.315/Vista/slider-h-both.gif | Bin 0 -> 102 bytes .../2011.1.315/Vista/slider-h-bottom.gif | Bin 0 -> 96 bytes .../Content/2011.1.315/Vista/slider-h-top.gif | Bin 0 -> 96 bytes .../2011.1.315/Vista/slider-hs-both.gif | Bin 0 -> 92 bytes .../2011.1.315/Vista/slider-hs-bottom.gif | Bin 0 -> 90 bytes .../2011.1.315/Vista/slider-hs-top.gif | Bin 0 -> 90 bytes .../2011.1.315/Vista/slider-v-both.gif | Bin 0 -> 102 bytes .../2011.1.315/Vista/slider-v-left.gif | Bin 0 -> 96 bytes .../2011.1.315/Vista/slider-v-right.gif | Bin 0 -> 96 bytes .../2011.1.315/Vista/slider-vs-both.gif | Bin 0 -> 92 bytes .../2011.1.315/Vista/slider-vs-left.gif | Bin 0 -> 90 bytes .../2011.1.315/Vista/slider-vs-right.gif | Bin 0 -> 90 bytes .../2011.1.315/Vista/sprite-vertical.png | Bin 0 -> 253 bytes .../Content/2011.1.315/Vista/sprite.png | Bin 0 -> 5310 bytes .../Content/2011.1.315/Web20/editor.png | Bin 0 -> 2984 bytes .../Content/2011.1.315/Web20/imagebrowser.png | Bin 0 -> 4957 bytes .../Content/2011.1.315/Web20/loading.gif | Bin 0 -> 1263 bytes .../2011.1.315/Web20/slider-h-both.gif | Bin 0 -> 102 bytes .../2011.1.315/Web20/slider-h-bottom.gif | Bin 0 -> 96 bytes .../Content/2011.1.315/Web20/slider-h-top.gif | Bin 0 -> 96 bytes .../2011.1.315/Web20/slider-hs-both.gif | Bin 0 -> 92 bytes .../2011.1.315/Web20/slider-hs-bottom.gif | Bin 0 -> 90 bytes .../2011.1.315/Web20/slider-hs-top.gif | Bin 0 -> 90 bytes .../2011.1.315/Web20/slider-v-both.gif | Bin 0 -> 102 bytes .../2011.1.315/Web20/slider-v-left.gif | Bin 0 -> 96 bytes .../2011.1.315/Web20/slider-v-right.gif | Bin 0 -> 96 bytes .../2011.1.315/Web20/slider-vs-both.gif | Bin 0 -> 92 bytes .../2011.1.315/Web20/slider-vs-left.gif | Bin 0 -> 90 bytes .../2011.1.315/Web20/slider-vs-right.gif | Bin 0 -> 90 bytes .../2011.1.315/Web20/sprite-vertical.png | Bin 0 -> 219 bytes .../Content/2011.1.315/Web20/sprite.png | Bin 0 -> 5204 bytes .../2011.1.315/Web20/treeview-line.png | Bin 0 -> 322 bytes .../2011.1.315/Web20/treeview-nodes-rtl.png | Bin 0 -> 212 bytes .../2011.1.315/Web20/treeview-nodes.png | Bin 0 -> 261 bytes .../Content/2011.1.315/WebBlue/editor.png | Bin 0 -> 2998 bytes .../2011.1.315/WebBlue/imagebrowser.png | Bin 0 -> 4918 bytes .../Content/2011.1.315/WebBlue/loading.gif | Bin 0 -> 835 bytes .../2011.1.315/WebBlue/slider-h-both.gif | Bin 0 -> 98 bytes .../2011.1.315/WebBlue/slider-h-bottom.gif | Bin 0 -> 93 bytes .../2011.1.315/WebBlue/slider-h-top.gif | Bin 0 -> 93 bytes .../2011.1.315/WebBlue/slider-hs-both.gif | Bin 0 -> 92 bytes .../2011.1.315/WebBlue/slider-hs-bottom.gif | Bin 0 -> 90 bytes .../2011.1.315/WebBlue/slider-hs-top.gif | Bin 0 -> 90 bytes .../2011.1.315/WebBlue/slider-v-both.gif | Bin 0 -> 98 bytes .../2011.1.315/WebBlue/slider-v-left.gif | Bin 0 -> 93 bytes .../2011.1.315/WebBlue/slider-v-right.gif | Bin 0 -> 93 bytes .../2011.1.315/WebBlue/slider-vs-both.gif | Bin 0 -> 92 bytes .../2011.1.315/WebBlue/slider-vs-left.gif | Bin 0 -> 90 bytes .../2011.1.315/WebBlue/slider-vs-right.gif | Bin 0 -> 90 bytes .../2011.1.315/WebBlue/sprite-vertical.png | Bin 0 -> 214 bytes .../Content/2011.1.315/WebBlue/sprite.png | Bin 0 -> 5167 bytes .../2011.1.315/WebBlue/treeview-line.png | Bin 0 -> 322 bytes .../2011.1.315/WebBlue/treeview-nodes-rtl.png | Bin 0 -> 212 bytes .../2011.1.315/WebBlue/treeview-nodes.png | Bin 0 -> 261 bytes .../Content/2011.1.315/Windows7/editor.png | Bin 0 -> 2913 bytes .../2011.1.315/Windows7/imagebrowser.png | Bin 0 -> 4877 bytes .../Content/2011.1.315/Windows7/loading.gif | Bin 0 -> 2076 bytes .../2011.1.315/Windows7/slider-h-both.gif | Bin 0 -> 102 bytes .../2011.1.315/Windows7/slider-h-bottom.gif | Bin 0 -> 96 bytes .../2011.1.315/Windows7/slider-h-top.gif | Bin 0 -> 96 bytes .../2011.1.315/Windows7/slider-hs-both.gif | Bin 0 -> 92 bytes .../2011.1.315/Windows7/slider-hs-bottom.gif | Bin 0 -> 90 bytes .../2011.1.315/Windows7/slider-hs-top.gif | Bin 0 -> 90 bytes .../2011.1.315/Windows7/slider-v-both.gif | Bin 0 -> 102 bytes .../2011.1.315/Windows7/slider-v-left.gif | Bin 0 -> 96 bytes .../2011.1.315/Windows7/slider-v-right.gif | Bin 0 -> 96 bytes .../2011.1.315/Windows7/slider-vs-both.gif | Bin 0 -> 92 bytes .../2011.1.315/Windows7/slider-vs-left.gif | Bin 0 -> 90 bytes .../2011.1.315/Windows7/slider-vs-right.gif | Bin 0 -> 90 bytes .../2011.1.315/Windows7/sprite-vertical.png | Bin 0 -> 228 bytes .../Content/2011.1.315/Windows7/sprite.png | Bin 0 -> 5165 bytes .../Content/2011.1.315/telerik.black.min.css | 1 + .../Content/2011.1.315/telerik.common.min.css | 1 + .../2011.1.315/telerik.default.min.css | 1 + .../Content/2011.1.315/telerik.forest.min.css | 1 + .../Content/2011.1.315/telerik.hay.min.css | 1 + .../2011.1.315/telerik.office2007.min.css | 1 + .../telerik.office2010black.min.css | 1 + .../2011.1.315/telerik.outlook.min.css | 1 + .../Content/2011.1.315/telerik.rtl.min.css | 1 + .../Content/2011.1.315/telerik.simple.min.css | 1 + .../2011.1.315/telerik.sitefinity.min.css | 1 + .../Content/2011.1.315/telerik.sunset.min.css | 1 + .../2011.1.315/telerik.telerik.min.css | 1 + .../Content/2011.1.315/telerik.vista.min.css | 1 + .../Content/2011.1.315/telerik.web20.min.css | 1 + .../2011.1.315/telerik.webblue.min.css | 1 + .../2011.1.315/telerik.windows7.min.css | 1 + CharityPortal/CharityPortal/Content/Site.css | 300 ++++----- .../Controllers/OrganizationController.cs | 24 +- .../Controllers/ProjectController.cs | 116 ++++ .../Controllers/ResourceController.cs | 141 ++++ .../Scripts/2011.1.315/jquery-1.5.1.min.js | 16 + .../Scripts/2011.1.315/jquery.validate.min.js | 16 + .../2011.1.315/telerik.autocomplete.min.js | 1 + .../2011.1.315/telerik.calendar.min.js | 1 + .../2011.1.315/telerik.combobox.min.js | 1 + .../Scripts/2011.1.315/telerik.common.min.js | 1 + .../2011.1.315/telerik.datepicker.min.js | 1 + .../2011.1.315/telerik.datetimepicker.min.js | 1 + .../2011.1.315/telerik.draganddrop.min.js | 1 + .../Scripts/2011.1.315/telerik.editor.min.js | 1 + .../2011.1.315/telerik.grid.editing.min.js | 1 + .../2011.1.315/telerik.grid.filtering.min.js | 1 + .../2011.1.315/telerik.grid.grouping.min.js | 1 + .../Scripts/2011.1.315/telerik.grid.min.js | 1 + .../2011.1.315/telerik.grid.reordering.min.js | 1 + .../2011.1.315/telerik.grid.resizing.min.js | 1 + .../2011.1.315/telerik.imagebrowser.min.js | 1 + .../Scripts/2011.1.315/telerik.list.min.js | 1 + .../Scripts/2011.1.315/telerik.menu.min.js | 1 + .../2011.1.315/telerik.panelbar.min.js | 1 + .../Scripts/2011.1.315/telerik.slider.min.js | 1 + .../2011.1.315/telerik.splitter.min.js | 1 + .../2011.1.315/telerik.tabstrip.min.js | 1 + .../Scripts/2011.1.315/telerik.textbox.min.js | 1 + .../2011.1.315/telerik.timepicker.min.js | 1 + .../2011.1.315/telerik.treeview.min.js | 1 + .../Scripts/2011.1.315/telerik.upload.min.js | 1 + .../Scripts/2011.1.315/telerik.window.min.js | 1 + .../CharityPortal/Views/Home/About.cshtml | 2 +- .../CharityPortal/Views/Home/Index.cshtml | 4 +- .../Views/Organization/Create.cshtml | 4 +- .../Views/Organization/Details.cshtml | 2 +- .../Views/Organization/Edit.cshtml | 2 +- .../Views/Organization/Index.cshtml | 4 +- .../CharityPortal/Views/Project/Create.cshtml | 73 +++ .../CharityPortal/Views/Project/Delete.cshtml | 33 + .../Views/Project/Details.cshtml | 30 + .../CharityPortal/Views/Project/Edit.cshtml | 64 ++ .../CharityPortal/Views/Project/Index.cshtml | 45 ++ .../Views/Resource/Create.cshtml | 93 +++ .../Views/Resource/Delete.cshtml | 38 ++ .../Views/Resource/Details.cshtml | 35 + .../CharityPortal/Views/Resource/Edit.cshtml | 94 +++ .../CharityPortal/Views/Resource/Index.cshtml | 51 ++ .../Shared/EditorTemplates/Currency.ascx | 8 + .../Views/Shared/EditorTemplates/Date.ascx | 7 + .../Shared/EditorTemplates/DateTime.ascx | 7 + .../Views/Shared/EditorTemplates/Integer.ascx | 9 + .../Views/Shared/EditorTemplates/Number.ascx | 7 + .../Views/Shared/EditorTemplates/Time.ascx | 7 + .../CharityPortal/Views/Shared/_Layout.cshtml | 44 +- CharityPortal/CharityPortal/Web.config | 56 +- 412 files changed, 6541 insertions(+), 455 deletions(-) create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.bg-BG.designer.cs create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.bg-BG.resx create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.de-DE.designer.cs create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.de-DE.resx create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.en-US.designer.cs create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.en-US.resx create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.fr-FR.designer.cs create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.fr-FR.resx create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.pl-PL.designer.cs create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.pl-PL.resx create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.pt-BR.designer.cs create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.pt-BR.resx create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.ru-RU.designer.cs create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.ru-RU.resx create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.uk-UA.designer.cs create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.uk-UA.resx create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.bg-BG.designer.cs create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.bg-BG.resx create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.de-DE.designer.cs create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.de-DE.resx create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.en-US.designer.cs create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.en-US.resx create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.es-ES.designer.cs create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.es-ES.resx create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.fr-FR.designer.cs create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.fr-FR.resx create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pl-PL.designer.cs create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pl-PL.resx create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pt-BR.designer.cs create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pt-BR.resx create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pt-PT.designer.cs create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pt-PT.resx create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.ru-RU.designer.cs create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.ru-RU.resx create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.uk-UA.designer.cs create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.uk-UA.resx create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/UploadLocalization.bg-BG.designer.cs create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/UploadLocalization.bg-BG.resx create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/UploadLocalization.en-US.designer.cs create mode 100644 CharityPortal/CharityPortal/App_GlobalResources/UploadLocalization.en-US.resx create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Black/editor.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Black/imagebrowser.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Black/loading.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-h-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-h-bottom.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-h-top.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-hs-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-hs-bottom.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-hs-top.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-v-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-v-left.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-v-right.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-vs-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-vs-left.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-vs-right.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Black/sprite-vertical.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Black/sprite.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Black/treeview-line.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Black/treeview-nodes-rtl.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Black/treeview-nodes.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Default/editor.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Default/imagebrowser.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Default/loading.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-h-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-h-bottom.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-h-top.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-hs-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-hs-bottom.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-hs-top.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-v-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-v-left.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-v-right.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-vs-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-vs-left.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-vs-right.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Default/sprite-vertical.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Default/sprite.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Default/treeview-line.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Default/treeview-nodes-rtl.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Default/treeview-nodes.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Forest/editor.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Forest/imagebrowser.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Forest/loading.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-h-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-h-bottom.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-h-top.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-hs-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-hs-bottom.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-hs-top.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-v-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-v-left.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-v-right.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-vs-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-vs-left.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-vs-right.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Forest/sprite-vertical.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Forest/sprite.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Forest/treeview-line.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Forest/treeview-nodes-rtl.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Forest/treeview-nodes.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Hay/editor.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Hay/imagebrowser.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Hay/loading.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-h-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-h-bottom.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-h-top.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-hs-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-hs-bottom.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-hs-top.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-v-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-v-left.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-v-right.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-vs-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-vs-left.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-vs-right.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Hay/sprite-vertical.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Hay/sprite.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Hay/treeview-line.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Hay/treeview-nodes-rtl.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Hay/treeview-nodes.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2007/editor.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2007/imagebrowser.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2007/loading.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-h-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-h-bottom.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-h-top.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-hs-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-hs-bottom.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-hs-top.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-v-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-v-left.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-v-right.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-vs-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-vs-left.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-vs-right.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2007/sprite-vertical.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2007/sprite.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2007/treeview-line.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2007/treeview-nodes-rtl.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2007/treeview-nodes.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/editor.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/imagebrowser.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/loading.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-h-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-h-bottom.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-h-top.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-hs-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-hs-bottom.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-hs-top.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-v-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-v-left.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-v-right.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-vs-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-vs-left.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-vs-right.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/sprite-vertical.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/sprite.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/treeview-line.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/treeview-nodes-rtl.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/treeview-nodes.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Outlook/editor.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Outlook/imagebrowser.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Outlook/loading.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-h-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-h-bottom.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-h-top.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-hs-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-hs-bottom.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-hs-top.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-v-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-v-left.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-v-right.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-vs-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-vs-left.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-vs-right.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Outlook/sprite-vertical.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Outlook/sprite.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Outlook/treeview-line.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Outlook/treeview-nodes-rtl.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Outlook/treeview-nodes.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Simple/editor.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Simple/imagebrowser.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Simple/loading.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-h-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-h-bottom.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-h-top.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-hs-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-hs-bottom.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-hs-top.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-v-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-v-left.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-v-right.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-vs-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-vs-left.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-vs-right.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Simple/sprite-vertical.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Simple/sprite.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Simple/treeview-line.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Simple/treeview-nodes-rtl.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Simple/treeview-nodes.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/editor.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/imagebrowser.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/loading.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-h-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-h-bottom.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-h-top.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-hs-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-hs-bottom.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-hs-top.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-v-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-v-left.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-v-right.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-vs-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-vs-left.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-vs-right.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/sprite-vertical.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/sprite.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/treeview-line.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/treeview-nodes-rtl.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/treeview-nodes.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sunset/editor.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sunset/imagebrowser.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sunset/loading.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-h-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-h-bottom.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-h-top.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-hs-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-hs-bottom.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-hs-top.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-v-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-v-left.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-v-right.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-vs-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-vs-left.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-vs-right.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sunset/sprite-vertical.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sunset/sprite.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sunset/treeview-line.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sunset/treeview-nodes-rtl.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Sunset/treeview-nodes.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Telerik/editor.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Telerik/imagebrowser.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Telerik/loading.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-h-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-h-bottom.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-h-top.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-hs-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-hs-bottom.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-hs-top.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-v-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-v-left.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-v-right.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-vs-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-vs-left.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-vs-right.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Telerik/sprite-vertical.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Telerik/sprite.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Telerik/treeview-line.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Telerik/treeview-nodes-rtl.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Telerik/treeview-nodes.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Vista/editor.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Vista/imagebrowser.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Vista/loading.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-h-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-h-bottom.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-h-top.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-hs-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-hs-bottom.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-hs-top.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-v-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-v-left.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-v-right.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-vs-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-vs-left.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-vs-right.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Vista/sprite-vertical.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Vista/sprite.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Web20/editor.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Web20/imagebrowser.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Web20/loading.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-h-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-h-bottom.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-h-top.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-hs-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-hs-bottom.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-hs-top.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-v-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-v-left.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-v-right.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-vs-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-vs-left.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-vs-right.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Web20/sprite-vertical.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Web20/sprite.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Web20/treeview-line.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Web20/treeview-nodes-rtl.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Web20/treeview-nodes.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/editor.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/imagebrowser.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/loading.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-h-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-h-bottom.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-h-top.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-hs-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-hs-bottom.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-hs-top.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-v-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-v-left.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-v-right.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-vs-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-vs-left.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-vs-right.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/sprite-vertical.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/sprite.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/treeview-line.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/treeview-nodes-rtl.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/treeview-nodes.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Windows7/editor.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Windows7/imagebrowser.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Windows7/loading.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-h-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-h-bottom.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-h-top.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-hs-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-hs-bottom.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-hs-top.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-v-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-v-left.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-v-right.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-vs-both.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-vs-left.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-vs-right.gif create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Windows7/sprite-vertical.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/Windows7/sprite.png create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/telerik.black.min.css create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/telerik.common.min.css create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/telerik.default.min.css create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/telerik.forest.min.css create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/telerik.hay.min.css create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/telerik.office2007.min.css create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/telerik.office2010black.min.css create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/telerik.outlook.min.css create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/telerik.rtl.min.css create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/telerik.simple.min.css create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/telerik.sitefinity.min.css create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/telerik.sunset.min.css create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/telerik.telerik.min.css create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/telerik.vista.min.css create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/telerik.web20.min.css create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/telerik.webblue.min.css create mode 100644 CharityPortal/CharityPortal/Content/2011.1.315/telerik.windows7.min.css create mode 100644 CharityPortal/CharityPortal/Controllers/ProjectController.cs create mode 100644 CharityPortal/CharityPortal/Controllers/ResourceController.cs create mode 100644 CharityPortal/CharityPortal/Scripts/2011.1.315/jquery-1.5.1.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/2011.1.315/jquery.validate.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.autocomplete.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.calendar.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.combobox.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.common.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.datepicker.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.datetimepicker.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.draganddrop.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.editor.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.grid.editing.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.grid.filtering.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.grid.grouping.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.grid.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.grid.reordering.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.grid.resizing.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.imagebrowser.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.list.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.menu.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.panelbar.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.slider.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.splitter.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.tabstrip.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.textbox.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.timepicker.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.treeview.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.upload.min.js create mode 100644 CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.window.min.js create mode 100644 CharityPortal/CharityPortal/Views/Project/Create.cshtml create mode 100644 CharityPortal/CharityPortal/Views/Project/Delete.cshtml create mode 100644 CharityPortal/CharityPortal/Views/Project/Details.cshtml create mode 100644 CharityPortal/CharityPortal/Views/Project/Edit.cshtml create mode 100644 CharityPortal/CharityPortal/Views/Project/Index.cshtml create mode 100644 CharityPortal/CharityPortal/Views/Resource/Create.cshtml create mode 100644 CharityPortal/CharityPortal/Views/Resource/Delete.cshtml create mode 100644 CharityPortal/CharityPortal/Views/Resource/Details.cshtml create mode 100644 CharityPortal/CharityPortal/Views/Resource/Edit.cshtml create mode 100644 CharityPortal/CharityPortal/Views/Resource/Index.cshtml create mode 100644 CharityPortal/CharityPortal/Views/Shared/EditorTemplates/Currency.ascx create mode 100644 CharityPortal/CharityPortal/Views/Shared/EditorTemplates/Date.ascx create mode 100644 CharityPortal/CharityPortal/Views/Shared/EditorTemplates/DateTime.ascx create mode 100644 CharityPortal/CharityPortal/Views/Shared/EditorTemplates/Integer.ascx create mode 100644 CharityPortal/CharityPortal/Views/Shared/EditorTemplates/Number.ascx create mode 100644 CharityPortal/CharityPortal/Views/Shared/EditorTemplates/Time.ascx diff --git a/CharityPortal/CharityPortal.Data/App.Config b/CharityPortal/CharityPortal.Data/App.Config index 3708d4e..5694e89 100644 --- a/CharityPortal/CharityPortal.Data/App.Config +++ b/CharityPortal/CharityPortal.Data/App.Config @@ -1,6 +1,6 @@  - + \ No newline at end of file diff --git a/CharityPortal/CharityPortal.Data/CharityPortal.Data.csproj b/CharityPortal/CharityPortal.Data/CharityPortal.Data.csproj index ad8c3b7..e3d8338 100644 --- a/CharityPortal/CharityPortal.Data/CharityPortal.Data.csproj +++ b/CharityPortal/CharityPortal.Data/CharityPortal.Data.csproj @@ -57,7 +57,9 @@ - + + Designer + diff --git a/CharityPortal/CharityPortal.Data/DataContext.Designer.cs b/CharityPortal/CharityPortal.Data/DataContext.Designer.cs index b2e74de..91ea698 100644 --- a/CharityPortal/CharityPortal.Data/DataContext.Designer.cs +++ b/CharityPortal/CharityPortal.Data/DataContext.Designer.cs @@ -21,8 +21,8 @@ [assembly: EdmRelationshipAttribute("DataContext", "OrganizationProject", "Organization", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(CharityPortal.Data.Organization), "Project", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(CharityPortal.Data.Project))] [assembly: EdmRelationshipAttribute("DataContext", "ProjectResource", "Project", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(CharityPortal.Data.Project), "Resource", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(CharityPortal.Data.Resource))] [assembly: EdmRelationshipAttribute("DataContext", "OrganizationResource", "Organization", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(CharityPortal.Data.Organization), "Resource", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(CharityPortal.Data.Resource))] -[assembly: EdmRelationshipAttribute("DataContext", "ResourceResource", "Resource", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(CharityPortal.Data.Resource), "Resource1", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(CharityPortal.Data.Resource))] -[assembly: EdmRelationshipAttribute("DataContext", "TagResource", "Tag", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(CharityPortal.Data.Tag), "Resource", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(CharityPortal.Data.Resource))] +[assembly: EdmRelationshipAttribute("DataContext", "FK_ResourceResource", "Resource", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(CharityPortal.Data.Resource), "Resource1", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(CharityPortal.Data.Resource), true)] +[assembly: EdmRelationshipAttribute("DataContext", "TagResource1", "Resource", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(CharityPortal.Data.Resource), "Tag", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(CharityPortal.Data.Tag))] #endregion @@ -723,6 +723,30 @@ public static Resource CreateResource(global::System.Int64 id, global::System.St private global::System.String _QuantityUnits; partial void OnQuantityUnitsChanging(global::System.String value); partial void OnQuantityUnitsChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable FulfilledBy_Id + { + get + { + return _FulfilledBy_Id; + } + set + { + OnFulfilledBy_IdChanging(value); + ReportPropertyChanging("FulfilledBy_Id"); + _FulfilledBy_Id = StructuralObject.SetValidValue(value); + ReportPropertyChanged("FulfilledBy_Id"); + OnFulfilledBy_IdChanged(); + } + } + private Nullable _FulfilledBy_Id; + partial void OnFulfilledBy_IdChanging(Nullable value); + partial void OnFulfilledBy_IdChanged(); #endregion #region Complex Properties @@ -844,34 +868,18 @@ public EntityReference OrganizationReference [XmlIgnoreAttribute()] [SoapIgnoreAttribute()] [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("DataContext", "ResourceResource", "Resource1")] - public Resource Fulfills - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ResourceResource", "Resource1").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ResourceResource", "Resource1").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference FulfillsReference + [EdmRelationshipNavigationPropertyAttribute("DataContext", "FK_ResourceResource", "Resource1")] + public EntityCollection Resources1 { get { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ResourceResource", "Resource1"); + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("DataContext.FK_ResourceResource", "Resource1"); } set { if ((value != null)) { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("DataContext.ResourceResource", "Resource1", value); + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("DataContext.FK_ResourceResource", "Resource1", value); } } } @@ -882,16 +890,16 @@ public EntityReference FulfillsReference [XmlIgnoreAttribute()] [SoapIgnoreAttribute()] [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("DataContext", "ResourceResource", "Resource")] - public Resource FulfilledBy + [EdmRelationshipNavigationPropertyAttribute("DataContext", "FK_ResourceResource", "Resource")] + public Resource Resource1 { get { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ResourceResource", "Resource").Value; + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.FK_ResourceResource", "Resource").Value; } set { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ResourceResource", "Resource").Value = value; + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.FK_ResourceResource", "Resource").Value = value; } } /// @@ -899,17 +907,17 @@ public Resource FulfilledBy /// [BrowsableAttribute(false)] [DataMemberAttribute()] - public EntityReference FulfilledByReference + public EntityReference Resource1Reference { get { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ResourceResource", "Resource"); + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.FK_ResourceResource", "Resource"); } set { if ((value != null)) { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("DataContext.ResourceResource", "Resource", value); + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("DataContext.FK_ResourceResource", "Resource", value); } } } @@ -920,18 +928,18 @@ public EntityReference FulfilledByReference [XmlIgnoreAttribute()] [SoapIgnoreAttribute()] [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("DataContext", "TagResource", "Tag")] - public EntityCollection Tag + [EdmRelationshipNavigationPropertyAttribute("DataContext", "TagResource1", "Tag")] + public EntityCollection Tags { get { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("DataContext.TagResource", "Tag"); + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("DataContext.TagResource1", "Tag"); } set { if ((value != null)) { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("DataContext.TagResource", "Tag", value); + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("DataContext.TagResource1", "Tag", value); } } } @@ -1026,18 +1034,18 @@ public static Tag CreateTag(global::System.Int32 id, global::System.String name) [XmlIgnoreAttribute()] [SoapIgnoreAttribute()] [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("DataContext", "TagResource", "Resource")] - public EntityCollection Resources + [EdmRelationshipNavigationPropertyAttribute("DataContext", "TagResource1", "Resource")] + public EntityCollection Resources_1 { get { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("DataContext.TagResource", "Resource"); + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("DataContext.TagResource1", "Resource"); } set { if ((value != null)) { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("DataContext.TagResource", "Resource", value); + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("DataContext.TagResource1", "Resource", value); } } } diff --git a/CharityPortal/CharityPortal.Data/DataContext.edmx b/CharityPortal/CharityPortal.Data/DataContext.edmx index 1bef832..113c370 100644 --- a/CharityPortal/CharityPortal.Data/DataContext.edmx +++ b/CharityPortal/CharityPortal.Data/DataContext.edmx @@ -5,162 +5,162 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -180,14 +180,14 @@ - + + - - - + + @@ -211,12 +211,13 @@ - - - + + + + @@ -240,10 +241,6 @@ - - - - @@ -255,11 +252,23 @@ - + - - + + + + + + + + + + + + + + @@ -285,7 +294,8 @@ - + + @@ -339,22 +349,14 @@ - - - - - - - - - - - - - - - - + + + + + + + + @@ -369,6 +371,7 @@ + @@ -390,17 +393,16 @@ - - - - - - - - - - + + + + + + + + + diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.bg-BG.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.bg-BG.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.bg-BG.resx b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.bg-BG.resx new file mode 100644 index 0000000..99ad064 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.bg-BG.resx @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Получер + + + Направи препратка + + + Сигурни ли сте че искате да изтриете "{0}"? + + + Директория с посоченото име не бе открита. + + + Празна папка + + + Шрифт + + + (наследен шрифт) + + + Размер на шрифта + + + (наследен размер) + + + Избери формат + + + Добави отстъп + + + Вмъкни HTML + + + Вмъкни картина + + + Вмъкни номериран списък + + + Вмъкни списък + + + Избраният файл "{0}" не е валиден. Поддържаните файлови формати са {1}. + + + Курсив + + + Центрирай + + + Подравни + + + Подравни отляво + + + Подравни отдясно + + + Подреди по: + + + Име + + + Големина + + + Премахни отстъп + + + Файл с име "{0}" вече съществува в тази папка. Искате ли да го презапишете? + + + Зачертай + + + Стилове + + + Подчертай + + + Премахни препратка + + + Качи файл + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.de-DE.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.de-DE.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.de-DE.resx b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.de-DE.resx new file mode 100644 index 0000000..b9d1f98 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.de-DE.resx @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Fett + + + Hyperlink einfügen + + + Are you sure you want to delete "{0}"? + + + A directory with this name was not found. + + + Empty Folder + + + Schriftfamilie + + + (Schrift übernehmen) + + + Größe + + + (Größe übernehmen) + + + Absatzstil + + + Einzug vergrößern + + + HTML einfügen + + + Einfügen Bild + + + Numerierte Liste + + + Aufzählliste + + + The selected file "{0}" is not valid. Supported file types are {1}. + + + Kursiv + + + Zentriert + + + Ausrichten + + + Linksbündig + + + Rechtsbündig + + + Arrange by: + + + Name + + + Size + + + Einzug verkleinern + + + A file with name "{0}" already exists in the current directory. Do you want to overwrite it? + + + Durchgestrichen + + + Stil + + + Unterstrichen + + + Hyperlink entfernen + + + Upload + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.en-US.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.en-US.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.en-US.resx b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.en-US.resx new file mode 100644 index 0000000..46048b8 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.en-US.resx @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Bold + + + Insert hyperlink + + + Are you sure you want to delete "{0}"? + + + A directory with this name was not found. + + + Empty Folder + + + Select font family + + + (inherited font) + + + Select font size + + + (inherited size) + + + Select block type + + + Indent + + + Insert HTML + + + Insert image + + + Insert ordered list + + + Insert unordered list + + + The selected file \"{0}\" is not valid. Supported file types are {1}. + + + Italic + + + Center text + + + Justify + + + Align text left + + + Align text right + + + Arrange by: + + + Name + + + Size + + + Outdent + + + 'A file with name "{0}" already exists in the current directory. Do you want to overwrite it? + + + Strikethrough + + + Styles + + + Underline + + + Remove hyperlink + + + Upload + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.fr-FR.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.fr-FR.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.fr-FR.resx b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.fr-FR.resx new file mode 100644 index 0000000..43eee61 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.fr-FR.resx @@ -0,0 +1,207 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Gras + + + Insérer un lien hypertexte + + + Are you sure you want to delete "{0}"? + + + A directory with this name was not found. + + + Empty Folder + + + Famille de polices + + + Dimension + + + Style du paragraphe + + + Augmenter le retrait + + + Insèrer HTML + + + Insèrer Image + + + Liste numérotée + + + Liste à puces + + + The selected file "{0}" is not valid. Supported file types are {1}. + + + Italique + + + Centrer + + + Justifier + + + Alignement à gauche + + + Alignement à droite + + + Arrange by: + + + Name + + + Size + + + Réduire le retrait + + + A file with name "{0}" already exists in the current directory. Do you want to overwrite it? + + + Texte barré + + + Style + + + Souligné + + + Supprimer hyperlien + + + Upload + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.pl-PL.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.pl-PL.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.pl-PL.resx b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.pl-PL.resx new file mode 100644 index 0000000..f56e858 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.pl-PL.resx @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Wytłuszczenie + + + Wstaw link + + + Are you sure you want to delete "{0}"? + + + A directory with this name was not found. + + + Empty Folder + + + Wybierz czcionkę + + + (czcionka odziedziczona) + + + Wybierz rozmiar czcionki + + + (inherited size) + + + Wybierz rozmiar bloku + + + Wcięcie + + + Wstaw HTML + + + Wstaw obraz + + + Wstaw listę numerowaną + + + Wstaw listę wypunktowaną + + + The selected file "{0}" is not valid. Supported file types are {1}. + + + Kursywa + + + Centruj tekst + + + Wyrównaj tekst + + + Wyrównaj tekst do lewej + + + Wyrównaj tekst do prawej + + + Arrange by: + + + Name + + + Size + + + Zmniejsz wcięcie + + + A file with name "{0}" already exists in the current directory. Do you want to overwrite it? + + + Przekreślenie + + + Style + + + Podkreślenie + + + Usuń link + + + Upload + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.pt-BR.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.pt-BR.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.pt-BR.resx b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.pt-BR.resx new file mode 100644 index 0000000..1cd97aa --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.pt-BR.resx @@ -0,0 +1,207 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Negrito + + + Adicionar Link + + + Are you sure you want to delete "{0}"? + + + A directory with this name was not found. + + + Empty Folder + + + Fonte + + + Tamanho + + + Formatar Bloco + + + Aumentar Recuo + + + Inserir HTML + + + Inserir Imagem + + + Inserir Lista Ordenada + + + Inserir Lista Aleatória + + + The selected file "{0}" is not valid. Supported file types are {1}. + + + Itálico + + + Alinhar Centro + + + Justificar + + + Alinhar à Esquerda + + + Alinhar à Direita + + + Arrange by: + + + Name + + + Size + + + Diminuir Recuo + + + A file with name "{0}" already exists in the current directory. Do you want to overwrite it? + + + Tachado + + + Estilo + + + Sublinhado + + + Remover Link + + + Upload + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.ru-RU.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.ru-RU.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.ru-RU.resx b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.ru-RU.resx new file mode 100644 index 0000000..7ebc8e1 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.ru-RU.resx @@ -0,0 +1,207 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Полужирный + + + Вставить гиперссылку + + + Are you sure you want to delete "{0}"? + + + A directory with this name was not found. + + + Empty Folder + + + Выбрать шрифт + + + Выбрать размер шрифта + + + Форматирование + + + Увеличить отступ + + + Вставить HTML + + + Вставить изображение + + + Вставить нумерованный список + + + Вставить маркированныйсписок + + + The selected file "{0}" is not valid. Supported file types are {1}. + + + Курсив + + + Выровнять по центру + + + Выровнять по ширине + + + Выровнять по левому краю + + + Выровнять по правому краю + + + Arrange by: + + + Name + + + Size + + + Уменьшить отступ + + + A file with name "{0}" already exists in the current directory. Do you want to overwrite it? + + + Зачеркнутый + + + Стиль + + + Подчеркнутый + + + Удалить гиперссылку + + + Upload + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.uk-UA.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.uk-UA.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.uk-UA.resx b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.uk-UA.resx new file mode 100644 index 0000000..0fcb3fe --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.uk-UA.resx @@ -0,0 +1,207 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Жирний + + + Додати посилання + + + Are you sure you want to delete "{0}"? + + + A directory with this name was not found. + + + Empty Folder + + + Шрифт + + + Розмір шрифта + + + Форматування + + + Збільшити відступ + + + Додати HTML + + + Додати зображення + + + Нумерований список + + + Маркований список + + + The selected file "{0}" is not valid. Supported file types are {1}. + + + Курсив + + + По центру + + + По ширині + + + По лівому краю + + + По правому краю + + + Arrange by: + + + Name + + + Size + + + Зменшити відступ + + + A file with name "{0}" already exists in the current directory. Do you want to overwrite it? + + + Закреслений + + + Стиль + + + Підкреслений + + + Видалити посилання + + + Upload + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.bg-BG.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.bg-BG.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.bg-BG.resx b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.bg-BG.resx new file mode 100644 index 0000000..6880e5e --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.bg-BG.resx @@ -0,0 +1,255 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Добави нов запис + + + Изтриване + + + Отказ + + + Запази + + + Добави + + + Редактиране + + + Избери + + + Страница + + + Записи {0} - {1} от {2} + + + от {0} + + + Филтрирай + + + и + + + Премахни филтър + + + Е равно на + + + Е след или равно на + + + Е след + + + Е преди или равно на + + + Е преди + + + Не е равно на + + + Е равно на + + + Е по-голяма или равно на + + + Е по-голямо от + + + Е по-малко или равно на + + + Е по-малко от + + + Не е равно на + + + Покажи записи със стойност, която + + + Завършва на + + + Е равно на + + + Не е равно на + + + Започва с + + + Съдържа + + + Дръпни колона и я пусни тук, за да групираш + + + E равно на + + + Не е равно на + + + -Избери стойност- + + + Сигурни ли сте, че искате да изтриете записа? + + + не е вярно + + + е вярно + + + Няма записи за показване! + + + Откажи промените + + + Запази промените + + + Опресни + + + сортиране в нарастващ ред + + + сортиране в намаляващ ред + + + премахни групирането + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.de-DE.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.de-DE.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.de-DE.resx b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.de-DE.resx new file mode 100644 index 0000000..72fe972 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.de-DE.resx @@ -0,0 +1,255 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Neuen Datensatz hinzufügen + + + Löschen + + + Abbrechen + + + Aktualisiere + + + Einfügen + + + Bearbeiten + + + Wähle + + + Seite + + + Anzeigen der Elemente {0} - {1} von {2} + + + von {0} + + + Filter + + + Und + + + Filter löschen + + + Ist gleich + + + Ist nach oder gleich + + + Ist nach + + + Ist vor oder gleich + + + Ist vor + + + Ist nicht gleich + + + Ist gleich + + + Ist größer als oder gleich + + + Ist größer als + + + Ist kleiner als oder gleich + + + Ist kleiner + + + Ist nicht gleich + + + Zeigt Zeilen mit Werten, die + + + Endet mit + + + Ist gleich + + + Ist nicht gleich + + + Beginnt mit + + + Beinhaltet + + + Ziehen Sie eine Spaltenüberschrift hierher, um nach dieser Spalte zu gruppieren + + + Ist gleich + + + Ist nicht gleich + + + -wählen Sie- + + + Sind Sie sicher, dass Sie diesen Datensatz löschen wollen? + + + ist falsch + + + ist richtig + + + keine Daten + + + Änderungen verwerfen + + + Änderungen speichern + + + Aktualisieren + + + aufsteigend sortiert + + + absteigend sortiert + + + Gruppierung aufheben + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.en-US.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.en-US.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.en-US.resx b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.en-US.resx new file mode 100644 index 0000000..99d7e63 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.en-US.resx @@ -0,0 +1,255 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Add new record + + + Delete + + + Cancel + + + Update + + + Insert + + + Edit + + + Select + + + Page + + + Displaying items {0} - {1} of {2} + + + of {0} + + + Filter + + + And + + + Clear Filter + + + Is equal to + + + Is after or equal to + + + Is after + + + Is before or equal to + + + Is before + + + Is not equal to + + + Is equal to + + + Is greater than or equal to + + + Is greater than + + + Is less than or equal to + + + Is less than + + + Is not equal to + + + Show rows with value that + + + Ends with + + + Is equal to + + + Is not equal to + + + Starts with + + + Contains + + + Drag a column header and drop it here to group by that column + + + Is equal to + + + Is not equal to + + + Are you sure you want to delete this record? + + + -Select value- + + + is false + + + is true + + + No records to display. + + + Cancel changes + + + Save changes + + + Refresh + + + sorted ascending + + + sorted descending + + + ungroup + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.es-ES.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.es-ES.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.es-ES.resx b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.es-ES.resx new file mode 100644 index 0000000..d332f18 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.es-ES.resx @@ -0,0 +1,252 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Añadir nuevo registro + + + Eliminar + + + Cancelar + + + Actualizar + + + Añadir + + + Editar + + + Seleccionar + + + Página + + + Elementos mostrados {0} - {1} de {2} + + + de {0} + + + Filtrar + + + Y + + + Limpiar filtro + + + Es igual a + + + Es posterior o igual a + + + Es posterior + + + Es anterior o igual a + + + Es anterior + + + No es igual a + + + Es igual a + + + Es mayor o igual que + + + Es mayor que + + + Es menor o igual que + + + Es menor que + + + No es igual a + + + Mostrar filas con valor que + + + Termina en + + + Es igual a + + + No es igual a + + + Comienza con + + + Contiene + + + Arrastre un encabezado de columna y póngalo aquí para agrupar por ella + + + Es igual a + + + No es igual a + + + ¿Está seguro de que quiere eliminar este registro? + + + No records to display. + + + No + + + Si + + + Cancel Changes + + + Save Changes + + + Actualizar + + + ordenados ascendente + + + ordenados descendente + + + desagrupar + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.fr-FR.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.fr-FR.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.fr-FR.resx b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.fr-FR.resx new file mode 100644 index 0000000..97e9f51 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.fr-FR.resx @@ -0,0 +1,255 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Ajouter un contenu + + + Effacer + + + Annuler + + + Rafraîchir + + + Insérer + + + Edition + + + Sélectionner + + + Page + + + Afficher les items {0} - {1} of {2} + + + de {0} + + + Filtrer + + + et + + + Annuler Filtrer + + + égal à + + + est postérieur ou égal à + + + est postérieur + + + est antérieur ou égal à + + + est antérieur + + + n’est pas égal à + + + égal à + + + est supérieur ou égal à + + + est supérieur à + + + est moins ou égal à + + + est moins de + + + n’est pas égal à + + + Montrer les lignes avec la valeur de + + + Finit par + + + égal à + + + n’est pas égal à + + + Commence par + + + contient + + + Faites glisser la tête de colonne et posez-la ici pour la grouper avec cette colonne. + + + égal à + + + n’est pas égal à + + + -Sélectionner- + + + Etes-vous surs de vouloir effacer le contenu ? + + + est fausse + + + est vrai + + + No records to display. + + + Cancel Changes + + + Save Changes + + + Actualiser + + + triés croissant + + + triés décroissant + + + supprimer groupement + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pl-PL.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pl-PL.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pl-PL.resx b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pl-PL.resx new file mode 100644 index 0000000..b568345 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pl-PL.resx @@ -0,0 +1,255 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Dodaj nowy rekord + + + Usuń + + + Anuluj + + + Aktualizuj + + + Wstaw + + + Edycja + + + Zaznacz + + + Strona + + + Wyświetlanie elementów {0} - {1} z {2} + + + z {0} + + + Filtr + + + Oraz + + + Wyczyść filtr + + + jest równe + + + jest późniejsze lub równe + + + jest późniejsze + + + jest wcześniejsze lub równe + + + jest wcześniejsze + + + jest inne niż + + + jest równe + + + jest większe lub równe + + + jest większe + + + jest mniejsze lub równe + + + jest mniejsze niż + + + jest inne niż + + + Pokaż wiersze o wartościach które + + + Kończy się na + + + jest równe + + + jest inne niż + + + Zaczyna się od + + + Zawiera + + + Przeciągnij nagłówek kolumny i upuść go tutaj aby pogrupować według tej kolumny + + + jest równe + + + jest inne niż + + + Czy na pewno chcesz usunąć ten rekord? + + + -Wybierz wartość- + + + fałsz + + + prawda + + + Brak danych + + + Cancel Changes + + + Save Changes + + + Odśwież + + + posortowane rosnąco + + + posortowane malejąco + + + rozgrupować + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pt-BR.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pt-BR.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pt-BR.resx b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pt-BR.resx new file mode 100644 index 0000000..646b7b7 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pt-BR.resx @@ -0,0 +1,252 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Adicionar novo registro + + + Excluir + + + Cancelar + + + Atualizar + + + Inserir + + + Editar + + + Selecionar + + + Página + + + Exibindo itens {0} - {1} de {2} + + + de {0} + + + Filtro + + + E + + + Limpar Filtro + + + É igual a + + + É posterior ou igual a + + + É posterior a + + + É anterior ou igual a + + + É anterior a + + + Não é igual a + + + É igual a + + + É maior que ou igual a + + + É maior que + + + É menor que ou igual a + + + É menor que + + + Não é igual a + + + Exibir linhas com valores que + + + Termina com + + + É igual a + + + Não é igual a + + + Começa com + + + Contem + + + Arraste aqui o cabeçalho de uma coluna para agrupar por esta coluna + + + É igual a + + + Não é igual a + + + Você tem certeza que deseja excluir este registro? + + + É falsa + + + É verdade + + + No records to display. + + + Cancel Changes + + + Save Changes + + + Atualizar + + + ordenadas crescente + + + ordenadas descendente + + + desagrupar + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pt-PT.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pt-PT.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pt-PT.resx b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pt-PT.resx new file mode 100644 index 0000000..c614813 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pt-PT.resx @@ -0,0 +1,249 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Novo + + + Cancelar + + + Apagar + + + Pretende remover o registo? + + + Registos {0} - {1} de {2} + + + Editar + + + No records to display. + + + Filtro + + + e + + + Limpar + + + Igual + + + Maior ou igual que + + + Maior que + + + Menor ou igual que + + + Menor que + + + Diferente + + + Igual + + + Diferente + + + Igual + + + Maior ou igual que + + + Maior que + + + Menor ou igual que + + + Menor que + + + Diferente + + + -Seleccione um item- + + + Motrar as linhas com o valor + + + A acabar em + + + Igual + + + Diferente + + + A comecar com + + + Contem + + + Arraste uma coluna para este espaco para agrupar pelo valor da mesma... + + + Inserir + + + Pagina + + + de {0} + + + Seleccionar + + + Actualizar + + + Cancel Changes + + + Save Changes + + + Actualizar + + + ordenadas crescente + + + ordenadas descendente + + + desagrupar + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.ru-RU.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.ru-RU.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.ru-RU.resx b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.ru-RU.resx new file mode 100644 index 0000000..a3d482c --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.ru-RU.resx @@ -0,0 +1,255 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Создать новую запись + + + Удалить + + + Отмена + + + Обновить + + + Добавить + + + Изменить + + + Выбрать + + + Страница + + + Отображены записи {0} - {1} из {2} + + + из {0} + + + фильтровать + + + И + + + очистить фильтр + + + равна + + + после или равна + + + после + + + до или равна + + + до + + + не равна + + + равно + + + больше или равно + + + больше + + + меньше или равно + + + меньше + + + не равно + + + Строки со значениями + + + оканчивающимися на + + + равными + + + не равными + + + начинающимися на + + + содержащими + + + Переместите сюда заголовок колонки, чтобы сгрупировать записи из этой колонки + + + равно + + + не равно + + + Вы уверены, что хотите удалить эту запись? + + + -выберите- + + + ложь + + + истина + + + NoRecords + + + Cancel Changes + + + Save Changes + + + Обновить + + + отсортировано по возрастанию + + + отсортировано по убыванию + + + разгруппировать + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.uk-UA.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.uk-UA.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.uk-UA.resx b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.uk-UA.resx new file mode 100644 index 0000000..59f26f0 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.uk-UA.resx @@ -0,0 +1,255 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Створити новий запис + + + Видалити + + + Скасувати + + + Оновити + + + Додати + + + Редагувати + + + Вибрати + + + Сторінка + + + Зображено записи {0} - {1} з {2} + + + з {0} + + + фільтрувати + + + І + + + очистити фільтр + + + рівними + + + після або рівна + + + після + + + до або рівними + + + до + + + не рівна + + + рівне + + + більше або рівними + + + більше + + + менше або рівними + + + менше + + + не рівними + + + Рядки із записами + + + закінчуються на + + + рівні + + + не рівні + + + починаються на + + + містять + + + Перетягніть сюди заголовок стовпця, щоб згрупувати записи з цього стовпця + + + рівними + + + не рівними + + + Ви впевнені, що бажаєте видалити даний запис? + + + -виберіть- + + + хиба + + + істина + + + немає записів + + + Cancel Changes + + + Save Changes + + + Оновити + + + відсортовано за зростанням + + + відсортовано за зменьшенням + + + розгрупувати + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/UploadLocalization.bg-BG.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/UploadLocalization.bg-BG.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/UploadLocalization.bg-BG.resx b/CharityPortal/CharityPortal/App_GlobalResources/UploadLocalization.bg-BG.resx new file mode 100644 index 0000000..02a4fd6 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/UploadLocalization.bg-BG.resx @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Спри + Cancel button text + + + Опитай отново + Retry button text + + + Избери... + Select button text + + + Премахни + Remove button text + + + Качи файловете + Upload button (visible when AutoUpload is set to false) + + + преместете с мишката файлове тук за да ги качите + Drag & Drop hint text + + + грешка + "failed" status text accessible by screen readers + + + качен + "uploaded" status text accessible by screen readers + + + качва се + "uploading" status text accessible by screen readers + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/UploadLocalization.en-US.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/UploadLocalization.en-US.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/UploadLocalization.en-US.resx b/CharityPortal/CharityPortal/App_GlobalResources/UploadLocalization.en-US.resx new file mode 100644 index 0000000..0380e02 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/UploadLocalization.en-US.resx @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Cancel + Cancel button text + + + Retry + Retry button text + + + Select... + Select button text + + + Remove + Remove button text + + + Upload files + Upload button (visible when AutoUpload is set to false) + + + drop files here to upload + Drag & Drop hint text + + + failed + "failed" status text accessible by screen readers + + + uploaded + "uploaded" status text accessible by screen readers + + + uploading + "uploading" status text accessible by screen readers + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/CharityPortal.csproj b/CharityPortal/CharityPortal/CharityPortal.csproj index 8e4be71..4d0f51e 100644 --- a/CharityPortal/CharityPortal/CharityPortal.csproj +++ b/CharityPortal/CharityPortal/CharityPortal.csproj @@ -60,10 +60,116 @@ + + ..\..\..\..\..\..\..\Program Files\Telerik\Extensions for ASP.NET MVC Q1 2011\Binaries\Mvc3\Telerik.Web.Mvc.dll + + + True + True + EditorLocalization.bg-BG.resx + + + True + True + EditorLocalization.de-DE.resx + + + True + True + EditorLocalization.en-US.resx + + + True + True + EditorLocalization.fr-FR.resx + + + True + True + EditorLocalization.pl-PL.resx + + + True + True + EditorLocalization.pt-BR.resx + + + True + True + EditorLocalization.ru-RU.resx + + + True + True + EditorLocalization.uk-UA.resx + + + True + True + GridLocalization.bg-BG.resx + + + True + True + GridLocalization.de-DE.resx + + + True + True + GridLocalization.en-US.resx + + + True + True + GridLocalization.es-ES.resx + + + True + True + GridLocalization.fr-FR.resx + + + True + True + GridLocalization.pl-PL.resx + + + True + True + GridLocalization.pt-BR.resx + + + True + True + GridLocalization.pt-PT.resx + + + True + True + GridLocalization.ru-RU.resx + + + True + True + GridLocalization.uk-UA.resx + + + True + True + UploadLocalization.bg-BG.resx + + + True + True + UploadLocalization.en-US.resx + + + + Global.asax @@ -71,6 +177,317 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -99,6 +516,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -109,6 +554,12 @@ + + + + + + Web.config @@ -151,6 +602,162 @@ CharityPortal.Data + + + + + + + + + GlobalResourceProxyGenerator + EditorLocalization.bg-BG.designer.cs + + + + + GlobalResourceProxyGenerator + EditorLocalization.de-DE.designer.cs + + + + + GlobalResourceProxyGenerator + EditorLocalization.en-US.designer.cs + + + + + GlobalResourceProxyGenerator + EditorLocalization.fr-FR.designer.cs + + + + + GlobalResourceProxyGenerator + EditorLocalization.pl-PL.designer.cs + + + + + GlobalResourceProxyGenerator + EditorLocalization.pt-BR.designer.cs + + + + + GlobalResourceProxyGenerator + EditorLocalization.ru-RU.designer.cs + + + + + GlobalResourceProxyGenerator + EditorLocalization.uk-UA.designer.cs + + + + + GlobalResourceProxyGenerator + GridLocalization.bg-BG.designer.cs + + + + + GlobalResourceProxyGenerator + GridLocalization.de-DE.designer.cs + + + + + GlobalResourceProxyGenerator + GridLocalization.en-US.designer.cs + + + + + GlobalResourceProxyGenerator + GridLocalization.es-ES.designer.cs + + + + + GlobalResourceProxyGenerator + GridLocalization.fr-FR.designer.cs + + + + + GlobalResourceProxyGenerator + GridLocalization.pl-PL.designer.cs + + + + + GlobalResourceProxyGenerator + GridLocalization.pt-BR.designer.cs + + + + + GlobalResourceProxyGenerator + GridLocalization.pt-PT.designer.cs + + + + + GlobalResourceProxyGenerator + GridLocalization.ru-RU.designer.cs + + + + + GlobalResourceProxyGenerator + GridLocalization.uk-UA.designer.cs + + + + + GlobalResourceProxyGenerator + UploadLocalization.bg-BG.designer.cs + + + + + GlobalResourceProxyGenerator + UploadLocalization.en-US.designer.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ")}else{a5.push("")}}}}}}a0(a2);return a5.join("")}var v=0,aq=1,a=2,T=3;function q(a1){var a0=a1.startContainer;return a0.nodeType==9?a0:a0.ownerDocument}function E(a0){if(s.browser.msie){return new aw(a0.document)}return a0.getSelection()}function al(a1){var a0=q(a1);return aY(a0)}function aY(a0){return E(az(a0))}function az(a0){return a0.defaultView||a0.parentWindow}function am(a0,a1,a3){function a2(a6){var a4=a0.cloneRange();a4.collapse(a6);a4[a6?"setStartBefore":"setEndAfter"](a1);var a5=a4.extractContents();if(a3){a5=D.trim(a5)}D[a6?"insertBefore":"insertAfter"](a5,a1)}a2(true);a2(false)}function O(a1){var a2=U.image(a1);if(a2){a1.setStartAfter(a2);a1.setEndAfter(a2)}var a0=al(a1);a0.removeAllRanges();a0.addRange(a1)}function L(a0){s.extend(this,{ownerDocument:a0,startContainer:a0,endContainer:a0,commonAncestorContainer:a0,startOffset:0,endOffset:0,collapsed:true})}L.prototype={setStart:function(a0,a1){this.startContainer=a0;this.startOffset=a1;w(this);u(this,true)},setEnd:function(a0,a1){this.endContainer=a0;this.endOffset=a1;w(this);u(this,false)},setStartBefore:function(a0){this.setStart(a0.parentNode,p(a0))},setStartAfter:function(a0){this.setStart(a0.parentNode,p(a0)+1)},setEndBefore:function(a0){this.setEnd(a0.parentNode,p(a0))},setEndAfter:function(a0){this.setEnd(a0.parentNode,p(a0)+1)},selectNode:function(a0){this.setStartBefore(a0);this.setEndAfter(a0)},selectNodeContents:function(a0){this.setStart(a0,0);this.setEnd(a0,a0[a0.nodeType===1?"childNodes":"nodeValue"].length)},collapse:function(a0){if(a0){this.setEnd(this.startContainer,this.startOffset)}else{this.setStart(this.endContainer,this.endOffset)}},deleteContents:function(){var a1=this.cloneRange();if(this.startContainer!=this.commonAncestorContainer){this.setStartAfter(aB(this.commonAncestorContainer,this.startContainer))}this.collapse(true);(function a0(a2){while(a2.next()){a2.hasPartialSubtree()?a0(a2.getSubtreeIterator()):a2.remove()}})(new l(a1))},cloneContents:function(){var a0=q(this);return(function a1(a4){for(var a3,a2=a0.createDocumentFragment();a3=a4.next();){a3=a3.cloneNode(!a4.hasPartialSubtree());if(a4.hasPartialSubtree()){a3.appendChild(a1(a4.getSubtreeIterator()))}a2.appendChild(a3)}return a2})(new l(this))},extractContents:function(){var a1=this.cloneRange();if(this.startContainer!=this.commonAncestorContainer){this.setStartAfter(aB(this.commonAncestorContainer,this.startContainer))}this.collapse(true);var a2=this;var a0=q(this);return(function a3(a6){for(var a5,a4=a0.createDocumentFragment();a5=a6.next();){a6.hasPartialSubtree()?a5=a5.cloneNode(false):a6.remove(a2.originalRange);if(a6.hasPartialSubtree()){a5.appendChild(a3(a6.getSubtreeIterator()))}a4.appendChild(a5)}return a4})(new l(a1))},insertNode:function(a0){if(af(this.startContainer)){if(this.startOffset!=this.startContainer.nodeValue.length){av(this.startContainer,this.startOffset)}D.insertAfter(a0,this.startContainer)}else{D.insertAt(this.startContainer,a0,this.startOffset)}this.setStart(this.startContainer,this.startOffset)},cloneRange:function(){return s.extend(new L(this.ownerDocument),{startContainer:this.startContainer,endContainer:this.endContainer,commonAncestorContainer:this.commonAncestorContainer,startOffset:this.startOffset,endOffset:this.endOffset,collapsed:this.collapsed,originalRange:this})},toString:function(){var a1=this.startContainer.nodeName,a0=this.endContainer.nodeName;return[a1=="#text"?this.startContainer.nodeValue:a1,"(",this.startOffset,") : ",a0=="#text"?this.endContainer.nodeValue:a0,"(",this.endOffset,")"].join("")}};function m(a2,a0,a7,a4){if(a2==a0){return a4-a7}var a6=a0;while(a6&&a6.parentNode!=a2){a6=a6.parentNode}if(a6){return p(a6)-a7}a6=a2;while(a6&&a6.parentNode!=a0){a6=a6.parentNode}if(a6){return a4-p(a6)-1}var a5=D.commonAncestor(a2,a0);var a3=a2;while(a3&&a3.parentNode!=a5){a3=a3.parentNode}if(!a3){a3=a5}var a1=a0;while(a1&&a1.parentNode!=a5){a1=a1.parentNode}if(!a1){a1=a5}if(a3==a1){return 0}return p(a1)-p(a3)}function u(a1,a2){function a0(a4){try{return m(a4.startContainer,a4.endContainer,a4.startOffset,a4.endOffset)<0}catch(a3){return true}}if(a0(a1)){if(a2){a1.commonAncestorContainer=a1.endContainer=a1.startContainer;a1.endOffset=a1.startOffset}else{a1.commonAncestorContainer=a1.startContainer=a1.endContainer;a1.startOffset=a1.endOffset}a1.collapsed=true}}function w(a1){a1.collapsed=a1.startContainer==a1.endContainer&&a1.startOffset==a1.endOffset;var a0=a1.startContainer;while(a0&&a0!=a1.endContainer&&!k(a0,a1.endContainer)){a0=a0.parentNode}a1.commonAncestorContainer=a0}function aP(a0){if(s.browser.msie){return new L(a0)}return a0.createRange()}function l(a1){s.extend(this,{range:a1,_current:null,_next:null,_end:null});if(a1.collapsed){return}var a0=a1.commonAncestorContainer;this._next=a1.startContainer==a0&&!af(a1.startContainer)?a1.startContainer.childNodes[a1.startOffset]:aB(a0,a1.startContainer);this._end=a1.endContainer==a0&&!af(a1.endContainer)?a1.endContainer.childNodes[a1.endOffset]:aB(a0,a1.endContainer).nextSibling}l.prototype={hasNext:function(){return !!this._next},next:function(){var a0=this._current=this._next;this._next=this._current&&this._current.nextSibling!=this._end?this._current.nextSibling:null;if(af(this._current)){if(this.range.endContainer==this._current){(a0=a0.cloneNode(true)).deleteData(this.range.endOffset,a0.length-this.range.endOffset)}if(this.range.startContainer==this._current){(a0=a0.cloneNode(true)).deleteData(0,this.range.startOffset)}}return a0},traverse:function(a1){function a0(){this._current=this._next;this._next=this._current&&this._current.nextSibling!=this._end?this._current.nextSibling:null;return this._current}var a2;while(a2=a0.call(this)){if(this.hasPartialSubtree()){this.getSubtreeIterator().traverse(a1)}else{a1(a2)}}return a2},remove:function(a5){var a4=this.range.startContainer==this._current;var a2=this.range.endContainer==this._current;if(af(this._current)&&(a4||a2)){var a1=a4?this.range.startOffset:0;var a0=a2?this.range.endOffset:this._current.length;var a7=a0-a1;if(a5&&(a4||a2)){if(this._current==a5.startContainer&&a1<=a5.startOffset){a5.startOffset-=a7}if(this._current==a5.endContainer&&a0<=a5.endOffset){a5.endOffset-=a7}}this._current.deleteData(a1,a7)}else{var a6=this._current.parentNode;if(a5&&(this.range.startContainer==a6||this.range.endContainer==a6)){var a3=p(this._current);if(a6==a5.startContainer&&a3<=a5.startOffset){a5.startOffset-=1}if(a6==a5.endContainer&&a30&&a3.previousSibling);a6.setEndPoint(a0?"EndToStart":"EndToEnd",a5);var a4=a3.nextSibling;if(!a4){a4=a3.previousSibling;if(a4&&af(a4)){a1.setEnd(a4,a4.nodeValue.length);D.remove(a3)}else{a1.selectNodeContents(a2);D.remove(a3);a1.endOffset-=1}return}D.remove(a3);if(af(a4)){a1[a0?"setStart":"setEnd"](a4,a6.text.length)}else{a1[a0?"setStartBefore":"setEndBefore"](a4)}}function aj(a0){this.enumerate=function(){var a2=[];function a1(a3){if(D.is(a3,"img")||(a3.nodeType==3&&!D.isWhitespace(a3))){a2.push(a3)}else{a3=a3.firstChild;while(a3){a1(a3);a3=a3.nextSibling}}}new l(a0).traverse(a1);return a2}}function j(a0){return new aj(a0).enumerate()}function Z(a4){var a0=[];for(var a1=0,a3=a4.length;a1'}a2.selectNodeContents(a6)}}a2.collapse(true)};this.add=function(a1,a3){if(a3&&a1.collapsed){this.addCaret(a1);a1=U.expand(a1)}var a2=a1.cloneRange();a2.collapse(false);this.end=D.create(q(a1),"span",{className:"t-marker"});a2.insertNode(this.end);a2=a1.cloneRange();a2.collapse(true);this.start=this.end.cloneNode(true);a2.insertNode(this.start);a1.setStartBefore(this.start);a1.setEndAfter(this.end);g(a1.commonAncestorContainer);return a1};this.remove=function(a8){var a1=this.start,bd=this.end;g(a8.commonAncestorContainer);while(!a1.nextSibling&&a1.parentNode){a1=a1.parentNode}while(!bd.previousSibling&&bd.parentNode){bd=bd.parentNode}var a3=(a1.previousSibling&&a1.previousSibling.nodeType==3)&&(a1.nextSibling&&a1.nextSibling.nodeType==3);var a9=(bd.previousSibling&&bd.previousSibling.nodeType==3)&&(bd.nextSibling&&bd.nextSibling.nodeType==3);a1=a1.nextSibling;bd=bd.previousSibling;var bc=false;var a6=false;if(a1==this.end){a6=!!this.start.previousSibling;a1=bd=this.start.previousSibling||this.end.nextSibling;bc=true}D.remove(this.start);D.remove(this.end);if(a1==null||bd==null){a8.selectNodeContents(a8.commonAncestorContainer);a8.collapse(true);return}var bb=bc?af(a1)?a1.nodeValue.length:a1.childNodes.length:0;var a4=af(bd)?bd.nodeValue.length:bd.childNodes.length;if(a1.nodeType==3){while(a1.previousSibling&&a1.previousSibling.nodeType==3){a1=a1.previousSibling;bb+=a1.nodeValue.length}}if(bd.nodeType==3){while(bd.previousSibling&&bd.previousSibling.nodeType==3){bd=bd.previousSibling;a4+=bd.nodeValue.length}}var a7=p(a1),ba=a1.parentNode;var a5=p(bd),a2=bd.parentNode;for(var bf=a1;bf.previousSibling;bf=bf.previousSibling){if(bf.nodeType==3&&bf.previousSibling.nodeType==3){a7--}}for(var be=bd;be.previousSibling;be=be.previousSibling){if(be.nodeType==3&&be.previousSibling.nodeType==3){a5--}}g(ba);if(a1.nodeType==3){a1=ba.childNodes[a7]}g(a2);if(bd.nodeType==3){bd=a2.childNodes[a5]}if(bc){if(a1.nodeType==3){a8.setStart(a1,bb)}else{a8[a6?"setStartAfter":"setStartBefore"](a1)}a8.collapse(true)}else{if(a1.nodeType==3){a8.setStart(a1,bb)}else{a8.setStartBefore(a1)}if(bd.nodeType==3){a8.setEnd(bd,a4)}else{a8.setEndAfter(bd)}}if(a0){this.removeCaret(a8)}}}var at=/[\u0009-\u000d]|\u0020|\u00a0|\ufeff|\.|,|;|:|!|\(|\)|\?/;var U={nodes:function(a1){var a0=j(a1);if(!a0.length){a1.selectNodeContents(a1.commonAncestorContainer);a0=j(a1);if(!a0.length){a0=D.significantChildNodes(a1.commonAncestorContainer)}}return a0},image:function(a1){var a0=[];new l(a1).traverse(function(a2){if(D.is(a2,"img")){a0.push(a2)}});if(a0.length==1){return a0[0]}},expand:function(a1){var a2=a1.cloneRange();var a5=a2.startContainer.childNodes[a2.startOffset==0?0:a2.startOffset-1];var a6=a2.endContainer.childNodes[a2.endOffset];if(!af(a5)||!af(a6)){return a2}var a3=a5.nodeValue;var a4=a6.nodeValue;if(a3==""||a4==""){return a2}var a0=a3.split("").reverse().join("").search(at);var a7=a4.search(at);if(a0==0||a7==0){return a2}a7=a7==-1?a4.length:a7;a0=a0==-1?0:a3.length-a0;a2.setStart(a5,a0);a2.setEnd(a6,a7);return a2},isExpandable:function(a1){var a6=a1.startContainer;var a5=q(a1);if(a6==a5||a6==a5.body){return false}var a2=a1.cloneRange();var a0=a6.nodeValue;if(!a0){return false}var a3=a0.substring(0,a2.startOffset);var a4=a0.substring(a2.startOffset);var a7=0,a8=0;if(a3!=""){a7=a3.split("").reverse().join("").search(at)}if(a4!=""){a8=a4.search(at)}return a7!=0&&a8!=0}};function c(a1){var a2=new an(a1.range);var a0=new ac();this.formatter=a1.formatter;this.getRange=function(){return a2.toRange()};this.lockRange=function(a3){return a0.add(this.getRange(),a3)};this.releaseRange=function(a3){a0.remove(a3);O(a3)};this.undo=function(){a2.body.innerHTML=a2.html;O(a2.toRange())};this.redo=function(){this.exec()};this.exec=function(){var a3=this.lockRange(true);this.formatter.editor=this.editor;this.formatter.toggle(a3);this.releaseRange(a3)}}function aV(a2,a1){var a0=a2.body;this.redo=function(){a0.innerHTML=a1.html;O(a1.toRange())};this.undo=function(){a0.innerHTML=a2.html;O(a2.toRange())}}function t(a0){c.call(this,a0);this.managesUndoRedo=true;this.exec=function(){var a2=this.editor;var a1=a2.getRange();var a3=new an(a1);a2.clipboard.paste(a0.value||"");a2.undoRedoStack.push(new aV(a3,new an(a2.getRange())));a2.focus()}}function x(){X.call(this);this.command=function(a0){return new t(a0)};this.update=function(a0,a1){a0.data("tSelectBox").close()};this.init=function(a2,a0){var a1=a0.editor;a2.tSelectBox({data:a1.insertHtml,onItemCreate:function(a3){a3.html=''+a3.dataItem.Text+""},onChange:function(a3){X.exec(a1,"insertHtml",a3.value)},highlightFirst:false}).find(".t-input").html(a1.localization.insertHtml)}}function R(){var a1=[],a0=-1;this.push=function(a2){a1=a1.slice(0,a0+1);a0=a1.push(a2)-1};this.undo=function(){if(this.canUndo()){a1[a0--].undo()}};this.redo=function(){if(this.canRedo()){a1[++a0].redo()}};this.canUndo=function(){return a0>=0};this.canRedo=function(){return a0!=a1.length-1}}function aQ(a0){this.keydown=function(a4){var a3=a0.keyboard;var a1=a3.isTypingKey(a4);if(a1&&!a3.typingInProgress()){var a2=a0.getRange();this.startRestorePoint=new an(a2);a3.startTyping(s.proxy(function(){a0.selectionRestorePoint=this.endRestorePoint=new an(a0.getRange());a0.undoRedoStack.push(new aV(this.startRestorePoint,this.endRestorePoint))},this));return true}return false};this.keyup=function(a1){var a2=a0.keyboard;if(a2.typingInProgress()){a2.endTyping();return true}return false}}function A(a1){var a0=false;this.createUndoCommand=function(){this.endRestorePoint=new an(a1.getRange());a1.undoRedoStack.push(new aV(this.startRestorePoint,this.endRestorePoint));this.startRestorePoint=this.endRestorePoint};this.changed=function(){if(this.startRestorePoint){return this.startRestorePoint.html!=a1.body.innerHTML}return false};this.keydown=function(a2){var a3=a1.keyboard;if(a3.isModifierKey(a2)){if(a3.typingInProgress()){a3.endTyping(true)}this.startRestorePoint=new an(a1.getRange());return true}if(a3.isSystem(a2)){a0=true;if(this.changed()){a0=false;this.createUndoCommand()}return true}return false};this.keyup=function(a2){if(a0&&this.changed()){a0=false;this.createUndoCommand(a2);return true}return false}}function aH(a1){var a3=false;var a6;var a2;function a0(a7){return(a7>=48&&a7<=90)||(a7>=96&&a7<=111)||(a7>=186&&a7<=192)||(a7>=219&&a7<=222)}this.toolFromShortcut=function(a9,bb){var a8=String.fromCharCode(bb.keyCode);for(var ba in a9){var a7=a9[ba];if((a7.key==a8||a7.key==bb.keyCode)&&!!a7.ctrl==bb.ctrlKey&&!!a7.alt==bb.altKey&&!!a7.shift==bb.shiftKey){return ba}}};this.isTypingKey=function(a8){var a7=a8.keyCode;return(a0(a7)&&!a8.ctrlKey&&!a8.altKey)||a7==32||a7==13||a7==8||(a7==46&&!a8.shiftKey&&!a8.ctrlKey&&!a8.altKey)};this.isModifierKey=function(a8){var a7=a8.keyCode;return(a7==17&&!a8.shiftKey&&!a8.altKey)||(a7==16&&!a8.ctrlKey&&!a8.altKey)||(a7==18&&!a8.ctrlKey&&!a8.shiftKey)};this.isSystem=function(a7){return a7.keyCode==46&&a7.ctrlKey&&!a7.altKey&&!a7.shiftKey};this.startTyping=function(a7){a2=a7;a3=true};function a4(){a3=false;a2()}this.endTyping=function(a7){this.clearTimeout();if(a7){a4()}else{a6=window.setTimeout(a4,1000)}};this.typingInProgress=function(){return a3};this.clearTimeout=function(){window.clearTimeout(a6)};function a5(a9,a8){for(var a7=0;a7$/g,"li>");var a6=a0(a9);var a8=a4.getRange();a8.deleteContents();if(a8.startContainer==a4.document){a8.selectNodeContents(a4.body)}var ba=new ac();var bd=ba.addCaret(a8);var bc=a2(a6,bd);var bb=false;if(!/body|td/.test(D.name(bc))&&(a6||D.isInline(bc))){a8.selectNode(bd);am(a8,bc,true);bb=true}var be=a1(a9);a8.insertNode(be);bc=a2(a6,bd);if(bb){while(bd.parentNode!=bc){D.unwrap(bd.parentNode)}D.unwrap(bd.parentNode)}g(a8.commonAncestorContainer);bd.style.display="inline";D.scrollTo(bd);ba.removeCaret(a8);O(a8)}}function f(){var a0=[//g,"",/mso-[^;"]*;?/ig,"",/<\/?(meta|link|style|o:|v:)[^>]*>((?:.|\n)*?<\/(meta|link|style|o:|v:)[^>]*>)?/ig,""];this.applicable=function(a3){return/class="?Mso|style="[^"]*mso-/i.test(a3)};function a1(a3){if(/^[\u2022\u00b7\u00a7\u00d8o\-]\u00a0+/.test(a3)){return"ul"}if(/^\s*\w+[\.\)]\u00a0{2,}/.test(a3)){return"ol"}}function a2(bg){var a8=D.create(document,"div",{innerHTML:bg});var bf=s(H.join(","),a8);var ba=-1,a5,be={ul:{},ol:{}},a3=a8;for(var bb=0;bb]*>/g,"").replace(/ /g,"\u00a0");var a9=a1(bg);if(!a9||D.name(a6)!="p"){if(a6.innerHTML==""){D.remove(a6)}else{be={ul:{},ol:{}};a3=a8;ba=-1}continue}var bc=parseFloat(a6.style.marginLeft||0);var bd=be[a9][bc];if(bc>ba||!bd){bd=D.create(document,a9);if(a3==a8){D.insertBefore(bd,a6)}else{a3.appendChild(bd)}be[a9][bc]=bd}if(a5!=a9){for(var a7 in be){for(var a4 in be[a7]){if(s.contains(bd,be[a7][a4])){delete be[a7][a4]}}}}D.remove(a6.firstChild);a3=D.create(document,"li",{innerHTML:a6.innerHTML});bd.appendChild(a3);D.remove(a6);ba=bc;a5=a9}return a8.innerHTML}this.clean=function(a4){for(var a3=0,a5=a0.length;a3]*"?/ig,"");return a4}}function i(a0){function a1(a4){var a2=0;for(var a3=a4.parentNode.firstChild;a3;a3=a3.nextSibling){if(a3!=a4&&a3.className!="t-marker"&&a3.nodeType==1){a2++}}return a2}this.findSuitable=function(a3,a2){if(!a2&&a1(a3)>0){return null}return D.parentOfType(a3,a0[0].tags)};this.findFormat=function(a6){for(var a2=0;a20){this.activate(a6,a5)}};this.apply=function(a8){var a7=[];for(var a5=0,a6=a8.length;a50){for(var a5=0,a8=a9.length;a51){var a5=a7.pop();var a6=a7[a7.length-1];if(a5.previousSibling&&a5.previousSibling.className=="t-marker"){a6.appendChild(a5.previousSibling)}if(a5.previousSibling==a6&&a5.style.cssText==a6.style.cssText){while(a5.firstChild){a6.appendChild(a5.firstChild)}D.remove(a5)}}}}function aZ(a1,a0){i.call(this,a1);function a2(a6){var bh=a6.attributes,be=s.trim;if(!bh){return}for(var a5=0,bc=bh.length;a5=0?D.toHex(a4):a4}}}}return}function a3(a8){var a9=s(af(a8)?a8.parentNode:a8);var a7=a9.parents().andSelf();for(var a5=0,a6=a7.length;a5'+a8.dataItem.Text+""}}}function aX(a2){X.call(this,a2);var a1=[{tags:["span"]}],a0=new aZ(a1,a2.cssAttr);this.update=function(a3){a3.data("tColorPicker").close()};this.command=function(a3){return new aI(s.extend(a3,{formatter:function(){var a4={};a4[a2.domAttr]=a3.value;return new F(a1,{style:a4},a2.cssAttr)}}))};this.willDelayExecution=ad;this.init=function(a5,a3){var a4=a3.editor;a5.tColorPicker({selectedColor:"#000000",onChange:function(a6){X.exec(a4,a2.name,a6.value)}})}}function ab(){X.call(this);var a1=[{tags:["span"]}],a0=new aZ(a1,"className");this.command=function(a2){return new aI(s.extend(a2,{formatter:function(){return new F(a1,{className:a2.value})}}))};this.update=function(a2,a4){var a3=a2.data("tSelectBox");a3.close();a3.value(a0.getFormat(a4))};this.init=function(a4,a2){var a3=a2.editor;a4.tSelectBox({data:a3.style,title:a3.localization.style,onItemCreate:function(a5){var a6=D.inlineStyle(a3.document,"span",{className:a5.dataItem.Value});a5.html=''+a5.html+""},onChange:function(a5){X.exec(a3,"style",a5.value)}})}}function y(a1){function a0(a4,a5){for(var a2=0;a2'+a5.dataItem.Text+""},onChange:function(a4){X.exec(a2,"formatBlock",a4.value)},highlightFirst:false})}}function aR(a0){c.call(this,a0);this.exec=function(){var a3=this.getRange(),bd=q(a3),a6,bb=s.browser.msie?"":'
';var a5="p,h1,h2,h3,h4,h5,h6".split(","),be=D.parentOfType(a3.startContainer,a5),a1=D.parentOfType(a3.endContainer,a5),a2=(be&&!a1)||(!be&&a1);a3.deleteContents();var bc=D.create(bd,"a");a3.insertNode(bc);g(bc.parentNode);var a4=D.parentOfType(bc,["li"]),bf=D.parentOfType(bc,"h1,h2,h3,h4,h5,h6".split(","));if(a4){var a8=a3.cloneRange();a8.selectNode(a4);if(j(a8).length==0){var bg=D.create(bd,"p");if(a4.nextSibling){am(a8,a4.parentNode)}D.insertAfter(bg,a4.parentNode);D.remove(a4.parentNode.childNodes.length==1?a4.parentNode:a4);bg.innerHTML=bb;a6=bg}}else{if(bf&&!bc.nextSibling){var bg=D.create(bd,"p");D.insertAfter(bg,bf);bg.innerHTML=bb;D.remove(bc);a6=bg}}if(!a6){if(!(a4||bf)){new W([{tags:["p"]}]).apply([bc])}a3.selectNode(bc);var a7=D.parentOfType(bc,[a4?"li":bf?D.name(bf):"p"]);am(a3,a7,a2);var a9=a7.previousSibling;if(D.is(a9,"li")&&a9.firstChild&&!D.is(a9.firstChild,"br")){a9=a9.firstChild}a6=a7.nextSibling;if(D.is(a6,"li")&&a6.firstChild&&!D.is(a6.firstChild,"br")){a6=a6.firstChild}D.remove(a7);function ba(bh){if(bh.firstChild&&D.is(bh.firstChild,"br")){D.remove(bh.firstChild)}if(af(bh)&&bh.nodeValue==""){bh=bh.parentNode}if(bh&&!D.is(bh,"img")&&bh.innerHTML==""){bh.innerHTML=bb}}ba(a9);ba(a6);g(a9)}g(a6);if(!D.is(a6,"img")){a3.selectNodeContents(a6)}else{a3.setStartBefore(a6)}a3.collapse(true);D.scrollTo(a6);O(a3)}}function d(a0){c.call(this,a0);this.exec=function(){var a2=this.getRange();a2.deleteContents();var a1=D.create(q(a2),"br");a2.insertNode(a1);g(a1.parentNode);if(!s.browser.msie&&(!a1.nextSibling||D.isWhitespace(a1.nextSibling))){var a3=a1.cloneNode(true);a3.setAttribute("_moz_dirty","");D.insertAfter(a3,a1)}a2.setStartAfter(a1);a2.collapse(true);O(a2)}}function ap(a1){var a0=[a1=="ul"?"ol":"ul",a1];y.call(this,[{tags:a0}]);this.isFormatted=function(a5){var a2=[],a3;for(var a4=0;a41){D.insertAfter(a3[a3.length-1],a4);D.insertAfter(a3[1],a4);D[a2.length>0?"insertBefore":"insertAfter"](a3[0],a4)}}else{var a5=new b([{tags:["a"]}],a6);a5.finder=this.finder;a5.apply(a2)}}}function ao(a0){a0.formatter={toggle:function(a1){new b([{tags:["a"]}]).remove(j(a1))}};c.call(this,a0)}function aa(a1){c.call(this,a1);var a0;this.async=true;var a2=new aW();this.exec=function(){var a7=this.getRange();var a5=a7.collapsed;a7=this.lockRange(true);var ba=j(a7);var a9=null;var a4=this;function bb(bh){var bg=s("#t-editor-link-url",a8.element).val();if(bg&&bg!="http://"){a0={href:bg};var bd=s("#t-editor-link-title",a8.element).val();if(bd){a0.title=bd}var be=s("#t-editor-link-text",a8.element).val();if(be!==a9){a0.innerHTML=be}var bf=s("#t-editor-link-target",a8.element).is(":checked");if(bf){a0.target="_blank"}a2.apply(a7,a0)}a6(bh);if(a4.change){a4.change()}}function a6(bd){bd.preventDefault();a8.destroy();az(q(a7)).focus();a4.releaseRange(a7)}var bc=ba.length?a2.finder.findSuitable(ba[0]):null;var a3=ba.length<=1||(ba.length==2&&a5);var a8=ar.window.create(s.extend({},this.editor.dialogOptions,{title:"Insert link",html:new s.telerik.stringBuilder().cat('
").string(),onClose:a6})).hide().find(".t-dialog-insert").click(bb).end().find(".t-dialog-close").click(a6).end().find(".t-form-text-row input").keydown(function(bd){if(bd.keyCode==13){bb(bd)}else{if(bd.keyCode==27){a6(bd)}}}).end().find("#t-editor-link-url").val(bc?bc.getAttribute("href",2):"http://").end().find("#t-editor-link-text").val(ba.length>0?(ba.length==1?ba[0].nodeValue:ba[0].nodeValue+ba[1].nodeValue):"").end().find("#t-editor-link-title").val(bc?bc.title:"").end().find("#t-editor-link-target").attr("checked",bc?bc.target=="_blank":false).end().show().data("tWindow").center();if(a3&&ba.length>0){a9=s("#t-editor-link-text",a8.element).val()}s("#t-editor-link-url",a8.element).focus().select()},this.redo=function(){var a3=this.lockRange(true);a2.apply(a3,a0);this.releaseRange(a3)}}function aS(a1){X.call(this,s.extend(a1,{command:ao}));var a0=new i([{tags:["a"]}]);this.init=function(a2){a2.attr("unselectable","on").addClass("t-state-disabled")};this.update=function(a2,a3){a2.toggleClass("t-state-disabled",!a0.isFormatted(a3)).removeClass("t-state-hover")}}function aN(a1){c.call(this,a1);this.async=true;var a0;function a2(a3,a4){if(a0.src&&a0.src!="http://"){if(!a3){a3=D.create(q(a4),"img",a0);a3.onload=a3.onerror=function(){a3.removeAttribute("complete");a3.removeAttribute("width");a3.removeAttribute("height")};a4.deleteContents();a4.insertNode(a3);a4.setStartAfter(a3);a4.setEndAfter(a3);O(a4);return true}else{D.attr(a3,a0)}}return false}this.redo=function(){var a3=this.lockRange();if(!a2(U.image(a3),a3)){this.releaseRange(a3)}};this.exec=function(){var a6=this.lockRange();var a3=false;var a9=U.image(a6);var a4=this;function ba(bd){a0={src:s("#t-editor-image-url",a7.element).val(),alt:s("#t-editor-image-title",a7.element).val()};a3=a2(a9,a6);a5(bd);if(a4.change){a4.change()}}function a5(bd){bd.preventDefault();a7.destroy();az(q(a6)).focus();if(!a3){a4.releaseRange(a6)}}var a8=this.editor.fileBrowser;var bb=a8&&a8.selectUrl!==undefined;function bc(){if(bb){new ar.imageBrowser(s(this).find(".t-image-browser"),s.extend(a8,{apply:ba,element:a4.editor.element,localization:a4.editor.localization}))}}var a7=ar.window.create(s.extend({width:750},this.editor.dialogOptions,{title:"Insert image",html:new s.telerik.stringBuilder().cat('
').catIf('
',bb).cat("
    ").cat('
  1. ').cat('
  2. ').cat("
").cat('
').cat('').cat(" or ").cat('Close').cat("
").cat("
").string(),onClose:a5,onActivate:bc})).hide().find(".t-dialog-insert").click(ba).end().find(".t-dialog-close").click(a5).end().find(".t-form-text-row input").keydown(function(bd){if(bd.keyCode==13){ba(bd)}else{if(bd.keyCode==27){a5(bd)}}}).end().toggleClass("t-imagebrowser",bb).find("#t-editor-image-url").val(a9?a9.getAttribute("src",2):"http://").end().find("#t-editor-image-title").val(a9?a9.alt:"").end().show().data("tWindow").center();s("#t-editor-image-url",a7.element).focus().select()}}ar.selectbox=function(a0,a1){var a8;var a2=s(a0);var a4=a2.find(".t-input");var a5=this.dropDown=new ar.dropDown({effects:ar.fx.slide.defaults(),onItemCreate:a1.onItemCreate,onClick:function(a9){a7(a1.data[s(a9.item).index()].Value);a1.onChange({value:a8})}});function a3(){if(!a5.$items){a5.dataBind(a1.data)}}function a6(a9){a4.html(a9?a9:" ")}function a7(bb){a3();var ba=-1;for(var a9=0,bc=a1.data.length;a90?"rtl":"");s(document.documentElement).bind("mousedown",s.proxy(function(bb){var a9=a5.$element;var ba=a9&&a9.parent().length>0;if(ba&&!s.contains(a0,bb.target)&&!s.contains(a9.parent()[0],bb.target)){a5.close()}},this))};s.fn.tSelectBox=function(a0){return ar.create(this,{name:"tSelectBox",init:function(a1,a2){return new ar.selectbox(a1,a2)},options:a0})};s.fn.tSelectBox.defaults={effects:ar.fx.slide.defaults()};ar.colorpicker=function(a0,a1){this.element=a0;var a2=s(a0);s.extend(this,a1);a2.bind("click",s.proxy(this.click,this)).find("*").attr("unselectable","on");if(this.selectedColor){a2.find(".t-selected-color").css("background-color",this.selectedColor)}s(a0.ownerDocument.documentElement).bind("mousedown",s.proxy(function(a3){if(!s(a3.target).closest(".t-colorpicker-popup").length){this.close()}},this));ar.bind(this,{change:this.onChange,load:this.onLoad})};ar.colorpicker.prototype={select:function(a0){if(a0){a0=D.toHex(a0);if(!ar.trigger(this.element,"change",{value:a0})){this.value(a0);this.close()}}else{ar.trigger(this.element,"change",{value:this.selectedColor})}},open:function(){var a0=this.popup();var a3=s(this.element);var a2=a3.offset();a2.top+=a3.outerHeight();if(a3.closest(".t-rtl").length){a2.left-=a0.outerWidth()-a3.outerWidth()}var a1="auto";a3.parents().andSelf().each(function(){a1=s(this).css("zIndex");if(Number(a1)){a1=Number(a1)+1;return false}});ar.fx._wrap(a0).css(s.extend({position:"absolute",zIndex:a1},a2));a0.find(".t-item").bind("click",s.proxy(function(a5){var a4=s(a5.target,a5.target.ownerDocument).css("background-color");this.select(a4)},this));ar.fx.play(this.effects,a0,{direction:"bottom"})},close:function(){if(!this.$popup){return}ar.fx.rewind(this.effects,this.$popup,{direction:"bottom"},s.proxy(function(){D.remove(this.$popup[0].parentNode);this.$popup=null},this))},toggle:function(){if(!this.$popup||!this.$popup.is(":visible")){this.open()}else{this.close()}},click:function(a0){if(s(a0.target).closest(".t-tool-icon").length>0){this.select()}else{this.toggle()}},value:function(a0){if(!a0){return this.selectedColor}a0=D.toHex(a0);this.selectedColor=a0;s(".t-selected-color",this.element).css("background-color",a0)},popup:function(){if(!this.$popup){this.$popup=s(ar.colorpicker.buildPopup(this)).hide().appendTo(document.body).find("*").attr("unselectable","on").end()}return this.$popup}};s.extend(ar.colorpicker,{buildPopup:function(a0){var a3=new ar.stringBuilder();a3.cat('
').cat('
    ');var a5=a0.data;var a2=(a0.value()||"").substring(1);for(var a1=0,a4=a5.length;a1')}a3.cat("
");return a3.string()}});s.fn.tColorPicker=function(a0){return ar.create(this,{name:"tColorPicker",init:function(a1,a2){return new ar.colorpicker(a1,a2)},options:a0})};s.fn.tColorPicker.defaults={data:"000000,7f7f7f,880015,ed1c24,ff7f27,fff200,22b14c,00a2e8,3f48cc,a349a4,ffffff,c3c3c3,b97a57,ffaec9,ffc90e,efe4b0,b5e61d,99d9ea,7092be,c8bfe7".split(","),selectedColor:null,effects:ar.fx.slide.defaults()};function aU(){var a1=new y([{tags:H}]);function a0(a2){return a2.style.marginLeft||0}this.apply=function(a7){var a5=a1.findSuitable(a7);if(a5.length){var a4=[];for(var a3=0;a3ul")[0];if(!ba){ba=D.create(a8.ownerDocument,D.name(bb));a6.append(ba)}while(a8&&a8.parentNode==bb){ba.appendChild(a8);a8=a4.shift()}}else{var a2=parseInt(a0(a8))+30;D.style(a8,{marginLeft:a2})}}}else{var a9=new W([{tags:H}],{style:{marginLeft:30}});a9.apply(a7)}};this.remove=function(a4){var a6=a1.findSuitable(a4);for(var a2=0;a21)||(D.ofType(a3[a2],["ul","ol"])&&a6>0)}if(a4){a1.removeClass("t-state-disabled");return}}a1.addClass("t-state-disabled").removeClass("t-state-hover")}}function aE(a0){this.editor=a0;this.formats=[]}aE.prototype={apply:function(a4){if(!this.hasPending()){return}var a3=new ac();a3.addCaret(a4);var a0=a4.startContainer.childNodes[a4.startOffset];var a6=a0.previousSibling;if(!a6.nodeValue){a6=a6.previousSibling}a4.setStart(a6,a6.nodeValue.length-1);a3.add(a4);if(j(a4).length==0){a3.remove(a4);a4.collapse(true);this.editor.selectRange(a4);return}var a2=a3.end.previousSibling.previousSibling;var a8,a5=this.formats;for(var a1=0;a10},isPending:function(a0){return !!this.getPending(a0)},getPending:function(a1){var a2=this.formats;for(var a0=0;a0",{src:'javascript:""',frameBorder:"0",className:"t-content"}).css("display","").insertBefore(a0)[0];var a1=a4.contentWindow||a4;var a3=a1.document||a4.contentDocument;var a2=a0.val().replace(/(<\/?img[^>]*>)[\r\n\v\f\t ]+/ig,"$1");if(!a2.length&&s.browser.mozilla){a2='
'}a3.designMode="On";a3.open();a3.write(new ar.stringBuilder().cat("").cat('').cat('").cat(s.map(a5,function(a6){return[''].join("")}).join("")).cat('').cat(a2).cat("").string());a3.close();return a1}function V(a0){ar.trigger(a0.element,"selectionChange")}ar.editor=function(a0,a1){if(/Mobile.*Safari/.test(navigator.userAgent)){return}var a2=this;this.element=a0;var a3=s(a0);a3.closest("form").bind("submit",function(){a2.update()});s.extend(this,a1);ar.bind(this,{load:this.onLoad,selectionChange:this.onSelectionChange,change:this.onChange,execute:this.onExecute,error:this.onError});for(var a6 in this.tools){this.tools[a6].name=a6.toLowerCase()}this.textarea=a3.find("textarea").attr("autocomplete","off")[0];this.window=ax(s(this.textarea),this.stylesheets);this.document=this.window.contentDocument||this.window.document;this.body=this.document.body;this.keyboard=new aH([new aQ(this),new A(this)]);this.clipboard=new aA(this);this.pendingFormats=new aE(this);this.undoRedoStack=new R();function bb(bc){var bd=s.grep(bc.className.split(" "),function(be){return !/^t-(widget|tool-icon|state-hover|header|combobox|dropdown|selectbox|colorpicker)$/i.test(be)});return bd[0]?bd[0].substring(2):"custom"}function a7(bd,bc){if(!bc.key){return bd}return new ar.stringBuilder().cat(bd).cat(" (").catIf("Ctrl + ",bc.ctrl).catIf("Shift + ",bc.shift).catIf("Alt + ",bc.alt).cat(bc.key).cat(")").string()}s(this.window).bind("blur",function(){var bc=a2.textarea.value,bd=a2.encodedValue();a2.update(bd);if(bd!=bc){ar.trigger(a2.element,"change")}});var a5=".t-editor-toolbar > li > *",a4=".t-editor-button .t-tool-icon",a8=a4+":not(.t-state-disabled)",ba=a4+".t-state-disabled";a3.delegate(a8,"mouseenter",ar.hover).delegate(a8,"mouseleave",ar.leave).delegate(a4,"mousedown",ar.preventDefault).delegate(a8,"click",ar.stopAll(function(bc){a2.focus();a2.exec(bb(this))})).delegate(ba,"click",function(bc){bc.preventDefault()}).find(a5).each(function(){var bg=bb(this),bd=a2.tools[bg],bf=a2.localization[bg],be=s(this);if(!bd){return}if(bg=="fontSize"||bg=="fontName"){var bc=a2.localization[bg+"Inherit"]||aO[bg+"Inherit"];a2[bg][0].Text=bc;be.find("input").val(bc).end().find("span.t-input").text(bc).end()}bd.init(be,{title:a7(bf,bd),editor:a2})}).end().bind("selectionChange",function(){var bd=a2.getRange();a2.selectionRestorePoint=new an(bd);var bc=j(bd);if(!bc.length){bc=[bd.startContainer]}a3.find(a5).each(function(){var be=a2.tools[bb(this)];if(be){be.update(s(this),bc,a2.pendingFormats)}})});s(document).bind("DOMNodeInserted",function(bc){if(s.contains(bc.target,a2.element)||a2.element==bc.target){s(a2.element).find("iframe").remove();a2.window=ax(s(a2.textarea),a2.stylesheets);a2.document=a2.window.contentDocument||a2.window.document;a2.body=a2.document.body}});var a9=true;s(this.document).bind({keydown:function(be){var bc=a2.keyboard.toolFromShortcut(a2.tools,be);if(bc){be.preventDefault();a2.exec(bc);return false}if(a2.keyboard.isTypingKey(be)&&a2.pendingFormats.hasPending()){if(a9){a9=false}else{var bd=a2.getRange();a2.pendingFormats.apply(bd);a2.selectRange(bd)}}a2.keyboard.clearTimeout();a2.keyboard.keydown(be)},keyup:function(be){var bd=[8,9,33,34,35,36,37,38,39,40,40,45,46];if(s.browser.mozilla&&be.keyCode==8){aJ(a2,be)}if(s.inArray(be.keyCode,bd)>-1||(be.keyCode==65&&be.ctrlKey&&!be.altKey&&!be.shiftKey)){a2.pendingFormats.clear();V(a2)}if(a2.keyboard.isTypingKey(be)){var bc=a2.getRange();a2.pendingFormats.apply(bc);a2.selectRange(bc)}else{a9=true}a2.keyboard.keyup(be)},mousedown:function(bc){a2.pendingFormats.clear();var bd=s(bc.target);if(!s.browser.gecko&&bc.which==2&&bd.is("a[href]")){window.open(bd.attr("href"),"_new")}},mouseup:function(){V(a2)}});s(this.body).bind("focusout",function(bc){if(a2.keyboard.typingInProgress()){a2.keyboard.endTyping(true)}try{if(!a2.selectionRestorePoint){a2.selectionRestorePoint=new an(a2.getRange())}}catch(bc){}}).bind("cut paste",function(bc){a2.clipboard["on"+bc.type](bc)})};function aJ(a0,a3){var a1=a0.getRange(),a4=a1.startContainer;if(a4==a0.body.firstChild||!D.isBlock(a4)||(a4.childNodes.length>0&&!(a4.childNodes.length==1&&D.is(a4.firstChild,"br")))){return}var a6=a4.previousSibling;while(a6&&!D.isBlock(a6)){a6=a6.previousSibling}if(!a6){return}var a5=a0.document.createTreeWalker(a6,NodeFilter.SHOW_TEXT,null,false);var a2;while(a2=a5.nextNode()){a6=a2}a1.setStart(a6,af(a6)?a6.nodeValue.length:0);a1.collapse(true);O(a1);D.remove(a4);a3.preventDefault()}s.extend(ar.editor,{BlockFormatFinder:y,BlockFormatter:W,Dom:D,FormatCommand:aI,GenericCommand:aV,GreedyBlockFormatter:au,GreedyInlineFormatFinder:aZ,GreedyInlineFormatter:F,ImageCommand:aN,IndentCommand:o,IndentFormatter:aU,InlineFormatFinder:i,InlineFormatter:b,InsertHtmlCommand:t,Keyboard:aH,LinkCommand:aa,LinkFormatFinder:I,LinkFormatter:aW,ListCommand:ay,ListFormatFinder:ap,ListFormatter:J,MSWordFormatCleaner:f,Marker:ac,NewLineCommand:d,OutdentCommand:S,ParagraphCommand:aR,PendingFormats:aE,RangeEnumerator:aj,RangeUtils:U,RestorePoint:an,SystemHandler:A,TypingHandler:aQ,UndoRedoStack:R,UnlinkCommand:ao});ar.editor.prototype={value:function(a2){var a0=this.body;if(a2===undefined){return C(a0)}this.pendingFormats.clear();a2=a2.replace(//g,"");a2=a2.replace(/]*)>(.*)?<\/script>/ig,"$2");if(s.browser.mozilla){a2=a2.replace(/]*)>(\s*)?<\/p>/ig,'


')}if(s.browser.msie&&parseInt(s.browser.version)<9){a2="
"+a2;var a3="originalsrc",a1="originalhref";a2=a2.replace(/href\s*=\s*(?:'|")?([^'">\s]*)(?:'|")?/,a1+'="$1"');a2=a2.replace(/src\s*=\s*(?:'|")?([^'">\s]*)(?:'|")?/,a3+'="$1"');a0.innerHTML=a2;D.remove(a0.firstChild);s(a0).find("telerik\\:script,script,link,img,a").each(function(){var a4=this;if(a4[a1]){a4.setAttribute("href",a4[a1]);a4.removeAttribute(a1)}if(a4[a3]){a4.setAttribute("src",a4[a3]);a4.removeAttribute(a3)}})}else{a0.innerHTML=a2;if(s.browser.msie){g(a0)}}this.update()},focus:function(){this.window.focus()},update:function(a0){this.textarea.value=a0||this.encoded?this.encodedValue():this.value()},encodedValue:function(){return D.encode(this.value())},createRange:function(a0){return aP(a0||this.document)},getSelection:function(){return aY(this.document)},selectRange:function(a1){var a0=this.getSelection();a0.removeAllRanges();a0.addRange(a1)},getRange:function(){var a1=this.getSelection();var a0=a1.rangeCount>0?a1.getRangeAt(0):this.createRange();if(a0.startContainer==this.document&&a0.endContainer==this.document&&a0.startOffset==0&&a0.endOffset==0){a0.setStart(this.body,0);a0.collapse(true)}return a0},selectedHtml:function(){return C(this.getRange().cloneContents())},paste:function(a0){this.clipboard.paste(a0)},exec:function(a3,a0){a3=a3.toLowerCase();var a5="";for(var a2 in this.tools){if(a2.toLowerCase()==a3){a5=this.tools[a2];break}}if(a5){var a1=this.getRange();if(!/undo|redo/i.test(a3)&&a5.willDelayExecution(a1)){this.pendingFormats.toggle({name:a3,params:a0,command:a5.command});V(this);return}var a4=a5.command?a5.command(s.extend({range:a1},a0)):null;ar.trigger(this.element,"execute",{name:a3,command:a4});if(/undo|redo/i.test(a3)){this.undoRedoStack[a3]()}else{if(a4){if(!a4.managesUndoRedo){this.undoRedoStack.push(a4)}a4.editor=this;a4.exec();if(a4.async){a4.change=s.proxy(function(){V(this)},this);return}}}V(this)}}};s.fn.tEditor=function(a0){return ar.create(this,{name:"tEditor",init:function(a1,a2){return new ar.editor(a1,a2)},options:a0})};var ak={bold:[{tags:["strong"]},{tags:["span"],attr:{style:{fontWeight:"bold"}}}],italic:[{tags:["em"]},{tags:["span"],attr:{style:{fontStyle:"italic"}}}],underline:[{tags:["span"],attr:{style:{textDecoration:"underline"}}}],strikethrough:[{tags:["del"]},{tags:["span"],attr:{style:{textDecoration:"line-through"}}}],justifyLeft:[{tags:H,attr:{style:{textAlign:"left"}}},{tags:["img"],attr:{style:{"float":"left"}}}],justifyCenter:[{tags:H,attr:{style:{textAlign:"center"}}},{tags:["img"],attr:{style:{display:"block",marginLeft:"auto",marginRight:"auto"}}}],justifyRight:[{tags:H,attr:{style:{textAlign:"right"}}},{tags:["img"],attr:{style:{"float":"right"}}}],justifyFull:[{tags:H,attr:{style:{textAlign:"justify"}}}]};function ae(a2,a1){for(var a0=0;a0=0){return a1[a0]}}}function X(a0){s.extend(this,a0);this.init=function(a1,a2){a1.attr({unselectable:"on",title:a2.title})};this.command=function(a1){return new a0.command(a1)};this.update=function(){};this.willDelayExecution=function(){return false}}X.exec=function(a1,a2,a0){a1.focus();if(a1.selectionRestorePoint){a1.selectRange(a1.selectionRestorePoint.toRange());a1.selectionRestorePoint=null}a1.exec(a2,{value:a0})};function ai(a0){X.call(this,a0);this.command=function(a1){return new aI(s.extend(a1,{formatter:a0.formatter}))};this.update=function(a1,a5,a3){var a2=a3.isPending(this.name),a4=a0.finder.isFormatted(a5),a6=a2?!a4:a4;a1.toggleClass("t-state-active",a6)}}var Q=function(){return{isFormatted:function(){return false}}};var aO={bold:"Bold",italic:"Italic",underline:"Underline",strikethrough:"Strikethrough",justifyCenter:"Center text",justifyLeft:"Align text left",justifyRight:"Align text right",justifyFull:"Justify",insertUnorderedList:"Insert unordered list",insertOrderedList:"Insert ordered list",indent:"Indent",outdent:"Outdent",createLink:"Insert hyperlink",unlink:"Remove hyperlink",insertImage:"Insert image",insertHtml:"Insert HTML",fontName:"Select font family",fontNameInherit:"(inherited font)",fontSize:"Select font size",fontSizeInherit:"(inherited size)",formatBlock:"Format",style:"Styles",emptyFolder:"Empty Folder",uploadFile:"Upload",orderBy:"Arrange by:",orderBySize:"Size",orderByName:"Name",invalidFileType:'The selected file "{0}" is not valid. Supported file types are {1}.',deleteFile:'Are you sure you want to delete "{0}"?',overwriteFile:'A file with name "{0}" already exists in the current directory. Do you want to overwrite it?',directoryNotFound:"A directory with this name was not found."};s.fn.tEditor.defaults={localization:aO,formats:ak,encoded:true,stylesheets:[],dialogOptions:{modal:true,resizable:false,draggable:true,effects:{list:[{name:"toggle"}]}},fontName:[{Text:aO.fontNameInherit,Value:"inherit"},{Text:"Arial",Value:"Arial,Helvetica,sans-serif"},{Text:"Courier New",Value:"'Courier New',Courier,monospace"},{Text:"Georgia",Value:"Georgia,serif"},{Text:"Impact",Value:"Impact,Charcoal,sans-serif"},{Text:"Lucida Console",Value:"'Lucida Console',Monaco,monospace"},{Text:"Tahoma",Value:"Tahoma,Geneva,sans-serif"},{Text:"Times New Roman",Value:"'Times New Roman',Times,serif"},{Text:"Trebuchet MS",Value:"'Trebuchet MS',Helvetica,sans-serif"},{Text:"Verdana",Value:"Verdana,Geneva,sans-serif"}],fontSize:[{Text:aO.fontSizeInherit,Value:"inherit"},{Text:"1 (8pt)",Value:"xx-small"},{Text:"2 (10pt)",Value:"x-small"},{Text:"3 (12pt)",Value:"small"},{Text:"4 (14pt)",Value:"medium"},{Text:"5 (18pt)",Value:"large"},{Text:"6 (24pt)",Value:"x-large"},{Text:"7 (36pt)",Value:"xx-large"}],formatBlock:[{Text:"Paragraph",Value:"p"},{Text:"Quotation",Value:"blockquote"},{Text:"Heading 1",Value:"h1"},{Text:"Heading 2",Value:"h2"},{Text:"Heading 3",Value:"h3"},{Text:"Heading 4",Value:"h4"},{Text:"Heading 5",Value:"h5"},{Text:"Heading 6",Value:"h6"}],tools:{bold:new Y({key:"B",ctrl:true,format:ak.bold}),italic:new Y({key:"I",ctrl:true,format:ak.italic}),underline:new Y({key:"U",ctrl:true,format:ak.underline}),strikethrough:new Y({format:ak.strikethrough}),undo:{key:"Z",ctrl:true},redo:{key:"Y",ctrl:true},insertLineBreak:new X({key:13,shift:true,command:d}),insertParagraph:new X({key:13,command:aR}),justifyCenter:new P({format:ak.justifyCenter}),justifyLeft:new P({format:ak.justifyLeft}),justifyRight:new P({format:ak.justifyRight}),justifyFull:new P({format:ak.justifyFull}),insertUnorderedList:new aM({tag:"ul"}),insertOrderedList:new aM({tag:"ol"}),createLink:new X({key:"K",ctrl:true,command:aa}),unlink:new aS({key:"K",ctrl:true,shift:true}),insertImage:new X({command:aN}),indent:new X({command:o}),outdent:new ag(),insertHtml:new x(),style:new ab(),fontName:new aC({cssAttr:"font-family",domAttr:"fontFamily",name:"fontName"}),fontSize:new aC({cssAttr:"font-size",domAttr:"fontSize",name:"fontSize"}),formatBlock:new n(),foreColor:new aX({cssAttr:"color",domAttr:"color",name:"foreColor"}),backColor:new aX({cssAttr:"background-color",domAttr:"backgroundColor",name:"backColor"})}}})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.grid.editing.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.grid.editing.min.js new file mode 100644 index 0000000..f792af6 --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.grid.editing.min.js @@ -0,0 +1 @@ +(function(h){var c=h.telerik,j=/^\/Date\((.*?)\)\/$/;var g=function(l){this.formId=l;this._isBuild=false;var n="tUnobtrusiveValidation";var m="tUnobtrusiveContainer";var k=this.unobtrusive={adapters:[],parseElement:function(o,r){var p=h(o),q=p.parents("form")[0],t,s,u;if(!q){return}t=k.validationInfo(q);t.options.rules[o.name]=s={};t.options.messages[o.name]=u={};h.each(this.adapters,function(){var v="data-val-"+this.name,w=p.attr(v),x={};if(w!==undefined){v+="-";h.each(this.params,function(){x[this]=p.attr(v+this)});this.adapt({element:o,form:q,message:w,params:x,rules:s,messages:u})}});if(!r){t.attachValidation()}},parse:function(o){h(o).find(":input[data-val=true]").each(function(){k.parseElement(this,true)});h("form").each(function(){var p=k.validationInfo(this);if(p){p.attachValidation()}})},onError:function(o,r){var q=h(this).find("[data-valmsg-for='"+r[0].name+"']"),p=h.parseJSON(q.attr("data-valmsg-replace"))!==false;q.removeClass("field-validation-valid").addClass("field-validation-error");o.data(m,q);if(p){q.empty();o.removeClass("input-validation-error").appendTo(q)}else{o.hide()}},onErrors:function(o,r){var q=h(this).find("[data-valmsg-summary=true]"),p=q.find("ul");if(p&&p.length&&r.errorList.length){p.empty();q.addClass("validation-summary-errors").removeClass("validation-summary-valid");h.each(r.errorList,function(){h("
  • ").html(this.message).appendTo(p)})}},onSuccess:function(o){var q=o.data(m),p=h.parseJSON(q.attr("data-valmsg-replace"));if(q){q.addClass("field-valiion-valid").removeClass("field-validation-error");o.removeData(m);if(p){q.empty()}}},validationInfo:function(o){var q=h(o),p=q.data(n);if(!p){p={options:{errorClass:"input-validation-error",errorElement:"span",errorPlacement:h.proxy(k.onError,o),invalidHandler:h.proxy(k.onErrors,o),messages:{},rules:{},success:h.proxy(k.onSuccess,o)},attachValidation:function(){q.validate(this.options)},validate:function(){q.validate();return q.valid()}};q.data(n,p)}return p}}};g.prototype={build:function(){if(this._isBuild){return}this._isBuild=true;var o=[];function m(r,q,p){r.rules[q]=p;if(r.message){r.messages[q]=r.message}}function n(p){return p.replace(/^\s+|\s+$/g,"").split(/\s*,\s*/g)}function l(p){return p.substr(0,p.lastIndexOf(".")+1)}function k(q,p){if(q.indexOf("*.")===0){q=q.replace("*.",p)}return q}o=this.unobtrusive.adapters;o.add=function(r,q,p){if(!p){p=q;q=[]}this.push({name:r,params:q,adapt:p});return this};o.addBool=function(q,p){return this.add(q,function(r){m(r,p||q,true)})};o.addMinMax=function(s,q,u,p,r,t){return this.add(s,[r||"min",t||"max"],function(x){var v=x.params.min,w=x.params.max;if(v&&w){m(x,p,[v,w])}else{if(v){m(x,q,v)}else{if(w){m(x,u,w)}}}})};o.addSingleVal=function(q,r,p){return this.add(q,[r||"val"],function(s){m(s,p||q,s.params[r])})};o.addSingleVal("accept","exts").addSingleVal("regex","pattern");o.addBool("creditcard").addBool("date").addBool("digits").addBool("email").addBool("number").addBool("url");o.addMinMax("length","minlength","maxlength","rangelength").addMinMax("range","min","max","range");o.add("equalto",["other"],function(q){var p=h(q.form).find(":input[name="+q.params.other+"]")[0];m(q,"equalTo",p)});o.add("required",function(p){if(p.element.tagName.toUpperCase()!=="INPUT"||p.element.type.toUpperCase()!=="CHECKBOX"){m(p,"required",true)}});o.add("remote",["url","type","additionalfields"],function(r){var p={url:r.params.url,type:r.params.type||"GET",data:{}},q=l(r.element.name);h.each(n(r.params.additionalfields||r.element.name),function(s,u){var t=k(u,q);p.data[t]=function(){return h(r.form).find(":input[name='"+t+"']").val()}});m(r,"remote",p)});if(h.validator.unobtrusive&&h.validator.unobtrusive.adapters){h.extend(o,h.validator.unobtrusive.adapters)}h.validator.addMethod("regex",function(p,r,q){if(this.optional(r)){return true}var s=new RegExp(q).exec(p);return s&&s.index==0&&s[0].length==p.length});h.validator.addMethod("number",function(p,s){var q=c.cultureInfo.numericgroupsize;var r=new c.stringBuilder();r.cat("^-?(?:\\d+|\\d{1,").cat(q).cat("}(?:").cat(c.cultureInfo.numericgroupseparator).cat("\\d{").cat(q).cat("})+)(?:\\").cat(c.cultureInfo.numericdecimalseparator).cat("\\d+)?$");return this.optional(s)||new RegExp(r.string()).test(p)})},parse:function(){this.build();this.unobtrusive.parse(this.formId)}};var f=function(k){this.validationMetaData=k};f.prototype={build:function(o){h.validator.addMethod("regex",function(A,C,B){if(this.optional(C)){return true}var D=new RegExp(B).exec(A);return D&&D.index==0&&D[0].length==A.length});h.validator.addMethod("number",function(A,D){var B=c.cultureInfo.numericgroupsize;var C=new c.stringBuilder();C.cat("^-?(?:\\d+|\\d{1,").cat(B).cat("}(?:").cat(c.cultureInfo.numericgroupseparator).cat("\\d{").cat(B).cat("})+)(?:\\").cat(c.cultureInfo.numericdecimalseparator).cat("\\d+)?$");return this.optional(D)||new RegExp(C.string()).test(A)});function t(B,A,C){B.range=[A,C]}function p(A,B){A.regex=B}function z(A){A.required=true}function v(A,B){A.maxlength=B}function m(A,B,C){A[B]=C}function x(D){var A={};for(var C=0;C-1){var m=o.substring(0,n);var l=k[m]||{};l[o.substring(n+1)]=k[o];k[m]=i(l);delete k[o]}}return k}function d(l){var m,k,n;for(m in l){k=l[m];if(typeof k==="string"){n=j.exec(k);if(n){l[m]=new Date(parseInt(n[1]))}}else{if(h.isPlainObject(k)){d(k)}}}}c.editing.initialize=function(l){h.extend(l,this.implementation);var k=h(l.element);l.modelBinder=new c.grid.ModelBinder();l.formViewBinder=new c.grid.FormViewBinder({date:function(u,r){var t=l.columnFromMember(u);var s=t?t.format:"";return c.formatString(s||"{0:G}",r)}});if(l.isAjax()){if(l.editing.mode=="InCell"){d(l.editing.defaultDataItem||{});l.changeLog=new c.grid.ChangeLog(l.pageSize||(l.data&&l.data.length)||0);h(l.element).bind("dataBound",function(){l.changeLog.clear()});l.cellEditor=new c.grid.CellEditor({columns:l.columns,cellIndex:function(r){return r.index()},id:l.formId(),bind:h.proxy(l.formViewBinder.bind,l.formViewBinder),validate:h.proxy(l.validation,l)});k.delegate(".t-grid-save-changes:not(.t-state-disabled)","click",c.stopAll(function(r){l.submitChanges()}));k.delegate(".t-grid-cancel-changes","click",c.stopAll(function(r){l.cancelChanges()}));l.hasChanges=function(){return l.changeLog.dirty()};l.submitChanges=function(){if(l.changeLog.dirty()){var r=l.changeLog.inserted;var t=h.grep(l.changeLog.updated,function(v){return v!=undefined});var s=h.grep(l.changeLog.deleted,function(v){return v!=undefined});if(c.trigger(l.element,"submitChanges",{inserted:r,updated:t,deleted:s})){return}var u=l.ws?{inserted:h.map(r,function(v){return l._convert(v)}),updated:h.map(t,function(v){return l._convert(v)}),deleted:h.map(s,function(v){return l._convert(v)})}:l.changeLog.serialize(r,t,s);l.sendValues(u,"updateUrl")}};l.cancelChanges=function(){l.changeLog.clear();l.dataBind(l.data.slice(0));l.valid=true};l.cellIndex=function(r){return h(r).parent().find("td:not(.t-group-cell,.t-hierarchy-cell)").index(r)};l.rowIndex=function(r){return h(r).parent().find("tr:not(.t-detail-row,.t-grouping-row)").index(r)};var o;l.valid=true;l.editCell=function(u){var r=l.columns[l.cellIndex(u)];if(l.valid&&(r&&!r.readonly)){l.td=u;u=h(u);var t=u.parent();var v=l.rowIndex(t);var s=l.changeLog.get(v)||l.dataItem(t);o=u.find(".t-dirty");l.cellEditor.edit(u,s);c.trigger(l.element,"edit",{mode:t.hasClass("t-grid-new-row")?"insert":"edit",form:l.form()[0],dataItem:s,cell:u[0]})}};l.saveCell=function(u){l.valid=l.validate();if(l.valid){u=h(u);var t=u.parent();var s=l.dataItem(t);var v=i(l.modelBinder.bind(u));var r=false;if(c.trigger(l.element,"save",{mode:t.hasClass("t-grid-new-row")?"insert":"edit",dataItem:s,values:v,form:l.form()[0],cell:u[0]})){return}if(t.hasClass("t-grid-new-row")){l.changeLog.insert(l.rowIndex(t),v)}else{r=l.changeLog.update(l.rowIndex(t),s,v)}l.cellEditor.display(u,v);if(r||t.hasClass("t-grid-new-row")){o=h('')}if(o&&o.length){o.prependTo(l.td)}l.td=null}};l.td=null;l.$tbody.delegate("td:not(.t-grid-edit-cell)",l.editing.beginEdit||"click",function(r){l.editCell(this)});h(document).mousedown(function(r){if(l.td&&!h.contains(l.td,r.target)&&l.td!=r.target&&!h(r.target).closest(".t-animation-container").length){l.saveCell(l.td)}})}else{if(l.editing.beginEdit){l.$tbody.delegate("tr:not(.t-detail-row,.t-grouping-row,.t-grid-edit-row,.t-group-footer)",l.editing.beginEdit,function(r){if(!h(r.target).is(":button,a,:input,a>.t-icon")){l.editRow(h(this))}})}}k.delegate(".t-grid-edit","click",c.stopAll(function(r){l.editRow(h(this).closest("tr"))})).delegate(".t-grid-delete","click",c.stopAll(function(r){l.deleteRow(h(this).closest("tr"))})).delegate(".t-grid-add","click",c.stopAll(function(r){l.addRow()}))}else{k.delegate(".t-grid-delete","click",c.stop(function(r){if(l.editing.confirmDelete!==false&&!confirm(l.localization.deleteConfirmation)){r.preventDefault()}}));l.validation()}l.errorView=new c.grid.ErrorView();var q=new c.grid.DataCellBuilder({columns:l.columns});var m=h.grep(l.columns,function(r){return r.commands&&h.grep(r.commands,function(s){return s.name=="edit"})[0]})[0];var n=new c.grid.FormContainerBuilder({html:function(){return unescape(l.editing.editor)},insert:function(){return m.insert()},edit:function(){return m.edit()}});var p=l.editing.mode;if(p=="InLine"){l.rowEditor=new c.grid.Editor({id:l.formId(),cancel:q.display,edit:q.edit,insert:q.insert,groups:(l.groups||[]).length,details:l.detail})}else{if(p=="InForm"){l.rowEditor=new c.grid.Editor({id:l.formId(),cancel:q.display,groups:(l.groups||[]).length,details:l.detail,edit:function(){return''+n.edit()+""},insert:function(){return''+n.insert()+""}})}else{if(p=="PopUp"){l.rowEditor=new c.grid.PopUpEditor({id:l.formId(),edit:n.edit,container:l.element,settings:l.editing.popup,insert:n.insert,editTitle:l.localization.edit,insertTitle:l.localization.insert})}else{q=new c.grid.CellBuilder({columns:l.columns});l.rowEditor=new c.grid.Editor({id:l.formId(),cancel:q.display,edit:q.edit,insert:q.insert})}}}k.delegate(":input:not(.t-button):not(textarea)","keydown",function(s){if(s.keyCode==13||s.keyCode==27){s.preventDefault();var r={13:".t-grid-update, .t-grid-insert",27:".t-grid-cancel"};h(this).closest("tr").find(r[s.keyCode]).click()}})};c.editing.implementation={editFor:function(l){var m=this.localization;if(l.commands){var o=h.grep(l.commands,function(q){return q.name=="edit"})[0];if(o){var p=c.grid.ButtonBuilder.create(h.extend({text:m.update},o,{name:"update"}));var n=c.grid.ButtonBuilder.create(h.extend({text:m.cancel},o,{name:"cancel"}));var k=p.build()+n.build();return function(){return k}}else{return function(){return""}}}else{if(!l.readonly&&l.editor){return function(){return unescape(l.editor)}}}return this.displayFor(l)},insertFor:function(l){var m=this.localization;if(l.commands){var o=h.grep(l.commands,function(q){return q.name=="edit"})[0];if(o){var p=c.grid.ButtonBuilder.create(h.extend({text:m.insert},o,{name:"insert"}));var n=c.grid.ButtonBuilder.create(h.extend({text:m.cancel},o,{name:"cancel"}));var k=p.build()+n.build();return function(){return k}}else{return function(){return""}}}else{return this.editFor(l)}},insertRow:function(k){if(this.validate()){var l=this.extractValues(k);if(c.trigger(this.element,"save",{mode:"insert",values:l,form:this.form()[0]})){return}this.sendValues(l,"insertUrl")}},updateRow:function(k){if(this.validate()){var l=this.dataItem(k.data("tr")||k);var m=this.extractValues(k);if(c.trigger(this.element,"save",{mode:"edit",dataItem:l,values:m,form:this.form()[0]})){return}this.sendValues(h.extend(l,m),"updateUrl")}},deleteRow:function(k){var l=this.dataItem(k);if(this.editing.mode!="InCell"){if(c.trigger(this.element,"delete",{dataItem:l})){return}if(this.editing.confirmDelete===false||confirm(this.localization.deleteConfirmation)){this.sendValues(l,"deleteUrl")}}else{if(this.editing.confirmDelete===false||confirm(this.localization.deleteConfirmation)){this.changeLog.erase(this.rowIndex(k),l);this.cancelRow(k);k.hide()}}},editRow:function(k){var m=this.dataItem(k);if(this.editing.mode!="InCell"){b();var n=this.rowEditor.edit(k,m);var l=this.form();l.undelegate(".t-grid-update").delegate(".t-grid-update","click",c.stopAll(h.proxy(function(){this.updateRow(n)},this))).undelegate(".t-grid-cancel").delegate(".t-grid-cancel","click",c.stopAll(h.proxy(function(){this.cancelRow(k)},this)));this.formViewBinder.bind(n,m);c.trigger(this.element,"edit",{mode:"edit",form:l[0],dataItem:m});this.validation()}else{if(this.valid){this.rowEditor.edit(k,m);this.td=row.find(":input:visible:first").focus().closest("td")[0];this.validation()}}},form:function(){return h("#"+this.formId())},addRow:function(){var n=h.extend(true,{},this.editing.defaultDataItem);if(this.editing.mode!="InCell"){b();var p=this.rowEditor.insert(this.$tbody,n);var l=this.form();l.undelegate(".t-grid-insert").delegate(".t-grid-insert","click",c.stopAll(h.proxy(function(){this.insertRow(p)},this))).undelegate(".t-grid-cancel").delegate(".t-grid-cancel","click",c.stopAll(h.proxy(function(){this.cancelRow(p)},this)));c.trigger(this.element,"edit",{mode:"insert",form:l[0]});this.validation()}else{if(this.valid){var m=this.rowEditor.insert(this.$tbody,n);this.changeLog.insert(n);this.td=m.find(":input:enabled:visible:first").focus().closest("td")[0];for(var k=this.columns.length-1;k>=0;k--){if(!this.columns[k].readonly){var o=m.children().eq(k);if(o[0]!=this.td){o.prepend('')}}}this.validation()}}},extractValues:function(k){return this.modelBinder.bind(k)},cancelRow:function(k){if(!k.length){return}var l=this.dataItem(k);this.rowEditor.cancel(k,l);c.trigger(this.element,"rowDataBound",{row:k[0],dataItem:l})},validate:function(){var k=this.form();if(k.length){return k.validate().form()}return true},cancel:function(){this.cancelRow(this.$tbody.find(">.t-grid-edit-row"))},_convert:function(o){for(var l in o){var k=o[l];if(k instanceof Date){var n=this.columnFromMember(l);var m="{0:G}";if(n&&n.format){m=n.format}o[l]=this.ws?"\\/Date("+k.getTime()+")\\/":c.formatString(m,k)}if(k==undefined){delete o[l]}}return o},sendValues:function(n,k){if(this.editing.mode!="InCell"||!this.ws){this._convert(n);for(var l in this.dataKeys){var m=this.valueFor({member:l})(n);if(m!=undefined){n[this.ws?l:this.dataKeys[l]]=m}}}h.ajax(this.ajaxOptions({data:this.ws?(this.editing.mode=="InCell"?n:{value:n}):n,url:this.url(k),hasErrors:h.proxy(this.hasErrors,this),displayErrors:h.proxy(this.displayErrors,this)}))},displayErrors:function(k){this.errorView.bind(h("#"+this.formId()),k.modelState)},hasErrors:function(k){var l=k.modelState;var m=false;if(l){h.each(l,function(n,o){if("errors" in o){m=true;return false}})}return m},formId:function(){return h(this.element).attr("id")+"form"},validation:function(){this.validator().parse()},validator:function(){if(this.validationMetadata){return new f(this.validationMetadata)}else{return new g(h("#"+this.formId()))}}};c.grid.ModelBinder=function(){this.binders={":input:not(.t-input):not(:radio),:radio:checked":function(){return h(this).val()},":checkbox":function(){return h(this).is(":checked")},".t-datepicker :input":function(){return h(this).data("tDatePicker").value()},".t-numerictextbox :input":function(){return h(this).data("tTextBox").value()},".t-editor textarea:hidden":function(){var k=h(this).closest(".t-editor").data("tEditor");if(k.encoded){return k.encodedValue()}return k.value()}};this.bind=function(k){var l={};h.each(this.binders,function(m,n){k.find(m).each(function(){if(!this.disabled){l[this.name]=n.call(this)}})});return l}};c.grid.FormViewBinder=function(m){this.converters=m||{};this.binders={":input:not(:radio)":function(n){h(this).val(n)},":checkbox":function(n){h(this).attr("checked",n==true)},":radio":function(o){var n=h(this).val();if(typeof o=="boolean"){n=n.toLowerCase()}if(n==o.toString()){h(this).attr("checked",true)}}};function l(n){return function(o){h(this).data(n).value(o)}}function k(){return function(n){h(this).closest(".t-editor").data("tEditor").value(n)}}this.binders[".t-numerictextbox :input"]=l("tTextBox");this.binders[".t-dropdown :input:hidden"]=l("tDropDownList");this.binders[".t-combobox :input:hidden"]=l("tComboBox");this.binders[".t-editor textarea:hidden"]=k();this.evaluate=function(o,r){if(r!=null){var n=o,p=false,t=r.split(".");while(t.length){var u=t.shift();if(n!=null&&typeof(n[u])!="undefined"){n=n[u];p=true}else{if(p){p=false;break}}}if(p&&!h.isPlainObject(n)){var q=j.exec(n);if(q){n=new Date(parseInt(q[1]))}var s=c.getType(n);if(s in this.converters){n=this.converters[s](r,n)}return n}}};this.bind=function(p,o){var n;h.each(this.binders,h.proxy(function(q,r){p.find(q).each(h.proxy(function(t,u){var s=this.evaluate(o,u.name);if(s!=n){r.call(u,s)}},this))},this))}};c.grid.CellBuilder=function(k){function l(n,m){return h.map(k.columns,function(p,o){return"':">")+p[o==0?m:"display"](n)+""}).join("")}this.edit=function(m){return l(m,"edit")};this.insert=function(m){return l(m,"insert")};this.display=function(m){return l(m,"display")}};c.grid.DataCellBuilder=function(k){function l(n,m){return h.map(k.columns,function(p,o){return"':">")+p[m](n)+""}).join("")}this.edit=function(m){return l(m,"edit")};this.insert=function(m){return l(m,"insert")};this.display=function(m){return l(m,"display")}};c.grid.FormContainerBuilder=function(k){function l(m){return'
    '+k.html()+k[m]()+"
    "}this.edit=function(){return l("edit")};this.insert=function(){return l("insert")}};function e(k){return h("
    ",{className:"t-edit-form",id:k}).submit(c.preventDefault)}c.grid.PopUpEditor=function(m){var l;function k(){var o=l.data("tWindow");o&&o.close();l.remove()}function n(p,o){l=h("
    ",{id:m.container.id+"PopUp"}).appendTo(m.container).css({top:0,left:"50%",marginLeft:-90}).tWindow(m.settings).find(".t-window-content").append(m[o](p)).wrapInner(e(m.id)).end();h(m.container).one("dataBound",k);l.find("t-close").bind("close",c.stopAll(k)).end().data("tWindow").open().title(m[o+"Title"]);return l}this.edit=function(o,p){o.addClass("t-grid-edit-row");return n(p,"edit").data("tr",o)};this.insert=function(o,p){return n(p,"insert")};this.cancel=function(o){o.removeClass("t-grid-edit-row");k()}};c.grid.Editor=function(m){var l=(m.groups||0);function k(n,o,p){var q=n.find(".t-group-cell,.t-hierarchy-cell");n.addClass("t-grid-edit-row").empty().append(q).append(m[p](o)).closest("table").wrap(function(){if(!h(this).parent().is("form")){return e(m.id)}})}this.cancel=function(n,o){if(n.is(".t-grid-new-row")){n.remove()}else{k(n,o,"cancel");n.removeClass("t-grid-edit-row")}};this.insert=function(p,o){var q=''+new Array(l+1).join('')+((m.details)?'':"")+"";var n=h(q);p.prepend(n);k(n,o,"insert");return n};this.edit=function(n,o){k(n,o,"edit");return n}};c.grid.CellEditor=function(k){this.edit=function(n,m){var l=k.columns[k.cellIndex(n)];if(!l.readonly){n.parent().addClass("t-grid-edit-row").end().empty().html(l.edit(m)).closest("table").wrap(function(){if(!h(this).parent().is("form")){return e(k.id)}});k.bind(n,m);k.validate();n.find(":input:visible:first").trigger("focusin").focus();n.addClass("t-grid-edit-cell")}return !l.readonly};this.display=function(n,m){var l=k.columns[k.cellIndex(n)];n.removeClass("t-grid-edit-cell").empty().html(l.display(m)).parent().removeClass("t-grid-edit-row")}};c.grid.ChangeLog=function(l){this.insert=function(m,o){if(o==undefined){o=m;this.inserted.splice(0,0,o)}else{var n=this.inserted[m];if(n===undefined){this.inserted.splice(0,0,o)}else{h.extend(n,o)}}};this.get=function(n){var m=this.inserted[n];if(this.inserted[n]){return m}return this.updated[n-this.inserted.length]};this.update=function(s,p,o){s=s-this.inserted.length;var t=this.updated[s]||p||{};var r=false;for(var m in o){var q=t[m],n=o[m];if(q instanceof Date){if(n.getTime()!==q.getTime()){r=true}}else{if(n!==q){r=true}}}if(r){this.updated[s]=h.extend({},t,o)}return r};this.erase=function(n,p){var m=this.inserted[n];if(m){this.inserted.splice(n,1)}else{n=n-this.inserted.length;var o=this.updated[n];if(o){delete this.updated[n]}this.deleted[n]=p}};this.clear=function(){this.updated=new Array(l);this.deleted=new Array(l);this.inserted=[]};function k(n,r,t){var u={};for(var s=0,o=0;s .t-grid-content",g.element).bind("scroll",function(){g.hideFilter()});c(document).click(function(h){if(h.which!=3){g.hideFilter()}});g.$header.find(".t-grid-filter").click(c.proxy(g.showFilter,g)).hover(function(){c(this).toggleClass("t-state-hover")})};b.filtering.implementation={createFilterCommands:function(h,g){var i={};c.each(this.localization,function(m,j){var k="filter"+g.type;var l=m.indexOf(k);if(l>-1){i[m.substring(l+k.length).toLowerCase()]=j}});h.cat('")},createTypeSpecificInput:function(j,g,h,i){if(g.type=="Date"){j.cat('
    ').cat('').cat('
    ')}else{if(g.type=="Boolean"){j.cat('
    ').cat('
    ")}else{if(g.type=="Enum"){j.cat("
    ")}else{if(g.type=="Number"){j.cat('
    ').cat('').cat("
    ")}else{j.cat('')}}}}},createFilterMenu:function(g){var j=new b.stringBuilder();j.cat('
    ");var i=c(j.string());c.each(g.filters||[],function(k){i.find(".t-filter-operator:eq("+k+")").val(this.operator).end().find(":text:eq("+k+"),select:not(.t-filter-operator):eq("+k+")").val(a(g,this.value));if(g.type=="Boolean"){i.find(":radio[id$="+this.value+"]").attr("checked",true)}});return i.find(".t-datepicker .t-input").each(function(){c(this).tDatePicker({format:f(g)})}).end().find(".t-numerictextbox .t-input").each(function(){c(this).tTextBox({type:"numeric",minValue:null,maxValue:null,numFormat:"",groupSeparator:""})}).end().appendTo(this.element)},showFilter:function(m){m.stopPropagation();var g=c(m.target).closest(".t-grid-filter");this.hideFilter(function(){return this.parentNode!=g[0]});var k=g.data("filter");if(!k){var h=this.columns[this.$columns().index(g.parent())];k=this.createFilterMenu(h).data("column",h).click(function(p){p.stopPropagation();if(c(p.target).parents(".t-datepicker").length==0){c(".t-datepicker .t-input",this).each(function(){c(this).data("tDatePicker").hidePopup()})}}).find(".t-filter-button").click(c.proxy(this.filterClick,this)).end().find(".t-clear-button").click(c.proxy(this.clearClick,this)).end().find("input[type=text]").keyup(c.proxy(function(p){if(p.keyCode==13){this.filterClick(p)}},this)).end();g.data("filter",k)}var l=0;c(this.element).find("> .t-grouping-header, > .t-grid-toolbar").add(this.$header).each(function(){l+=this.offsetHeight});var i={top:l};var n=-this.$headerWrap.scrollLeft()-1;g.parent().add(g.parent().prevAll("th")).each(function(){if(c(this).css("display")!="none"){n+=this.offsetWidth}});var j=n-g.outerWidth();var o=k.outerWidth()||k.find(".t-group").outerWidth();if(j+o>this.$header.outerWidth()){j=n-o+1}if(c(this.element).closest(".t-rtl").length){i.right=j+(c.browser.mozilla||c.browser.safari?18:0)}else{i.left=j}k.css(i);b.fx[k.find(".t-filter-options").is(":visible")?"rewind":"play"](d,k.find(".t-filter-options"),{direction:"bottom"})},hideFilter:function(g){g=g||function(){return true};c(".t-grid .t-animation-container").find(".t-datepicker .t-input").each(function(){c(this).data("tDatePicker").hidePopup()}).end().find(".t-filter-options").filter(g).each(function(){b.fx.rewind(d,c(this),{direction:"bottom"})})},clearClick:function(i){i.preventDefault();var h=c(i.target);var g=h.closest(".t-animation-container").data("column");g.filters=null;h.parent().find("input").removeAttr("checked").removeClass("t-state-error").not(":radio").val("").end().end().find("select").removeClass("t-state-error").find("option:first").attr("selected","selected");this.filter(this.filterExpr())},filterClick:function(j){j.preventDefault();var i=c(j.target);var g=i.closest(".t-animation-container").data("column");g.filters=[];var h=false;i.closest(".t-filter-options").find("input[type=text]:visible,select:not(.t-filter-operator)").each(c.proxy(function(p,n){var l=c(n);var k=c.trim(l.val());if(!k){l.removeClass("t-state-error");return true}var m=this.isValidFilterValue(g,k);l.toggleClass("t-state-error",!m);if(!m){h=true;return true}var o=l.prev("select").val()||l.parent().prev("select").val()||l.parent().parent().prev("select").val();if(k!=this.localization.filterSelectValue){g.filters.push({operator:o,value:k})}},this));i.parent().find("input:checked").each(c.proxy(function(m,l){var n=c(l);var k=c(l).attr("value");g.filters.push({operator:"eq",value:k})},this));if(!h){if(g.filters.length>0){this.filter(this.filterExpr())}this.hideFilter()}},isValidFilterValue:function(h,g){if(h.type=="Number"){return !isNaN(g)}return true},encodeFilterValue:function(g,h){switch(g.type){case"String":return"'"+h.replace(e,"''")+"'";case"Date":var i;if(h.indexOf("Date(")>-1){i=new Date(parseInt(h.replace(/^\/Date\((.*?)\)\/$/,"$1")))}else{i=b.datetime.parse({value:h,format:f(g)}).toDate()}return"datetime'"+b.formatString("{0:yyyy-MM-ddTHH-mm-ss}",i)+"'"}return h},filterExpr:function(){var h=[];for(var g=0;g');f.$groupHeader=d("> .t-grouping-header",f.element);function h(){var k=d.map(f.$groupHeader.find(".t-group-indicator"),function(l){var m=d(l);var n=m.offset().left;var o=m.outerWidth();return{left:n,right:n+o,width:o,$group:m}});return{first:k[0],all:k,last:k[k.length-1]}}function g(r){var m=r.$cue.text();if(!d.contains(f.element,r.target)||!d(r.target).closest(".t-grouping-header").length||(f.groupFromTitle(m)&&r.$draggable.closest(".t-header").length)){f.$groupDropCue.remove();return}var n=d("> .t-grid-toolbar",f.element).outerHeight()+c;var o=h();if(!o.all.length){f.$groupDropCue.css({top:n,left:a}).appendTo(f.$groupHeader);return}var q=o.first;var s=o.last;var l=parseInt(q.$group.css("marginLeft"));var k=parseInt(q.$group.css("marginRight"));var p=d.grep(o.all,function(t){return r.pageX>=t.left-l-k&&r.pageX<=t.right})[0];if(!p&&q&&r.pageX=0){f.groups.splice(d.inArray(m,f.groups),1);f.groups.splice(o,0,m)}f.groupBy=d.map(f.groups,function(q){return q.member+"-"+q.order}).join("~");if(this.isAjax()){var p=this.$groupHeader.find('div:contains("'+l+'")');if(p.length==0){var k=new d.telerik.stringBuilder().cat('").string();p=d(k).appendTo(this.$groupHeader)}if(this.$groupDropCue.is(":visible")){p.insertBefore(this.$groupDropCue)}p.find(".t-link .t-icon").toggleClass("t-arrow-up-small",m.order=="asc").toggleClass("t-arrow-down-small",m.order=="desc").html("("+(m.order=="asc"?f.localization.sortedAsc:f.localization.sortedDesc)+")");this.ajaxRequest()}else{this.serverRequest()}};f.unGroup=function(l){var k=f.groupFromTitle(l);f.groups.splice(d.inArray(k,f.groups),1);if(f.groups.length==0){f.$groupHeader.html(f.localization.groupHint)}f.groupBy=d.map(f.groups,function(m){return m.member+"-"+m.order}).join("~");if(f.isAjax()){f.$groupHeader.find('div:contains("'+k.title+'")').remove();f.ajaxRequest()}else{f.serverRequest()}},f.normalizeColumns=function(n){var o=f.groups.length;var m=n-f.$tbody.parent().find(" > colgroup > col").length;if(m==0){return}var p=f.$tbody.parent().add(f.$headerWrap.find("table")).add(f.$footer.find("table"));if(d.browser.msie){if(m>0){d(new b.stringBuilder().rep('',m).string()).prependTo(p.find("colgroup"));d(new b.stringBuilder().rep(' ',m).string()).insertBefore(p.find("th.t-header:first"));d(new b.stringBuilder().rep(' ',m).string()).insertBefore(p.find("tr.t-footer-template > td:first"))}else{p.find("th:lt("+Math.abs(m)+"), tr.t-footer-template > td:lt("+Math.abs(m)+")").remove().end().find("col:lt("+Math.abs(m)+")").remove()}var k=[];var l=0;d("table, .t-grid-bottom",f.element).each(function(){k.push(this.parentNode)}).appendTo(d("
    ")).each(function(){k[l++].appendChild(this)})}else{p.find("col.t-group-col").remove();d(new b.stringBuilder().rep('',o).string()).prependTo(p.find("colgroup"));p.find("th.t-group-cell").remove();p.find("tr.t-footer-template > td.t-group-cell").remove();d(new b.stringBuilder().rep(' ',o).string()).insertBefore(p.find("th.t-header:first"));d(new b.stringBuilder().rep(' ',o).string()).insertBefore(p.find("tr.t-footer-template > td:first"))}},f.bindGroup=function(n,r,q,p){var o=f.groups[p];var t=n.Key;var m=d.grep(f.columns,function(l){return o.member==l.member})[0];if(m&&(m.format||m.type=="Date")){t=b.formatString(m.format||"{0:G}",t)}q.cat('').rep('',p).cat('

    ');if(m){q.cat(m.groupHeader(d.extend({Title:o.title,Key:t},n.Aggregates[m.member])))}else{q.cat(o.title+": "+t)}q.cat("

    ");if(n.HasSubgroups){for(var k=0,s=n.Items.length;k').rep('',f.groups.length);d.each(f.columns,function(){q.cat("");if(this.groupFooter){q.cat(this.groupFooter(n.Aggregates[this.member]))}q.cat("")});q.cat("")}}}})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.grid.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.grid.min.js new file mode 100644 index 0000000..e7943bc --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.grid.min.js @@ -0,0 +1 @@ +(function(c){var g=c.telerik;var a=/"\\\/Date\((.*?)\)\\\/"/g;function d(h){return new Function("data",("var p=[];with(data){p.push('"+unescape(h).replace(/[\r\t\n]/g," ").replace(/'(?=[^#]*#>)/g,"\t").split("'").join("\\'").split("\t").join("'").replace(/<#=(.+?)#>/g,"',$1,'").split("<#").join("');").split("#>").join("p.push('")+"');}return p.join('');"))}function f(h){return(h!=null?h+"":"").replace(/&/g,"&").replace(//g,">")}g.grid=function(h,j){this.element=h;this.groups=[];this.editing={};this.filterBy="";this.groupBy="";this.orderBy="";c.extend(this,j);this.sorted=c.grep(this.columns,function(i){return i.order});this.$tbody=c("> .t-grid-content > table > tbody",h);this.scrollable=this.$tbody.length>0;if(!this.scrollable){this.$tbody=c("> table > tbody",h);this.$header=c("> table > thead tr",h);this.$footer=c("> table > tfoot",h)}else{c("> .t-grid-content",h).tScrollable();this.$header=c("> .t-grid-header tr",h);this.$footer=c("> .t-grid-footer",h)}this.$headerWrap=c("> .t-grid-header > .t-grid-header-wrap",h);this.$footerWrap=c("> .t-grid-footer > .t-grid-footer-wrap",h);var o=this.$headerWrap.add(this.$footerWrap);c("> .t-grid-content",h).bind("scroll",function(){o.scrollLeft(this.scrollLeft)});this.$tbody.delegate(".t-hierarchy-cell .t-plus, .t-hierarchy-cell .t-minus","click",g.stopAll(function(s){var r=c(s.target);var q=r.hasClass("t-plus");r.toggleClass("t-minus",q).toggleClass("t-plus",!q);var i=r.closest("tr.t-master-row");if(this.detail&&!i.next().hasClass("t-detail-row")){c(new g.stringBuilder().cat('').rep('',i.find(".t-group-cell").length).cat('').cat('').cat(this.displayDetails(this.dataItem(i))).cat("").string()).insertAfter(i)}g.trigger(this.element,q?"detailViewExpand":"detailViewCollapse",{masterRow:i[0],detailRow:i.next(".t-detail-row")[0]});i.next().toggle(q)},this));this.$pager=c("> .t-grid-pager .t-pager",h);var n=new g.dropDown({effects:g.fx.slide.defaults(),onClick:c.proxy(function(i){this.changePageSize(c(i.item).text());n.close()},this)});n.dataBind(j.pageSizesInDropDown||[]);c(document.documentElement).bind("mousedown",function(q){var i=n.$element[0];if(!c.contains(i,q.target)){n.close()}});this.$pager.delegate(".t-state-disabled","click",g.preventDefault).delegate(".t-link:not(.t-state-disabled)","mouseenter",g.hover).delegate(".t-link:not(.t-state-disabled)","mouseleave",g.leave).delegate("input[type=text]","keydown",c.proxy(this.pagerKeyDown,this)).delegate(".t-page-size .t-dropdown-wrap","click",function(){var i=c(this);n.open({offset:i.offset(),outerHeight:i.outerHeight(),outerWidth:i.outerWidth(),zIndex:g.getElementZIndex(this)})});c("> .t-grid-pager",h).delegate(".t-refresh","click",c.proxy(this.refreshClick,this));c(h).delegate(".t-button","hover",g.preventDefault);if(this.sort){this.$header.delegate(".t-link","hover",function(){c(this).toggleClass("t-state-hover")})}var p="tr:not(.t-grouping-row,.t-detail-row,.t-no-data,:has(>.t-edit-container))";if(this.selectable){var m=this.$tbody[0];var l=this;this.$tbody.delegate(p,"click",function(i){if(this.parentNode==m){l.rowClick(i)}}).delegate(p,"hover",function(){if(this.parentNode==m){c(this).toggleClass("t-state-hover")}})}if(this.isAjax()){this.$pager.delegate(".t-link:not(.t-state-disabled)","click",g.stop(this.pagerClick,this));if(this.sort){this.$header.delegate(".t-link","click",g.stop(this.headerClick,this))}}for(var k=0;k.t-icon")){j.stopPropagation();var h=i.closest("tr").addClass("t-state-selected").siblings().removeClass("t-state-selected").end();g.trigger(this.element,"rowSelect",{row:h[0]})}},$rows:function(){return this.$tbody.find("> tr:not(.t-grouping-row,.t-detail-row)")},expandRow:function(h){c(h).find("> td .t-plus, > td .t-expand").click()},collapseRow:function(h){c(h).find("> td .t-minus, > td .t-collapse").click()},headerClick:function(h){h.preventDefault();this.toggleOrder(this.$columns().index(c(h.target).closest("th")));this.sort(this.sortExpr())},refreshClick:function(i,h){if(c(h).is(".t-loading")){return}if(this.isAjax()){i.preventDefault();this.ajaxRequest(true)}},sort:function(h){this.orderBy=h;this.ajaxRequest()},columnFromTitle:function(i){i=c.trim(i);var h=c.grep(this.$columns(),function(j){return c.trim(c(j).text())==i})[0];if(h){return this.columns[this.$columns().index(h)]}return c.grep(this.columns,function(j){return j.title==i})[0]},columnFromMember:function(h){var i=c.grep(this.columns,function(j){return j.member==h})[0];if(!i){i=c.grep(this.columns,function(k){var j="."+k.member;return h.substr(h.length-j.length)==j})[0]}return i},toggleOrder:function(h){h=typeof h=="number"?this.columns[h]:h;var j="asc";if(h.order=="asc"){j="desc"}else{if(h.order=="desc"){j=null}}h.order=j;var i=c.inArray(h,this.sorted);if(this.sortMode=="single"&&i<0){c.each(this.sorted,function(){this.order=null});this.sorted=[]}if(i<0&&j){this.sorted.push(h)}if(!j){this.sorted.splice(i,1)}},sortExpr:function(){return c.map(this.sorted,function(h){return h.member+"-"+h.order}).join("~")},pagerKeyDown:function(h){if(h.keyCode==13){var i=this.sanitizePage(c(h.target).val());if(i!=this.currentPage){this.pageTo(i)}else{c(h.target).val(i)}}},isAjax:function(){return this.ajax||this.ws||this.onDataBinding},url:function(h){return(this.ajax||this.ws)[h]},pagerClick:function(m){m.preventDefault();var i=c(m.target).closest(".t-link");var j=this.currentPage;var k=i.find(".t-icon");if(k.hasClass("t-arrow-next")){j++}else{if(k.hasClass("t-arrow-last")){j=this.totalPages()}else{if(k.hasClass("t-arrow-prev")){j--}else{if(k.hasClass("t-arrow-first")){j=1}else{var h=i.text();if(h=="..."){var l=i.parent().children().index(i);if(l==0){j=parseInt(i.next().text())-1}else{j=parseInt(i.prev().text())+1}}else{j=parseInt(h)}}}}}this.pageTo(isFinite(j)?j:this.currentPage)},changePageSize:function(i){var h=parseInt(i,10);if(isNaN(h)||h<1){return this.pageSize}h=Math.max(h,1);this.pageSize=h;if(this.isAjax()){this.ajaxRequest()}else{this.serverRequest()}},pageTo:function(h){this.currentPage=h;if(this.isAjax()){this.ajaxRequest()}else{this.serverRequest()}},ajaxOptions:function(i){var h={type:"POST",dataType:"text",dataFilter:function(k,l){return k.replace(a,"new Date($1)")},error:c.proxy(function(l,k){if(g.ajaxError(this.element,"error",l,k)){return}},this),complete:c.proxy(this.hideBusy,this),success:c.proxy(function(l,m,k){try{l=eval("("+l+")")}catch(n){if(!g.ajaxError(this.element,"error",k,"parseeror")){alert("Error! The requested URL did not return JSON.")}return}l=l.d||l;if(i.hasErrors&&i.hasErrors(l)){if(!g.trigger(this.element,"error",{XMLHttpRequest:k,textStatus:"modelstateerror",modelState:l.modelState})){i.displayErrors(l)}return}this.total=l.total||l.Total||0;this.aggregates=l.aggregates||{};this.dataBind(l.data||l.Data)},this)};c.extend(h,i);var j=this.ws?h.data.state={}:h.data;j[this.queryString.page]=this.currentPage;j[this.queryString.size]=this.pageSize;j[this.queryString.orderBy]=this.orderBy||"";j[this.queryString.groupBy]=this.groupBy;j[this.queryString.filter]=(this.filterBy||"").replace(/\"/g,'\\"');j[this.queryString.aggregates]=c.map(this.columns,function(k){if(k.aggregates){return k.member+"-"+k.aggregates.join("-")}}).join("~");if(this.ws){h.data=g.toJson(h.data);h.contentType="application/json; charset=utf-8"}return h},showBusy:function(){this.busyTimeout=setTimeout(c.proxy(function(){c("> .t-grid-pager .t-status .t-icon",this.element).addClass("t-loading")},this),100)},hideBusy:function(){clearTimeout(this.busyTimeout);c("> .t-grid-pager .t-status .t-icon",this.element).removeClass("t-loading")},serverRequest:function(){location.href=g.formatString(unescape(this.urlFormat),this.currentPage,this.orderBy||"~",this.groupBy||"~",encodeURIComponent(this.filterBy)||"~",this.pageSize||"~")},ajaxRequest:function(i){var h={page:this.currentPage,sortedColumns:this.sorted,filteredColumns:c.grep(this.columns,function(j){return j.filters})};if(g.trigger(this.element,"dataBinding",h)){return}if(!this.ajax&&!this.ws){return}this.showBusy();c.ajax(this.ajaxOptions({data:c.extend({},h.data,i),url:this.url("selectUrl")}))},valueFor:function(h){if(h.type=="Date"){return new Function("data","var value = data."+h.member+'; if (!value) return null; return value instanceof Date? value : new Date(parseInt(value.replace(/\\/Date\\((.*?)\\)\\//, "$1")));')}return new Function("data","return data"+(h.member?"."+h.member:"")+";")},displayFor:function(h){var j=this.localization;if(h.commands){var k=c.map(h.commands,function(l){var m=g.grid.ButtonBuilder.create(c.extend({text:j[l.name]},l));return m.build()}).join("");return function(){return k}}if(!h.template){var i=h.value||function(){return""};if(h.format||h.type=="Date"){i=function(l){var m=h.value(l);return m==null?"":g.formatString(h.format||"{0:G}",m)}}return h.encoded===false?i:function(l){return f(i(l))}}return d(h.template)},insertFor:function(h){return this.displayFor(h)},editFor:function(h){return this.displayFor(h)},initializeColumns:function(){c.each(this.columns,c.proxy(function(h,i){if(i.member!==undefined){i.value=this.valueFor(i)}else{i.readonly=true}i.insert=this.insertFor(i);i.edit=this.editFor(i);i.display=this.displayFor(i);if(i.footerTemplate){i.footer=d(i.footerTemplate)}if(i.groupFooterTemplate){this.showGroupFooter=true;i.groupFooter=d(i.groupFooterTemplate)}i.groupHeader=d("<#= Title #>: <#= Key #>");if(i.groupHeaderTemplate){i.groupHeader=d(i.groupHeaderTemplate)}},this));if(this.detail){this.displayDetails=d(this.detail.template)}},bindData:function(j,l,n){Array.prototype.push.apply(this.data,j);var p=Math.min(this.pageSize,j.length);p=this.pageSize?p:j.length;if(c.browser.msie){c(this.element).find(".t-grid-content colgroup:first col").css("display","")}for(var q=0;q')}else{l.cat("")}l.rep('',n).catIf('',this.detail);for(var k=0,m=this.columns.length;k").cat(o.display(j[q]));l.cat("")}l.cat("")}},normalizeColumns:function(){},dataItem:function(h){return this.data[this.$tbody.find("> tr:not(.t-grouping-row,.t-detail-row,.t-grid-new-row)").index(c(h))]},bindTo:function(n){var k=new g.stringBuilder();var m=this.groups.length+this.columns.length+(this.detail?1:0);if(n&&n.length){this.normalizeColumns(m);if(typeof n[0].HasSubgroups!="undefined"){for(var h=0,j=n.length;h").cat("").cat(this.noRecordsTemplate?this.noRecordsTemplate:this.localization.noRecords).cat("")}this.$tbody.html(k.string());if(this.onRowDataBound){var o=jQuery.grep(this.$tbody[0].rows,function(i){return !c(i).hasClass("t-grouping-row")});for(var h=0,j=this.data.length;h=h).removeClass("t-state-hover");this.$pager.find(".t-arrow-prev").parent().add(this.$pager.find(".t-arrow-first").parent()).toggleClass("t-state-disabled",j==1).removeClass("t-state-hover");var i=this.localization;this.$pager.find(".t-page-i-of-n").each(function(){this.innerHTML=new g.stringBuilder().cat(i.page).cat(' ').cat(g.formatString(i.pageOf,h)).string()});this.$pager.find(".t-page-size").each(function(){var l='
    '+k+'select
    ';this.innerHTML=l});this.$pager.find(".t-numeric").each(c.proxy(function(m,l){this.numericPager(l,j,h)},this));this.$pager.parent().find(".t-status-text").text(g.formatString(i.displayingItems,this.firstItemInPage(),this.lastItemInPage(),this.total))},numericPager:function(i,o,p){var m=10;var k=1;if(o>m){var h=(o%m);k=(h==0)?(o-m)+1:(o-h)+1}var l=(k+m)-1;l=Math.min(l,p);var j=new g.stringBuilder();if(k>1){j.cat('
    ...')}for(var n=k;n<=l;n++){if(n==o){j.cat('').cat(n).cat("")}else{j.cat('').cat(n).cat("")}}if(l...')}i.innerHTML=j.string()},$columns:function(){return this.$header.find("th:not(.t-hierarchy-cell,.t-group-cell)")},updateSorting:function(){this.sorted=[];c.each(this.orderBy.split("~"),c.proxy(function(i,h){var j=h.split("-");var k=this.columnFromMember(j[0]);if(k){k.order=j[1];this.sorted.push(k)}},this));this.$columns().each(c.proxy(function(j,m){var k=this.columns[j].order;var h=c(m).children(".t-link");var l=h.children(".t-icon");if(!k){l.hide()}else{if(l.length==0){l=c('').appendTo(h)}l.toggleClass("t-arrow-up",k=="asc").toggleClass("t-arrow-down",k=="desc").html("("+(k=="asc"?this.localization.sortedAsc:this.localization.sortedDesc)+")").show()}},this))},sanitizePage:function(i){var h=parseInt(i,10);if(isNaN(h)||h<1){return this.currentPage}return Math.min(h,this.totalPages())},totalPages:function(){return Math.ceil(this.total/this.pageSize)},firstItemInPage:function(){return this.total>0?(this.currentPage-1)*this.pageSize+1:0},lastItemInPage:function(){return Math.min(this.currentPage*this.pageSize,this.total)},dataBind:function(h){this.data=[];this.bindTo(h);this.bindFooter();this.updatePager();this.updateSorting();g.trigger(this.element,"dataBound");g.trigger(this.element,"repaint")},bindFooter:function(){var i=this.$footer.find("td:not(.t-group-cell,.t-hierarchy-cell)");var h=this.aggregates;c.each(this.columns,function(j){if(this.footer){i.eq(j).html(this.footer(h[this.member]))}})},rebind:function(h){this.sorted=[];this.orderBy="";this.filterBy="";this.currentPage=1;c.each(this.columns,function(){this.order=null;this.filters=null});c(".t-filter-options",this.element).find('input[type="text"], select').val("").removeClass("t-state-error").end().find("div.t-formatted-value").html("");c(".t-grid-filter",this.element).removeClass("t-active-filter");this.ajaxRequest(h)}};g.grid.ButtonBuilder=function(h){this.classNames=["t-button","t-grid-"+h.name];this.content=function(){return h.text};this.build=function(){return'"+this.content()+""}};g.grid.ButtonBuilder.create=function(h){return new (e[h.buttonType])(h)};function b(i,h){return'"}g.grid.ImageButtonBuilder=function(h){g.grid.ButtonBuilder.call(this,h);this.classNames.push("t-button-icon");this.content=function(){return b(h.name,h.imageAttr)}};g.grid.ImageTextButtonBuilder=function(h){g.grid.ButtonBuilder.call(this,h);this.classNames.push("t-button-icontext");this.content=function(){return'"+h.text}};g.grid.BareImageButtonBuilder=function(h,i){g.grid.ImageButtonBuilder.call(this,h,i);this.classNames.push("t-button-icon","t-button-bare")};var e={Text:g.grid.ButtonBuilder,ImageAndText:g.grid.ImageTextButtonBuilder,Image:g.grid.ImageButtonBuilder,BareImage:g.grid.BareImageButtonBuilder};c.fn.tGrid=function(h){return g.create(this,{name:"tGrid",init:function(i,j){return new g.grid(i,j)},options:h,success:function(i){if(i.$tbody.find("tr.t-no-data").length){i.ajaxRequest()}}})};c.fn.tGrid.defaults={columns:[],plugins:[],currentPage:1,pageSize:10,localization:{addNew:"Add new record","delete":"Delete",cancel:"Cancel",insert:"Insert",update:"Update",select:"Select",pageOf:"of {0}",displayingItems:"Displaying items {0} - {1} of {2}",edit:"Edit",noRecords:"No records to display.",page:"Page ",filter:"Filter",filterClear:"Clear Filter",filterShowRows:"Show rows with value that",filterAnd:"And",filterStringEq:"Is equal to",filterStringNe:"Is not equal to",filterStringStartsWith:"Starts with",filterStringSubstringOf:"Contains",filterStringEndsWith:"Ends with",filterNumberEq:"Is equal to",filterNumberNe:"Is not equal to",filterNumberLt:"Is less than",filterNumberLe:"Is less than or equal to",filterNumberGt:"Is greater than",filterNumberGe:"Is greater than or equal to",filterDateEq:"Is equal to",filterDateNe:"Is not equal to",filterDateLt:"Is before",filterDateLe:"Is before or equal to",filterDateGt:"Is after",filterDateGe:"Is after or equal to",filterEnumEq:"Is equal to",filterEnumNe:"Is not equal to",filterBoolIsTrue:"is true",filterBoolIsFalse:"is false",filterSelectValue:"-Select value-",filterOpenPopupHint:"Open the calendar popup",groupHint:"Drag a column header and drop it here to group by that column",deleteConfirmation:"Are you sure you want to delete this record?",sortedAsc:"sorted ascending",sortedDesc:"sorted descending",ungroup:"ungroup"},queryString:{page:"page",size:"size",orderBy:"orderBy",groupBy:"groupBy",filter:"filter",aggregates:"aggregates"}}})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.grid.reordering.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.grid.reordering.min.js new file mode 100644 index 0000000..ebd3065 --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.grid.reordering.min.js @@ -0,0 +1 @@ +(function(a){var b=a.telerik;b.reordering={};b.reordering.initialize=function(d){d.$reorderDropCue=a('
    ');var c=d.$header.children("th").length-1;var e=function(i,l){var k=a.inArray(l,d.columns);d.columns.splice(k,1);d.columns.splice(i,0,l);h(d.$columns(),k,i);h(d.$tbody.parent().find("> colgroup > col:not(.t-group-col,.t-hierarchy-col)"),k,i);h(d.$headerWrap.find("table").find("> colgroup > col:not(.t-group-col,.t-hierarchy-col)"),k,i);var j=d.$footer.find("table");h(j.find("> colgroup > col:not(.t-group-col,.t-hierarchy-col)"),k,i);h(j.find("> tbody > tr.t-footer-template > td:not(.t-group-cell,.t-hierarchy-cell)").add(d.$footer.find("tr.t-footer-template > td:not(.t-group-cell,.t-hierarchy-cell)")),k,i);a.each(d.$tbody.children(),function(){h(a(this).find(" > td:not(.t-group-cell, .t-hierarchy-cell, .t-detail-cell)"),k,i)})};d.reorderColumn=e;function f(i,k,l,j){g(i,k,l,j,"th","t-last-header");g(i,k,l,j,"td","t-last")}function g(j,l,k,m,i,n){if(k.is(i)&&m==c){j.addClass(n);k.removeClass(n)}if(j.is(i)&&l==c){j.removeClass(n).prev(i).addClass(n)}}function h(j,k,i){var l=j.eq(k);var m=j.eq(i);f(l,k,m,i);l[k>i?"insertBefore":"insertAfter"](m)}new b.draggable({owner:d.$header,selector:".t-header:not(.t-group-cell,.t-hierarchy-cell)",scope:d.element.id+"-reodering",cue:function(i){return b.dragCue(i.$draggable.text())},destroy:function(i){i.$cue.remove()}});new b.droppable({owner:d.$header,scope:d.element.id+"-reodering",selector:".t-header:not(.t-group-cell,.t-hierarchy-cell)",over:function(k){var i=a.trim(k.$draggable.text())==a.trim(k.$droppable.text());b.dragCueStatus(k.$cue,i?"t-denied":"t-add");var j=0;a("> .t-grid-top, > .t-grouping-header",d.element).each(function(){j+=a(this).outerHeight()});if(!i){d.$reorderDropCue.css({height:k.$droppable.outerHeight(),top:j,left:function(){return k.$droppable.position().left+((k.$droppable.index()>k.$draggable.index())?k.$droppable.outerWidth():0)}}).appendTo(d.element)}},out:function(i){d.$reorderDropCue.remove();b.dragCueStatus(i.$cue,"t-denied")},drop:function(k){d.$reorderDropCue.remove();if(k.$cue.find(".t-drag-status").is(".t-add")){var i=d.columnFromTitle(a.trim(k.$draggable.text()));var j=d.$columns().index(k.$droppable);b.trigger(d.element,"columnReorder",{column:i,oldIndex:a.inArray(i,d.columns),newIndex:j});e(j,i);b.trigger(d.element,"repaint")}}})}})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.grid.resizing.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.grid.resizing.min.js new file mode 100644 index 0000000..c0f72e2 --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.grid.resizing.min.js @@ -0,0 +1 @@ +(function(a){var b=a.telerik;b.resizing={};b.resizing.initialize=function(p){var c,o=a('
    '),i,d,h,l=3;function m(q,r){a("th, th .t-grid-filter, th .t-link",q).add(document.body).css("cursor",r)}function k(q){var r=0;a("> .t-grouping-header, > .t-grid-top",q).each(function(){r+=this.offsetHeight});return r}function e(t){var r=0;a(".t-resize-handle",p.element).each(function(){r+=a(this).data("th").outerWidth();a(this).css("left",r-l)});r=-p.$tbody.closest(".t-grid-content").scrollLeft();t.prevAll("th").add(t).each(function(){r+=this.offsetWidth});var q=p.scrollable?a(".t-grid-content",p.element):a("tbody",p.element);var s=q.attr(p.scrollable?"clientWidth":"offsetWidth");if(r>=s){o.remove()}else{o.css({left:r,top:k(p.element),height:t.outerHeight()+q.attr(p.scrollable?"clientHeight":"offsetHeight")});if(!o.parent().length){o.appendTo(p.element)}}}function j(r){var q=r.$draggable.data("th");c=a("colgroup",p.element).find("col:eq("+q.index()+")");h=r.pageX;d=q.outerWidth();i=p.$tbody.outerWidth()}function g(q){var r=d+q.pageX-h;if(r>10){c.css("width",r);if(p.scrollable){p.$tbody.parent().add(p.$headerWrap.find("table")).add(p.$footer.find("table")).css("width",i+q.pageX-h)}e(q.$draggable.data("th"))}}function f(s){o.remove();m(p.element,"");var r=s.$draggable.data("th");var q=r.outerWidth();if(p.onColumnResize&&q!=d){b.trigger(p.element,"columnResize",{column:p.columns[p.$columns().index(r)],oldWidth:d,newWidth:q})}return false}function n(){var r=0,q=p.element.id+"-column-resizing";var s=b.draggable.get(q);if(s){s._destroy()}p.$headerWrap.add(p.element).find("> .t-resize-handle").remove();p.$header.find(".t-header:visible:not(.t-group-cell)").each(function(){r+=this.offsetWidth;var t=a(this);a('
    ').css({left:r-l,top:p.scrollable?0:k(p.element),width:l*2}).appendTo(p.scrollable?p.$headerWrap:p.element).data("th",t).mousedown(function(){e(t);m(p.element,a(this).css("cursor"))}).mouseup(function(){m(p.element,"")})});new b.draggable({owner:p.element,selector:".t-resize-handle",scope:q,distance:0,start:j,drag:g,stop:f})}n();a(p.element).one("mouseenter",n).bind("repaint",n)}})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.imagebrowser.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.imagebrowser.min.js new file mode 100644 index 0000000..5bd0143 --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.imagebrowser.min.js @@ -0,0 +1 @@ +(function(i,o){var n=i.telerik,e=i.telerik.query;n.imageBrowser=function(q,r){this.element=q;this.wrapper=i(q);var t=r.filter||"*.png,*.gif,*.jpg,*.jpeg";var s=r.localization;this.wrapper.append('
    select
    ').append(k(s,r.uploadUrl,r.createDirectoryUrl,r.deleteFileUrl||r.deleteDirectoryUrl)).append('
      ');var u=this.wrapper.find(".t-breadcrumbs");var y=this.wrapper.find(".t-tiles");var v=this.wrapper.find(".t-search-wrap");if(r.uploadUrl){this.wrapper.find(".t-upload input").tUpload({async:{saveUrl:r.uploadUrl,autoUpload:true},multiple:false,onUpload:function(B){var C=new RegExp(("("+t.split(",").join(")|(")+")").replace(/\*\./g,".*."),"i");var A=B.files[0].name;if(C.test(A)){B.data={path:u.val()};y.trigger("t:upload",[{name:A},function(){B.preventDefault()}])}else{B.preventDefault();alert(n.formatString(s.invalidFileType,A,t))}},onError:function(A){A.preventDefault();y.trigger("t:error",[A.files[0]]);var B=A.XMLHttpRequest;if(n.ajaxError(r.element,"error",B,B.statusText)){return}},onSuccess:function(A){y.trigger("t:completeFile",[i.extend(A.response,{path:u.val()})])}})}new n.searchBox(v[0]);new n.fileListView(y[0],{thumbnailUrl:r.thumbUrl,localization:s});var w=new n.dropDown({effects:n.fx.slide.defaults(),onClick:function(A){i(q).find(".t-tiles-arrange a span:first").html(i(A.item).text());w.close();u.trigger("t:change")}});var z=[{Text:s.orderByName,Value:"name"},{Text:s.orderBySize,Value:"size"}];w.dataBind(z);this.wrapper.find(".t-tiles-arrange a").click(function(B){B.preventDefault();var A=i(this);w.open({offset:A.offset(),outerHeight:A.outerHeight(),outerWidth:A.outerWidth(),zIndex:n.getElementZIndex(this)})}).end().delegate(".t-button:not(.t-state-disabled):has(.t-delete)","click",function(){var A=y.find(".t-state-selected");if(A.length&&confirm(n.formatString(s.deleteFile,A.find("strong").text()))){i.ajax({type:"POST",url:A.data("kind")=="f"?r.deleteFileUrl:r.deleteDirectoryUrl,data:{path:A.data("url")},error:function(C,B){if(n.ajaxError(r.element,"error",C,B)){return}},success:function(){y.trigger("t:delete");i(q).find(".t-delete").parent().addClass("t-state-disabled")}})}}).delegate(".t-button:not(.t-state-disabled):has(.t-addfolder)","click",function(){y.trigger("t:createDirectory",[function(A){i.ajax({type:"POST",url:r.createDirectoryUrl,data:{path:u.val(),name:A},error:function(C,B){y.trigger("t:errorDirectory",{name:A});if(n.ajaxError(r.element,"error",C,B)){return}},success:function(){y.trigger("t:completeDirectory",{path:u.val(),name:A})}})}])});i(document.documentElement).bind("mousedown",function(B){var A=w.$element[0];if(!i.contains(A,B.target)){w.close()}});var x=new n.dataSource({error:function(A,C){var B=n.trigger(r.element,"error",{XMLHttpRequest:A,textStatus:C});if(!B){if(C=="error"){if(A.status=="404"){alert(r.localization.directoryNotFound)}else{if(A.status!="0"){alert("Error! The requested URL returned "+A.status+" - "+A.statusText)}}}else{if(C=="timeout"){alert("Error! Server timeout.")}}}},url:r.selectUrl,callback:function(B){i(q).find(".t-delete").parent().addClass("t-state-disabled");if(!u.val()){new n.breadcrumbs(u[0],{path:B.Path,roots:B.ContentPaths})}u.val(B.Path).trigger("t:refresh");var C=i(q).find(".t-tiles-arrange a span:first").text();var A=i.map(z,function(E){if(E.Text==C){return E.Value}})[0];var D=v.val();y.trigger("t:refresh",[B,A,D])}});v.bind("t:change",function(){u.trigger("t:change")});x.get({path:""});y.bind("t:select",function(A){if(A.kind=="d"){x.get({path:A.url})}else{r.apply(A)}}).bind("t:change",function(B){var C=i(q).find(".t-delete").parent().addClass("t-state-disabled");if(B.kind=="f"){var A=B.url;if(r.imageUrl){A=r.imageUrl+"?path="+A}i(q).parent().find("#t-editor-image-url").val(A)}if((B.kind=="f"&&r.deleteFileUrl)||(B.kind=="d"&&r.deleteDirectoryUrl)){C.removeClass("t-state-disabled")}});u.bind("t:change",function(){var A=i(this).val();if(!A.match(/\/$/)){A=A+"/"}x.get({path:A})})};function k(r,s,t,q){var v=!s?"":'
      '+r.uploadFile+'
      ',u=!t?"":'',w=!q?"":' ';return'
      '+v+u+w+'
      '+r.orderBy+' '+r.orderByName+'
      '}n.fileInfoReader=function(q){this._thumbnailUrl=q.thumbnailUrl||""};n.fileInfoReader.prototype={read:function(q,r){return r[q]||r[(q.charAt(0).toUpperCase()+q.substring(1))]},directories:function(q){return this.read("directories",q)},files:function(q){return this.read("files",q)},thumbUrl:function(q,r){return this._thumbnailUrl+"/?path="+q+r},size:function(s){var q=this.read("size",s);if(!q){return""}var r=" bytes";if(q>=1073741824){r=" GB";q/=1073741824}else{if(q>=1048576){r=" MB";q/=1048576}else{if(q>=1024){r=" KB";q/=1024}}}return Math.round(q*100)/100+r},name:function(q){return this.read("name",q)},path:function(q){return this.read("path",q)},concatPaths:function(q,r){if(q===o||!q.match(/\/$/)){q=(q||"")+"/"}return q+r}};n.fileListView=function(q,r){this.element=q;this.wrapper=i(q);this._localization=r.localization;this._reader=r.reader||new n.fileInfoReader({thumbnailUrl:r.thumbnailUrl});this._pageSize=r.pageSize||20;this.wrapper.bind({"t:refresh":i.proxy(this._refresh,this),"t:upload":i.proxy(this._upload,this),"t:completeFile":i.proxy(this._completeFile,this),"t:completeDirectory":i.proxy(this._completeDirectory,this),"t:delete":i.proxy(this._delete,this),"t:errorFile":i.proxy(this._errorFile,this),"t:errorDirectory":i.proxy(this._errorDirectory,this),"t:createDirectory":i.proxy(this._createDirectory,this),scroll:i.proxy(this._scroll,this)}).delegate("li[data-url]:not(.t-tile-empty)","click",i.proxy(this._click,this)).delegate("li[data-url]:not(.t-tile-empty)","dblclick",i.proxy(this._dblclick,this))};function d(q){return'
    • '+q.name+"
    • "}function m(q){return'
    • '+q+"
    • "}function h(q){return'
    • '+q.name+''+q.size+"";"
    • "}function l(q){return'
    • '+q.name+"
    • "}function p(q){return'
    • '}function b(r){var s=i(r);var q=i("",{src:s.data("thumbUrl"),alt:s.data("filename")}).hide().bind("load",function(){i(this).prev().remove().end().fadeIn()});s.find(".t-loading").after(q);r.loaded=true}if(i.browser.msie&&parseFloat(i.browser.version)<8){var a=function(q){return q.offsetTop}}else{var a=function(q){return q.offsetTop-i(q).height()}}var f=/(\:|\^|\$|\/|\.|\+|\||\(|\)|\[|\]|\{|\}|\\)/g,j=/\*/g,c=/\?/g;function g(q){return new RegExp(q.replace(f,"\\$1").replace(j,".*").replace(c,".?"),"ig")}n.fileListView.prototype={bindTo:function(r,t,s){this._filter=s;var x=this._reader;this.wrapper.empty();var q=e(this._reader.directories(r)||[]);var v=e(this._reader.files(r)||[]);if(s){var y=g(s);var w=function(A){return y.test(x.name(A))};q=q.where(w);v=v.where(w)}var z=function(A){return x[t](A)};this._data=this._process(this._reader.path(r),q.orderBy(z),v.orderBy(z));var u=this._data.select(function(A){return A.kind=="f"?h(A):l(A)}).toArray().join("");this.wrapper.append(u);this._tiles=this.wrapper.find("li[data-kind=f]");this._scroll();this._asEmpty()},_asEmpty:function(){if(!this._data.any()&&!this._filter){this.wrapper.append(m(this._localization.emptyFolder))}},_completeFile:function(u,r){var t=this._reader.name(r);var q=this._reader.path(r);var s=i(h({kind:"f",thumbUrl:this._reader.thumbUrl(q,t),url:this._reader.concatPaths(q,t),name:t,size:this._reader.size(r)}));this.wrapper.find("li").eq(this.fileIndex(t)).replaceWith(s);b(s[0]);s.click()},_completeDirectory:function(u,r){var t=this._reader.name(r);var q=this._reader.path(r);var s=i(l({kind:"d",url:this._reader.concatPaths(q,t),name:t}));this.wrapper.find("li").eq(this.directoryIndex(t)).replaceWith(s)},_delete:function(){var q=this.wrapper.find(".t-state-selected");if(q.length){var r=this._data.toArray();r.splice(q.index(),1);this._data=e(r);q.remove();this._scroll();this._asEmpty()}},_scroll:function(q){clearTimeout(this._timeout);this._timeout=setTimeout(i.proxy(function(){var r=this.wrapper.outerHeight();var t=this.wrapper.scrollTop();var s=t+r;this._tiles.each(function(){var v=a(this);var u=v+this.offsetHeight;if((v>=t&&v=t&&us){return false}});this._tiles=this._tiles.filter(function(){return !this.loaded})},this),250)},_upload:function(u,q,v){var s=this.fileIndex(q.name);if(s>-1&&!confirm(n.formatString(this._localization.overwriteFile,q.name))){v()}else{this.wrapper.find(".t-tile-empty").remove();var w=i(d(q));if(s>-1){w.data("existing",true);this.wrapper.find("li").eq(s).replaceWith(w)}else{var t=this.wrapper.find("li[data-kind=f]:first");if(t.length){t.before(w)}else{this.wrapper.append(w)}var r=this._data.toArray();r.splice(w.index(),0,{name:q.name,kind:"f"})}this.wrapper.scrollTop(w.attr("offsetTop")-this.element.offsetHeight)}},_nameDirectory:function(){var t="New folder";var s=this._data.where(function(u){return u.kind=="d"&&u.name.indexOf(t)>-1}).select(function(u){return u.name}).toArray();if(i.inArray(t,s)>-1){var r=2;do{var q=t+" ("+r+")";r++}while(i.inArray(q,s)>-1);t=q}return t},_createDirectory:function(u,r){var t=this._nameDirectory();var w=i(p(t));var v=this.wrapper.find("li[data-kind=f]:first");if(v.length){v.before(w)}else{this.wrapper.append(w)}var q=this._data.toArray();var s=w.addClass("t-state-selected").siblings().removeClass("t-state-selected").end().find("input").keydown(function(x){if(x.keyCode==13){this.blur()}}).blur(i.proxy(function(x){var y=i.trim(x.target.value);if(!y||this._data.any(function(z){return z.kind=="d"&&z.name.toLowerCase()==y.toLowerCase()})){y=this._nameDirectory()}q.splice(w.index(),0,{name:y,kind:"d"});i(x.target).replaceWith(""+y+"");r(y)},this));setTimeout(function(){s.select()});this.wrapper.find(".t-tile-empty").remove();this.wrapper.scrollTop(w.attr("offsetTop")-this.element.offsetHeight)},_errorFile:function(u,s){var q=this.fileIndex(s.name);if(q>-1){var r=this.wrapper.find("li").eq(q);if(r.data("existing")){var t=i(h(this._data.toArray()[q]));r.replaceWith(t);b(t[0])}else{r.remove();this._data.toArray().splice(q,1)}this._asEmpty()}},_errorDirectory:function(s,r){var q=this.directoryIndex(r.name);if(q>-1){this.wrapper.find("li").eq(q).remove();this._data.toArray().splice(q,1);this._asEmpty()}},fileIndex:function(q){return this._index("f",q)},directoryIndex:function(q){return this._index("d",q)},_index:function(s,t){var q=-1,r=this._data?this._data.toArray():[];t=t.toLowerCase();i.each(r,function(u,v){if(v.kind==s&&v.name.toLowerCase()==t){q=u;return false}});return q},_raise:function(s,q){var r=i(s.currentTarget);n.trigger(this.wrapper,q,{kind:r.data("kind"),url:r.data("url")})},_click:function(q){i(q.currentTarget).addClass("t-state-selected").siblings().removeClass("t-state-selected");this._raise(q,"t:change")},_dblclick:function(q){if(document.selection&&document.selection.empty){document.selection.empty()}this._raise(q,"t:select")},_refresh:function(t,q,s,r){this.bindTo(q,s,r)},_process:function(s,q,r){var t=this._reader;var q=q.select(function(u){return{url:t.concatPaths(s,t.name(u)),name:t.name(u),kind:"d"}});var r=r.select(function(u){var v=t.name(u);return{url:t.concatPaths(s,v),name:v,kind:"f",thumbUrl:t.thumbUrl(s,v),size:t.size(u)}});return q.concat(r)}};n.dataSource=function(q){this._url=q.url;this._callback=q.callback;this._error=q.error};n.dataSource.prototype={_complete:function(q){if(this._callback){this._callback(q)}},get:function(q){i.ajax({type:"POST",url:this._url,data:q,success:i.proxy(this._complete,this),error:this._error})}};n.breadcrumbs=function(r,s){this.element=r;this.wrapper=i(r);this._gap=s.gap||50;this._initPaths(s.path);var q=new n.dropDown({effects:n.fx.slide.defaults(),onClick:i.proxy(function(t){var u=i(t.item).text();q.close();this._initPaths(u);i(r).val(u).trigger("t:change")},this)});q.dataBind(s.roots);this.wrapper.delegate("input","focus",i.proxy(this._focus,this)).delegate("input","blur",i.proxy(this._blur,this)).delegate("input","keydown",i.proxy(function(t){if(t.keyCode==13){this._blur()}},this)).delegate("a:not(.t-first)","click",n.stopAll(this._click,this)).delegate(".t-select","click",function(){var t=i(r);q.open({offset:t.offset(),outerHeight:t.outerHeight(),outerWidth:t.outerWidth(),zIndex:n.getElementZIndex(this)})}).bind("t:refresh",i.proxy(this.refresh,this));i(document.documentElement).bind("mousedown",function(u){var t=q.$element[0];if(!i.contains(t,u.target)){q.close()}});this.value(s.path)};n.breadcrumbs.prototype={_initPaths:function(q){this._basePath=(q||"").replace(/\/{2,}/g,"/").replace(/\/$/,"");q=this._basePath.split("/");q.pop();this._root=q.join("/")},_html:function(){var r=this._basePath.split("/").length-1;var q=this.value();if(q===o||!q.match(/^\//)){q="/"+(q||"")}return'
      '+i.map(q.split("/"),function(t,s){if(t&&s>=r){return''+t+""}}).join('>')+'
      select
      '},_path:function(q){return this._root+"/"+i.map(q,function(r){return i(r).text()}).join("/")},_update:function(q){q=q.charAt(0)==="/"?q:"/"+q;var r=this.value()!=q;this.value(q);if(r){this.wrapper.trigger("t:change")}},value:function(q){if(q!==o){this.wrapper.val(q.replace(/\/{2,}/g,"/"));this.refresh()}else{return this.wrapper.val()}},_click:function(q){this._update(this._path(i(q.target).prevAll("a").andSelf()))},refresh:function(){this.wrapper.empty().append(this._html());var r=this.wrapper.width()-this._gap;var q=this.wrapper.find("a");q.each(function(t){var s=i(this);if(s.parent().width()>r){if(t==q.length-1){s.width(r)}else{s.prev().andSelf().hide()}}})},_focus:function(){var q=this.wrapper.find(".t-breadcrumbs-wrap").hide().end().find("input").val(this.value());setTimeout(function(){q.select()})},_blur:function(){var q=this.wrapper.find("input").val().replace(/\/{2,}/g,"/");if(!q||q.toLowerCase().indexOf(this._basePath.toLowerCase())<0){q=this._basePath}this._update(q)}};n.searchBox=function(q){this.element=q;this.wrapper=i(q);this.wrapper.delegate("input","focus",i.proxy(this._focus,this)).delegate("input","blur",i.proxy(this._blur,this)).delegate("input","keydown",i.proxy(function(r){if(r.keyCode==13){this._blur()}},this)).delegate("a","click",n.stopAll(this._click,this));this._render()};n.searchBox.prototype={_render:function(){var q='search';this.wrapper.empty().append(i(q))},_focus:function(){this.wrapper.find("label").hide()},_blur:function(){this._update(this.wrapper.find("input").val());if(this.value()==""){this.wrapper.find("label").show()}},_update:function(q){var r=this.value()!=q;this.value(q);if(r){this.wrapper.trigger("t:change")}},value:function(q){if(q!==o){this.wrapper.val(q)}else{return this.wrapper.val()}},_click:function(){this._blur()}}})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.list.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.list.min.js new file mode 100644 index 0000000..15e8bb9 --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.list.min.js @@ -0,0 +1 @@ +(function(e){var a=e.telerik;var b=/\s+/;a.list={htmlBuilder:function(g,f,h){var k,n,l=g.id,m=g.name,o=new a.stringBuilder(),i=e(g);if(h){n=i.find("option:selected").text();k=i.val()}else{n=g.value}function j(){return e(['
      '].join(" "))}this.render=function(){i.wrap(j()).hide();var p=e('
      ').insertBefore(i);this.text({builder:o,text:n,id:l,name:m}).appendTo(p);e('select').appendTo(p);if(h){o.buffer=[];e(o.cat('").string()).insertAfter(p)}};this.text=function(p){return e(['',p.text||" ",""].join(""))}},initialize:function(){this.previousValue=this.value();a.bind(this,{dataBinding:this.onDataBinding,dataBound:this.onDataBound,error:this.onError,open:this.onOpen,close:this.onClose,valueChange:this.onChange,load:this.onLoad})},common:function(){this.open=function(){if(this.data.length==0){return}var g=this.$wrapper||this.$element,f=this.dropDown;var h={offset:g.offset(),outerHeight:g.outerHeight(),outerWidth:g.outerWidth(),zIndex:a.getElementZIndex(g[0])};if(f.$items){f.open(h)}else{this.fill(function(){f.open(h)})}};this.close=function(){this.dropDown.close()};this.dataBind=function(h,f){this.data=h=(h||[]);var l=-1,j=!!this.loader.isAjax();for(var g=0,k=h.length;g-1&&j0){m.filters[k](m,f,j);var g=m.filteredDataIndexes;if((g&&g.length>0)||(k==0&&m.selectedIndex!=-1)){s=false}}if(s){var p={};p[m.queryString.text]=j;m.loader.ajaxRequest(function(w){var v=m.trigger;var x=m.dropDown;if(w&&w.length==0){x.close();x.dataBind();return}if(m.encoded&&!m.onDataBinding){for(var t=0,y=w.length;t0){if(!x.isOpened()){v.open()}m.filtering.autoFill(m,u.first().text())}else{v.close()}},{data:p})}}else{s=false;m.filters[k](m,m.data,j)}if(!s){var r=l.$items;if(!r){return}var h=r.length,i=m.selectedIndex;var n=k==0?i!=-1?r[i].innerText||r[i].textContent:"":r.length>0?r.first().text():"";this.autoFill(m,n);if(h==0){o.close()}else{if(!l.isOpened()){o.open()}}}};this.multiple=function(f){return f}},filters:function(){this.filters=[function f(g,k,n){if(!k||k.length==0){return}var l=g.dropDown;var j=l.$items;if(!j||j.length==0||g.loader.isAjax()){l.dataBind(k);j=l.$items}for(var h=0,m=k.length;h .t-dropdown-wrap .t-icon").addClass("t-loading")},this),100)},this.hideBusy=function(){clearTimeout(this.busyTimeout);this.component.$wrapper.find("> .t-dropdown-wrap .t-icon").removeClass("t-loading")}},trigger:function(f){this.component=f;this.change=function(){var g=f.previousValue;var h=f.value();if(g==undefined||h!=g){a.trigger(f.element,"valueChange",{value:h})}f.previousValue=h};this.open=function(){var g=f.dropDown;if((g.$items&&g.$items.length>0)&&!g.isOpened()&&!a.trigger(f.element,"open")){f.open()}};this.close=function(){if(!f.dropDown.$element.is(":animated")&&f.dropDown.isOpened()&&!a.trigger(f.element,"close")){f.close()}}},retrieveData:function(l){var k=[];var h=e(l).find("option");for(var f=0,g=h.length;f]*)("+l.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi,"\\$1")+")(?![^<>]*>)(?![^&;]+;)",f?"ig":"i");h.filteredDataIndexes=j;h.selectedIndex=-1;h.dropDown.onItemCreate=function(n){if(l){n.html=n.html.replace(m,"$1")}};h.dropDown.dataBind(e.map(j,function(o,n){return k[o]}));var i=h.dropDown.$items;i.removeClass("t-state-selected");a.list.highlightFirstOnFilter(h,i)}}function c(f,h,k){if(!f||!h){return null}var l=k.length;k=k.toLowerCase();for(var g=0,j=f.length;g .t-dropdown-wrap > .t-input");if(!this.$wrapper.attr("tabIndex")){this.$wrapper.attr("tabIndex",0)}this.dropDown=new a.dropDown({attr:this.dropDownAttr,effects:this.effects,onClick:e.proxy(function(n){this.select(n.item);this.trigger.change();this.trigger.close();this.$wrapper.focus()},this)});this.dropDown.$element.css("direction",this.$wrapper.closest(".t-rtl").length?"rtl":"");this.fill=function(q){function p(s){var r,u=s.selectedValue||s.value();if(u){r=function(x){return u==(x.Value||x.Text)}}else{var t=s.dropDown.$items,v=s.index,w=t.filter(".t-state-selected").length;r=v!=-1&&v0?w-1:0}s.select(r)}var n=this.dropDown,o=this.loader;if(!n.$items&&!o.ajaxError){if(o.isAjax()){o.ajaxRequest(function(r){this.dataBind(r);p(this);a.trigger(this.element,"dataBound");this.trigger.change();if(q){q()}})}else{this.dataBind(this.data);p(this);if(q){q()}}}};this.enable=function(){this.$wrapper.removeClass("t-state-disabled").bind({keydown:e.proxy(k,this),keypress:e.proxy(l,this),click:e.proxy(function(p){var o=this.trigger;var n=this.dropDown;this.$wrapper.focus();if(n.isOpened()){o.close()}else{if(!n.$items){this.fill(o.open)}else{o.open()}}},this)})};this.disable=function(){this.$wrapper.addClass("t-state-disabled").unbind()};this.reload=function(){this.dropDown.$items=null;this.fill()};this.select=function(o){var n=this.highlight(o);if(n==-1){return n}this.selectedIndex=n;a.list.updateTextAndValue(this,this.data[n].Text,this.data[n].Value)};this.text=function(n){if(n!==undefined){this.$text.html(n&&n.replace(b,"")?n:"  ")}else{return this.$text.html()}};this.value=function(o){if(o!==undefined){var n=this.select(function(p){return o==p.Value});if(n==-1){n=this.select(function(p){return o==p.Text})}if(n!=-1){this.previousValue=o}}else{return this.$element.val()}};a.list.common.call(this);a.list.initialize.call(this);e(document.documentElement).bind("mousedown",e.proxy(function(p){var n=this.dropDown.$element;var o=n&&n.parent().length>0;if(e.contains(this.$wrapper[0],p.target)||(o&&e.contains(n.parent()[0],p.target))){return}this.trigger.change();this.trigger.close()},this));this[this.enabled?"enable":"disable"]();function j(){clearTimeout(this.timeout);this.timeout=setTimeout(e.proxy(function(){i=""},this),1000)}function k(t){var q=this.trigger;var o=this.dropDown;var r=t.keyCode||t.which;if(t.altKey&&r==38){q.close();return}if(t.altKey&&r==40){q.open();return}if(r>34&&r<41){t.preventDefault();if(!o.$items){this.fill();return}var p=o.$items,s=e(p[this.selectedIndex]);var n=(r==35)?p.last():(r==36)?p.first():(r==37||r==38)?s.prev():(r==39||r==40)?s.next():[];if(n.length){var u=n[0];this.select(u);o.scrollTo(u);if(!o.isOpened()){q.change()}}}if(r==8){j();t.preventDefault();i=i.slice(0,-1)}if(r==9||r==13||r==27){q.change();q.close()}}function l(r){var n=this.dropDown;var o=r.keyCode||r.charCode;if(o==0||e.inArray(o,a.list.keycodes)!=-1||r.ctrlKey||r.altKey||r.shiftKey){return}if(!n.$items){this.fill();return}var p=i;p+=String.fromCharCode(o);if(p){var q=c(this.data,n.$items,p);if(q){this.select(q);n.scrollTo(q)}i=p}j()}};e.fn.tDropDownList=function(f){return a.create(this,{name:"tDropDownList",init:function(g,h){return new a.dropDownList(g,h)},options:f})};e.fn.tDropDownList.defaults={effects:a.fx.slide.defaults(),accessible:false,index:0,enabled:true,encoded:true}})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.menu.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.menu.min.js new file mode 100644 index 0000000..745beba --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.menu.min.js @@ -0,0 +1 @@ +(function(d){var a=d.telerik;a.menu=function(e,f){this.element=e;this.nextItemZIndex=100;d.extend(this,f);d(".t-item:not(.t-state-disabled)",e).live("mouseenter",a.delegate(this,this.mouseenter),true).live("mouseleave",a.delegate(this,this.mouseleave),true).live("click",a.delegate(this,this.click));d(".t-item").live("click",a.delegate(this,this.click));d(".t-item:not(.t-state-disabled) > .t-link",e).live("mouseenter",a.hover).live("mouseleave",a.leave);d(document).click(a.delegate(this,this.documentClick));a.bind(this,{select:this.onSelect,open:this.onOpen,close:this.onClose,load:this.onLoad})};function b(e){var f=e.parent();return{direction:f.hasClass("t-menu")?f.hasClass("t-menu-vertical")?"right":"bottom":"right"}}function c(f,g){try{return d.contains(f,g)}catch(h){return false}}a.menu.prototype={toggle:function(f,e){d(f).each(function(){d(this).toggleClass("t-state-default",e).toggleClass("t-state-disabled",!e)})},enable:function(e){this.toggle(e,true)},disable:function(e){this.toggle(e,false)},open:function(f){var e=this;d(f).each(function(){var g=d(this);clearTimeout(g.data("timer"));g.data("timer",setTimeout(function(){var h=g.find(".t-group:first");if(h.length){a.fx.play(e.effects,h,b(g));g.css("z-index",e.nextItemZIndex++)}},100))})},close:function(f){var e=this;d(f).each(function(h,i){var g=d(i);clearTimeout(g.data("timer"));g.data("timer",setTimeout(function(){var j=g.find(".t-group:first");if(j.length){a.fx.rewind(e.effects,j,b(g),function(){g.css("zIndex","");if(d(e.element).find(".t-group:visible").length==0){e.nextItemZIndex=100}});j.find(".t-group").stop(false,true)}},100))})},mouseenter:function(i,h){var g=d(h);if(!this.openOnClick||this.clicked){if(!c(h,i.relatedTarget)){this.triggerEvent("open",g);this.open(g);var f=g.parent().closest(".t-item")[0];if(f&&!c(f,i.relatedTarget)){this.mouseenter(i,f)}}}if(this.openOnClick&&this.clicked){this.triggerEvent("close",g);g.siblings().each(d.proxy(function(j,e){this.close(d(e))},this))}},mouseleave:function(i,h){if(!this.openOnClick&&!c(h,i.relatedTarget)){var g=d(h);this.triggerEvent("close",g);this.close(g);var f=g.parent().closest(".t-item")[0];if(f&&!c(f,i.relatedTarget)){this.mouseleave(i,f)}}},click:function(h,g){h.stopPropagation();var f=d(g);if(f.hasClass("t-state-disabled")){h.preventDefault();return}a.trigger(this.element,"select",{item:f[0]});if(!f.parent().hasClass("t-menu")||!this.openOnClick){return}h.preventDefault();this.clicked=true;this.triggerEvent("open",f);this.open(f)},documentClick:function(g,f){if(d.contains(this.element,g.target)){return}if(this.clicked){this.clicked=false;d(this.element).children(".t-item").each(d.proxy(function(e,h){this.close(d(h))},this))}},hasChildren:function(e){return e.find(".t-group:first").length},triggerEvent:function(e,f){if(this.hasChildren(f)){a.trigger(this.element,e,{item:f[0]})}}};d.fn.tMenu=function(e){return a.create(this,{name:"tMenu",init:function(f,g){return new a.menu(f,g)},options:e})};d.fn.tMenu.defaults={orientation:"horizontal",effects:a.fx.slide.defaults(),openOnClick:false}})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.panelbar.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.panelbar.min.js new file mode 100644 index 0000000..641357a --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.panelbar.min.js @@ -0,0 +1 @@ +(function(c){var a=c.telerik,b={single:0,multi:1};c.extend(a,{panelbar:function(f,g){this.element=f;c.extend(this,g);var h=c(f),e=h.find("li.t-state-active > .t-content"),d=".t-item:not(.t-state-disabled) > .t-link";h.delegate(d,"click",c.proxy(this._click,this)).delegate(d,"mouseenter",a.hover).delegate(d,"mouseleave",a.leave).delegate(".t-item.t-state-disabled > .t-link","click",a.preventDefault);a.bind(this,{expand:this.onExpand,collapse:this.onCollapse,select:c.proxy(function(i){if(i.target==this.element&&this.onSelect){this.onSelect(i)}},this),error:this.onError,load:this.onLoad});if(this.contentUrls){h.find("> .t-item").each(c.proxy(function(i,j){c(j).find(".t-link").data("ContentUrl",this.contentUrls[i])},this))}if(e.length>0&&e.is(":empty")){this.expand(e.parent())}}});a.panelbar.prototype={expand:function(d){c(d).each(c.proxy(function(f,g){var e=c(g);if(!e.hasClass(".t-state-disabled")&&e.find("> .t-group, > .t-content").length>0){if(this.expandMode==b.single&&this._collapseAllExpanded(e)){return}this._toggleItem(e,false,null)}},this))},collapse:function(d){c(d).each(c.proxy(function(f,g){var e=c(g);if(!e.hasClass(".t-state-disabled")&&e.find("> .t-group, > .t-content").is(":visible")){this._toggleItem(e,true,null)}},this))},toggle:function(e,d){c(e).each(function(){c(this).toggleClass("t-state-default",d).toggleClass("t-state-disabled",!d)})},enable:function(d){this.toggle(d,true)},disable:function(d){this.toggle(d,false)},_click:function(m){var f=c(m.target),g=this.element;if(f.closest(".t-widget")[0]!=g){return}var d=f.closest(".t-link"),j=d.closest(".t-item");c(".t-state-selected",g).removeClass("t-state-selected");d.addClass("t-state-selected");if(a.trigger(g,"select",{item:j[0]})){m.preventDefault()}var l=j.find("> .t-content, > .t-group"),h=d.attr("href"),k=d.data("ContentUrl")||(h&&(h.charAt(h.length-1)=="#"||h.indexOf("#"+g.id+"-")!=-1));if(k||l.length>0){m.preventDefault()}else{return}if(this.expandMode==b.single){if(this._collapseAllExpanded(j)){return}}if(l.length!=0){var i=l.is(":visible");if(!a.trigger(g,!i?"expand":"collapse",{item:j[0]})){this._toggleItem(j,i,m)}}},_toggleItem:function(f,h,i){var j=f.find("> .t-group");if(j.length){this._toggleGroup(j,h);if(i!=null){i.preventDefault()}}else{var g=f.parent().children().index(f),d=f.find("> .t-content");if(d.length){if(i!=null){i.preventDefault()}if(!d.is(":empty")){this._toggleGroup(d,h)}else{this._ajaxRequest(f,d,h)}}}},_toggleGroup:function(d,e){if(d.data("animating")){return}d.data("animating",true).parent().toggleClass("t-state-default",e).toggleClass("t-state-active",!e).find("> .t-link > .t-icon").toggleClass("t-arrow-up",!e).toggleClass("t-panelbar-collapse",!e).toggleClass("t-arrow-down",e).toggleClass("t-panelbar-expand",e);a.fx[!e?"play":"rewind"](this.effects,d,null,function(){d.data("animating",false)})},_collapseAllExpanded:function(d){if(d.find("> .t-link").hasClass("t-header")){if(d.find("> .t-content, > .t-group").is(":visible")||d.find("> .t-content, > .t-group").length==0){return true}else{c(this.element).children().find("> .t-content, > .t-group").filter(function(){return c(this).is(":visible")}).each(c.proxy(function(f,e){this._toggleGroup(c(e),true)},this))}}},_ajaxRequest:function(f,d,h){var i=f.find(".t-panelbar-collapse, .t-panelbar-expand"),e=f.find(".t-link"),g=setTimeout(function(){i.addClass("t-loading")},100),j={};c.ajax({type:"GET",cache:false,url:e.data("ContentUrl")||e.attr("href"),dataType:"html",data:j,error:c.proxy(function(l,k){if(a.ajaxError(this.element,"error",l,k)){return}},this),complete:function(){clearTimeout(g);i.removeClass("t-loading")},success:c.proxy(function(k,l){d.html(k);this._toggleGroup(d,h)},this)})}};c.fn.tPanelBar=function(d){return a.create(this,{name:"tPanelBar",init:function(e,f){return new a.panelbar(e,f)},options:d})};c.fn.tPanelBar.defaults={effects:a.fx.property.defaults("height")}})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.slider.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.slider.min.js new file mode 100644 index 0000000..740e834 --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.slider.min.js @@ -0,0 +1 @@ +(function(f){var k=f.telerik;k.slider=function(n,o){var p=f(n);this.element=n;o.distance=o.maxValue-o.minValue;f.extend(this,o);o.position=this.orientation=="horizontal"?"left":"bottom";o.size=this.orientation=="horizontal"?"width":"height";o.orientation=this.orientation;j(n,o);this.wrapper=p.closest(".t-slider");this.trackDiv=this.wrapper.find(".t-slider-track");k.slider.setTrackDivWidth(this.wrapper,o);this.maxSelection=this.trackDiv[o.size]();var l=this.maxSelection/((this.maxValue-this.minValue)/this.smallStep);if(o.tickPlacement!="none"&&l>=2){this.trackDiv.before(a(o));k.slider.setItemsWidth(this.wrapper,this.trackDiv,o);k.slider.setItemsTitle(this.wrapper,o);k.slider.setItemsLargeTick(this.wrapper,o)}else{this.pixelStepsArray=k.slider.getPixelSteps(this.trackDiv,o)}var m={element:n,dragHandle:this.wrapper.find(".t-draghandle"),orientation:o.orientation,size:o.size,position:o.position,owner:this};this._setValueInRange(o.val);this[o.enabled?"enable":"disable"]();new k.slider.Selection(m);new k.slider.Drag(m);this.keyMap={37:g(o.smallStep),40:g(o.smallStep),39:h(o.smallStep),38:h(o.smallStep),35:d(o.maxValue),36:d(o.minValue),33:h(o.largeStep),34:g(o.largeStep)};k.bind(this,{slide:this.onSlide,change:this.onChange,load:this.onLoad})};f.extend(k.slider,{setTrackDivWidth:function(n,o){var m=n.find(".t-slider-track");var l=parseFloat(m.css(o.position),10)*2;m[o.size]((n[o.size]()-2)-l)},setItemsWidth:function(t,p,m){var l=Math.floor(m.distance/m.smallStep),r=t.find(".t-tick"),q=0,s=p[m.size]();var o=this.calculateItemsWidth(t,m,l);if(m.orientation=="horizontal"){for(var n=0;n=0;l--){f(p[l]).attr("title",k.formatString(o.tooltip.format||"{0}",parseFloat(m.toFixed(3),10)));m+=o.smallStep}}},setItemsLargeTick:function(q,n){if((1000*n.largeStep)%(1000*n.smallStep)==0){var p=q.find(".t-tick"),o={},l=parseFloat((n.largeStep/n.smallStep).toFixed(3),10);if(n.orientation=="horizontal"){for(var m=0;m").html(o.attr("title")))}}else{for(var m=p.length-1;m>=0;m=parseFloat((m-l).toFixed(3),10)){o=f(p[m]);o.addClass("t-tick-large").html(f("").html(o.attr("title")));if(m!=0&&m!=p.length-1){o.css("line-height",o[n.size]()+"px")}}}}},calculateItemsWidth:function(s,n,m){var r=parseFloat(s.find(".t-slider-track").css(n.size))+1,o=r/n.distance;if((n.distance/n.smallStep)-Math.floor(n.distance/n.smallStep)>0){r-=((n.distance%n.smallStep)*o)}var l=r/m,q=new Array();for(var p=0;p=r){while(p>l){p-=l;m+=q.smallStep}}return parseFloat((q.minValue+m).toFixed(3))},getDragableArea:function(m,n,l){var p=m.offset().left,o=m.offset().top;return{startPoint:l=="horizontal"?p:o+n,endPoint:l=="horizontal"?p+n:o}},fixDragHandlePosition:function(q,r,m){var o=q-m.owner.minValue,n=0;if(q==m.owner.minValue||q==m.owner.maxValue){if(q==m.owner.maxValue){n=m.owner.maxSelection}}else{var p=parseInt(((m.orientation=="horizontal"?o:m.owner.maxValue-q)/m.owner.smallStep).toFixed(3)),u=f(r.find(".t-tick")[p]),s=u[m.size]()/2,t=u.offset(),l=k.slider.getDragableArea(m.owner.trackDiv,m.owner.maxSelection,m.orientation);if(m.orientation=="horizontal"){n=t.left-l.startPoint+s}else{n=(l.startPoint-(t.top+s))+1;if(!f.browser.mozilla){n+=(n-Math.floor(n))>0?1:0}}}return n}});function h(l){return function(m){return m+l}}function g(l){return function(m){return m-l}}function d(l){return function(){return l}}k.slider.prototype={enable:function(){this.wrapper.removeAttr("disabled").removeClass("t-state-disabled").addClass("t-state-default");var l=f.proxy(function(p){var o=this.orientation=="horizontal"?p.pageX:p.pageY,n=k.slider.getDragableArea(this.trackDiv,this.maxSelection,this.orientation);this._update(k.slider.getValueFromPosition(o,n,this))},this);this.wrapper.find(".t-tick").bind("click",l).end().find(".t-slider-track").bind("click",l);if(this.showButtons){var m=f.proxy(function(n,o){if(n.which==1){this._setValueInRange(this.val+(o*this.smallStep));this.timeout=setTimeout(f.proxy(function(){this.timer=setInterval(f.proxy(function(){this._setValueInRange(this.val+(o*this.smallStep))},this),60)},this),200)}},this);this.wrapper.find(".t-button").unbind("mousedown").unbind("mouseup").bind("mouseup",f.proxy(function(n){this._clearTimer()},this)).unbind("mouseover").bind("mouseover",function(n){f(n.currentTarget).addClass("t-state-hover")}).unbind("mouseout").bind("mouseout",f.proxy(function(n){f(n.currentTarget).removeClass("t-state-hover");this._clearTimer()},this)).eq(0).bind("mousedown",f.proxy(function(n){m(n,1)},this)).end().eq(1).bind("mousedown",f.proxy(function(n){m(n,-1)},this))}this.wrapper.find(".t-draghandle").bind({keydown:f.proxy(this._keydown,this)});this.enabled=true},disable:function(){this.wrapper.attr("disabled","disabled").removeClass("t-state-default").addClass("t-state-disabled");var l=k.preventDefault;this.wrapper.find(".t-button").unbind("mousedown").bind("mousedown",l).unbind("mouseup").bind("mouseup",l).unbind("mouseleave").bind("mouseleave",l).unbind("mouseover").bind("mouseover",l);this.wrapper.find(".t-tick").unbind("click").end().find(".t-slider-track").unbind("click");this.wrapper.find(".t-draghandle").unbind("keydown").bind("keydown",l);this.enabled=false},_update:function(l){var m=this.value()!=l;this.value(l);if(m){k.trigger(this.element,"change",{value:this.val})}},value:function(l){l=parseFloat(parseFloat(l,10).toFixed(3),10);if(isNaN(l)){return this.val}if(l>=this.minValue&&l<=this.maxValue){if(this.val!=l){f(this.element).val(l);this.val=l;this.refresh()}}},refresh:function(){k.trigger(this.element,"t:moveSelection",{value:this.val})},_clearTimer:function(l){clearTimeout(this.timeout);clearInterval(this.timer)},_keydown:function(l){if(l.keyCode in this.keyMap){this._setValueInRange(this.keyMap[l.keyCode](this.val));l.preventDefault()}},_setValueInRange:function(l){l=parseFloat(parseFloat(l,10).toFixed(3),10);if(isNaN(l)){this._update(this.minValue);return}l=Math.max(l,this.minValue);l=Math.min(l,this.maxValue);this._update(l)}};k.slider.Selection=function(n){var o=f(n.element);function m(s){var r=s-n.owner.minValue,t=n.owner.wrapper.find(".t-slider-items"),p=0,q=0;if(t.length!=0){q=k.slider.fixDragHandlePosition(s,t,n)}else{if(n.owner.pixelStepsArray.length==0){q=0}else{while(r>0){r=parseFloat((r-n.owner.smallStep).toFixed(5),10);q+=n.owner.pixelStepsArray[p];p++}}}var v=n.owner.trackDiv.find(".t-slider-selection"),u=parseInt(n.dragHandle[n.size]()/2,10)+1;v[n.size](q);n.dragHandle.css(n.position,q-u)}m(parseFloat(o.val(),10));var l=function(p){m(parseFloat(p.value,10))};o.bind({change:l,slide:l,"t:moveSelection":l})};k.slider.Drag=function(m){m.dragHandleSize=m.dragHandle[m.size]();f.extend(this,m);var l="";switch(m.type){case"leftHandle":l=".t-draghandle:first";break;case"rightHandle":l=".t-draghandle:last";break;default:l=".t-draghandle";break}new k.draggable({distance:0,owner:m.owner.wrapper[0],selector:l,scope:m.element.id,start:f.proxy(this.start,this),drag:f.proxy(this.drag,this),stop:f.proxy(this.stop,this)})};k.slider.Drag.prototype={start:function(o){if(!this.owner.enabled){return false}f(this.element).unbind("mouseover");this.val=parseFloat(f(this.element).val());this.dragableArea=k.slider.getDragableArea(this.owner.trackDiv,this.owner.maxSelection,this.orientation);this.step=Math.max(this.owner.smallStep*(this.owner.maxSelection/this.owner.distance),0);this.selectionStart=this.owner.selectionStart;this.selectionEnd=this.owner.selectionEnd;this.oldVal=this.val;this.format=this.owner.tooltip.format||"{0}";if(this.type){this.owner._setZIndex(this.type)}if(this.owner.tooltip.enabled){this.tooltipDiv=f("
      ").appendTo(document.body);if(this.type){var m=k.formatString(this.format,this.selectionStart),l=k.formatString(this.format,this.selectionEnd);this.tooltipDiv.html(m+" - "+l)}else{var n="t-callout-";if(this.orientation=="horizontal"){if(this.owner.tickPlacement=="topLeft"){n+="n"}else{n+="s"}}else{if(this.owner.tickPlacement=="topLeft"){n+="w"}else{n+="e"}}this.tooltipInnerDiv="
      ";this.tooltipDiv.html(k.formatString(this.owner.tooltip.format||"{0}",this.val)+this.tooltipInnerDiv)}this.moveTooltip(this.tooltipDiv)}},drag:function(n){if(this.orientation=="horizontal"){this.val=this.horizontalDrag(n)}else{this.val=this.verticalDrag(n)}if(this.oldVal!=this.val){this.oldVal=this.val;if(this.type){if(this.type=="leftHandle"){if(this.valthis.selectionStart){this.selectionEnd=this.val}else{this.selectionStart=this.selectionEnd=this.val}}k.trigger(this.element,"slide",{values:[this.selectionStart,this.selectionEnd]});if(this.owner.tooltip.enabled){var m=k.formatString(this.format,this.selectionStart),l=k.formatString(this.format,this.selectionEnd);this.tooltipDiv.html(m+" - "+l)}}else{k.trigger(this.element,"slide",{value:this.val});if(this.owner.tooltip.enabled){this.tooltipDiv.html(k.formatString(this.format,this.val)+this.tooltipInnerDiv)}}if(this.owner.tooltip.enabled){this.moveTooltip(this.tooltipDiv)}}},stop:function(l){if(l.keyCode==27){this.owner.refresh()}else{if(this.type){this.owner._update(this.selectionStart,this.selectionEnd)}else{this.owner._update(this.val)}}if(this.owner.tooltip.enabled){this.tooltipDiv.remove()}f(this.element).bind("mouseover");return false},moveTooltip:function(r){var q=0,o=0;if(this.type){var n=this.owner.wrapper.find(".t-draghandle"),m=n.eq(0).offset(),s=n.eq(1).offset();if(this.orientation=="horizontal"){q=s.top;o=m.left+((s.left-m.left)/2)}else{q=m.top+((s.top-m.top)/2);o=s.left}}else{var p=this.dragHandle.offset();q=p.top;o=p.left}var l=r[this.size]()/2;if(this.orientation=="horizontal"){o-=l;if(this.owner.tickPlacement!="topLeft"){q-=35}else{q+=33}}else{q-=l;if(this.owner.tickPlacement!="topLeft"){o-=r.width()+23}else{o+=31}}r.css({top:q,left:o})},horizontalDrag:function(l){var m=0;if(this.dragableArea.startPoint=this.dragableArea.endPoint){m=this.owner.maxValue}else{m=this.owner.minValue}}return m},verticalDrag:function(l){var m=0;if(this.dragableArea.startPoint>l.pageY&&l.pageY>this.dragableArea.endPoint){m=k.slider.getValueFromPosition(l.pageY,this.dragableArea,this.owner)}else{if(l.pageY<=this.dragableArea.endPoint){m=this.owner.maxValue}else{m=this.owner.minValue}}return m}};function b(m,l){var n=f(l),q=m.orientation=="horizontal"?" t-slider-horizontal":" t-slider-vertical",o;if(m.tickPlacement=="bottomRight"){o=" t-slider-bottomright"}else{if(m.tickPlacement=="topLeft"){o=" t-slider-topleft"}}var p=m.style?m.style:n.attr("style");return new k.stringBuilder().cat("
      ").cat("
      ").string()}function c(o,n){var m,l=o.orientation=="horizontal";if(n=="increase"){m=l?"t-arrow-next":"t-arrow-up"}else{m=l?"t-arrow-prev":"t-arrow-down"}return new k.stringBuilder().cat("").cat(o[n+"ButtonTitle"]).cat("").string()}function a(l){return new k.stringBuilder().cat("
        ").rep("
      •  
      • ",(Math.floor((l.distance/l.smallStep).toFixed(3),10)+1)).cat("
      ").string()}function e(l){var m=l.is("input")?1:2;return new k.stringBuilder().cat("
      ").cat("
      ").cat("Drag").catIf("Drag",m>1).cat("
      ").string()}function j(l,m){var n=f(l);n.val(m.val);n.wrap(b(m,l)).hide();if(m.showButtons){n.before(c(m,"increase")).before(c(m,"decrease"))}n.before(e(n))}f.fn.tSlider=function(l){return k.create(this,{name:"tSlider",init:function(m,n){return new k.slider(m,n)},options:l})};f.fn.tSlider.defaults={enabled:true,minValue:0,maxValue:10,val:0,smallStep:1,largeStep:5,showButtons:true,increaseButtonTitle:"Increase",decreaseButtonTitle:"Decrease",orientation:"horizontal",tickPlacement:"both",tooltip:{enabled:true,format:"{0}"}};k.rangeSlider=function(l,m){var n=f(l);this.element=l;m.distance=m.maxValue-m.minValue;f.extend(this,m);m.position=this.orientation=="horizontal"?"left":"bottom";m.size=this.orientation=="horizontal"?"width":"height";j(l,m);this.wrapper=n.closest(".t-slider");this.trackDiv=this.wrapper.find(".t-slider-track");k.slider.setTrackDivWidth(this.wrapper,m);this.maxSelection=this.trackDiv[m.size]();var o=this.maxSelection/((this.maxValue-this.minValue)/this.smallStep);if(m.tickPlacement!="none"&&o>=2){this.trackDiv.before(a(m));k.slider.setItemsWidth(this.wrapper,this.trackDiv,m);k.slider.setItemsTitle(this.wrapper,m);k.slider.setItemsLargeTick(this.wrapper,m)}else{this.pixelStepsArray=k.slider.getPixelSteps(this.trackDiv,m)}this._correctValues(this.selectionStart,this.selectionEnd);var q={element:l,type:"leftHandle",dragHandle:this.wrapper.find(".t-draghandle:first"),orientation:m.orientation,size:m.size,position:m.position,owner:this};new k.slider.Drag(q);new k.rangeSlider.Selection(q);var p={element:l,type:"rightHandle",dragHandle:this.wrapper.find(".t-draghandle:last"),orientation:m.orientation,size:m.size,position:m.position,owner:this};new k.slider.Drag(p);this[m.enabled?"enable":"disable"]();this.keyMap={37:g(m.smallStep),40:g(m.smallStep),39:h(m.smallStep),38:h(m.smallStep),35:d(m.maxValue),36:d(m.minValue),33:h(m.largeStep),34:g(m.largeStep)};k.bind(this,{slide:this.onSlide,change:this.onChange,load:this.onLoad})};k.rangeSlider.prototype={enable:function(){this.wrapper.removeAttr("disabled").removeClass("t-state-disabled").addClass("t-state-default");var l=f.proxy(function(p){var n=this.orientation=="horizontal"?p.pageX:p.pageY,m=k.slider.getDragableArea(this.trackDiv,this.maxSelection,this.orientation),o=k.slider.getValueFromPosition(n,m,this);if(othis.selectionEnd){this._setValueInRange(this.selectionStart,o)}else{if(o-this.selectionStart<=this.selectionEnd-o){this._setValueInRange(o,this.selectionEnd)}else{this._setValueInRange(this.selectionStart,o)}}}},this);this.wrapper.find(".t-tick").bind("click",l).end().find(".t-slider-track").bind("click",l);this.wrapper.find(".t-draghandle").eq(0).bind({keydown:f.proxy(function(m){this._keydown(m,true)},this)}).end().eq(1).bind({keydown:f.proxy(function(m){this._keydown(m,false)},this)});this.enabled=true},disable:function(){this.wrapper.attr("disabled","disabled").removeClass("t-state-default").addClass("t-state-disabled");this.wrapper.find(".t-tick").unbind("click").end().find(".t-slider-track").unbind("click");this.wrapper.find(".t-draghandle").unbind("keydown").bind("keydown",k.preventDefault);this.enabled=false},_keydown:function(o,l){var n=this.selectionStart,m=this.selectionEnd;if(o.keyCode in this.keyMap){if(l){n=this.keyMap[o.keyCode](n);if(n>m){m=n}}else{m=this.keyMap[o.keyCode](m);if(m=this.minValue&&m<=this.maxValue&&l>=this.minValue&&l<=this.maxValue&&m<=l){if(this.selectionStart!=m||this.selectionEnd!=l){f(this.element).find("input").eq(0).val(m).end().eq(1).val(l);this.selectionStart=m;this.selectionEnd=l;this.refresh()}}},refresh:function(){k.trigger(this.element,"t:moveSelection",{values:[this.selectionStart,this.selectionEnd]});if(this.selectionStart==this.maxValue&&this.slectionEnd==this.maxValue){this._setZIndex("leftHandle")}},_setValueInRange:function(l,m){l=Math.max(l,this.minValue);l=Math.min(l,this.maxValue);m=Math.max(m,this.minValue);m=Math.min(m,this.maxValue);if(this.selectionStart==this.maxValue&&this.slectionEnd==this.maxValue){this._setZIndex("leftHandle")}this._update(l,m)},_correctValues:function(m,l){if(m>=l){this._setValueInRange(l,m)}else{this._setValueInRange(m,l)}},_setZIndex:function(n){var p=this.wrapper.find(".t-draghandle"),l=p.eq(0),o=p.eq(1),m="z-index";if(n=="leftHandle"){l.css(m,"1");o.css(m,"")}else{l.css(m,"");o.css(m,"1")}}};k.rangeSlider.Selection=function(p){function o(s){var x=s[0]-p.owner.minValue,w=s[1]-p.owner.minValue,u=p.owner.wrapper.find(".t-slider-items"),t=0,v=0,r=0;if(u.length!=0){t=k.slider.fixDragHandlePosition(s[0],u,p);v=k.slider.fixDragHandlePosition(s[1],u,p)}else{while(x>0){x=parseFloat((x-p.owner.smallStep).toFixed(5),10);t+=p.owner.pixelStepsArray[r];r++}r=0;while(w>0){w=parseFloat((w-p.owner.smallStep).toFixed(5),10);v+=p.owner.pixelStepsArray[r];r++}}var q=p.owner.wrapper.find(".t-draghandle");var y=parseInt(q.eq(0)[p.size]()/2,10)+1;q.eq(0).css(p.position,t-y).end().eq(1).css(p.position,v-y);m(t,v)}function m(t,r){var s=0,u=0;if(t");f.ajax(this.ajaxOptions(k,{url:j||l.contentUrl}))}},resize:function(){var v=this.$element,C=v.children(":not(.t-splitbar)"),k=this.orientation=="horizontal",q=v.children(".t-splitbar").length,z=k?"width":"height",D=v[z]();if(q===0){q=C.length-1;for(var l=0;l")}return this};t.cat("
      ").catIconIf("t-collapse-prev",n.collapsible&&!n.collapsed).catIconIf("t-expand-prev",n.collapsible&&n.collapsed).catIconIf("t-resize-handle",s).catIconIf("t-collapse-next",o.collapsible&&!o.collapsed).catIconIf("t-expand-next",o.collapsible&&o.collapsed).cat("
      ");j.after(t.string())}}D-=h*q;var y=0,x=0,p=f();C.css({position:"absolute",top:0})[z](function(){var E=f(this).data("pane"),F;if(E.collapsed){F=0}else{if(c(E.size)){p=p.add(this);return}else{F=parseInt(E.size,10);if(b(E.size)){F=Math.floor(F*D/100)}}}x++;y+=F;return F});D-=y;var u=p.length,B=Math.floor(D/u);p.slice(0,u-1).css(z,B).end().eq(u-1).css(z,D-(u-1)*B);var w=0,r=k?"height":"width",m=k?"left":"top",A=k?"offsetWidth":"offsetHeight";v.children().css(r,v[r]()).each(function(E,F){F.style[m]=Math.floor(w)+"px";w+=F[A]})}};i.splitter.PaneResizing=function(j){this.owner=j;new i.draggable({distance:0,owner:j.element,selector:".t-splitbar-draggable-horizontal, .t-splitbar-draggable-vertical",scope:j.element.id,start:f.proxy(this.start,this),drag:f.proxy(this.drag,this),stop:f.proxy(this.stop,this)})};i.splitter.PaneResizing.prototype={start:function(x){var l=x.$draggable,o=l.prev(),p=l.next(),m=o.data("pane"),q=p.data("pane"),u=this.owner.orientation==="horizontal",y=u?"width":"height",z=u?"offsetWidth":"offsetHeight",s=u?"height":"width";this.positioningProperty=u?"left":"top";this.mousePositioningProperty=u?"pageX":"pageY";this.previousPane=o;this.nextPane=p;this.initialSplitBarPosition=parseInt(l[0].style[this.positioningProperty]);this.initialMousePosition=x[this.mousePositioningProperty];this.ghostSplitBar=f("
      ").css(s,x.$draggable[s]()).css(this.positioningProperty,this.initialSplitBarPosition).appendTo(this.owner.element);var A=parseInt(o[0].style[this.positioningProperty]),n=parseInt(p[0].style[this.positioningProperty])+p[0][z]-h,w=this.owner.$element.css(y),t=function(C){var B=parseInt(C,10);return(g(C)?B:(w*B)/100)||0},v=t(m.minSize),k=t(m.maxSize)||n-A,j=t(q.minSize),r=t(q.maxSize)||n-A;this.maxSize=Math.min(n-j,A+k);this.minSize=Math.max(A+v,n-r);f(document.body).css("cursor",l.css("cursor"))},drag:function(k){var j=Math.min(this.maxSize,Math.max(this.minSize,this.initialSplitBarPosition+(k[this.mousePositioningProperty]-this.initialMousePosition)));this.ghostSplitBar.toggleClass("t-restricted-size-"+this.owner.orientation,j==this.maxSize||j==this.minSize)[0].style[this.positioningProperty]=j+"px"},stop:function(r){if(r.keyCode!==27){var n=parseInt(this.ghostSplitBar[0].style[this.positioningProperty]),j=this.owner.orientation==="horizontal",p=j?"width":"height",o=j?"offsetWidth":"offsetHeight",k=this.previousPane.data("pane"),q=this.nextPane.data("pane"),l=n-parseInt(this.previousPane[0].style[this.positioningProperty]),t=parseInt(this.nextPane[0].style[this.positioningProperty])+this.nextPane[0][o]-n-h,m=this.owner.$element[p]();m-=h*this.owner.$element.children(".t-splitbar").length;var s=this.owner.$element.children(".t-pane").filter(function(){return c(f(this).data("pane").size)}).length;if(!c(k.size)||s>1){if(c(k.size)){s--}k.size=l+"px"}if(!c(q.size)||s>1){q.size=t+"px"}}this.ghostSplitBar.remove();if(r.keyCode!==27){this.owner.$element.trigger("resize")}f(document.body).css("cursor","");return false}};f.fn.tSplitter=function(j){return i.create(this,{name:"tSplitter",init:function(k,l){return new i.splitter(k,l)},options:j})};f.fn.tSplitter.defaults={orientation:"horizontal"}})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.tabstrip.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.tabstrip.min.js new file mode 100644 index 0000000..d6406d7 --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.tabstrip.min.js @@ -0,0 +1 @@ +(function(a){var b=a.telerik;b.tabstrip=function(c,d){this.element=c;var f=a(c);this.$contentElements=f.find("> .t-content");a.extend(this,d);if(this.contentUrls){f.find(".t-tabstrip-items > .t-item").each(a.proxy(function(i,j){a(j).find(".t-link").data("ContentUrl",this.contentUrls[i])},this))}var h=".t-tabstrip-items > .t-item:not(.t-state-disabled)";f.delegate(h,"mouseenter",b.hover).delegate(h,"mouseleave",b.leave).delegate(h,d.activateEvent,b.delegate(this,this._click)).delegate(".t-tabstrip-items > .t-state-disabled .t-link","click",b.preventDefault);b.bind(this,{select:a.proxy(function(i){if(i.target==this.element&&this.onSelect){this.onSelect(i)}},this),contentLoad:this.onContentLoad,error:this.onError,load:this.onLoad});var g=f.find("li.t-state-active"),e=a(this.getContentElement(g.parent().children().index(g)));if(e.length>0&&e[0].childNodes.length==0){this.activateTab(g.eq(0))}};a.extend(b.tabstrip.prototype,{select:function(c){a(c).each(a.proxy(function(e,f){var d=a(f);if(d.is(".t-state-disabled,.t-state-active")){return}this.activateTab(d)},this))},enable:function(c){a(c).addClass("t-state-default").removeClass("t-state-disabled")},disable:function(c){a(c).removeClass("t-state-default").removeClass("t-state-active").addClass("t-state-disabled")},reload:function(d){var c=this;a(d).each(function(){var f=a(this),e=f.find(".t-link").data("ContentUrl");if(e){c.ajaxRequest(f,a(c.getContentElement(f.index())),null,e)}})},_click:function(j,f){var h=a(f),c=h.find(".t-link"),d=c.attr("href"),g=a(this.getContentElement(h.index()));if(h.is(".t-state-disabled,.t-state-active")){j.preventDefault();return}if(b.trigger(this.element,"select",{item:h[0],contentElement:g[0]})){j.preventDefault()}var i=c.data("ContentUrl")||(d&&(d.charAt(d.length-1)=="#"||d.indexOf("#"+this.element.id+"-")!=-1));if(!d||i||(g.length>0&&g[0].childNodes.length==0)){j.preventDefault()}else{return}if(this.activateTab(h)){j.preventDefault()}},activateTab:function(d){var f=d.parent().children().removeClass("t-state-active").addClass("t-state-default").index(d);d.removeClass("t-state-default").addClass("t-state-active");var g=this.$contentElements;if(g.length==0){return false}var j=g.filter(".t-state-active");var e=a(this.getContentElement(f));var h=this;if(e.length==0){j.removeClass("t-state-active");b.fx.rewind(h.effects,j,{});return false}var c=e.is(":empty"),i=function(){e.addClass("t-state-active");b.fx.play(h.effects,e,{})};j.removeClass("t-state-active").stop(false,true);b.fx.rewind(h.effects,j,{},function(){if(d.hasClass("t-state-active")){if(!c){i()}else{h.ajaxRequest(d,e,function(){if(d.hasClass("t-state-active")){i()}})}}});return true},getSelectedTabIndex:function(){return a(this.element).find("li.t-state-active").index()},getContentElement:function(g){if(isNaN(g-0)){return}var c=this.$contentElements,e=new RegExp("-"+(g+1)+"$");for(var d=0,f=c.length;d').prependTo(d)},100);a.ajax({type:"GET",cache:false,url:g||d.data("ContentUrl")||d.attr("href"),dataType:"html",data:c,error:a.proxy(function(l,k){if(b.ajaxError(this.element,"error",l,k)){return}},this),complete:function(){clearTimeout(h);if(i!==null){i.remove()}},success:a.proxy(function(k,l){e.html(k);if(j){j.call(this,e)}b.trigger(this.element,"contentLoad",{item:f[0],contentElement:e[0]})},this)})}});a.fn.tTabStrip=function(c){return b.create(this,{name:"tTabStrip",init:function(d,e){return new b.tabstrip(d,e)},options:c})};a.fn.tTabStrip.defaults={activateEvent:"click",effects:b.fx.toggle.defaults()}})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.textbox.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.textbox.min.js new file mode 100644 index 0000000..4c0c2cb --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.textbox.min.js @@ -0,0 +1 @@ +(function(d){var i=d.telerik,a=[8,9,37,38,39,40,46,35,36,44],b=["font-family","font-size","font-stretch","font-style","font-weight","letter-spacing","line-height","color","text-align","text-decoration","text-indent","text-transform"];function f(l){var o={};for(var k=0,n=b.length;k
      '));if(this.showIncreaseButton){o.cat('Increment')}if(this.showDecreaseButton){o.cat('Decrement')}if(o.buffer.length>0){d(o.string()).insertAfter(l)}}this.$wrapper=l.closest(".t-numerictextbox").find(".t-arrow-up, .t-arrow-down").bind({click:i.preventDefault,dragstart:i.preventDefault}).end().bind({focusin:d.proxy(this._focus,this),focusout:d.proxy(this._blur,this)});this.enabled=!l.is("[disabled]");o.buffer=[];o.cat("[ |").cat(this.groupSeparator).catIf("|"+this.symbol,this.symbol).cat("]");this.replaceRegExp=new RegExp(o.string(),"g");var m=l.attr("value");o.buffer=[];o.cat('
      ').cat(m||(this.enabled?this.text:"")).cat("
      ");this.$text=d(o.string()).insertBefore(l).css(f(l)).click(function(p){j.focus()});this._blur();this[this.enabled?"enable":"disable"]();this.numFormat=this.numFormat===undefined?this.type.charAt(0):this.numFormat;var n=this.separator;this.step=this.parse(this.step,n);this.val=this.parse(this.val,n);this.minValue=this.parse(this.minValue,n);this.maxValue=this.parse(this.maxValue,n);this.decimals={"190":".","188":",","110":n};this.value(m||this.val);i.bind(this,{load:this.onLoad,valueChange:this.onChange})};i.textbox.prototype={_paste:function(n){var l=this.$element.val();if(d.browser.msie){var k=this.element.document.selection.createRange().text;var j=window.clipboardData.getData("Text");if(k&&k.length>0){l=l.replace(k,j)}else{l+=j}}if(l=="-"){return true}var m=this.parse(l,this.separator);if(m||m==0){this._update(m)}},_keydown:function(p){var m=p.keyCode,k=this.$element,o=this.separator,j=k.val();setTimeout(d.proxy(function(){k.toggleClass("t-state-error",!this.inRange(this.parse(k.val(),this.separator),this.minValue,this.maxValue))},this));var l=this.decimals[m];if(l){if(l==o&&this.digits>0&&j.indexOf(o)==-1){return true}else{p.preventDefault()}}if(m==8||m==46){setTimeout(d.proxy(function(){this._update(this.parse(k.val()))},this));return true}if(m==38||m==40){var n=m==38?1:-1;this._modify(n*this.step);return true}if(m==222){p.preventDefault()}},_keypress:function(l){var k=d(l.target),j=l.keyCode||l.which;if(l.shiftKey&&j!=45){return false}if(j==0||d.inArray(j,a)!=-1||l.ctrlKey||(l.shiftKey&&j==45)){return true}if(((this.minValue!==null?this.minValue<0:true)&&String.fromCharCode(j)=="-"&&i.caretPos(k[0])==0&&k.val().indexOf("-")==-1)||this.inRange(j,48,57)){setTimeout(d.proxy(function(){var m=this.parse(k.val());if(m!=null&&this.digits){var n=Math.pow(10,this.digits);m=parseInt(m*n)/n}if(this.val!=m){if(i.trigger(this.element,"valueChange",{oldValue:this.val,newValue:m})){m=this.val}this._value(m)}},this));return true}l.preventDefault()},_focus:function(){this.$element.css("color",this.$text.css("color"));this.$text.hide()},_blur:function(){this.$element.css("color",this.$element.css("background-color")).removeClass("t-state-error");if(this.enabled){this.$text.show()}var j=this.minValue,l=this.maxValue,k=this.parse(this.$element.val());if(k!=null){if(j!=null&&kl){k=l}}k=parseFloat(k.toFixed(this.digits))}this._update(k)},_clearTimer:function(j){clearTimeout(this.timeout);clearInterval(this.timer);clearInterval(this.acceleration)},_stepper:function(l,j){if(l.which==1){var k=this.step;this._modify(j*k);this.timeout=setTimeout(d.proxy(function(){this.timer=setInterval(d.proxy(function(){this._modify(j*k)},this),80);this.acceleration=setInterval(function(){k+=1},1000)},this),200)}},_modify:function(m){var j=this.parse(this.element.value),k=this.minValue,l=this.maxValue;j=j?j+m:m;if(k!==null&&jl){j=l}}this._update(parseFloat(j.toFixed(this.digits)))},_update:function(j){if(this.val!=j){if(i.trigger(this.element,"valueChange",{oldValue:this.val,newValue:j})){j=this.val}}this._value(j)},_value:function(j){var l=(typeof j==="number")?j:this.parse(j,this.separator),m=this.enabled?this.text:"",k=l===null;if(l!=null){l=parseFloat(l.toFixed(this.digits))}this.val=l;this.$element.val(k?"":this.formatEdit(l));this.$text.html(k?m:this.format(l));if(k){this.$text.addClass("t-state-empty")}else{this.$text.removeClass("t-state-empty")}},enable:function(){var j=this.$wrapper.find(".t-arrow-up, .t-arrow-down"),k=d.proxy(this._clearTimer,this);this.enabled=true;this.$element.removeAttr("disabled");if(!this.val&&this.val!=0){this.$text.addClass("t-state-empty").html(this.text)}else{if(true==d.browser.msie){this.$text.show()}else{this.$element.css("color",this.$element.css("background-color"))}}this.$wrapper.removeClass("t-state-disabled");j.unbind("mouseup").unbind("mouseout").unbind("dblclick").bind({mouseup:k,mouseout:k,dblclick:k});var l="mousedown";j.eq(0).unbind(l).bind(l,d.proxy(function(m){this._stepper(m,1)},this));j.eq(1).unbind(l).bind(l,d.proxy(function(m){this._stepper(m,-1)},this))},disable:function(){this.enabled=false;this.$wrapper.addClass("t-state-disabled").find(".t-icon").unbind("mousedown").bind("mousedown",i.preventDefault);this.$element.attr("disabled","disabled");if(!this.val&&this.val!=0){this.$text.html("")}else{if(true==d.browser.msie){this.$text.hide()}else{this.$element.css("color",this.$element.css("background-color"))}}},value:function(k){if(k===undefined){return this.val}var j=(typeof k==="number")?k:this.parse(k,this.separator);if(!this.inRange(j,this.minValue,this.maxValue)){j=null}this._value(j)},formatEdit:function(k){var j=this.separator;if(k&&j!="."){k=k.toString().replace(".",j)}return k},format:function(j){return i.textbox.formatNumber(j,this.numFormat,this.digits,this.separator,this.groupSeparator,this.groupSize,this.positive,this.negative,this.symbol,true)},inRange:function(l,j,k){return l===null||((j!==null?l>=j:true)&&(k!==null?l<=k:true))},parse:function(j,l){var k=null;if(j||j=="0"){if(typeof j==typeof 1){return j}j=j.replace(this.replaceRegExp,"");if(l&&l!="."){j=j.replace(l,".")}var n=d.fn.tTextBox.patterns[this.type].negative[this.negative].replace(/(\(|\))/g,"\\$1").replace("*","").replace("n","([\\d|\\.]*)"),m=new RegExp(n);if(m.test(j)){k=-parseFloat(m.exec(j)[1])}else{k=parseFloat(j)}}return isNaN(k)?null:k}};d.fn.tTextBox=function(l){var k="numeric";if(l&&l.type){k=l.type}var j=d.fn.tTextBox.defaults[k];j.digits=i.cultureInfo[k+"decimaldigits"];j.separator=i.cultureInfo[k+"decimalseparator"];j.groupSeparator=i.cultureInfo[k+"groupseparator"];j.groupSize=i.cultureInfo[k+"groupsize"];j.positive=i.cultureInfo[k+"positive"];j.negative=i.cultureInfo[k+"negative"];j.symbol=i.cultureInfo[k+"symbol"];l=d.extend({},j,l);l.type=k;return this.each(function(){var m=d(this);l=d.meta?d.extend({},l,m.data()):l;if(!m.data("tTextBox")){m.data("tTextBox",new i.textbox(this,l));i.trigger(this,"load")}})};var c={val:null,text:"",step:1,inputAttributes:"",increaseButtonTitle:"Increase value",decreaseButtonTitle:"Decrease value",showIncreaseButton:true,showDecreaseButton:true};d.fn.tTextBox.defaults={numeric:d.extend(c,{minValue:-100,maxValue:100}),currency:d.extend(c,{minValue:0,maxValue:1000}),percent:d.extend(c,{minValue:0,maxValue:100})};d.fn.tTextBox.patterns={numeric:{negative:["(n)","-n","- n","n-","n -"]},currency:{positive:["*n","n*","* n","n *"],negative:["(*n)","-*n","*-n","*n-","(n*)","-n*","n-*","n*-","-n *","-* n","n *-","* n-","* -n","n- *","(* n)","(n *)"]},percent:{positive:["n *","n*","*n"],negative:["-n *","-n*","-*n"]}};if(!i.cultureInfo.numericnegative){d.extend(i.cultureInfo,{currencydecimaldigits:2,currencydecimalseparator:".",currencygroupseparator:",",currencygroupsize:3,currencynegative:0,currencypositive:0,currencysymbol:"$",numericdecimaldigits:2,numericdecimalseparator:".",numericgroupseparator:",",numericgroupsize:3,numericnegative:1,percentdecimaldigits:2,percentdecimalseparator:".",percentgroupseparator:",",percentgroupsize:3,percentnegative:0,percentpositive:0,percentsymbol:"%"})}var h=/[0#?]/;function g(j){return j.split("").reverse().join("")}function e(o,k,r){var l=0,m=0,q=k.length,s=o.length,v=new i.stringBuilder();while(l=0){if(k.charAt(l).match(h)){v.cat(o.charAt(m++))}else{v.cat(k.charAt(l))}l++}v.catIf(o.substring(m),m-1){t=u.indexOf("0")}if(t>-1){var n=u.slice(0,t),p=u.slice(t,u.length);u=n.replace(/#/g,"")+p.replace(/#/g,"0")}else{u=u.replace(/#/g,"")}if(u.indexOf(",")==0){u=u.replace(/,/g,"")}return r?u:g(u)}i.textbox.formatNumber=function(M,p,u,w,k,S,q,s,O,H){if(!p){return M}var R,I,N,o,L=M<0;p=p.split(":");p=p.length>1?p[1].replace("}",""):p[0];var n=p.search(h)!=-1;if(n){p=p.split(";");I=p[0];N=p[1];o=p[2];p=(L&&N?N:I).indexOf("%")!=-1?"p":"n"}switch(p.toLowerCase()){case"d":return Math.round(M).toString();case"c":R="currency";break;case"n":R="numeric";break;case"p":R="percent";if(!H){M=Math.abs(M)*100}break;default:return M.toString()}var B=function(V,T,U){for(var W=V.length;W1?E[1]:"",j=i.lastIndexOf(C,"0"),z=i.lastIndexOf(C,"#");u=(z>j?z:j)+1}var D=Math.pow(10,u);var P=(Math.round(M*D)/D);M=isFinite(P)?P:M;var x=M.toString().split(/e/i);A=x.length>1?parseInt(x[1]):0;x=x[0].split(".");l=x[0];l=L?l.replace("-",""):l;t=x.length>1?x[1]:"";if(A){if(!L){t=B(t,A,false);l+=t.slice(0,A);t=t.substr(A)}else{l=B(l,A+1,true);t=l.slice(A,l.length)+t;l=l.slice(0,A)}}var Q=t.length;if(u<1||(n&&j==-1&&Q===0)){t=""}else{t=Q>u?t.slice(0,u):B(t,u,false)}var m;if(n){if(l==0){l=""}l=e(g(l),g(y),true);l=y.indexOf(",")!=-1?K(l,k,S):l;t=t&&C?e(t,C):"";m=M===0&&o?o:(L&&!N?"-":"")+l+(t.length>0?w+t:"")}else{l=K(l,k,S);J=J[R];var v=L?J.negative[s]:O?J.positive[q]:null;var r=l+(t.length>0?w+t:"");m=v?v.replace("n",r).replace("*",O):r}return m};d.extend(i.formatters,{number:i.textbox.formatNumber})})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.timepicker.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.timepicker.min.js new file mode 100644 index 0000000..0b409cf --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.timepicker.min.js @@ -0,0 +1 @@ +(function(a){var b=a.telerik;b.timeView=function(c){a.extend(this,c);var d=this.dropDown=new b.dropDown({attr:this.dropDownAttr,effects:this.effects,onClick:function(f){var g=f.item;c.onChange(g.innerText||g.textContent)}});d.$element.addClass("t-time-popup").css("direction",this.isRtl?"rtl":"")};b.timeView.prototype={_ensureItems:function(){if(!this.dropDown.$items){this.bind()}},open:function(c){this._ensureItems();this.dropDown.open(c)},close:function(){this.dropDown.close()},bind:function(){var j=b.timeView.getTimeMilliseconds;var g=[];var c=this.format;var n=this.interval;var p=new b.datetime(this.minValue);var d=j(p);var f=j(this.maxValue);var l=n*b.datetime.msPerMinute;var k=parseInt(b.datetime.msPerDay/(n*b.datetime.msPerMinute));if(d!=f){var o=di?i+d:i;h=e>h?h+d:h;return e-h==0||i>=e&&i<=h},getTimeMilliseconds:function(c){c=c.value?c:new b.datetime(c);return((c.hours()*60)+c.minutes())*b.datetime.msPerMinute+c.seconds()*1000+c.milliseconds()}});b.timepicker=function(d,e){a.extend(this,e);if(d.nodeName.toLowerCase()!=="input"&&d.type.toLowerCase()!=="text"){throw"Target element is not a INPUT"}this.element=d;var f=this.$element=a(d).addClass("t-input").attr("autocomplete","off").bind({keydown:a.proxy(this._keydown,this),focus:a.proxy(function(j){if(this.openOnFocus){this._open()}this.$element.removeClass("t-state-error")},this)});if(!f.parent().hasClass("t-picker-wrap")){f.wrap('
      ');if(e.showButton){var i=new b.stringBuilder(),g=e.buttonTitle;a(i.cat('').cat('').string()).insertAfter(f)}}this.timeView=new b.timeView({effects:this.effects,dropDownAttr:this.dropDownAttr,format:this.format,interval:this.interval,isRtl:f.closest(".t-rtl").length,minValue:this.minValue,maxValue:this.maxValue,onNavigateWithOpenPopup:a.proxy(function(j){this.$element.val(j)},this),onChange:a.proxy(function(j){if(j!=this.inputValue){this._update(j)}this._close()},this)});this.inputValue=f.val();var c=this.selectedValue||this.inputValue;if(c){this._value(this.parse(c))}var h=this.enabled?a.proxy(this._togglePopup,this):b.preventDefault;this.$wrapper=f.closest(".t-timepicker").find(".t-icon").bind("click",h).end();a(document.documentElement).bind("mousedown",a.proxy(function(m){var l=this.$element.val();if(l!=this.inputValue){this._update(l)}var j=this.timeView.dropDown.$element;var k=j&&j.parent().length>0;if(!k||a.contains(this.$wrapper[0],m.target)||a.contains(j.parent()[0],m.target)){return}this._close()},this));b.bind(this,{open:this.onOpen,close:this.onClose,valueChange:this.onChange,load:this.onLoad})};b.timepicker.prototype={_close:function(){var c=this.timeView.dropDown;if(!c.$element.is(":animated")&&c.isOpened()){this._trigger("close")}},_open:function(){if(!this.timeView.isOpened()){this._trigger("open")}},_trigger:function(c){if(!b.trigger(this.element,c)){this[c]()}},_togglePopup:function(){if(this.timeView.isOpened()){this._close()}else{this.element.focus();this._open()}},_update:function(f){var k=this.minValue,d=this.maxValue,i=this.parse(f),m=this.selectedValue;if(i!=null&&!b.timeView.isInRange(i,k,d)){var e=b.timeView.getTimeMilliseconds,h=e(i),j=Math.abs(e(k)-h),l=Math.abs(e(d)-h);i=new Date(j0)})}b.treeview=function(f,g){this.element=f;var h=c(f);c.extend(this,g);var d=".t-in:not(.t-state-selected,.t-state-disabled)";c(".t-in.t-state-selected",f).live("mouseenter",b.preventDefault);h.delegate(d,"mouseenter",b.hover).delegate(d,"mouseleave",b.leave).delegate(d,"click",b.delegate(this,this.nodeSelect)).delegate("div:not(.t-state-disabled) .t-in","dblclick",b.delegate(this,this.nodeClick)).delegate(":checkbox","click",b.delegate(this,this.checkboxClick)).delegate(".t-plus, .t-minus","click",b.delegate(this,this.nodeClick));if(this.isAjax()){a(h)}if(this.dragAndDrop){b.bind(this,{nodeDragStart:this.onNodeDragStart,nodeDragging:this.onNodeDragging,nodeDragCancelled:this.onNodeDragCancelled,nodeDrop:this.onNodeDrop,nodeDropped:this.onNodeDropped});(function(k){var i=c('
      ');var n;function j(o){if(b.trigger(k.element,"nodeDragStart",{item:o.$draggable.closest(".t-item")[0]})){return false}i.appendTo(k.element)}function l(w){var r;n=c(w.target);b.trigger(k.element,"nodeDragging",{pageY:w.pageY,pageX:w.pageX,dropTarget:w.target,setStatusClass:function(z){r=z},item:w.$draggable.closest(".t-item")[0]});if(r){i.css("visibility","hidden");b.dragCueStatus(w.$cue,r);return}r="t-insert-middle";if(k.dragAndDrop.dropTargets&&c(w.target).closest(k.dragAndDrop.dropTargets).length>0){b.dragCueStatus(w.$cue,"t-add");return}if(!c.contains(k.element,w.target)){i.css("visibility","hidden");return}else{if(c.contains(w.$draggable.closest(".t-item")[0],w.target)){i.css("visibility","hidden");b.dragCueStatus(w.$cue,"t-denied");return}}i.css("visibility","visible");var q=n.closest(".t-top,.t-mid,.t-bot");if(q.length>0){var v=q.outerHeight();var t=q.offset().top;var y=n.closest(".t-in");var x=v/(y.length>0?4:2);var u=w.pageY<(t+x);var o=(t+v-x)0&&!u&&!o;y.toggleClass("t-state-hover",p);i.css("visibility",p?"hidden":"visible");if(p){r="t-add"}else{var s=q.position();s.top+=u?0:v;i.css(s)[u?"prependTo":"appendTo"](n.closest(".t-item").find("> div:first"));r="t-insert-middle";if(u&&q.hasClass("t-top")){r="t-insert-top"}if(o&&q.hasClass("t-bot")){r="t-insert-bottom"}}}b.dragCueStatus(w.$cue,r)}function m(v){if(v.keyCode==27){b.trigger(k.element,"nodeDragCancelled",{item:v.$draggable.closest(".t-item")[0]})}else{var q="over",p;if(i.css("visibility")=="visible"){q=i.prevAll(".t-in").length>0?"after":"before";p=i.closest(".t-item").find("> div")}else{if(n){p=n.closest(".t-top,.t-mid,.t-bot")}}var r=b.trigger(k.element,"nodeDrop",{isValid:!v.$cue.find(".t-drag-status").hasClass("t-denied"),dropTarget:v.target,destinationItem:p.parent()[0],dropPosition:q,item:v.$draggable.closest(".t-item")[0]});if(r||!c.contains(k.element,v.target)){return !r}var t=v.$draggable.closest(".t-top,.t-mid,.t-bot");var u=t.parent();var x=t.closest(".t-group");if(c.contains(u[0],v.target)){return false}if(u.hasClass("t-last")){u.removeClass("t-last").prev().addClass("t-last").find("> div").removeClass("t-top t-mid").addClass("t-bot")}if(i.css("visibility")=="visible"){p.parent()[q](u)}else{var o=p.next(".t-group");if(o.length===0){o=c('
        ').appendTo(p.parent());if(!k.isAjax()){p.prepend('')}else{o.hide();k.nodeToggle(null,p.parent(),true);o.show()}}o.append(u);if(p.find("> .t-icon").hasClass("t-plus")){k.nodeToggle(null,p.parent(),true)}}var s=u.parents(".t-group").length;function w(z){var A=z.prev().length===0;var y=z.next().length===0;z.toggleClass("t-first",A&&s===1).toggleClass("t-last",y).find("> div").toggleClass("t-top",A&&!y).toggleClass("t-mid",!A&&!y).toggleClass("t-bot",y)}w(u);w(u.prev());w(u.next());if(x.children().length===0){x.prev("div").find(".t-plus,.t-minus").remove();x.remove()}b.trigger(k.element,"nodeDropped",{destinationItem:p.closest(".t-item")[0],dropPosition:q,item:t.parent(".t-item")[0]});return false}}new b.draggable({owner:k.element,selector:"div:not(.t-state-disabled) .t-in",scope:k.element.id,cue:function(o){return b.dragCue(o.$draggable.text())},start:j,drag:l,stop:m,destroy:function(o){i.remove();o.$cue.remove()}})})(this)}var e=h.find(".t-item > .t-content");if(e.length>0&&c(e[0]).children().length==0){h.find(".t-icon").hide()}b.bind(this,{expand:this.onExpand,collapse:this.onCollapse,select:c.proxy(function(i){if(i.target==this.element&&this.onSelect){this.onSelect(i)}},this),checked:this.onChecked,error:this.onError,load:this.onLoad,dataBinding:this.onDataBinding,dataBound:this.onDataBound})};b.treeview.prototype={expand:function(d){c(d,this.element).each(c.proxy(function(g,h){var f=c(h);var e=f.find("> .t-group, > .t-content");if((e.length>0&&!e.is(":visible"))||this.isAjax()){this.nodeToggle(null,f)}},this))},collapse:function(d){c(d,this.element).each(c.proxy(function(g,h){var f=c(h),e=f.find("> .t-group, > .t-content");if(e.length>0&&e.is(":visible")){this.nodeToggle(null,f)}},this))},enable:function(d){this.toggle(d,true)},disable:function(d){this.toggle(d,false)},toggle:function(e,d){c(e,this.element).each(c.proxy(function(g,h){var f=c(h),i=!f.find("> .t-group, > .t-content").is(":visible");if(!d){this.collapse(f);i=true}f.find("> div > .t-in").toggleClass("t-state-default",d).toggleClass("t-state-disabled",!d).end().find("> div > .t-checkbox > :checkbox").attr("disabled",d?"":"disabled").end().find("> div > .t-icon").toggleClass("t-plus",i&&d).toggleClass("t-plus-disabled",i&&!d).toggleClass("t-minus",!i&&d).toggleClass("t-minus-disabled",!i&&!d)},this))},reload:function(e){var d=this;c(e).each(function(){var f=c(this);f.find(".t-group").remove();d.ajaxRequest(f)})},shouldNavigate:function(e){var d=c(e).closest(".t-item").find("> .t-content, > .t-group");var f=c(e).attr("href");return !((f&&(f.charAt(f.length-1)=="#"||f.indexOf("#"+this.element.id+"-")!=-1))||(d.length>0&&d.children().length==0))},nodeSelect:function(g,f){if(!this.shouldNavigate(f)){g.preventDefault()}var d=c(f);if(!d.hasClass(".t-state-selected")&&!b.trigger(this.element,"select",{item:d.closest(".t-item")[0]})){c(".t-in",this.element).removeClass("t-state-hover t-state-selected");d.addClass("t-state-selected")}},nodeToggle:function(i,f,h){if(f.find(".t-minus").length==0&&f.find(".t-plus").length==0){return}if(i!=null){i.preventDefault()}if(f.data("animating")||f.find("> div > .t-in").hasClass("t-state-disabled")){return}f.data("animating",!h);var d=f.find(">.t-group, >.t-content, >.t-animation-container>.t-group, >.t-animation-container>.t-content"),g=!d.is(":visible");if(d.children().length>0&&f.data("loaded")!==false&&!b.trigger(this.element,g?"expand":"collapse",{item:f[0]})){f.find("> div > .t-icon").toggleClass("t-minus",g).toggleClass("t-plus",!g);if(!h){b.fx[g?"play":"rewind"](this.effects,d,{direction:"bottom"},function(){f.data("animating",false)})}else{d[g?"show":"hide"]()}}else{if(g&&this.isAjax()&&(d.length==0||f.data("loaded")===false)){if(!b.trigger(this.element,g?"expand":"collapse",{item:f[0]})){this.ajaxRequest(f)}}}},nodeClick:function(h,g){var f=c(g),d=f.closest(".t-item");if(f.hasClass("t-plus-disabled")||f.hasClass("t-minus-disabled")){return}this.nodeToggle(h,d)},isAjax:function(){return this.ajax||this.ws||this.onDataBinding},url:function(d){return(this.ajax||this.ws)[d]},ajaxOptions:function(e,h){var f={type:"POST",dataType:"text",error:c.proxy(function(j,i){if(b.ajaxError(this.element,"error",j,i)){return}if(i=="parsererror"){alert("Error! The requested URL did not return JSON.")}},this),success:c.proxy(function(i){i=eval("("+i+")");i=i.d||i;this.dataBind(e,i)},this)};f=c.extend(f,h);var g=this.ws?f.data.node={}:f.data;if(e.hasClass("t-item")){g[this.queryString.value]=this.getItemValue(e);g[this.queryString.text]=this.getItemText(e);var d=e.find(".t-checkbox:first :checkbox");if(d.length){g[this.queryString.checked]=d.is(":checked")}}if(this.ws){f.data=b.toJson(f.data);f.contentType="application/json; charset=utf-8"}return f},ajaxRequest:function(f){f=f||c(this.element);var d={item:f[0]};if(b.trigger(this.element,"dataBinding",d)||(!this.ajax&&!this.ws)){return}f.data("loadingIconTimeout",setTimeout(function(){f.find("> div > .t-icon").addClass("t-loading")},100));c.ajax(this.ajaxOptions(f,{data:c.extend({},d.data),url:this.url("selectUrl")}))},bindTo:function(d){this.dataBind(this.element,d)},dataBind:function(d,h){d=c(d);if(h.length==0){c(".t-icon",d).hide();return}var g=new b.stringBuilder(),e=d.find("> .t-group"),f=e.length==0;b.treeview.getGroupHtml({data:h,html:g,isAjax:this.isAjax(),isFirstLevel:d.hasClass("t-treeview"),showCheckBoxes:this.showCheckBox,groupLevel:d.find('> div > .t-checkbox :input[name="'+this.element.id+'_checkedNodes.Index"]').val(),isExpanded:(f?d.eq(0).is(".t-treeview")?true:h[0].Expanded:false),renderGroup:f,elementId:this.element.id});d.data("animating",true);if(e.length>0&&d.data("loaded")===false){c(g.string()).prependTo(e)}else{if(e.length>0&&d.data("loaded")!==false){e.html(g.string())}else{if(e.length==0){e=c(g.string()).appendTo(d)}}}b.fx.play(this.effects,e,{direction:"bottom"},function(){d.data("animating",false)});clearTimeout(d.data("loadingIconTimeout"));if(d.hasClass("t-item")){d.data("loaded",true).find(".t-icon:first").removeClass("t-loading").removeClass("t-plus").addClass("t-minus")}if(this.isAjax()){a(d)}b.trigger(this.element,"dataBound")},checkboxClick:function(h,f){var d=c(f).is(":checked");var g=b.trigger(this.element,"checked",{item:c(f).closest(".t-item")[0],checked:d});if(!g){this.nodeCheck(f,d)}else{h.preventDefault()}return g},nodeCheck:function(e,d){c(e,this.element).each(c.proxy(function(h,i){var f=c(i).closest(".t-item"),g=c("> div > .t-checkbox",f),j=this.element.id+"_checkedNodes",h=g.find(':input[name="'+j+'.Index"]').val();g.find(':input[name="'+j+"["+h+'].Text"]').remove();g.find(':input[name="'+j+"["+h+'].Value"]').remove();g.find(":checkbox").attr({checked:d?"checked":"",value:d});if(d){c(b.treeview.getNodeInputsHtml(this.getItemValue(f),this.getItemText(f),j,h)).appendTo(g)}},this))},getItemText:function(d){return c(d).find("> div > .t-in").text()},getItemValue:function(d){return c(d).find('>div>:input[name="itemValue"]').val()||this.getItemText(d)}};c.extend(b.treeview,{getNodeInputsHtml:function(g,e,f,d){return new b.stringBuilder().cat('').cat('').string()},getItemHtml:function(e){var m=e.item,h=e.html,i=e.isFirstLevel,f=e.groupLevel,g=e.itemIndex,d=e.itemsCount,l=new b.stringBuilder().cat(f).catIf(":",f).cat(g).string();h.cat('
      • ').cat('
        ');if((e.isAjax&&m.LoadOnDemand)||(m.Items&&m.Items.length>0)){h.cat('')}if(e.showCheckBoxes&&m.Checkable!==false){var j=e.elementId+"_checkedNodes";h.cat('').cat('').cat('");if(m.Checked){h.cat(b.treeview.getNodeInputsHtml(m.Value,m.Text,j,l))}h.cat("")}var k=m.NavigateUrl||m.Url;h.cat(k?'');if(m.ImageUrl!=null){h.cat('')}if(m.SpriteCssClasses!=null){h.cat('')}h.catIf(m.Text,m.Encoded===false).catIf(m.Text.replace(//g,">"),m.Encoded!==false).cat(k?"":"");if(m.Value){h.cat('')}h.cat("
        ");if(m.Items&&m.Items.length>0){b.treeview.getGroupHtml({data:m.Items,html:h,isAjax:e.isAjax,isFirstLevel:false,showCheckBoxes:e.showCheckBoxes,groupLevel:l,isExpanded:m.Expanded,elementId:e.elementId})}h.cat("
      • ")},getGroupHtml:function(e){var d=e.data;var g=e.html;var j=e.isFirstLevel;var k=e.renderGroup;if(k!==false){g.cat('
  • Tu82 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

    i%-*L%u=y&m7U)Q!J8&(Bg8q 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 DTKcQ< literal 0 HcmV?d00001 diff --git a/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net40/Newtonsoft.Json.pdb b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net40/Newtonsoft.Json.pdb new file mode 100644 index 0000000000000000000000000000000000000000..6afbd03730622bc4da952d03c81e7cd27f34991d GIT binary patch literal 949760 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�juEifqXv6`BjxmEwZ;j@?-9-{hFVo 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≦Vpl+LcU#< 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≠pRzBmJ$xjg6R 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

    qZ{vR0aipd!Pyis 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

    v(#I+E$zvvQCNcbgTvU>6 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 YH)Gd&j2%Zd8wcNy;KaU7ZoQ29FL={RuK)l5 literal 0 HcmV?d00001 diff --git a/CharityPortal/packages/jQuery.1.5.1/Content/Scripts/jquery-1.5.1.js b/CharityPortal/packages/jQuery.1.5.1/Content/Scripts/jquery-1.5.1.js new file mode 100644 index 0000000..5948d8c --- /dev/null +++ b/CharityPortal/packages/jQuery.1.5.1/Content/Scripts/jquery-1.5.1.js @@ -0,0 +1,8325 @@ +/*! +* Note: While Microsoft is not the author of this file, Microsoft is +* offering you a license subject to the terms of the Microsoft Software +* License Terms for Microsoft ASP.NET Model View Controller 3. +* Microsoft reserves all other rights. The notices below are provided +* for informational purposes only and are not the license terms under +* which Microsoft distributed this file. +* +* jQuery JavaScript Library v1.5.1 +* http://jquery.com/ +* Copyright 2011, John Resig +* +* Includes Sizzle.js +* http://sizzlejs.com/ +* Copyright 2011, The Dojo Foundation +* +* Date: Thu Nov 11 19:04:53 2010 -0500 +*/ +(function( window, undefined ) { + +// Use the correct document accordingly with window argument (sandbox) +var document = window.document; +var jQuery = (function() { + +// Define a local copy of jQuery +var jQuery = function( selector, context ) { + // The jQuery object is actually just the init constructor 'enhanced' + return new jQuery.fn.init( selector, context, rootjQuery ); + }, + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$, + + // A central reference to the root jQuery(document) + rootjQuery, + + // A simple way to check for HTML strings or ID strings + // (both of which we optimize for) + quickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/, + + // Check if a string has a non-whitespace character in it + rnotwhite = /\S/, + + // Used for trimming whitespace + trimLeft = /^\s+/, + trimRight = /\s+$/, + + // Check for digits + rdigit = /\d/, + + // Match a standalone tag + rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, + + // JSON RegExp + rvalidchars = /^[\],:{}\s]*$/, + rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, + rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, + rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, + + // Useragent RegExp + rwebkit = /(webkit)[ \/]([\w.]+)/, + ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/, + rmsie = /(msie) ([\w.]+)/, + rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/, + + // Keep a UserAgent string for use with jQuery.browser + userAgent = navigator.userAgent, + + // For matching the engine and version of the browser + browserMatch, + + // Has the ready events already been bound? + readyBound = false, + + // The deferred used on DOM ready + readyList, + + // Promise methods + promiseMethods = "then done fail isResolved isRejected promise".split( " " ), + + // The ready event handler + DOMContentLoaded, + + // Save a reference to some core methods + toString = Object.prototype.toString, + hasOwn = Object.prototype.hasOwnProperty, + push = Array.prototype.push, + slice = Array.prototype.slice, + trim = String.prototype.trim, + indexOf = Array.prototype.indexOf, + + // [[Class]] -> type pairs + class2type = {}; + +jQuery.fn = jQuery.prototype = { + constructor: jQuery, + init: function( selector, context, rootjQuery ) { + var match, elem, ret, doc; + + // Handle $(""), $(null), or $(undefined) + if ( !selector ) { + return this; + } + + // Handle $(DOMElement) + if ( selector.nodeType ) { + this.context = this[0] = selector; + this.length = 1; + return this; + } + + // The body element only exists once, optimize finding it + if ( selector === "body" && !context && document.body ) { + this.context = document; + this[0] = document.body; + this.selector = "body"; + this.length = 1; + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + // Are we dealing with HTML string or an ID? + match = quickExpr.exec( selector ); + + // Verify a match, and that no context was specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) { + context = context instanceof jQuery ? context[0] : context; + doc = (context ? context.ownerDocument || context : document); + + // If a single string is passed in and it's a single tag + // just do a createElement and skip the rest + ret = rsingleTag.exec( selector ); + + if ( ret ) { + if ( jQuery.isPlainObject( context ) ) { + selector = [ document.createElement( ret[1] ) ]; + jQuery.fn.attr.call( selector, context, true ); + + } else { + selector = [ doc.createElement( ret[1] ) ]; + } + + } else { + ret = jQuery.buildFragment( [ match[1] ], [ doc ] ); + selector = (ret.cacheable ? jQuery.clone(ret.fragment) : ret.fragment).childNodes; + } + + return jQuery.merge( this, selector ); + + // HANDLE: $("#id") + } else { + elem = document.getElementById( match[2] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id !== match[2] ) { + return rootjQuery.find( selector ); + } + + // Otherwise, we inject the element directly into the jQuery object + this.length = 1; + this[0] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return (context || rootjQuery).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return rootjQuery.ready( selector ); + } + + if (selector.selector !== undefined) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }, + + // Start with an empty selector + selector: "", + + // The current version of jQuery being used + jquery: "1.5.1", + + // The default length of a jQuery object is 0 + length: 0, + + // The number of elements contained in the matched element set + size: function() { + return this.length; + }, + + toArray: function() { + return slice.call( this, 0 ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num == null ? + + // Return a 'clean' array + this.toArray() : + + // Return just the object + ( num < 0 ? this[ this.length + num ] : this[ num ] ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems, name, selector ) { + // Build a new jQuery matched element set + var ret = this.constructor(); + + if ( jQuery.isArray( elems ) ) { + push.apply( ret, elems ); + + } else { + jQuery.merge( ret, elems ); + } + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + ret.context = this.context; + + if ( name === "find" ) { + ret.selector = this.selector + (this.selector ? " " : "") + selector; + } else if ( name ) { + ret.selector = this.selector + "." + name + "(" + selector + ")"; + } + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + // (You can seed the arguments with an array of args, but this is + // only used internally.) + each: function( callback, args ) { + return jQuery.each( this, callback, args ); + }, + + ready: function( fn ) { + // Attach the listeners + jQuery.bindReady(); + + // Add the callback + readyList.done( fn ); + + return this; + }, + + eq: function( i ) { + return i === -1 ? + this.slice( i ) : + this.slice( i, +i + 1 ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ), + "slice", slice.call(arguments).join(",") ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map(this, function( elem, i ) { + return callback.call( elem, i, elem ); + })); + }, + + end: function() { + return this.prevObject || this.constructor(null); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: [].sort, + splice: [].splice +}; + +// Give the init function the jQuery prototype for later instantiation +jQuery.fn.init.prototype = jQuery.fn; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + target = arguments[1] || {}; + // skip the boolean and the target + i = 2; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction(target) ) { + target = {}; + } + + // extend jQuery itself if only one argument is passed + if ( length === i ) { + target = this; + --i; + } + + for ( ; i < length; i++ ) { + // Only deal with non-null/undefined values + if ( (options = arguments[ i ]) != null ) { + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray(src) ? src : []; + + } else { + clone = src && jQuery.isPlainObject(src) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend({ + noConflict: function( deep ) { + window.$ = _$; + + if ( deep ) { + window.jQuery = _jQuery; + } + + return jQuery; + }, + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + // A third-party is pushing the ready event forwards + if ( wait === true ) { + jQuery.readyWait--; + } + + // Make sure that the DOM is not already loaded + if ( !jQuery.readyWait || (wait !== true && !jQuery.isReady) ) { + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( !document.body ) { + return setTimeout( jQuery.ready, 1 ); + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + + // Trigger any bound ready events + if ( jQuery.fn.trigger ) { + jQuery( document ).trigger( "ready" ).unbind( "ready" ); + } + } + }, + + bindReady: function() { + if ( readyBound ) { + return; + } + + readyBound = true; + + // Catch cases where $(document).ready() is called after the + // browser event has already occurred. + if ( document.readyState === "complete" ) { + // Handle it asynchronously to allow scripts the opportunity to delay ready + return setTimeout( jQuery.ready, 1 ); + } + + // Mozilla, Opera and webkit nightlies currently support this event + if ( document.addEventListener ) { + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", jQuery.ready, false ); + + // If IE event model is used + } else if ( document.attachEvent ) { + // ensure firing before onload, + // maybe late but safe also for iframes + document.attachEvent("onreadystatechange", DOMContentLoaded); + + // A fallback to window.onload, that will always work + window.attachEvent( "onload", jQuery.ready ); + + // If IE and not a frame + // continually check to see if the document is ready + var toplevel = false; + + try { + toplevel = window.frameElement == null; + } catch(e) {} + + if ( document.documentElement.doScroll && toplevel ) { + doScrollCheck(); + } + } + }, + + // See test/unit/core.js for details concerning isFunction. + // Since version 1.3, DOM methods and functions like alert + // aren't supported. They return false on IE (#2968). + isFunction: function( obj ) { + return jQuery.type(obj) === "function"; + }, + + isArray: Array.isArray || function( obj ) { + return jQuery.type(obj) === "array"; + }, + + // A crude way of determining if an object is a window + isWindow: function( obj ) { + return obj && typeof obj === "object" && "setInterval" in obj; + }, + + isNaN: function( obj ) { + return obj == null || !rdigit.test( obj ) || isNaN( obj ); + }, + + type: function( obj ) { + return obj == null ? + String( obj ) : + class2type[ toString.call(obj) ] || "object"; + }, + + isPlainObject: function( obj ) { + // Must be an Object. + // Because of IE, we also have to check the presence of the constructor property. + // Make sure that DOM nodes and window objects don't pass through, as well + if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { + return false; + } + + // Not own constructor property must be Object + if ( obj.constructor && + !hasOwn.call(obj, "constructor") && + !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { + return false; + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + + var key; + for ( key in obj ) {} + + return key === undefined || hasOwn.call( obj, key ); + }, + + isEmptyObject: function( obj ) { + for ( var name in obj ) { + return false; + } + return true; + }, + + error: function( msg ) { + throw msg; + }, + + parseJSON: function( data ) { + if ( typeof data !== "string" || !data ) { + return null; + } + + // Make sure leading/trailing whitespace is removed (IE can't handle it) + data = jQuery.trim( data ); + + // Make sure the incoming data is actual JSON + // Logic borrowed from http://json.org/json2.js + if ( rvalidchars.test(data.replace(rvalidescape, "@") + .replace(rvalidtokens, "]") + .replace(rvalidbraces, "")) ) { + + // Try to use the native JSON parser first + return window.JSON && window.JSON.parse ? + window.JSON.parse( data ) : + (new Function("return " + data))(); + + } else { + jQuery.error( "Invalid JSON: " + data ); + } + }, + + // Cross-browser xml parsing + // (xml & tmp used internally) + parseXML: function( data , xml , tmp ) { + + if ( window.DOMParser ) { // Standard + tmp = new DOMParser(); + xml = tmp.parseFromString( data , "text/xml" ); + } else { // IE + xml = new ActiveXObject( "Microsoft.XMLDOM" ); + xml.async = "false"; + xml.loadXML( data ); + } + + tmp = xml.documentElement; + + if ( ! tmp || ! tmp.nodeName || tmp.nodeName === "parsererror" ) { + jQuery.error( "Invalid XML: " + data ); + } + + return xml; + }, + + noop: function() {}, + + // Evalulates a script in a global context + globalEval: function( data ) { + if ( data && rnotwhite.test(data) ) { + // Inspired by code by Andrea Giammarchi + // http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html + var head = document.head || document.getElementsByTagName( "head" )[0] || document.documentElement, + script = document.createElement( "script" ); + + if ( jQuery.support.scriptEval() ) { + script.appendChild( document.createTextNode( data ) ); + } else { + script.text = data; + } + + // Use insertBefore instead of appendChild to circumvent an IE6 bug. + // This arises when a base node is used (#2709). + head.insertBefore( script, head.firstChild ); + head.removeChild( script ); + } + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase(); + }, + + // args is for internal usage only + each: function( object, callback, args ) { + var name, i = 0, + length = object.length, + isObj = length === undefined || jQuery.isFunction(object); + + if ( args ) { + if ( isObj ) { + for ( name in object ) { + if ( callback.apply( object[ name ], args ) === false ) { + break; + } + } + } else { + for ( ; i < length; ) { + if ( callback.apply( object[ i++ ], args ) === false ) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if ( isObj ) { + for ( name in object ) { + if ( callback.call( object[ name ], name, object[ name ] ) === false ) { + break; + } + } + } else { + for ( var value = object[0]; + i < length && callback.call( value, i, value ) !== false; value = object[++i] ) {} + } + } + + return object; + }, + + // Use native String.trim function wherever possible + trim: trim ? + function( text ) { + return text == null ? + "" : + trim.call( text ); + } : + + // Otherwise use our own trimming functionality + function( text ) { + return text == null ? + "" : + text.toString().replace( trimLeft, "" ).replace( trimRight, "" ); + }, + + // results is for internal usage only + makeArray: function( array, results ) { + var ret = results || []; + + if ( array != null ) { + // The window, strings (and functions) also have 'length' + // The extra typeof function check is to prevent crashes + // in Safari 2 (See: #3039) + // Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930 + var type = jQuery.type(array); + + if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) { + push.call( ret, array ); + } else { + jQuery.merge( ret, array ); + } + } + + return ret; + }, + + inArray: function( elem, array ) { + if ( array.indexOf ) { + return array.indexOf( elem ); + } + + for ( var i = 0, length = array.length; i < length; i++ ) { + if ( array[ i ] === elem ) { + return i; + } + } + + return -1; + }, + + merge: function( first, second ) { + var i = first.length, + j = 0; + + if ( typeof second.length === "number" ) { + for ( var l = second.length; j < l; j++ ) { + first[ i++ ] = second[ j ]; + } + + } else { + while ( second[j] !== undefined ) { + first[ i++ ] = second[ j++ ]; + } + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, inv ) { + var ret = [], retVal; + inv = !!inv; + + // Go through the array, only saving the items + // that pass the validator function + for ( var i = 0, length = elems.length; i < length; i++ ) { + retVal = !!callback( elems[ i ], i ); + if ( inv !== retVal ) { + ret.push( elems[ i ] ); + } + } + + return ret; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var ret = [], value; + + // Go through the array, translating each of the items to their + // new value (or values). + for ( var i = 0, length = elems.length; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + + // Flatten any nested arrays + return ret.concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + proxy: function( fn, proxy, thisObject ) { + if ( arguments.length === 2 ) { + if ( typeof proxy === "string" ) { + thisObject = fn; + fn = thisObject[ proxy ]; + proxy = undefined; + + } else if ( proxy && !jQuery.isFunction( proxy ) ) { + thisObject = proxy; + proxy = undefined; + } + } + + if ( !proxy && fn ) { + proxy = function() { + return fn.apply( thisObject || this, arguments ); + }; + } + + // Set the guid of unique handler to the same of original handler, so it can be removed + if ( fn ) { + proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++; + } + + // So proxy can be declared as an argument + return proxy; + }, + + // Mutifunctional method to get and set values to a collection + // The value/s can be optionally by executed if its a function + access: function( elems, key, value, exec, fn, pass ) { + var length = elems.length; + + // Setting many attributes + if ( typeof key === "object" ) { + for ( var k in key ) { + jQuery.access( elems, k, key[k], exec, fn, value ); + } + return elems; + } + + // Setting one attribute + if ( value !== undefined ) { + // Optionally, function values get executed if exec is true + exec = !pass && exec && jQuery.isFunction(value); + + for ( var i = 0; i < length; i++ ) { + fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass ); + } + + return elems; + } + + // Getting an attribute + return length ? fn( elems[0], key ) : undefined; + }, + + now: function() { + return (new Date()).getTime(); + }, + + // Create a simple deferred (one callbacks list) + _Deferred: function() { + var // callbacks list + callbacks = [], + // stored [ context , args ] + fired, + // to avoid firing when already doing so + firing, + // flag to know if the deferred has been cancelled + cancelled, + // the deferred itself + deferred = { + + // done( f1, f2, ...) + done: function() { + if ( !cancelled ) { + var args = arguments, + i, + length, + elem, + type, + _fired; + if ( fired ) { + _fired = fired; + fired = 0; + } + for ( i = 0, length = args.length; i < length; i++ ) { + elem = args[ i ]; + type = jQuery.type( elem ); + if ( type === "array" ) { + deferred.done.apply( deferred, elem ); + } else if ( type === "function" ) { + callbacks.push( elem ); + } + } + if ( _fired ) { + deferred.resolveWith( _fired[ 0 ], _fired[ 1 ] ); + } + } + return this; + }, + + // resolve with given context and args + resolveWith: function( context, args ) { + if ( !cancelled && !fired && !firing ) { + firing = 1; + try { + while( callbacks[ 0 ] ) { + callbacks.shift().apply( context, args ); + } + } + // We have to add a catch block for + // IE prior to 8 or else the finally + // block will never get executed + catch (e) { + throw e; + } + finally { + fired = [ context, args ]; + firing = 0; + } + } + return this; + }, + + // resolve with this as context and given arguments + resolve: function() { + deferred.resolveWith( jQuery.isFunction( this.promise ) ? this.promise() : this, arguments ); + return this; + }, + + // Has this deferred been resolved? + isResolved: function() { + return !!( firing || fired ); + }, + + // Cancel + cancel: function() { + cancelled = 1; + callbacks = []; + return this; + } + }; + + return deferred; + }, + + // Full fledged deferred (two callbacks list) + Deferred: function( func ) { + var deferred = jQuery._Deferred(), + failDeferred = jQuery._Deferred(), + promise; + // Add errorDeferred methods, then and promise + jQuery.extend( deferred, { + then: function( doneCallbacks, failCallbacks ) { + deferred.done( doneCallbacks ).fail( failCallbacks ); + return this; + }, + fail: failDeferred.done, + rejectWith: failDeferred.resolveWith, + reject: failDeferred.resolve, + isRejected: failDeferred.isResolved, + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + if ( obj == null ) { + if ( promise ) { + return promise; + } + promise = obj = {}; + } + var i = promiseMethods.length; + while( i-- ) { + obj[ promiseMethods[i] ] = deferred[ promiseMethods[i] ]; + } + return obj; + } + } ); + // Make sure only one callback list will be used + deferred.done( failDeferred.cancel ).fail( deferred.cancel ); + // Unexpose cancel + delete deferred.cancel; + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + return deferred; + }, + + // Deferred helper + when: function( object ) { + var lastIndex = arguments.length, + deferred = lastIndex <= 1 && object && jQuery.isFunction( object.promise ) ? + object : + jQuery.Deferred(), + promise = deferred.promise(); + + if ( lastIndex > 1 ) { + var array = slice.call( arguments, 0 ), + count = lastIndex, + iCallback = function( index ) { + return function( value ) { + array[ index ] = arguments.length > 1 ? slice.call( arguments, 0 ) : value; + if ( !( --count ) ) { + deferred.resolveWith( promise, array ); + } + }; + }; + while( ( lastIndex-- ) ) { + object = array[ lastIndex ]; + if ( object && jQuery.isFunction( object.promise ) ) { + object.promise().then( iCallback(lastIndex), deferred.reject ); + } else { + --count; + } + } + if ( !count ) { + deferred.resolveWith( promise, array ); + } + } else if ( deferred !== object ) { + deferred.resolve( object ); + } + return promise; + }, + + // Use of jQuery.browser is frowned upon. + // More details: http://docs.jquery.com/Utilities/jQuery.browser + uaMatch: function( ua ) { + ua = ua.toLowerCase(); + + var match = rwebkit.exec( ua ) || + ropera.exec( ua ) || + rmsie.exec( ua ) || + ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) || + []; + + return { browser: match[1] || "", version: match[2] || "0" }; + }, + + sub: function() { + function jQuerySubclass( selector, context ) { + return new jQuerySubclass.fn.init( selector, context ); + } + jQuery.extend( true, jQuerySubclass, this ); + jQuerySubclass.superclass = this; + jQuerySubclass.fn = jQuerySubclass.prototype = this(); + jQuerySubclass.fn.constructor = jQuerySubclass; + jQuerySubclass.subclass = this.subclass; + jQuerySubclass.fn.init = function init( selector, context ) { + if ( context && context instanceof jQuery && !(context instanceof jQuerySubclass) ) { + context = jQuerySubclass(context); + } + + return jQuery.fn.init.call( this, selector, context, rootjQuerySubclass ); + }; + jQuerySubclass.fn.init.prototype = jQuerySubclass.fn; + var rootjQuerySubclass = jQuerySubclass(document); + return jQuerySubclass; + }, + + browser: {} +}); + +// Create readyList deferred +readyList = jQuery._Deferred(); + +// Populate the class2type map +jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +}); + +browserMatch = jQuery.uaMatch( userAgent ); +if ( browserMatch.browser ) { + jQuery.browser[ browserMatch.browser ] = true; + jQuery.browser.version = browserMatch.version; +} + +// Deprecated, use jQuery.browser.webkit instead +if ( jQuery.browser.webkit ) { + jQuery.browser.safari = true; +} + +if ( indexOf ) { + jQuery.inArray = function( elem, array ) { + return indexOf.call( array, elem ); + }; +} + +// IE doesn't match non-breaking spaces with \s +if ( rnotwhite.test( "\xA0" ) ) { + trimLeft = /^[\s\xA0]+/; + trimRight = /[\s\xA0]+$/; +} + +// All jQuery objects should point back to these +rootjQuery = jQuery(document); + +// Cleanup functions for the document ready method +if ( document.addEventListener ) { + DOMContentLoaded = function() { + document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + jQuery.ready(); + }; + +} else if ( document.attachEvent ) { + DOMContentLoaded = function() { + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( document.readyState === "complete" ) { + document.detachEvent( "onreadystatechange", DOMContentLoaded ); + jQuery.ready(); + } + }; +} + +// The DOM ready check for Internet Explorer +function doScrollCheck() { + if ( jQuery.isReady ) { + return; + } + + try { + // If IE is used, use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + document.documentElement.doScroll("left"); + } catch(e) { + setTimeout( doScrollCheck, 1 ); + return; + } + + // and execute any waiting functions + jQuery.ready(); +} + +// Expose jQuery to the global object +return jQuery; + +})(); + + +(function() { + + jQuery.support = {}; + + var div = document.createElement("div"); + + div.style.display = "none"; + div.innerHTML = "
    a"; + + var all = div.getElementsByTagName("*"), + a = div.getElementsByTagName("a")[0], + select = document.createElement("select"), + opt = select.appendChild( document.createElement("option") ), + input = div.getElementsByTagName("input")[0]; + + // Can't get basic test support + if ( !all || !all.length || !a ) { + return; + } + + jQuery.support = { + // IE strips leading whitespace when .innerHTML is used + leadingWhitespace: div.firstChild.nodeType === 3, + + // Make sure that tbody elements aren't automatically inserted + // IE will insert them into empty tables + tbody: !div.getElementsByTagName("tbody").length, + + // Make sure that link elements get serialized correctly by innerHTML + // This requires a wrapper element in IE + htmlSerialize: !!div.getElementsByTagName("link").length, + + // Get the style information from getAttribute + // (IE uses .cssText insted) + style: /red/.test( a.getAttribute("style") ), + + // Make sure that URLs aren't manipulated + // (IE normalizes it by default) + hrefNormalized: a.getAttribute("href") === "/a", + + // Make sure that element opacity exists + // (IE uses filter instead) + // Use a regex to work around a WebKit issue. See #5145 + opacity: /^0.55$/.test( a.style.opacity ), + + // Verify style float existence + // (IE uses styleFloat instead of cssFloat) + cssFloat: !!a.style.cssFloat, + + // Make sure that if no value is specified for a checkbox + // that it defaults to "on". + // (WebKit defaults to "" instead) + checkOn: input.value === "on", + + // Make sure that a selected-by-default option has a working selected property. + // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) + optSelected: opt.selected, + + // Will be defined later + deleteExpando: true, + optDisabled: false, + checkClone: false, + noCloneEvent: true, + noCloneChecked: true, + boxModel: null, + inlineBlockNeedsLayout: false, + shrinkWrapBlocks: false, + reliableHiddenOffsets: true + }; + + input.checked = true; + jQuery.support.noCloneChecked = input.cloneNode( true ).checked; + + // Make sure that the options inside disabled selects aren't marked as disabled + // (WebKit marks them as diabled) + select.disabled = true; + jQuery.support.optDisabled = !opt.disabled; + + var _scriptEval = null; + jQuery.support.scriptEval = function() { + if ( _scriptEval === null ) { + var root = document.documentElement, + script = document.createElement("script"), + id = "script" + jQuery.now(); + + try { + script.appendChild( document.createTextNode( "window." + id + "=1;" ) ); + } catch(e) {} + + root.insertBefore( script, root.firstChild ); + + // Make sure that the execution of code works by injecting a script + // tag with appendChild/createTextNode + // (IE doesn't support this, fails, and uses .text instead) + if ( window[ id ] ) { + _scriptEval = true; + delete window[ id ]; + } else { + _scriptEval = false; + } + + root.removeChild( script ); + // release memory in IE + root = script = id = null; + } + + return _scriptEval; + }; + + // Test to see if it's possible to delete an expando from an element + // Fails in Internet Explorer + try { + delete div.test; + + } catch(e) { + jQuery.support.deleteExpando = false; + } + + if ( !div.addEventListener && div.attachEvent && div.fireEvent ) { + div.attachEvent("onclick", function click() { + // Cloning a node shouldn't copy over any + // bound event handlers (IE does this) + jQuery.support.noCloneEvent = false; + div.detachEvent("onclick", click); + }); + div.cloneNode(true).fireEvent("onclick"); + } + + div = document.createElement("div"); + div.innerHTML = ""; + + var fragment = document.createDocumentFragment(); + fragment.appendChild( div.firstChild ); + + // WebKit doesn't clone checked state correctly in fragments + jQuery.support.checkClone = fragment.cloneNode(true).cloneNode(true).lastChild.checked; + + // Figure out if the W3C box model works as expected + // document.body must exist before we can do this + jQuery(function() { + var div = document.createElement("div"), + body = document.getElementsByTagName("body")[0]; + + // Frameset documents with no body should not run this code + if ( !body ) { + return; + } + + div.style.width = div.style.paddingLeft = "1px"; + body.appendChild( div ); + jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2; + + if ( "zoom" in div.style ) { + // Check if natively block-level elements act like inline-block + // elements when setting their display to 'inline' and giving + // them layout + // (IE < 8 does this) + div.style.display = "inline"; + div.style.zoom = 1; + jQuery.support.inlineBlockNeedsLayout = div.offsetWidth === 2; + + // Check if elements with layout shrink-wrap their children + // (IE 6 does this) + div.style.display = ""; + div.innerHTML = "

    j<5MTL|k3 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 LAk4sja0dPXgZTvP diff --git a/CharityPortal/DataContext/DataContext.dbproj b/CharityPortal/DataContext/DataContext.dbproj deleted file mode 100644 index d68b144..0000000 --- a/CharityPortal/DataContext/DataContext.dbproj +++ /dev/null @@ -1,232 +0,0 @@ - - - - Debug - DataContext - 2.0 - 4.0 - {67cbc824-a49e-4e9b-a947-360f3dfe65c3} - Microsoft.Data.Schema.Sql.Sql100DatabaseSchemaProvider - Properties - False - Database - - - False - 1033, CI - BySchema - True - True - Properties\Database.sqlsettings - True - DataContext - dbo - 4.0 - - - .\sql\release\ - $(MSBuildProjectName).sql - - - - - False - - - Properties\Database.sqldeployment - Properties\Database.sqlcmdvars - False - - - .\sql\debug\ - $(MSBuildProjectName).sql - - - - - False - - - Properties\Database.sqldeployment - Properties\Database.sqlcmdvars - False - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Permissions - - - Code - - - Code - - - - - - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - Code - True - - - - - NotInBuild - - - \ No newline at end of file diff --git a/CharityPortal/DataContext/DataContext.dbproj.schemaview b/CharityPortal/DataContext/DataContext.dbproj.schemaview deleted file mode 100644 index fa23ddc..0000000 --- a/CharityPortal/DataContext/DataContext.dbproj.schemaview +++ /dev/null @@ -1,8 +0,0 @@ - - - - 1 - 0 - 0 - - \ No newline at end of file diff --git a/CharityPortal/DataContext/DataContext.dbproj.user b/CharityPortal/DataContext/DataContext.dbproj.user deleted file mode 100644 index 695b5c7..0000000 --- a/CharityPortal/DataContext/DataContext.dbproj.user +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/CharityPortal/DataContext/Properties/Database.sqlcmdvars b/CharityPortal/DataContext/Properties/Database.sqlcmdvars deleted file mode 100644 index edbb9fe..0000000 --- a/CharityPortal/DataContext/Properties/Database.sqlcmdvars +++ /dev/null @@ -1,6 +0,0 @@ - - - 1.0 - - - \ No newline at end of file diff --git a/CharityPortal/DataContext/Properties/Database.sqldeployment b/CharityPortal/DataContext/Properties/Database.sqldeployment deleted file mode 100644 index 7abc577..0000000 --- a/CharityPortal/DataContext/Properties/Database.sqldeployment +++ /dev/null @@ -1,14 +0,0 @@ - - - 1.0 - - False - True - True - UseSourceModelCollation - False - False - False - False - - \ No newline at end of file diff --git a/CharityPortal/DataContext/Properties/Database.sqlpermissions b/CharityPortal/DataContext/Properties/Database.sqlpermissions deleted file mode 100644 index 98e869e..0000000 --- a/CharityPortal/DataContext/Properties/Database.sqlpermissions +++ /dev/null @@ -1,44 +0,0 @@ - - - - \ No newline at end of file diff --git a/CharityPortal/DataContext/Properties/Database.sqlsettings b/CharityPortal/DataContext/Properties/Database.sqlsettings deleted file mode 100644 index a6b27b3..0000000 --- a/CharityPortal/DataContext/Properties/Database.sqlsettings +++ /dev/null @@ -1,52 +0,0 @@ - - - 1.0 - - - SQL_Latin1_General_CP1_CI_AS - True - True - True - True - True - True - True - False - False - ONLINE - READ_WRITE - False - LOCAL - False - True - False - True - False - MULTI_USER - FULL - True - False - PRIMARY - - - False - False - NONE - DisableBroker - False - SIMPLE - False - False - True - False - - - False - True - 2 - Days - False - False - - - diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_OrganizationProject.index.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_OrganizationProject.index.sql deleted file mode 100644 index 274efea..0000000 --- a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_OrganizationProject.index.sql +++ /dev/null @@ -1,6 +0,0 @@ --- Creating non-clustered index for FOREIGN KEY 'FK_OrganizationProject' -CREATE INDEX [IX_FK_OrganizationProject] -ON [dbo].[Projects] - ([AdminOrganization_Id]); - - diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_OrganizationResource.index.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_OrganizationResource.index.sql deleted file mode 100644 index ee8435a..0000000 --- a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_OrganizationResource.index.sql +++ /dev/null @@ -1,6 +0,0 @@ --- Creating non-clustered index for FOREIGN KEY 'FK_OrganizationResource' -CREATE INDEX [IX_FK_OrganizationResource] -ON [dbo].[Resources] - ([Organization_Id]); - - diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_ProjectResource.index.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_ProjectResource.index.sql deleted file mode 100644 index 17a2456..0000000 --- a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_ProjectResource.index.sql +++ /dev/null @@ -1,6 +0,0 @@ --- Creating non-clustered index for FOREIGN KEY 'FK_ProjectResource' -CREATE INDEX [IX_FK_ProjectResource] -ON [dbo].[Resources] - ([Project_Id]); - - diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_ResourceResource.index.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_ResourceResource.index.sql deleted file mode 100644 index d4e4ac7..0000000 --- a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_ResourceResource.index.sql +++ /dev/null @@ -1,6 +0,0 @@ --- Creating non-clustered index for FOREIGN KEY 'FK_ResourceResource' -CREATE INDEX [IX_FK_ResourceResource] -ON [dbo].[Resources] - ([Fulfills_Id]); - - diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_TagResource_Resource.index.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_TagResource_Resource.index.sql deleted file mode 100644 index 3cb26e7..0000000 --- a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Indexes/IX_FK_TagResource_Resource.index.sql +++ /dev/null @@ -1,6 +0,0 @@ --- Creating non-clustered index for FOREIGN KEY 'FK_TagResource_Resource' -CREATE INDEX [IX_FK_TagResource_Resource] -ON [dbo].[TagResource] - ([Resources_Id]); - - diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_OrganizationProject.fkey.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_OrganizationProject.fkey.sql deleted file mode 100644 index 041ee2a..0000000 --- a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_OrganizationProject.fkey.sql +++ /dev/null @@ -1,13 +0,0 @@ --- -------------------------------------------------- --- Creating all FOREIGN KEY constraints --- -------------------------------------------------- - --- Creating foreign key on [AdminOrganization_Id] in table 'Projects' -ALTER TABLE [dbo].[Projects] -ADD CONSTRAINT [FK_OrganizationProject] - FOREIGN KEY ([AdminOrganization_Id]) - REFERENCES [dbo].[Organizations] - ([Id]) - ON DELETE NO ACTION ON UPDATE NO ACTION; - - diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_OrganizationResource.fkey.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_OrganizationResource.fkey.sql deleted file mode 100644 index 8f8323d..0000000 --- a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_OrganizationResource.fkey.sql +++ /dev/null @@ -1,9 +0,0 @@ --- Creating foreign key on [Organization_Id] in table 'Resources' -ALTER TABLE [dbo].[Resources] -ADD CONSTRAINT [FK_OrganizationResource] - FOREIGN KEY ([Organization_Id]) - REFERENCES [dbo].[Organizations] - ([Id]) - ON DELETE NO ACTION ON UPDATE NO ACTION; - - diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_ProjectResource.fkey.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_ProjectResource.fkey.sql deleted file mode 100644 index 31eb998..0000000 --- a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_ProjectResource.fkey.sql +++ /dev/null @@ -1,9 +0,0 @@ --- Creating foreign key on [Project_Id] in table 'Resources' -ALTER TABLE [dbo].[Resources] -ADD CONSTRAINT [FK_ProjectResource] - FOREIGN KEY ([Project_Id]) - REFERENCES [dbo].[Projects] - ([Id]) - ON DELETE NO ACTION ON UPDATE NO ACTION; - - diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_ResourceResource.fkey.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_ResourceResource.fkey.sql deleted file mode 100644 index 134c468..0000000 --- a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_ResourceResource.fkey.sql +++ /dev/null @@ -1,9 +0,0 @@ --- Creating foreign key on [Fulfills_Id] in table 'Resources' -ALTER TABLE [dbo].[Resources] -ADD CONSTRAINT [FK_ResourceResource] - FOREIGN KEY ([Fulfills_Id]) - REFERENCES [dbo].[Resources] - ([Id]) - ON DELETE NO ACTION ON UPDATE NO ACTION; - - diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_TagResource_Resource.fkey.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_TagResource_Resource.fkey.sql deleted file mode 100644 index 19df02f..0000000 --- a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_TagResource_Resource.fkey.sql +++ /dev/null @@ -1,9 +0,0 @@ --- Creating foreign key on [Resources_Id] in table 'TagResource' -ALTER TABLE [dbo].[TagResource] -ADD CONSTRAINT [FK_TagResource_Resource] - FOREIGN KEY ([Resources_Id]) - REFERENCES [dbo].[Resources] - ([Id]) - ON DELETE NO ACTION ON UPDATE NO ACTION; - - diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_TagResource_Tag.fkey.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_TagResource_Tag.fkey.sql deleted file mode 100644 index a516451..0000000 --- a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/FK_TagResource_Tag.fkey.sql +++ /dev/null @@ -1,9 +0,0 @@ --- Creating foreign key on [Tag_Id] in table 'TagResource' -ALTER TABLE [dbo].[TagResource] -ADD CONSTRAINT [FK_TagResource_Tag] - FOREIGN KEY ([Tag_Id]) - REFERENCES [dbo].[Tags] - ([Id]) - ON DELETE NO ACTION ON UPDATE NO ACTION; - - diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Organizations.pkey.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Organizations.pkey.sql deleted file mode 100644 index 8c29d32..0000000 --- a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Organizations.pkey.sql +++ /dev/null @@ -1,6 +0,0 @@ --- Creating primary key on [Id] in table 'Organizations' -ALTER TABLE [dbo].[Organizations] -ADD CONSTRAINT [PK_Organizations] - PRIMARY KEY CLUSTERED ([Id] ASC); - - diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Projects.pkey.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Projects.pkey.sql deleted file mode 100644 index 4103171..0000000 --- a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Projects.pkey.sql +++ /dev/null @@ -1,10 +0,0 @@ --- -------------------------------------------------- --- Creating all PRIMARY KEY constraints --- -------------------------------------------------- - --- Creating primary key on [Id] in table 'Projects' -ALTER TABLE [dbo].[Projects] -ADD CONSTRAINT [PK_Projects] - PRIMARY KEY CLUSTERED ([Id] ASC); - - diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Resources.pkey.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Resources.pkey.sql deleted file mode 100644 index aead649..0000000 --- a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Resources.pkey.sql +++ /dev/null @@ -1,6 +0,0 @@ --- Creating primary key on [Id] in table 'Resources' -ALTER TABLE [dbo].[Resources] -ADD CONSTRAINT [PK_Resources] - PRIMARY KEY CLUSTERED ([Id] ASC); - - diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_TagResource.pkey.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_TagResource.pkey.sql deleted file mode 100644 index 4cb7bb9..0000000 --- a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_TagResource.pkey.sql +++ /dev/null @@ -1,6 +0,0 @@ --- Creating primary key on [Tag_Id], [Resources_Id] in table 'TagResource' -ALTER TABLE [dbo].[TagResource] -ADD CONSTRAINT [PK_TagResource] - PRIMARY KEY NONCLUSTERED ([Tag_Id], [Resources_Id] ASC); - - diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Tags.pkey.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Tags.pkey.sql deleted file mode 100644 index 23718ba..0000000 --- a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Keys/PK_Tags.pkey.sql +++ /dev/null @@ -1,6 +0,0 @@ --- Creating primary key on [Id] in table 'Tags' -ALTER TABLE [dbo].[Tags] -ADD CONSTRAINT [PK_Tags] - PRIMARY KEY CLUSTERED ([Id] ASC); - - diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Organizations.table.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Organizations.table.sql deleted file mode 100644 index 4d3ff3e..0000000 --- a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Organizations.table.sql +++ /dev/null @@ -1,8 +0,0 @@ --- Creating table 'Organizations' -CREATE TABLE [dbo].[Organizations] ( - [Id] int IDENTITY(1,1) NOT NULL, - [Name] nvarchar(max) NOT NULL, - [ContactEmail] nvarchar(max) NOT NULL -); - - diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Projects.table.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Projects.table.sql deleted file mode 100644 index 59a5cd7..0000000 --- a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Projects.table.sql +++ /dev/null @@ -1,17 +0,0 @@ --- -------------------------------------------------- --- Creating all tables --- -------------------------------------------------- - --- Creating table 'Projects' -CREATE TABLE [dbo].[Projects] ( - [Id] int IDENTITY(1,1) NOT NULL, - [Name] nvarchar(max) NOT NULL, - [Description] nvarchar(max) NOT NULL, - [IsActive] bit NOT NULL, - [Location_Longitude] float NOT NULL, - [Location_Latitude] float NOT NULL, - [Location_Address] nvarchar(max) NOT NULL, - [AdminOrganization_Id] int NOT NULL -); - - diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Resources.table.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Resources.table.sql deleted file mode 100644 index 02c6375..0000000 --- a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Resources.table.sql +++ /dev/null @@ -1,16 +0,0 @@ --- Creating table 'Resources' -CREATE TABLE [dbo].[Resources] ( - [Id] bigint IDENTITY(1,1) NOT NULL, - [Title] nvarchar(max) NOT NULL, - [Description] nvarchar(max) NOT NULL, - [Quantity] float NOT NULL, - [QuantityUnits] nvarchar(max) NOT NULL, - [Location_Longitude] float NOT NULL, - [Location_Latitude] float NOT NULL, - [Location_Address] nvarchar(max) NOT NULL, - [Project_Id] int NOT NULL, - [Organization_Id] int NOT NULL, - [Fulfills_Id] bigint NOT NULL -); - - diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/TagResource.table.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/TagResource.table.sql deleted file mode 100644 index 736be08..0000000 --- a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/TagResource.table.sql +++ /dev/null @@ -1,7 +0,0 @@ --- Creating table 'TagResource' -CREATE TABLE [dbo].[TagResource] ( - [Tag_Id] int NOT NULL, - [Resources_Id] bigint NOT NULL -); - - diff --git a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Tags.table.sql b/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Tags.table.sql deleted file mode 100644 index e29021a..0000000 --- a/CharityPortal/DataContext/Schema Objects/Schemas/dbo/Tables/Tags.table.sql +++ /dev/null @@ -1,7 +0,0 @@ --- Creating table 'Tags' -CREATE TABLE [dbo].[Tags] ( - [Id] int IDENTITY(1,1) NOT NULL, - [Name] nvarchar(max) NOT NULL -); - - diff --git a/CharityPortal/DataContext/Scripts/Post-Deployment/Script.PostDeployment.sql b/CharityPortal/DataContext/Scripts/Post-Deployment/Script.PostDeployment.sql deleted file mode 100644 index 37db4f5..0000000 --- a/CharityPortal/DataContext/Scripts/Post-Deployment/Script.PostDeployment.sql +++ /dev/null @@ -1,11 +0,0 @@ -/* -Post-Deployment Script Template --------------------------------------------------------------------------------------- - This file contains SQL statements that will be appended to the build script. - Use SQLCMD syntax to include a file in the post-deployment script. - Example: :r .\myfile.sql - Use SQLCMD syntax to reference a variable in the post-deployment script. - Example: :setvar TableName MyTable - SELECT * FROM [$(TableName)] --------------------------------------------------------------------------------------- -*/ \ No newline at end of file diff --git a/CharityPortal/DataContext/Scripts/Pre-Deployment/Script.PreDeployment.sql b/CharityPortal/DataContext/Scripts/Pre-Deployment/Script.PreDeployment.sql deleted file mode 100644 index 0c9f8d6..0000000 --- a/CharityPortal/DataContext/Scripts/Pre-Deployment/Script.PreDeployment.sql +++ /dev/null @@ -1,11 +0,0 @@ -/* - Pre-Deployment Script Template --------------------------------------------------------------------------------------- - This file contains SQL statements that will be executed before the build script. - Use SQLCMD syntax to include a file in the pre-deployment script. - Example: :r .\myfile.sql - Use SQLCMD syntax to reference a variable in the pre-deployment script. - Example: :setvar TableName MyTable - SELECT * FROM [$(TableName)] --------------------------------------------------------------------------------------- -*/ \ No newline at end of file diff --git a/CharityPortal/DataContext/Scripts/ScriptsIgnoredOnImport.sql b/CharityPortal/DataContext/Scripts/ScriptsIgnoredOnImport.sql deleted file mode 100644 index 01017e0..0000000 --- a/CharityPortal/DataContext/Scripts/ScriptsIgnoredOnImport.sql +++ /dev/null @@ -1,61 +0,0 @@ - --- -------------------------------------------------- --- Entity Designer DDL Script for SQL Server 2005, 2008, and Azure --- -------------------------------------------------- --- Date Created: 07/02/2011 16:21:29 --- Generated from EDMX file: D:\trev\Dev\dev4good\CharityPortal\CharityPortal.Data\DataContext.edmx --- -------------------------------------------------- - -SET QUOTED_IDENTIFIER OFF; -GO -USE [charityportal]; -GO -IF SCHEMA_ID(N'dbo') IS NULL EXECUTE(N'CREATE SCHEMA [dbo]'); -GO --- -------------------------------------------------- --- Dropping existing FOREIGN KEY constraints --- -------------------------------------------------- - -IF OBJECT_ID(N'[dbo].[FK_OrganizationProject]', 'F') IS NOT NULL - ALTER TABLE [dbo].[Projects] DROP CONSTRAINT [FK_OrganizationProject]; -GO -IF OBJECT_ID(N'[dbo].[FK_ProjectResource]', 'F') IS NOT NULL - ALTER TABLE [dbo].[Resources] DROP CONSTRAINT [FK_ProjectResource]; -GO -IF OBJECT_ID(N'[dbo].[FK_OrganizationResource]', 'F') IS NOT NULL - ALTER TABLE [dbo].[Resources] DROP CONSTRAINT [FK_OrganizationResource]; -GO -IF OBJECT_ID(N'[dbo].[FK_ResourceResource]', 'F') IS NOT NULL - ALTER TABLE [dbo].[Resources] DROP CONSTRAINT [FK_ResourceResource]; -GO -IF OBJECT_ID(N'[dbo].[FK_TagResource_Tag]', 'F') IS NOT NULL - ALTER TABLE [dbo].[TagResource] DROP CONSTRAINT [FK_TagResource_Tag]; -GO -IF OBJECT_ID(N'[dbo].[FK_TagResource_Resource]', 'F') IS NOT NULL - ALTER TABLE [dbo].[TagResource] DROP CONSTRAINT [FK_TagResource_Resource]; -GO --- -------------------------------------------------- --- Dropping existing tables --- -------------------------------------------------- - -IF OBJECT_ID(N'[dbo].[Projects]', 'U') IS NOT NULL - DROP TABLE [dbo].[Projects]; -GO -IF OBJECT_ID(N'[dbo].[Resources]', 'U') IS NOT NULL - DROP TABLE [dbo].[Resources]; -GO -IF OBJECT_ID(N'[dbo].[Organizations]', 'U') IS NOT NULL - DROP TABLE [dbo].[Organizations]; -GO -IF OBJECT_ID(N'[dbo].[Tags]', 'U') IS NOT NULL - DROP TABLE [dbo].[Tags]; -GO -IF OBJECT_ID(N'[dbo].[TagResource]', 'U') IS NOT NULL - DROP TABLE [dbo].[TagResource]; -GO - --- -------------------------------------------------- --- Script has ended --- -------------------------------------------------- - -GO diff --git a/CharityPortal/DataContext/sql/debug/DataContext.dbschema b/CharityPortal/DataContext/sql/debug/DataContext.dbschema deleted file mode 100644 index 7813f19..0000000 --- a/CharityPortal/DataContext/sql/debug/DataContext.dbschema +++ /dev/null @@ -1,843 +0,0 @@ - - -

    v(#I+E$zvvQCNcbgTvU>6 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 YH)Gd&j2%Zd8wcNy;KaU7ZoQ29FL={RuK)l5 literal 0 HcmV?d00001 diff --git a/CharityPortal/packages/jQuery.1.5.1/Content/Scripts/jquery-1.5.1.js b/CharityPortal/packages/jQuery.1.5.1/Content/Scripts/jquery-1.5.1.js new file mode 100644 index 0000000..5948d8c --- /dev/null +++ b/CharityPortal/packages/jQuery.1.5.1/Content/Scripts/jquery-1.5.1.js @@ -0,0 +1,8325 @@ +/*! +* Note: While Microsoft is not the author of this file, Microsoft is +* offering you a license subject to the terms of the Microsoft Software +* License Terms for Microsoft ASP.NET Model View Controller 3. +* Microsoft reserves all other rights. The notices below are provided +* for informational purposes only and are not the license terms under +* which Microsoft distributed this file. +* +* jQuery JavaScript Library v1.5.1 +* http://jquery.com/ +* Copyright 2011, John Resig +* +* Includes Sizzle.js +* http://sizzlejs.com/ +* Copyright 2011, The Dojo Foundation +* +* Date: Thu Nov 11 19:04:53 2010 -0500 +*/ +(function( window, undefined ) { + +// Use the correct document accordingly with window argument (sandbox) +var document = window.document; +var jQuery = (function() { + +// Define a local copy of jQuery +var jQuery = function( selector, context ) { + // The jQuery object is actually just the init constructor 'enhanced' + return new jQuery.fn.init( selector, context, rootjQuery ); + }, + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$, + + // A central reference to the root jQuery(document) + rootjQuery, + + // A simple way to check for HTML strings or ID strings + // (both of which we optimize for) + quickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/, + + // Check if a string has a non-whitespace character in it + rnotwhite = /\S/, + + // Used for trimming whitespace + trimLeft = /^\s+/, + trimRight = /\s+$/, + + // Check for digits + rdigit = /\d/, + + // Match a standalone tag + rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, + + // JSON RegExp + rvalidchars = /^[\],:{}\s]*$/, + rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, + rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, + rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, + + // Useragent RegExp + rwebkit = /(webkit)[ \/]([\w.]+)/, + ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/, + rmsie = /(msie) ([\w.]+)/, + rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/, + + // Keep a UserAgent string for use with jQuery.browser + userAgent = navigator.userAgent, + + // For matching the engine and version of the browser + browserMatch, + + // Has the ready events already been bound? + readyBound = false, + + // The deferred used on DOM ready + readyList, + + // Promise methods + promiseMethods = "then done fail isResolved isRejected promise".split( " " ), + + // The ready event handler + DOMContentLoaded, + + // Save a reference to some core methods + toString = Object.prototype.toString, + hasOwn = Object.prototype.hasOwnProperty, + push = Array.prototype.push, + slice = Array.prototype.slice, + trim = String.prototype.trim, + indexOf = Array.prototype.indexOf, + + // [[Class]] -> type pairs + class2type = {}; + +jQuery.fn = jQuery.prototype = { + constructor: jQuery, + init: function( selector, context, rootjQuery ) { + var match, elem, ret, doc; + + // Handle $(""), $(null), or $(undefined) + if ( !selector ) { + return this; + } + + // Handle $(DOMElement) + if ( selector.nodeType ) { + this.context = this[0] = selector; + this.length = 1; + return this; + } + + // The body element only exists once, optimize finding it + if ( selector === "body" && !context && document.body ) { + this.context = document; + this[0] = document.body; + this.selector = "body"; + this.length = 1; + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + // Are we dealing with HTML string or an ID? + match = quickExpr.exec( selector ); + + // Verify a match, and that no context was specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) { + context = context instanceof jQuery ? context[0] : context; + doc = (context ? context.ownerDocument || context : document); + + // If a single string is passed in and it's a single tag + // just do a createElement and skip the rest + ret = rsingleTag.exec( selector ); + + if ( ret ) { + if ( jQuery.isPlainObject( context ) ) { + selector = [ document.createElement( ret[1] ) ]; + jQuery.fn.attr.call( selector, context, true ); + + } else { + selector = [ doc.createElement( ret[1] ) ]; + } + + } else { + ret = jQuery.buildFragment( [ match[1] ], [ doc ] ); + selector = (ret.cacheable ? jQuery.clone(ret.fragment) : ret.fragment).childNodes; + } + + return jQuery.merge( this, selector ); + + // HANDLE: $("#id") + } else { + elem = document.getElementById( match[2] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id !== match[2] ) { + return rootjQuery.find( selector ); + } + + // Otherwise, we inject the element directly into the jQuery object + this.length = 1; + this[0] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return (context || rootjQuery).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return rootjQuery.ready( selector ); + } + + if (selector.selector !== undefined) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }, + + // Start with an empty selector + selector: "", + + // The current version of jQuery being used + jquery: "1.5.1", + + // The default length of a jQuery object is 0 + length: 0, + + // The number of elements contained in the matched element set + size: function() { + return this.length; + }, + + toArray: function() { + return slice.call( this, 0 ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num == null ? + + // Return a 'clean' array + this.toArray() : + + // Return just the object + ( num < 0 ? this[ this.length + num ] : this[ num ] ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems, name, selector ) { + // Build a new jQuery matched element set + var ret = this.constructor(); + + if ( jQuery.isArray( elems ) ) { + push.apply( ret, elems ); + + } else { + jQuery.merge( ret, elems ); + } + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + ret.context = this.context; + + if ( name === "find" ) { + ret.selector = this.selector + (this.selector ? " " : "") + selector; + } else if ( name ) { + ret.selector = this.selector + "." + name + "(" + selector + ")"; + } + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + // (You can seed the arguments with an array of args, but this is + // only used internally.) + each: function( callback, args ) { + return jQuery.each( this, callback, args ); + }, + + ready: function( fn ) { + // Attach the listeners + jQuery.bindReady(); + + // Add the callback + readyList.done( fn ); + + return this; + }, + + eq: function( i ) { + return i === -1 ? + this.slice( i ) : + this.slice( i, +i + 1 ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ), + "slice", slice.call(arguments).join(",") ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map(this, function( elem, i ) { + return callback.call( elem, i, elem ); + })); + }, + + end: function() { + return this.prevObject || this.constructor(null); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: [].sort, + splice: [].splice +}; + +// Give the init function the jQuery prototype for later instantiation +jQuery.fn.init.prototype = jQuery.fn; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + target = arguments[1] || {}; + // skip the boolean and the target + i = 2; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction(target) ) { + target = {}; + } + + // extend jQuery itself if only one argument is passed + if ( length === i ) { + target = this; + --i; + } + + for ( ; i < length; i++ ) { + // Only deal with non-null/undefined values + if ( (options = arguments[ i ]) != null ) { + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray(src) ? src : []; + + } else { + clone = src && jQuery.isPlainObject(src) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend({ + noConflict: function( deep ) { + window.$ = _$; + + if ( deep ) { + window.jQuery = _jQuery; + } + + return jQuery; + }, + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + // A third-party is pushing the ready event forwards + if ( wait === true ) { + jQuery.readyWait--; + } + + // Make sure that the DOM is not already loaded + if ( !jQuery.readyWait || (wait !== true && !jQuery.isReady) ) { + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( !document.body ) { + return setTimeout( jQuery.ready, 1 ); + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + + // Trigger any bound ready events + if ( jQuery.fn.trigger ) { + jQuery( document ).trigger( "ready" ).unbind( "ready" ); + } + } + }, + + bindReady: function() { + if ( readyBound ) { + return; + } + + readyBound = true; + + // Catch cases where $(document).ready() is called after the + // browser event has already occurred. + if ( document.readyState === "complete" ) { + // Handle it asynchronously to allow scripts the opportunity to delay ready + return setTimeout( jQuery.ready, 1 ); + } + + // Mozilla, Opera and webkit nightlies currently support this event + if ( document.addEventListener ) { + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", jQuery.ready, false ); + + // If IE event model is used + } else if ( document.attachEvent ) { + // ensure firing before onload, + // maybe late but safe also for iframes + document.attachEvent("onreadystatechange", DOMContentLoaded); + + // A fallback to window.onload, that will always work + window.attachEvent( "onload", jQuery.ready ); + + // If IE and not a frame + // continually check to see if the document is ready + var toplevel = false; + + try { + toplevel = window.frameElement == null; + } catch(e) {} + + if ( document.documentElement.doScroll && toplevel ) { + doScrollCheck(); + } + } + }, + + // See test/unit/core.js for details concerning isFunction. + // Since version 1.3, DOM methods and functions like alert + // aren't supported. They return false on IE (#2968). + isFunction: function( obj ) { + return jQuery.type(obj) === "function"; + }, + + isArray: Array.isArray || function( obj ) { + return jQuery.type(obj) === "array"; + }, + + // A crude way of determining if an object is a window + isWindow: function( obj ) { + return obj && typeof obj === "object" && "setInterval" in obj; + }, + + isNaN: function( obj ) { + return obj == null || !rdigit.test( obj ) || isNaN( obj ); + }, + + type: function( obj ) { + return obj == null ? + String( obj ) : + class2type[ toString.call(obj) ] || "object"; + }, + + isPlainObject: function( obj ) { + // Must be an Object. + // Because of IE, we also have to check the presence of the constructor property. + // Make sure that DOM nodes and window objects don't pass through, as well + if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { + return false; + } + + // Not own constructor property must be Object + if ( obj.constructor && + !hasOwn.call(obj, "constructor") && + !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { + return false; + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + + var key; + for ( key in obj ) {} + + return key === undefined || hasOwn.call( obj, key ); + }, + + isEmptyObject: function( obj ) { + for ( var name in obj ) { + return false; + } + return true; + }, + + error: function( msg ) { + throw msg; + }, + + parseJSON: function( data ) { + if ( typeof data !== "string" || !data ) { + return null; + } + + // Make sure leading/trailing whitespace is removed (IE can't handle it) + data = jQuery.trim( data ); + + // Make sure the incoming data is actual JSON + // Logic borrowed from http://json.org/json2.js + if ( rvalidchars.test(data.replace(rvalidescape, "@") + .replace(rvalidtokens, "]") + .replace(rvalidbraces, "")) ) { + + // Try to use the native JSON parser first + return window.JSON && window.JSON.parse ? + window.JSON.parse( data ) : + (new Function("return " + data))(); + + } else { + jQuery.error( "Invalid JSON: " + data ); + } + }, + + // Cross-browser xml parsing + // (xml & tmp used internally) + parseXML: function( data , xml , tmp ) { + + if ( window.DOMParser ) { // Standard + tmp = new DOMParser(); + xml = tmp.parseFromString( data , "text/xml" ); + } else { // IE + xml = new ActiveXObject( "Microsoft.XMLDOM" ); + xml.async = "false"; + xml.loadXML( data ); + } + + tmp = xml.documentElement; + + if ( ! tmp || ! tmp.nodeName || tmp.nodeName === "parsererror" ) { + jQuery.error( "Invalid XML: " + data ); + } + + return xml; + }, + + noop: function() {}, + + // Evalulates a script in a global context + globalEval: function( data ) { + if ( data && rnotwhite.test(data) ) { + // Inspired by code by Andrea Giammarchi + // http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html + var head = document.head || document.getElementsByTagName( "head" )[0] || document.documentElement, + script = document.createElement( "script" ); + + if ( jQuery.support.scriptEval() ) { + script.appendChild( document.createTextNode( data ) ); + } else { + script.text = data; + } + + // Use insertBefore instead of appendChild to circumvent an IE6 bug. + // This arises when a base node is used (#2709). + head.insertBefore( script, head.firstChild ); + head.removeChild( script ); + } + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase(); + }, + + // args is for internal usage only + each: function( object, callback, args ) { + var name, i = 0, + length = object.length, + isObj = length === undefined || jQuery.isFunction(object); + + if ( args ) { + if ( isObj ) { + for ( name in object ) { + if ( callback.apply( object[ name ], args ) === false ) { + break; + } + } + } else { + for ( ; i < length; ) { + if ( callback.apply( object[ i++ ], args ) === false ) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if ( isObj ) { + for ( name in object ) { + if ( callback.call( object[ name ], name, object[ name ] ) === false ) { + break; + } + } + } else { + for ( var value = object[0]; + i < length && callback.call( value, i, value ) !== false; value = object[++i] ) {} + } + } + + return object; + }, + + // Use native String.trim function wherever possible + trim: trim ? + function( text ) { + return text == null ? + "" : + trim.call( text ); + } : + + // Otherwise use our own trimming functionality + function( text ) { + return text == null ? + "" : + text.toString().replace( trimLeft, "" ).replace( trimRight, "" ); + }, + + // results is for internal usage only + makeArray: function( array, results ) { + var ret = results || []; + + if ( array != null ) { + // The window, strings (and functions) also have 'length' + // The extra typeof function check is to prevent crashes + // in Safari 2 (See: #3039) + // Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930 + var type = jQuery.type(array); + + if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) { + push.call( ret, array ); + } else { + jQuery.merge( ret, array ); + } + } + + return ret; + }, + + inArray: function( elem, array ) { + if ( array.indexOf ) { + return array.indexOf( elem ); + } + + for ( var i = 0, length = array.length; i < length; i++ ) { + if ( array[ i ] === elem ) { + return i; + } + } + + return -1; + }, + + merge: function( first, second ) { + var i = first.length, + j = 0; + + if ( typeof second.length === "number" ) { + for ( var l = second.length; j < l; j++ ) { + first[ i++ ] = second[ j ]; + } + + } else { + while ( second[j] !== undefined ) { + first[ i++ ] = second[ j++ ]; + } + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, inv ) { + var ret = [], retVal; + inv = !!inv; + + // Go through the array, only saving the items + // that pass the validator function + for ( var i = 0, length = elems.length; i < length; i++ ) { + retVal = !!callback( elems[ i ], i ); + if ( inv !== retVal ) { + ret.push( elems[ i ] ); + } + } + + return ret; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var ret = [], value; + + // Go through the array, translating each of the items to their + // new value (or values). + for ( var i = 0, length = elems.length; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + + // Flatten any nested arrays + return ret.concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + proxy: function( fn, proxy, thisObject ) { + if ( arguments.length === 2 ) { + if ( typeof proxy === "string" ) { + thisObject = fn; + fn = thisObject[ proxy ]; + proxy = undefined; + + } else if ( proxy && !jQuery.isFunction( proxy ) ) { + thisObject = proxy; + proxy = undefined; + } + } + + if ( !proxy && fn ) { + proxy = function() { + return fn.apply( thisObject || this, arguments ); + }; + } + + // Set the guid of unique handler to the same of original handler, so it can be removed + if ( fn ) { + proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++; + } + + // So proxy can be declared as an argument + return proxy; + }, + + // Mutifunctional method to get and set values to a collection + // The value/s can be optionally by executed if its a function + access: function( elems, key, value, exec, fn, pass ) { + var length = elems.length; + + // Setting many attributes + if ( typeof key === "object" ) { + for ( var k in key ) { + jQuery.access( elems, k, key[k], exec, fn, value ); + } + return elems; + } + + // Setting one attribute + if ( value !== undefined ) { + // Optionally, function values get executed if exec is true + exec = !pass && exec && jQuery.isFunction(value); + + for ( var i = 0; i < length; i++ ) { + fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass ); + } + + return elems; + } + + // Getting an attribute + return length ? fn( elems[0], key ) : undefined; + }, + + now: function() { + return (new Date()).getTime(); + }, + + // Create a simple deferred (one callbacks list) + _Deferred: function() { + var // callbacks list + callbacks = [], + // stored [ context , args ] + fired, + // to avoid firing when already doing so + firing, + // flag to know if the deferred has been cancelled + cancelled, + // the deferred itself + deferred = { + + // done( f1, f2, ...) + done: function() { + if ( !cancelled ) { + var args = arguments, + i, + length, + elem, + type, + _fired; + if ( fired ) { + _fired = fired; + fired = 0; + } + for ( i = 0, length = args.length; i < length; i++ ) { + elem = args[ i ]; + type = jQuery.type( elem ); + if ( type === "array" ) { + deferred.done.apply( deferred, elem ); + } else if ( type === "function" ) { + callbacks.push( elem ); + } + } + if ( _fired ) { + deferred.resolveWith( _fired[ 0 ], _fired[ 1 ] ); + } + } + return this; + }, + + // resolve with given context and args + resolveWith: function( context, args ) { + if ( !cancelled && !fired && !firing ) { + firing = 1; + try { + while( callbacks[ 0 ] ) { + callbacks.shift().apply( context, args ); + } + } + // We have to add a catch block for + // IE prior to 8 or else the finally + // block will never get executed + catch (e) { + throw e; + } + finally { + fired = [ context, args ]; + firing = 0; + } + } + return this; + }, + + // resolve with this as context and given arguments + resolve: function() { + deferred.resolveWith( jQuery.isFunction( this.promise ) ? this.promise() : this, arguments ); + return this; + }, + + // Has this deferred been resolved? + isResolved: function() { + return !!( firing || fired ); + }, + + // Cancel + cancel: function() { + cancelled = 1; + callbacks = []; + return this; + } + }; + + return deferred; + }, + + // Full fledged deferred (two callbacks list) + Deferred: function( func ) { + var deferred = jQuery._Deferred(), + failDeferred = jQuery._Deferred(), + promise; + // Add errorDeferred methods, then and promise + jQuery.extend( deferred, { + then: function( doneCallbacks, failCallbacks ) { + deferred.done( doneCallbacks ).fail( failCallbacks ); + return this; + }, + fail: failDeferred.done, + rejectWith: failDeferred.resolveWith, + reject: failDeferred.resolve, + isRejected: failDeferred.isResolved, + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + if ( obj == null ) { + if ( promise ) { + return promise; + } + promise = obj = {}; + } + var i = promiseMethods.length; + while( i-- ) { + obj[ promiseMethods[i] ] = deferred[ promiseMethods[i] ]; + } + return obj; + } + } ); + // Make sure only one callback list will be used + deferred.done( failDeferred.cancel ).fail( deferred.cancel ); + // Unexpose cancel + delete deferred.cancel; + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + return deferred; + }, + + // Deferred helper + when: function( object ) { + var lastIndex = arguments.length, + deferred = lastIndex <= 1 && object && jQuery.isFunction( object.promise ) ? + object : + jQuery.Deferred(), + promise = deferred.promise(); + + if ( lastIndex > 1 ) { + var array = slice.call( arguments, 0 ), + count = lastIndex, + iCallback = function( index ) { + return function( value ) { + array[ index ] = arguments.length > 1 ? slice.call( arguments, 0 ) : value; + if ( !( --count ) ) { + deferred.resolveWith( promise, array ); + } + }; + }; + while( ( lastIndex-- ) ) { + object = array[ lastIndex ]; + if ( object && jQuery.isFunction( object.promise ) ) { + object.promise().then( iCallback(lastIndex), deferred.reject ); + } else { + --count; + } + } + if ( !count ) { + deferred.resolveWith( promise, array ); + } + } else if ( deferred !== object ) { + deferred.resolve( object ); + } + return promise; + }, + + // Use of jQuery.browser is frowned upon. + // More details: http://docs.jquery.com/Utilities/jQuery.browser + uaMatch: function( ua ) { + ua = ua.toLowerCase(); + + var match = rwebkit.exec( ua ) || + ropera.exec( ua ) || + rmsie.exec( ua ) || + ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) || + []; + + return { browser: match[1] || "", version: match[2] || "0" }; + }, + + sub: function() { + function jQuerySubclass( selector, context ) { + return new jQuerySubclass.fn.init( selector, context ); + } + jQuery.extend( true, jQuerySubclass, this ); + jQuerySubclass.superclass = this; + jQuerySubclass.fn = jQuerySubclass.prototype = this(); + jQuerySubclass.fn.constructor = jQuerySubclass; + jQuerySubclass.subclass = this.subclass; + jQuerySubclass.fn.init = function init( selector, context ) { + if ( context && context instanceof jQuery && !(context instanceof jQuerySubclass) ) { + context = jQuerySubclass(context); + } + + return jQuery.fn.init.call( this, selector, context, rootjQuerySubclass ); + }; + jQuerySubclass.fn.init.prototype = jQuerySubclass.fn; + var rootjQuerySubclass = jQuerySubclass(document); + return jQuerySubclass; + }, + + browser: {} +}); + +// Create readyList deferred +readyList = jQuery._Deferred(); + +// Populate the class2type map +jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +}); + +browserMatch = jQuery.uaMatch( userAgent ); +if ( browserMatch.browser ) { + jQuery.browser[ browserMatch.browser ] = true; + jQuery.browser.version = browserMatch.version; +} + +// Deprecated, use jQuery.browser.webkit instead +if ( jQuery.browser.webkit ) { + jQuery.browser.safari = true; +} + +if ( indexOf ) { + jQuery.inArray = function( elem, array ) { + return indexOf.call( array, elem ); + }; +} + +// IE doesn't match non-breaking spaces with \s +if ( rnotwhite.test( "\xA0" ) ) { + trimLeft = /^[\s\xA0]+/; + trimRight = /[\s\xA0]+$/; +} + +// All jQuery objects should point back to these +rootjQuery = jQuery(document); + +// Cleanup functions for the document ready method +if ( document.addEventListener ) { + DOMContentLoaded = function() { + document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + jQuery.ready(); + }; + +} else if ( document.attachEvent ) { + DOMContentLoaded = function() { + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( document.readyState === "complete" ) { + document.detachEvent( "onreadystatechange", DOMContentLoaded ); + jQuery.ready(); + } + }; +} + +// The DOM ready check for Internet Explorer +function doScrollCheck() { + if ( jQuery.isReady ) { + return; + } + + try { + // If IE is used, use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + document.documentElement.doScroll("left"); + } catch(e) { + setTimeout( doScrollCheck, 1 ); + return; + } + + // and execute any waiting functions + jQuery.ready(); +} + +// Expose jQuery to the global object +return jQuery; + +})(); + + +(function() { + + jQuery.support = {}; + + var div = document.createElement("div"); + + div.style.display = "none"; + div.innerHTML = "
    a"; + + var all = div.getElementsByTagName("*"), + a = div.getElementsByTagName("a")[0], + select = document.createElement("select"), + opt = select.appendChild( document.createElement("option") ), + input = div.getElementsByTagName("input")[0]; + + // Can't get basic test support + if ( !all || !all.length || !a ) { + return; + } + + jQuery.support = { + // IE strips leading whitespace when .innerHTML is used + leadingWhitespace: div.firstChild.nodeType === 3, + + // Make sure that tbody elements aren't automatically inserted + // IE will insert them into empty tables + tbody: !div.getElementsByTagName("tbody").length, + + // Make sure that link elements get serialized correctly by innerHTML + // This requires a wrapper element in IE + htmlSerialize: !!div.getElementsByTagName("link").length, + + // Get the style information from getAttribute + // (IE uses .cssText insted) + style: /red/.test( a.getAttribute("style") ), + + // Make sure that URLs aren't manipulated + // (IE normalizes it by default) + hrefNormalized: a.getAttribute("href") === "/a", + + // Make sure that element opacity exists + // (IE uses filter instead) + // Use a regex to work around a WebKit issue. See #5145 + opacity: /^0.55$/.test( a.style.opacity ), + + // Verify style float existence + // (IE uses styleFloat instead of cssFloat) + cssFloat: !!a.style.cssFloat, + + // Make sure that if no value is specified for a checkbox + // that it defaults to "on". + // (WebKit defaults to "" instead) + checkOn: input.value === "on", + + // Make sure that a selected-by-default option has a working selected property. + // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) + optSelected: opt.selected, + + // Will be defined later + deleteExpando: true, + optDisabled: false, + checkClone: false, + noCloneEvent: true, + noCloneChecked: true, + boxModel: null, + inlineBlockNeedsLayout: false, + shrinkWrapBlocks: false, + reliableHiddenOffsets: true + }; + + input.checked = true; + jQuery.support.noCloneChecked = input.cloneNode( true ).checked; + + // Make sure that the options inside disabled selects aren't marked as disabled + // (WebKit marks them as diabled) + select.disabled = true; + jQuery.support.optDisabled = !opt.disabled; + + var _scriptEval = null; + jQuery.support.scriptEval = function() { + if ( _scriptEval === null ) { + var root = document.documentElement, + script = document.createElement("script"), + id = "script" + jQuery.now(); + + try { + script.appendChild( document.createTextNode( "window." + id + "=1;" ) ); + } catch(e) {} + + root.insertBefore( script, root.firstChild ); + + // Make sure that the execution of code works by injecting a script + // tag with appendChild/createTextNode + // (IE doesn't support this, fails, and uses .text instead) + if ( window[ id ] ) { + _scriptEval = true; + delete window[ id ]; + } else { + _scriptEval = false; + } + + root.removeChild( script ); + // release memory in IE + root = script = id = null; + } + + return _scriptEval; + }; + + // Test to see if it's possible to delete an expando from an element + // Fails in Internet Explorer + try { + delete div.test; + + } catch(e) { + jQuery.support.deleteExpando = false; + } + + if ( !div.addEventListener && div.attachEvent && div.fireEvent ) { + div.attachEvent("onclick", function click() { + // Cloning a node shouldn't copy over any + // bound event handlers (IE does this) + jQuery.support.noCloneEvent = false; + div.detachEvent("onclick", click); + }); + div.cloneNode(true).fireEvent("onclick"); + } + + div = document.createElement("div"); + div.innerHTML = ""; + + var fragment = document.createDocumentFragment(); + fragment.appendChild( div.firstChild ); + + // WebKit doesn't clone checked state correctly in fragments + jQuery.support.checkClone = fragment.cloneNode(true).cloneNode(true).lastChild.checked; + + // Figure out if the W3C box model works as expected + // document.body must exist before we can do this + jQuery(function() { + var div = document.createElement("div"), + body = document.getElementsByTagName("body")[0]; + + // Frameset documents with no body should not run this code + if ( !body ) { + return; + } + + div.style.width = div.style.paddingLeft = "1px"; + body.appendChild( div ); + jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2; + + if ( "zoom" in div.style ) { + // Check if natively block-level elements act like inline-block + // elements when setting their display to 'inline' and giving + // them layout + // (IE < 8 does this) + div.style.display = "inline"; + div.style.zoom = 1; + jQuery.support.inlineBlockNeedsLayout = div.offsetWidth === 2; + + // Check if elements with layout shrink-wrap their children + // (IE 6 does this) + div.style.display = ""; + div.innerHTML = "