Don't assert that the Then() method wasn't invoked; just let the test crash if it fails on setup.

--- src/Nimbus.Tests.Integration/TestForBus.cs
+++ src/Nimbus.Tests.Integration/TestForBus.cs
@@ -12,7 +12,7 @@
 namespace Nimbus.Tests.Integration
 {
     [TestFixture]
-    [Timeout(TimeoutSeconds*1000)]
+    [Timeout(TimeoutSeconds * 1000)]
     public abstract class TestForBus
     {
         protected const int TimeoutSeconds = 60;
@@ -21,8 +21,6 @@
         protected ScenarioInstance<BusBuilderConfiguration> Instance { get; private set; }
         protected MethodCallCounter MethodCallCounter { get; private set; }
         protected Bus Bus { get; private set; }
-
-        private bool _thenWasInvoked;

         protected virtual async Task Given(IConfigurationScenario<BusBuilderConfiguration> scenario)
         {
@@ -42,21 +40,24 @@

         protected async Task Then()
         {
-            _thenWasInvoked = true;
-
             var assertionMethods = GetType().GetMethods(BindingFlags.Instance | BindingFlags.Public)
                                             .Where(m => m.HasAttribute<ThenAttribute>())
                                             .ToArray();

             await assertionMethods
-                .Select(m => (Task) m.Invoke(this, new object[0]))
-                .WhenAll();
+                  .Where(m => typeof(Task).IsAssignableFrom(m.ReturnType))
+                  .Select(m => (Task) m.Invoke(this, new object[0]))
+                  .WhenAll();
+
+            assertionMethods
+                .Where(m => m.ReturnType == typeof(void))
+                .Do(m => m.Invoke(this, new object[0]))
+                .Done();
         }

         [SetUp]
         public void SetUp()
         {
-            _thenWasInvoked = false;
             TestLoggingExtensions.LogTestStart();
         }

@@ -79,8 +80,6 @@
             Instance = null;

             TestLoggingExtensions.LogTestResult();
-
-            if (!_thenWasInvoked) Assert.Fail($"Test completed without calling {nameof(Then)} method.");
         }
     }
 }


Fixed to include files with no hashes in the verify process.

