Change test code to repro issue in old code and prove new code doesn't crash

--- tests/SoCreate.ServiceFabric.PubSub.Tests/GivenDefaultBrokerEventsManager.cs
+++ tests/SoCreate.ServiceFabric.PubSub.Tests/GivenDefaultBrokerEventsManager.cs
@@ -2,7 +2,8 @@
 using Microsoft.VisualStudio.TestTools.UnitTesting;
 using SoCreate.ServiceFabric.PubSub.Events;
 using SoCreate.ServiceFabric.PubSub.State;
-using System.Collections.Generic;
+using System;
+using System.Threading;
 using System.Threading.Tasks;

 namespace SoCreate.ServiceFabric.PubSub.Tests
@@ -11,32 +12,55 @@
     public class GivenDefaultBrokerEventsManager
     {
         [TestMethod]
-        public async Task WhenInsertingConcurrently_ThenAllCallbacksAreMadeCorrectly()
+        public void WhenInsertingConcurrently_ThenAllCallbacksAreMadeCorrectly()
         {
-            int callCount = 0;
+            bool hasCrashed = false;
             var manager = new DefaultBrokerEventsManager();
+            ManualResetEvent mr = new ManualResetEvent(false);
+            ManualResetEvent mr2 = new ManualResetEvent(false);
+
             manager.Subscribed += (s, e, t) =>
             {
-                lock (manager)
-                {
-                    callCount++;
-                }
+                mr.WaitOne();
+                return Task.CompletedTask;
+            };

-                return Task.CompletedTask;
-
-            };
-            const int attempts = 20;
-            var tasks = new List<Task>(attempts);
+            const int attempts = 2000;

             for (int i = 0; i < attempts; i++)
             {
-                var actorReference = new ActorReference{ ActorId =  ActorId.CreateRandom() };
-                tasks.Add(manager.OnSubscribedAsync("Key", new ActorReferenceWrapper(actorReference), "MessageType"));
+                ThreadPool.QueueUserWorkItem(async j =>
+                {
+                    var actorReference = new ActorReference { ActorId = ActorId.CreateRandom() };
+                    try
+                    {
+                        await manager.OnSubscribedAsync("Key" + (int) j % 5, new ActorReferenceWrapper(actorReference),
+                            "MessageType");
+                    }
+                    catch (NullReferenceException)
+                    {
+                        hasCrashed = true;
+                    }
+                    catch (IndexOutOfRangeException)
+                    {
+                        hasCrashed = true;
+                    }
+                    finally
+                    {
+                        if ((int)j == attempts - 1)
+                        {
+                            mr2.Set();
+                        }
+                    }
+                }, i);
+
+
             }

-            await Task.WhenAll(tasks);
+            mr.Set();

-            Assert.AreEqual(attempts, callCount);
+            Assert.IsTrue(mr2.WaitOne(TimeSpan.FromSeconds(10)), "Failed to run within time limits.");
+            Assert.IsFalse(hasCrashed, "Should not crash.");
         }
     }
 }


include unity deviceUID to make session hash more save

--- unity/Assets/SockjsClient.cs
+++ unity/Assets/SockjsClient.cs
@@ -1,8 +1,10 @@
-using System.Collections.Generic;
+using System;
+using System.Collections.Generic;
 using System.Security.Cryptography;
 using System.Text;
 using UnityEngine;
 using System.Collections;
+using Random = UnityEngine.Random;

 public class SockjsClient : MonoBehaviour {

@@ -116,7 +118,7 @@
 						}
 						else if (response[0] == 'h')
 						{
-							Debug.Log("heartbeat");
+							//Debug.Log("heartbeat");
 						}
 						else if (response[0] == 'a')
 						{
@@ -142,7 +144,10 @@

 			var sessionIdRnd = Random.Range(0, 100000000);

-			var sessionId = System.DateTime.UtcNow.ToLongTimeString() + '-' + sessionIdRnd;
+			var sessionId = string.Format("{0}.{1}.{2}",
+				System.DateTime.UtcNow.ToLongTimeString(),
+				sessionIdRnd,
+				SystemInfo.deviceUniqueIdentifier);

 			m_xhr = _host + string.Format("{0:000}/{1}/xhr", serverId, GetHashString(sessionId));


Update NTFSExtract to use changed API name.

--- utils/NTFSExtract/Program.cs
+++ utils/NTFSExtract/Program.cs
@@ -93,7 +93,7 @@
                 {
                     using (NtfsFileSystem fs = new NtfsFileSystem(partitionStream))
                     {
-                        using (Stream source = fs.OpenRawAttribute(_inFilePath.Value, type, _attributeName.Value, FileAccess.Read))
+                        using (Stream source = fs.OpenRawStream(_inFilePath.Value, type, _attributeName.Value, FileAccess.Read))
                         {
                             using (FileStream outFile = new FileStream(_outFilePath.Value, FileMode.Create, FileAccess.ReadWrite))
                             {


Updated assets version

Updated assets version

--- web/en-US/_SiteLayout.cshtml
+++ web/en-US/_SiteLayout.cshtml
@@ -7,7 +7,7 @@
     var abbrLangCode = System.Globalization.CultureInfo.CurrentUICulture.TwoLetterISOLanguageName;
     var culture = System.Globalization.CultureInfo.CurrentUICulture.Name;
     // Updated assets version, to avoid problems with cache of css & js assets
-    LcAssets.AssetsVersion = "20140403";
+    LcAssets.AssetsVersion = "20140409";

     // Sniff IE browsers or based on its same engine (Trident).
     var isIE = Request.UserAgent != null ? Request.UserAgent.Contains("MSIE") || Request.UserAgent.Contains("Trident") : false;


Comments and remove unused code

Comments and remove unused code

--- contractsWindow.cs
+++ contractsWindow.cs
@@ -38,7 +38,7 @@

 namespace ContractsWindow
 {
-	//[KSPAddonImproved(KSPAddonImproved.Startup.EditorAny | KSPAddonImproved.Startup.TimeElapses, false)]
+
 	class contractsWindow: MonoBehaviourWindow
 	{

@@ -61,7 +61,9 @@
 		{
 			Assembly assembly = AssemblyLoader.loadedAssemblies.GetByAssembly(Assembly.GetExecutingAssembly()).assembly;
 			version = FileVersionInfo.GetVersionInfo(assembly.Location).ProductVersion;
-
+			sceneInt = contractScenario.currentScene(HighLogic.LoadedScene);
+
+			//Set up the various GUI options to their default values here
 			WindowCaption = "Contracts +";
 			WindowRect = new Rect(40, 80, 250, 300);
 			WindowOptions = new GUILayoutOption[1] { GUILayout.MaxHeight(Screen.height) };
@@ -69,13 +71,12 @@
 			Visible = false;
 			DragEnabled = true;
 			TooltipMouseOffset = new Vector2d(-10, -25);
-			sceneInt = contractScenario.currentScene(HighLogic.LoadedScene);
 			RepeatingWorkerInitialWait = 10;

+			//Make sure our click-through control locks are disabled
 			InputLockManager.RemoveControlLock("ContractsWindow".GetHashCode().ToString());

 			SkinsLibrary.SetCurrent("ContractUnitySkin");
-
 		}

 		internal override void Start()
@@ -93,11 +94,6 @@
 			GameEvents.Contract.onContractsLoaded.Remove(contractLoaded);
 		}

-		internal override void LateUpdate()
-		{
-			//Visible = ToolbarOn;
-		}
-
 		internal override void Update()
 		{
 			if (HighLogic.LoadedScene == GameScenes.FLIGHT && !loaded && !contractsLoading)
@@ -105,6 +101,7 @@
 				contractsLoading = true;
 				timer = 0;
 			}
+			//Start a timer after contracts begin loading to ensure that all contracts are loaded before we populate the lists
 			else if (contractsLoading && !loaded)
 			{
 				if (timer < 15)
@@ -168,6 +165,7 @@
 			//Update the drag rectangle
 			DragRect.height = WindowRect.height - 24;

+			//Prevent click through from activating part options
 			if (HighLogic.LoadedSceneIsFlight)
 			{
 				Vector2 mousePos = Input.mousePosition;
@@ -204,12 +202,15 @@
 		{
 			//Menu Bar
 			buildMenuBar(id);
+
 			GUILayout.BeginVertical();
 			GUILayout.Space(8);
 			scroll = GUILayout.BeginScrollView(scroll);
+
 			//Contract List Begins
 			foreach (contractContainer c in cList)
 			{
+
 				//Contracts
 				buildContractTitle(c, id);

@@ -221,19 +222,20 @@
 						if (cP.level == 0)
 							buildParameterLabel(cP, c, 0, id);
 					}
-
-				}
-			}
+				}
+			}
+
 			GUILayout.EndScrollView();
 			GUILayout.Space(18);
 			GUILayout.EndVertical();
+
 			//If the sort menu is open
 			if (showSort)
-			{
 				buildSortMenu(id);
-			}
+
 			//Bottom bar
 			buildBottomBar(id);
+
 			//Resize window when the resizer is grabbed by the mouse
 			buildResizer(id);
 		}
@@ -436,161 +438,6 @@

 		#endregion

-		#region Contract Parameters
-
-		//private void buildContractParameters(contractContainer c, int id)
-		//{
-
-		//    //Contract Parameter list for each contract
-		//    foreach (parameterContainer cP in c.paramList)
-		//    {
-		//        if (!string.IsNullOrEmpty(cP.cParam.Title))
-		//        {
-		//            //Check if each parameter has notes associated with it
-		//            if (cP.cParam.State != ParameterState.Complete && !string.IsNullOrEmpty(cP.cParam.Notes))
-		//            {
-		//                GUILayout.Space(-2);
-		//                GUILayout.BeginHorizontal();
-		//                //Note icon
-		//                if (GUILayout.Button("[+]", contractSkins.noteButton, GUILayout.MaxWidth(24)))
-		//                    cP.showNote = !cP.showNote;
-		//                GUILayout.Space(3);
-		//                //Contract parameter title
-		//                GUILayout.Box(cP.cParam.Title, paramState(cP.cParam.State), GUILayout.MaxWidth(228));
-
-		//                //Contract reward info
-		//                if (windowMode == 2)
-		//                {
-		//                    GUILayout.BeginVertical();
-		//                    if (cP.cParam.FundsCompletion > 0 && (c.contract.ContractState == Contract.State.Active || c.contract.ContractState == Contract.State.Completed))
-		//                    {
-		//                        GUILayout.BeginHorizontal();
-		//                        GUILayout.Label(contractSkins.fundsGreen, GUILayout.MaxHeight(10), GUILayout.MaxWidth(10));
-		//                        GUILayout.Space(-5);
-		//                        GUILayout.Label("+ " + cP.cParam.FundsCompletion.ToString("N0"), contractSkins.reward, GUILayout.Width(65), GUILayout.MaxHeight(13));
-		//                        GUILayout.EndHorizontal();
-		//                    }
-		//                    if (cP.cParam.FundsFailure > 0 && (c.contract.ContractState == Contract.State.Active || c.contract.ContractState == Contract.State.Failed || c.contract.ContractState == Contract.State.DeadlineExpired || c.contract.ContractState == Contract.State.Cancelled))
-		//                    {
-		//                        if (cP.cParam.FundsCompletion > 0)
-		//                            GUILayout.Space(-6);
-		//                        GUILayout.BeginHorizontal();
-		//                        GUILayout.Label(contractSkins.fundsRed, GUILayout.MaxHeight(10), GUILayout.MaxWidth(10));
-		//                        GUILayout.Space(-5);
-		//                        GUILayout.Label("- " + cP.cParam.FundsFailure.ToString("N0"), contractSkins.penalty, GUILayout.Width(65), GUILayout.MaxHeight(13));
-		//                        GUILayout.EndHorizontal();
-		//                    }
-		//                    GUILayout.EndVertical();
-
-		//                    GUILayout.FlexibleSpace();
-		//                    GUILayout.BeginVertical();
-		//                    if (cP.cParam.ReputationCompletion > 0 && (c.contract.ContractState == Contract.State.Active || c.contract.ContractState == Contract.State.Completed))
-		//                    {
-		//                        GUILayout.BeginHorizontal();
-		//                        GUILayout.Label(contractSkins.repGreen, GUILayout.MaxHeight(13), GUILayout.MaxWidth(14));
-		//                        GUILayout.Space(-5);
-		//                        GUILayout.Label("+ " + cP.cParam.ReputationCompletion.ToString("F0"), contractSkins.reward, GUILayout.Width(38), GUILayout.MaxHeight(13));
-		//                        GUILayout.EndHorizontal();
-		//                    }
-		//                    if (cP.cParam.ReputationFailure > 0 && (c.contract.ContractState == Contract.State.Active || c.contract.ContractState == Contract.State.Failed || c.contract.ContractState == Contract.State.DeadlineExpired || c.contract.ContractState == Contract.State.Cancelled))
-		//                    {
-		//                        if (cP.cParam.ReputationCompletion > 0)
-		//                            GUILayout.Space(-9);
-		//                        GUILayout.BeginHorizontal();
-		//                        GUILayout.Label(contractSkins.repRed, GUILayout.MaxHeight(13), GUILayout.MaxWidth(14));
-		//                        GUILayout.Space(-5);
-		//                        GUILayout.Label("- " + cP.cParam.ReputationFailure.ToString("F0"), contractSkins.penalty, GUILayout.Width(38), GUILayout.MaxHeight(13));
-		//                        GUILayout.EndHorizontal();
-		//                    }
-		//                    GUILayout.EndVertical();
-
-		//                    GUILayout.FlexibleSpace();
-		//                    if (cP.cParam.ScienceCompletion > 0 && (c.contract.ContractState == Contract.State.Active || c.contract.ContractState == Contract.State.Completed))
-		//                    {
-		//                        GUILayout.Label(contractSkins.science, GUILayout.MaxHeight(13), GUILayout.MaxWidth(14));
-		//                        GUILayout.Space(-5);
-		//                        GUILayout.Label("+ " + cP.cParam.ScienceCompletion.ToString("F0"), contractSkins.scienceReward, GUILayout.MaxWidth(37), GUILayout.MaxHeight(14));
-		//                    }
-		//                }
-		//                GUILayout.EndHorizontal();
-		//                //Display note
-		//                if (cP.showNote)
-		//                {
-		//                    GUILayout.Space(-3);
-		//                    GUILayout.Box(cP.cParam.Notes, GUILayout.MaxWidth(261));
-		//                }
-
-		//            }
-
-		//            //If no notes are present just display the title
-		//            else
-		//            {
-		//                GUILayout.Space(-2);
-		//                GUILayout.BeginHorizontal();
-		//                GUILayout.Space(15);
-		//                GUILayout.Box(cP.cParam.Title, paramState(cP.cParam.State), GUILayout.MaxWidth(250));
-
-		//                //Reward info
-		//                if (windowMode == 2)
-		//                {
-		//                    GUILayout.BeginVertical();
-		//                    if (cP.cParam.FundsCompletion > 0 && (c.contract.ContractState == Contract.State.Active || c.contract.ContractState == Contract.State.Completed))
-		//                    {
-		//                        GUILayout.BeginHorizontal();
-		//                        GUILayout.Label(contractSkins.fundsGreen, GUILayout.MaxHeight(10), GUILayout.MaxWidth(10));
-		//                        GUILayout.Space(-5);
-		//                        GUILayout.Label("+ " + cP.cParam.FundsCompletion.ToString("N0"), contractSkins.reward, GUILayout.Width(65), GUILayout.MaxHeight(13));
-		//                        GUILayout.EndHorizontal();
-		//                    }
-		//                    if (cP.cParam.FundsFailure > 0 && (c.contract.ContractState == Contract.State.Active || c.contract.ContractState == Contract.State.Failed || c.contract.ContractState == Contract.State.DeadlineExpired || c.contract.ContractState == Contract.State.Cancelled))
-		//                    {
-		//                        if (cP.cParam.FundsCompletion > 0)
-		//                            GUILayout.Space(-6);
-		//                        GUILayout.BeginHorizontal();
-		//                        GUILayout.Label(contractSkins.fundsRed, GUILayout.MaxHeight(10), GUILayout.MaxWidth(10));
-		//                        GUILayout.Space(-5);
-		//                        GUILayout.Label("- " + cP.cParam.FundsFailure.ToString("N0"), contractSkins.penalty, GUILayout.Width(65), GUILayout.MaxHeight(13));
-		//                        GUILayout.EndHorizontal();
-		//                    }
-		//                    GUILayout.EndVertical();
-		//                    GUILayout.FlexibleSpace();
-		//                    GUILayout.BeginVertical();
-		//                    if (cP.cParam.ReputationCompletion > 0 && (c.contract.ContractState == Contract.State.Active || c.contract.ContractState == Contract.State.Completed))
-		//                    {
-		//                        GUILayout.BeginHorizontal();
-		//                        GUILayout.Label(contractSkins.repGreen, GUILayout.MaxHeight(13), GUILayout.MaxWidth(14));
-		//                        GUILayout.Space(-5);
-		//                        GUILayout.Label("+ " + cP.cParam.ReputationCompletion.ToString("F0"), contractSkins.reward, GUILayout.Width(38), GUILayout.MaxHeight(13));
-		//                        GUILayout.EndHorizontal();
-		//                    }
-		//                    if (cP.cParam.ReputationFailure > 0 && (c.contract.ContractState == Contract.State.Active || c.contract.ContractState == Contract.State.Failed || c.contract.ContractState == Contract.State.DeadlineExpired || c.contract.ContractState == Contract.State.Cancelled))
-		//                    {
-		//                        if (cP.cParam.ReputationCompletion > 0)
-		//                            GUILayout.Space(-9);
-		//                        GUILayout.BeginHorizontal();
-		//                        GUILayout.Label(contractSkins.repRed, GUILayout.MaxHeight(13), GUILayout.MaxWidth(14));
-		//                        GUILayout.Space(-5);
-		//                        GUILayout.Label("- " + cP.cParam.ReputationFailure.ToString("F0"), contractSkins.penalty, GUILayout.Width(38), GUILayout.MaxHeight(13));
-		//                        GUILayout.EndHorizontal();
-		//                    }
-		//                    GUILayout.EndVertical();
-		//                    GUILayout.FlexibleSpace();
-		//                    if (cP.cParam.ScienceCompletion > 0 && (c.contract.ContractState == Contract.State.Active || c.contract.ContractState == Contract.State.Completed))
-		//                    {
-		//                        GUILayout.Label(contractSkins.science, GUILayout.MaxHeight(13), GUILayout.MaxWidth(14));
-		//                        GUILayout.Space(-5);
-		//                        GUILayout.Label("+ " + cP.cParam.ScienceCompletion.ToString("F0"), contractSkins.scienceReward, GUILayout.MaxWidth(37), GUILayout.MaxHeight(14));
-		//                    }
-		//                }
-		//                GUILayout.EndHorizontal();
-
-		//            }
-		//        }
-		//    }
-		//}
-
-		#endregion
-
 		#region Parameters

 		private void buildParameterLabel(parameterContainer cP, contractContainer c, int level, int id)
@@ -687,6 +534,7 @@

 		#region Sort Menu

+		//Sort option buttons to display when the sort button is activated
 		private void buildSortMenu(int id)
 		{
 			GUILayout.BeginVertical();
@@ -837,6 +685,7 @@
 			return cL;
 		}

+		//Special method for handling altitude based parameters; only ReachAltitudeEnvelope seems to be relevant
 		private List<contractContainer> typeSort(List<contractContainer> cL, bool B)
 		{
 			LogFormatted_DebugOnly("Checking For Altitude Parameters");
@@ -907,6 +756,7 @@
 			}
 		}

+		//Label style for contract titles when the sort menu is open
 		private GUIStyle hoverTitleState(Contract.State s)
 		{
 			switch (s)
@@ -946,7 +796,7 @@
 				cList = contractScenario.Instance.showList;
 		}

-		//Rebuild contract list when the scene changes
+		//Starts the rebuild timer when the contract list is loaded
 		private void contractLoaded()
 		{
 			if (!contractsLoading && !loaded)
@@ -956,6 +806,7 @@
 			}
 		}

+		//Update contract values
 		private void refreshContracts(List<contractContainer> cL)
 		{
 			foreach (contractContainer cC in cL)
@@ -1005,11 +856,6 @@
 			}
 		}

-		internal static void setVisible(bool b)
-		{
-
-		}
-
 		#endregion

 		#region Repeating Worker
@@ -1031,13 +877,12 @@
 			if (contractScenario.Instance.loaded)
 			{
 				cList.Clear();
-				LogFormatted_DebugOnly("Loading Parameters Now");
 				WindowRect = contractScenario.Instance.windowRects[sceneInt];
 				DragRect = new Rect(0, 0, WindowRect.width - 19, WindowRect.height - 25);
 				Visible = contractScenario.Instance.windowVisible[sceneInt];
-				LogFormatted_DebugOnly("Contract Window Loaded");
 				if (Visible)
 					StartRepeatingWorker(5);
+				LogFormatted_DebugOnly("Contract Window Loaded");
 			}
 		}


