)]}'
{
  "commit": "d7d241d721398eb65fe86680df00cccbb194497a",
  "tree": "da62abe257a7ecfdc3a31f203e8e21e5e495f4d8",
  "parents": [
    "02b8bfa8c3cbcd73191c64a5be11f3757d8ceee1"
  ],
  "author": {
    "name": "Hughes Hilton",
    "email": "hugheshilton@google.com",
    "time": "Thu Mar 30 09:01:53 2023 -0700"
  },
  "committer": {
    "name": "Hughes Hilton",
    "email": "hugheshilton@google.com",
    "time": "Thu Mar 30 16:07:04 2023 +0000"
  },
  "message": "Create project and class for .NET Framework version of Uri.EscapeDataString\n\nThis change creates a project to build the .NET Framework version of Uri.EscapeDataString and copies that method and supporting methods and constants into their own class.\n\nThis class contains the original .NET Framework source for Uri.GetDataString() executed in V2 quirks mode. Other than minor style changes made by Rider and changes to references to make these methods use their own versions of methods and constants, these methods are copy/pasted here unchanged from the original versions.\n\nThe one modification I did was to force the use of V2 quirks mode in s_QuirksVersion. Originally, whether V2 or V3 quirks mode was used was controlled by a compilation symbol so it was slightly unclear which was being used. However, once I tested this, it became clear that V2 quirks mode was used since V3 quirks mode escaped the \u0027(\u0027 and \u0027)\u0027 characters just like .NET Core does. Since we need this code to behave like .NET Framework, V2 quirks mode is what we need.\n\nI\u0027m leaving the original files I copied these methods from with all code commented out in case we ever need to compare or fix something in these methods from the original source.\n\nChange-Id: I18eecc1ce72297cc8e06ffd2602ff804bf79ac1a\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9dad71261da3842305196234524969e0d7815604",
      "new_mode": 33188,
      "new_path": ".gitignore"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a051af201d0d71ec8bc3f06679c206168ccd0417",
      "new_mode": 33188,
      "new_path": "DotNetFrameworkUriEscaping.csproj"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "03a458bee86392198029fd0654c4087f22f82c82",
      "new_mode": 33188,
      "new_path": "System/net/System/NetFrameworkUri.cs"
    },
    {
      "type": "modify",
      "old_id": "e264a1f3c5cb47bea00539087d155fe4bfdc7c6c",
      "old_mode": 33188,
      "old_path": "System/net/System/URI.cs",
      "new_id": "e14fc25742f47fee737bc0d8ed99ae67da985905",
      "new_mode": 33188,
      "new_path": "System/net/System/URI.cs"
    },
    {
      "type": "modify",
      "old_id": "b9e018ec17df31920780ef8288c2634bcf4d5c22",
      "old_mode": 33188,
      "old_path": "System/net/System/UriExt.cs",
      "new_id": "2e3771711851bcac9d1100c8473ebf497e446c79",
      "new_mode": 33188,
      "new_path": "System/net/System/UriExt.cs"
    },
    {
      "type": "modify",
      "old_id": "f81a7650b07df0f6fa95e4afe564db7a04bf4d19",
      "old_mode": 33188,
      "old_path": "System/net/System/UriHelper.cs",
      "new_id": "a56645bb83a58d190d17fe513108e74d7de034c0",
      "new_mode": 33188,
      "new_path": "System/net/System/UriHelper.cs"
    },
    {
      "type": "modify",
      "old_id": "07c34d3120b27c2ba18e1ce45d7f5a458dad86d5",
      "old_mode": 33188,
      "old_path": "System/net/System/_UriSyntax.cs",
      "new_id": "e3c925612d804b07e487ec7f151cf94474b72f87",
      "new_mode": 33188,
      "new_path": "System/net/System/_UriSyntax.cs"
    }
  ]
}