--- Duplicati/Library/Main/Database/LocalTestDatabase.cs
+++ Duplicati/Library/Main/Database/LocalTestDatabase.cs
@@ -116,6 +116,11 @@
             samples = Math.Max(1, samples);
             using(var cmd = m_connection.CreateCommand())
             {
+                // Select any broken items
+                using(var rd = cmd.ExecuteReader(@"SELECT ""ID"", ""Name"", ""Size"", ""Hash"", ""VerificationCount"" FROM ""Remotevolume"" WHERE (""State"" = ? OR ""State"" = ?) AND (""Hash"" = """" OR ""Hash"" IS NULL OR ""Size"" < 0) ", RemoteVolumeState.Verified.ToString(), RemoteVolumeState.Uploaded.ToString()))
+                    while (rd.Read())
+                        yield return new RemoteVolume(rd);
+
                 //Grab the max value
                 var max = Convert.ToInt64(cmd.ExecuteScalar(@"SELECT MAX(""VerificationCount"") FROM ""RemoteVolume"""));

@@ -144,7 +149,7 @@

                 foreach(var f in FilterByVerificationCount(files, samples, max))
                     yield return f;
-
+
                 //And finally some block files
                 files.Clear();


json: JsonSerializable, code cleanup

json: JsonSerializable, code cleanup

--- src/Peachpie.Library/Serialization.Json.cs
+++ src/Peachpie.Library/Serialization.Json.cs
@@ -7,6 +7,7 @@
 using System.Threading.Tasks;
 using Pchp.Core;
 using Pchp.Core.Reflection;
+using static Pchp.Library.JsonSerialization;

 namespace Pchp.Library
 {
@@ -82,17 +83,29 @@

                 readonly Context _ctx;
                 readonly RuntimeTypeHandle _caller;
-                readonly EncodeOptions _encodeOptions;
-
-                private ObjectWriter(Context ctx, EncodeOptions encodeOptions, RuntimeTypeHandle caller)
+                readonly JsonEncodeOptions _encodeOptions;
+
+                #region Options
+
+                bool HasForceObject => (_encodeOptions & JsonEncodeOptions.JSON_FORCE_OBJECT) != 0;
+                bool HasHexAmp => (_encodeOptions & JsonEncodeOptions.JSON_HEX_AMP) != 0;
+                bool HasHexApos => (_encodeOptions & JsonEncodeOptions.JSON_HEX_APOS) != 0;
+                bool HasHexQuot => (_encodeOptions & JsonEncodeOptions.JSON_HEX_QUOT) != 0;
+                bool HasHexTag => (_encodeOptions & JsonEncodeOptions.JSON_HEX_TAG) != 0;
+                bool HasNumericCheck => (_encodeOptions & JsonEncodeOptions.JSON_NUMERIC_CHECK) != 0;
+                bool HasPrettyPrint => (_encodeOptions & JsonEncodeOptions.JSON_PRETTY_PRINT) != 0;
+
+                #endregion
+
+                private ObjectWriter(Context ctx, JsonEncodeOptions encodeOptions, RuntimeTypeHandle caller)
                 {
                     Debug.Assert(ctx != null);
                     _ctx = ctx;
-                    _encodeOptions = encodeOptions ?? new EncodeOptions();
+                    _encodeOptions = encodeOptions;
                     _caller = caller;
                 }

-                public static PhpString Serialize(Context ctx, PhpValue variable, EncodeOptions encodeOptions, RuntimeTypeHandle caller)
+                public static PhpString Serialize(Context ctx, PhpValue variable, JsonEncodeOptions encodeOptions, RuntimeTypeHandle caller)
                 {
                     ObjectWriter writer;
                     variable.Accept(writer = new ObjectWriter(ctx, encodeOptions, caller));
@@ -164,7 +177,7 @@
                 {
                     if (PushObject(array))
                     {
-                        if (_encodeOptions.ForceObject || (array.StringCount != 0 || array.MaxIntegerKey + 1 != array.IntegerCount))
+                        if (HasForceObject || (array.StringCount != 0 || array.MaxIntegerKey + 1 != array.IntegerCount))
                         {
                             // array are encoded as objects or there are keyed values that has to be encoded as object
                             WriteObject(JsonArrayProperties(array));
@@ -185,6 +198,20 @@

                 public override void AcceptObject(object obj)
                 {
+                    if (obj is JsonSerializable)
+                    {
+                        var data = ((JsonSerializable)obj).jsonSerialize();
+                        if ((obj = data.AsObject()) == null)
+                        {
+                            data.Accept(this);
+                            return;
+                        }
+                        else
+                        {
+                            // serialize `obj` without checking JsonSerializable interface ...
+                        }
+                    }
+
                     if (obj is PhpResource)
                     {
                         WriteUnsupported(PhpResource.PhpTypeName);
@@ -237,16 +264,16 @@
                             return true;

                         case '\'':
-                            return _encodeOptions.HexApos;
+                            return HasHexApos;

                         case '<':
-                            return _encodeOptions.HexTag;
+                            return HasHexTag;

                         case '>':
-                            return _encodeOptions.HexTag;
+                            return HasHexTag;

                         case '&':
-                            return _encodeOptions.HexAmp;
+                            return HasHexAmp;

                         default:
                             return !CharIsPrintable(c);
@@ -272,11 +299,11 @@
                         case Tokens.Escape: return (Tokens.EscapedReverseSolidus);
                         case '\b': return (Tokens.EscapedBackspace);
                         case '\f': return (Tokens.EscapedFormFeed);
-                        case Tokens.Quote: return (_encodeOptions.HexQuot ? (Tokens.EscapedUnicodeChar + "0022") : Tokens.EscapedQuote);
-                        case '\'': return (_encodeOptions.HexApos ? (Tokens.EscapedUnicodeChar + "0027") : "'");
-                        case '<': return (_encodeOptions.HexTag ? (Tokens.EscapedUnicodeChar + "003C") : "<");
-                        case '>': return (_encodeOptions.HexTag ? (Tokens.EscapedUnicodeChar + "003E") : ">");
-                        case '&': return (_encodeOptions.HexAmp ? (Tokens.EscapedUnicodeChar + "0026") : "&");
+                        case Tokens.Quote: return (HasHexQuot ? (Tokens.EscapedUnicodeChar + "0022") : Tokens.EscapedQuote);
+                        case '\'': return (HasHexApos ? (Tokens.EscapedUnicodeChar + "0027") : "'");
+                        case '<': return (HasHexTag ? (Tokens.EscapedUnicodeChar + "003C") : "<");
+                        case '>': return (HasHexTag ? (Tokens.EscapedUnicodeChar + "003E") : ">");
+                        case '&': return (HasHexAmp ? (Tokens.EscapedUnicodeChar + "0026") : "&");
                         default:
                             {
                                 if (CharIsPrintable(c))
@@ -323,7 +350,7 @@
                 /// <param name="value">The string.</param>
                 void WriteString(string value)
                 {
-                    if (_encodeOptions.NumericCheck)
+                    if (HasNumericCheck)
                     {
                         long l;
                         double d;
@@ -445,7 +472,7 @@

             #endregion

-            public JsonSerializer(DecodeOptions decodeOptions = null, EncodeOptions encodeOptions = null)
+            public JsonSerializer(DecodeOptions decodeOptions = null, JsonEncodeOptions encodeOptions = JsonEncodeOptions.Default)
             {
                 _decodeOptions = decodeOptions;
                 _encodeOptions = encodeOptions;
@@ -454,14 +481,6 @@
             #region Options

             /// <summary>
-            /// Encode (serialize) options. All false.
-            /// </summary>
-            public class EncodeOptions
-            {
-                public bool HexTag = false, HexAmp = false, HexApos = false, HexQuot = false, ForceObject = false, NumericCheck = false;
-            }
-
-            /// <summary>
             /// Decode (unserialize) options.
             /// </summary>
             public class DecodeOptions
@@ -480,7 +499,7 @@
             }

             readonly DecodeOptions _decodeOptions;
-            readonly EncodeOptions _encodeOptions;
+            readonly JsonEncodeOptions _encodeOptions;

             #endregion
         }
@@ -566,6 +585,11 @@
             /// Encodes numeric strings as numbers.
             /// </summary>
             JSON_NUMERIC_CHECK = 32,
+
+            /// <summary>
+            /// Use whitespace in returned data to format it.
+            /// </summary>
+            JSON_PRETTY_PRINT = 64,
         }

         public const int JSON_HEX_TAG = (int)JsonEncodeOptions.JSON_HEX_TAG;
@@ -574,6 +598,7 @@
         public const int JSON_HEX_QUOT = (int)JsonEncodeOptions.JSON_HEX_QUOT;
         public const int JSON_FORCE_OBJECT = (int)JsonEncodeOptions.JSON_FORCE_OBJECT;
         public const int JSON_NUMERIC_CHECK = (int)JsonEncodeOptions.JSON_NUMERIC_CHECK;
+        public const int JSON_PRETTY_PRINT = (int)JsonEncodeOptions.JSON_PRETTY_PRINT;

         /// <summary>
         /// Options given to json_decode function.
@@ -597,19 +622,7 @@

         public static PhpString json_encode(Context ctx, PhpValue value, JsonEncodeOptions options = JsonEncodeOptions.Default)
         {
-            var encodeoptions = (options != JsonEncodeOptions.Default)
-                ? new PhpSerialization.JsonSerializer.EncodeOptions()
-                {
-                    ForceObject = (options & JsonEncodeOptions.JSON_FORCE_OBJECT) != 0,
-                    HexAmp = (options & JsonEncodeOptions.JSON_HEX_AMP) != 0,
-                    HexApos = (options & JsonEncodeOptions.JSON_HEX_APOS) != 0,
-                    HexQuot = (options & JsonEncodeOptions.JSON_HEX_QUOT) != 0,
-                    HexTag = (options & JsonEncodeOptions.JSON_HEX_TAG) != 0,
-                    NumericCheck = (options & JsonEncodeOptions.JSON_NUMERIC_CHECK) != 0,
-                }
-                : null;
-
-            return new PhpSerialization.JsonSerializer(encodeOptions: encodeoptions).Serialize(ctx, value, default(RuntimeTypeHandle));
+            return new PhpSerialization.JsonSerializer(encodeOptions: options).Serialize(ctx, value, default(RuntimeTypeHandle));
         }

         /// <summary>
@@ -640,3 +653,19 @@
         #endregion
     }
 }
+
+/// <summary>
+/// Objects implementing JsonSerializable can customize their JSON representation when encoded with <see cref="Pchp.Library.JsonSerialization.json_encode"/>.
+/// </summary>
+[PhpType("JsonSerializable")]
+public interface JsonSerializable
+{
+    /// <summary>
+    /// Serializes the object to a value that can be serialized natively by <see cref="Pchp.Library.JsonSerialization.json_encode"/>.
+    /// </summary>
+    /// <returns>
+    /// Returns data which can be serialized by <see cref="Pchp.Library.JsonSerialization.json_encode"/>,
+    /// which is a value of any type other than a resource.
+    /// </returns>
+    PhpValue jsonSerialize();
+}


empty( object )

empty( object )

- fixes https://github.com/peachpiecompiler/peachpie/issues/223
- check for empty objects uses IPhpConvertible interface in order to convert the object to boolean.
- Note: User's classes always return `false`

--- src/Peachpie.Runtime/PhpValue.TypeTable.cs
+++ src/Peachpie.Runtime/PhpValue.TypeTable.cs
@@ -454,7 +454,7 @@
         sealed class ClassTable : TypeTable
         {
             public override PhpTypeCode Type => PhpTypeCode.Object;
-            public override bool IsEmpty(ref PhpValue me) => false;
+            public override bool IsEmpty(ref PhpValue me) => !Convert.ToBoolean(me.Object);
             public override object ToClass(ref PhpValue me) => (me.Object is IPhpConvertible conv) ? conv.ToClass() : me.Object;
             public override string ToStringQuiet(ref PhpValue me) => me.Object.ToString();
             public override string ToString(ref PhpValue me, Context ctx) => ToStringOrThrow(ref me, ctx);


Removed standings in forecast page for competitions without classifications

--- src/PronoFoot/Controllers/DayController.cs
+++ src/PronoFoot/Controllers/DayController.cs
@@ -18,6 +18,8 @@
         private readonly IForecastService forecastService;
         private readonly ITeamService teamService;
         private readonly ITeamStandingService teamStandingService;
+        private readonly IEditionService editionService;
+        private readonly ICompetitionService competitionService;

         public DayController(IDayService dayServices,
                              IFixtureService fixtureService,
@@ -25,6 +27,8 @@
                              ITeamService teamService,
                              ITeamStandingService teamStandingService,
                              IUserService userService,
+                             IEditionService editionService,
+                             ICompetitionService competitionService,
                              Security.IAuthenticationService authenticationService)
             : base(userService, authenticationService)
         {
@@ -33,6 +37,8 @@
             this.forecastService = forecastService;
             this.teamService = teamService;
             this.teamStandingService = teamStandingService;
+            this.editionService = editionService;
+            this.competitionService = competitionService;
         }

         [Authorize]
@@ -172,18 +178,20 @@
         {
             var currentUser = this.CurrentUser;
             var day = dayServices.GetDay(id);
+            var edition = editionService.GetEdition(day.EditionId);
+            var competition = competitionService.GetCompetition(edition.CompetitionId);
             var fixtures = fixtureService.GetFixturesForDay(id).ToList();
             var forecasts = forecastService.GetForecastsForDayUser(id, this.CurrentUser.UserId).ToList();
             var teams = teamService.GetTeamsForEdition(day.EditionId).ToList();
             var teamLatestFixtures = teamService.GetTeamLastestFixtures(day.EditionId);
-            var teamStandings = teamStandingService.GetTeamStandings(day.EditionId);
+            var teamStandings = competition.HasTeamClassification ? teamStandingService.GetTeamStandings(day.EditionId) : Enumerable.Empty<TeamStanding>();

             var forecastViewModels = new List<ForecastViewModel>();
             foreach (var fixture in fixtures)
             {
                 var homeTeam = teams.First(x => x.TeamId == fixture.HomeTeamId);
                 var homeTeamStanding = teamStandings.FirstOrDefault(x => x.TeamId == homeTeam.TeamId);
-
+
                 var awayTeam = teams.First(x => x.TeamId == fixture.AwayTeamId);
                 var awayTeamStanding = teamStandings.FirstOrDefault(x => x.TeamId == awayTeam.TeamId);

@@ -200,7 +208,7 @@
                     vm.ForecastId = forecast.ForecastId;
                     vm.HomeTeamGoals = forecast.HomeTeamGoals;
                     vm.AwayTeamGoals = forecast.AwayTeamGoals;
-                }
+                }
                 forecastViewModels.Add(vm);
             }


declared EmitType method as protected

declared EmitType method as protected

--- src/Remote.Linq/TypeSystem/TypeResolver.cs
+++ src/Remote.Linq/TypeSystem/TypeResolver.cs
@@ -8,6 +8,7 @@
     public partial class TypeResolver : ITypeResolver
     {
         private static readonly ITypeResolver _defaultTypeResolver = new TypeResolver();
+        private static ITypeResolver _instance;

         protected TypeResolver()
         {
@@ -18,24 +19,6 @@
             get { return _instance ?? _defaultTypeResolver; }
             set { _instance = value; }
         }
-        private static ITypeResolver _instance;
-
-        protected virtual Type ResolveType(string typeName)
-        {
-            if (string.IsNullOrEmpty(typeName)) throw new ArgumentNullException("typeName", "Expected a valid type name");
-
-            var type = Type.GetType(typeName);
-            if (ReferenceEquals(null, type))
-            {
-                var assemblies = GetAssemblies();
-                foreach (var assembly in assemblies)
-                {
-                    type = assembly.GetType(typeName);
-                    if (!ReferenceEquals(null, type)) break;
-                }
-            }
-            return type;
-        }

         public virtual Type ResolveType(TypeInfo typeInfo)
         {
@@ -43,7 +26,7 @@
             Type type;
             if (typeInfo.IsAnonymousType)
             {
-                type = new Remote.Linq.TypeSystem.Emit.TypeEmitter().EmitType(typeInfo);
+                type = EmitType(typeInfo);
             }
             else
             {
@@ -82,7 +65,33 @@
                     select ResolveType(x);
                 type = type.MakeGenericType(generigArguments.ToArray());
             }
+
             return type;
         }
+
+        protected virtual Type ResolveType(string typeName)
+        {
+            if (string.IsNullOrEmpty(typeName)) throw new ArgumentNullException("typeName", "Expected a valid type name");
+
+            var type = Type.GetType(typeName);
+            if (ReferenceEquals(null, type))
+            {
+                var assemblies = GetAssemblies();
+                foreach (var assembly in assemblies)
+                {
+                    type = assembly.GetType(typeName);
+                    if (!ReferenceEquals(null, type)) break;
+                }
+            }
+            return type;
+        }
+
+#if NET
+        protected Type EmitType(TypeInfo typeInfo)
+        {
+            var type = new Emit.TypeEmitter().EmitType(typeInfo);
+            return type;
+        }
+#endif
     }
 }


Fix attacher of exm and sessions databases

--- src/SIM.Pipelines/AttachDatabasesHelper.cs
+++ src/SIM.Pipelines/AttachDatabasesHelper.cs
@@ -35,9 +35,16 @@
       if (!FileSystem.FileSystem.Local.File.Exists(databasePath))
       {
         var file = Path.GetFileName(databasePath);
-        if (file.EqualsIgnoreCase("sitecore.reporting.mdf"))
+        if (connectionString.Name.EqualsIgnoreCase("reporting"))
         {
           databasePath = Path.Combine(Path.GetDirectoryName(databasePath), "Sitecore.Analytics.mdf");
+        } else if (connectionString.Name.EqualsIgnoreCase("exm.dispatch"))
+        {
+          databasePath = Path.Combine(Path.GetDirectoryName(databasePath), "Sitecore.Exm.mdf");
+        }
+        else if (connectionString.Name.EqualsIgnoreCase("session"))
+        {
+          databasePath = Path.Combine(Path.GetDirectoryName(databasePath), "Sitecore.Sessions.mdf");
         }
       }


First draft for SEQ helper trimString

First draft for SEQ helper trimString

--- src/Seq.App.EmailPlus/HandlebarsHelpers.cs
+++ src/Seq.App.EmailPlus/HandlebarsHelpers.cs
@@ -15,6 +15,7 @@
         {
             Handlebars.Handlebars.RegisterHelper("pretty", PrettyPrintHelper);
             Handlebars.Handlebars.RegisterHelper("if_eq", IfEqHelper);
+            Handlebars.Handlebars.RegisterHelper("trimString", SubstringHelper);
         }

         static void PrettyPrintHelper(TextWriter output, object context, object[] arguments)
@@ -65,5 +66,58 @@

             return o;
         }
+
+        static void SubstringHelper(TextWriter output, object context, object[] arguments)
+        {
+            //{{trimString value 0 30}}
+            var value = arguments.FirstOrDefault();
+
+            if (value == null)
+            {
+                output.WriteSafeString("null");
+                return;
+            }
+
+            int start = 0;
+            int end = value.ToString().Length;
+
+            if (arguments?.Length < 2)
+            {
+                // No start or length arguments provided
+                output.WriteSafeString(value);
+            }
+            else if (arguments?.Length < 3)
+            {
+                // just a start position provided
+                int.TryParse(arguments[1].ToString(), out start);
+                if (start > value.ToString().Length)
+                {
+                    // start of substring after end of string.
+                    output.WriteSafeString("null");
+                    return;
+                }
+                output.WriteSafeString(value.ToString().Substring(start));
+            }
+            else
+            {
+                // Start & length provided.
+                int.TryParse(arguments[1].ToString(), out start);
+                int.TryParse(arguments[2].ToString(), out end);
+
+                if (start > value.ToString().Length)
+                {
+                    // start of substring after end of string.
+                    output.WriteSafeString("null");
+                    return;
+                }
+                // ensure the length is still in the string to avoid ArgumentOutOfRangeException
+                if (end > value.ToString().Length - start)
+                {
+                    end = value.ToString().Length - start;
+                }
+
+                output.WriteSafeString(value.ToString().Substring(start, end));
+            }
+        }
     }
 }


Added null check to prevent null reference exception

--- src/ZXing.Net.Mobile/MonoTouch/ZxingSurfaceView.cs
+++ src/ZXing.Net.Mobile/MonoTouch/ZxingSurfaceView.cs
@@ -303,7 +303,7 @@

 								//srcbitmap.Dispose();

-							if(result.Text!=null)
+							if(result != null && result.Text!=null)
 							{
 								//BeepOrVibrate();
 								_parentViewController.BarCodeScanned(result);


Toplevels now need to explicitly specify tab cycle mode.

--- src/Avalonia.Controls/TopLevel.cs
+++ src/Avalonia.Controls/TopLevel.cs
@@ -83,6 +83,7 @@
         /// </summary>
         static TopLevel()
         {
+            KeyboardNavigation.TabNavigationProperty.OverrideDefaultValue<TopLevel>(KeyboardNavigationMode.Cycle);
             AffectsMeasure<TopLevel>(ClientSizeProperty);

             TransparencyLevelHintProperty.Changed.AddClassHandler<TopLevel>(


Fixes `NeoToken.CalculateBonus()` (#992)

--- neo/SmartContract/Native/Tokens/NeoToken.cs
+++ neo/SmartContract/Native/Tokens/NeoToken.cs
@@ -93,7 +93,7 @@
                 }
                 amount += (iend - istart) * Blockchain.GenerationAmount[ustart];
             }
-            amount += GAS.GetSysFeeAmount(snapshot, end - 1) - (start == 0 ? 0 : GAS.GetSysFeeAmount(snapshot, start - 1));
+            amount += (GAS.GetSysFeeAmount(snapshot, end - 1) - (start == 0 ? 0 : GAS.GetSysFeeAmount(snapshot, start - 1))) / GAS.Factor;
             return value * amount * GAS.Factor / TotalAmount;
         }


Fix bogus missing file reports (BL-3632)

These happened every time a page was added or deleted.

--- src/BloomExe/Edit/EditingModel.cs
+++ src/BloomExe/Edit/EditingModel.cs
@@ -245,7 +245,7 @@
 				_inProcessOfDeleting = true;
 				_domForCurrentPage = null; //prevent us trying to save it later, as the page selection changes
 				_currentlyDisplayedBook.DeletePage(page);
-				_view.UpdatePageList(false);
+				//_view.UpdatePageList(false);  DeletePage calls this via pageListChangedEvent.  See BL-3632 for trouble this causes.
 				Logger.WriteEvent("Delete Page");
 				Analytics.Track("Delete Page");
 			}
@@ -273,7 +273,7 @@
 		private void OnInsertTemplatePage(object sender, EventArgs e)
 		{
 			CurrentBook.InsertPageAfter(DeterminePageWhichWouldPrecedeNextInsertion(), sender as Page);
-			_view.UpdatePageList(false);
+			//_view.UpdatePageList(false);  InsertPageAfter calls this via pageListChangedEvent.  See BL-3632 for trouble this causes.
 			//_pageSelection.SelectPage(newPage);
 			try
 			{


Better detection of integer types.

Better detection of integer types.

--- src/CSharpinator.Core/BclClass.cs
+++ src/CSharpinator.Core/BclClass.cs
@@ -107,7 +107,7 @@
                         typeName,
                         "int",
                         value => { int temp; return int.TryParse(value, out temp); },
-                        value => value is int || value is uint || value is short || value is ushort || value is byte || value is sbyte));
+                        value => IsIntegerType(value) && IsLegalInt32Value(value)));
             }
         }