Refactored HTTPClient to use TimeSpan for timeouts...


Clear lists during mission load

Clear lists during mission load

--- contractMission.cs
+++ contractMission.cs
@@ -131,6 +131,7 @@
 		internal void buildMissionList()
 		{
 			resetMasterList();
+			clearLists();
 			buildMissionList(activeString, true);
 			buildMissionList(hiddenString, false);
 		}
@@ -260,6 +261,12 @@
 		private void resetMasterList()
 		{
 			contractList.Clear();
+		}
+
+		private void clearLists()
+		{
+			activeMissionList.Clear();
+			hiddenMissionList.Clear();
 		}

 		internal string stringConcat(List<Guid> source)


add archived property

add archived property

--- NGitLab/NGitLab/Models/Project.cs
+++ NGitLab/NGitLab/Models/Project.cs
@@ -55,16 +55,19 @@

         [DataMember(Name = "web_url")]
         public string WebUrl { get; set; }
+
         [DataMember(Name = "namespace")]
         public Namespace Namespace { get; set; }

         [DataMember(Name = "tag_list")]
         public string[] Tags { get; set; }
+
         [DataMember(Name = "fork?")]
         public bool Fork { get; set; }

         [DataMember(Name = "builds_enabled")]
         public bool BuildsEnabled { get; set; }
+
         [DataMember(Name = "snippets_enabled")]
         public bool SnippetsEnabled { get; set; }

@@ -73,10 +76,16 @@

         [DataMember(Name = "lfs_enabled")]
         public bool LFSEnabled { get; set; }
+
         [DataMember(Name = "creator_id")]
         public int CreatorID { get; set; }
+
+        [DataMember(Name = "archived")]
+        public bool Archived { get; set; }
+
         [DataMember(Name = "visibility"), JsonConverter(typeof(StringEnumConverter), true)]
         public VisibilityLevel VisibilityLevel { get; set; }
+
         [DataMember(Name = "statistics")]
         public Statistics Statistics { get; set; }
     }


Updating LinqTests.cs with a failing query.

--- NoRM.Tests/LinqTests/LinqTests.cs
+++ NoRM.Tests/LinqTests/LinqTests.cs
@@ -11,6 +11,19 @@
             using (var session = new Session())
             {
                 session.Drop<Product>();
+            }
+        }
+
+        [Fact]
+        public void LinqQueriesShouldSupportExternalParameters()
+        {
+            var external = "productName";
+            using(var session = new Session())
+            {
+                session.Add(new Product {Name = external});
+                var product = session.Products.Where(p => p.Name == external).FirstOrDefault();
+
+                Assert.NotNull(product);
             }
         }


Responding to Will's comment

Responding to Will's comment

--- Assets/MixedRealityToolkit/Utilities/Editor/Setup/MixedRealityToolkitFiles.cs
+++ Assets/MixedRealityToolkit/Utilities/Editor/Setup/MixedRealityToolkitFiles.cs
@@ -16,6 +16,10 @@
     [InitializeOnLoad]
     public static class MixedRealityToolkitFiles
     {
+        /// <summary>
+        /// In order to subscribe for a <see cref="OnPostprocessAllAssets(string[], string[], string[], string[])"/> callback,
+        /// the class declaring the method must derive from AssetPostprocessor. So this class is nested privately as to prevent instnatiation of it.
+        /// </summary>
         private class AssetPostprocessor : UnityEditor.AssetPostprocessor
         {
             public static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths)


Added AccessRightsType property to SD.

Added AccessRightsType property to SD.

--- NtApiDotNet/SecurityDescriptor.cs
+++ NtApiDotNet/SecurityDescriptor.cs
@@ -643,6 +643,22 @@
         /// </summary>
         public bool Container { get; set; }

+        /// <summary>
+        /// Get the access rights enum type for this SD based on the NT Type property.
+        /// </summary>
+        public Type AccessRightsType
+        {
+            get
+            {
+                if (NtType == null)
+                {
+                    return typeof(GenericAccessRights);
+                }
+
+                return Container ? NtType.ContainerAccessRightsType : NtType.AccessRightsType;
+            }
+        }
+
         #endregion

         #region Public Methods


AuthenticateAsync -> Authenticate

AuthenticateAsync -> Authenticate

--- D2L.Security.OAuth2.WebApi/Validation/Request/AuthenticationMessageHandler.cs
+++ D2L.Security.OAuth2.WebApi/Validation/Request/AuthenticationMessageHandler.cs
@@ -49,7 +49,7 @@
 			) {

 			try {
-				AuthenticateAsync( request );
+				Authenticate( request );
 			} catch( ValidationException ex ) {
 				m_log.Warn( "Authentication failed", ex );
 				return request.CreateResponse( HttpStatusCode.Unauthorized );
@@ -78,7 +78,7 @@
 			base.Dispose( disposing );
 		}

-		private void AuthenticateAsync( HttpRequestMessage request ) {
+		private void Authenticate( HttpRequestMessage request ) {
 			var principal = m_requestAuthenticator.AuthenticateAsync(
 				   request,
 				   m_authenticationMode


Remove redundant protected virtual method. It's breaking but it's most probably not.

--- ExRam.Gremlinq.Core/Queries/Serialization/GroovyGremlinQueryElementVisitor.cs
+++ ExRam.Gremlinq.Core/Queries/Serialization/GroovyGremlinQueryElementVisitor.cs
@@ -270,7 +270,33 @@

         public virtual void Visit(PropertyStep step)
         {
-            Property(step.Cardinality, step.Key, step.Value);
+            if (T.Id.Equals(step.Key) && !Cardinality.Single.Equals(step.Cardinality.IfNone(Cardinality.Single)))
+                throw new NotSupportedException("Cannot have an id property on non-single cardinality.");
+
+            if (step.Value is IVertexProperty && step.Value is Property property)
+            {
+                var metaProperties = property.GetMetaProperties()
+                    .SelectMany(kvp => new[] { kvp.Key, kvp.Value })
+                    .Prepend(property.GetValue())
+                    .Prepend(step.Key);
+
+                metaProperties = step.Cardinality.Fold(
+                    metaProperties,
+                    (closureMetaProperties, c) => closureMetaProperties.Prepend(c));
+
+                Method("property", metaProperties);
+            }
+            else
+            {
+                if (ReferenceEquals(step.Key, T.Id))
+                    Method("property", step.Key, step.Value);
+                else
+                {
+                    step.Cardinality.Match(
+                        c => Method("property", c, step.Key, step.Value),
+                        () => Method("property", step.Key, step.Value));
+                }
+            }
         }

         public virtual void Visit(RangeStep step)
@@ -856,37 +882,6 @@
                     .SelectMany(FlattenLogicalTraversals<TStep>));
         }

-        protected void Property(Option<Cardinality> cardinality, object name, object value)
-        {
-            if (T.Id.Equals(name) && !Cardinality.Single.Equals(cardinality.IfNone(Cardinality.Single)))
-                throw new NotSupportedException("Cannot have an id property on non-single cardinality.");
-
-            if (value is IVertexProperty && value is Property property)
-            {
-                var metaProperties = property.GetMetaProperties()
-                    .SelectMany(kvp => new[] { kvp.Key, kvp.Value })
-                    .Prepend(property.GetValue())
-                    .Prepend(name);
-
-                metaProperties = cardinality.Fold(
-                    metaProperties,
-                    (closureMetaProperties, c) => closureMetaProperties.Prepend(c));
-
-                Method("property", metaProperties);
-            }
-            else
-            {
-                if (ReferenceEquals(name, T.Id))
-                    Method("property", name, value);
-                else
-                {
-                    cardinality.Match(
-                        c => Method("property", c, name, value),
-                        () => Method("property", name, value));
-                }
-            }
-        }
-
         protected virtual void Visit(P.SingleArgumentP p, string name)
         {
             NoIdentifier();


missed an overload

missed an overload

--- Octokit/Http/HttpClientAdapter.cs
+++ Octokit/Http/HttpClientAdapter.cs
@@ -20,8 +20,12 @@
     {
         readonly IWebProxy _webProxy;
         readonly HttpClient _http;
-
-        public HttpClientAdapter() { }
+
+        public HttpClientAdapter()
+        {
+            var handler = GetHandler();
+            _http = new HttpClient(new RedirectHandler { InnerHandler = handler });
+        }

         [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope")]
         public HttpClientAdapter(IWebProxy webProxy)


fixed mistakes in parser

fixed mistakes in parser

--- OpenCNCPilot/GCode/GCodeParser.cs
+++ OpenCNCPilot/GCode/GCodeParser.cs
@@ -132,8 +132,7 @@
 			{
 				if (!ValidWords.Contains(Words[i].Command))
 				{
-					Words.RemoveAt(i);
-					continue;
+					throw new ParseException($"unknown word (letter): \"{Words[i].Command} {Words[i].Parameter}\"", lineNumber);
 				}

 				if (Words[i].Command != 'F')
@@ -142,7 +141,7 @@
 				State.Feed = Words[i].Parameter;
 				if (State.Unit == ParseUnit.Imperial)
 					State.Feed *= 25.4;
-				Words.RemoveAt(i);
+				Words.RemoveAt(i--);
 				continue;
 			}


when retrieving a sog in database tests, don't bother adding the scene since this isn't used

--- OpenSim/Data/Tests/RegionTests.cs
+++ OpenSim/Data/Tests/RegionTests.cs
@@ -1047,25 +1047,12 @@
             return true;
         }

-
         private SceneObjectGroup FindSOG(string name, UUID r)
         {
             List<SceneObjectGroup> objs = db.LoadObjects(r);
             foreach (SceneObjectGroup sog in objs)
-            {
-                SceneObjectPart p = sog.RootPart;
-                if (p.Name == name) {
-                    RegionInfo regionInfo = new RegionInfo();
-                    regionInfo.RegionID = r;
-                    regionInfo.RegionLocX = 0;
-                    regionInfo.RegionLocY = 0;
-
-                    Scene scene = new Scene(regionInfo);
-                    sog.SetScene(scene);
-
+                if (sog.Name == name)
                     return sog;
-                }
-            }

             return null;
         }


Doh, only ask if there are unsaved changes.

--- Pinta.Core/Actions/FileActions.cs
+++ Pinta.Core/Actions/FileActions.cs
@@ -148,14 +148,16 @@

 		private void HandlePintaCoreActionsFileExitActivated (object sender, EventArgs e)
 		{
-			MessageDialog md = new MessageDialog (PintaCore.Chrome.MainWindow, DialogFlags.Modal, MessageType.Question, ButtonsType.YesNo, "{0} has unsaved changes.\n\nDo you want to save?", System.IO.Path.GetFileName (PintaCore.Workspace.Filename));
-			md.Title = "Save before exit?";
-
-			ResponseType response = (ResponseType)md.Run ();
-			md.Destroy ();
-
-			if (response == ResponseType.Yes)
-				Save.Activate ();
+			if (PintaCore.Workspace.IsDirty) {
+				MessageDialog md = new MessageDialog (PintaCore.Chrome.MainWindow, DialogFlags.Modal, MessageType.Question, ButtonsType.YesNo, "{0} has unsaved changes.\n\nDo you want to save?", System.IO.Path.GetFileName (PintaCore.Workspace.Filename));
+				md.Title = "Save before exit?";
+
+				ResponseType response = (ResponseType)md.Run ();
+				md.Destroy ();
+
+				if (response == ResponseType.Yes)
+					Save.Activate ();
+			}

 			PintaCore.History.Clear ();
 			(PintaCore.Layers.SelectionPath as IDisposable).Dispose ();


Replaced Thread.Abort with CancellationToken

--- PokeD.Server/Modules/ModuleP3D.cs
+++ PokeD.Server/Modules/ModuleP3D.cs
@@ -51,8 +51,8 @@

         private ITCPListener Listener { get; set; }

-        private Thread PlayerWatcherThread { get; set; }
-        private Thread PlayerCorrectionThread { get; set; }
+        private CancellationTokenSource PlayerWatcherToken { get; set; }
+        private CancellationTokenSource PlayerCorrectionToken { get; set; }

         private ConcurrentDictionary<string, P3DPlayer[]> NearPlayers { get; } = new ConcurrentDictionary<string, P3DPlayer[]>();

@@ -76,19 +76,19 @@

             if (MoveCorrectionEnabled)
             {
-                PlayerWatcherThread = new Thread(PlayerWatcherCycle)
+                PlayerWatcherToken = new CancellationTokenSource();
+                new Thread(PlayerWatcherCycle)
                 {
                     Name = "PlayerWatcherThread",
                     IsBackground = true
-                };
-                PlayerWatcherThread.Start();
-
-                PlayerCorrectionThread = new Thread(PlayerCorrectionCycle)
+                }.Start();
+
+                PlayerCorrectionToken = new CancellationTokenSource();
+                new Thread(PlayerCorrectionCycle)
                 {
                     Name = "PlayerCorrectionThread",
                     IsBackground = true
-                };
-                PlayerCorrectionThread.Start();
+                }.Start();
             }

@@ -106,11 +106,8 @@

             Logger.Log(LogType.Debug, $"Stopping {ComponentName}.");

-            if (PlayerWatcherThread?.ThreadState != System.Threading.ThreadState.Stopped)
-                PlayerWatcherThread?.Abort();
-
-            if (PlayerCorrectionThread?.ThreadState != System.Threading.ThreadState.Stopped)
-                PlayerCorrectionThread?.Abort();
+            PlayerWatcherToken.Cancel();
+            PlayerCorrectionToken.Cancel();

             ModuleManager.ClientJoined -= ModuleManager_ClientJoined;
             ModuleManager.ClientLeaved -= ModuleManager_ClientLeaved;
@@ -140,7 +137,7 @@
         private void PlayerWatcherCycle()
         {
             var watch = Stopwatch.StartNew();
-            while (!IsDisposing)
+            while (!IsDisposing && !PlayerWatcherToken.IsCancellationRequested)
             {
                 var players = new List<P3DPlayer>(Clients);

@@ -177,7 +174,7 @@
         private void PlayerCorrectionCycle()
         {
             var watch = Stopwatch.StartNew();
-            while (!IsDisposing)
+            while (!IsDisposing && !PlayerCorrectionToken.IsCancellationRequested)
             {
                 foreach (var nearPlayers in NearPlayers.Where(nearPlayers => nearPlayers.Value != null))
                     foreach (var player in nearPlayers.Value.Where(player => player.Moving))


Fix blackspace regex

Fix blackspace regex

--- Rant/Engine/Compiler/RantLexer.cs
+++ Rant/Engine/Compiler/RantLexer.cs
@@ -23,7 +23,7 @@

 		private static readonly Regex WeightRegex = new Regex(@"\*[ ]*(?<value>\d+(\.\d+)?)[ ]*\*", DefaultOptions);
 		private static readonly Regex WhitespaceRegex = new Regex(@"\s+", DefaultOptions);
-		private static readonly Regex BlackspaceRegex = new Regex(@"(^\s+|\s*[\r\n]+\s*|\s+$)", DefaultOptions | RegexOptions.Multiline);
+		private static readonly Regex BlackspaceRegex = new Regex(@"((^|(?<=(?<!\\)[\[\{]))\s+|\s*[\r\n]+\s*|\s+($|(?=[\]\}])))", DefaultOptions | RegexOptions.Multiline);
 		private static readonly Regex CommentRegex = new Regex(@"\s*#.*?(?=[\r\n]|$)", DefaultOptions | RegexOptions.Multiline);
 		private static readonly Regex ConstantLiteralRegex = new Regex(@"""([^""]|"""")*""", DefaultOptions);
 		private static readonly Regex SyllableRangeRegex = new Regex(@"\(\s*(~?\d+|\d+\s*~(\s*\d+)?)\s*\)", DefaultOptions);


Query syntax for LINQ Projection.

Query syntax for LINQ Projection.


robust create user: allow new userid to be  to generate a new random one; handle possible case of a weareble being a inventory link


Show duration warning; fix non-0% bug

Show duration warning; fix non-0% bug

--- contractConfig.cs
+++ contractConfig.cs
@@ -40,10 +40,11 @@
 	class contractConfig : DMC_MBW
 	{
 		private const string lockID = "ContractConfigLockID";
-		private bool dropDown, cDropDown, pDropDown, rCPopup, rPPopup, wPopup, zPopup, stockPopup;
+		private bool dropDown, cDropDown, pDropDown, rCPopup, rPPopup, wPopup, zPopup, stockPopup, activePopup;
 		private bool spacecenterLocked, trackingLocked, editorLocked;
 		private bool stockToolbar = true;
 		private bool replaceStockAppLauncher = false;
+		private bool alterActive = false;
 		private Rect ddRect;
 		private Vector2 cScroll, pScroll;
 		private List<contractTypeContainer> cList;
@@ -79,6 +80,7 @@
 				setParameterType(pList[0]);
 			}
 			stockToolbar = contractScenario.Instance.stockToolbar;
+			alterActive = contractScenario.Instance.alterActive;
 			replaceStockAppLauncher = contractScenario.Instance.replaceStockToolbar;
 		}

@@ -224,6 +226,16 @@
 				}
 			}

+			if (alterActive != contractScenario.Instance.alterActive)
+			{
+				alterActive = contractScenario.Instance.alterActive;
+				if (alterActive)
+				{
+					dropDown = true;
+					activePopup = true;
+				}
+			}
+
 			if (replaceStockAppLauncher != contractScenario.Instance.replaceStockToolbar)
 			{
 				replaceStockAppLauncher = contractScenario.Instance.replaceStockToolbar;
@@ -281,7 +293,7 @@
 				GUILayout.Label("Funds Reward: ", contractSkins.configLabel, GUILayout.Width(100));
 				GUILayout.Space(-4);
 				string percent = "";
-				if (!contractScenario.Instance.allowZero && contractType.RewardFund <= 0.001)
+				if (!contractScenario.Instance.allowZero && contractType.RewardFund <= 0.009)
 					percent = "0.1%";
 				else
 					percent = contractType.RewardFund.ToString("P0");
@@ -305,7 +317,7 @@
 			GUILayout.BeginHorizontal();
 				GUILayout.Label("Funds Advance: ", contractSkins.configLabel, GUILayout.Width(100));
 				GUILayout.Space(-4);
-				if (!contractScenario.Instance.allowZero && contractType.AdvanceFund <= 0.001)
+				if (!contractScenario.Instance.allowZero && contractType.AdvanceFund <= 0.009)
 					percent = "0.1%";
 				else
 					percent = contractType.AdvanceFund.ToString("P0");
@@ -329,7 +341,7 @@
 			GUILayout.BeginHorizontal();
 				GUILayout.Label("Funds Penalty: ", contractSkins.configLabel, GUILayout.Width(100));
 				GUILayout.Space(-4);
-				if (!contractScenario.Instance.allowZero && contractType.PenaltyFund <= 0.001)
+				if (!contractScenario.Instance.allowZero && contractType.PenaltyFund <= 0.009)
 					percent = "0.1%";
 				else
 					percent = contractType.PenaltyFund.ToString("P0");
@@ -353,7 +365,7 @@
 			GUILayout.BeginHorizontal();
 				GUILayout.Label("Rep Reward: ", contractSkins.configLabel, GUILayout.Width(100));
 				GUILayout.Space(-4);
-				if (!contractScenario.Instance.allowZero && contractType.RewardRep <= 0.001)
+				if (!contractScenario.Instance.allowZero && contractType.RewardRep <= 0.009)
 					percent = "0.1%";
 				else
 					percent = contractType.RewardRep.ToString("P0");
@@ -377,7 +389,7 @@
 			GUILayout.BeginHorizontal();
 				GUILayout.Label("Rep Penalty: ", contractSkins.configLabel, GUILayout.Width(100));
 				GUILayout.Space(-4);
-				if (!contractScenario.Instance.allowZero && contractType.PenaltyRep <= 0.001)
+				if (!contractScenario.Instance.allowZero && contractType.PenaltyRep <= 0.009)
 					percent = "0.1%";
 				else
 					percent = contractType.PenaltyRep.ToString("P0");
@@ -401,7 +413,7 @@
 			GUILayout.BeginHorizontal();
 				GUILayout.Label("Science Reward: ", contractSkins.configLabel, GUILayout.Width(100));
 				GUILayout.Space(-4);
-				if (!contractScenario.Instance.allowZero && contractType.RewardScience <= 0.001)
+				if (!contractScenario.Instance.allowZero && contractType.RewardScience <= 0.009)
 					percent = "0.1%";
 				else
 					percent = contractType.RewardScience.ToString("P0");
@@ -516,7 +528,7 @@
 				GUILayout.Label("Funds Reward: ", contractSkins.configLabel, GUILayout.Width(100));
 				GUILayout.Space(-4);
 				string percent = "";
-				if (!contractScenario.Instance.allowZero && paramType.RewardFund <= 0.001)
+				if (!contractScenario.Instance.allowZero && paramType.RewardFund <= 0.009)
 					percent = "0.1%";
 				else
 					percent = paramType.RewardFund.ToString("P0");
@@ -540,7 +552,7 @@
 			GUILayout.BeginHorizontal();
 				GUILayout.Label("Funds Penalty: ", contractSkins.configLabel, GUILayout.Width(100));
 				GUILayout.Space(-4);
-				if (!contractScenario.Instance.allowZero && paramType.PenaltyFund <= 0.001)
+				if (!contractScenario.Instance.allowZero && paramType.PenaltyFund <= 0.009)
 					percent = "0.1%";
 				else
 					percent = paramType.PenaltyFund.ToString("P0");
@@ -564,7 +576,7 @@
 			GUILayout.BeginHorizontal();
 				GUILayout.Label("Rep Reward: ", contractSkins.configLabel, GUILayout.Width(100));
 				GUILayout.Space(-4);
-				if (!contractScenario.Instance.allowZero && paramType.RewardRep <= 0.001)
+				if (!contractScenario.Instance.allowZero && paramType.RewardRep <= 0.009)
 					percent = "0.1%";
 				else
 					percent = paramType.RewardRep.ToString("P0");
@@ -588,7 +600,7 @@
 			GUILayout.BeginHorizontal();
 				GUILayout.Label("Rep Penalty: ", contractSkins.configLabel, GUILayout.Width(100));
 				GUILayout.Space(-4);
-				if (!contractScenario.Instance.allowZero && paramType.PenaltyRep <= 0.001)
+				if (!contractScenario.Instance.allowZero && paramType.PenaltyRep <= 0.009)
 					percent = "0.1%";
 				else
 					percent = paramType.PenaltyRep.ToString("P0");
@@ -612,7 +624,7 @@
 			GUILayout.BeginHorizontal();
 				GUILayout.Label("Science Reward: ", contractSkins.configLabel, GUILayout.Width(100));
 				GUILayout.Space(-4);
-				if (!contractScenario.Instance.allowZero && paramType.RewardScience <= 0.001)
+				if (!contractScenario.Instance.allowZero && paramType.RewardScience <= 0.009)
 					percent = "0.1%";
 				else
 					percent = paramType.RewardScience.ToString("P0");
@@ -823,6 +835,23 @@
 							contractScenario.Instance.appLauncherButton.replaceStockApp();
 						replaceStockAppLauncher = true;
 						contractScenario.Instance.replaceStockToolbar = true;
+					}
+				}
+
+				else if (activePopup)
+				{
+					ddRect = new Rect(WindowRect.width - 300, WindowRect.height - 120, 280, 100);
+					GUI.Box(ddRect, "", contractSkins.dropDown);
+					Rect r = new Rect(ddRect.x + 5, ddRect.y + 5, 270, 80);
+					GUI.Label(r, "Contract Duration Can Only Be Adjusted For Newly Offered Contracts", contractSkins.resetBox);
+					r.x += 120;
+					r.y += 60;
+					r.width = 50;
+					r.height = 30;
+					if (GUI.Button(r, "OK", contractSkins.resetButton))
+					{
+						dropDown = false;
+						activePopup = false;
 					}
 				}


[Modify] Polish it

[Modify] Polish it

--- websocket-sharp/WebSocket.cs
+++ websocket-sharp/WebSocket.cs
@@ -958,15 +958,15 @@
         return false;
       }

-      var version = headers["Sec-WebSocket-Version"];
-
-      if (version == null) {
+      var ver = headers["Sec-WebSocket-Version"];
+
+      if (ver == null) {
         message = "The Sec-WebSocket-Version header is non-existent.";

         return false;
       }

-      if (version != _version) {
+      if (ver != _version) {
         message = "The Sec-WebSocket-Version header is invalid.";

         return false;


[Modify] Polish it

[Modify] Polish it

--- websocket-sharp/WebSocket.cs
+++ websocket-sharp/WebSocket.cs
@@ -2762,7 +2762,7 @@

       byte[] bytes;
       if (!data.TryGetUTF8EncodedBytes (out bytes))
-        throw new ArgumentException ("Cannot be UTF8 encoded.", "data");
+        throw new ArgumentException ("Could not be UTF8 encoded.", "data");

       send (Opcode.Text, new MemoryStream (bytes));
     }


[Modify] Polish it

[Modify] Polish it

--- websocket-sharp/WebSocket.cs
+++ websocket-sharp/WebSocket.cs
@@ -955,7 +955,7 @@
         return false;
       }

-      if (!validateSecWebSocketVersionClientHeader (version)) {
+      if (version != _version) {
         message = "It includes an invalid Sec-WebSocket-Version header.";
         return false;
       }


Some game details fields remain displayed when disabled

--- source/Playnite.DesktopApp/Controls/Views/GameOverview.cs
+++ source/Playnite.DesktopApp/Controls/Views/GameOverview.cs
@@ -274,27 +274,33 @@

             SetItemsControlBinding(ref ItemsGenres, "PART_ItemsGenres",
                 nameof(GameDetailsViewModel.SetGenreFilterCommand),
-                nameof(GamesCollectionViewEntry.Genres));
+                nameof(GamesCollectionViewEntry.Genres),
+                nameof(GameDetailsViewModel.GenreVisibility));

             SetItemsControlBinding(ref ItemsDevelopers, "PART_ItemsDevelopers",
                 nameof(GameDetailsViewModel.SetDeveloperFilterCommand),
-                nameof(GamesCollectionViewEntry.Developers));
+                nameof(GamesCollectionViewEntry.Developers),
+                nameof(GameDetailsViewModel.DeveloperVisibility));

             SetItemsControlBinding(ref ItemsPublishers, "PART_ItemsPublishers",
                 nameof(GameDetailsViewModel.SetPublisherFilterCommand),
-                nameof(GamesCollectionViewEntry.Publishers));
+                nameof(GamesCollectionViewEntry.Publishers),
+                nameof(GameDetailsViewModel.PublisherVisibility));

             SetItemsControlBinding(ref ItemsCategories, "PART_ItemsCategories",
                 nameof(GameDetailsViewModel.SetCategoryFilterCommand),
-                nameof(GamesCollectionViewEntry.Categories));
+                nameof(GamesCollectionViewEntry.Categories),
+                nameof(GameDetailsViewModel.CategoryVisibility));

             SetItemsControlBinding(ref ItemsTags, "PART_ItemsTags",
                 nameof(GameDetailsViewModel.SetTagFilterCommand),
-                nameof(GamesCollectionViewEntry.Tags));
+                nameof(GamesCollectionViewEntry.Tags),
+                nameof(GameDetailsViewModel.TagVisibility));

             SetItemsControlBinding(ref ItemsLinks, "PART_ItemsLinks",
                 nameof(GameDetailsViewModel.OpenLinkCommand),
                 nameof(GamesCollectionViewEntry.Links),
+                nameof(GameDetailsViewModel.LinkVisibility),
                 nameof(Link.Url));
         }