@@ -121,7 +121,7 @@
                         typeName,
                         "int?",
                         value => { int temp; return string.IsNullOrEmpty(value) || int.TryParse(value, out temp); },
-                        value => value == null || value is int || value is uint || value is short || value is ushort || value is byte || value is sbyte,
+                        value => value == null || (IsIntegerType(value) && IsLegalInt32Value(value)),
                         ".ToString()",
                         "int.Parse(value)"));
             }
@@ -136,7 +136,7 @@
                     typeName => new BclClass(
                         typeName,
                         "long", value => { long temp; return long.TryParse(value, out temp); },
-                        value => value is long || value is ulong || value is int || value is uint || value is short || value is ushort || value is byte || value is sbyte));
+                        value => IsIntegerType(value) && IsLegalInt64Value(value)));
             }
         }

@@ -150,7 +150,7 @@
                         typeName,
                         "long?",
                         value => { long temp; return string.IsNullOrEmpty(value) || long.TryParse(value, out temp); },
-                        value => value == null || value is long || value is ulong || value is int || value is uint || value is short || value is ushort || value is byte || value is sbyte,
+                        value => value == null || (IsIntegerType(value) && IsLegalInt64Value(value)),
                         ".ToString()",
                         "long.Parse(value)"));
             }
@@ -215,6 +215,51 @@
                         "Guid.Parse(value)"));
             }
         }
+
+        private static bool IsIntegerType(object value)
+        {
+            return value is long || value is ulong || value is int || value is uint || value is short || value is ushort || value is byte || value is sbyte;
+        }
+
+        public static bool IsLegalInt32Value(object value)
+        {
+            return IsLegalInt32ValueImpl(value as dynamic);
+        }
+
+        private static bool IsLegalInt32ValueImpl(object value)
+        {
+            return false;
+        }
+
+        private static bool IsLegalInt32ValueImpl(long value)
+        {
+            return value >= int.MinValue && value <= int.MaxValue;
+        }
+
+        private static bool IsLegalInt32ValueImpl(ulong value)
+        {
+            return value <= int.MaxValue;
+        }
+
+        public static bool IsLegalInt64Value(object value)
+        {
+            return IsLegalInt64ValueImpl(value as dynamic);
+        }
+
+        private static bool IsLegalInt64ValueImpl(object value)
+        {
+            return false;
+        }
+
+        private static bool IsLegalInt64ValueImpl(long value)
+        {
+            return true;
+        }
+
+        private static bool IsLegalInt64ValueImpl(ulong value)
+        {
+            return value <= long.MaxValue;
+        }
         #endregion
     }
 }


Leave only Zip extension method for .NET 3.5

--- Framework.Core/Theraot/Collections/Extensions.zip.cs
+++ Framework.Core/Theraot/Collections/Extensions.zip.cs
@@ -1,4 +1,4 @@
-// <auto-generated />
+#if NET35

 using System;
 using System.Collections.Generic;
@@ -7,7 +7,6 @@
 {
     public static partial class Extensions
     {
-#if NET35
         public static IEnumerable<TReturn> Zip<T1, T2, TReturn>(this IEnumerable<T1> first, IEnumerable<T2> second, Func<T1, T2, TReturn> resultSelector)
 		{
             if (first == null)
@@ -39,1202 +38,7 @@
                 }
             }
         }
-#else
-#if NET45 || NET46 || NET47 || NETCOREAPP1_0 || NETCOREAPP1_1 || NETCOREAPP2_0 || NETCOREAPP2_1 || NETCOREAPP2_2 || NETSTANDARD1_0 || NETSTANDARD1_1 || NETSTANDARD1_2 || NETSTANDARD1_3 || NETSTANDARD1_4 || NETSTANDARD1_5 || NETSTANDARD1_6
-        [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
-#endif
-        public static IEnumerable<TReturn> Zip<T1, T2, TReturn>(IEnumerable<T1> first, IEnumerable<T2> second, Func<T1, T2, TReturn> resultSelector)
-        {
-            return System.Linq.Enumerable.Zip(first, second, resultSelector);
-        }
-#endif
+    }
+}