@@ -314,7 +320,7 @@
             }
         }

-        private void SetItemsControlBinding(ref ItemsControl elem, string partId, string command, string listSource, string tooltip = null)
+        private void SetItemsControlBinding(ref ItemsControl elem, string partId, string command, string listSource, string visibility, string tooltip = null)
         {
             elem = Template.FindName(partId, this) as ItemsControl;
             if (elem != null)
@@ -323,6 +329,9 @@
                 BindingTools.SetBinding(elem,
                     ItemsControl.ItemsSourceProperty,
                     GetGameBindingPath(listSource));
+                BindingTools.SetBinding(elem,
+                    TextBlock.VisibilityProperty,
+                    visibility);
             }
         }


Add missing _v23 on AVMetadataID3MetadataKeyInvolvedPeopleList_v23 field

--- src/avfoundation.cs
+++ src/avfoundation.cs
@@ -1625,7 +1625,7 @@
 		[Field ("AVMetadataID3MetadataKeyGroupIdentifier")]
 		NSString ID3MetadataKeyGroupIdentifier { get; }

-		[Field ("AVMetadataID3MetadataKeyInvolvedPeopleList")]
+		[Field ("AVMetadataID3MetadataKeyInvolvedPeopleList_v23")]
 		NSString ID3MetadataKeyInvolvedPeopleList { get; }

 		[Field ("AVMetadataID3MetadataKeyLink")]