-#if FAT
-
-
-        public static IEnumerable<TReturn> Zip<T1, T2, T3, TReturn>(IEnumerable<T1> arg1, IEnumerable<T2> arg2, IEnumerable<T3> arg3, Func<T1, T2, T3, TReturn> resultSelector)
-        {
-            if (arg1 == null)
-            {
-                throw new ArgumentNullException("arg1");
-            }
-            if (arg2 == null)
-            {
-                throw new ArgumentNullException("arg2");
-            }
-            if (arg3 == null)
-            {
-                throw new ArgumentNullException("arg3");
-            }
-            if (resultSelector == null)
-            {
-                throw new ArgumentNullException("resultSelector");
-            }
-            using (var enumerator1 = arg1.GetEnumerator())
-            using (var enumerator2 = arg2.GetEnumerator())
-            using (var enumerator3 = arg3.GetEnumerator())
-            {
-                while
-                (
-                    enumerator1.MoveNext()
-                    && enumerator2.MoveNext()
-                    && enumerator3.MoveNext()
-                )
-                {
-                    yield return resultSelector
-                    (
-                        enumerator1.Current,
-                        enumerator2.Current,
-                        enumerator3.Current
-                    );
-                }
-            }
-        }
-
-        public static IEnumerable<TReturn> Zip<T1, T2, T3, T4, TReturn>(IEnumerable<T1> arg1, IEnumerable<T2> arg2, IEnumerable<T3> arg3, IEnumerable<T4> arg4, Func<T1, T2, T3, T4, TReturn> resultSelector)
-        {
-            if (arg1 == null)
-            {
-                throw new ArgumentNullException("arg1");
-            }
-            if (arg2 == null)
-            {
-                throw new ArgumentNullException("arg2");
-            }
-            if (arg3 == null)
-            {
-                throw new ArgumentNullException("arg3");
-            }
-            if (arg4 == null)
-            {
-                throw new ArgumentNullException("arg4");
-            }
-            if (resultSelector == null)
-            {
-                throw new ArgumentNullException("resultSelector");
-            }
-            using (var enumerator1 = arg1.GetEnumerator())
-            using (var enumerator2 = arg2.GetEnumerator())
-            using (var enumerator3 = arg3.GetEnumerator())
-            using (var enumerator4 = arg4.GetEnumerator())
-            {
-                while
-                (
-                    enumerator1.MoveNext()
-                    && enumerator2.MoveNext()
-                    && enumerator3.MoveNext()
-                    && enumerator4.MoveNext()
-                )
-                {
-                    yield return resultSelector
-                    (
-                        enumerator1.Current,
-                        enumerator2.Current,
-                        enumerator3.Current,
-                        enumerator4.Current
-                    );
-                }
-            }
-        }
-
-        public static IEnumerable<TReturn> Zip<T1, T2, T3, T4, T5, TReturn>(IEnumerable<T1> arg1, IEnumerable<T2> arg2, IEnumerable<T3> arg3, IEnumerable<T4> arg4, IEnumerable<T5> arg5, Func<T1, T2, T3, T4, T5, TReturn> resultSelector)
-        {
-            if (arg1 == null)
-            {
-                throw new ArgumentNullException("arg1");
-            }
-            if (arg2 == null)
-            {
-                throw new ArgumentNullException("arg2");
-            }
-            if (arg3 == null)
-            {
-                throw new ArgumentNullException("arg3");
-            }
-            if (arg4 == null)
-            {
-                throw new ArgumentNullException("arg4");
-            }
-            if (arg5 == null)
-            {
-                throw new ArgumentNullException("arg5");
-            }
-            if (resultSelector == null)
-            {
-                throw new ArgumentNullException("resultSelector");
-            }
-            using (var enumerator1 = arg1.GetEnumerator())
-            using (var enumerator2 = arg2.GetEnumerator())
-            using (var enumerator3 = arg3.GetEnumerator())
-            using (var enumerator4 = arg4.GetEnumerator())
-            using (var enumerator5 = arg5.GetEnumerator())
-            {
-                while
-                (
-                    enumerator1.MoveNext()
-                    && enumerator2.MoveNext()
-                    && enumerator3.MoveNext()
-                    && enumerator4.MoveNext()
-                    && enumerator5.MoveNext()
-                )
-                {
-                    yield return resultSelector
-                    (
-                        enumerator1.Current,
-                        enumerator2.Current,
-                        enumerator3.Current,
-                        enumerator4.Current,
-                        enumerator5.Current
-                    );
-                }
-            }
-        }
-
-        public static IEnumerable<TReturn> Zip<T1, T2, T3, T4, T5, T6, TReturn>(IEnumerable<T1> arg1, IEnumerable<T2> arg2, IEnumerable<T3> arg3, IEnumerable<T4> arg4, IEnumerable<T5> arg5, IEnumerable<T6> arg6, Func<T1, T2, T3, T4, T5, T6, TReturn> resultSelector)
-        {
-            if (arg1 == null)
-            {
-                throw new ArgumentNullException("arg1");
-            }
-            if (arg2 == null)
-            {
-                throw new ArgumentNullException("arg2");
-            }
-            if (arg3 == null)
-            {
-                throw new ArgumentNullException("arg3");
-            }
-            if (arg4 == null)
-            {
-                throw new ArgumentNullException("arg4");
-            }
-            if (arg5 == null)
-            {
-                throw new ArgumentNullException("arg5");
-            }
-            if (arg6 == null)
-            {
-                throw new ArgumentNullException("arg6");
-            }
-            if (resultSelector == null)
-            {
-                throw new ArgumentNullException("resultSelector");
-            }
-            using (var enumerator1 = arg1.GetEnumerator())
-            using (var enumerator2 = arg2.GetEnumerator())
-            using (var enumerator3 = arg3.GetEnumerator())
-            using (var enumerator4 = arg4.GetEnumerator())
-            using (var enumerator5 = arg5.GetEnumerator())
-            using (var enumerator6 = arg6.GetEnumerator())
-            {
-                while
-                (
-                    enumerator1.MoveNext()
-                    && enumerator2.MoveNext()
-                    && enumerator3.MoveNext()
-                    && enumerator4.MoveNext()
-                    && enumerator5.MoveNext()
-                    && enumerator6.MoveNext()
-                )
-                {
-                    yield return resultSelector
-                    (
-                        enumerator1.Current,
-                        enumerator2.Current,
-                        enumerator3.Current,
-                        enumerator4.Current,
-                        enumerator5.Current,
-                        enumerator6.Current
-                    );
-                }
-            }
-        }
-
-        public static IEnumerable<TReturn> Zip<T1, T2, T3, T4, T5, T6, T7, TReturn>(IEnumerable<T1> arg1, IEnumerable<T2> arg2, IEnumerable<T3> arg3, IEnumerable<T4> arg4, IEnumerable<T5> arg5, IEnumerable<T6> arg6, IEnumerable<T7> arg7, Func<T1, T2, T3, T4, T5, T6, T7, TReturn> resultSelector)
-        {
-            if (arg1 == null)
-            {
-                throw new ArgumentNullException("arg1");
-            }
-            if (arg2 == null)
-            {
-                throw new ArgumentNullException("arg2");
-            }
-            if (arg3 == null)
-            {
-                throw new ArgumentNullException("arg3");
-            }
-            if (arg4 == null)
-            {
-                throw new ArgumentNullException("arg4");
-            }
-            if (arg5 == null)
-            {
-                throw new ArgumentNullException("arg5");
-            }
-            if (arg6 == null)
-            {
-                throw new ArgumentNullException("arg6");
-            }
-            if (arg7 == null)
-            {
-                throw new ArgumentNullException("arg7");
-            }
-            if (resultSelector == null)
-            {
-                throw new ArgumentNullException("resultSelector");
-            }
-            using (var enumerator1 = arg1.GetEnumerator())
-            using (var enumerator2 = arg2.GetEnumerator())
-            using (var enumerator3 = arg3.GetEnumerator())
-            using (var enumerator4 = arg4.GetEnumerator())
-            using (var enumerator5 = arg5.GetEnumerator())
-            using (var enumerator6 = arg6.GetEnumerator())
-            using (var enumerator7 = arg7.GetEnumerator())
-            {
-                while
-                (
-                    enumerator1.MoveNext()
-                    && enumerator2.MoveNext()
-                    && enumerator3.MoveNext()
-                    && enumerator4.MoveNext()
-                    && enumerator5.MoveNext()
-                    && enumerator6.MoveNext()
-                    && enumerator7.MoveNext()
-                )
-                {
-                    yield return resultSelector
-                    (
-                        enumerator1.Current,
-                        enumerator2.Current,
-                        enumerator3.Current,
-                        enumerator4.Current,
-                        enumerator5.Current,
-                        enumerator6.Current,
-                        enumerator7.Current
-                    );
-                }
-            }
-        }
-
-        public static IEnumerable<TReturn> Zip<T1, T2, T3, T4, T5, T6, T7, T8, TReturn>(IEnumerable<T1> arg1, IEnumerable<T2> arg2, IEnumerable<T3> arg3, IEnumerable<T4> arg4, IEnumerable<T5> arg5, IEnumerable<T6> arg6, IEnumerable<T7> arg7, IEnumerable<T8> arg8, Func<T1, T2, T3, T4, T5, T6, T7, T8, TReturn> resultSelector)
-        {
-            if (arg1 == null)
-            {
-                throw new ArgumentNullException("arg1");
-            }
-            if (arg2 == null)
-            {
-                throw new ArgumentNullException("arg2");
-            }
-            if (arg3 == null)
-            {
-                throw new ArgumentNullException("arg3");
-            }
-            if (arg4 == null)
-            {
-                throw new ArgumentNullException("arg4");
-            }
-            if (arg5 == null)
-            {
-                throw new ArgumentNullException("arg5");
-            }
-            if (arg6 == null)
-            {
-                throw new ArgumentNullException("arg6");
-            }
-            if (arg7 == null)
-            {
-                throw new ArgumentNullException("arg7");
-            }
-            if (arg8 == null)
-            {
-                throw new ArgumentNullException("arg8");
-            }
-            if (resultSelector == null)
-            {
-                throw new ArgumentNullException("resultSelector");
-            }
-            using (var enumerator1 = arg1.GetEnumerator())
-            using (var enumerator2 = arg2.GetEnumerator())
-            using (var enumerator3 = arg3.GetEnumerator())
-            using (var enumerator4 = arg4.GetEnumerator())
-            using (var enumerator5 = arg5.GetEnumerator())
-            using (var enumerator6 = arg6.GetEnumerator())
-            using (var enumerator7 = arg7.GetEnumerator())
-            using (var enumerator8 = arg8.GetEnumerator())
-            {
-                while
-                (
-                    enumerator1.MoveNext()
-                    && enumerator2.MoveNext()
-                    && enumerator3.MoveNext()
-                    && enumerator4.MoveNext()
-                    && enumerator5.MoveNext()
-                    && enumerator6.MoveNext()
-                    && enumerator7.MoveNext()
-                    && enumerator8.MoveNext()
-                )
-                {
-                    yield return resultSelector
-                    (
-                        enumerator1.Current,
-                        enumerator2.Current,
-                        enumerator3.Current,
-                        enumerator4.Current,
-                        enumerator5.Current,
-                        enumerator6.Current,
-                        enumerator7.Current,
-                        enumerator8.Current
-                    );
-                }
-            }
-        }
-
-        public static IEnumerable<TReturn> Zip<T1, T2, T3, T4, T5, T6, T7, T8, T9, TReturn>(IEnumerable<T1> arg1, IEnumerable<T2> arg2, IEnumerable<T3> arg3, IEnumerable<T4> arg4, IEnumerable<T5> arg5, IEnumerable<T6> arg6, IEnumerable<T7> arg7, IEnumerable<T8> arg8, IEnumerable<T9> arg9, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TReturn> resultSelector)
-        {
-            if (arg1 == null)
-            {
-                throw new ArgumentNullException("arg1");
-            }
-            if (arg2 == null)
-            {
-                throw new ArgumentNullException("arg2");
-            }
-            if (arg3 == null)
-            {
-                throw new ArgumentNullException("arg3");
-            }
-            if (arg4 == null)
-            {
-                throw new ArgumentNullException("arg4");
-            }
-            if (arg5 == null)
-            {
-                throw new ArgumentNullException("arg5");
-            }
-            if (arg6 == null)
-            {
-                throw new ArgumentNullException("arg6");
-            }
-            if (arg7 == null)
-            {
-                throw new ArgumentNullException("arg7");
-            }
-            if (arg8 == null)
-            {
-                throw new ArgumentNullException("arg8");
-            }
-            if (arg9 == null)
-            {
-                throw new ArgumentNullException("arg9");
-            }
-            if (resultSelector == null)
-            {
-                throw new ArgumentNullException("resultSelector");
-            }
-            using (var enumerator1 = arg1.GetEnumerator())
-            using (var enumerator2 = arg2.GetEnumerator())
-            using (var enumerator3 = arg3.GetEnumerator())
-            using (var enumerator4 = arg4.GetEnumerator())
-            using (var enumerator5 = arg5.GetEnumerator())
-            using (var enumerator6 = arg6.GetEnumerator())
-            using (var enumerator7 = arg7.GetEnumerator())
-            using (var enumerator8 = arg8.GetEnumerator())
-            using (var enumerator9 = arg9.GetEnumerator())
-            {
-                while
-                (
-                    enumerator1.MoveNext()
-                    && enumerator2.MoveNext()
-                    && enumerator3.MoveNext()
-                    && enumerator4.MoveNext()
-                    && enumerator5.MoveNext()
-                    && enumerator6.MoveNext()
-                    && enumerator7.MoveNext()
-                    && enumerator8.MoveNext()
-                    && enumerator9.MoveNext()
-                )
-                {
-                    yield return resultSelector
-                    (
-                        enumerator1.Current,
-                        enumerator2.Current,
-                        enumerator3.Current,
-                        enumerator4.Current,
-                        enumerator5.Current,
-                        enumerator6.Current,
-                        enumerator7.Current,
-                        enumerator8.Current,
-                        enumerator9.Current
-                    );
-                }
-            }
-        }
-
-        public static IEnumerable<TReturn> Zip<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TReturn>(IEnumerable<T1> arg1, IEnumerable<T2> arg2, IEnumerable<T3> arg3, IEnumerable<T4> arg4, IEnumerable<T5> arg5, IEnumerable<T6> arg6, IEnumerable<T7> arg7, IEnumerable<T8> arg8, IEnumerable<T9> arg9, IEnumerable<T10> arg10, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TReturn> resultSelector)
-        {
-            if (arg1 == null)
-            {
-                throw new ArgumentNullException("arg1");
-            }
-            if (arg2 == null)
-            {
-                throw new ArgumentNullException("arg2");
-            }
-            if (arg3 == null)
-            {
-                throw new ArgumentNullException("arg3");
-            }
-            if (arg4 == null)
-            {
-                throw new ArgumentNullException("arg4");
-            }
-            if (arg5 == null)
-            {
-                throw new ArgumentNullException("arg5");
-            }
-            if (arg6 == null)
-            {
-                throw new ArgumentNullException("arg6");
-            }
-            if (arg7 == null)
-            {
-                throw new ArgumentNullException("arg7");
-            }
-            if (arg8 == null)
-            {
-                throw new ArgumentNullException("arg8");
-            }
-            if (arg9 == null)
-            {
-                throw new ArgumentNullException("arg9");
-            }
-            if (arg10 == null)
-            {
-                throw new ArgumentNullException("arg10");
-            }
-            if (resultSelector == null)
-            {
-                throw new ArgumentNullException("resultSelector");
-            }
-            using (var enumerator1 = arg1.GetEnumerator())
-            using (var enumerator2 = arg2.GetEnumerator())
-            using (var enumerator3 = arg3.GetEnumerator())
-            using (var enumerator4 = arg4.GetEnumerator())
-            using (var enumerator5 = arg5.GetEnumerator())
-            using (var enumerator6 = arg6.GetEnumerator())
-            using (var enumerator7 = arg7.GetEnumerator())
-            using (var enumerator8 = arg8.GetEnumerator())
-            using (var enumerator9 = arg9.GetEnumerator())
-            using (var enumerator10 = arg10.GetEnumerator())
-            {
-                while
-                (
-                    enumerator1.MoveNext()
-                    && enumerator2.MoveNext()
-                    && enumerator3.MoveNext()
-                    && enumerator4.MoveNext()
-                    && enumerator5.MoveNext()
-                    && enumerator6.MoveNext()
-                    && enumerator7.MoveNext()
-                    && enumerator8.MoveNext()
-                    && enumerator9.MoveNext()
-                    && enumerator10.MoveNext()
-                )
-                {
-                    yield return resultSelector
-                    (
-                        enumerator1.Current,
-                        enumerator2.Current,
-                        enumerator3.Current,
-                        enumerator4.Current,
-                        enumerator5.Current,
-                        enumerator6.Current,
-                        enumerator7.Current,
-                        enumerator8.Current,
-                        enumerator9.Current,
-                        enumerator10.Current
-                    );
-                }
-            }
-        }
-
-        public static IEnumerable<TReturn> Zip<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, TReturn>(IEnumerable<T1> arg1, IEnumerable<T2> arg2, IEnumerable<T3> arg3, IEnumerable<T4> arg4, IEnumerable<T5> arg5, IEnumerable<T6> arg6, IEnumerable<T7> arg7, IEnumerable<T8> arg8, IEnumerable<T9> arg9, IEnumerable<T10> arg10, IEnumerable<T11> arg11, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, TReturn> resultSelector)
-        {
-            if (arg1 == null)
-            {
-                throw new ArgumentNullException("arg1");
-            }
-            if (arg2 == null)
-            {
-                throw new ArgumentNullException("arg2");
-            }
-            if (arg3 == null)
-            {
-                throw new ArgumentNullException("arg3");
-            }
-            if (arg4 == null)
-            {
-                throw new ArgumentNullException("arg4");
-            }
-            if (arg5 == null)
-            {
-                throw new ArgumentNullException("arg5");
-            }
-            if (arg6 == null)
-            {
-                throw new ArgumentNullException("arg6");
-            }
-            if (arg7 == null)
-            {
-                throw new ArgumentNullException("arg7");
-            }
-            if (arg8 == null)
-            {
-                throw new ArgumentNullException("arg8");
-            }
-            if (arg9 == null)
-            {
-                throw new ArgumentNullException("arg9");
-            }
-            if (arg10 == null)
-            {
-                throw new ArgumentNullException("arg10");
-            }
-            if (arg11 == null)
-            {
-                throw new ArgumentNullException("arg11");
-            }
-            if (resultSelector == null)
-            {
-                throw new ArgumentNullException("resultSelector");
-            }
-            using (var enumerator1 = arg1.GetEnumerator())
-            using (var enumerator2 = arg2.GetEnumerator())
-            using (var enumerator3 = arg3.GetEnumerator())
-            using (var enumerator4 = arg4.GetEnumerator())
-            using (var enumerator5 = arg5.GetEnumerator())
-            using (var enumerator6 = arg6.GetEnumerator())
-            using (var enumerator7 = arg7.GetEnumerator())
-            using (var enumerator8 = arg8.GetEnumerator())
-            using (var enumerator9 = arg9.GetEnumerator())
-            using (var enumerator10 = arg10.GetEnumerator())
-            using (var enumerator11 = arg11.GetEnumerator())
-            {
-                while
-                (
-                    enumerator1.MoveNext()
-                    && enumerator2.MoveNext()
-                    && enumerator3.MoveNext()
-                    && enumerator4.MoveNext()
-                    && enumerator5.MoveNext()
-                    && enumerator6.MoveNext()
-                    && enumerator7.MoveNext()
-                    && enumerator8.MoveNext()
-                    && enumerator9.MoveNext()
-                    && enumerator10.MoveNext()
-                    && enumerator11.MoveNext()
-                )
-                {
-                    yield return resultSelector
-                    (
-                        enumerator1.Current,
-                        enumerator2.Current,
-                        enumerator3.Current,
-                        enumerator4.Current,
-                        enumerator5.Current,
-                        enumerator6.Current,
-                        enumerator7.Current,
-                        enumerator8.Current,
-                        enumerator9.Current,
-                        enumerator10.Current,
-                        enumerator11.Current
-                    );
-                }
-            }
-        }
-
-        public static IEnumerable<TReturn> Zip<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, TReturn>(IEnumerable<T1> arg1, IEnumerable<T2> arg2, IEnumerable<T3> arg3, IEnumerable<T4> arg4, IEnumerable<T5> arg5, IEnumerable<T6> arg6, IEnumerable<T7> arg7, IEnumerable<T8> arg8, IEnumerable<T9> arg9, IEnumerable<T10> arg10, IEnumerable<T11> arg11, IEnumerable<T12> arg12, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, TReturn> resultSelector)
-        {
-            if (arg1 == null)
-            {
-                throw new ArgumentNullException("arg1");
-            }
-            if (arg2 == null)
-            {
-                throw new ArgumentNullException("arg2");
-            }
-            if (arg3 == null)
-            {
-                throw new ArgumentNullException("arg3");
-            }
-            if (arg4 == null)
-            {
-                throw new ArgumentNullException("arg4");
-            }
-            if (arg5 == null)
-            {
-                throw new ArgumentNullException("arg5");
-            }
-            if (arg6 == null)
-            {
-                throw new ArgumentNullException("arg6");
-            }
-            if (arg7 == null)
-            {
-                throw new ArgumentNullException("arg7");
-            }
-            if (arg8 == null)
-            {
-                throw new ArgumentNullException("arg8");
-            }
-            if (arg9 == null)
-            {
-                throw new ArgumentNullException("arg9");
-            }
-            if (arg10 == null)
-            {
-                throw new ArgumentNullException("arg10");
-            }
-            if (arg11 == null)
-            {
-                throw new ArgumentNullException("arg11");
-            }
-            if (arg12 == null)
-            {
-                throw new ArgumentNullException("arg12");
-            }
-            if (resultSelector == null)
-            {
-                throw new ArgumentNullException("resultSelector");
-            }
-            using (var enumerator1 = arg1.GetEnumerator())
-            using (var enumerator2 = arg2.GetEnumerator())
-            using (var enumerator3 = arg3.GetEnumerator())
-            using (var enumerator4 = arg4.GetEnumerator())
-            using (var enumerator5 = arg5.GetEnumerator())
-            using (var enumerator6 = arg6.GetEnumerator())
-            using (var enumerator7 = arg7.GetEnumerator())
-            using (var enumerator8 = arg8.GetEnumerator())
-            using (var enumerator9 = arg9.GetEnumerator())
-            using (var enumerator10 = arg10.GetEnumerator())
-            using (var enumerator11 = arg11.GetEnumerator())
-            using (var enumerator12 = arg12.GetEnumerator())
-            {
-                while
-                (
-                    enumerator1.MoveNext()
-                    && enumerator2.MoveNext()
-                    && enumerator3.MoveNext()
-                    && enumerator4.MoveNext()
-                    && enumerator5.MoveNext()
-                    && enumerator6.MoveNext()
-                    && enumerator7.MoveNext()
-                    && enumerator8.MoveNext()
-                    && enumerator9.MoveNext()
-                    && enumerator10.MoveNext()
-                    && enumerator11.MoveNext()
-                    && enumerator12.MoveNext()
-                )
-                {
-                    yield return resultSelector
-                    (
-                        enumerator1.Current,
-                        enumerator2.Current,
-                        enumerator3.Current,
-                        enumerator4.Current,
-                        enumerator5.Current,
-                        enumerator6.Current,
-                        enumerator7.Current,
-                        enumerator8.Current,
-                        enumerator9.Current,
-                        enumerator10.Current,
-                        enumerator11.Current,
-                        enumerator12.Current
-                    );
-                }
-            }
-        }
-
-        public static IEnumerable<TReturn> Zip<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, TReturn>(IEnumerable<T1> arg1, IEnumerable<T2> arg2, IEnumerable<T3> arg3, IEnumerable<T4> arg4, IEnumerable<T5> arg5, IEnumerable<T6> arg6, IEnumerable<T7> arg7, IEnumerable<T8> arg8, IEnumerable<T9> arg9, IEnumerable<T10> arg10, IEnumerable<T11> arg11, IEnumerable<T12> arg12, IEnumerable<T13> arg13, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, TReturn> resultSelector)
-        {
-            if (arg1 == null)
-            {
-                throw new ArgumentNullException("arg1");
-            }
-            if (arg2 == null)
-            {
-                throw new ArgumentNullException("arg2");
-            }
-            if (arg3 == null)
-            {
-                throw new ArgumentNullException("arg3");
-            }
-            if (arg4 == null)
-            {
-                throw new ArgumentNullException("arg4");
-            }
-            if (arg5 == null)
-            {
-                throw new ArgumentNullException("arg5");
-            }
-            if (arg6 == null)
-            {
-                throw new ArgumentNullException("arg6");
-            }
-            if (arg7 == null)
-            {
-                throw new ArgumentNullException("arg7");
-            }
-            if (arg8 == null)
-            {
-                throw new ArgumentNullException("arg8");
-            }
-            if (arg9 == null)
-            {
-                throw new ArgumentNullException("arg9");
-            }
-            if (arg10 == null)
-            {
-                throw new ArgumentNullException("arg10");
-            }
-            if (arg11 == null)
-            {
-                throw new ArgumentNullException("arg11");
-            }
-            if (arg12 == null)
-            {
-                throw new ArgumentNullException("arg12");
-            }
-            if (arg13 == null)
-            {
-                throw new ArgumentNullException("arg13");
-            }
-            if (resultSelector == null)
-            {
-                throw new ArgumentNullException("resultSelector");
-            }
-            using (var enumerator1 = arg1.GetEnumerator())
-            using (var enumerator2 = arg2.GetEnumerator())
-            using (var enumerator3 = arg3.GetEnumerator())
-            using (var enumerator4 = arg4.GetEnumerator())
-            using (var enumerator5 = arg5.GetEnumerator())
-            using (var enumerator6 = arg6.GetEnumerator())
-            using (var enumerator7 = arg7.GetEnumerator())
-            using (var enumerator8 = arg8.GetEnumerator())
-            using (var enumerator9 = arg9.GetEnumerator())
-            using (var enumerator10 = arg10.GetEnumerator())
-            using (var enumerator11 = arg11.GetEnumerator())
-            using (var enumerator12 = arg12.GetEnumerator())
-            using (var enumerator13 = arg13.GetEnumerator())
-            {
-                while
-                (
-                    enumerator1.MoveNext()
-                    && enumerator2.MoveNext()
-                    && enumerator3.MoveNext()
-                    && enumerator4.MoveNext()
-                    && enumerator5.MoveNext()
-                    && enumerator6.MoveNext()
-                    && enumerator7.MoveNext()
-                    && enumerator8.MoveNext()
-                    && enumerator9.MoveNext()
-                    && enumerator10.MoveNext()
-                    && enumerator11.MoveNext()
-                    && enumerator12.MoveNext()
-                    && enumerator13.MoveNext()
-                )
-                {
-                    yield return resultSelector
-                    (
-                        enumerator1.Current,
-                        enumerator2.Current,
-                        enumerator3.Current,
-                        enumerator4.Current,
-                        enumerator5.Current,
-                        enumerator6.Current,
-                        enumerator7.Current,
-                        enumerator8.Current,
-                        enumerator9.Current,
-                        enumerator10.Current,
-                        enumerator11.Current,
-                        enumerator12.Current,
-                        enumerator13.Current
-                    );
-                }
-            }
-        }
-
-        public static IEnumerable<TReturn> Zip<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, TReturn>(IEnumerable<T1> arg1, IEnumerable<T2> arg2, IEnumerable<T3> arg3, IEnumerable<T4> arg4, IEnumerable<T5> arg5, IEnumerable<T6> arg6, IEnumerable<T7> arg7, IEnumerable<T8> arg8, IEnumerable<T9> arg9, IEnumerable<T10> arg10, IEnumerable<T11> arg11, IEnumerable<T12> arg12, IEnumerable<T13> arg13, IEnumerable<T14> arg14, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, TReturn> resultSelector)
-        {
-            if (arg1 == null)
-            {
-                throw new ArgumentNullException("arg1");
-            }
-            if (arg2 == null)
-            {
-                throw new ArgumentNullException("arg2");
-            }
-            if (arg3 == null)
-            {
-                throw new ArgumentNullException("arg3");
-            }
-            if (arg4 == null)
-            {
-                throw new ArgumentNullException("arg4");
-            }
-            if (arg5 == null)
-            {
-                throw new ArgumentNullException("arg5");
-            }
-            if (arg6 == null)
-            {
-                throw new ArgumentNullException("arg6");
-            }
-            if (arg7 == null)
-            {
-                throw new ArgumentNullException("arg7");
-            }
-            if (arg8 == null)
-            {
-                throw new ArgumentNullException("arg8");
-            }
-            if (arg9 == null)
-            {
-                throw new ArgumentNullException("arg9");
-            }
-            if (arg10 == null)
-            {
-                throw new ArgumentNullException("arg10");
-            }
-            if (arg11 == null)
-            {
-                throw new ArgumentNullException("arg11");
-            }
-            if (arg12 == null)
-            {
-                throw new ArgumentNullException("arg12");
-            }
-            if (arg13 == null)
-            {
-                throw new ArgumentNullException("arg13");
-            }
-            if (arg14 == null)
-            {
-                throw new ArgumentNullException("arg14");
-            }
-            if (resultSelector == null)
-            {
-                throw new ArgumentNullException("resultSelector");
-            }
-            using (var enumerator1 = arg1.GetEnumerator())
-            using (var enumerator2 = arg2.GetEnumerator())
-            using (var enumerator3 = arg3.GetEnumerator())
-            using (var enumerator4 = arg4.GetEnumerator())
-            using (var enumerator5 = arg5.GetEnumerator())
-            using (var enumerator6 = arg6.GetEnumerator())
-            using (var enumerator7 = arg7.GetEnumerator())
-            using (var enumerator8 = arg8.GetEnumerator())
-            using (var enumerator9 = arg9.GetEnumerator())
-            using (var enumerator10 = arg10.GetEnumerator())
-            using (var enumerator11 = arg11.GetEnumerator())
-            using (var enumerator12 = arg12.GetEnumerator())
-            using (var enumerator13 = arg13.GetEnumerator())
-            using (var enumerator14 = arg14.GetEnumerator())
-            {
-                while
-                (
-                    enumerator1.MoveNext()
-                    && enumerator2.MoveNext()
-                    && enumerator3.MoveNext()
-                    && enumerator4.MoveNext()
-                    && enumerator5.MoveNext()
-                    && enumerator6.MoveNext()
-                    && enumerator7.MoveNext()
-                    && enumerator8.MoveNext()
-                    && enumerator9.MoveNext()
-                    && enumerator10.MoveNext()
-                    && enumerator11.MoveNext()
-                    && enumerator12.MoveNext()
-                    && enumerator13.MoveNext()
-                    && enumerator14.MoveNext()
-                )
-                {
-                    yield return resultSelector
-                    (
-                        enumerator1.Current,
-                        enumerator2.Current,
-                        enumerator3.Current,
-                        enumerator4.Current,
-                        enumerator5.Current,
-                        enumerator6.Current,
-                        enumerator7.Current,
-                        enumerator8.Current,
-                        enumerator9.Current,
-                        enumerator10.Current,
-                        enumerator11.Current,
-                        enumerator12.Current,
-                        enumerator13.Current,
-                        enumerator14.Current
-                    );
-                }
-            }
-        }
-
-        public static IEnumerable<TReturn> Zip<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, TReturn>(IEnumerable<T1> arg1, IEnumerable<T2> arg2, IEnumerable<T3> arg3, IEnumerable<T4> arg4, IEnumerable<T5> arg5, IEnumerable<T6> arg6, IEnumerable<T7> arg7, IEnumerable<T8> arg8, IEnumerable<T9> arg9, IEnumerable<T10> arg10, IEnumerable<T11> arg11, IEnumerable<T12> arg12, IEnumerable<T13> arg13, IEnumerable<T14> arg14, IEnumerable<T15> arg15, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, TReturn> resultSelector)
-        {
-            if (arg1 == null)
-            {
-                throw new ArgumentNullException("arg1");
-            }
-            if (arg2 == null)
-            {
-                throw new ArgumentNullException("arg2");
-            }
-            if (arg3 == null)
-            {
-                throw new ArgumentNullException("arg3");
-            }
-            if (arg4 == null)
-            {
-                throw new ArgumentNullException("arg4");
-            }
-            if (arg5 == null)
-            {
-                throw new ArgumentNullException("arg5");
-            }
-            if (arg6 == null)
-            {
-                throw new ArgumentNullException("arg6");
-            }
-            if (arg7 == null)
-            {
-                throw new ArgumentNullException("arg7");
-            }
-            if (arg8 == null)
-            {
-                throw new ArgumentNullException("arg8");
-            }
-            if (arg9 == null)
-            {
-                throw new ArgumentNullException("arg9");
-            }
-            if (arg10 == null)
-            {
-                throw new ArgumentNullException("arg10");
-            }
-            if (arg11 == null)
-            {
-                throw new ArgumentNullException("arg11");
-            }
-            if (arg12 == null)
-            {
-                throw new ArgumentNullException("arg12");
-            }
-            if (arg13 == null)
-            {
-                throw new ArgumentNullException("arg13");
-            }
-            if (arg14 == null)
-            {
-                throw new ArgumentNullException("arg14");
-            }
-            if (arg15 == null)
-            {
-                throw new ArgumentNullException("arg15");
-            }
-            if (resultSelector == null)
-            {
-                throw new ArgumentNullException("resultSelector");
-            }
-            using (var enumerator1 = arg1.GetEnumerator())
-            using (var enumerator2 = arg2.GetEnumerator())
-            using (var enumerator3 = arg3.GetEnumerator())
-            using (var enumerator4 = arg4.GetEnumerator())
-            using (var enumerator5 = arg5.GetEnumerator())
-            using (var enumerator6 = arg6.GetEnumerator())
-            using (var enumerator7 = arg7.GetEnumerator())
-            using (var enumerator8 = arg8.GetEnumerator())
-            using (var enumerator9 = arg9.GetEnumerator())
-            using (var enumerator10 = arg10.GetEnumerator())
-            using (var enumerator11 = arg11.GetEnumerator())
-            using (var enumerator12 = arg12.GetEnumerator())
-            using (var enumerator13 = arg13.GetEnumerator())
-            using (var enumerator14 = arg14.GetEnumerator())
-            using (var enumerator15 = arg15.GetEnumerator())
-            {
-                while
-                (
-                    enumerator1.MoveNext()
-                    && enumerator2.MoveNext()
-                    && enumerator3.MoveNext()
-                    && enumerator4.MoveNext()
-                    && enumerator5.MoveNext()
-                    && enumerator6.MoveNext()
-                    && enumerator7.MoveNext()
-                    && enumerator8.MoveNext()
-                    && enumerator9.MoveNext()
-                    && enumerator10.MoveNext()
-                    && enumerator11.MoveNext()
-                    && enumerator12.MoveNext()
-                    && enumerator13.MoveNext()
-                    && enumerator14.MoveNext()
-                    && enumerator15.MoveNext()
-                )
-                {
-                    yield return resultSelector
-                    (
-                        enumerator1.Current,
-                        enumerator2.Current,
-                        enumerator3.Current,
-                        enumerator4.Current,
-                        enumerator5.Current,
-                        enumerator6.Current,
-                        enumerator7.Current,
-                        enumerator8.Current,
-                        enumerator9.Current,
-                        enumerator10.Current,
-                        enumerator11.Current,
-                        enumerator12.Current,
-                        enumerator13.Current,
-                        enumerator14.Current,
-                        enumerator15.Current
-                    );
-                }
-            }
-        }
-
-        public static IEnumerable<TReturn> Zip<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, TReturn>(IEnumerable<T1> arg1, IEnumerable<T2> arg2, IEnumerable<T3> arg3, IEnumerable<T4> arg4, IEnumerable<T5> arg5, IEnumerable<T6> arg6, IEnumerable<T7> arg7, IEnumerable<T8> arg8, IEnumerable<T9> arg9, IEnumerable<T10> arg10, IEnumerable<T11> arg11, IEnumerable<T12> arg12, IEnumerable<T13> arg13, IEnumerable<T14> arg14, IEnumerable<T15> arg15, IEnumerable<T16> arg16, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, TReturn> resultSelector)
-        {
-            if (arg1 == null)
-            {
-                throw new ArgumentNullException("arg1");
-            }
-            if (arg2 == null)
-            {
-                throw new ArgumentNullException("arg2");
-            }
-            if (arg3 == null)
-            {
-                throw new ArgumentNullException("arg3");
-            }
-            if (arg4 == null)
-            {
-                throw new ArgumentNullException("arg4");
-            }
-            if (arg5 == null)
-            {
-                throw new ArgumentNullException("arg5");
-            }
-            if (arg6 == null)
-            {
-                throw new ArgumentNullException("arg6");
-            }
-            if (arg7 == null)
-            {
-                throw new ArgumentNullException("arg7");
-            }
-            if (arg8 == null)
-            {
-                throw new ArgumentNullException("arg8");
-            }
-            if (arg9 == null)
-            {
-                throw new ArgumentNullException("arg9");
-            }
-            if (arg10 == null)
-            {
-                throw new ArgumentNullException("arg10");
-            }
-            if (arg11 == null)
-            {
-                throw new ArgumentNullException("arg11");
-            }
-            if (arg12 == null)
-            {
-                throw new ArgumentNullException("arg12");
-            }
-            if (arg13 == null)
-            {
-                throw new ArgumentNullException("arg13");
-            }
-            if (arg14 == null)
-            {
-                throw new ArgumentNullException("arg14");
-            }
-            if (arg15 == null)
-            {
-                throw new ArgumentNullException("arg15");
-            }
-            if (arg16 == null)
-            {
-                throw new ArgumentNullException("arg16");
-            }
-            if (resultSelector == null)
-            {
-                throw new ArgumentNullException("resultSelector");
-            }
-            using (var enumerator1 = arg1.GetEnumerator())
-            using (var enumerator2 = arg2.GetEnumerator())
-            using (var enumerator3 = arg3.GetEnumerator())
-            using (var enumerator4 = arg4.GetEnumerator())
-            using (var enumerator5 = arg5.GetEnumerator())
-            using (var enumerator6 = arg6.GetEnumerator())
-            using (var enumerator7 = arg7.GetEnumerator())
-            using (var enumerator8 = arg8.GetEnumerator())
-            using (var enumerator9 = arg9.GetEnumerator())
-            using (var enumerator10 = arg10.GetEnumerator())
-            using (var enumerator11 = arg11.GetEnumerator())
-            using (var enumerator12 = arg12.GetEnumerator())
-            using (var enumerator13 = arg13.GetEnumerator())
-            using (var enumerator14 = arg14.GetEnumerator())
-            using (var enumerator15 = arg15.GetEnumerator())
-            using (var enumerator16 = arg16.GetEnumerator())
-            {
-                while
-                (
-                    enumerator1.MoveNext()
-                    && enumerator2.MoveNext()
-                    && enumerator3.MoveNext()
-                    && enumerator4.MoveNext()
-                    && enumerator5.MoveNext()
-                    && enumerator6.MoveNext()
-                    && enumerator7.MoveNext()
-                    && enumerator8.MoveNext()
-                    && enumerator9.MoveNext()
-                    && enumerator10.MoveNext()
-                    && enumerator11.MoveNext()
-                    && enumerator12.MoveNext()
-                    && enumerator13.MoveNext()
-                    && enumerator14.MoveNext()
-                    && enumerator15.MoveNext()
-                    && enumerator16.MoveNext()
-                )
-                {
-                    yield return resultSelector
-                    (
-                        enumerator1.Current,
-                        enumerator2.Current,
-                        enumerator3.Current,
-                        enumerator4.Current,
-                        enumerator5.Current,
-                        enumerator6.Current,
-                        enumerator7.Current,
-                        enumerator8.Current,
-                        enumerator9.Current,
-                        enumerator10.Current,
-                        enumerator11.Current,
-                        enumerator12.Current,
-                        enumerator13.Current,
-                        enumerator14.Current,
-                        enumerator15.Current,
-                        enumerator16.Current
-                    );
-                }
-            }
-        }
-#endif
-
-	}
-}+#endif