ignore failing test

ignore failing test


[Engine] Fixed some compile errors.

[Engine] Fixed some compile errors.


Fixed IsConcentrator determination when loading configuration frame and an existing PMU Connection file with a single device

--- Source/Applications/openHistorian/openHistorian/DataHub.cs
+++ Source/Applications/openHistorian/openHistorian/DataHub.cs
@@ -1322,7 +1322,7 @@
                 derivedFrame.Cells.Add(derivedCell);
             }

-            derivedFrame.IsConcentrator = derivedFrame.Cells.Count > 0;
+            derivedFrame.IsConcentrator = derivedFrame.Cells.Count > 1;

             return derivedFrame;
         }


CP-13744: Specifying ssl protocols to be used by the .net sdk

Note: this is exactly the list that XenCenter is using
Signed-off-by: Gabor Apati-Nagy <fea1aad7ceb67d3aeb88acb6b51e51467c21418e@citrix.com>

--- csharp/src/HTTP.cs
+++ csharp/src/HTTP.cs
@@ -358,7 +358,7 @@
                 {
                     SslStream sslStream = new SslStream(stream, false,
                         new RemoteCertificateValidationCallback(ValidateServerCertificate), null);
-                    sslStream.AuthenticateAsClient("");
+                    sslStream.AuthenticateAsClient("", null, SslProtocols.Tls | SslProtocols.Tls11 | SslProtocols.Tls12, true);

                     stream = sslStream;
                 }


added thunderbolt to special skills

added thunderbolt to special skills


Adds FT, FE & FN Dynamic Scoring

Adds FT, FE & FN Dynamic Scoring


APM-116 Dostosowanie Syrup do realiw AzureStorage

--- src/build/Build.cs
+++ src/build/Build.cs
@@ -19,7 +19,6 @@
 using static Nuke.Common.IO.FileSystemTasks;
 using static Nuke.Common.IO.PathConstruction;
 using static Nuke.Common.Tools.MSBuild.MSBuildTasks;
-using SyrupInfo = Helpers.Syrup.SyrupInfo;

 [CheckBuildProjectConfigurations]
 [UnsetVisualStudioEnvironmentVariables]


DList public when KONS_PUBLIC is defined

--- DList.cs
+++ DList.cs
@@ -19,9 +19,12 @@
     // Difference (John Huges) List inspired from:
     // http://stackoverflow.com/a/2484281/6682

-    public delegate ConsList<T> DList<T>(ConsList<T> list);
+    #if KONS_PUBLIC
+    public
+    #endif
+    delegate ConsList<T> DList<T>(ConsList<T> list);

-    public static class DList
+    static partial class DList
     {
         public static DList<T> Empty<T>()                               => xs => xs;
         public static DList<T> Append<T>(this DList<T> xs, DList<T> ys) => tail => xs(ys(tail));
@@ -30,4 +33,8 @@
         public static DList<T> Snoc<T>(this DList<T> xs, T x)           => xs.Append(Singleton(x));
         public static ConsList<T> ToList<T>(this DList<T> hlist)        => hlist(ConsList<T>.Empty);
     }
+
+    #if KONS_PUBLIC
+    public partial class DList { }
+    #endif
 }


Make the copy photos dialog non-modal to allow the photo selection to be retained.

--- Form1.cs
+++ Form1.cs
@@ -62,9 +62,11 @@
                 return;
             }

+            this.PhotoDisplay.Select();
+
             CopyFilesForm copyFiles = new CopyFilesForm(this.PhotoDisplay.SelectedItems);
             copyFiles.PhotoDeleted += this.OnPhotoDeleted;
-            copyFiles.ShowDialog();
+            copyFiles.Show();
             copyFiles.PhotoDeleted -= this.OnPhotoDeleted;

             RemoveDeletedPhotos();


Remove debug message

Remove debug message

--- Server.cs
+++ Server.cs
@@ -238,7 +238,6 @@

                 while (get.Contains('\n'))
                 {
-                    Console.WriteLine("in while");
                     string[] data1 = get.Split(new Char[] { '\n' }, 2);
                     get = data1[1];
                     if (!data1[0].Contains(';')) throw new Exception("Received malformed message");


git-svn-id: e2945e6dc2723cb01f425b5a7c3c201ce5019a89@432 080cfd25-d5d9-4c59-82ea-70d02a200d8b

--- Clients/CLI/Program.cs
+++ Clients/CLI/Program.cs
@@ -478,7 +478,7 @@
 			else
 				Console.WriteLine ("Login failed: " + e.Result.ResultState);

-			Client.CurrentUser.Join (nickname);
+			Client.CurrentUser.Join (nickname, null);
 		}

 		static void ClientConnectionRejected (object sender, RejectedConnectionEventArgs e)
@@ -492,7 +492,7 @@
 			Client.CurrentUser.ReceivedLoginResult += CurrentUserReceivedLoginResult;

 			if (username.IsEmpty() || password.IsEmpty())
-				Client.CurrentUser.Join (nickname);
+				Client.CurrentUser.Join (nickname, null);
 			else
 				Client.CurrentUser.Login (username, password);
 		}


fix line endings

fix line endings

--- OmniSharp/Solution/CSharpSolution.cs
+++ OmniSharp/Solution/CSharpSolution.cs
@@ -115,27 +115,27 @@
             if (project == null)
             {
                 var file = new FileInfo(filename);
-                if (File.Exists(filename))
-                {
+                if (File.Exists(filename))
+                {
                     var directory = file.Directory;
-
-                    while(project==null && directory!=null)
+
+                    while(project==null && directory!=null)
                     {
-                        var projectFiles = directory.GetFiles("*.csproj");
+                        var projectFiles = directory.GetFiles("*.csproj");
                         directory = directory.Parent;

                         if (projectFiles.Any())
                         {
-                            foreach(var projectFile in projectFiles)
-                            {
-                                project = Projects.FirstOrDefault(p => projectFile.FullName.Contains(p.FileName));
-                                if(project!=null)
+                            foreach(var projectFile in projectFiles)
+                            {
+                                project = Projects.FirstOrDefault(p => projectFile.FullName.Contains(p.FileName));
+                                if(project!=null)
                                 {
                                     project.Files.Add(new CSharpFile(project, filename));
-                                    break;
+                                    break;
                                 }
-                           }
-                        }
+                           }
+                        }
                     }
                 }
             }


refactor: moving off IHostingEnvironment since its deprecated

--- Content/src/Startup.cs
+++ Content/src/Startup.cs
@@ -13,7 +13,7 @@
         private IConfiguration Configuration { get; set; }
         private readonly AppSettings settings = new AppSettings();

-        public Startup(IHostingEnvironment env)
+        public Startup(IWebHostEnvironment env)
         {
             var builder = new ConfigurationBuilder()
               .SetBasePath(env.ContentRootPath)
@@ -37,10 +37,7 @@

             services.AddSingleton(settings);
         }
-
-#pragma warning disable IDE0060 // Remove unused parameter
-        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
-#pragma warning restore IDE0060 // Remove unused parameter
+        public void Configure(IApplicationBuilder app)
         {
             app.UseStaticFiles();


Fix starting a time entry.

Fix starting a time entry.

When starting a time entry the stop time was also set automatically and
the time entry appeared as running, but the duration never increased.

--- Phoebe/Data/Models/TimeEntryModel.cs
+++ Phoebe/Data/Models/TimeEntryModel.cs
@@ -581,9 +581,10 @@
                     throw new InvalidOperationException ("Workspace (or user default workspace) must be set.");
                 }

-                StartTime = DateTime.UtcNow;
                 Tags.Add (DefaultTag);
                 State = TimeEntryState.Running;
+                StartTime = DateTime.UtcNow;
+                StopTime = null;
             }
         }


Don't Get a ConvexHull for things that can't have them

--- PolygonMesh/Processors/MeshHelper.cs
+++ PolygonMesh/Processors/MeshHelper.cs
@@ -124,6 +124,11 @@

 		public static Mesh GetConvexHull(this Mesh mesh, bool generateAsync)
 		{
+			if(mesh.Faces.Count < 4)
+			{
+				return null;
+			}
+
 			Mesh CreateHullMesh(VertexCollecton sourceVertices)
 			{
 				// Get the convex hull for the mesh


XML の読み込みに関する UI のバグ修正

XML の読み込みに関する UI のバグ修正

--- CropMaster/MainForm.cs
+++ CropMaster/MainForm.cs
@@ -234,22 +234,26 @@

         private void Open_ToolStripMenuItem_Click(object sender, EventArgs e)
         {
-            mXmlFilePath = null;
             SaveXml_ToolStripMenuItem.Text = mXmlSaveString;
             SaveAsXml_ToolStripMenuItem.Text = mXmlSaveAsString;
             DialogResult dr = folderBrowserDialog1.ShowDialog();
             if (dr == System.Windows.Forms.DialogResult.OK)
+            {
+                mXmlFilePath = null;
                 InitializeImageContainers(folderBrowserDialog1.SelectedPath);
+            }
         }

         private void OpenRecursive_ToolStripMenuItem_Click(object sender, EventArgs e)
         {
-            mXmlFilePath = null;
             SaveXml_ToolStripMenuItem.Text = mXmlSaveString;
             SaveAsXml_ToolStripMenuItem.Text = mXmlSaveAsString;
             DialogResult dr = folderBrowserDialog1.ShowDialog();
             if (dr == System.Windows.Forms.DialogResult.OK)
+            {
+                mXmlFilePath = null;
                 InitializeImageContainers(folderBrowserDialog1.SelectedPath, true);
+            }
         }

         private void trackBar1_Scroll(object sender, EventArgs e)
@@ -567,10 +571,18 @@
         private void MainForm_DragDrop(object sender, DragEventArgs e)
         {
             string path = ((string[])e.Data.GetData(DataFormats.FileDrop, false))[0];
-            if (File.Exists(path))
+            if (File.Exists(path) && Path.GetExtension(path).ToLower() == ".xml")
+            {
                 Deserialize(path);
+                mXmlFilePath = path;
+                SaveXml_ToolStripMenuItem.Text = String.Format("{0} の保存(&S)", Path.GetFileName(path));
+                SaveAsXml_ToolStripMenuItem.Text = String.Format("名前を付けて {0} を保存(&A)", Path.GetFileName(path));
+            }
             else if (Directory.Exists(path))
+            {
+                mXmlFilePath = null;
                 InitializeImageContainers(path);
+            }
         }

         private void panel1_Scroll(object sender, ScrollEventArgs e)


Check default visibility radiobutton - fixes creating new entries, if visibility not set manually

--- R7.News.Stream/EditNewsEntry.ascx.cs
+++ R7.News.Stream/EditNewsEntry.ascx.cs
@@ -101,6 +101,7 @@

             radioVisibility.DataSource = EnumViewModel<NewsEntryVisibility>.GetValues (ViewModelContext, false);
             radioVisibility.DataBind ();
+            radioVisibility.SelectedIndex = 0;
         }

         protected void comboNewsSourceProvider_SelectedIndexChanged (object sender, EventArgs e)


WIP support for SHACL vocabulary

WIP support for SHACL vocabulary

--- RDFSharp/Model/Vocabularies/SHACL.cs
+++ RDFSharp/Model/Vocabularies/SHACL.cs
@@ -265,6 +265,36 @@
             /// sh:zeroOrOnePath
             /// </summary>
             public static readonly RDFResource ZERO_OR_ONE_PATH = new RDFResource(SHACL.BASE_URI + "zeroOrOnePath");
+
+            /// <summary>
+            /// sh:defaultValue
+            /// </summary>
+            public static readonly RDFResource DEFAULT_VALUE = new RDFResource(SHACL.BASE_URI + "defaultValue");
+
+            /// <summary>
+            /// sh:description
+            /// </summary>
+            public static readonly RDFResource DESCRIPTION = new RDFResource(SHACL.BASE_URI + "description");
+
+            /// <summary>
+            /// sh:group
+            /// </summary>
+            public static readonly RDFResource GROUP = new RDFResource(SHACL.BASE_URI + "group");
+
+            /// <summary>
+            /// sh:name
+            /// </summary>
+            public static readonly RDFResource NAME = new RDFResource(SHACL.BASE_URI + "name");
+
+            /// <summary>
+            /// sh:order
+            /// </summary>
+            public static readonly RDFResource ORDER = new RDFResource(SHACL.BASE_URI + "order");
+
+            /// <summary>
+            /// sh:PropertyGroup
+            /// </summary>
+            public static readonly RDFResource PROPERTY_GROUP = new RDFResource(SHACL.BASE_URI + "PropertyGroup");
             #endregion

         }


review changes

review changes

--- Ds3/Runtime/Network.cs
+++ Ds3/Runtime/Network.cs
@@ -225,7 +225,7 @@
                                     if (ex.Message.Equals(windowsMessage) || ex.Message.Equals(monoMessage))
                                     {
                                         ds3ContentLengthNotMatchCatched = true;
-                                        ds3ContentLengthNotMatch = new Ds3ContentLengthNotMatch(windowsMessage, ex);
+                                        ds3ContentLengthNotMatch = new Ds3ContentLengthNotMatch(ex.Message, ex);
                                         throw ds3ContentLengthNotMatch;
                                     }
                                     throw;


Build and publish nuget package

Build and publish nuget package

--- Rock.Core/Properties/AssemblyInfo.cs
+++ Rock.Core/Properties/AssemblyInfo.cs
@@ -33,7 +33,7 @@
 // by using the '*' as shown below:
 // [assembly: AssemblyVersion("1.0.*")]
 [assembly: AssemblyVersion("0.9.0.0")]
-[assembly: AssemblyFileVersion("0.9.9")]
-[assembly: AssemblyInformationalVersion("0.9.9")]
+[assembly: AssemblyFileVersion("0.9.10")]
+[assembly: AssemblyInformationalVersion("0.9.10")]

 [assembly: InternalsVisibleTo("Rock.Core.UnitTests")]


Fix "given key not present in the dictionary" exception in WishlistModels.cs

--- SecretSanta/Models/WishlistModels.cs
+++ SecretSanta/Models/WishlistModels.cs
@@ -57,7 +57,9 @@
             var account = DataRepository.Get<Account>(id);
             AccountId = account.Id.Value;
             DisplayName = account.DisplayName;
-            Items = account?.Wishlist?[DateTime.Now.Year] ?? new List<WishlistItem>();
+            Items = (account?.Wishlist?.ContainsKey(DateTime.Now.Year) ?? false)
+                ? account.Wishlist[DateTime.Now.Year]
+                : new List<WishlistItem>();
         }

         #endregion


Simpler.

Simpler.

--- Sensus.Shared/UI/ScriptInputsPage.cs
+++ Sensus.Shared/UI/ScriptInputsPage.cs
@@ -48,20 +48,20 @@

                 if (selectedIndex > 0)
                     actions.Add("Move Up");
-
+
                 if (selectedIndex < inputGroup.Inputs.Count - 1)
                     actions.Add("Move Down");

                 actions.Add("Edit");
-
+
                 if (previousInputGroups != null && previousInputGroups.Select(previousInputGroup => previousInputGroup.Inputs.Count).Sum() > 0)
                     actions.Add("Add Display Condition");

                 if (selectedInput.DisplayConditions.Count > 0)
-                    actions.AddRange(new string[]{ "View Display Conditions" });
+                    actions.AddRange(new string[] { "View Display Conditions" });

                 actions.Add("Delete");
-
+
                 string selectedAction = await DisplayActionSheet(selectedInput.Name, "Cancel", null, actions.ToArray());

                 if (selectedAction == "Move Up")
@@ -75,7 +75,7 @@
                     {
                         Bind();
                     };
-
+
                     await Navigation.PushAsync(inputPage);
                     _inputsList.SelectedItem = null;
                 }
@@ -102,7 +102,7 @@
                                 return;

                             if (inputs.All(input => input.Valid))
-                            {
+                            {
                                 Input conditionInput = ((inputs[0] as ItemPickerPageInput).Value as IEnumerable<object>).First() as Input;
                                 InputValueCondition condition = (InputValueCondition)((inputs[1] as ItemPickerPageInput).Value as IEnumerable<object>).First();
                                 bool conjunctive = ((inputs[2] as ItemPickerPageInput).Value as IEnumerable<object>).First().Equals("Conjunctive");
@@ -133,15 +133,12 @@
                                         false,
                                         input =>
                                         {
-                                            if (input == null)
-                                                return;
-
-                                            if (input.Valid)
+                                            if (input?.Valid ?? false)
                                                 selectedInput.DisplayConditions.Add(new InputDisplayCondition(conditionInput, condition, input.Value, conjunctive));
                                         });
                                 }
-                            }
-                        });
+                            }
+                        });
                 }
                 else if (selectedAction == "View Display Conditions")
                 {
@@ -187,7 +184,7 @@
                                 {
                                     Bind();
                                 };
-
+
                                 await Navigation.PushAsync(inputPage);
                             }
                         }


fixed title

fixed title

--- ShopSchedule/Shell/ShellViewModel.cs
+++ ShopSchedule/Shell/ShellViewModel.cs
@@ -1,11 +1,12 @@
 using Caliburn.Micro;
+using System;

 namespace ShopSchedule.Shell {

     public class ShellViewModel : Conductor<object>.Collection.OneActive {

         public ShellViewModel() {
-            DisplayName = "Shop Scheduler";
+            DisplayName = String.Format("Shop Schedule Maker {0}", DateTime.Today.Year);
         }
     }
 }


fixes synchronizer rename

fixes synchronizer rename

--- Signum.Engine/Engine/Synchronizer.cs
+++ Signum.Engine/Engine/Synchronizer.cs
@@ -147,19 +147,27 @@

             StringDistance sd = new StringDistance();

-            var distances = oldOnly.ToDictionary(a => a, a => newOnly.ToDictionary(b => b, b =>
+            Dictionary<string, Dictionary<string, float>> distances = oldOnly.ToDictionary(a => a, a => newOnly.ToDictionary(b => b, b =>
             {
                 int lcs = sd.LongestCommonSubsequence(a, b);

                 int max = Math.Max(a.Length, b.Length);

-                return max / (lcs +0.1f);
-
+                return max / (lcs + 0.1f);
             }));

-            var minOlds = distances.SelectDictionary(a => a, dic => dic.Values.Min());
-
-            Solution bestSolution = new Solution(null, int.MaxValue);
+            Dictionary<string, float> minDistances = distances.SelectDictionary(a => a, dic => dic.Values.Min());
+            {
+                int extra = oldOnly.Count - newOnly.Count;
+
+                if (extra > 0)
+                {
+                    var toRemove = minDistances.OrderByDescending(a => a.Value).Take(extra).Select(a => a.Key).ToList();
+                    minDistances.SetRange(toRemove, a => a, a => 0);
+                }
+            }
+
+            Solution bestSolution = new Solution(null, int.MaxValue);
             Action<int, Solution> findMinimumPermutation = null;

             findMinimumPermutation = (pos, current) =>
@@ -185,7 +193,7 @@
                                 orderby d
                                 select new { n, d }).ToList();

-                    float sum = current.Sum - minOlds[old];
+                    float sum = current.Sum - minDistances[old];

                     foreach (var item in list)
                     {
@@ -197,10 +205,10 @@
                 }
             };

-            var min = new Solution(ImmutableStack<Selection>.Empty, minOlds.Values.Sum());
+            var min = new Solution(ImmutableStack<Selection>.Empty, minDistances.Values.Sum());

             findMinimumPermutation(0, min);
-
+
             Dictionary<string, string> replacements = new Dictionary<string, string>();

             if (Interactive)


Update GetCachedInstancesByLandblock for external exporting (#2041)

--- Source/ACE.Database/WorldDatabase.cs
+++ Source/ACE.Database/WorldDatabase.cs
@@ -411,23 +411,26 @@
         }

         /// <summary>
-        /// Weenies will have all their collections populated except the following: LandblockInstances, PointsOfInterest
+        /// Returns statics spawn map and their links for the landblock
         /// </summary>
         public List<LandblockInstance> GetCachedInstancesByLandblock(ushort landblock)
+        {
+            using (var context = new WorldDbContext())
+                return GetCachedInstancesByLandblock(context, landblock);
+        }
+
+        public List<LandblockInstance> GetCachedInstancesByLandblock(WorldDbContext context, ushort landblock)
         {
             if (cachedLandblockInstances.TryGetValue(landblock, out var value))
                 return value;

-            using (var context = new WorldDbContext())
-            {
-                var results = context.LandblockInstance
-                    .Include(r => r.LandblockInstanceLink)
-                    .AsNoTracking()
-                    .Where(r => r.Landblock == landblock)
-                    .ToList();
-
-                cachedLandblockInstances.TryAdd(landblock, results.ToList());
-            }
+            var results = context.LandblockInstance
+                .Include(r => r.LandblockInstanceLink)
+                .AsNoTracking()
+                .Where(r => r.Landblock == landblock)
+                .ToList();
+
+            cachedLandblockInstances.TryAdd(landblock, results.ToList());

             return cachedLandblockInstances[landblock];
         }


clean up EventContext when it is put in the pool.

--- Source/Scripts/Event/EventContext.cs
+++ Source/Scripts/Event/EventContext.cs
@@ -87,6 +87,10 @@

 		internal static void Return(EventContext value)
 		{
+			value.sender = null;
+			value.initiator = null;
+			value.data = null;
+			value.inputEvent = null;
 			pool.Push(value);
 		}
 	}


fix duplicate tabs bug

fix duplicate tabs bug

--- TCC.Core/ViewModels/ChatViewModel.cs
+++ TCC.Core/ViewModels/ChatViewModel.cs
@@ -59,11 +59,14 @@
                 return
                     () =>
                     {
-                        var t = new HeaderedItemViewModel()
+                        var t = new HeaderedItemViewModel();
+                        var content = new Tab("NEW TAB", new ChatChannel[] { }, new ChatChannel[] { }, new string[] { },
+                            new string[] { });
+                        content.PropertyChanged += (_, __) =>
                         {
-                            Content = new Tab("NEW TAB", new ChatChannel[] { }, new ChatChannel[] { }, new string[] { }, new string[] { })
+                            if (__.PropertyName == nameof(Tab.TabName)) t.Header = ((Tab)content).TabName;
                         };
-                        t.Header = ((Tab)t.Content).TabName;
+                        t.Content = content;
                         return t;
                     };
             }


switching branches

switching branches

--- TeslaSQL/DataUtils/MySQLDataUtils.cs
+++ TeslaSQL/DataUtils/MySQLDataUtils.cs
@@ -27,12 +27,12 @@
             if (agentType.Equals(AgentType.Slave))
             {
                 cmd = new MySqlCommand("SELECT CTID, syncStartVersion, syncStopVersion, syncBitWise, syncStartTime" +
-                    " FROM tblCTSlaveVersion WITH(NOLOCK) WHERE slaveIdentifier = @slave ORDER BY cttimestamp DESC LIMIT 0,1");
+                    " FROM tblCTSlaveVersion WHERE slaveIdentifier = @slave ORDER BY cttimestamp DESC LIMIT 0,1;");
                 cmd.Parameters.Add("@slave", MySqlDbType.VarChar, 100).Value = slaveIdentifier;
             }
             else
             {
-                cmd = new MySqlCommand("SELECT CTID, syncStartVersion, syncStopVersion, syncBitWise, syncStartTime FROM tblCTVersion ORDER BY CTID DESC LIMIT 0,1");
+                cmd = new MySqlCommand("SELECT CTID, syncStartVersion, syncStopVersion, syncBitWise, syncStartTime FROM tblCTVersion ORDER BY CTID DESC LIMIT 0,1;");
             }

             DataTable result = MySqlQuery(dbName, cmd);
@@ -42,8 +42,8 @@
         public DataTable GetPendingCTVersions(string dbName, Int64 CTID, int syncBitWise)
         {
             string query = ("SELECT CTID, syncStartVersion, syncStopVersion, syncStartTime, syncBitWise" +
-                                " FROM tblCTVersion WITH(NOLOCK) WHERE CTID > @ctid AND syncBitWise & @syncbitwise > 0" +
-                                " ORDER BY CTID ASC");
+                                " FROM tblCTVersion WHERE CTID > @ctid AND syncBitWise & @syncbitwise > 0" +
+                                " ORDER BY CTID ASC;");
             MySqlCommand cmd = new MySqlCommand(query);
             cmd.Parameters.Add("@ctid", MySqlDbType.Timestamp).Value = new DateTime(CTID).ToUniversalTime();
             cmd.Parameters.Add("@syncbitwise", MySqlDbType.Int32).Value = syncBitWise;