Don't disable the tool as it falls back to build file.

--- vs2012/Vs2012Ext/TundraExtsVs2012/TundraConnect.cs
+++ vs2012/Vs2012Ext/TundraExtsVs2012/TundraConnect.cs
@@ -121,15 +121,7 @@
 			{
 				if(commandName == "TundraExtsVs2012.TundraConnect.BuildCurrentFile")
 				{
-          ContextInfo ctx;
-          if (GetContext(out ctx))
-          {
-            status = (vsCommandStatus)vsCommandStatus.vsCommandStatusSupported | vsCommandStatus.vsCommandStatusEnabled;
-          }
-          else
-          {
-            status = (vsCommandStatus)vsCommandStatus.vsCommandStatusUnsupported;
-          }
+          status = (vsCommandStatus)vsCommandStatus.vsCommandStatusSupported | vsCommandStatus.vsCommandStatusEnabled;
 					return;
 				}
 			}


version 2.3.3

version 2.3.3

--- GameDevWare.Serialization/Properties/AssemblyInfo.cs
+++ GameDevWare.Serialization/Properties/AssemblyInfo.cs
@@ -27,7 +27,7 @@
 [assembly: AssemblyConfiguration("")]
 [assembly: AssemblyCompany("GameDevWare")]
 [assembly: AssemblyProduct("GameDevWare.Serialization")]