@@ -54,8 +54,16 @@

         public DataTable GetPendingCTSlaveVersions(string dbName, string slaveIdentifier, int bitwise)
         {
-            //not yet (slave)
-            throw new NotImplementedException();
+            string query = @"SELECT * FROM tblCTSlaveVersion
+                            WHERE slaveIdentifier = @slaveidentifier AND CTID >
+                            (
+                            	SELECT MAX(ctid) FROM tblCTSlaveVersion WHERE slaveIdentifier = @slaveidentifier AND syncBitWise = @bitwise
+                            ) ORDER BY CTID;";
+            MySqlCommand cmd = new MySqlCommand(query);
+            cmd.Parameters.Add("@bitwise", MySqlDbType.Int32).Value = bitwise;
+            cmd.Parameters.Add("@slaveidentifier", MySqlDbType.VarChar, 500).Value = slaveIdentifier;
+            logger.Log("Running query: " + cmd.CommandText + "... slaveidentifiers is " + slaveIdentifier, LogLevel.Debug);
+            return MySqlQuery(dbName, cmd);
         }

         public DateTime GetLastStartTime(string dbName, Int64 CTID, int syncBitWise, AgentType type, string slaveIdentifier = null)
@@ -257,8 +265,19 @@

         public void CreateSlaveCTVersion(string dbName, ChangeTrackingBatch ctb, string slaveIdentifier)
         {
-            //not yet (slave)
-            throw new NotImplementedException();
+            string query = "INSERT INTO tblCTSlaveVersion (CTID, slaveIdentifier, syncStartVersion, syncStopVersion, syncStartTime, syncBitWise)";
+            query += " VALUES (@ctid, @slaveidentifier, @startversion, @stopversion, @starttime, @syncbitwise);";
+
+            MySqlCommand cmd = new MySqlCommand(query);
+
+            cmd.Parameters.Add("@ctid", MySqlDbType.Int64).Value = ctb.CTID;
+            cmd.Parameters.Add("@slaveidentifier", MySqlDbType.VarChar, 100).Value = slaveIdentifier;
+            cmd.Parameters.Add("@startversion", MySqlDbType.Int64).Value = ctb.SyncStartVersion;
+            cmd.Parameters.Add("@stopversion", MySqlDbType.Int64).Value = ctb.SyncStopVersion;
+            cmd.Parameters.Add("@starttime", MySqlDbType.DateTime).Value = ctb.SyncStartTime;
+            cmd.Parameters.Add("@syncbitwise", MySqlDbType.Int32).Value = ctb.SyncBitWise;
+
+            MySqlNonQuery(dbName, cmd, 30);
         }

         public void CreateSchemaChangeTable(string dbName, Int64 CTID)
@@ -679,22 +698,20 @@

         public int ReadBitWise(string dbName, Int64 CTID, AgentType agentType)
         {
-            //does this get called?
-            throw new NotImplementedException();
             string query;
             MySqlCommand cmd;
             if (agentType.Equals(AgentType.Slave))
             {
-                query = "SELECT syncBitWise from tblCTSlaveVersion WITH(NOLOCK)";
-                query += " WHERE slaveIdentifier = @slaveidentifier AND CTID = @ctid";
+                query = "SELECT syncBitWise from tblCTSlaveVersion";
+                query += " WHERE slaveIdentifier = @slaveidentifier AND CTID = @ctid;";
                 cmd = new MySqlCommand(query);
                 cmd.Parameters.Add("@slaveidentifier", MySqlDbType.VarChar, 100).Value = Config.Slave;
                 cmd.Parameters.Add("@ctid", MySqlDbType.Timestamp).Value = new DateTime(CTID).ToUniversalTime();
             }
             else
             {
-                query = "SELECT syncBitWise from tblCTVersion WITH(NOLOCK)";
-                query += " WHERE CTID = @ctid";
+                query = "SELECT syncBitWise from tblCTVersion";
+                query += " WHERE CTID = @ctid;";
                 cmd = new MySqlCommand(query);
                 cmd.Parameters.Add("@ctid", MySqlDbType.Timestamp).Value = new DateTime(CTID).ToUniversalTime();
             }
@@ -856,6 +873,38 @@
         {
             //not yet
             throw new NotImplementedException();
+            string sql;
+            string sourceTable;
+            List<TColumn> fields;
+            if (false && isConsolidated && Config.Slave == Config.RelayServer && slaveCTDB == Config.RelayDB) //false added until mysql relay for compiler optimization
+            {
+                //we don't have a mysql relay so I'm not touching this
+                sourceTable = "[" + t.schemaName + "].[" + t.consolidatedName + "]";
+                fields = GetFieldList(slaveCTDB, t.consolidatedName, t.schemaName);
+            }
+            else
+            {
+                sourceTable = t.ctName;
+                fields = GetFieldList(slaveCTDB, t.ctName, t.schemaName);
+            }
+
+            string insertColumns = "CTHistID, " + string.Join(",", fields.Select(col => col.name));
+            string selectColumns = "CAST(" + t.CTID + " AS INT64) AS CTHistID, " + string.Join(",", fields.Select(col => col.name));
+
+            if (CheckTableExists(slaveCTDB, t.historyName, t.schemaName))
+            {
+                logger.Log("table " + t.historyName + " already exists; selecting into it", LogLevel.Trace);
+                sql = string.Format("INSERT INTO {0} ({1}) SELECT {2} FROM {3}", t.historyName, insertColumns, selectColumns, sourceTable);
+                logger.Log(sql, LogLevel.Debug);
+            }
+            else
+            {
+                logger.Log("table " + t.historyName + " does not exist, inserting into it", LogLevel.Trace);
+                sql = string.Format("SELECT {0} INTO {1} FROM {2}", selectColumns, t.historyName, sourceTable);
+                logger.Log(sql, LogLevel.Debug);
+            }
+            var cmd = new SqlCommand(sql);
+            SqlNonQuery(slaveCTDB, cmd);
         }

         public ChangeTrackingBatch GetCTBatch(string dbName, Int64 ctid)


Add test asserting that we properly set the token of MethodSpecs

--- Test/Mono.Cecil.Tests/MethodTests.cs
+++ Test/Mono.Cecil.Tests/MethodTests.cs
@@ -157,6 +157,26 @@
 		}

 		[TestCSharp ("Generics.cs")]
+		public void GenericInstanceMethod (ModuleDefinition module)
+		{
+			var type = module.GetType ("It");
+			var method = type.GetMethod ("ReadPwow");
+
+			GenericInstanceMethod instance = null;
+
+			foreach (var instruction in method.Body.Instructions) {
+				instance = instruction.Operand as GenericInstanceMethod;
+				if (instance != null)
+					break;
+			}
+
+			Assert.IsNotNull (instance);
+
+			Assert.AreEqual (TokenType.MethodSpec, instance.MetadataToken.TokenType);
+			Assert.AreNotEqual (0, instance.MetadataToken.RID);
+		}
+
+		[TestCSharp ("Generics.cs")]
 		public void MethodRefDeclaredOnGenerics (ModuleDefinition module)
 		{
 			var type = module.GetType ("Tamtam");


added F14_NewCustomer_Order, which adds an OrderBy clause - broken.

git-svn-id: 1800f71f313d917366f95485fa960eed04b40598@252 33146b6e-df29-0410-a1ca-39be37fb9416

--- Tests/Test_NUnit/ReadTest_Complex.cs
+++ Tests/Test_NUnit/ReadTest_Complex.cs
@@ -8,7 +8,7 @@
 using Test_NUnit;

 #if MYSQL
-    namespace Test_NUnit_MySql
+namespace Test_NUnit_MySql
 #elif ORACLE
     namespace Test_NUnit_Oracle
 #elif POSTGRES
@@ -16,7 +16,7 @@
 #elif SQLITE
     namespace Test_NUnit_Sqlite
 #else
-    #error unknown target
+#error unknown target
 #endif
 {
     [TestFixture]
@@ -207,7 +207,26 @@
                                       {
                                           CustomerID = c.CustomerID
                                       });
-            Assert.Greater(q.ToList().Count(), 0, "Expected list");
+            var list = q.ToList();
+            Assert.Greater(list.Count(), 0, "Expected list");
+            //Assert.Greater(list.Count(), 0, "Expected list");
+        }
+
+        [Test]
+        public void F14_NewCustomer_Order()
+        {
+            Northwind db = CreateDB();
+            IQueryable<Customer> q = (from c in db.Customers
+                                      select
+                                      new Customer
+                                      {
+                                          CustomerID = c.CustomerID
+                                      });
+            //this OrderBy clause messes up the SQL statement
+            var q2 = q.OrderBy(c => c.CustomerID);
+            var list = q2.ToList();
+            Assert.Greater(list.Count(), 0, "Expected list");
+            //Assert.Greater(list.Count(), 0, "Expected list");
         }

         /// <summary>
@@ -262,6 +281,6 @@

             Assert.AreEqual(3, products.Count());

-        }
+        }
     }
 }


Initial commit

Initial commit

--- conditional-statements/conditional-statement/conditional-statement/Program.cs
+++ conditional-statements/conditional-statement/conditional-statement/Program.cs
@@ -10,28 +10,41 @@
     {
         static void Main(string[] args)
         {
+            //Define instruction
             Console.WriteLine("Ohjelma tulostaa positiivinen, negatiivinen tai nolla.");
-            Console.Write("Syötä luku: ");
-            string userInput;
-            userInput = Console.ReadLine();
+            bool isNumber;
+            do
+            {

-            int evaluatedNumber;
-            int.TryParse(userInput, out evaluatedNumber);
+                Console.Write("Syötä luku: ");
+                // Define variables
+                string userInput;
+                userInput = Console.ReadLine();

-            if(evaluatedNumber < 0)
-            {
-                Console.WriteLine($"Numero {evaluatedNumber} on negatiivinen");
-            }
-            else if(evaluatedNumber > 0)
-            {
-                Console.WriteLine($"Numero {evaluatedNumber} on positiivinen");
-            }
-            else if(evaluatedNumber = 0)
-            {
-                Console.WriteLine($"Numero {evaluatedNumber} on nolla");
-            }
-            Console.WriteLine("Syötit arvon {0}", userInput);
-            Console.WriteLine($"Syötit arvon {userInput}");
+                int evaluatedNumber;
+                isNumber = int.TryParse(userInput, out evaluatedNumber);
+
+                // Program logic
+                if (isNumber == true)
+                {
+                    if (evaluatedNumber < 0)
+                    {
+                        Console.WriteLine($"Numero {evaluatedNumber} on negatiivinen");
+                    }
+                    else if (evaluatedNumber > 0)
+                    {
+                        Console.WriteLine($"Numero {evaluatedNumber} on positiivinen");
+                    }
+                    else
+                    {
+                        Console.WriteLine($"Numero {evaluatedNumber} on nolla");
+                    }
+                }
+                else
+                {
+                    Console.WriteLine("Syötit muuta kuin numeron");
+                }
+            } while (isNumber == true);
             Console.ReadKey();
         }
     }


Minor

Minor

--- LogoFX.Samples.Specifications.Tests.Acceptance.Infra.Bridge/SpecFlowBridge.cs
+++ LogoFX.Samples.Specifications.Tests.Acceptance.Infra.Bridge/SpecFlowBridge.cs
@@ -1,7 +1,4 @@
 using Attest.Tests.Core;
-using LogoFX.Client.Tests.Contracts;
-using LogoFX.Client.Tests.EndToEnd;
-using LogoFX.Client.Tests.EndToEnd.White;
 using LogoFX.Samples.Specifications.Tests.Acceptance.ScreenObjects.Contracts;
 using LogoFX.Samples.Specifications.Tests.Acceptance.ScreenObjects.EndToEnd;
 using TechTalk.SpecFlow;


Avoid querying CompletionSets on a dismissed ICompletionSession, to avoid a NullReferenceException.

--- Python/Product/PythonTools/PythonTools/Intellisense/IntellisenseController.cs
+++ Python/Product/PythonTools/PythonTools/Intellisense/IntellisenseController.cs
@@ -408,8 +408,9 @@
                         }
                         break;
                     default:
+                        // Note: Don't call CompletionSets property if session is dismissed to avoid NRE
                         if (Tokenizer.IsIdentifierStartChar(ch) &&
-                            ((session?.CompletionSets.Count ?? 0) == 0)) {
+                            ((session?.IsDismissed ?? false ? 0 : session?.CompletionSets.Count ?? 0) == 0)) {
                             bool commitByDefault;
                             if (ShouldTriggerIdentifierCompletionSession(out commitByDefault)) {
                                 TriggerCompletionSession(false, ch, commitByDefault).DoNotWait();


[CR] Добавил комментарий по определению зависимых CI сущностей

--- Replication/CustomerIntelligence/Transforming/FactsTransformation.Metadata.cs
+++ Replication/CustomerIntelligence/Transforming/FactsTransformation.Metadata.cs
@@ -11,6 +11,8 @@

     public sealed partial class FactsTransformation
     {
+        //     :   CI    (CustomerIntelligenceTransformationContext)
+        //   join - ,     ,  join'  -   (     Id)
         private static readonly Dictionary<Type, FactInfo> Facts
             = new FactInfo[]
               {


removed  unnecessary validations for login

--- Trappist/src/Promact.Trappist.DomainModel/ApplicationClasses/Account/Login.cs
+++ Trappist/src/Promact.Trappist.DomainModel/ApplicationClasses/Account/Login.cs
@@ -4,12 +4,10 @@
 {
     public class Login
     {
-        [Required]
-        [RegularExpression(@"^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$", ErrorMessage = "Invalid Email Address")]
+        [Required]
         public string Email { get; set; }

         [Required]
-        [StringLength(14, ErrorMessage = "Invalid Password", MinimumLength = 8)]
         [DataType(DataType.Password)]
         public string Password { get; set; }
     }


Removed null check with CodeResponse instead using empty string to validate

--- Trappist/src/Promact.Trappist.Repository/TestConduct/TestConductRepository.cs
+++ Trappist/src/Promact.Trappist.Repository/TestConduct/TestConductRepository.cs
@@ -296,11 +296,10 @@
                 code.Input = testCase.TestCaseInput;
                 var result = await ExecuteCodeAsync(code);

-                if (result.CompilerOutput != null)//EXITCODE if code run fails
+                if (result.CompilerOutput != "")
                 {
                     errorEncounter = true;
                     errorMessage = result.CompilerOutput;
-                    break;
                 }

                 //Trim newline character
@@ -389,10 +388,10 @@

             var codeResponse = new CodeResponse()
             {
-                ErrorOccurred = result.CompilerOutput != null,
+                ErrorOccurred = result.CompilerOutput != "",
                 Error = result.CompilerOutput,
                 Message = null,
-                Output = result.CompilerOutput == null ? result.Output : result.CompilerOutput,
+                Output = result.CompilerOutput == "" ? result.Output : result.CompilerOutput,
                 TimeConsumed = result.RunTime,
                 MemoryConsumed = result.MemoryConsumed,
                 TotalTestCasePassed = 0,


heatmap-tests-cleaned-up

heatmap-tests-cleaned-up


Added capital ship award info in

Added capital ship award info in


Fixed default alarm minuted in DeviceAlarmStateAdapter


:bug: Avoid crashing when there is no element at the index (#898)


Base migration now actually executes create table commands through DAL

--- src/w_time/data/BaseMigration.cs
+++ src/w_time/data/BaseMigration.cs
@@ -11,10 +11,11 @@
         public abstract bool up();
         public abstract bool down();

-
         protected void CreateTable(Table table)
         {
-            Console.WriteLine(table.GetCreateTableSQL());
+            System.Diagnostics.Debug.WriteLine(table.GetCreateTableSQL());
+            DAL dal = new DAL();
+            dal.ExecuteRawQuery(table.GetCreateTableSQL());
         }
     }
 }


Dryad world percentage bug fix

Dryad world percentage bug fix

--- Terraria_Server/WorldMod/WorldModify.cs
+++ Terraria_Server/WorldMod/WorldModify.cs
@@ -7750,12 +7750,25 @@
 			return false;
 		}

+		public static int totalD, totalX;
 		public static void UpdateWorld(Func<Int32, Int32, ITile> TileRefs, ISandbox sandbox, ISender Sender)
 		{
 			if (TileRefs == null)
 				TileRefs = TileCollection.ITileAt;

 			UpdateMech(TileRefs, sandbox, Sender);
+			totalD++;
+			if (totalD >= 10)
+			{
+				totalD = 0;
+				CountTiles(TileRefs, totalX);
+				totalX++;
+				if (totalX >= Main.maxTilesX)
+				{
+					totalX = 0;
+				}
+			}
+
 			Liquid.skipCount++;
 			if (Liquid.skipCount > 1)
 			{


Mapeado registros filhos do bloco E

Mapeado registros filhos do bloco E

--- SpedBr/SpedBr.SpedFiscal/BlocoE.cs
+++ SpedBr/SpedBr.SpedFiscal/BlocoE.cs
@@ -1,4 +1,5 @@
 using System;
+using System.Collections.Generic;
 using SpedBr.Common;

 namespace SpedBr.SpedFiscal
@@ -8,6 +9,10 @@
     /// </summary>
     public class BlocoE
     {
+        public RegistroE001 RegE001 { get; set; }
+        public RegistroE990 RegE990 { get; set; }
+
+
         /// <summary>
         ///     REGISTRO E001: ABERTURA DO BLOCO E
         /// </summary>
@@ -26,6 +31,11 @@
             /// </summary>
             [SpedCampos(2, "IND_MOV", "N", 1, 0, true)]
             public IndMovimento IndMov { get; set; }
+
+            public List<RegistroE100> RegE100s { get; set; }
+            public List<RegistroE200> RegE200s { get; set; }
+            public List<RegistroE300> RegE300s { get; set; }
+            public List<RegistroE500> RegE500s { get; set; }
         }

         /// <summary>
@@ -52,6 +62,9 @@
             /// </summary>
             [SpedCampos(3, "DT_FIN", "N", 8, 0, true)]
             public DateTime DtFin { get; set; }
+
+            public RegistroE110 RegE110 { get; set; }
+            public List<RegistroE200> RegE200s { get; set; }
         }

         /// <summary>
@@ -150,6 +163,10 @@
             /// </summary>
             [SpedCampos(15, "DEB_ESP", "N", 0, 2, true)]
             public decimal DebEsp { get; set; }
+
+            public List<RegistroE111> RegE111s { get; set; }
+            public List<RegistroE115> RegE115s { get; set; }
+            public List<RegistroE116> RegE116s { get; set; }
         }

         /// <summary>
@@ -182,6 +199,9 @@
             /// </summary>
             [SpedCampos(4, "VL_AJ_APUR", "N", 0, 2, true)]
             public decimal VlAjApur { get; set; }
+
+            public List<RegistroE112> RegE112s { get; set; }
+            public List<RegistroE113> RegE113s { get; set; }
         }

         /// <summary>
@@ -434,6 +454,8 @@
             /// </summary>
             [SpedCampos(4, "DT_FUN", "N", 8, 0, true)]
             public DateTime DtFin { get; set; }
+
+            public RegistroE210 RegE210 { get; set; }
         }

         /// <summary>
@@ -536,6 +558,9 @@
             /// </summary>
             [SpedCampos(15, "DEB_ESP_ST", "N", 0, 2, true)]
             public decimal DebEspSt { get; set; }
+
+            public List<RegistroE220> RegE220s { get; set; }
+            public List<RegistroE250> RegE250s { get; set; }
         }

         /// <summary>
@@ -787,6 +812,8 @@
             /// </summary>
             [SpedCampos(4, "DT_FIN", "N", 8, 0, true)]
             public DateTime DtFin { get; set; }
+
+            public RegistroE310 RegE310 { get; set; }
         }

         /// <summary>
@@ -934,7 +961,9 @@
             /// </summary>
             [SpedCampos(22, "DEB_ESP_FCP", "N", 0, 2, true)]
             public decimal DebEspFcp { get; set; }
-
+
+            public List<RegistroE310> RegE311s { get; set; }
+            public List<RegistroE316> RegE316s { get; set; }
         }

         /// <summary>
@@ -967,6 +996,9 @@
             /// </summary>
             [SpedCampos(4, "VL_AJ_APUR", "N", 0, 2, true)]
             public decimal VlAjApur { get; set; }
+
+            public List<RegistroE312> RegE312s { get; set; }
+            public List<RegistroE313> RegE313s { get; set; }
         }

         /// <summary>
@@ -1198,6 +1230,9 @@
             /// </summary>
             [SpedCampos(4, "DT_FIN", "N", 8, 0, true)]
             public DateTime DtFin { get; set; }
+
+            public List<RegistroE510> RegE510s { get; set; }
+            public RegistroE520 RegE520 { get; set; }
         }

         /// <summary>
@@ -1300,6 +1335,8 @@
             /// </summary>
             [SpedCampos(8, "VL_SD_IPI", "N", 0, 2, true)]
             public decimal VlSdIpi { get; set; }
+
+            public List<RegistroE530> RegE530s { get; set; }
         }

         /// <summary>
@@ -1360,6 +1397,8 @@
             /// </summary>
             [SpedCampos(7, "DESCR_AJ", "C", 1024, 0, true)]
             public string DescrAj { get; set; }
+
+            public List<RegistroE531> RegE531s { get; set; }
         }

         /// <summary>


Allow speech responder to change personality (currently unused)

--- SpeechResponder/SpeechResponder.cs
+++ SpeechResponder/SpeechResponder.cs
@@ -45,6 +45,37 @@
             }
             scriptResolver = new ScriptResolver(personality.Scripts);
             Logging.Info("Initialised " + ResponderName() + " " + ResponderVersion());
+        }
+
+        /// <summary>
+        /// Change the personality for the speech responder
+        /// </summary>
+        /// <returns>true if the speech responder is now using the new personality, otherwise false</returns>
+        public bool SetPersonality(string newPersonality)
+        {
+            SpeechResponderConfiguration configuration = SpeechResponderConfiguration.FromFile();
+            if (newPersonality == configuration.Personality)
+            {
+                // Already set to this personality
+                return true;
+            }
+
+            // Ensure that this personality exists
+            Personality personality = Personality.FromName(newPersonality);
+            if (personality != null)
+            {
+                // Yes it does; use it
+                configuration.Personality = newPersonality;
+                configuration.ToFile();
+                scriptResolver = new ScriptResolver(personality.Scripts);
+                Logging.Debug("Changed personality to " + newPersonality);
+                return true;
+            }
+            else
+            {
+                // No it does not; ignore it
+                return false;
+            }
         }

         public bool Start()


added diagnostic message

added diagnostic message

--- SpotyScraper.OuiFM/OuiFMScraper.cs
+++ SpotyScraper.OuiFM/OuiFMScraper.cs
@@ -4,6 +4,7 @@
 using System;
 using System.Collections.Generic;
 using System.ComponentModel.Composition;
+using System.Diagnostics;
 using System.Linq;
 using System.Net;
 using System.Text;
@@ -26,6 +27,7 @@
         {
             foreach (var pageURL in this.GetAllPagesURL())
             {
+                Debug.WriteLine($"{DateTime.Now} Oui FM scraper: {pageURL.Substring(79)}");
                 foreach (var track in this.ScrapPage(pageURL))
                 {
                     yield return track;


Added missing XML comment on new ctor

Added missing XML comment on new ctor

--- Src/AutoFixture/ElementsBuilder.cs
+++ Src/AutoFixture/ElementsBuilder.cs
@@ -14,6 +14,10 @@
         private readonly T[] elements;
         private readonly RandomNumericSequenceGenerator sequence;

+        /// <summary>
+        /// Initializes a new instance of the <see cref="ElementsBuilder{T}"/> class.
+        /// </summary>
+        /// <param name="elements">The elements from which to draw from.</param>
         public ElementsBuilder(params T[] elements) : this(elements.AsEnumerable()) { }

         /// <summary>


Fix a stupid function throwing when it shouldn't.

--- StatsHelix.Charizard/HttpServer.cs
+++ StatsHelix.Charizard/HttpServer.cs
@@ -327,6 +327,9 @@
                     continue;
                 }

+                if (currentIndex + needle.Length > haystack.Length)
+                    return false;
+
                 if (haystack.IndexOf(needle, currentIndex, needle.Length) != -1)
                 {
                     // let's see if afterwards the string


Version Bump

Version Bump

--- Syndll2/Properties/AssemblyInfo.cs
+++ Syndll2/Properties/AssemblyInfo.cs
@@ -11,9 +11,9 @@
 [assembly: ComVisible(false)]
 [assembly: Guid("a7fe65a7-0b61-4ea1-81c0-adc5a037ea17")]

-[assembly: AssemblyVersion("0.7.0")]
-[assembly: AssemblyFileVersion("0.7.0.34")]
-[assembly: AssemblyInformationalVersion("0.7.0-beta")]
+[assembly: AssemblyVersion("0.7.1")]
+[assembly: AssemblyFileVersion("0.7.1.35")]
+[assembly: AssemblyInformationalVersion("0.7.1-beta")]

 [assembly: InternalsVisibleTo("Syndll2.Tests, PublicKey=" +
 "00240000048000009400000006020000002400005253413100040000010001000f0f0c410cd366" +