-[assembly: AssemblyCopyright("Copyright © 2016 GameDevWare, Denis Zykov")]
+[assembly: AssemblyCopyright("Copyright © 2018 GameDevWare, Denis Zykov")]
 [assembly: AssemblyTrademark("")]
 [assembly: AssemblyCulture("")]

@@ -52,7 +52,7 @@
 // by using the '*' as shown below:
 // [assembly: AssemblyVersion("1.0.*")]

-[assembly: AssemblyVersion("2.3.2.0")]
-[assembly: AssemblyFileVersion("2.3.2.0")]
-[assembly: AssemblyInformationalVersion("2.3.2")]
+[assembly: AssemblyVersion("2.3.3.0")]
+[assembly: AssemblyFileVersion("2.3.3.0")]
+[assembly: AssemblyInformationalVersion("2.3.3")]
 #endif


[Hurtworld] Fix NRE for hurt.SendChatMessage and Player.Message

--- Games/Unity/Oxide.Game.Hurtworld/Libraries/Player.cs
+++ Games/Unity/Oxide.Game.Hurtworld/Libraries/Player.cs
@@ -345,6 +345,7 @@
         /// <param name="prefix"></param>
         public void Message(PlayerSession session, string message, string prefix = null)
         {
+            if (string.IsNullOrEmpty(message) && string.IsNullOrEmpty(prefix)) return;
             ChatManager.RPC("RelayChat", session.Player, string.IsNullOrEmpty(prefix) ? message : (string.IsNullOrEmpty(message) ? prefix : $"{prefix}: {message}"));
         }


PG-1261: Corrected comment in unit test

PG-1261: Corrected comment in unit test

--- GlyssenTests/Dialogs/BlockNavigatorViewModelTests.cs
+++ GlyssenTests/Dialogs/BlockNavigatorViewModelTests.cs
@@ -1340,7 +1340,7 @@

 		/// <summary>
 		/// PG-1261: This test indirectly tests the IsRelevant method, which should determine that the vernacular
-		/// block at the end of Mark 15 is NOT relevant because it has an additional verse not in the reference text.
+		/// block at the end of Mark 15 IS relevant because it has an additional verse not in the reference text.
 		/// </summary>
 		[Test]
 		public void IsRelevant_VernBlockHasUnexpectedVerseNotInReferenceText_ReturnsFalse()


temp commit

temp commit

--- GoStore-FrontEnd/GoStore-FrontEnd/MainWindow.xaml.cs
+++ GoStore-FrontEnd/GoStore-FrontEnd/MainWindow.xaml.cs
@@ -1,28 +1,28 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-
-namespace GoStore_FrontEnd
-{
-    /// <summary>
-    /// MainWindow.xaml 的交互逻辑
-    /// </summary>
-    public partial class MainWindow : Window
-    {
-        public MainWindow()
-        {
-            InitializeComponent();
-        }
-    }
-}
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace GoStore_FrontEnd
+{
+    /// <summary>
+    /// MainWindow.xaml 的交互逻辑
+    /// </summary>
+    public partial class MainWindow : Window
+    {
+        public MainWindow()
+        {
+            InitializeComponent();
+        }
+    }
+}


Add raw key blob formats

Add raw key blob formats

--- src/Cryptography/KeyBlobFormat.cs
+++ src/Cryptography/KeyBlobFormat.cs
@@ -2,6 +2,15 @@
 {
     public enum KeyBlobFormat
     {
-        None,
+        None = 0,
+
+        // --- Secret Key Formats ---
+
+        RawSymmetricKey = -1,
+        RawPrivateKey = -2,
+
+        // --- Public Key Formats ---
+
+        RawPublicKey = 1,
     }
 }


pseudo code algoritme

pseudo code algoritme

--- ICT4RealsWebForms/ICT4RealsWebForms/InUitRij.aspx.cs
+++ ICT4RealsWebForms/ICT4RealsWebForms/InUitRij.aspx.cs
@@ -32,6 +32,16 @@
             }
             this.parkingsystem = new Parkingsystem();
             this.padatabase = new PAdatabase();
+        }
+        public Rail ReturnRail()
+        {
+            //controleer bestaande rails.
+            //check typeallowed
+            //check blokkade
+            //check taken?
+            //check eerstvolgende van die rail
+            //return
+            return null;
         }
         public void btnIncomingTram_Click(object sender, EventArgs e)
         {


Attemt to set the $all stream permissions.

--- src/Cedar.EventStore.GetEventStore.Tests/GesEventStoreFixture.cs
+++ src/Cedar.EventStore.GetEventStore.Tests/GesEventStoreFixture.cs
@@ -15,12 +15,18 @@
         public override async Task<IEventStore> GetEventStore()
         {
             var node = await CreateClusterVNode();
-            var connectionSettingsBuilder = ConnectionSettings
-                .Create()
-                //.SetDefaultUserCredentials(new UserCredentials("admin", "changeit"))
-                .KeepReconnecting();
+
+            using(var eventStoreConnection = EmbeddedEventStoreConnection.Create(node))
+            {
+                await eventStoreConnection.SetStreamMetadataAsync(
+                    "$all",
+                    ExpectedVersion.Any,
+                    global::EventStore.ClientAPI.StreamMetadata.Build().SetReadRole("$all"),
+                    new UserCredentials("admin", "changeit"));
+            }
+
             var gesEventStore = new GesEventStore(
-                () => EmbeddedEventStoreConnection.Create(node, connectionSettingsBuilder));
+                () => EmbeddedEventStoreConnection.Create(node));
             return new EventStoreWrapper(gesEventStore, node);
         }


Adding a missing extension method

Adding a missing extension method

--- src/Microsoft.Owin.Host.SystemWeb/HttpContextExtensions.net45.cs
+++ src/Microsoft.Owin.Host.SystemWeb/HttpContextExtensions.net45.cs
@@ -137,6 +137,15 @@
             var extra = new AuthenticationExtra { IsPersistent = isPersistent };
             context.SignIn(new ClaimsPrincipal(new ClaimsIdentity(claims, authenticationType, nameClaimType, roleClaimType)), extra);
         }
+
+        /// <summary></summary>
+        /// <param name="context"></param>
+        /// <param name="authenticationType"></param>
+        /// <returns></returns>
+        public static Task<ClaimsIdentity> GetExternalIdentity(this HttpContext context)
+        {
+            return context.Authenticate("External");
+        }
     }
 }


Preview the Brush key from being null, which will throw in VS.

--HG--
branch : 1.8

--- src/DialogServices/UIResources.cs
+++ src/DialogServices/UIResources.cs
@@ -20,7 +20,6 @@
             {
                 if (VsVersionHelper.IsVisualStudio2010)
                 {
-
                     return VsBrushes.NewProjectBackgroundKey;
                 }
                 else
@@ -29,7 +28,8 @@
                     {
                         _windowBackgroundBrushKey = GetObject(
                             "Microsoft.VisualStudio.ExtensionsExplorer.UI.ColorResources, Microsoft.VisualStudio.ExtensionsExplorer.UI", // Class Name, Assembly Name
-                            "BackgroundBrushKey");  // Property Name
+                            "BackgroundBrushKey", // Property Name
+                            VsBrushes.NewProjectBackgroundKey);
                     }

                     return _windowBackgroundBrushKey;
@@ -54,7 +54,8 @@
                     {
                         _contentBackgroundBrushKey = GetObject(
                             "Microsoft.VisualStudio.ExtensionsExplorer.UI.ColorResources, Microsoft.VisualStudio.ExtensionsExplorer.UI", // Class Name, Assembly Name
-                            "WonderbarBrushKey");   // Property Name
+                            "WonderbarBrushKey",    // Property Name
+                            VsBrushes.WindowKey);
                     }

                     return _contentBackgroundBrushKey;
@@ -62,15 +63,21 @@
             }
         }

-        private static object GetObject(string fullClassName, string property)
+        private static object GetObject(string fullClassName, string property, object defaultValue)
         {
             Type type = Type.GetType(fullClassName);
             if (type == null)
             {
-                return null;
+                return defaultValue;
             }
+
             PropertyInfo propertyInfo = type.GetProperty(property, BindingFlags.Public | BindingFlags.Static);
-            return propertyInfo != null ? propertyInfo.GetValue(null, null) : null;
+            if (propertyInfo == null)
+            {
+                return defaultValue;
+            }
+
+            return propertyInfo.GetValue(null, null) ?? defaultValue;
         }
     }
-}
+}


Change to use ConcurrentQueue.IsEmpty instead of ConcurrentQueue.Count

--- src/NUnitFramework/framework/Internal/Results/TestSuiteResult.cs
+++ src/NUnitFramework/framework/Internal/Results/TestSuiteResult.cs
@@ -95,7 +95,7 @@
         /// </summary>
         public override bool HasChildren
         {
-            get { return _children.Count > 0; }
+            get { return !_children.IsEmpty; }
         }

         /// <summary>


Revert "Fix to AddOcelot(), Config File Merge (#970)" (#974)

This reverts commit ffecbed43a33d65280a8ce90f98819a5ca24473d.

--- src/Ocelot/DependencyInjection/ConfigurationBuilderExtensions.cs
+++ src/Ocelot/DependencyInjection/ConfigurationBuilderExtensions.cs
@@ -40,13 +40,15 @@

             const string globalConfigFile = "ocelot.global.json";

-            string subConfigPattern = $@"^ocelot\.([a-zA-Z0-9]+|[a-zA-Z0-9]+\.{env?.EnvironmentName})\.json$";
+            const string subConfigPattern = @"^ocelot\.[a-zA-Z0-9]+\.json$";
+
+            string excludeConfigName = env?.EnvironmentName != null ? $"ocelot.{env.EnvironmentName}.json" : string.Empty;

             var reg = new Regex(subConfigPattern, RegexOptions.IgnoreCase | RegexOptions.Singleline);

             var files = new DirectoryInfo(folder)
                 .EnumerateFiles()
-                .Where(fi => reg.IsMatch(fi.Name))
+                .Where(fi => reg.IsMatch(fi.Name) && (fi.Name != excludeConfigName))
                 .ToList();

             var fileConfiguration = new FileConfiguration();


Fixed routing issue with Remote Instance (#5170)

Remote instances were incorrect for the following actions:  Create, Delete and Edit.

--- src/OrchardCore.Modules/OrchardCore.Deployment.Remote/Startup.cs
+++ src/OrchardCore.Modules/OrchardCore.Deployment.Remote/Startup.cs
@@ -72,19 +72,19 @@
             routes.MapAreaControllerRoute(
                 name: "DeploymentRemoteInstancesCreate",
                 areaName: "OrchardCore.Deployment.Remote",
-                pattern: _adminOptions.AdminUrlPrefix + "/Deployment/RemoteClient/Create",
+                pattern: _adminOptions.AdminUrlPrefix + "/Deployment/RemoteInstance/Create",
                 defaults: new { controller = remoteInstanceControllerName, action = nameof(RemoteInstanceController.Create) }
             );
             routes.MapAreaControllerRoute(
                 name: "DeploymentRemoteInstancesDelete",
                 areaName: "OrchardCore.Deployment.Remote",
-                pattern: _adminOptions.AdminUrlPrefix + "/Deployment/RemoteClient/Delete/{id}",
+                pattern: _adminOptions.AdminUrlPrefix + "/Deployment/RemoteInstance/Delete/{id}",
                 defaults: new { controller = remoteInstanceControllerName, action = nameof(RemoteClientController.Delete) }
             );
             routes.MapAreaControllerRoute(
                 name: "DeploymentRemoteInstancesEdit",
                 areaName: "OrchardCore.Deployment.Remote",
-                pattern: _adminOptions.AdminUrlPrefix + "/Deployment/RemoteClient/Edit/{id}",
+                pattern: _adminOptions.AdminUrlPrefix + "/Deployment/RemoteInstance/Edit/{id}",
                 defaults: new { controller = remoteInstanceControllerName, action = nameof(RemoteInstanceController.Edit) }
             );
         }


Overrides methods in default dto set controller


performance fix

performance fix

--- DbShell.Driver.SqlServer/SqlServerDatabaseAnalyser.cs
+++ DbShell.Driver.SqlServer/SqlServerDatabaseAnalyser.cs
@@ -158,6 +158,10 @@
                         cmd.CommandText = sql;
                         using (var reader = cmd.ExecuteReader())
                         {
+                            int sparseIndex;
+                            try { sparseIndex = reader.GetOrdinal("is_sparse"); }
+                            catch { sparseIndex = -1; }
+
                             while (reader.Read())
                             {
                                 string tid = reader.SafeString("object_id");
@@ -197,7 +201,7 @@
                                 col.AutoIncrement = reader.SafeString("is_identity") == "True";
                                 col.ComputedExpression = SimplifyExpression(reader.SafeString("computed_expression"));
                                 col.IsPersisted = reader.SafeString("is_persisted") == "True";
-                                col.IsSparse = reader.SafeString("is_sparse") == "True";
+                                col.IsSparse = sparseIndex >= 0 ? reader.GetString(sparseIndex) == "true" : false;
                                 col.ObjectId = reader.SafeString("column_id");
                                 col.CommonType = AnalyseType(dataTypeName, length, precision, scale);
                                 table.Columns.Add(col);


fix XML comment

fix XML comment

--- src/Extensions/TokenExtensions.cs
+++ src/Extensions/TokenExtensions.cs
@@ -25,6 +25,7 @@
         /// </summary>
         /// <param name="token">The token.</param>
         /// <param name="clock">The clock.</param>
+        /// <param name="logger">The logger.</param>
         /// <returns></returns>
         /// <exception cref="Exception">
         /// </exception>


Discoverer no longer performs work to ensure that only distinct MethodGroup objects are reported to Test Explorer, as Test Explorer can already correctly handle duplicates (in the case of overloaded test methods).

--- src/Fixie.Execution/Discoverer.cs
+++ src/Fixie.Execution/Discoverer.cs
@@ -31,18 +31,12 @@
                 var methodDiscoverer = new MethodDiscoverer(convention);
                 foreach (var testClass in testClasses)
                 {
-                    var distinctMethodGroups = new Dictionary<string, MethodGroup>();
-
                     foreach (var testMethod in methodDiscoverer.TestMethods(testClass))
                     {
                         bus.Publish(new MethodDiscovered(testClass, testMethod));

-                        var methodGroup = new MethodGroup(testMethod);
-
-                        distinctMethodGroups[methodGroup.FullName] = methodGroup;
+                        discoveredTestMethodGroups.Add(new MethodGroup(testMethod));
                     }
-
-                    discoveredTestMethodGroups.AddRange(distinctMethodGroups.Values);
                 }
             }


Conventions can execute a single Case multiple times. The Case's result state comes from its last execution.

--- src/Fixie.Tests/LifecycleTests.cs
+++ src/Fixie.Tests/LifecycleTests.cs
@@ -181,6 +181,22 @@
             }
         }

+        class RetryFailingCases : Lifecycle
+        {
+            public void Execute(Type testClass, Action<CaseAction> runCases)
+            {
+                var instance = Activator.CreateInstance(testClass);
+
+                runCases(@case =>
+                {
+                    @case.Execute(instance);
+
+                    if (@case.Exception != null)
+                        @case.Execute(instance);
+                });
+            }
+        }
+
         static object UseDefaultConstructor(Type type)
         {
             try
@@ -489,5 +505,19 @@
             output.ShouldHaveLifecycle(
                 ".ctor", "Pass", "Fail");
         }
+
+        public void ShouldAllowExecutingACaseMultipleTimesBeforeEmittingItsResult()
+        {
+            Convention.ClassExecution.Lifecycle<RetryFailingCases>();
+
+            var output = Run();
+
+            output.ShouldHaveResults(
+                "SampleTestClass.Pass passed",
+                "SampleTestClass.Fail failed: 'Fail' failed!");
+
+            output.ShouldHaveLifecycle(
+                ".ctor", "Pass", "Fail", "Fail");
+        }
     }
 }


Fix to Members.All where it could potentially return a null reference

--- src/GiveCRM.DataAccess/Members.cs
+++ src/GiveCRM.DataAccess/Members.cs
@@ -50,7 +50,10 @@
                 member.PhoneNumbers.Add(new PhoneNumber { Id = record.PhoneNumberId ?? 0, MemberId = member.Id, Number = record.Number ?? string.Empty, PhoneNumberType = (PhoneNumberType)record.PhoneNumberType });
             }

-            yield return member;
+            if (member != null)
+            {
+                 yield return member;
+            }
         }

         public Member Insert(Member member)


spaces to tabs

spaces to tabs


Fix for contract configurator firing weird game events when adding passengers

--- src/Kerbalism/System/Callbacks.cs
+++ src/Kerbalism/System/Callbacks.cs
@@ -158,6 +158,10 @@

 		void FromEVA(GameEvents.FromToAction<Part, Part> data)
 		{
+			// contract configurator calls this event with both parts being the same when it adds a passenger
+			if (data.from == data.to)
+				return;
+
 			String prop_name = Lib.EvaPropellantName();

 			// for each resource in the eva kerbal


Set the kind to Message

Set the kind to Message

Fixes #13

--- src/Konsola/Parser/_Exceptions.cs
+++ src/Konsola/Parser/_Exceptions.cs
@@ -77,6 +77,7 @@
 		public CommandLineException(string message)
 			: base(message)
 		{
+			Kind = CommandLineExceptionKind.Message;
 		}

 		public CommandLineException(CommandLineExceptionKind kind, string name)


Binding only supported by public properties.

Binding only supported by public properties.


Using System.Timers.Timer instead of  System.Threading.Timer as its thread safe. Fixes #710

--- Kudu.Core.Test/Infrastructure/ProgressWriterFacts.cs
+++ Kudu.Core.Test/Infrastructure/ProgressWriterFacts.cs
@@ -5,6 +5,7 @@
 using System.Linq;
 using System.Threading;
 using System.Threading.Tasks;
+using System.Timers;
 using Xunit;

 namespace Kudu.Core.Infrastructure.Test
@@ -13,7 +14,7 @@
     /// Verifies that <see cref="ProgressWriter"/> produces expected result.
     /// </summary>
     [SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "This is a test.")]
-    public class ProgressWriterFacts
+    public class ProgressWriterFacts : IDisposable
     {
         private const int MaxIterations = 100;

@@ -28,7 +29,7 @@
         private readonly ProgressWriter _progressWriter;
         private readonly ManualResetEventSlim _done;

-        private Timer _timer;
+        private System.Timers.Timer _timer;
         private int counter;

         public ProgressWriterFacts()
@@ -47,7 +48,8 @@
             GetNextDelay(out delay);

             // Act
-            _timer = new Timer(OutputWriter, null, delay, -1);
+            StartTimer(delay);
+
             _done.Wait();

             // Assert
@@ -62,7 +64,8 @@
             GetNextDelay(out delay);

             // Act
-            _timer = new Timer(OutputWriter, null, delay, -1);
+            StartTimer(delay);
+
             await Task.Delay(501);

             _progressWriter.Dispose();
@@ -72,13 +75,20 @@
             VerifyResult(_output.ToString());
         }

-        private void OutputWriter(object state)
+        private void StartTimer(int delay)
+        {
+            _timer = new System.Timers.Timer(delay);
+            _timer.Elapsed += OutputWriter;
+            _timer.Start();
+        }
+
+        private void OutputWriter(object sender, ElapsedEventArgs e)
         {
             _progressWriter.WriteOutLine("t");
             int delay;
             if (GetNextDelay(out delay))
             {
-                _timer.Change(delay, -1);
+                _timer.Interval = delay;
             }
         }

@@ -154,5 +164,14 @@
         {
             return value.Replace("\r\n", "\\r\\n");
         }
+
+        public void Dispose()
+        {
+            if (_timer != null)
+            {
+                _timer.Dispose();
+                _timer = null;
+            }
+        }
     }
 }